1/******/ (function(modules) { // webpackBootstrap 2/******/ // install a JSONP callback for chunk loading 3/******/ function webpackJsonpCallback(data) { 4/******/ var chunkIds = data[0]; 5/******/ var moreModules = data[1]; 6/******/ 7/******/ 8/******/ // add "moreModules" to the modules object, 9/******/ // then flag all "chunkIds" as loaded and fire callback 10/******/ var moduleId, chunkId, i = 0, resolves = []; 11/******/ for(;i < chunkIds.length; i++) { 12/******/ chunkId = chunkIds[i]; 13/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { 14/******/ resolves.push(installedChunks[chunkId][0]); 15/******/ } 16/******/ installedChunks[chunkId] = 0; 17/******/ } 18/******/ for(moduleId in moreModules) { 19/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { 20/******/ modules[moduleId] = moreModules[moduleId]; 21/******/ } 22/******/ } 23/******/ if(parentJsonpFunction) parentJsonpFunction(data); 24/******/ 25/******/ while(resolves.length) { 26/******/ resolves.shift()(); 27/******/ } 28/******/ 29/******/ }; 30/******/ 31/******/ 32/******/ // The module cache 33/******/ var installedModules = {}; 34/******/ 35/******/ // object to store loaded and loading chunks 36/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched 37/******/ // Promise = chunk loading, 0 = chunk loaded 38/******/ var installedChunks = { 39/******/ 11: 0 40/******/ }; 41/******/ 42/******/ 43/******/ 44/******/ // script path function 45/******/ function jsonpScriptSrc(chunkId) { 46/******/ return __webpack_require__.p + "js/" + ({"7":"dfp.legacy"}[chunkId]||chunkId) + "." + {"7":"25ffe266"}[chunkId] + ".js" 47/******/ } 48/******/ 49/******/ // The require function 50/******/ function __webpack_require__(moduleId) { 51/******/ 52/******/ // Check if module is in cache 53/******/ if(installedModules[moduleId]) { 54/******/ return installedModules[moduleId].exports; 55/******/ } 56/******/ // Create a new module (and put it into the cache) 57/******/ var module = installedModules[moduleId] = { 58/******/ i: moduleId, 59/******/ l: false, 60/******/ exports: {} 61/******/ }; 62/******/ 63/******/ // Execute the module function 64/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 65/******/ 66/******/ // Flag the module as loaded 67/******/ module.l = true; 68/******/ 69/******/ // Return the exports of the module 70/******/ return module.exports; 71/******/ } 72/******/ 73/******/ // This file contains only the entry chunk. 74/******/ // The chunk loading function for additional chunks 75/******/ __webpack_require__.e = function requireEnsure(chunkId) { 76/******/ var promises = []; 77/******/ 78/******/ 79/******/ // JSONP chunk loading for javascript 80/******/ 81/******/ var installedChunkData = installedChunks[chunkId]; 82/******/ if(installedChunkData !== 0) { // 0 means "already installed". 83/******/ 84/******/ // a Promise means "currently loading". 85/******/ if(installedChunkData) { 86/******/ promises.push(installedChunkData[2]); 87/******/ } else { 88/******/ // setup Promise in chunk cache 89/******/ var promise = new Promise(function(resolve, reject) { 90/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; 91/******/ }); 92/******/ promises.push(installedChunkData[2] = promise); 93/******/ 94/******/ // start chunk loading 95/******/ var script = document.createElement('script'); 96/******/ var onScriptComplete; 97/******/ 98/******/ script.charset = 'utf-8'; 99/******/ script.timeout = 120; 100/******/ if (__webpack_require__.nc) { 101/******/ script.setAttribute("nonce", __webpack_require__.nc); 102/******/ } 103/******/ script.src = jsonpScriptSrc(chunkId); 104/******/ 105/******/ // create error before stack unwound to get useful stacktrace later 106/******/ var error = new Error(); 107/******/ onScriptComplete = function (event) { 108/******/ // avoid mem leaks in IE. 109/******/ script.onerror = script.onload = null; 110/******/ clearTimeout(timeout); 111/******/ var chunk = installedChunks[chunkId]; 112/******/ if(chunk !== 0) { 113/******/ if(chunk) { 114/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); 115/******/ var realSrc = event && event.target && event.target.src; 116/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
117/******/ error.name = 'ChunkLoadError'; 118/******/ error.type = errorType; 119/******/ error.request = realSrc; 120/******/ chunk[1](error); 121/******/ } 122/******/ installedChunks[chunkId] = undefined; 123/******/ } 124/******/ }; 125/******/ var timeout = setTimeout(function(){ 126/******/ onScriptComplete({ type: 'timeout', target: script }); 127/******/ }, 120000); 128/******/ script.onerror = script.onload = onScriptComplete; 129/******/ document.head.appendChild(script); 130/******/ } 131/******/ } 132/******/ return Promise.all(promises); 133/******/ }; 134/******/ 135/******/ // expose the modules object (__webpack_modules__) 136/******/ __webpack_require__.m = modules; 137/******/ 138/******/ // expose the module cache 139/******/ __webpack_require__.c = installedModules; 140/******/ 141/******/ // define getter function for harmony exports 142/******/ __webpack_require__.d = function(exports, name, getter) { 143/******/ if(!__webpack_require__.o(exports, name)) { 144/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 145/******/ } 146/******/ }; 147/******/ 148/******/ // define __esModule on exports 149/******/ __webpack_require__.r = function(exports) { 150/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 151/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 152/******/ } 153/******/ Object.defineProperty(exports, '__esModule', { value: true }); 154/******/ }; 155/******/ 156/******/ // create a fake namespace object 157/******/ // mode & 1: value is a module id, require it 158/******/ // mode & 2: merge all properties of value into the ns 159/******/ // mode & 4: return value when already ns object 160/******/ // mode & 8|1: behave like require 161/******/ __webpack_require__.t = function(value, mode) { 162/******/ if(mode & 1) value = __webpack_require__(value); 163/******/ if(mode & 8) return value; 164/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 165/******/ var ns = Object.create(null); 166/******/ __webpack_require__.r(ns); 167/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 168/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 169/******/ return ns; 170/******/ }; 171/******/ 172/******/ // getDefaultExport function for compatibility with non-harmony modules 173/******/ __webpack_require__.n = function(module) { 174/******/ var getter = module && module.__esModule ? 175/******/ function getDefault() { return module['default']; } : 176/******/ function getModuleExports() { return module; }; 177/******/ __webpack_require__.d(getter, 'a', getter); 178/******/ return getter; 179/******/ }; 180/******/ 181/******/ // Object.prototype.hasOwnProperty.call 182/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 183/******/ 184/******/ // __webpack_public_path__ 185/******/ __webpack_require__.p = "https://assets.player.radio/latest/"; 186/******/ 187/******/ // on error function for async loading 188/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; 189/******/ 190/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; 191/******/ if (jsonpArray.push.name === 'webpackJsonpCallback') return; 192/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); 193/******/ jsonpArray.push = webpackJsonpCallback; 194/******/ jsonpArray = jsonpArray.slice(); 195/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); 196/******/ var parentJsonpFunction = oldJsonpFunction; 197/******/ 198/******/ 199/******/ // Load entry module and return exports 200/******/ return __webpack_require__(__webpack_require__.s = 1058); 201/******/ }) 202/************************************************************************/ 203/******/ ([ 204/* 0 */, 205/* 1 */ 206/***/ (function(module, __webpack_exports__, __webpack_require__) { 207 208"use strict"; 209__webpack_require__.r(__webpack_exports__); 210/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return O; }); 211/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrate", function() { return S; }); 212/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createElement", function() { return h; }); 213/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return h; }); 214/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Fragment", function() { return p; }); 215/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRef", function() { return y; }); 216/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isValidElement", function() { return l; }); 217/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return d; }); 218/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cloneElement", function() { return q; }); 219/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createContext", function() { return B; }); 220/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toChildArray", function() { return b; }); 221/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__u", function() { return L; }); 222/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "options", function() { return n; }); 223var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(n,l,u){var i,t,o,r=arguments,f={};for(o in l)"key"==o?i=l[o]:"ref"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);if(null!=u&&(f.children=u),"function"==typeof n&&null!=n.defaultProps)for(o in n.defaultProps)void 0===f[o]&&(f[o]=n.defaultProps[o]);return v(n,f,i,t,null)}function v(l,u,i,t,o){var r={type:l,props:u,key:i,ref:t,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:o};return null==o&&(r.__v=r),null!=n.vnode&&n.vnode(r),r}function y(){return{current:null}}function p(n){return n.children}function d(n,l){this.props=n,this.context=l}function _(n,l){if(null==l)return n.__?_(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;
223l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return"function"==typeof n.type?_(n):null}function w(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return w(n)}}function k(l){(!l.__d&&(l.__d=!0)&&u.push(l)&&!g.__r++||t!==n.debounceRendering)&&((t=n.debounceRendering)||i)(g)}function g(){for(var n;g.__r=u.length;)n=u.sort(function(n,l){return n.__v.__b-l.__v.__b}),u=[],n.some(function(n){var l,u,i,t,o,r,f;n.__d&&(r=(o=(l=n).__v).__e,(f=l.__P)&&(u=[],(i=s({},o)).__v=i,t=$(f,o,i,l.__n,void 0!==f.ownerSVGElement,null!=o.__h?[r]:null,u,null==r?_(o):r,o.__h),j(u,o),t!=r&&w(o)))})}function m(n,l,u,i,t,o,r,c,s,h){var y,d,w,k,g,m,b,A=i&&i.__k||e,P=A.length;for(s==f&&(s=null!=r?r[0]:P?_(i,0):null),u.__k=[],y=0;y<l.length;y++)if(null!=(k=u.__k[y]=null==(k=l[y])||"boolean"==typeof k?null:"string"==typeof k||"number"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(p,{children:k},null,null,null):null!=k.__e||null!=k.__c?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(w=A[y])||w&&k.key==w.key&&k.type===w.type)A[y]=void 0;else for(d=0;d<P;d++){if((w=A[d])&&k.key==w.key&&k.type===w.type){A[d]=void 0;break}w=null}g=$(n,k,w=w||f,t,o,r,c,s,h),(d=k.ref)&&w.ref!=d&&(b||(b=[]),w.ref&&b.push(w.ref,null,k),b.push(d,k.__c||g,k)),null!=g?(null==m&&(m=g),s=x(n,k,w,A,r,g,s),h||"option"!=u.type?"function"==typeof u.type&&(u.__d=s):n.value=""):s&&w.__e==s&&s.parentNode!=n&&(s=_(w))}if(u.__e=m,null!=r&&"function"!=typeof u.type)for(y=r.length;y--;)null!=r[y]&&a(r[y]);for(y=P;y--;)null!=A[y]&&L(A[y],A[y]);if(b)for(y=0;y<b.length;y++)I(b[y],b[++y],b[++y])}function b(n,l){return l=l||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some(function(n){b(n,l)}):l.push(n)),l}function x(n,l,u,i,t,o,r){var f,e,c;if(void 0!==l.__d)f=l.__d,l.__d=void 0;else if(t==u||o!=r||null==o.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(o),f=null;else{for(e=r,c=0;(e=e.nextSibling)&&c<i.length;c+=2)if(e==o)break n;n.insertBefore(o,r),f=r}
223return void 0!==f?f:o.nextSibling}function A(n,l,u,i,t){var o;for(o in u)"children"===o||"key"===o||o in l||C(n,o,null,u[o],i);for(o in l)t&&"function"!=typeof l[o]||"children"===o||"key"===o||"value"===o||"checked"===o||u[o]===l[o]||C(n,o,l[o],u[o],i)}function P(n,l,u){"-"===l[0]?n.setProperty(l,u):n[l]=null==u?"":"number"!=typeof u||c.test(l)?u:u+"px"}function C(n,l,u,i,t){var o,r,f;if(t&&"className"==l&&(l="class"),"style"===l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||P(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||P(n.style,l,u[l])}else"o"===l[0]&&"n"===l[1]?(o=l!==(l=l.replace(/Capture$/,"")),(r=l.toLowerCase())in n&&(l=r),l=l.slice(2),n.l||(n.l={}),n.l[l+o]=u,f=o?N:z,u?i||n.addEventListener(l,f,o):n.removeEventListener(l,f,o)):"list"!==l&&"tagName"!==l&&"form"!==l&&"type"!==l&&"size"!==l&&"download"!==l&&"href"!==l&&!t&&l in n?n[l]=null==u?"":u:"function"!=typeof u&&"dangerouslySetInnerHTML"!==l&&(l!==(l=l.replace(/xlink:?/,""))?null==u||!1===u?n.removeAttributeNS("http://www.w3.org/1999/xlink",l.toLowerCase()):n.setAttributeNS("http://www.w3.org/1999/xlink",l.toLowerCase(),u):null==u||!1===u&&!/^ar/.test(l)?n.removeAttribute(l):n.setAttribute(l,u))}function z(l){this.l[l.type+!1](n.event?n.event(l):l)}function N(l){this.l[l.type+!0](n.event?n.event(l):l)}function T(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,t.__e&&("function"==typeof t.type&&t.__k.length>1&&T(t,l,u),l=x(u,t,t,n.__k,null,t.__e,l),"function"==typeof n.type&&(n.__d=l)))}function $(l,u,i,t,o,r,f,e,c){var a,h,v,y,_,w,k,g,b,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=n.__b)&&a(u);try{n:if("function"==typeof P){if(g=u.props,b=(a=P.contextType)&&t[a.__c],x=a?b?b.props.value:a.__:t,i.__c?k=(h=u.__c=i.__c).__=h.__E:("prototype"in P&&P.prototype.render?u.__c=h=new P(g,x):(u.__c=h=new d(g,x),h.constructor=P,h.render=M),b&&b.sub(h),h.props=g,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,P.getDerivedStateFromProps(g,h.__s))),y=h.props,_=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&g!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(g,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(g,h.__s,x)||u.__v===i.__v){h.props=g,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,h.__h.length&&f.push(h),T(u,e,l);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(g,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,_,w)})}h.context=x,h.props=g,h.state=h.__s,(a=n.__r)&&a(u),h.__d=!1,h.__v=u,h.__P=l,a=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=s(s({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(w=h.getSnapshotBeforeUpdate(y,_)),A=null!=a&&a.type==p&&null==a.key?a.props.children:a,m(l,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),k&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=H(i.__e,u,i,t,o,r,f,c);(a=n.diffed)&&a(u)}catch(l){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),n.__e(l,u,i)}return u.__e}function j(l,u){n.__c&&n.__c(u,l),l.some(function(u){try{l=u.__h,u.__h=[],l.some(function(n){n.call(u)})}catch(l){n.__e(l,u.__v)}})}function H(n,l,u,i,t,o,r,c){var s,a,h,v,y,p=u.props,d=l.props;if(t="svg"===l.type||t,null!=o)for(s=0;s<o.length;s++)if(null!=(a=o[s])&&((null===l.type?3===a.nodeType:a.localName===l.type)||n==a)){n=a,o[s]=null;break}if(null==n){if(null===l.type)return document.createTextNode(d);n=t?document.createElementNS("http://www.w3.org/2000/svg",l.type):document.createElement(l.type,d.is&&{is:d.is}),o=null,c=!1}if(null===l.type)p===d||c&&n.data===d||(n.data=d);else{if(null!=o&&(o=e.slice.call(n.childNodes)),h=(p=u.props||f).dangerouslySetInnerHTML,v=d.dangerouslySetInnerHTML,!c){if(null!=o)for(p={},y=0;y<n.attributes.length;y++)p[n.attributes[y].name]=n.attributes[y].value;(v||h)&&(v&&(h&&v.__html==h.__html||v.__html===n.innerHTML)||(n.innerHTML=v&&v.__html||""))}A(n,d,p,t,c),v?l.__k=[]:(s=l.props.children,m(n,Array.isArray(s)?s:[s],l,u,i,"foreignObject"!==l.type&&t,o,r,f,c)),c||
223("value"in d&&void 0!==(s=d.value)&&(s!==n.value||"progress"===l.type&&!s)&&C(n,"value",s,p.value,!1),"checked"in d&&void 0!==(s=d.checked)&&s!==n.checked&&C(n,"checked",s,p.checked,!1))}return n}function I(l,u,i){try{"function"==typeof l?l(u):l.current=u}catch(l){n.__e(l,i)}}function L(l,u,i){var t,o,r;if(n.unmount&&n.unmount(l),(t=l.ref)&&(t.current&&t.current!==l.__e||I(t,null,u)),i||"function"==typeof l.type||(i=null!=(o=l.__e)),l.__e=l.__d=void 0,null!=(t=l.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(l){n.__e(l,u)}t.base=t.__P=null}if(t=l.__k)for(r=0;r<t.length;r++)t[r]&&L(t[r],u,i);null!=o&&a(o)}function M(n,l,u){return this.constructor(n,u)}function O(l,u,i){var t,r,c;n.__&&n.__(l,u),r=(t=i===o)?null:i&&i.__k||u.__k,l=h(p,null,[l]),c=[],$(u,(t?u:i||u).__k=l,r||f,f,void 0!==u.ownerSVGElement,i&&!t?[i]:r?null:u.childNodes.length?e.slice.call(u.childNodes):null,c,i||f,t),j(c,l)}function S(n,l){O(n,l,o)}function q(n,l,u){var i,t,o,r=arguments,f=s({},n.props);for(o in l)"key"==o?i=l[o]:"ref"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);return null!=u&&(f.children=u),v(n.type,f,i||n.key,t||n.ref,null)}function B(n,l){var u={__c:l="__cC"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n,u,i){return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(k)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n={__e:function(n,l){for(var u,i,t,o=l.__h;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return l.__h=o,u.__E=u}catch(l){n=l}throw n}},l=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),"function"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),k(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),k(this))},d.prototype.render=p,u=[],i="function"==typeof Promise?Promise.prototype.then.bind(Prom
223ise.resolve()):setTimeout,g.__r=0,o=f,r=0; 224//# sourceMappingURL=preact.module.js.map 225 226 227/***/ }), 228/* 2 */ 229/***/ (function(module, exports, __webpack_require__) { 230 231var global = __webpack_require__(16); 232var getOwnPropertyDescriptor = __webpack_require__(51).f; 233var createNonEnumerableProperty = __webpack_require__(53); 234var redefine = __webpack_require__(54); 235var setGlobal = __webpack_require__(274); 236var copyConstructorProperties = __webpack_require__(358); 237var isForced = __webpack_require__(169); 238 239/* 240 options.target - name of the target object 241 options.global - target is the global object 242 options.stat - export as static methods of target 243 options.proto - export as prototype methods of target 244 options.real - real prototype method for the `pure` version 245 options.forced - export even if the native feature is available 246 options.bind - bind methods to the target, required for the `pure` version 247 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 248 options.unsafe - use the simple assignment of property instead of delete + defineProperty 249 options.sham - add a flag to not completely full polyfills 250 options.enumerable - export as enumerable property 251 options.noTargetGet - prevent calling a getter on target 252*/ 253module.exports = function (options, source) { 254 var TARGET = options.target; 255 var GLOBAL = options.global; 256 var STATIC = options.stat; 257 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 258 if (GLOBAL) { 259 target = global; 260 } else if (STATIC) { 261 target = global[TARGET] || setGlobal(TARGET, {}); 262 } else { 263 target = (global[TARGET] || {}).prototype; 264 } 265 if (target) for (key in source) { 266 sourceProperty = source[key]; 267 if (options.noTargetGet) { 268 descriptor = getOwnPropertyDescriptor(target, key); 269 targetProperty = descriptor && descriptor.value; 270 } else targetProperty = target[key]; 271 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 272 // contained in target 273 if (!FORCED && targetProperty !== undefined) { 274 if (typeof sourceProperty === typeof targetProperty) continue; 275 copyConstructorProperties(sourceProperty, targetProperty); 276 } 277 // add a flag to not completely full polyfills 278 if (options.sham || (targetProperty && targetProperty.sham)) { 279 createNonEnumerableProperty(sourceProperty, 'sham', true); 280 } 281 // extend global 282 redefine(target, key, sourceProperty, options); 283 } 284}; 285 286 287/***/ }), 288/* 3 */, 289/* 4 */ 290/***/ (function(module, __webpack_exports__, __webpack_require__) { 291 292"use strict"; 293/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return m; }); 294/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return p; }); 295/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return y; }); 296/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return l; }); 297/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return h; }); 298/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return s; }); 299/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return _; }); 300/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return A; }); 301/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return F; }); 302/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return T; }); 303/* unused harmony export useErrorBoundary */ 304/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); 305var t,u,r,o=0,i=[],c=preact__WEBPACK_IMPORTED_MODULE_0__["options"].__r,f=preact__WEBPACK_IMPORTED_MODULE_0__["options"].diffed,e=preact__WEBPACK_IMPORTED_MODULE_0__["options"].__c,a=preact__WEBPACK_IMPORTED_MODULE_0__["options"].unmount;function v(t,r){preact__WEBPACK_IMPORTED_MODULE_0__["options"].__h&&preact__WEBPACK_IMPORTED_MODULE_0__["options"].__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function m(n){return o=1,p(k,n)}function p(n,r,o){var i=v(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):k(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=v(t++,3);!preact__WEBPACK_IMPORTED_MODULE_0__["options"].__s&&j(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function l(r,o){var i=v(t++,4);!preact__WEBPACK_IMPORTED_MODULE_0__["options"].__s&&j(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function h(n){return o=5,_(function(){return{current:n}},[])}function s(n,t,u){o=6,l(function(){"function"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function _(n,u){var r=v(t++,7);return j(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,_(function(){return n},t)}function F(n){var r=u.context[n.__c],o=v(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){preact__WEBPACK_IMPORTED_MODULE_0__["options"].useDebugValue&&preact__WEBPACK_IMPORTED_MODULE_0__["options"].useDebugValue(u?u(t):t)}function d(n){var r=v(t++,10),o=m();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}
305function q(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(b),t.__H.__h.forEach(g),t.__H.__h=[]}catch(u){t.__H.__h=[],preact__WEBPACK_IMPORTED_MODULE_0__["options"].__e(u,t.__v)}}),i=[]}preact__WEBPACK_IMPORTED_MODULE_0__["options"].__r=function(n){c&&c(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(b),r.__h.forEach(g),r.__h=[])},preact__WEBPACK_IMPORTED_MODULE_0__["options"].diffed=function(t){f&&f(t);var u=t.__c;u&&u.__H&&u.__H.__h.length&&(1!==i.push(u)&&r===preact__WEBPACK_IMPORTED_MODULE_0__["options"].requestAnimationFrame||((r=preact__WEBPACK_IMPORTED_MODULE_0__["options"].requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),x&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);x&&(t=requestAnimationFrame(u))})(q))},preact__WEBPACK_IMPORTED_MODULE_0__["options"].__c=function(t,u){u.some(function(t){try{t.__h.forEach(b),t.__h=t.__h.filter(function(n){return!n.__||g(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],preact__WEBPACK_IMPORTED_MODULE_0__["options"].__e(r,t.__v)}}),e&&e(t,u)},preact__WEBPACK_IMPORTED_MODULE_0__["options"].unmount=function(t){a&&a(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(b)}catch(t){preact__WEBPACK_IMPORTED_MODULE_0__["options"].__e(t,u.__v)}};var x="function"==typeof requestAnimationFrame;function b(n){"function"==typeof n.__c&&n.__c()}function g(n){n.__c=n.__()}function j(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function k(n,t){return"function"==typeof t?t(n):t} 306//# sourceMappingURL=hooks.module.js.map 307 308 309/***/ }), 310/* 5 */, 311/* 6 */ 312/***/ (function(module, exports, __webpack_require__) { 313 314module.exports = __webpack_require__(60); 315 316 317/***/ }), 318/* 7 */, 319/* 8 */ 320/***/ (function(module, exports, __webpack_require__) { 321 322var arrayWithHoles = __webpack_require__(698); 323 324var iterableToArrayLimit = __webpack_require__(770); 325 326var unsupportedIterableToArray = __webpack_require__(412); 327 328var nonIterableRest = __webpack_require__(699); 329 330function _slicedToArray(arr, i) { 331 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); 332} 333 334module.exports = _slicedToArray; 335 336/***/ }), 337/* 9 */, 338/* 10 */ 339/***/ (function(module, __webpack_exports__, __webpack_require__) { 340 341"use strict"; 342/* unused harmony export print */ 343/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return log; }); 344/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return error; }); 345/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return warn; }); 346/* unused harmony export groupCollapsed */ 347/* unused harmony export groupEnd */ 348/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return debug; }); 349/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return table; }); 350/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75); 351/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 352/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(124); 353/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1__); 354/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(160); 355/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_2__); 356/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); 357/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3__); 358/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(140); 359/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_4__); 360/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(254); 361/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_5__); 362 363 364 365 366 367 368var enable = false || window.location.search.includes("debug"); 369var isIE = !("table" in console); 370var methodToColourMap = { 371 debug: "#7f8c8d", 372 // Grey 373 log: "#2ecc71", 374 // Green 375 warn: "#f39c12", 376 // Yellow 377 error: "#c0392b", 378 // Red 379 groupCollapsed: "#3498db", 380 // Blue 381 groupEnd: null // No prefix on groupEnd 382 383}; 384var inGroup = false;
385var print = function print(method) { 386 var _console; 387 388 if (!enable) { 389 return; 390 } 391 392 var styles = ["background: ".concat(methodToColourMap[method]), "border-radius: 0.5em", "color: white", "font-weight: bold", "padding: 2px 0.5em"]; 393 var logPrefix = inGroup || isIE ? [] : ["%cRadioplayer", styles.join(";")]; 394 395 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 396 args[_key - 1] = arguments[_key]; 397 } 398 399 (_console = console)[method].apply(_console, logPrefix.concat(args)); 400 401 if (method === "groupCollapsed") { 402 inGroup = true; 403 } 404 405 if (method === "groupEnd") { 406 inGroup = false; 407 } 408}; 409var log = function log() { 410 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 411 args[_key2] = arguments[_key2]; 412 } 413 414 return print.apply(void 0, ["log"].concat(args)); 415}; 416var error = function error() { 417 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { 418 args[_key3] = arguments[_key3]; 419 } 420 421 return print.apply(void 0, ["error"].concat(args)); 422}; 423var warn = function warn() { 424 for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { 425 args[_key4] = arguments[_key4]; 426 } 427 428 return print.apply(void 0, ["warn"].concat(args)); 429}; 430var groupCollapsed = function groupCollapsed() { 431 for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { 432 args[_key5] = arguments[_key5]; 433 } 434 435 return print.apply(void 0, ["groupCollapsed"].concat(args)); 436}; 437var groupEnd = function groupEnd() { 438 for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { 439 args[_key6] = arguments[_key6]; 440 } 441 442 return print.apply(void 0, ["groupEnd"].concat(args)); 443}; 444var debug = function debug() { 445 for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { 446 args[_key7] = arguments[_key7]; 447 } 448 449 return print.apply(void 0, ["debug"].concat(args)); 450}; 451var table = function table(data, columns) { 452 return enable && (!isIE ? console.table(data, columns) : log(data)); 453}; 454 455/***/ }), 456/* 11 */ 457/***/ (function(module, exports) { 458 459module.exports = function (exec) { 460 try { 461 return !!exec(); 462 } catch (error) { 463 return true; 464 } 465}; 466 467 468/***/ }), 469/* 12 */, 470/* 13 */ 471/***/ (function(module, exports) { 472 473function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { 474 try { 475 var info = gen[key](arg); 476 var value = info.value; 477 } catch (error) { 478 reject(error); 479 return; 480 } 481 482 if (info.done) { 483 resolve(value); 484 } else { 485 Promise.resolve(value).then(_next, _throw); 486 } 487} 488 489function _asyncToGenerator(fn) { 490 return function () { 491 var self = this, 492 args = arguments; 493 return new Promise(function (resolve, reject) { 494 var gen = fn.apply(self, args); 495 496 function _next(value) { 497 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); 498 } 499 500 function _throw(err) { 501 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); 502 } 503 504 _next(undefined); 505 }); 506 }; 507} 508 509module.exports = _asyncToGenerator; 510 511/***/ }), 512/* 14 */, 513/* 15 */ 514/***/ (function(module, exports) { 515 516function _defineProperty(obj, key, value) { 517 if (key in obj) { 518 Object.defineProperty(obj, key, { 519 value: value, 520 enumerable: true, 521 configurable: true, 522 writable: true 523 }); 524 } else { 525 obj[key] = value; 526 } 527 528 return obj; 529} 530 531module.exports = _defineProperty; 532 533/***/ }), 534/* 16 */ 535/***/ (function(module, exports, __webpack_require__) { 536 537/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { 538 return it && it.Math == Math && it; 539}; 540 541// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 542module.exports = 543 // eslint-disable-next-line no-undef 544 check(typeof globalThis == 'object' && globalThis) || 545 check(typeof window == 'object' && window) || 546 check(typeof self == 'object' && self) || 547 check(typeof global == 'object' && global) || 548 // eslint-disable-next-line no-new-func 549 (function () { return this; })() || Function('return this')(); 550 551/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 552 553/***/ }), 554/* 17 */, 555/* 18 */ 556/***/ (function(module, __webpack_exports__, __webpack_require__) { 557 558"use strict"; 559/* unused harmony export version */ 560/* unused harmony export Children */ 561/* unused harmony export render */ 562/* unused harmony export hydrate */ 563/* unused harmony export unmountComponentAtNode */ 564/* unused harmony export createPortal */ 565/* unused harmony export createFactory */ 566/* unused harmony export cloneElement */ 567/* unused harmony export isValidElement */ 568/* unused harmony export findDOMNode */ 569/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return w; }); 570/* unused harmony export memo */ 571/* unused harmony export forwardRef */ 572/* unused harmony export unstable_batchedUpdates */ 573/* unused harmony export StrictMode */ 574/* unused harmony export Suspense */ 575/* unused harmony export SuspenseList */ 576/* unused harmony export lazy */
577/* unused harmony export __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED */ 578/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 579/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "d", function() { return preact_hooks__WEBPACK_IMPORTED_MODULE_0__["b"]; }); 580 581/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "e", function() { return preact_hooks__WEBPACK_IMPORTED_MODULE_0__["d"]; }); 582 583/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "f", function() { return preact_hooks__WEBPACK_IMPORTED_MODULE_0__["j"]; }); 584 585/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1); 586/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return preact__WEBPACK_IMPORTED_MODULE_1__["createElement"]; }); 587 588function S(n,t){for(var e in t)n[e]=t[e];return n}function g(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function w(n){this.props=n}function C(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:g(this.props,n)}function r(t){return this.shouldComponentUpdate=e,Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(n,t)}return r.displayName="Memo("+(n.displayName||n.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(w.prototype=new preact__WEBPACK_IMPORTED_MODULE_1__["Component"]).isPureReactComponent=!0,w.prototype.shouldComponentUpdate=function(n,t){return g(this.props,n)||g(this.state,t)};var R=preact__WEBPACK_IMPORTED_MODULE_1__["options"].__b;preact__WEBPACK_IMPORTED_MODULE_1__["options"].__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n)};var x="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function k(n){function t(t,e){var r=S({},t);return delete r.ref,n(r,(e=t.ref||e)&&("object"!=typeof e||"current"in e)?e:null)}return t.$$typeof=x,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var A=function(n,t){return null==n?null:Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(n).map(t))},N={map:A,forEach:A,count:function(n){return n?Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(n).length:0},only:function(n){var t=Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"]},O=preact__WEBPACK_IMPORTED_MODULE_1__["options"].__e;function L(n){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),(n=S({},n)).__c=null,n.__k=n.__k&&n.__k.map(L)),n}function U(n){return n&&(n.__v=null,n.__k=n.__k&&n.__k.map(U)),n}function F(){this.__u=0,this.t=null,this.__b=null}function M(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function D(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(e,u)}return u.displayName="Lazy",u.__f=!0,u}function I(){this.u=null,this.o=null}preact__WEBPACK_IMPORTED_MODULE_1__["options"].__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t.__c);O(n,t,e)},(F.prototype=new preact__WEBPACK_IMPORTED_MODULE_1__["Component"]).__c=function(n,t){var e=this;null==e.t&&(e.t=[]),e.t.push(t);var r=M(e.__v),u=!1,o=function(){u||(u=!0,t.componentWillUnmount=t.__c,r?r(i):i())};t.__c=t.componentWillUnmount,t.componentWillUnmount=function(){o(),t.__c&&t.__c()};var i=function(){var n;if(!--e.__u)for(e.__v.__k[0]=U(e.state.__e),e.setState({__e:e.__b=null});n=e.t.pop();)n.forceUpdate()},c=e.__v;c&&!0===c.__h||e.__u++||e.setState({__e:e.__b=e.__v.__k[0]}),n.then(o,o)},F.prototype.componentWillUnmount=function(){this.t=[]}
588,F.prototype.render=function(n,t){this.__b&&(this.__v.__k&&(this.__v.__k[0]=L(this.__b)),this.__b=null);var e=t.__e&&Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(preact__WEBPACK_IMPORTED_MODULE_1__["Fragment"],null,n.fallback);return e&&(e.__h=null),[Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(preact__WEBPACK_IMPORTED_MODULE_1__["Fragment"],null,t.__e?null:n.children),e]};var T=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function W(n){return this.getChildContext=function(){return n.context},n.children}function j(n){var t=this,e=n.i,r=Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(W,{context:t.context},n.__v);t.componentWillUnmount=function(){var n=t.l.parentNode;n&&n.removeChild(t.l),Object(preact__WEBPACK_IMPORTED_MODULE_1__["__u"])(t.s)},t.i&&t.i!==e&&(t.componentWillUnmount(),t.h=!1),n.__v?t.h?(e.__k=t.__k,Object(preact__WEBPACK_IMPORTED_MODULE_1__["render"])(r,e),t.__k=e.__k):(t.l=document.createTextNode(""),t.__k=e.__k,Object(preact__WEBPACK_IMPORTED_MODULE_1__["hydrate"])("",e),e.appendChild(t.l),t.h=!0,t.i=e,Object(preact__WEBPACK_IMPORTED_MODULE_1__["render"])(r,e,t.l),e.__k=t.__k,t.__k=t.l.__k):t.h&&t.componentWillUnmount(),t.s=r}function P(n,t){return Object(preact__WEBPACK_IMPORTED_MODULE_1__["createElement"])(j,{__v:n,i:t})}(I.prototype=new preact__WEBPACK_IMPORTED_MODULE_1__["Component"]).__e=function(n){var t=this,e=M(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),T(t,n,r)):u()};e?e(o):o()}},I.prototype.render=function(n){this.u=null,this.o=new Map;var t=Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},I.prototype.componentDidUpdate=I.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){T(n,e,t)})};var z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,V=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,B="undefined"!=typeof Symbol?/fil|che|rad/i:/fil|che|ra/i;function H(n,t,e){return null==t.__k&&(t.textContent=""),Object(preact__WEBPACK_IMPORTED_MODULE_1__["render"])(n,t),"function"==typeof e&&e(),n?n.__c:null}function Z(n,t,e){return Object(preact__WEBPACK_IMPORTED_MODULE_1__["hydrate"])(n,t),"function"==typeof e&&e(),n?n.__c:null}preact__WEBPACK_IMPORTED_MODULE_1__["Component"].prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(preact__WEBPACK_IMPORTED_MODULE_1__["Component"].prototype,n,{configurable:!0,get:function(){return this["UNSAFE_"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var Y=preact__WEBPACK_IMPORTED_MODULE_1__["options"].event;function $(){}function q(){return this.cancelBubble}function G(){return this.defaultPrevented}preact__WEBPACK_IMPORTED_MODULE_1__["options"].event=function(n){return Y&&(n=Y(n)),n.persist=$,n.isPropagationStopped=q,n.isDefaultPrevented=G,n.nativeEvent=n};var J,K={configurable:!0,get:function(){return this.class}},Q=preact__WEBPACK_IMPORTED_MODULE_1__["options"].vnode;preact__WEBPACK_IMPORTED_MODULE_1__["options"].vnode=function(n){var t=n.type,e=n.props,r=e;if("string"==typeof t){for(var u in r={},e){var o=e[u];"defaultValue"===u&&"value"in e&&null==e.value?u="value":"download"===u&&!0===o?o="":/ondoubleclick/i.test(u)?u="ondblclick":/^onchange(textarea|input)/i.test(u+t)&&!B.test(e.type)?u="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():V.test(u)?u=u.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===o&&(o=void 0),r[u]=o}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=Object(preact__WEBPACK_IMPORTED_MODULE_1__["toChildArray"])(e.children).forEac
588h(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),n.props=r}t&&e.class!=e.className&&(K.enumerable="className"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,"className",K)),n.$$typeof=z,Q&&Q(n)};var X=preact__WEBPACK_IMPORTED_MODULE_1__["options"].__r;preact__WEBPACK_IMPORTED_MODULE_1__["options"].__r=function(n){X&&X(n),J=n.__c};var nn={ReactCurrentDispatcher:{current:{readContext:function(n){return J.__n[n.__c].props.value}}}},tn="16.8.0";function en(n){return preact__WEBPACK_IMPORTED_MODULE_1__["createElement"].bind(null,n)}function rn(n){return!!n&&n.$$typeof===z}function un(n){return rn(n)?preact__WEBPACK_IMPORTED_MODULE_1__["cloneElement"].apply(null,arguments):n}function on(n){return!!n.__k&&(Object(preact__WEBPACK_IMPORTED_MODULE_1__["render"])(null,n),!0)}function cn(n){return n&&(n.base||1===n.nodeType&&n)||null}var ln=function(n,t){return n(t)},fn=preact__WEBPACK_IMPORTED_MODULE_1__["Fragment"];/* harmony default export */ __webpack_exports__["c"] = ({useState:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useState */ "j"],useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useReducer */ "h"],useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useEffect */ "d"],useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "f"],useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useRef */ "i"],useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useImperativeHandle */ "e"],useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useMemo */ "g"],useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useCallback */ "a"],useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useContext */ "b"],useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useDebugValue */ "c"],version:"16.8.0",Children:N,render:H,hydrate:Z,unmountComponentAtNode:on,createPortal:P,createElement:preact__WEBPACK_IMPORTED_MODULE_1__["createElement"],createContext:preact__WEBPACK_IMPORTED_MODULE_1__["createContext"],createFactory:en,cloneElement:un,createRef:preact__WEBPACK_IMPORTED_MODULE_1__["createRef"],Fragment:preact__WEBPACK_IMPORTED_MODULE_1__["Fragment"],isValidElement:rn,findDOMNode:cn,Component:preact__WEBPACK_IMPORTED_MODULE_1__["Component"],PureComponent:w,memo:C,forwardRef:k,unstable_batchedUpdates:ln,StrictMode:preact__WEBPACK_IMPORTED_MODULE_1__["Fragment"],Suspense:F,SuspenseList:I,lazy:D,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:nn}); 589//# sourceMappingURL=compat.module.js.map 590 591 592/***/ }), 593/* 19 */ 594/***/ (function(module, exports) { 595 596module.exports = function (it) { 597 return typeof it === 'object' ? it !== null : typeof it === 'function'; 598}; 599 600 601/***/ }), 602/* 20 */ 603/***/ (function(module, exports, __webpack_require__) { 604 605var isObject = __webpack_require__(19); 606 607module.exports = function (it) { 608 if (!isObject(it)) { 609 throw TypeError(String(it) + ' is not an object'); 610 } return it; 611}; 612 613 614/***/ }), 615/* 21 */ 616/***/ (function(module, exports, __webpack_require__) { 617 618var fails = __webpack_require__(11); 619 620// Thank's IE8 for his funny defineProperty 621module.exports = !fails(function () { 622 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 623}); 624 625 626/***/ }), 627/* 22 */, 628/* 23 */ 629/***/ (function(module, exports, __webpack_require__) { 630 631var global = __webpack_require__(16); 632var shared = __webpack_require__(277); 633var has = __webpack_require__(35); 634var uid = __webpack_require__(165); 635var NATIVE_SYMBOL = __webpack_require__(281); 636var USE_SYMBOL_AS_UID = __webpack_require__(360); 637 638var WellKnownSymbolsStore = shared('wks'); 639var Symbol = global.Symbol; 640var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 641 642module.exports = function (name) { 643 if (!has(WellKnownSymbolsStore, name)) { 644 if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name]; 645 else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); 646 } return WellKnownSymbolsStore[name]; 647}; 648 649 650/***/ }), 651/* 24 */, 652/* 25 */ 653/***/ (function(module, __webpack_exports__, __webpack_require__) { 654 655"use strict"; 656 657// EXPORTS 658__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ Trans; }); 659__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ useTranslation; }); 660__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ initReactI18next; }); 661 662// UNUSED EXPORTS: withTranslation, Translation, I18nextProvider, withSSR, useSSR, I18nContext, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps 663 664// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 665var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 666var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 667
668// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 669var definePropertybabel_target_legacy = __webpack_require__(15); 670var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 671 672// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/typeof.js?babel-target=legacy 673var typeofbabel_target_legacy = __webpack_require__(154); 674var typeofbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(typeofbabel_target_legacy); 675 676// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js?babel-target=legacy 677var compat_modulebabel_target_legacy = __webpack_require__(18); 678 679// EXTERNAL MODULE: ./node_modules/html-parse-stringify2?babel-target=legacy 680var html_parse_stringify2_babel_target_legacy = __webpack_require__(403); 681var html_parse_stringify2_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(html_parse_stringify2_babel_target_legacy); 682 683// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js?babel-target=legacy 684var classCallCheckbabel_target_legacy = __webpack_require__(233); 685var classCallCheckbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classCallCheckbabel_target_legacy); 686 687// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js?babel-target=legacy 688var createClassbabel_target_legacy = __webpack_require__(234); 689var createClassbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(createClassbabel_target_legacy); 690 691// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/context.js?babel-target=legacy 692 693 694 695 696function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 697 698function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 699 700 701var defaultOptions = { 702 bindI18n: 'languageChanging languageChanged', 703 bindI18nStore: '', 704 // nsMode: 'fallback' // loop through all namespaces given to hook, HOC, render prop for key lookup 705 transEmptyNodeValue: '', 706 transSupportBasicHtmlNodes: true, 707 transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'], 708 // hashTransKey: key => key // calculate a key for Trans component based on defaultValue 709 useSuspense: true 710}; 711var i18nInstance; 712var hasUsedI18nextProvider; 713var I18nContext = compat_modulebabel_target_legacy["c" /* default */].createContext(); 714function usedI18nextProvider(used) { 715 hasUsedI18nextProvider = used; 716} 717function getHasUsedI18nextProvider() { 718 return hasUsedI18nextProvider; 719} 720function setDefaults() { 721 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 722 defaultOptions = _objectSpread({}, defaultOptions, {}, options); 723} 724function getDefaults() { 725 return defaultOptions; 726} 727var contextbabel_target_legacy_ReportNamespaces = 728/*#__PURE__*/ 729function () { 730 function ReportNamespaces() { 731 classCallCheckbabel_target_legacy_default()(this, ReportNamespaces); 732 733 this.usedNamespaces = {}; 734 } 735 736 createClassbabel_target_legacy_default()(ReportNamespaces, [{ 737 key: "addUsedNamespaces", 738 value: function addUsedNamespaces(namespaces) { 739 var _this = this; 740 741 namespaces.forEach(function (ns) { 742 if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true; 743 }); 744 } 745 }, { 746 key: "getUsedNamespaces", 747 value: function getUsedNamespaces() { 748 return Object.keys(this.usedNamespaces); 749 } 750 }]); 751 752 return ReportNamespaces; 753}(); 754function setI18n(instance) { 755 i18nInstance = instance; 756} 757function getI18n() { 758 return i18nInstance; 759} 760var initReactI18next = { 761 type: '3rdParty', 762 init: function init(instance) { 763 setDefaults(instance.options.react); 764 setI18n(instance); 765 } 766}; 767function composeInitialProps(ForComponent) { 768 return function (ctx) { 769 return new Promise(function (resolve) { 770 var i18nInitialProps = getInitialProps(); 771 772 if (ForComponent.getInitialProps) { 773 ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) { 774 resolve(_objectSpread({}, componentsInitialProps, {}, i18nInitialProps)); 775 }); 776 } else { 777 resolve(i18nInitialProps); 778 } 779 }); 780 }; // Avoid async for now - so we do not need to pull in regenerator 781 // return async ctx => { 782 // const componentsInitialProps = ForComponent.getInitialProps 783 // ? await ForComponent.getInitialProps(ctx) 784 // : {}; 785 // const i18nInitialProps = getInitialProps(); 786 // return { 787 // ...componentsInitialProps, 788 // ...i18nInitialProps, 789 // }; 790 // }; 791} 792function getInitialProps() { 793 var i18n = getI18n(); 794 var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : []; 795 var ret = {}; 796 var initialI18nStore = {};
797 i18n.languages.forEach(function (l) { 798 initialI18nStore[l] = {}; 799 namespaces.forEach(function (ns) { 800 initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {}; 801 }); 802 }); 803 ret.initialI18nStore = initialI18nStore; 804 ret.initialLanguage = i18n.language; 805 return ret; 806} 807// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/utils.js?babel-target=legacy 808function warn() { 809 if (console && console.warn) { 810 var _console; 811 812 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 813 args[_key] = arguments[_key]; 814 } 815 816 if (typeof args[0] === 'string') args[0] = "react-i18next:: ".concat(args[0]); 817 818 (_console = console).warn.apply(_console, args); 819 } 820} 821var alreadyWarned = {}; 822function warnOnce() { 823 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 824 args[_key2] = arguments[_key2]; 825 } 826 827 if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return; 828 if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date(); 829 warn.apply(void 0, args); 830} // not needed right now 831// 832// export function deprecated(...args) { 833// if (process && process.env && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')) { 834// if (typeof args[0] === 'string') args[0] = `deprecation warning -> ${args[0]}`; 835// warnOnce(...args); 836// } 837// } 838 839function loadNamespaces(i18n, ns, cb) { 840 i18n.loadNamespaces(ns, function () { 841 // delay ready if not yet initialized i18n instance 842 if (i18n.isInitialized) { 843 cb(); 844 } else { 845 var initialized = function initialized() { 846 // due to emitter removing issue in i18next we need to delay remove 847 setTimeout(function () { 848 i18n.off('initialized', initialized); 849 }, 0); 850 cb(); 851 }; 852 853 i18n.on('initialized', initialized); 854 } 855 }); 856} 857function hasLoadedNamespace(ns, i18n) { 858 if (!i18n.languages || !i18n.languages.length) { 859 warnOnce('i18n.languages were undefined or empty', i18n.languages); 860 return true; 861 } 862 863 var lng = i18n.languages[0]; 864 var fallbackLng = i18n.options ? i18n.options.fallbackLng : false; 865 var lastLng = i18n.languages[i18n.languages.length - 1]; // we're in cimode so this shall pass 866 867 if (lng.toLowerCase() === 'cimode') return true; 868 869 var loadNotPending = function loadNotPending(l, n) { 870 var loadState = i18n.services.backendConnector.state["".concat(l, "|").concat(n)]; 871 return loadState === -1 || loadState === 2; 872 }; // loaded -> SUCCESS 873 874 875 if (i18n.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS 876 877 if (!i18n.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS 878 879 if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; 880 return false; 881} 882function getDisplayName(Component) { 883 return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown'); 884} 885// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/Trans.js?babel-target=legacy 886 887 888 889 890function Transbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 891 892function Transbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Transbabel_target_legacy_ownKeys(source, true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Transbabel_target_legacy_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 893 894 895 896 897 898 899function hasChildren(node) { 900 return node && (node.children || node.props && node.props.children); 901} 902 903function getChildren(node) { 904 if (!node) return []; 905 return node && node.children ? node.children : node.props && node.props.children; 906} 907 908function hasValidReactChildren(children) { 909 if (Object.prototype.toString.call(children) !== '[object Array]') return false;
910 return children.every(function (child) { 911 return compat_modulebabel_target_legacy["c" /* default */].isValidElement(child); 912 }); 913} 914 915function getAsArray(data) { 916 return Array.isArray(data) ? data : [data]; 917} 918 919function nodesToString(startingString, children, index, i18nOptions) { 920 if (!children) return ''; 921 var stringNode = startingString; 922 var childrenArray = getAsArray(children); 923 var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || []; 924 childrenArray.forEach(function (child, i) { 925 var elementKey = "".concat(i); 926 927 if (typeof child === 'string') { 928 stringNode = "".concat(stringNode).concat(child); 929 } else if (hasChildren(child)) { 930 var elementTag = keepArray.indexOf(child.type) > -1 && Object.keys(child.props).length === 1 && typeof hasChildren(child) === 'string' ? child.type : elementKey; 931 932 if (child.props && child.props.i18nIsDynamicList) { 933 // we got a dynamic list like "<ul>{['a', 'b'].map(item => ( <li key={item}>{item}</li> ))}</ul>"" 934 // the result should be "<0></0>" and not "<0><0>a</0><1>b</1></0>" 935 stringNode = "".concat(stringNode, "<").concat(elementTag, "></").concat(elementTag, ">"); 936 } else { 937 // regular case mapping the inner children 938 stringNode = "".concat(stringNode, "<").concat(elementTag, ">").concat(nodesToString('', getChildren(child), i + 1, i18nOptions), "</").concat(elementTag, ">"); 939 } 940 } else if (compat_modulebabel_target_legacy["c" /* default */].isValidElement(child)) { 941 if (keepArray.indexOf(child.type) > -1 && Object.keys(child.props).length === 0) { 942 stringNode = "".concat(stringNode, "<").concat(child.type, "/>"); 943 } else { 944 stringNode = "".concat(stringNode, "<").concat(elementKey, "></").concat(elementKey, ">"); 945 } 946 } else if (typeofbabel_target_legacy_default()(child) === 'object') { 947 var clone = Transbabel_target_legacy_objectSpread({}, child); 948 949 var format = clone.format; 950 delete clone.format; 951 var keys = Object.keys(clone); 952 953 if (format && keys.length === 1) { 954 stringNode = "".concat(stringNode, "{{").concat(keys[0], ", ").concat(format, "}}"); 955 } else if (keys.length === 1) { 956 stringNode = "".concat(stringNode, "{{").concat(keys[0], "}}"); 957 } else { 958 // not a valid interpolation object (can only contain one value plus format) 959 warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child); 960 } 961 } else { 962 warn("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", child); 963 } 964 }); 965 return stringNode; 966} 967 968function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) { 969 if (targetString === '') return []; // check if contains tags we need to replace from html string to react nodes 970 971 var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || []; 972 var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(target
972String); // no need to replace tags in the targetstring 973 974 if (!children && !emptyChildrenButNeedsHandling) return [targetString]; // v2 -> interpolates upfront no need for "some <0>{{var}}</0>"" -> will be just "some {{var}}" in translation file 975 976 var data = {}; 977 978 function getData(childs) { 979 var childrenArray = getAsArray(childs); 980 childrenArray.forEach(function (child) { 981 if (typeof child === 'string') return; 982 if (hasChildren(child)) getData(getChildren(child));else if (typeofbabel_target_legacy_default()(child) === 'object' && !compat_modulebabel_target_legacy["c" /* default */].isValidElement(child)) Object.assign(data, child); 983 }); 984 } 985 986 getData(children); 987 var interpolatedString = i18n.services.interpolator.interpolate(targetString, Transbabel_target_legacy_objectSpread({}, data, {}, combinedTOpts), i18n.language); // parse ast from string with additional wrapper tag 988 // -> avoids issues in parser removing prepending text nodes 989 990 var ast = html_parse_stringify2_babel_target_legacy_default.a.parse("<0>".concat(interpolatedString, "</0>")); 991 992 function mapAST(reactNode, astNode) { 993 var reactNodes = getAsArray(reactNode); 994 var astNodes = getAsArray(astNode); 995 return astNodes.reduce(function (mem, node, i) { 996 var translationContent = node.children && node.children[0] && node.children[0].content; 997 998 if (node.type === 'tag') { 999 var child = reactNodes[parseInt(node.name, 10)] || {}; 1000 var isElement = compat_modulebabel_target_legacy["c" /* default */].isValidElement(child); 1001 1002 if (typeof child === 'string') { 1003 mem.push(child); 1004 } else if (hasChildren(child)) { 1005 var childs = getChildren(child); 1006 var mappedChildren = mapAST(childs, node.children); 1007 var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren; 1008 if (child.dummy) child.children = inner; // needed on preact! 1009 1010 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread({}, child.props, { 1011 key: i 1012 }), inner)); 1013 } else if (emptyChildrenButNeedsHandling && typeofbabel_target_legacy_default()(child) === 'object' && child.dummy && !isElement) { 1014 // we have a empty Trans node (the dummy element) with a targetstring that contains html tags needing 1015 // conversion to react nodes 1016 // so we just need to map the inner stuff 1017 var _inner = mapAST(reactNodes 1018 /* wrong but we need something */ 1019 , node.children); 1020 1021 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread({}, child.props, { 1022 key: i 1023 }), _inner)); 1024 } else if (Number.isNaN(parseFloat(node.name))) { 1025 if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) { 1026 if (node.voidElement) { 1027 mem.push(compat_modulebabel_target_legacy["c" /* default */].createElement(node.name, { 1028 key: "".concat(node.name, "-").concat(i) 1029 })); 1030 } else { 1031 var _inner2 = mapAST(reactNodes 1032 /* wrong but we need something */ 1033 , node.children); 1034 1035 mem.push(compat_modulebabel_target_legacy["c" /* default */].createElement(node.name, { 1036 key: "".concat(node.name, "-").concat(i) 1037 }, _inner2)); 1038 } 1039 } else if (node.voidElement) { 1040 mem.push("<".concat(node.name, " />")); 1041 } else { 1042 var _inner3 = mapAST(reactNodes 1043 /* wrong but we need something */ 1044 , node.children); 1045 1046 mem.push("<".concat(node.name, ">").concat(_inner3, "</").concat(node.name, ">")); 1047 } 1048 } else if (typeofbabel_target_legacy_default()(child) === 'object' && !isElement) { 1049 var content = node.children[0] ? translationContent : null; // v1 1050 // as interpolation was done already we just have a regular content node 1051 // in the translation AST while having an object in reactNodes 1052 // -> push the content no need to interpolate again 1053 1054 if (content) mem.push(content); 1055 } else if (node.children.length === 1 && translationContent) { 1056 // If component does not have children, but translation - has 1057 // with this in component could be components={[<span class='make-beautiful'/>]} and in translation - 'some text <0>
1057some highlighted message</0>' 1058 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread({}, child.props, { 1059 key: i 1060 }), translationContent)); 1061 } else { 1062 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread({}, child.props, { 1063 key: i 1064 }))); 1065 } 1066 } else if (node.type === 'text') { 1067 mem.push(node.content); 1068 } 1069 1070 return mem; 1071 }, []); 1072 } // call mapAST with having react nodes nested into additional node like 1073 // we did for the string ast from translation 1074 // return the children of that extra node to get expected result 1075 1076 1077 var result = mapAST([{ 1078 dummy: true, 1079 children: children 1080 }], ast); 1081 return getChildren(result[0]); 1082} 1083 1084function Trans(_ref) { 1085 var children = _ref.children, 1086 count = _ref.count, 1087 parent = _ref.parent, 1088 i18nKey = _ref.i18nKey, 1089 tOptions = _ref.tOptions, 1090 values = _ref.values, 1091 defaults = _ref.defaults, 1092 components = _ref.components, 1093 ns = _ref.ns, 1094 i18nFromProps = _ref.i18n, 1095 tFromProps = _ref.t, 1096 additionalProps = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t"]); 1097 1098 var _ref2 = getHasUsedI18nextProvider() ? Object(compat_modulebabel_target_legacy["d" /* useContext */])(I18nContext) || {} : {}, 1099 i18nFromContext = _ref2.i18n, 1100 defaultNSFromContext = _ref2.defaultNS; 1101 1102 var i18n = i18nFromProps || i18nFromContext || getI18n(); 1103 1104 if (!i18n) { 1105 warnOnce('You will need pass in an i18next instance by using i18nextReactModule'); 1106 return children; 1107 } 1108 1109 var t = tFromProps || i18n.t.bind(i18n) || function (k) { 1110 return k; 1111 }; 1112 1113 var reactI18nextOptions = Transbabel_target_legacy_objectSpread({}, getDefaults(), {}, i18n.options && i18n.options.react); 1114 1115 var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent; // prepare having a namespace 1116 1117 var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS; 1118 namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation']; 1119 var defaultValue = defaults || nodesToString('', children, 0, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue; 1120 var hashTransKey = reactI18nextOptions.hashTransKey; 1121 var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue); 1122 var interpolationOverride = values ? {}
1122 : { 1123 interpolation: { 1124 prefix: '#$?', 1125 suffix: '?$#' 1126 } 1127 }; 1128 1129 var combinedTOpts = Transbabel_target_legacy_objectSpread({}, tOptions, { 1130 count: count 1131 }, values, {}, interpolationOverride, { 1132 defaultValue: defaultValue, 1133 ns: namespaces 1134 }); 1135 1136 var translation = key ? t(key, combinedTOpts) : defaultValue; 1137 if (!useAsParent) return renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts); 1138 return compat_modulebabel_target_legacy["c" /* default */].createElement(useAsParent, additionalProps, renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts)); 1139} 1140// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 1141var slicedToArraybabel_target_legacy = __webpack_require__(8); 1142var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 1143 1144// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/useTranslation.js?babel-target=legacy 1145 1146 1147 1148function useTranslationbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 1149 1150function useTranslationbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useTranslationbabel_target_legacy_ownKeys(source, true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useTranslationbabel_target_legacy_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 1151 1152 1153 1154 1155function useTranslation(ns) { 1156 var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 1157 // assert we have the needed i18nInstance 1158 var i18nFromProps = props.i18n; 1159 var ReactI18nContext = Object(compat_modulebabel_target_legacy["d" /* useContext */])(I18nContext); 1160 1161 var _ref = getHasUsedI18nextProvider() ? ReactI18nContext || {} : {}, 1162 i18nFromContext = _ref.i18n, 1163 defaultNSFromContext = _ref.defaultNS; 1164 1165 var i18n = i18nFromProps || i18nFromContext || getI18n(); 1166 if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new contextbabel_target_legacy_ReportNamespaces(); 1167 1168 if (!i18n) { 1169 warnOnce('You will need pass in an i18next instance by using initReactI18next'); 1170 var retNotReady = [function (k) { 1171 return k; 1172 }, {}, false]; 1173 1174 retNotReady.t = function (k) { 1175 return k; 1176 }; 1177 1178 retNotReady.i18n = {}; 1179 retNotReady.ready = false; 1180 return retNotReady; 1181 } 1182 1183 var i18nOptions = useTranslationbabel_target_legacy_objectSpread({}, getDefaults(), {}, i18n.options.react); 1184 1185 var _props$useSuspense = props.useSuspense, 1186 useSuspense = _props$useSuspense === void 0 ? i18nOptions.useSuspense : _props$useSuspense; // prepare having a namespace 1187 1188 var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS; 1189 namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation']; // report namespaces as used 1190 1191 if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces); // are we ready? yes if all namespaces in first language are loaded already (either with data or empty object on failed load) 1192 1193 var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) { 1194 return hasLoadedNamespace(n, i18n); 1195 }); // binding t function to namespace (acts also as rerender trigger) 1196 1197 function getT() { 1198 return { 1199 t: i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0]) 1200 }; 1201 } 1202 1203 var _useState = Object(compat_modulebabel_target_legacy["f" /* useState */])(getT()), 1204 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 1205 t = _useState2[0], 1206 setT = _useState2[1]; // seems we can't have functions as value -> wrap it in obj 1207 1208 1209 Object(compat_modulebabel_target_legacy["e" /* useEffect */])(function () { 1210 var isMounted = true; 1211 var bindI18n = i18nOptions.bindI18n, 1212 bindI18nStore = i18nOptions.bindI18nStore; // if not ready and not using suspense load the namespaces 1213 // in side effect and do not call resetT if unmounted 1214 1215 if (!ready && !useSuspense) { 1216 loadNamespaces(i18n, namespaces, function () { 1217 if (isMounted) setT(getT()); 1218 }); 1219 } 1220 1221 function boundReset() { 1222 if (isMounted) setT(getT()); 1223 } // bind events to trigger change, like languageChanged 1224 1225 1226 if (bindI18n && i18n) i18n.on(bindI18n, boundReset); 1227 if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset); // unbinding on unmount 1228 1229 return function () { 1230 isMounted = false;
1231 if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) { 1232 return i18n.off(e, boundReset); 1233 }); 1234 if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) { 1235 return i18n.store.off(e, boundReset); 1236 }); 1237 }; 1238 }, [namespaces.join()]); // re-run effect whenever list of namespaces changes 1239 1240 var ret = [t.t, i18n, ready]; 1241 ret.t = t.t; 1242 ret.i18n = i18n; 1243 ret.ready = ready; // return hook stuff if ready 1244 1245 if (ready) return ret; // not yet loaded namespaces -> load them -> and return if useSuspense option set false 1246 1247 if (!ready && !useSuspense) return ret; // not yet loaded namespaces -> load them -> and trigger suspense 1248 1249 throw new Promise(function (resolve) { 1250 loadNamespaces(i18n, namespaces, function () { 1251 setT(getT()); 1252 resolve(); 1253 }); 1254 }); 1255} 1256// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 1257var extendsbabel_target_legacy = __webpack_require__(50); 1258var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 1259 1260// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/withTranslation.js?babel-target=legacy 1261 1262 1263 1264 1265 1266function withTranslationbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 1267 1268function withTranslationbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { withTranslationbabel_target_legacy_ownKeys(source, true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { withTranslationbabel_target_legacy_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 1269 1270 1271 1272 1273function withTranslation(ns) { 1274 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 1275 return function Extend(WrappedComponent) { 1276 function I18nextWithTranslation(_ref) { 1277 var forwardedRef = _ref.forwardedRef, 1278 rest = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["forwardedRef"]); 1279 1280 var _useTranslation = useTranslation(ns, rest), 1281 _useTranslation2 = slicedToArraybabel_target_legacy_default()(_useTranslation, 3), 1282 t = _useTranslation2[0], 1283 i18n = _useTranslation2[1], 1284 ready = _useTranslation2[2]; 1285 1286 var passDownProps = withTranslationbabel_target_legacy_objectSpread({}, rest, { 1287 t: t, 1288 i18n: i18n, 1289 tReady: ready 1290 }); 1291 1292 if (options.withRef && forwardedRef) { 1293 passDownProps.ref = forwardedRef; 1294 } 1295 1296 return compat_modulebabel_target_legacy["c" /* default */].createElement(WrappedComponent, passDownProps); 1297 } 1298 1299 I18nextWithTranslation.displayName = "withI18nextTranslation(".concat(getDisplayName(WrappedComponent), ")"); 1300 I18nextWithTranslation.WrappedComponent = WrappedComponent; 1301 1302 var forwardRef = function forwardRef(props, ref) { 1303 return compat_modulebabel_target_legacy["c" /* default */].createElement(I18nextWithTranslation, extendsbabel_target_legacy_default()({}, props, { 1304 forwardedRef: ref 1305 })); 1306 }; 1307 1308 return options.withRef ? compat_modulebabel_target_legacy["c" /* default */].forwardRef(forwardRef) : I18nextWithTranslation; 1309 }; 1310} 1311// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/Translation.js?babel-target=legacy 1312 1313 1314 1315function Translation(props) { 1316 var ns = props.ns, 1317 children = props.children, 1318 options = objectWithoutPropertiesbabel_target_legacy_default()(props, ["ns", "children"]); 1319 1320 var _useTranslation = useTranslation(ns, options), 1321 _useTranslation2 = slicedToArraybabel_target_legacy_default()(_useTranslation, 3), 1322 t = _useTranslation2[0], 1323 i18n = _useTranslation2[1], 1324 ready = _useTranslation2[2]; 1325 1326 return children(t, { 1327 i18n: i18n, 1328 lng: i18n.language 1329 }, ready); 1330} 1331// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/I18nextProvider.js?babel-target=legacy 1332 1333 1334function I18nextProvider(_ref) { 1335 var i18n = _ref.i18n, 1336 defaultNS = _ref.defaultNS, 1337 children = _ref.children; 1338 usedI18nextProvider(true); 1339 return compat_modulebabel_target_legacy["c" /* default */].createElement(I18nContext.Provider, { 1340 value: { 1341 i18n: i18n, 1342 defaultNS: defaultNS 1343 } 1344 }, children); 1345} 1346// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/useSSR.js?babel-target=legacy 1347 1348 1349function useSSR(initialI18nStore, initialLanguage) { 1350 var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 1351 var i18nFromProps = props.i18n; 1352 var ReactI18nContext = Object(compat_modulebabel_target_legacy["d" /* useContext */])(I18nContext); 1353 1354 var _ref = getHasUsedI18nextProvider() ? ReactI18nContext || {} : {}, 1355 i18nFromContext = _ref.i18n; 1356 1357 var i18n = i18nFromProps || i18nFromContext || getI18n(); // opt out if is a cloned instance, eg. created by i18next-express-middleware on request 1358 // -> do not set initial stuff on server side 1359 1360 if (i18n.options && i18n.options.isClone) return; // nextjs / SSR: getting data from next.js or other ssr stack 1361
1362 if (initialI18nStore && !i18n.initializedStoreOnce) { 1363 i18n.services.resourceStore.data = initialI18nStore; 1364 i18n.initializedStoreOnce = true; 1365 } 1366 1367 if (initialLanguage && !i18n.initializedLanguageOnce) { 1368 i18n.changeLanguage(initialLanguage); 1369 i18n.initializedLanguageOnce = true; 1370 } 1371} 1372// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es/withSSR.js?babel-target=legacy 1373 1374 1375 1376function withSSRbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 1377 1378function withSSRbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { withSSRbabel_target_legacy_ownKeys(source, true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { withSSRbabel_target_legacy_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 1379 1380 1381 1382 1383 1384function withSSR() { 1385 return function Extend(WrappedComponent) { 1386 function I18nextWithSSR(_ref) { 1387 var initialI18nStore = _ref.initialI18nStore, 1388 initialLanguage = _ref.initialLanguage, 1389 rest = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["initialI18nStore", "initialLanguage"]); 1390 1391 useSSR(initialI18nStore, initialLanguage); 1392 return compat_modulebabel_target_legacy["c" /* default */].createElement(WrappedComponent, withSSRbabel_target_legacy_objectSpread({}, rest)); 1393 } 1394 1395 I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent); 1396 I18nextWithSSR.displayName = "withI18nextSSR(".concat(getDisplayName(WrappedComponent), ")"); 1397 I18nextWithSSR.WrappedComponent = WrappedComponent; 1398 return I18nextWithSSR; 1399 }; 1400} 1401// CONCATENATED MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411/***/ }), 1412/* 26 */, 1413/* 27 */ 1414/***/ (function(module, exports, __webpack_require__) { 1415 1416var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 1417 Copyright (c) 2017 Jed Watson. 1418 Licensed under the MIT License (MIT), see 1419 http://jedwatson.github.io/classnames 1420*/ 1421/* global define */ 1422 1423(function () { 1424 'use strict'; 1425 1426 var hasOwn = {}.hasOwnProperty; 1427 1428 function classNames () { 1429 var classes = []; 1430 1431 for (var i = 0; i < arguments.length; i++) { 1432 var arg = arguments[i]; 1433 if (!arg) continue; 1434 1435 var argType = typeof arg; 1436 1437 if (argType === 'string' || argType === 'number') { 1438 classes.push(arg); 1439 } else if (Array.isArray(arg) && arg.length) { 1440 var inner = classNames.apply(null, arg); 1441 if (inner) { 1442 classes.push(inner); 1443 } 1444 } else if (argType === 'object') { 1445 for (var key in arg) { 1446 if (hasOwn.call(arg, key) && arg[key]) { 1447 classes.push(key); 1448 } 1449 } 1450 } 1451 } 1452 1453 return classes.join(' '); 1454 } 1455 1456 if ( true && module.exports) { 1457 classNames.default = classNames; 1458 module.exports = classNames; 1459 } else if (true) { 1460 // register as 'classnames', consistent with npm package name 1461 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { 1462 return classNames; 1463 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 1464 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 1465 } else {} 1466}()); 1467 1468 1469/***/ }), 1470/* 28 */ 1471/***/ (function(module, exports, __webpack_require__) { 1472 1473var toInteger = __webpack_require__(73); 1474 1475var min = Math.min; 1476 1477// `ToLength` abstract operation 1478// https://tc39.github.io/ecma262/#sec-tolength 1479module.exports = function (argument) { 1480 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 1481}; 1482 1483 1484/***/ }), 1485/* 29 */ 1486/***/ (function(module, exports, __webpack_require__) { 1487 1488"use strict"; 1489 1490var NATIVE_ARRAY_BUFFER = __webpack_require__(297); 1491var DESCRIPTORS = __webpack_require__(21); 1492var global = __webpack_require__(16); 1493var isObject = __webpack_require__(19); 1494var has = __webpack_require__(35); 1495var classof = __webpack_require__(174); 1496var createNonEnumerableProperty = __webpack_require__(53); 1497var redefine = __webpack_require__(54); 1498var defineProperty = __webpack_require__(30).f; 1499var getPrototypeOf = __webpack_require__(74); 1500var setPrototypeOf = __webpack_require__(116); 1501var wellKnownSymbol = __webpack_require__(23); 1502var uid = __webpack_require__(165); 1503 1504var Int8Array = global.Int8Array; 1505var Int8ArrayPrototype = Int8Array && Int8Array.prototype; 1506var Uint8ClampedArray = global.Uint8ClampedArray; 1507var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; 1508var TypedArray = Int8Array && getPrototypeOf(Int8Array); 1509var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); 1510var ObjectPrototype = Object.prototype; 1511var isPrototypeOf = ObjectPrototype.isPrototypeOf; 1512 1513var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 1514var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); 1515// Fixing native typed arrays in Opera Presto crashes the browser, see #595 1516var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; 1517var TYPED_ARRAY_TAG_REQIRED = false;
vendor: 16,384 bytes, lines 1518-1765
1518var NAME; 1519 1520var TypedArrayConstructorsList = { 1521 Int8Array: 1, 1522 Uint8Array: 1, 1523 Uint8ClampedArray: 1, 1524 Int16Array: 2, 1525 Uint16Array: 2, 1526 Int32Array: 4, 1527 Uint32Array: 4, 1528 Float32Array: 4, 1529 Float64Array: 8 1530}; 1531 1532var isView = function isView(it) { 1533 var klass = classof(it); 1534 return klass === 'DataView' || has(TypedArrayConstructorsList, klass); 1535}; 1536 1537var isTypedArray = function (it) { 1538 return isObject(it) && has(TypedArrayConstructorsList, classof(it)); 1539}; 1540 1541var aTypedArray = function (it) { 1542 if (isTypedArray(it)) return it; 1543 throw TypeError('Target is not a typed array'); 1544}; 1545 1546var aTypedArrayConstructor = function (C) { 1547 if (setPrototypeOf) { 1548 if (isPrototypeOf.call(TypedArray, C)) return C; 1549 } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { 1550 var TypedArrayConstructor = global[ARRAY]; 1551 if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { 1552 return C; 1553 } 1554 } throw TypeError('Target is not a typed array constructor'); 1555}; 1556 1557var exportTypedArrayMethod = function (KEY, property, forced) { 1558 if (!DESCRIPTORS) return; 1559 if (forced) for (var ARRAY in TypedArrayConstructorsList) { 1560 var TypedArrayConstructor = global[ARRAY]; 1561 if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { 1562 delete TypedArrayConstructor.prototype[KEY]; 1563 } 1564 } 1565 if (!TypedArrayPrototype[KEY] || forced) { 1566 redefine(TypedArrayPrototype, KEY, forced ? property 1567 : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); 1568 } 1569}; 1570 1571var exportTypedArrayStaticMethod = function (KEY, property, forced) { 1572 var ARRAY, TypedArrayConstructor; 1573 if (!DESCRIPTORS) return; 1574 if (setPrototypeOf) { 1575 if (forced) for (ARRAY in TypedArrayConstructorsList) { 1576 TypedArrayConstructor = global[ARRAY]; 1577 if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { 1578 delete TypedArrayConstructor[KEY]; 1579 } 1580 } 1581 if (!TypedArray[KEY] || forced) { 1582 // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable 1583 try { 1584 return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); 1585 } catch (error) { /* empty */ } 1586 } else return; 1587 } 1588 for (ARRAY in TypedArrayConstructorsList) { 1589 TypedArrayConstructor = global[ARRAY]; 1590 if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { 1591 redefine(TypedArrayConstructor, KEY, property); 1592 } 1593 } 1594}; 1595 1596for (NAME in TypedArrayConstructorsList) { 1597 if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; 1598} 1599 1600// WebKit bug - typed arrays constructors prototype is Object.prototype 1601if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { 1602 // eslint-disable-next-line no-shadow 1603 TypedArray = function TypedArray() { 1604 throw TypeError('Incorrect invocation'); 1605 }; 1606 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 1607 if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); 1608 } 1609} 1610 1611if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { 1612 TypedArrayPrototype = TypedArray.prototype; 1613 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 1614 if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); 1615 } 1616} 1617 1618// WebKit bug - one more object in Uint8ClampedArray prototype chain 1619if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { 1620 setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); 1621} 1622 1623if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { 1624 TYPED_ARRAY_TAG_REQIRED = true; 1625 defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { 1626 return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; 1627 } }); 1628 for (NAME in TypedArrayConstructorsList) if (global[NAME]) { 1629 createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); 1630 } 1631} 1632 1633module.exports = { 1634 NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, 1635 TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, 1636 aTypedArray: aTypedArray, 1637 aTypedArrayConstructor: aTypedArrayConstructor, 1638 exportTypedArrayMethod: exportTypedArrayMethod, 1639 exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, 1640 isView: isView, 1641 isTypedArray: isTypedArray, 1642 TypedArray: TypedArray, 1643 TypedArrayPrototype: TypedArrayPrototype 1644}; 1645 1646 1647/***/ }), 1648/* 30 */ 1649/***/ (function(module, exports, __webpack_require__) { 1650 1651var DESCRIPTORS = __webpack_require__(21); 1652var IE8_DOM_DEFINE = __webpack_require__(356); 1653var anObject = __webpack_require__(20); 1654var toPrimitive = __webpack_require__(79); 1655 1656var nativeDefineProperty = Object.defineProperty; 1657 1658// `Object.defineProperty` method 1659// https://tc39.github.io/ecma262/#sec-object.defineproperty 1660exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { 1661 anObject(O); 1662 P = toPrimitive(P, true); 1663 anObject(Attributes); 1664 if (IE8_DOM_DEFINE) try { 1665 return nativeDefineProperty(O, P, Attributes); 1666 } catch (error) { /* empty */ } 1667 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); 1668 if ('value' in Attributes) O[P] = Attributes.value; 1669 return O; 1670}; 1671 1672 1673/***/ }), 1674/* 31 */, 1675/* 32 */ 1676/***/ (function(module, __webpack_exports__, __webpack_require__) { 1677 1678"use strict"; 1679/* unused harmony export allCookies */ 1680/* unused harmony export loadCookies */ 1681/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return loadStationList; }); 1682/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return loadAnalyticsURL; }); 1683/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getRandomOrRecent; }); 1684/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getODInfo; }); 1685/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return loadSchedule; }); 1686/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return loadOnDemand; }); 1687/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return loadRecommendationList; }); 1688/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return loadRelatedStationList; }); 1689/* unused harmony export parseFaves */ 1690/* unused harmony export getFavesString */ 1691/* unused harmony export saveCookie */ 1692/* unused harmony export saveSearchCookie */ 1693/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return addSearchTerm; }); 1694/* unused harmony export saveFaves */ 1695/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addFave; }); 1696/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return hideAnnouncement; }); 1697/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return removeFave; }); 1698/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return setStationListPrefix; }); 1699/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return setBbcCookies; }); 1700/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return retrieveCookies; }); 1701/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return setCookiePolicy; }); 1702/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return evaluateCookieConsent; }); 1703/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return decodeConsent; }); 1704/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return isFave; }); 1705/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return getRecentStations; }); 1706/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return getVolume; }); 1707/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "z", function() { return setVolumeCookie; }); 1708/* unused harmony export getStationListPrefix */ 1709/* unused harmony export getCookiePolicyString */ 1710/* unused harmony export getCookiePolicy */ 1711/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return buildCookiePolicy; }); 1712/* unused harmony export redirectConsole */ 1713/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return initCookies; }); 1714/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "A", function() { return stationSuggestions; }); 1715/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return searchStations; }); 1716/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getHashFromString; }); 1717/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75); 1718/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 1719/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70); 1720/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__); 1721/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(124); 1722/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__); 1723/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(265); 1724/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3__); 1725/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(160); 1726/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_4__); 1727/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77); 1728/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_5__); 1729/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(162); 1730/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_6__); 1731/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(410); 1732/* harmony import */ var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_7__); 1733/* harmony import */ var core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(411); 1734/* harmony import */ var core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor__WEBPACK_IMPORTED_MODULE_8__); 1735/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(105); 1736/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_9__); 1737/* harmony import */ var core_js_modules_es_object_values__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(328); 1738/* harmony import */ var core_js_modules_es_object_values__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values__WEBPACK_IMPORTED_MODULE_10__); 1739/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(93); 1740/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_11__); 1741/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(156); 1742/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_12__); 1743/* harmony import */ var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(266); 1744/* harmony import */ var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_13__); 1745/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(140); 1746/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_14__); 1747/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(252); 1748/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_15__); 1749/* harmony import */ var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(303); 1750/* harmony import */ var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_16__); 1751/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(8); 1752/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_17__); 1753/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(37); 1754/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18__); 1755/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(6); 1756/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19__); 1757/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(60); 1758/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_20__); 1759/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(13); 1760/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21__); 1761/* harmony import */ var _api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(95); 1762/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(48); 1763/* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(205); 1764/* harmony import */ var _fetchTimeout__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(127); 1765/* h
1765armony import */ var _logger__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(10); 1766/* harmony import */ var consent_string__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(479); 1767/* harmony import */ var consent_string__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(consent_string__WEBPACK_IMPORTED_MODULE_27__); 1768/* harmony import */ var tc_string_parse__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(480); 1769/* harmony import */ var tc_string_parse__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(tc_string_parse__WEBPACK_IMPORTED_MODULE_28__); 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799var allCookies = /*#__PURE__*/function () { 1800 var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee(cookieManagerUrl) { 1801 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee$(_context) { 1802 while (1) { 1803 switch (_context.prev = _context.next) { 1804 case 0: 1805 _context.next = 2; 1806 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(cookieManagerUrl, "all?_=").concat(Object(_api_utils__WEBPACK_IMPORTED_MODULE_23__[/* getCachebuster */ "h"])()), { 1807 jsonpCallbackFunction: undefined 1808 }).then(function (res) { 1809 return res.json(); 1810 }); 1811 1812 case 2: 1813 return _context.abrupt("return", _context.sent); 1814 1815 case 3: 1816 case "end": 1817 return _context.stop(); 1818 } 1819 } 1820 }, _callee); 1821 })); 1822 1823 return function allCookies(_x) { 1824 return _ref.apply(this, arguments); 1825 }; 1826}(); 1827var loadCookies = /*#__PURE__*/function () { 1828 var _ref2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee2(id, cookieManagerUrl) { 1829 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee2$(_context2) { 1830 while (1) { 1831 switch (_context2.prev = _context2.next) { 1832 case 0: 1833 _context2.next = 2; 1834 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(cookieManagerUrl, "init/").concat(id, "?_=").concat(Object(_api_utils__WEBPACK_IMPORTED_MODULE_23__[/* getCachebuster */ "h"])()), { 1835 jsonpCallbackFunction: undefined 1836 }).then(function (res) { 1837 return res.json(); 1838 }); 1839 1840 case 2: 1841 return _context2.abrupt("return", _context2.sent); 1842 1843 case 3: 1844 case "end": 1845 return _context2.stop(); 1846 } 1847 } 1848 }, _callee2); 1849 })); 1850 1851 return function loadCookies(_x2, _x3) { 1852 return _ref2.apply(this, arguments); 1853 }; 1854}(); 1855var loadStationList = /*#__PURE__*/function () { 1856 var _ref3 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee3(mapiUrl) { 1857 var request, response; 1858 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee3$(_context3) { 1859 while (1) { 1860 switch (_context3.prev = _context3.next) { 1861 case 0: 1862 _context3.prev = 0; 1863 _context3.next = 3; 1864 return Object(_fetchTimeout__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"])("".concat(mapiUrl, "public/services"), {}, 3000); 1865 1866 case 3: 1867 request = _context3.sent; 1868 _context3.next = 6; 1869 return request.json(); 1870 1871 case 6: 1872 response = _context3.sent; 1873 return _context3.abrupt("return", response || {}); 1874 1875 case 10: 1876 _context3.prev = 10; 1877 _context3.t0 = _context3["catch"](0); 1878 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Stationlist error", _context3.t0); 1879 1880 case 13: 1881 return _context3.abrupt("return", {}); 1882 1883 case 14: 1884 case "end": 1885 return _context3.stop(); 1886 } 1887 } 1888 }, _callee3, null, [[0, 10]]); 1889 })); 1890 1891 return function loadStationList(_x4) { 1892 return _ref3.apply(this, arguments); 1893 }; 1894}(); 1895var loadAnalyticsURL = /*#__PURE__*/function () { 1896 var _ref4 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee4(mapiUrl) { 1897 var request, response; 1898 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee4$(_context4) { 1899 while (1) { 1900 switch (_context4.prev = _context4.next) { 1901 case 0: 1902 if (mapiUrl) { 1903 _context4.next = 2; 1904 break; 1905 } 1906 1907 return _context4.abrupt("return"); 1908 1909 case 2: 1910 _context4.prev = 2; 1911 _context4.next = 5; 1912 return Object(_fetchTimeout__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"])("".concat(mapiUrl, "public/al"), {}, 3000); 1913 1914 case 5: 1915 request = _context4.sent; 1916 _context4.next = 8; 1917 return request.json(); 1918 1919 case 8: 1920 response = _context4.sent; 1921 return _context4.abrupt("return", response.al); 1922 1923 case 12: 1924 _context4.prev = 12; 1925 _context4.t0 = _context4["catch"](2);
1926 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Mapi analytics error: ", _context4.t0); 1927 1928 case 15: 1929 return _context4.abrupt("return"); 1930 1931 case 16: 1932 case "end": 1933 return _context4.stop(); 1934 } 1935 } 1936 }, _callee4, null, [[2, 12]]); 1937 })); 1938 1939 return function loadAnalyticsURL(_x5) { 1940 return _ref4.apply(this, arguments); 1941 }; 1942}(); 1943var getRandomOrRecent = /*#__PURE__*/function () { 1944 var _ref5 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee5(cm, mapi) { 1945 var cookie, history, stationList, stations; 1946 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee5$(_context5) { 1947 while (1) { 1948 switch (_context5.prev = _context5.next) { 1949 case 0: 1950 _context5.next = 2; 1951 return allCookies(cm); 1952 1953 case 2: 1954 cookie = _context5.sent; 1955 1956 if (!cookie.lastplayed) { 1957 _context5.next = 5; 1958 break; 1959 } 1960 1961 return _context5.abrupt("return", cookie.lastplayed); 1962 1963 case 5: 1964 history = (cookie.listeninghistory.split(",") || []).filter(function (id) { 1965 return id && id !== "0"; 1966 }); 1967 1968 if (!(history && history.length)) { 1969 _context5.next = 9; 1970 break; 1971 } 1972 1973 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* log */ "c"])("Found recent", history[0]); 1974 return _context5.abrupt("return", history[0]); 1975 1976 case 9: 1977 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* log */ "c"])("No recent. Finding random"); 1978 _context5.next = 12; 1979 return loadStationList(mapi); 1980 1981 case 12: 1982 stationList = _context5.sent; 1983 stations = Object.values(stationList).reduce(function (prev, next) { 1984 return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(prev), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(next)); 1985 }); 1986 return _context5.abrupt("return", stations[Math.round(Math.random() * stations.length - 1)].rpId); 1987 1988 case 15: 1989 case "end": 1990 return _context5.stop(); 1991 } 1992 } 1993 }, _callee5); 1994 })); 1995 1996 return function getRandomOrRecent(_x6, _x7) { 1997 return _ref5.apply(this, arguments); 1998 }; 1999}(); 2000var getODInfo = /*#__PURE__*/function () { 2001 var _ref6 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee6(queryProxyUrl, odId, odUrl) { 2002 var url, response; 2003 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee6$(_context6) { 2004 while (1) { 2005 switch (_context6.prev = _context6.next) { 2006 case 0: 2007 url = ""; 2008 2009 if (!odId) { 2010 _context6.next = 5; 2011 break; 2012 } 2013 2014 url = "".concat(queryProxyUrl, "v4/odItem/?include=seriesId&odId=").concat(encodeURIComponent(odId)); 2015 _context6.next = 10; 2016 break; 2017 2018 case 5: 2019 if (!odUrl) { 2020 _context6.next = 9; 2021 break; 2022 } 2023 2024 url = "".concat(queryProxyUrl, "v4/odItem/?include=seriesId&odUrl=").concat(encodeURIComponent(odUrl)); 2025 _context6.next = 10; 2026 break; 2027 2028 case 9: 2029 return _context6.abrupt("return", undefined); 2030 2031 case 10: 2032 _context6.prev = 10; 2033 _context6.next = 13; 2034 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])(url, { 2035 timeout: 3000, 2036 jsonpCallbackFunction: "cb_odItem" 2037 }).then(function (res) { 2038 return res.json(); 2039 }); 2040 2041 case 13: 2042 response = _context6.sent; 2043 return _context6.abrupt("return", response.results["0"] || response.results["1"] || undefined); 2044 2045 case 17: 2046 _context6.prev = 17; 2047 _context6.t0 = _context6["catch"](10);
2048 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("od error", _context6.t0); 2049 2050 case 20: 2051 return _context6.abrupt("return", undefined); 2052 2053 case 21: 2054 case "end": 2055 return _context6.stop(); 2056 } 2057 } 2058 }, _callee6, null, [[10, 17]]); 2059 })); 2060 2061 return function getODInfo(_x8, _x9, _x10) { 2062 return _ref6.apply(this, arguments); 2063 }; 2064}(); 2065var loadSchedule = /*#__PURE__*/function () { 2066 var _ref7 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee7(nowPlayingUrl, rpId) { 2067 var response; 2068 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee7$(_context7) { 2069 while (1) { 2070 switch (_context7.prev = _context7.next) { 2071 case 0: 2072 _context7.prev = 0; 2073 _context7.next = 3; 2074 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(nowPlayingUrl, "v4/schedule?rpId=").concat(rpId), { 2075 jsonpCallbackFunction: "cb_schedule" 2076 }).then(function (res) { 2077 return res.json(); 2078 }); 2079 2080 case 3: 2081 response = _context7.sent; 2082 return _context7.abrupt("return", response.results.pis || []); 2083 2084 case 7: 2085 _context7.prev = 7; 2086 _context7.t0 = _context7["catch"](0); 2087 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Schedule error", _context7.t0); 2088 2089 case 10: 2090 return _context7.abrupt("return", []); 2091 2092 case 11: 2093 case "end": 2094 return _context7.stop(); 2095 } 2096 } 2097 }, _callee7, null, [[0, 7]]); 2098 })); 2099 2100 return function loadSchedule(_x11, _x12) { 2101 return _ref7.apply(this, arguments); 2102 }; 2103}(); 2104var loadOnDemand = /*#__PURE__*/function () { 2105 var _ref8 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee8(queryProxyUrl, rpId) { 2106 var response; 2107 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee8$(_context8) { 2108 while (1) { 2109 switch (_context8.prev = _context8.next) { 2110 case 0: 2111 _context8.prev = 0; 2112 _context8.next = 3; 2113 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(queryProxyUrl, "v4/od?rpId=").concat(rpId), { 2114 jsonpCallbackFunction: "cb_od" 2115 }).then(function (res) { 2116 return res.json(); 2117 }); 2118 2119 case 3: 2120 response = _context8.sent; 2121 return _context8.abrupt("return", response.results ? Object.values(response.results) : []); 2122 2123 case 7: 2124 _context8.prev = 7; 2125 _context8.t0 = _context8["catch"](0); 2126 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Schedule error", _context8.t0); 2127 2128 case 10: 2129 return _context8.abrupt("return", []); 2130 2131 case 11: 2132 case "end": 2133 return _context8.stop(); 2134 } 2135 } 2136 }, _callee8, null, [[0, 7]]); 2137 })); 2138 2139 return function loadOnDemand(_x13, _x14) { 2140 return _ref8.apply(this, arguments); 2141 }; 2142}(); 2143var loadRecommendationList = /*#__PURE__*/function () { 2144 var _ref9 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee9(queryProxyUrl) { 2145 var response; 2146 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee9$(_context9) { 2147 while (1) { 2148 switch (_context9.prev = _context9.next) { 2149 case 0: 2150 _context9.prev = 0; 2151 _context9.next = 3; 2152 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(queryProxyUrl, "v3/recommend"), { 2153 jsonpCallbackFunction: "cb_recommend" 2154 }).then(function (res) { 2155 return res.json(); 2156 }); 2157 2158 case 3: 2159 response = _context9.sent; 2160 return _context9.abrupt("return", response.recommendations || []); 2161 2162 case 7: 2163 _context9.prev = 7; 2164 _context9.t0 = _context9["catch"](0);
2165 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Stationlist error", _context9.t0); 2166 2167 case 10: 2168 return _context9.abrupt("return", []); 2169 2170 case 11: 2171 case "end": 2172 return _context9.stop(); 2173 } 2174 } 2175 }, _callee9, null, [[0, 7]]); 2176 })); 2177 2178 return function loadRecommendationList(_x15) { 2179 return _ref9.apply(this, arguments); 2180 }; 2181}(); 2182var loadRelatedStationList = /*#__PURE__*/function () { 2183 var _ref10 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee10(queryProxyUrl, rpId) { 2184 var response; 2185 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee10$(_context10) { 2186 while (1) { 2187 switch (_context10.prev = _context10.next) { 2188 case 0: 2189 _context10.prev = 0; 2190 _context10.next = 3; 2191 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(queryProxyUrl, "v4/relatedStations?rpid=").concat(rpId), // TODO: Use correct URL 2192 { 2193 timeout: 30000, 2194 jsonpCallbackFunction: "cb_relatedStations" 2195 }).then(function (res) { 2196 return res.json(); 2197 }); 2198 2199 case 3: 2200 response = _context10.sent; 2201 return _context10.abrupt("return", response); 2202 2203 case 7: 2204 _context10.prev = 7; 2205 _context10.t0 = _context10["catch"](0); 2206 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Related station load error", _context10.t0); 2207 2208 case 10: 2209 return _context10.abrupt("return", []); 2210 2211 case 11: 2212 case "end": 2213 return _context10.stop(); 2214 } 2215 } 2216 }, _callee10, null, [[0, 7]]); 2217 })); 2218 2219 return function loadRelatedStationList(_x16, _x17) { 2220 return _ref10.apply(this, arguments); 2221 }; 2222}(); 2223var parseFaves = function parseFaves(presets) { 2224 return presets.map(function (preset) { 2225 return preset.split(":")[1]; 2226 }).filter(function (f) { 2227 return f !== "9999999"; 2228 }); 2229}; 2230var getFavesString = function getFavesString(faves) { 2231 return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(faves), ["9999999"]).map(function (val, idx) { 2232 return "".concat(idx, ":").concat(val); 2233 }).join(); 2234}; 2235var saveCookie = /*#__PURE__*/function () { 2236 var _ref11 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee11(key, value, cookieManagerUrl) { 2237 var k, v; 2238 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee11$(_context11) { 2239 while (1) { 2240 switch (_context11.prev = _context11.next) { 2241 case 0: 2242 k = encodeURIComponent(key); 2243 v = encodeURIComponent(value); 2244 _context11.prev = 2; 2245 _context11.next = 5; 2246 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(cookieManagerUrl).concat(k, "/s?").concat(k, "=").concat(v, "&_=").concat(Object(_api_utils__WEBPACK_IMPORTED_MODULE_23__[/* getCachebuster */ "h"])()), { 2247 jsonpCallbackFunction: undefined 2248 }); 2249 2250 case 5: 2251 _context11.next = 11; 2252 break; 2253 2254 case 7: 2255 _context11.prev = 7; 2256 _context11.t0 = _context11["catch"](2); 2257 console.log("Cookie saved, but there's an error anyway"); 2258 console.log(_context11.t0); 2259 2260 case 11: 2261 case "end": 2262 return _context11.stop(); 2263 } 2264 } 2265 }, _callee11, null, [[2, 7]]); 2266 })); 2267 2268 return function saveCookie(_x18, _x19, _x20) { 2269 return _ref11.apply(this, arguments); 2270 }; 2271}(); 2272var saveSearchCookie = function saveSearchCookie(value, cookieManagerUrl) { 2273 var v = encodeURIComponent(value); 2274 2275 try { 2276 Object(_fetchTimeout__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"])("".concat(cookieManagerUrl, "sh/s/?term=").concat(v, "&_=").concat(Object(_api_utils__WEBPACK_IMPORTED_MODULE_23__[/* getCachebuster */ "h"])()), { 2277 mode: "no-cors", 2278 credentials: "include" 2279 }, 1000); 2280 } catch (err) {
2281 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Failed to search save cookie", err); 2282 } 2283}; 2284var addSearchTerm = function addSearchTerm(searchTerm, currentSearchTerms) { 2285 var cookieManagerUrl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ""; 2286 var searchHistory = currentSearchTerms ? _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(currentSearchTerms) : []; 2287 var searchTermFormatted = searchTerm.toLowerCase(); 2288 var searchTermIndex = searchHistory.indexOf(searchTermFormatted); 2289 2290 if (searchTermIndex !== -1) { 2291 searchHistory.splice(searchTermIndex, 1); 2292 } 2293 2294 searchHistory.unshift(searchTermFormatted); 2295 saveSearchCookie(searchTermFormatted, cookieManagerUrl); 2296 return searchHistory; 2297}; 2298var saveFaves = function saveFaves(faves, cookieManagerUrl) { 2299 return saveCookie("ms", getFavesString(faves), cookieManagerUrl); 2300}; 2301var addFave = function addFave(id, faves, cookieManagerUrl, hideFavTip) { 2302 var fav = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(faves); 2303 2304 if (!fav.includes(id)) { 2305 fav.push(id); 2306 } 2307 2308 saveFaves(fav, cookieManagerUrl); 2309 return fav; 2310}; 2311var hideAnnouncement = function hideAnnouncement(cookieManagerUrl) { 2312 saveCookie("announcement", "true", cookieManagerUrl); 2313}; 2314var removeFave = function removeFave(id, faves, cookieManagerUrl) { 2315 var fav = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_18___default()(faves); 2316 2317 var idx = fav.indexOf(id); 2318 2319 if (idx !== -1) { 2320 fav.splice(idx, 1); 2321 } 2322 2323 saveFaves(fav, cookieManagerUrl); 2324 return fav; 2325}; 2326var setStationListPrefix = function setStationListPrefix(prefix) { 2327 var cookie = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2328 var cookieManagerUrl = arguments.length > 2 ? arguments[2] : undefined; 2329 2330 if (cookie.stationlistprefix === prefix) { 2331 return cookie; 2332 } 2333 2334 saveCookie("stationlistprefix", prefix, cookieManagerUrl); 2335 return Object(immer__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"])(cookie, function (c) { 2336 c.stationlistprefix = prefix; 2337 return c; 2338 }); 2339}; 2340var setBbcCookies = function setBbcCookies(policy) { 2341 // Set to defaults (ckns_explicit to 0 ckns_policy to 000) if no policy is provided 2342 document.cookie = "ckns_explicit=".concat(policy ? "1" : "0"); 2343 document.cookie = "ckns_policy=".concat(policy || "000"); 2344}; 2345var retrieveCookies = function retrieveCookies() { 2346 return document.cookie.split(";").reduce(function (prev, cookie) { 2347 var _cookie$split = cookie.split("="), 2348 _cookie$split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_17___default()(_cookie$split, 2), 2349 key = _cookie$split2[0], 2350 value = _cookie$split2[1]; 2351 2352 if (!key || !value) { 2353 return prev; 2354 } 2355 2356 prev[key.trim()] = value; 2357 return prev; 2358 }, {}); 2359}; 2360var setCookiePolicy = function setCookiePolicy(policy) { 2361 var cookie = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2362 var cookieManagerUrl = arguments.length > 2 ? arguments[2] : undefined; 2363 var bbcCookies = arguments.length > 3 ? arguments[3] : undefined; 2364 // Cookie manager 2365 saveCookie("policy", policy, cookieManagerUrl); 2366 localStorage.setItem("hasSetCookiePolicy", "true"); 2367 localStorage.setItem("hideCookieBanner", "true"); 2368 2369 if (bbcCookies) { 2370 setBbcCookies(policy); 2371 } 2372 2373 return Object(immer__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"])(cookie, function (c) { 2374 c.policy = policy; 2375 return c; 2376 }); 2377}; 2378 2379/** 2380 * Util to evaluate the level of consent the user has agreed to, returns boolean indicating consent recieved for given option 2381 * @param requiredConsent The level of consent the user is required to have agreed to 2382 * @param actualConsent The value of the stored cookie indicating the user's agreed level of consent 2383 */ 2384var evaluateCookieConsent = function evaluateCookieConsent(requiredConsent, actualConsent) { 2385 if (!actualConsent) return false; 2386 if (requiredConsent === "required" && actualConsent[0] === "1") return true; 2387 if (requiredConsent === "functional" && actualConsent[1] === "1") return true; 2388 if (requiredConsent === "performance" && actualConsent[2] === "1") return true; 2389 return false;
2390}; 2391var decodeConsent = /*#__PURE__*/function () { 2392 var _ref12 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee12(consentString) { 2393 var tcfVersion, 2394 _args12 = arguments; 2395 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee12$(_context12) { 2396 while (1) { 2397 switch (_context12.prev = _context12.next) { 2398 case 0: 2399 tcfVersion = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : 1; 2400 return _context12.abrupt("return", // Use different lib based on tcfVersion, from globalcookies it's tcf1, from CMP tcf2 2401 // We're casting, because we're accessing private stuff 2402 tcfVersion === 1 ? Object(consent_string__WEBPACK_IMPORTED_MODULE_27__["decodeConsentString"])(consentString) : tc_string_parse__WEBPACK_IMPORTED_MODULE_28__(consentString)); 2403 2404 case 2: 2405 case "end": 2406 return _context12.stop(); 2407 } 2408 } 2409 }, _callee12); 2410 })); 2411 2412 return function decodeConsent(_x21) { 2413 return _ref12.apply(this, arguments); 2414 }; 2415}(); 2416var isFave = function isFave(id, faves) { 2417 return faves.includes(id); 2418}; 2419var getRecentStations = function getRecentStations() { 2420 var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 2421 return cookie.history || []; 2422}; 2423var getVolume = function getVolume() { 2424 var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { 2425 volume: "100" 2426 }; 2427 return "volume" in cookie ? (parseInt(cookie.volume) || 0) / 100 : 1; 2428}; 2429var setVolumeCookie = function setVolumeCookie(volume) { 2430 var cookie = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2431 var cookieManagerUrl = arguments.length > 2 ? arguments[2] : undefined; 2432 var volumeString = Math.round(volume * 100).toString(); 2433 2434 if (cookie.volume === volumeString) { 2435 return cookie; 2436 } 2437 2438 saveCookie("vl", volumeString, cookieManagerUrl); 2439 return Object(immer__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"])(cookie, function (c) { 2440 c.volume = volumeString; 2441 return c; 2442 }); 2443}; 2444var getStationListPrefix = function getStationListPrefix() { 2445 var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 2446 return cookie.stationlistprefix; 2447}; 2448var getCookiePolicyString = function getCookiePolicyString() { 2449 var cookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 2450 return cookie.policy || "000"; 2451}; 2452var getCookiePolicy = function getCookiePolicy(cookie) { 2453 var _getCookiePolicyStrin = getCookiePolicyString(cookie), 2454 _getCookiePolicyStrin2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_17___default()(_getCookiePolicyStrin, 3), 2455 a = _getCookiePolicyStrin2[0], 2456 b = _getCookiePolicyStrin2[1], 2457 c = _getCookiePolicyStrin2[2]; 2458 2459 return [a, b, c].map(parseInt).map(Boolean); 2460}; 2461var buildCookiePolicy = function buildCookiePolicy(req, func, perf) { 2462 return [req, func, perf].map(Number).join(""); 2463}; 2464var redirectConsole = function redirectConsole(target) { 2465 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* error */ "b"])("Redirecting console", target); 2466 window.location.href = target; 2467}; 2468var initCookies = /*#__PURE__*/function () { 2469 var _ref13 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee13(rpId) { 2470 var mapiUrl, 2471 nowPlayingUrl, 2472 cookieManagerUrl, 2473 queryProxyUrl, 2474 bbcCookies, 2475 cmp, 2476 tracking, 2477 _cookie$policy, 2478 cookie, 2479 faves, 2480 searchHistory, 2481 hideFavTip, 2482 _args13 = arguments; 2483 2484 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee13$(_context13) { 2485 while (1) { 2486 switch (_context13.prev = _context13.next) { 2487 case 0: 2488 mapiUrl = _args13.length > 1 && _args13[1] !== undefined ? _args13[1] : ""; 2489 nowPlayingUrl = _args13.length > 2 && _args13[2] !== undefined ? _args13[2] : ""; 2490 cookieManagerUrl = _args13.length > 3 && _args13[3] !== undefined ? _args13[3] : ""; 2491 queryProxyUrl = _args13.length > 4 && _args13[4] !== undefined ? _args13[4] : "";
2492 bbcCookies = _args13.length > 5 && _args13[5] !== undefined ? _args13[5] : false; 2493 cmp = _args13.length > 6 ? _args13[6] : undefined; 2494 tracking = _args13.length > 7 ? _args13[7] : undefined; 2495 2496 if (cookieManagerUrl) { 2497 _context13.next = 9; 2498 break; 2499 } 2500 2501 return _context13.abrupt("return"); 2502 2503 case 9: 2504 _context13.prev = 9; 2505 _context13.next = 12; 2506 return loadCookies(rpId, cookieManagerUrl); 2507 2508 case 12: 2509 cookie = _context13.sent; 2510 2511 if (!(cookie.redirect && cookie.redirect.url)) { 2512 _context13.next = 16; 2513 break; 2514 } 2515 2516 redirectConsole(cookie.redirect.url); 2517 return _context13.abrupt("return"); 2518 2519 case 16: 2520 cookie.presets = cookie.presets || []; 2521 faves = parseFaves(cookie.presets); 2522 searchHistory = cookie.searchHistory; 2523 hideFavTip = !!localStorage.getItem("hideFavTip") || false; // Sync bbc cookies 2524 2525 if (bbcCookies) { 2526 setBbcCookies(cookie.policy); 2527 } 2528 2529 window.ANALYTICS_ALLOWED = (_cookie$policy = cookie.policy) === null || _cookie$policy === void 0 ? void 0 : _cookie$policy.endsWith("1"); 2530 return _context13.abrupt("return", { 2531 rpId: rpId, 2532 cookie: cookie, 2533 faves: faves, 2534 hideFavTip: hideFavTip, 2535 displayFaveNotification: false, 2536 mapiUrl: mapiUrl, 2537 nowPlayingUrl: nowPlayingUrl, 2538 stationlist: {}, 2539 searchHistory: searchHistory, 2540 cookieManagerUrl: cookieManagerUrl, 2541 queryProxyUrl: queryProxyUrl, 2542 bbcCookies: bbcCookies, 2543 tcString: !!cmp, 2544 cmpConsentFailed: false 2545 }); 2546 2547 case 25: 2548 _context13.prev = 25; 2549 _context13.t0 = _context13["catch"](9); 2550 Object(_logger__WEBPACK_IMPORTED_MODULE_26__[/* warn */ "e"])("Cookie error", _context13.t0); 2551 return _context13.abrupt("return", undefined); 2552 2553 case 29: 2554 case "end": 2555 return _context13.stop(); 2556 } 2557 } 2558 }, _callee13, null, [[9, 25]]); 2559 })); 2560 2561 return function initCookies(_x22) { 2562 return _ref13.apply(this, arguments); 2563 }; 2564}(); 2565var stationSuggestions = /*#__PURE__*/function () { 2566 var _ref14 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee14(term, queryProxyUrl) { 2567 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee14$(_context14) { 2568 while (1) { 2569 switch (_context14.prev = _context14.next) { 2570 case 0: 2571 return _context14.abrupt("return", Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(queryProxyUrl, "v4/suggest?query=").concat(term), { 2572 jsonpCallbackFunction: "cb_suggest" 2573 }).then(function (res) { 2574 return res.json(); 2575 })); 2576 2577 case 1: 2578 case "end": 2579 return _context14.stop(); 2580 } 2581 } 2582 }, _callee14); 2583 })); 2584 2585 return function stationSuggestions(_x23, _x24) { 2586 return _ref14.apply(this, arguments); 2587 }; 2588}(); 2589var searchStations = /*#__PURE__*/function () { 2590 var _ref15 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_21___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.mark(function _callee15(term, queryProxyUrl) { 2591 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_19___default.a.wrap(function _callee15$(_context15) { 2592 while (1) { 2593 switch (_context15.prev = _context15.next) { 2594 case 0: 2595 return _context15.abrupt("return", Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"])("".concat(queryProxyUrl, "v4/search?query=").concat(term), { 2596 jsonpCallbackFunction: "cb_search" 2597 }).then(function (res) { 2598 return res.json(); 2599 })); 2600 2601 case 1: 2602 case "end": 2603 return _context15.stop(); 2604 } 2605 } 2606 }, _callee15); 2607 })); 2608 2609 return function searchStations(_x25, _x26) { 2610 return _ref15.apply(this, arguments); 2611 }; 2612}(); 2613var getHashFromString = function getHashFromString(seed) { 2614 var hash = 0; 2615 2616 if (!(seed === null || seed === void 0 ? void 0 : seed.length)) { 2617 return "0"; 2618 } 2619 2620 var chr; 2621 2622 for (var i = 0; i < seed.length; i++) { 2623 chr = seed.charCodeAt(i); 2624 hash = (hash << 5) - hash + chr; 2625 hash |= 0; // Convert to 32bit integer 2626 } 2627 2628 return "".concat(hash); 2629}; 2630 2631/***/ }), 2632/* 33 */ 2633/***/ (function(module, exports, __webpack_require__) { 2634 2635var requireObjectCoercible = __webpack_require__(52); 2636 2637// `ToObject` abstract operation 2638// https://tc39.github.io/ecma262/#sec-toobject 2639module.exports = function (argument) { 2640 return Object(requireObjectCoercible(argument)); 2641}; 2642 2643 2644/***/ }), 2645/* 34 */
2646/***/ (function(module, exports) { 2647 2648var g; 2649 2650// This works in non-strict mode 2651g = (function() { 2652 return this; 2653})(); 2654 2655try { 2656 // This works if eval is allowed (see CSP) 2657 g = g || new Function("return this")(); 2658} catch (e) { 2659 // This works if the window reference is available 2660 if (typeof window === "object") g = window; 2661} 2662 2663// g can still be undefined, but nothing to do about it... 2664// We return undefined, instead of nothing here, so it's 2665// easier to handle this case. if(!global) { ...} 2666 2667module.exports = g; 2668 2669 2670/***/ }), 2671/* 35 */ 2672/***/ (function(module, exports) { 2673 2674var hasOwnProperty = {}.hasOwnProperty; 2675 2676module.exports = function (it, key) { 2677 return hasOwnProperty.call(it, key); 2678}; 2679 2680 2681/***/ }), 2682/* 36 */, 2683/* 37 */ 2684/***/ (function(module, exports, __webpack_require__) { 2685 2686var arrayWithoutHoles = __webpack_require__(772); 2687 2688var iterableToArray = __webpack_require__(700); 2689 2690var unsupportedIterableToArray = __webpack_require__(412); 2691 2692var nonIterableSpread = __webpack_require__(773); 2693 2694function _toConsumableArray(arr) { 2695 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); 2696} 2697 2698module.exports = _toConsumableArray; 2699 2700/***/ }), 2701/* 38 */, 2702/* 39 */ 2703/***/ (function(module, exports, __webpack_require__) { 2704 2705var objectWithoutPropertiesLoose = __webpack_require__(771); 2706 2707function _objectWithoutProperties(source, excluded) { 2708 if (source == null) return {}; 2709 var target = objectWithoutPropertiesLoose(source, excluded); 2710 var key, i; 2711 2712 if (Object.getOwnPropertySymbols) { 2713 var sourceSymbolKeys = Object.getOwnPropertySymbols(source); 2714 2715 for (i = 0; i < sourceSymbolKeys.length; i++) { 2716 key = sourceSymbolKeys[i]; 2717 if (excluded.indexOf(key) >= 0) continue; 2718 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; 2719 target[key] = source[key]; 2720 } 2721 } 2722 2723 return target; 2724} 2725 2726module.exports = _objectWithoutProperties; 2727 2728/***/ }), 2729/* 40 */ 2730/***/ (function(module, exports, __webpack_require__) { 2731 2732// extracted by mini-css-extract-plugin 2733module.exports = {"visuallyHidden":"CookieBanner-module__visuallyHidden--2W7IE","settingsRow":"CookieBanner-module__settingsRow--2hVL8","name":"CookieBanner-module__name--1NdxF","settingsButton":"CookieBanner-module__settingsButton--3_cti","reject":"CookieBanner-module__reject--3guH0","accept":"CookieBanner-module__accept--36q2J","title":"CookieBanner-module__title--p0MVX","toggleLabel":"CookieBanner-module__toggleLabel--1sUfs","description":"CookieBanner-module__description--1Vs1X","policy":"CookieBanner-module__policy--3D5fC","body":"CookieBanner-module__body--3x1MM","wrap":"CookieBanner-module__wrap--1QK9t","hide":"CookieBanner-module__hide--7s49A","inner":"CookieBanner-module__inner--ZAwNc","buttons":"CookieBanner-module__buttons--2oMmy","toggle":"CookieBanner-module__toggle--euSJV"}; 2734 2735/***/ }), 2736/* 41 */, 2737/* 42 */ 2738/***/ (function(module, __webpack_exports__, __webpack_require__) { 2739 2740"use strict"; 2741 2742// EXPORTS 2743__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ RPIconbabel_target_legacy_RPIcon; }); 2744 2745// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 2746var extendsbabel_target_legacy = __webpack_require__(50); 2747var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 2748 2749// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 2750var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 2751var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 2752 2753// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 2754var preact_modulebabel_target_legacy = __webpack_require__(1); 2755 2756// EXTERNAL MODULE: ./src/components/RPIcon/RPIcon.module.css 2757var RPIcon_module = __webpack_require__(241); 2758var RPIcon_module_default = /*#__PURE__*/__webpack_require__.n(RPIcon_module); 2759 2760// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 2761var classnames_babel_target_legacy = __webpack_require__(27); 2762var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 2763 2764// CONCATENATED MODULE: ./src/components/RPIcon/RPIcon.tsx?babel-target=legacy 2765 2766 2767 2768 2769 2770var RPIconbabel_target_legacy_RPIcon = function RPIcon(_ref) { 2771 var src = _ref.src, 2772 style = _ref.style, 2773 _ref$colour = _ref.colour, 2774 colour = _ref$colour === void 0 ? "currentColor" : _ref$colour, 2775 className = _ref.className, 2776 _ref$maxHeight = _ref.maxHeight, 2777 maxHeight = _ref$maxHeight === void 0 ? 40 : _ref$maxHeight, 2778 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["src", "style", "colour", "className", "maxHeight"]); 2779 2780 return Object(preact_modulebabel_target_legacy["h"])("span", extendsbabel_target_legacy_default()({}, props, { 2781 className: classnames_babel_target_legacy_default()(RPIcon_module_default.a.icon, className), 2782 style: { 2783 maxHeight: "".concat(maxHeight, "px"), 2784 color: colour 2785 }, 2786 dangerouslySetInnerHTML: { 2787 __html: src 2788 } 2789 })); 2790}; 2791/* harmony default export */ var RPIconbabel_target_legacy = (RPIconbabel_target_legacy_RPIcon); 2792// CONCATENATED MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy 2793 2794 2795/***/ }), 2796/* 43 */, 2797/* 44 */ 2798/***/ (function(module, __webpack_exports__, __webpack_require__) { 2799 2800"use strict"; 2801/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useAPI; }); 2802/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 2803/* harmony import */ var _APIContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(402); 2804 2805 2806var useAPI = function useAPI() { 2807 return Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useContext */ "b"])(_APIContext__WEBPACK_IMPORTED_MODULE_1__[/* APIContext */ "a"]); 2808}; 2809 2810/***/ }), 2811/* 45 */, 2812/* 46 */ 2813/***/ (function(module, exports, __webpack_require__) { 2814 2815var bind = __webpack_require__(115); 2816var IndexedObject = __webpack_require__(164); 2817var toObject = __webpack_require__(33);
2818var toLength = __webpack_require__(28); 2819var arraySpeciesCreate = __webpack_require__(171); 2820 2821var push = [].push; 2822 2823// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation 2824var createMethod = function (TYPE) { 2825 var IS_MAP = TYPE == 1; 2826 var IS_FILTER = TYPE == 2; 2827 var IS_SOME = TYPE == 3; 2828 var IS_EVERY = TYPE == 4; 2829 var IS_FIND_INDEX = TYPE == 6; 2830 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 2831 return function ($this, callbackfn, that, specificCreate) { 2832 var O = toObject($this); 2833 var self = IndexedObject(O); 2834 var boundFunction = bind(callbackfn, that, 3); 2835 var length = toLength(self.length); 2836 var index = 0; 2837 var create = specificCreate || arraySpeciesCreate; 2838 var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; 2839 var value, result; 2840 for (;length > index; index++) if (NO_HOLES || index in self) { 2841 value = self[index]; 2842 result = boundFunction(value, index, O); 2843 if (TYPE) { 2844 if (IS_MAP) target[index] = result; // map 2845 else if (result) switch (TYPE) { 2846 case 3: return true; // some 2847 case 5: return value; // find 2848 case 6: return index; // findIndex 2849 case 2: push.call(target, value); // filter 2850 } else if (IS_EVERY) return false; // every 2851 } 2852 } 2853 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 2854 }; 2855}; 2856 2857module.exports = { 2858 // `Array.prototype.forEach` method 2859 // https://tc39.github.io/ecma262/#sec-array.prototype.foreach 2860 forEach: createMethod(0), 2861 // `Array.prototype.map` method 2862 // https://tc39.github.io/ecma262/#sec-array.prototype.map 2863 map: createMethod(1), 2864 // `Array.prototype.filter` method 2865 // https://tc39.github.io/ecma262/#sec-array.prototype.filter 2866 filter: createMethod(2), 2867 // `Array.prototype.some` method 2868 // https://tc39.github.io/ecma262/#sec-array.prototype.some 2869 some: createMethod(3), 2870 // `Array.prototype.every` method 2871 // https://tc39.github.io/ecma262/#sec-array.prototype.every 2872 every: createMethod(4), 2873 // `Array.prototype.find` method 2874 // https://tc39.github.io/ecma262/#sec-array.prototype.find 2875 find: createMethod(5), 2876 // `Array.prototype.findIndex` method 2877 // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex 2878 findIndex: createMethod(6) 2879}; 2880 2881 2882/***/ }), 2883/* 47 */, 2884/* 48 */ 2885/***/ (function(module, __webpack_exports__, __webpack_require__) { 2886 2887"use strict"; 2888/* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export parseJsonp */ 2889/* unused harmony export findNowPlayingType */ 2890/* unused harmony export buildQuery */ 2891/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getCachebuster; }); 2892/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return decorateUrl; }); 2893/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return decorator; }); 2894/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return formatLocaleTime; }); 2895/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return getMidnightTonight; }); 2896/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return formatLocaleDate; }); 2897/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return formatLocaleDateTime; }); 2898/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return formatProgrammeTime; }); 2899/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return debounce; }); 2900/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return kebabify; }); 2901/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75); 2902/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 2903/* harmony import */ var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(182); 2904/* harmony import */ var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1__); 2905/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(124); 2906/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__); 2907/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(160); 2908/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_3__); 2909/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77); 2910/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4__); 2911/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(177); 2912/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_5__); 2913/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(105); 2914/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_6__); 2915/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93); 2916/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_7__); 2917/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(156); 2918/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_8__); 2919/* harmony import */ var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(266); 2920/* harmony import */ var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_9__); 2921/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(140); 2922/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_10__); 2923/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(302); 2924/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_11__); 2925/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(269); 2926/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_12__); 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940var parseJsonp = function parseJsonp(data) { 2941 return JSON.parse(data.slice(9, -1)); 2942}; 2943var findNowPlayingType = function findNowPlayingType(now, type) { 2944 return now.find(function (np) { 2945 return np.type === type; 2946 }); 2947}; 2948var buildQuery = function buildQuery(params) { 2949 return params.map(function (tuple) { 2950 return tuple.map(encodeURIComponent).join("="); 2951 }).join("&"); 2952}; 2953var getCachebuster = function getCachebuster() { 2954 return Math.round(Math.random() * Math.pow(10, 15)).toString(); 2955}; 2956var decorateUrl = function decorateUrl(url) { 2957 var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; 2958 var result = url.match(/(https?:)?\/\/(.+)/); 2959 2960 if (!result || result.length < 3) { 2961 return url; 2962 } 2963 2964 var domain = result[2]; 2965 var _char = "?"; 2966 2967 if (domain.endsWith("/")) { 2968 _char = "?"; 2969 } else if (domain.endsWith(";")) { 2970 _char = ""; 2971 } else if (domain.includes("?")) { 2972 _char = "&"; 2973 } 2974 2975 var query = buildQuery(params); 2976 return "".concat(url).concat(_char).concat(query); 2977}; 2978var decorator = { 2979 decorateStreamUrl: function decorateStreamUrl(url) { 2980 return decorateUrl(url, [["__cb", getCachebuster()]]); 2981 } 2982}; 2983var formatLocaleTime = function formatLocaleTime(time) { 2984 var date = new Date(time * 1000); 2985 return date.toLocaleTimeString(process.env.locale, { 2986 hour: "numeric", 2987 minute: "numeric" 2988 }); 2989}; 2990var getMidnightTonight = function getMidnightTonight() { 2991 var midnight = new Date(); 2992 midnight.setHours(23); 2993 midnight.setMinutes(60); 2994 return Math.round(midnight.getTime() / 1000); 2995}; 2996var formatLocaleDate = function formatLocaleDate(time) { 2997 var date = new Date(time * 1000); 2998 return date.toLocaleDateString(process ? process.env.locale : undefined, { 2999 weekday: "short", 3000 day: "numeric", 3001 month: "long", 3002 year: "numeric" 3003 }); 3004}; 3005var formatLocaleDateTime = function formatLocaleDateTime(date) { 3006 return "".concat(date.toLocaleTimeString(process ? process.env.locale : undefined, { 3007 hour: "numeric", 3008 minute: "numeric" 3009 }), " \u2022 ").concat(date.toLocaleDateString(process ? process.env.locale : undefined, { 3010 weekday: "short", 3011 day: "numeric", 3012 month: "long", 3013 year: "numeric" 3014 })); 3015}; 3016var formatProgrammeTime = function formatProgrammeTime(programme) { 3017 var start = parseInt(programme.startTime); 3018 var end = parseInt(programme.stopTime); 3019 return "".concat(formatLocaleTime(start), " \u2013 ").concat(formatLocaleTime(end)); 3020}; 3021function debounce(callback, wait) { 3022 var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
3023 var timeout = null; 3024 return function () { 3025 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 3026 args[_key] = arguments[_key]; 3027 } 3028 3029 var callNow = immediate && !timeout; 3030 3031 var next = function next() { 3032 callback.apply(void 0, args); 3033 }; 3034 3035 if (timeout) { 3036 window.clearTimeout(timeout); 3037 } 3038 3039 timeout = window.setTimeout(next, wait); 3040 3041 if (callNow) { 3042 next(); 3043 } 3044 }; 3045} 3046var kebabify = function kebabify(str) { 3047 return str ? str.replace(/[ _-]+/g, "-").toLowerCase() : ""; 3048}; 3049/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57))) 3050 3051/***/ }), 3052/* 49 */, 3053/* 50 */ 3054/***/ (function(module, exports) { 3055 3056function _extends() { 3057 module.exports = _extends = Object.assign || function (target) { 3058 for (var i = 1; i < arguments.length; i++) { 3059 var source = arguments[i]; 3060 3061 for (var key in source) { 3062 if (Object.prototype.hasOwnProperty.call(source, key)) { 3063 target[key] = source[key]; 3064 } 3065 } 3066 } 3067 3068 return target; 3069 }; 3070 3071 return _extends.apply(this, arguments); 3072} 3073 3074module.exports = _extends; 3075 3076/***/ }), 3077/* 51 */ 3078/***/ (function(module, exports, __webpack_require__) { 3079 3080var DESCRIPTORS = __webpack_require__(21); 3081var propertyIsEnumerableModule = __webpack_require__(213); 3082var createPropertyDescriptor = __webpack_require__(100); 3083var toIndexedObject = __webpack_require__(66); 3084var toPrimitive = __webpack_require__(79); 3085var has = __webpack_require__(35); 3086var IE8_DOM_DEFINE = __webpack_require__(356); 3087 3088var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 3089 3090// `Object.getOwnPropertyDescriptor` method 3091// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor 3092exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 3093 O = toIndexedObject(O); 3094 P = toPrimitive(P, true); 3095 if (IE8_DOM_DEFINE) try { 3096 return nativeGetOwnPropertyDescriptor(O, P); 3097 } catch (error) { /* empty */ } 3098 if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); 3099}; 3100 3101 3102/***/ }), 3103/* 52 */ 3104/***/ (function(module, exports) { 3105 3106// `RequireObjectCoercible` abstract operation 3107// https://tc39.github.io/ecma262/#sec-requireobjectcoercible 3108module.exports = function (it) { 3109 if (it == undefined) throw TypeError("Can't call method on " + it); 3110 return it; 3111}; 3112 3113 3114/***/ }), 3115/* 53 */ 3116/***/ (function(module, exports, __webpack_require__) { 3117 3118var DESCRIPTORS = __webpack_require__(21); 3119var definePropertyModule = __webpack_require__(30); 3120var createPropertyDescriptor = __webpack_require__(100); 3121 3122module.exports = DESCRIPTORS ? function (object, key, value) { 3123 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 3124} : function (object, key, value) { 3125 object[key] = value; 3126 return object; 3127}; 3128 3129 3130/***/ }), 3131/* 54 */ 3132/***/ (function(module, exports, __webpack_require__) { 3133 3134var global = __webpack_require__(16); 3135var createNonEnumerableProperty = __webpack_require__(53); 3136var has = __webpack_require__(35); 3137var setGlobal = __webpack_require__(274); 3138var inspectSource = __webpack_require__(275); 3139var InternalStateModule = __webpack_require__(58); 3140 3141var getInternalState = InternalStateModule.get; 3142var enforceInternalState = InternalStateModule.enforce; 3143var TEMPLATE = String(String).split('String'); 3144 3145(module.exports = function (O, key, value, options) { 3146 var unsafe = options ? !!options.unsafe : false; 3147 var simple = options ? !!options.enumerable : false; 3148 var noTargetGet = options ? !!options.noTargetGet : false;
3149 var state; 3150 if (typeof value == 'function') { 3151 if (typeof key == 'string' && !has(value, 'name')) { 3152 createNonEnumerableProperty(value, 'name', key); 3153 } 3154 state = enforceInternalState(value); 3155 if (!state.source) { 3156 state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); 3157 } 3158 } 3159 if (O === global) { 3160 if (simple) O[key] = value; 3161 else setGlobal(key, value); 3162 return; 3163 } else if (!unsafe) { 3164 delete O[key]; 3165 } else if (!noTargetGet && O[key]) { 3166 simple = true; 3167 } 3168 if (simple) O[key] = value; 3169 else createNonEnumerableProperty(O, key, value); 3170// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 3171})(Function.prototype, 'toString', function toString() { 3172 return typeof this == 'function' && getInternalState(this).source || inspectSource(this); 3173}); 3174 3175 3176/***/ }), 3177/* 55 */, 3178/* 56 */ 3179/***/ (function(module, exports, __webpack_require__) { 3180 3181// extracted by mini-css-extract-plugin 3182module.exports = {"shift":"VolumeControl-module__shift--YgO7H","pic":"VolumeControl-module__pic--VRgZq","overlay":"VolumeControl-module__overlay--2Huem","wide":"VolumeControl-module__wide--3cKmS","narrow":"VolumeControl-module__narrow--5c7Av","wrap":"VolumeControl-module__wrap--2EL-c","dark":"VolumeControl-module__dark--3A7Hc","outer":"VolumeControl-module__outer--3h8Pp","outermobile":"VolumeControl-module__outermobile--xMpYr"}; 3183 3184/***/ }), 3185/* 57 */ 3186/***/ (function(module, exports) { 3187 3188// shim for using process in browser 3189var process = module.exports = {}; 3190 3191// cached from whatever global is present so that test runners that stub it 3192// don't break things. But we need to wrap it in a try catch in case it is 3193// wrapped in strict mode code which doesn't define any globals. It's inside a 3194// function because try/catches deoptimize in certain engines. 3195 3196var cachedSetTimeout; 3197var cachedClearTimeout; 3198 3199function defaultSetTimout() { 3200 throw new Error('setTimeout has not been defined'); 3201} 3202function defaultClearTimeout () { 3203 throw new Error('clearTimeout has not been defined'); 3204} 3205(function () { 3206 try { 3207 if (typeof setTimeout === 'function') { 3208 cachedSetTimeout = setTimeout; 3209 } else { 3210 cachedSetTimeout = defaultSetTimout; 3211 } 3212 } catch (e) { 3213 cachedSetTimeout = defaultSetTimout; 3214 } 3215 try { 3216 if (typeof clearTimeout === 'function') { 3217 cachedClearTimeout = clearTimeout; 3218 } else { 3219 cachedClearTimeout = defaultClearTimeout; 3220 } 3221 } catch (e) { 3222 cachedClearTimeout = defaultClearTimeout; 3223 } 3224} ()) 3225function runTimeout(fun) { 3226 if (cachedSetTimeout === setTimeout) { 3227 //normal enviroments in sane situations 3228 return setTimeout(fun, 0); 3229 } 3230 // if setTimeout wasn't available but was latter defined 3231 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { 3232 cachedSetTimeout = setTimeout; 3233 return setTimeout(fun, 0); 3234 } 3235 try { 3236 // when when somebody has screwed with setTimeout but no I.E. maddness 3237 return cachedSetTimeout(fun, 0); 3238 } catch(e){ 3239 try { 3240 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 3241 return cachedSetTimeout.call(null, fun, 0); 3242 } catch(e){ 3243 // 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 3244 return cachedSetTimeout.call(this, fun, 0); 3245 } 3246 } 3247 3248 3249} 3250function runClearTimeout(marker) { 3251 if (cachedClearTimeout === clearTimeout) { 3252 //normal enviroments in sane situations 3253 return clearTimeout(marker); 3254 } 3255 // if clearTimeout wasn't available but was latter defined 3256 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { 3257 cachedClearTimeout = clearTimeout; 3258 return clearTimeout(marker); 3259 } 3260 try { 3261 // when when somebody has screwed with setTimeout but no I.E. maddness 3262 return cachedClearTimeout(marker); 3263 } catch (e){ 3264 try { 3265 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 3266 return cachedClearTimeout.call(null, marker); 3267 } catch (e){ 3268 // 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. 3269 // Some versions of I.E. have different rules for clearTimeout vs setTimeout 3270 return cachedClearTimeout.call(this, marker); 3271 } 3272 } 3273 3274 3275 3276} 3277var queue = []; 3278var draining = false;
vendor: 5,815 bytes, lines 3279-3510
3279var currentQueue; 3280var queueIndex = -1; 3281 3282function cleanUpNextTick() { 3283 if (!draining || !currentQueue) { 3284 return; 3285 } 3286 draining = false; 3287 if (currentQueue.length) { 3288 queue = currentQueue.concat(queue); 3289 } else { 3290 queueIndex = -1; 3291 } 3292 if (queue.length) { 3293 drainQueue(); 3294 } 3295} 3296 3297function drainQueue() { 3298 if (draining) { 3299 return; 3300 } 3301 var timeout = runTimeout(cleanUpNextTick); 3302 draining = true; 3303 3304 var len = queue.length; 3305 while(len) { 3306 currentQueue = queue; 3307 queue = []; 3308 while (++queueIndex < len) { 3309 if (currentQueue) { 3310 currentQueue[queueIndex].run(); 3311 } 3312 } 3313 queueIndex = -1; 3314 len = queue.length; 3315 } 3316 currentQueue = null; 3317 draining = false; 3318 runClearTimeout(timeout); 3319} 3320 3321process.nextTick = function (fun) { 3322 var args = new Array(arguments.length - 1); 3323 if (arguments.length > 1) { 3324 for (var i = 1; i < arguments.length; i++) { 3325 args[i - 1] = arguments[i]; 3326 } 3327 } 3328 queue.push(new Item(fun, args)); 3329 if (queue.length === 1 && !draining) { 3330 runTimeout(drainQueue); 3331 } 3332}; 3333 3334// v8 likes predictible objects 3335function Item(fun, array) { 3336 this.fun = fun; 3337 this.array = array; 3338} 3339Item.prototype.run = function () { 3340 this.fun.apply(null, this.array); 3341}; 3342process.title = 'browser'; 3343process.browser = true; 3344process.env = {}; 3345process.argv = []; 3346process.version = ''; // empty string to avoid regexp issues 3347process.versions = {}; 3348 3349function noop() {} 3350 3351process.on = noop; 3352process.addListener = noop; 3353process.once = noop; 3354process.off = noop; 3355process.removeListener = noop; 3356process.removeAllListeners = noop; 3357process.emit = noop; 3358process.prependListener = noop; 3359process.prependOnceListener = noop; 3360 3361process.listeners = function (name) { return [] } 3362 3363process.binding = function (name) { 3364 throw new Error('process.binding is not supported'); 3365}; 3366 3367process.cwd = function () { return '/' }; 3368process.chdir = function (dir) { 3369 throw new Error('process.chdir is not supported'); 3370}; 3371process.umask = function() { return 0; }; 3372 3373 3374/***/ }), 3375/* 58 */ 3376/***/ (function(module, exports, __webpack_require__) { 3377 3378var NATIVE_WEAK_MAP = __webpack_require__(357); 3379var global = __webpack_require__(16); 3380var isObject = __webpack_require__(19); 3381var createNonEnumerableProperty = __webpack_require__(53); 3382var objectHas = __webpack_require__(35); 3383var shared = __webpack_require__(276); 3384var sharedKey = __webpack_require__(214); 3385var hiddenKeys = __webpack_require__(166); 3386 3387var WeakMap = global.WeakMap; 3388var set, get, has; 3389 3390var enforce = function (it) { 3391 return has(it) ? get(it) : set(it, {}); 3392}; 3393 3394var getterFor = function (TYPE) { 3395 return function (it) { 3396 var state; 3397 if (!isObject(it) || (state = get(it)).type !== TYPE) { 3398 throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 3399 } return state; 3400 }; 3401}; 3402 3403if (NATIVE_WEAK_MAP) { 3404 var store = shared.state || (shared.state = new WeakMap()); 3405 var wmget = store.get; 3406 var wmhas = store.has; 3407 var wmset = store.set; 3408 set = function (it, metadata) { 3409 metadata.facade = it; 3410 wmset.call(store, it, metadata); 3411 return metadata; 3412 }; 3413 get = function (it) { 3414 return wmget.call(store, it) || {}; 3415 }; 3416 has = function (it) { 3417 return wmhas.call(store, it); 3418 }; 3419} else { 3420 var STATE = sharedKey('state'); 3421 hiddenKeys[STATE] = true; 3422 set = function (it, metadata) { 3423 metadata.facade = it; 3424 createNonEnumerableProperty(it, STATE, metadata); 3425 return metadata; 3426 }; 3427 get = function (it) { 3428 return objectHas(it, STATE) ? it[STATE] : {}; 3429 }; 3430 has = function (it) { 3431 return objectHas(it, STATE); 3432 }; 3433} 3434 3435module.exports = { 3436 set: set, 3437 get: get, 3438 has: has, 3439 enforce: enforce, 3440 getterFor: getterFor 3441}; 3442 3443 3444/***/ }), 3445/* 59 */ 3446/***/ (function(module, exports) { 3447 3448module.exports = function (it) { 3449 if (typeof it != 'function') { 3450 throw TypeError(String(it) + ' is not a function'); 3451 } return it; 3452}; 3453 3454 3455/***/ }), 3456/* 60 */ 3457/***/ (function(module, exports, __webpack_require__) { 3458 3459/** 3460 * Copyright (c) 2014-present, Facebook, Inc. 3461 * 3462 * This source code is licensed under the MIT license found in the 3463 * LICENSE file in the root directory of this source tree. 3464 */ 3465 3466var runtime = (function (exports) { 3467 "use strict"; 3468 3469 var Op = Object.prototype; 3470 var hasOwn = Op.hasOwnProperty; 3471 var undefined; // More compressible than void 0. 3472 var $Symbol = typeof Symbol === "function" ? Symbol : {}; 3473 var iteratorSymbol = $Symbol.iterator || "@@iterator"; 3474 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; 3475 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; 3476 3477 function define(obj, key, value) { 3478 Object.defineProperty(obj, key, { 3479 value: value, 3480 enumerable: true, 3481 configurable: true, 3482 writable: true 3483 }); 3484 return obj[key]; 3485 } 3486 try { 3487 // IE 8 has a broken Object.defineProperty that only works on DOM objects. 3488 define({}, ""); 3489 } catch (err) { 3490 define = function(obj, key, value) { 3491 return obj[key] = value; 3492 }; 3493 } 3494 3495 function wrap(innerFn, outerFn, self, tryLocsList) { 3496 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. 3497 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; 3498 var generator = Object.create(protoGenerator.prototype); 3499 var context = new Context(tryLocsList || []); 3500 3501 // The ._invoke method unifies the implementations of the .next, 3502 // .throw, and .return methods. 3503 generator._invoke = makeInvokeMethod(innerFn, self, context); 3504 3505 return generator; 3506 } 3507 exports.wrap = wrap; 3508 3509 // Try/catch helper to minimize deoptimizations. Returns a completion 3510 // record like context.tryEntries[i].completion. This interface could
vendor: 10,918 bytes, lines 3511-3801
3511 // have been (and was previously) designed to take a closure to be 3512 // invoked without arguments, but in all the cases we care about we 3513 // already have an existing method we want to call, so there's no need 3514 // to create a new function object. We can even get away with assuming 3515 // the method takes exactly one argument, since that happens to be true 3516 // in every case, so we don't have to touch the arguments object. The 3517 // only additional allocation required is the completion record, which 3518 // has a stable shape and so hopefully should be cheap to allocate. 3519 function tryCatch(fn, obj, arg) { 3520 try { 3521 return { type: "normal", arg: fn.call(obj, arg) }; 3522 } catch (err) { 3523 return { type: "throw", arg: err }; 3524 } 3525 } 3526 3527 var GenStateSuspendedStart = "suspendedStart"; 3528 var GenStateSuspendedYield = "suspendedYield"; 3529 var GenStateExecuting = "executing"; 3530 var GenStateCompleted = "completed"; 3531 3532 // Returning this object from the innerFn has the same effect as 3533 // breaking out of the dispatch switch statement. 3534 var ContinueSentinel = {}; 3535 3536 // Dummy constructor functions that we use as the .constructor and 3537 // .constructor.prototype properties for functions that return Generator 3538 // objects. For full spec compliance, you may wish to configure your 3539 // minifier not to mangle the names of these two functions. 3540 function Generator() {} 3541 function GeneratorFunction() {} 3542 function GeneratorFunctionPrototype() {} 3543 3544 // This is a polyfill for %IteratorPrototype% for environments that 3545 // don't natively support it. 3546 var IteratorPrototype = {}; 3547 IteratorPrototype[iteratorSymbol] = function () { 3548 return this; 3549 }; 3550 3551 var getProto = Object.getPrototypeOf; 3552 var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); 3553 if (NativeIteratorPrototype && 3554 NativeIteratorPrototype !== Op && 3555 hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { 3556 // This environment has a native %IteratorPrototype%; use it instead 3557 // of the polyfill. 3558 IteratorPrototype = NativeIteratorPrototype; 3559 } 3560 3561 var Gp = GeneratorFunctionPrototype.prototype = 3562 Generator.prototype = Object.create(IteratorPrototype); 3563 GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; 3564 GeneratorFunctionPrototype.constructor = GeneratorFunction; 3565 GeneratorFunction.displayName = define( 3566 GeneratorFunctionPrototype, 3567 toStringTagSymbol, 3568 "GeneratorFunction" 3569 ); 3570 3571 // Helper for defining the .next, .throw, and .return methods of the 3572 // Iterator interface in terms of a single ._invoke method. 3573 function defineIteratorMethods(prototype) { 3574 ["next", "throw", "return"].forEach(function(method) { 3575 define(prototype, method, function(arg) { 3576 return this._invoke(method, arg); 3577 }); 3578 }); 3579 } 3580 3581 exports.isGeneratorFunction = function(genFun) { 3582 var ctor = typeof genFun === "function" && genFun.constructor; 3583 return ctor 3584 ? ctor === GeneratorFunction || 3585 // For the native GeneratorFunction constructor, the best we can 3586 // do is to check its .name property. 3587 (ctor.displayName || ctor.name) === "GeneratorFunction" 3588 : false; 3589 }; 3590 3591 exports.mark = function(genFun) { 3592 if (Object.setPrototypeOf) { 3593 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); 3594 } else { 3595 genFun.__proto__ = GeneratorFunctionPrototype; 3596 define(genFun, toStringTagSymbol, "GeneratorFunction"); 3597 } 3598 genFun.prototype = Object.create(Gp); 3599 return genFun; 3600 }; 3601 3602 // Within the body of any async function, `await x` is transformed to 3603 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test 3604 // `hasOwn.call(value, "__await")` to determine if the yielded value is 3605 // meant to be awaited. 3606 exports.awrap = function(arg) { 3607 return { __await: arg }; 3608 }; 3609 3610 function AsyncIterator(generator, PromiseImpl) { 3611 function invoke(method, arg, resolve, reject) { 3612 var record = tryCatch(generator[method], generator, arg); 3613 if (record.type === "throw") { 3614 reject(record.arg); 3615 } else { 3616 var result = record.arg; 3617 var value = result.value; 3618 if (value && 3619 typeof value === "object" && 3620 hasOwn.call(value, "__await")) { 3621 return PromiseImpl.resolve(value.__await).then(function(value) { 3622 invoke("next", value, resolve, reject); 3623 }, function(err) { 3624 invoke("throw", err, resolve, reject); 3625 }); 3626 } 3627 3628 return PromiseImpl.resolve(value).then(function(unwrapped) { 3629 // When a yielded Promise is resolved, its final value becomes 3630 // the .value of the Promise<{value,done}> result for the 3631 // current iteration. 3632 result.value = unwrapped; 3633 resolve(result); 3634 }, function(error) { 3635 // If a rejected Promise was yielded, throw the rejection back 3636 // into the async generator function so it can be handled there. 3637 return invoke("throw", error, resolve, reject); 3638 }); 3639 } 3640 } 3641 3642 var previousPromise; 3643 3644 function enqueue(method, arg) { 3645 function callInvokeWithMethodAndArg() { 3646 return new PromiseImpl(function(resolve, reject) { 3647 invoke(method, arg, resolve, reject); 3648 }); 3649 } 3650 3651 return previousPromise = 3652 // If enqueue has been called before, then we want to wait until 3653 // all previous Promises have been resolved before calling invoke, 3654 // so that results are always delivered in the correct order. If 3655 // enqueue has not been called before, then it is important to 3656 // call invoke immediately, without waiting on a callback to fire, 3657 // so that the async generator function has the opportunity to do 3658 // any necessary setup in a predictable way. This predictability 3659 // is why the Promise constructor synchronously invokes its 3660 // executor callback, and why async functions synchronously 3661 // execute code before the first await. Since we implement simple 3662 // async functions in terms of async generators, it is especially 3663 // important to get this right, even though it requires care. 3664 previousPromise ? previousPromise.then( 3665 callInvokeWithMethodAndArg, 3666 // Avoid propagating failures to Promises returned by later 3667 // invocations of the iterator. 3668 callInvokeWithMethodAndArg 3669 ) : callInvokeWithMethodAndArg(); 3670 } 3671 3672 // Define the unified helper method that is used to implement .next, 3673 // .throw, and .return (see defineIteratorMethods). 3674 this._invoke = enqueue; 3675 } 3676 3677 defineIteratorMethods(AsyncIterator.prototype); 3678 AsyncIterator.prototype[asyncIteratorSymbol] = function () { 3679 return this; 3680 }; 3681 exports.AsyncIterator = AsyncIterator; 3682 3683 // Note that simple async functions are implemented on top of 3684 // AsyncIterator objects; they just return a Promise for the value of 3685 // the final result produced by the iterator. 3686 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { 3687 if (PromiseImpl === void 0) PromiseImpl = Promise; 3688 3689 var iter = new AsyncIterator( 3690 wrap(innerFn, outerFn, self, tryLocsList), 3691 PromiseImpl 3692 ); 3693 3694 return exports.isGeneratorFunction(outerFn) 3695 ? iter // If outerFn is a generator, return the full iterator. 3696 : iter.next().then(function(result) { 3697 return result.done ? result.value : iter.next(); 3698 }); 3699 }; 3700 3701 function makeInvokeMethod(innerFn, self, context) { 3702 var state = GenStateSuspendedStart; 3703 3704 return function invoke(method, arg) { 3705 if (state === GenStateExecuting) { 3706 throw new Error("Generator is already running"); 3707 } 3708 3709 if (state === GenStateCompleted) { 3710 if (method === "throw") { 3711 throw arg; 3712 } 3713 3714 // Be forgiving, per 25.3.3.3.3 of the spec: 3715 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume 3716 return doneResult(); 3717 } 3718 3719 context.method = method; 3720 context.arg = arg; 3721 3722 while (true) { 3723 var delegate = context.delegate; 3724 if (delegate) { 3725 var delegateResult = maybeInvokeDelegate(delegate, context); 3726 if (delegateResult) { 3727 if (delegateResult === ContinueSentinel) continue; 3728 return delegateResult; 3729 } 3730 } 3731 3732 if (context.method === "next") { 3733 // Setting context._sent for legacy support of Babel's 3734 // function.sent implementation. 3735 context.sent = context._sent = context.arg; 3736 3737 } else if (context.method === "throw") { 3738 if (state === GenStateSuspendedStart) { 3739 state = GenStateCompleted; 3740 throw context.arg; 3741 } 3742 3743 context.dispatchException(context.arg); 3744 3745 } else if (context.method === "return") { 3746 context.abrupt("return", context.arg); 3747 } 3748 3749 state = GenStateExecuting; 3750 3751 var record = tryCatch(innerFn, self, context); 3752 if (record.type === "normal") { 3753 // If an exception is thrown from innerFn, we leave state === 3754 // GenStateExecuting and loop back for another invocation. 3755 state = context.done 3756 ? GenStateCompleted 3757 : GenStateSuspendedYield; 3758 3759 if (record.arg === ContinueSentinel) { 3760 continue; 3761 } 3762 3763 return { 3764 value: record.arg, 3765 done: context.done 3766 }; 3767 3768 } else if (record.type === "throw") { 3769 state = GenStateCompleted; 3770 // Dispatch the exception by looping back around to the 3771 // context.dispatchException(context.arg) call above. 3772 context.method = "throw"; 3773 context.arg = record.arg; 3774 } 3775 } 3776 }; 3777 } 3778 3779 // Call delegate.iterator[context.method](context.arg) and handle the 3780 // result, either by returning a { value, done } result from the 3781 // delegate iterator, or by modifying context.method and context.arg, 3782 // setting context.delegate to null, and returning the ContinueSentinel. 3783 function maybeInvokeDelegate(delegate, context) { 3784 var method = delegate.iterator[context.method]; 3785 if (method === undefined) { 3786 // A .throw or .return when the delegate iterator has no .throw 3787 // method always terminates the yield* loop. 3788 context.delegate = null; 3789 3790 if (context.method === "throw") { 3791 // Note: ["return"] must be used for ES3 parsing compatibility. 3792 if (delegate.iterator["return"]) { 3793 // If the delegate iterator has a return method, give it a 3794 // chance to clean up. 3795 context.method = "return"; 3796 context.arg = undefined; 3797 maybeInvokeDelegate(delegate, context); 3798 3799 if (context.method === "throw") { 3800 // If maybeInvokeDelegate(context) changed context.method from 3801 // "return" to "throw", let that override the TypeError below.
vendor: 2,469 bytes, lines 3802-3879
3802 return ContinueSentinel; 3803 } 3804 } 3805 3806 context.method = "throw"; 3807 context.arg = new TypeError( 3808 "The iterator does not provide a 'throw' method"); 3809 } 3810 3811 return ContinueSentinel; 3812 } 3813 3814 var record = tryCatch(method, delegate.iterator, context.arg); 3815 3816 if (record.type === "throw") { 3817 context.method = "throw"; 3818 context.arg = record.arg; 3819 context.delegate = null; 3820 return ContinueSentinel; 3821 } 3822 3823 var info = record.arg; 3824 3825 if (! info) { 3826 context.method = "throw"; 3827 context.arg = new TypeError("iterator result is not an object"); 3828 context.delegate = null; 3829 return ContinueSentinel; 3830 } 3831 3832 if (info.done) { 3833 // Assign the result of the finished delegate to the temporary 3834 // variable specified by delegate.resultName (see delegateYield). 3835 context[delegate.resultName] = info.value; 3836 3837 // Resume execution at the desired location (see delegateYield). 3838 context.next = delegate.nextLoc; 3839 3840 // If context.method was "throw" but the delegate handled the 3841 // exception, let the outer generator proceed normally. If 3842 // context.method was "next", forget context.arg since it has been 3843 // "consumed" by the delegate iterator. If context.method was 3844 // "return", allow the original .return call to continue in the 3845 // outer generator. 3846 if (context.method !== "return") { 3847 context.method = "next"; 3848 context.arg = undefined; 3849 } 3850 3851 } else { 3852 // Re-yield the result returned by the delegate method. 3853 return info; 3854 } 3855 3856 // The delegate iterator is finished, so forget it and continue with 3857 // the outer generator. 3858 context.delegate = null; 3859 return ContinueSentinel; 3860 } 3861 3862 // Define Generator.prototype.{next,throw,return} in terms of the 3863 // unified ._invoke helper method. 3864 defineIteratorMethods(Gp); 3865 3866 define(Gp, toStringTagSymbol, "Generator"); 3867 3868 // A Generator should always return itself as the iterator object when the 3869 // @@iterator function is called on it. Some browsers' implementations of the 3870 // iterator prototype chain incorrectly implement this, causing the Generator 3871 // object to not be returned from this call. This ensures that doesn't happen. 3872 // See https://github.com/facebook/regenerator/issues/274 for more details. 3873 Gp[iteratorSymbol] = function() { 3874 return this; 3875 }; 3876 3877 Gp.toString = function() { 3878 return "[object Generator]"; 3879 }
vendor: 8,913 bytes, lines 3879-4198
3879; 3880 3881 function pushTryEntry(locs) { 3882 var entry = { tryLoc: locs[0] }; 3883 3884 if (1 in locs) { 3885 entry.catchLoc = locs[1]; 3886 } 3887 3888 if (2 in locs) { 3889 entry.finallyLoc = locs[2]; 3890 entry.afterLoc = locs[3]; 3891 } 3892 3893 this.tryEntries.push(entry); 3894 } 3895 3896 function resetTryEntry(entry) { 3897 var record = entry.completion || {}; 3898 record.type = "normal"; 3899 delete record.arg; 3900 entry.completion = record; 3901 } 3902 3903 function Context(tryLocsList) { 3904 // The root entry object (effectively a try statement without a catch 3905 // or a finally block) gives us a place to store values thrown from 3906 // locations where there is no enclosing try statement. 3907 this.tryEntries = [{ tryLoc: "root" }]; 3908 tryLocsList.forEach(pushTryEntry, this); 3909 this.reset(true); 3910 } 3911 3912 exports.keys = function(object) { 3913 var keys = []; 3914 for (var key in object) { 3915 keys.push(key); 3916 } 3917 keys.reverse(); 3918 3919 // Rather than returning an object with a next method, we keep 3920 // things simple and return the next function itself. 3921 return function next() { 3922 while (keys.length) { 3923 var key = keys.pop(); 3924 if (key in object) { 3925 next.value = key; 3926 next.done = false; 3927 return next; 3928 } 3929 } 3930 3931 // To avoid creating an additional object, we just hang the .value 3932 // and .done properties off the next function object itself. This 3933 // also ensures that the minifier will not anonymize the function. 3934 next.done = true; 3935 return next; 3936 }; 3937 }; 3938 3939 function values(iterable) { 3940 if (iterable) { 3941 var iteratorMethod = iterable[iteratorSymbol]; 3942 if (iteratorMethod) { 3943 return iteratorMethod.call(iterable); 3944 } 3945 3946 if (typeof iterable.next === "function") { 3947 return iterable; 3948 } 3949 3950 if (!isNaN(iterable.length)) { 3951 var i = -1, next = function next() { 3952 while (++i < iterable.length) { 3953 if (hasOwn.call(iterable, i)) { 3954 next.value = iterable[i]; 3955 next.done = false; 3956 return next; 3957 } 3958 } 3959 3960 next.value = undefined; 3961 next.done = true; 3962 3963 return next; 3964 }; 3965 3966 return next.next = next; 3967 } 3968 } 3969 3970 // Return an iterator with no values. 3971 return { next: doneResult }; 3972 } 3973 exports.values = values; 3974 3975 function doneResult() { 3976 return { value: undefined, done: true }; 3977 } 3978 3979 Context.prototype = { 3980 constructor: Context, 3981 3982 reset: function(skipTempReset) { 3983 this.prev = 0; 3984 this.next = 0; 3985 // Resetting context._sent for legacy support of Babel's 3986 // function.sent implementation. 3987 this.sent = this._sent = undefined; 3988 this.done = false; 3989 this.delegate = null; 3990 3991 this.method = "next"; 3992 this.arg = undefined; 3993 3994 this.tryEntries.forEach(resetTryEntry); 3995 3996 if (!skipTempReset) { 3997 for (var name in this) { 3998 // Not sure about the optimal order of these conditions: 3999 if (name.charAt(0) === "t" && 4000 hasOwn.call(this, name) && 4001 !isNaN(+name.slice(1))) { 4002 this[name] = undefined; 4003 } 4004 } 4005 } 4006 }, 4007 4008 stop: function() { 4009 this.done = true; 4010 4011 var rootEntry = this.tryEntries[0]; 4012 var rootRecord = rootEntry.completion; 4013 if (rootRecord.type === "throw") { 4014 throw rootRecord.arg; 4015 } 4016 4017 return this.rval; 4018 }, 4019 4020 dispatchException: function(exception) { 4021 if (this.done) { 4022 throw exception; 4023 } 4024 4025 var context = this; 4026 function handle(loc, caught) { 4027 record.type = "throw"; 4028 record.arg = exception; 4029 context.next = loc; 4030 4031 if (caught) { 4032 // If the dispatched exception was caught by a catch block, 4033 // then let that catch block handle the exception normally. 4034 context.method = "next"; 4035 context.arg = undefined; 4036 } 4037 4038 return !! caught; 4039 } 4040 4041 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4042 var entry = this.tryEntries[i]; 4043 var record = entry.completion; 4044 4045 if (entry.tryLoc === "root") { 4046 // Exception thrown outside of any try block that could handle 4047 // it, so set the completion value of the entire function to 4048 // throw the exception. 4049 return handle("end"); 4050 } 4051 4052 if (entry.tryLoc <= this.prev) { 4053 var hasCatch = hasOwn.call(entry, "catchLoc"); 4054 var hasFinally = hasOwn.call(entry, "finallyLoc"); 4055 4056 if (hasCatch && hasFinally) { 4057 if (this.prev < entry.catchLoc) { 4058 return handle(entry.catchLoc, true); 4059 } else if (this.prev < entry.finallyLoc) { 4060 return handle(entry.finallyLoc); 4061 } 4062 4063 } else if (hasCatch) { 4064 if (this.prev < entry.catchLoc) { 4065 return handle(entry.catchLoc, true); 4066 } 4067 4068 } else if (hasFinally) { 4069 if (this.prev < entry.finallyLoc) { 4070 return handle(entry.finallyLoc); 4071 } 4072 4073 } else { 4074 throw new Error("try statement without catch or finally"); 4075 } 4076 } 4077 } 4078 }, 4079 4080 abrupt: function(type, arg) { 4081 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4082 var entry = this.tryEntries[i]; 4083 if (entry.tryLoc <= this.prev && 4084 hasOwn.call(entry, "finallyLoc") && 4085 this.prev < entry.finallyLoc) { 4086 var finallyEntry = entry; 4087 break; 4088 } 4089 } 4090 4091 if (finallyEntry && 4092 (type === "break" || 4093 type === "continue") && 4094 finallyEntry.tryLoc <= arg && 4095 arg <= finallyEntry.finallyLoc) { 4096 // Ignore the finally entry if control is not jumping to a 4097 // location outside the try/catch block. 4098 finallyEntry = null; 4099 } 4100 4101 var record = finallyEntry ? finallyEntry.completion : {}; 4102 record.type = type; 4103 record.arg = arg; 4104 4105 if (finallyEntry) { 4106 this.method = "next"; 4107 this.next = finallyEntry.finallyLoc; 4108 return ContinueSentinel; 4109 } 4110 4111 return this.complete(record); 4112 }, 4113 4114 complete: function(record, afterLoc) { 4115 if (record.type === "throw") { 4116 throw record.arg; 4117 } 4118 4119 if (record.type === "break" || 4120 record.type === "continue") { 4121 this.next = record.arg; 4122 } else if (record.type === "return") { 4123 this.rval = this.arg = record.arg; 4124 this.method = "return"; 4125 this.next = "end"; 4126 } else if (record.type === "normal" && afterLoc) { 4127 this.next = afterLoc; 4128 } 4129 4130 return ContinueSentinel; 4131 }, 4132 4133 finish: function(finallyLoc) { 4134 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4135 var entry = this.tryEntries[i]; 4136 if (entry.finallyLoc === finallyLoc) { 4137 this.complete(entry.completion, entry.afterLoc); 4138 resetTryEntry(entry); 4139 return ContinueSentinel; 4140 } 4141 } 4142 }, 4143 4144 "catch": function(tryLoc) { 4145 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4146 var entry = this.tryEntries[i]; 4147 if (entry.tryLoc === tryLoc) { 4148 var record = entry.completion; 4149 if (record.type === "throw") { 4150 var thrown = record.arg; 4151 resetTryEntry(entry); 4152 } 4153 return thrown; 4154 } 4155 } 4156 4157 // The context.catch method must only be called with a location 4158 // argument that corresponds to a known catch block. 4159 throw new Error("illegal catch attempt"); 4160 }, 4161 4162 delegateYield: function(iterable, resultName, nextLoc) { 4163 this.delegate = { 4164 iterator: values(iterable), 4165 resultName: resultName, 4166 nextLoc: nextLoc 4167 }; 4168 4169 if (this.method === "next") { 4170 // Deliberately forget the last sent value so that we don't 4171 // accidentally pass it on to the delegate. 4172 this.arg = undefined; 4173 } 4174 4175 return ContinueSentinel; 4176 } 4177 }; 4178 4179 // Regardless of whether this script is executing as a CommonJS module 4180 // or not, return the runtime object so that we can declare the variable 4181 // regeneratorRuntime in the outer scope, which allows this module to be 4182 // injected easily by `bin/regenerator --include-runtime script.js`. 4183 return exports; 4184 4185}( 4186 // If this script is executing as a CommonJS module, use module.exports 4187 // as the regeneratorRuntime namespace. Otherwise create a new empty 4188 // object. Either way, the resulting object will be used to initialize 4189 // the regeneratorRuntime variable at the top of this file. 4190 true ? module.exports : undefined 4191)); 4192 4193try { 4194 regeneratorRuntime = runtime; 4195} catch (accidentalStrictMode) { 4196 // This module should not be running in strict mode, so the above 4197 // assignment should always work unless something is misconfigured. Just 4198 // in case runtime.js accidentally runs in strict mode,
vendor: 7,858 bytes, lines 4198-4403
4198we can escape 4199 // strict mode using a global Function call. This could conceivably fail 4200 // if a Content Security Policy forbids using Function, but in that case 4201 // the proper solution is to fix the accidental strict mode problem. If 4202 // you've misconfigured your bundler to force strict mode and applied a 4203 // CSP to forbid Function, and you're not willing to fix either of those 4204 // problems, please detail your unique predicament in a GitHub issue. 4205 Function("r", "regeneratorRuntime = r")(runtime); 4206} 4207 4208 4209/***/ }), 4210/* 61 */ 4211/***/ (function(module, exports, __webpack_require__) { 4212 4213// extracted by mini-css-extract-plugin 4214module.exports = {"visuallyHidden":"ContentCard-module__visuallyHidden--6rzqt","card":"ContentCard-module__card--1Ds0J","title":"ContentCard-module__title--3Zcl_","ondemand":"ContentCard-module__ondemand--1bmb4","live":"ContentCard-module__live--3QuzU","tags":"ContentCard-module__tags--zCF-R","subtitle":"ContentCard-module__subtitle--1VNxz","imgbox":"ContentCard-module__imgbox--3scy3","description":"ContentCard-module__description--1W2ol","info":"ContentCard-module__info--2r6mU","hover":"ContentCard-module__hover--1qxg8","nohover":"ContentCard-module__nohover--179IC","noLabel":"ContentCard-module__noLabel--IbiU-","buttons":"ContentCard-module__buttons--2aMX_","controls":"ContentCard-module__controls--3YDJb","liveIcon":"ContentCard-module__liveIcon--13Mni","suggestion":"ContentCard-module__suggestion--SOZS5"}; 4215 4216/***/ }), 4217/* 62 */ 4218/***/ (function(module, exports, __webpack_require__) { 4219 4220var path = __webpack_require__(167); 4221var has = __webpack_require__(35); 4222var wrappedWellKnownSymbolModule = __webpack_require__(363); 4223var defineProperty = __webpack_require__(30).f; 4224 4225module.exports = function (NAME) { 4226 var Symbol = path.Symbol || (path.Symbol = {}); 4227 if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { 4228 value: wrappedWellKnownSymbolModule.f(NAME) 4229 }); 4230}; 4231 4232 4233/***/ }), 4234/* 63 */ 4235/***/ (function(module, exports, __webpack_require__) { 4236 4237var DESCRIPTORS = __webpack_require__(21); 4238var fails = __webpack_require__(11); 4239var has = __webpack_require__(35); 4240 4241var defineProperty = Object.defineProperty; 4242var cache = {}; 4243 4244var thrower = function (it) { throw it; }; 4245 4246module.exports = function (METHOD_NAME, options) { 4247 if (has(cache, METHOD_NAME)) return cache[METHOD_NAME]; 4248 if (!options) options = {}; 4249 var method = [][METHOD_NAME]; 4250 var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; 4251 var argument0 = has(options, 0) ? options[0] : thrower; 4252 var argument1 = has(options, 1) ? options[1] : undefined; 4253 4254 return cache[METHOD_NAME] = !!method && !fails(function () { 4255 if (ACCESSORS && !DESCRIPTORS) return true; 4256 var O = { length: -1 }; 4257 4258 if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower }); 4259 else O[1] = 1; 4260 4261 method.call(O, argument0, argument1); 4262 }); 4263}; 4264 4265 4266/***/ }), 4267/* 64 */ 4268/***/ (function(module, exports, __webpack_require__) { 4269 4270// extracted by mini-css-extract-plugin 4271module.exports = {"visuallyHidden":"SearchResults-module__visuallyHidden--3oAO6","noResultsContainer":"SearchResults-module__noResultsContainer--15_mL","noResultsInner":"SearchResults-module__noResultsInner--3O_F1","noResultsP":"SearchResults-module__noResultsP--2-aDp","noResultsHeader":"SearchResults-module__noResultsHeader--FasSj","panel":"SearchResults-module__panel--h_22v","results":"SearchResults-module__results--2O5Ww","searchHistory":"SearchResults-module__searchHistory--1WtT7","noResultsCopy":"SearchResults-module__noResultsCopy--3-jy7","bold":"SearchResults-module__bold--Y_rIF"}; 4272 4273/***/ }), 4274/* 65 */, 4275/* 66 */ 4276/***/ (function(module, exports, __webpack_require__) { 4277 4278// toObject with fallback for non-array-like ES3 strings 4279var IndexedObject = __webpack_require__(164); 4280var requireObjectCoercible = __webpack_require__(52); 4281 4282module.exports = function (it) { 4283 return IndexedObject(requireObjectCoercible(it)); 4284}; 4285 4286 4287/***/ }), 4288/* 67 */ 4289/***/ (function(module, exports, __webpack_require__) { 4290 4291var path = __webpack_require__(167); 4292var global = __webpack_require__(16); 4293 4294var aFunction = function (variable) { 4295 return typeof variable == 'function' ? variable : undefined; 4296}; 4297 4298module.exports = function (namespace, method) { 4299 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) 4300 : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; 4301}; 4302 4303 4304/***/ }), 4305/* 68 */ 4306/***/ (function(module, exports, __webpack_require__) { 4307 4308var requireObjectCoercible = __webpack_require__(52); 4309 4310var quot = /"/g; 4311 4312// B.2.3.2.1 CreateHTML(string, tag, attribute, value) 4313// https://tc39.github.io/ecma262/#sec-createhtml 4314module.exports = function (string, tag, attribute, value) { 4315 var S = String(requireObjectCoercible(string)); 4316 var p1 = '<' + tag; 4317 if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; 4318 return p1 + '>' + S + '</' + tag + '>'; 4319}; 4320 4321 4322/***/ }), 4323/* 69 */ 4324/***/ (function(module, exports, __webpack_require__) { 4325 4326var fails = __webpack_require__(11); 4327 4328// check the existence of a method, lowercase 4329// of a tag and escaping quotes in arguments 4330module.exports = function (METHOD_NAME) { 4331 return fails(function () { 4332 var test = ''[METHOD_NAME]('"'); 4333 return test !== test.toLowerCase() || test.split('"').length > 3; 4334 }); 4335}; 4336 4337 4338/***/ }), 4339/* 70 */ 4340/***/ (function(module, exports, __webpack_require__) { 4341 4342"use strict"; 4343 4344var $ = __webpack_require__(2); 4345var $filter = __webpack_require__(46).filter; 4346var arrayMethodHasSpeciesSupport = __webpack_require__(175); 4347var arrayMethodUsesToLength = __webpack_require__(63); 4348 4349var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); 4350// Edge 14- issue 4351var USES_TO_LENGTH = arrayMethodUsesToLength('filter'); 4352 4353// `Array.prototype.filter` method 4354// https://tc39.github.io/ecma262/#sec-array.prototype.filter 4355// with adding support of @@species 4356$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 4357 filter: function filter(callbackfn /* , thisArg */) { 4358 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4359 } 4360}); 4361 4362 4363/***/ }), 4364/* 71 */ 4365/***/ (function(module, exports, __webpack_require__) { 4366 4367"use strict"; 4368 4369var $ = __webpack_require__(2); 4370var global = __webpack_require__(16); 4371var getBuiltIn = __webpack_require__(67); 4372var IS_PURE = __webpack_require__(72); 4373var DESCRIPTORS = __webpack_require__(21); 4374var NATIVE_SYMBOL = __webpack_require__(281); 4375var USE_SYMBOL_AS_UID = __webpack_require__(360); 4376var fails = __webpack_require__(11); 4377var has = __webpack_require__(35); 4378var isArray = __webpack_require__(133); 4379var isObject = __webpack_require__(19); 4380var anObject = __webpack_require__(20); 4381var toObject = __webpack_require__(33); 4382var toIndexedObject = __webpack_require__(66); 4383var toPrimitive = __webpack_require__(79); 4384var createPropertyDescriptor = __webpack_require__(100); 4385var nativeObjectCreate = __webpack_require__(92); 4386var objectKeys = __webpack_require__(170); 4387var getOwnPropertyNamesModule = __webpack_require__(132); 4388var getOwnPropertyNamesExternal = __webpack_require__(362); 4389var getOwnPropertySymbolsModule = __webpack_require__(280); 4390var getOwnPropertyDescriptorModule = __webpack_require__(51); 4391var definePropertyModule = __webpack_require__(30); 4392var propertyIsEnumerableModule = __webpack_require__(213); 4393var createNonEnumerableProperty = __webpack_require__(53); 4394var redefine = __webpack_require__(54); 4395var shared = __webpack_require__(277); 4396var sharedKey = __webpack_require__(214); 4397var hiddenKeys = __webpack_require__(166); 4398var uid = __webpack_require__(165); 4399var wellKnownSymbol = __webpack_require__(23); 4400var wrappedWellKnownSymbolModule = __webpack_require__(363); 4401var defineWellKnownSymbol = __webpack_require__(62); 4402var setToStringTag = __webpack_require__(80); 4403var InternalStateModule = __webpack_require__(58);
4404var $forEach = __webpack_require__(46
vendor: 10,870 bytes, lines 4404-4682
4404).forEach; 4405 4406var HIDDEN = sharedKey('hidden'); 4407var SYMBOL = 'Symbol'; 4408var PROTOTYPE = 'prototype'; 4409var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 4410var setInternalState = InternalStateModule.set; 4411var getInternalState = InternalStateModule.getterFor(SYMBOL); 4412var ObjectPrototype = Object[PROTOTYPE]; 4413var $Symbol = global.Symbol; 4414var $stringify = getBuiltIn('JSON', 'stringify'); 4415var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 4416var nativeDefineProperty = definePropertyModule.f; 4417var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; 4418var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; 4419var AllSymbols = shared('symbols'); 4420var ObjectPrototypeSymbols = shared('op-symbols'); 4421var StringToSymbolRegistry = shared('string-to-symbol-registry'); 4422var SymbolToStringRegistry = shared('symbol-to-string-registry'); 4423var WellKnownSymbolsStore = shared('wks'); 4424var QObject = global.QObject; 4425// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 4426var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; 4427 4428// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 4429var setSymbolDescriptor = DESCRIPTORS && fails(function () { 4430 return nativeObjectCreate(nativeDefineProperty({}, 'a', { 4431 get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } 4432 })).a != 7; 4433}) ? function (O, P, Attributes) { 4434 var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); 4435 if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; 4436 nativeDefineProperty(O, P, Attributes); 4437 if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { 4438 nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); 4439 } 4440} : nativeDefineProperty; 4441 4442var wrap = function (tag, description) { 4443 var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); 4444 setInternalState(symbol, { 4445 type: SYMBOL, 4446 tag: tag, 4447 description: description 4448 }); 4449 if (!DESCRIPTORS) symbol.description = description; 4450 return symbol; 4451}; 4452 4453var isSymbol = USE_SYMBOL_AS_UID ? function (it) { 4454 return typeof it == 'symbol'; 4455} : function (it) { 4456 return Object(it) instanceof $Symbol; 4457}; 4458 4459var $defineProperty = function defineProperty(O, P, Attributes) { 4460 if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); 4461 anObject(O); 4462 var key = toPrimitive(P, true); 4463 anObject(Attributes); 4464 if (has(AllSymbols, key)) { 4465 if (!Attributes.enumerable) { 4466 if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); 4467 O[HIDDEN][key] = true; 4468 } else { 4469 if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; 4470 Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); 4471 } return setSymbolDescriptor(O, key, Attributes); 4472 } return nativeDefineProperty(O, key, Attributes); 4473}; 4474 4475var $defineProperties = function defineProperties(O, Properties) { 4476 anObject(O); 4477 var properties = toIndexedObject(Properties); 4478 var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); 4479 $forEach(keys, function (key) { 4480 if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); 4481 }); 4482 return O; 4483}; 4484 4485var $create = function create(O, Properties) { 4486 return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); 4487}; 4488 4489var $propertyIsEnumerable = function propertyIsEnumerable(V) { 4490 var P = toPrimitive(V, true); 4491 var enumerable = nativePropertyIsEnumerable.call(this, P); 4492 if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; 4493 return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; 4494}; 4495 4496var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { 4497 var it = toIndexedObject(O); 4498 var key = toPrimitive(P, true); 4499 if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; 4500 var descriptor = nativeGetOwnPropertyDescriptor(it, key); 4501 if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { 4502 descriptor.enumerable = true; 4503 } 4504 return descriptor; 4505}; 4506 4507var $getOwnPropertyNames = function getOwnPropertyNames(O) { 4508 var names = nativeGetOwnPropertyNames(toIndexedObject(O)); 4509 var result = []; 4510 $forEach(names, function (key) { 4511 if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); 4512 }); 4513 return result; 4514}; 4515 4516var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { 4517 var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; 4518 var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); 4519 var result = []; 4520 $forEach(names, function (key) { 4521 if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { 4522 result.push(AllSymbols[key]); 4523 } 4524 }); 4525 return result; 4526}; 4527 4528// `Symbol` constructor 4529// https://tc39.github.io/ecma262/#sec-symbol-constructor 4530if (!NATIVE_SYMBOL) { 4531 $Symbol = function Symbol() { 4532 if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); 4533 var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); 4534 var tag = uid(description); 4535 var setter = function (value) { 4536 if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); 4537 if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; 4538 setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); 4539 }; 4540 if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); 4541 return wrap(tag, description); 4542 }; 4543 4544 redefine($Symbol[PROTOTYPE], 'toString', function toString() { 4545 return getInternalState(this).tag; 4546 }); 4547 4548 redefine($Symbol, 'withoutSetter', function (description) { 4549 return wrap(uid(description), description); 4550 }); 4551 4552 propertyIsEnumerableModule.f = $propertyIsEnumerable; 4553 definePropertyModule.f = $defineProperty; 4554 getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; 4555 getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; 4556 getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; 4557 4558 wrappedWellKnownSymbolModule.f = function (name) { 4559 return wrap(wellKnownSymbol(name), name); 4560 }; 4561 4562 if (DESCRIPTORS) { 4563 // https://github.com/tc39/proposal-Symbol-description 4564 nativeDefineProperty($Symbol[PROTOTYPE], 'description', { 4565 configurable: true, 4566 get: function description() { 4567 return getInternalState(this).description; 4568 } 4569 }); 4570 if (!IS_PURE) { 4571 redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); 4572 } 4573 } 4574} 4575 4576$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { 4577 Symbol: $Symbol 4578}); 4579 4580$forEach(objectKeys(WellKnownSymbolsStore), function (name) { 4581 defineWellKnownSymbol(name); 4582}); 4583 4584$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { 4585 // `Symbol.for` method 4586 // https://tc39.github.io/ecma262/#sec-symbol.for 4587 'for': function (key) { 4588 var string = String(key); 4589 if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; 4590 var symbol = $Symbol(string); 4591 StringToSymbolRegistry[string] = symbol; 4592 SymbolToStringRegistry[symbol] = string; 4593 return symbol; 4594 }, 4595 // `Symbol.keyFor` method 4596 // https://tc39.github.io/ecma262/#sec-symbol.keyfor 4597 keyFor: function keyFor(sym) { 4598 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); 4599 if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; 4600 }, 4601 useSetter: function () { USE_SETTER = true; }, 4602 useSimple: function () { USE_SETTER = false; } 4603}); 4604 4605$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { 4606 // `Object.create` method 4607 // https://tc39.github.io/ecma262/#sec-object.create 4608 create: $create, 4609 // `Object.defineProperty` method 4610 // https://tc39.github.io/ecma262/#sec-object.defineproperty 4611 defineProperty: $defineProperty, 4612 // `Object.defineProperties` method 4613 // https://tc39.github.io/ecma262/#sec-object.defineproperties 4614 defineProperties: $defineProperties, 4615 // `Object.getOwnPropertyDescriptor` method 4616 // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors 4617 getOwnPropertyDescriptor: $getOwnPropertyDescriptor 4618}); 4619 4620$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { 4621 // `Object.getOwnPropertyNames` method 4622 // https://tc39.github.io/ecma262/#sec-object.getownpropertynames 4623 getOwnPropertyNames: $getOwnPropertyNames, 4624 // `Object.getOwnPropertySymbols` method 4625 // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols 4626 getOwnPropertySymbols: $getOwnPropertySymbols 4627}); 4628 4629// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives 4630// https://bugs.chromium.org/p/v8/issues/detail?id=3443 4631$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { 4632 getOwnPropertySymbols: function getOwnPropertySymbols(it) { 4633 return getOwnPropertySymbolsModule.f(toObject(it)); 4634 } 4635}); 4636 4637// `JSON.stringify` method behavior with symbols 4638// https://tc39.github.io/ecma262/#sec-json.stringify 4639if ($stringify) { 4640 var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { 4641 var symbol = $Symbol(); 4642 // MS Edge converts symbol values to JSON as {} 4643 return $stringify([symbol]) != '[null]' 4644 // WebKit converts symbol values to JSON as null 4645 || $stringify({ a: symbol }) != '{}' 4646 // V8 throws on boxed symbols 4647 || $stringify(Object(symbol)) != '{}'; 4648 }); 4649 4650 $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { 4651 // eslint-disable-next-line no-unused-vars 4652 stringify: function stringify(it, replacer, space) { 4653 var args = [it]; 4654 var index = 1; 4655 var $replacer; 4656 while (arguments.length > index) args.push(arguments[index++]); 4657 $replacer = replacer; 4658 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined 4659 if (!isArray(replacer)) replacer = function (key, value) { 4660 if (typeof $replacer == 'function') value = $replacer.call(this, key, value); 4661 if (!isSymbol(value)) return value; 4662 }; 4663 args[1] = replacer; 4664 return $stringify.apply(null, args); 4665 } 4666 }); 4667} 4668 4669// `Symbol.prototype[@@toPrimitive]` method 4670// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive 4671if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { 4672 createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); 4673} 4674// `Symbol.prototype[@@toStringTag]` property 4675// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag 4676setToStringTag($Symbol, SYMBOL); 4677 4678hiddenKeys[HIDDEN] = true; 4679 4680 4681/***/ }), 4682/*
vendor: 5,393 bytes, lines 4682-4849
468272 */ 4683/***/ (function(module, exports) { 4684 4685module.exports = false; 4686 4687 4688/***/ }), 4689/* 73 */ 4690/***/ (function(module, exports) { 4691 4692var ceil = Math.ceil; 4693var floor = Math.floor; 4694 4695// `ToInteger` abstract operation 4696// https://tc39.github.io/ecma262/#sec-tointeger 4697module.exports = function (argument) { 4698 return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); 4699}; 4700 4701 4702/***/ }), 4703/* 74 */ 4704/***/ (function(module, exports, __webpack_require__) { 4705 4706var has = __webpack_require__(35); 4707var toObject = __webpack_require__(33); 4708var sharedKey = __webpack_require__(214); 4709var CORRECT_PROTOTYPE_GETTER = __webpack_require__(283); 4710 4711var IE_PROTO = sharedKey('IE_PROTO'); 4712var ObjectPrototype = Object.prototype; 4713 4714// `Object.getPrototypeOf` method 4715// https://tc39.github.io/ecma262/#sec-object.getprototypeof 4716module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { 4717 O = toObject(O); 4718 if (has(O, IE_PROTO)) return O[IE_PROTO]; 4719 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 4720 return O.constructor.prototype; 4721 } return O instanceof Object ? ObjectPrototype : null; 4722}; 4723 4724 4725/***/ }), 4726/* 75 */ 4727/***/ (function(module, exports, __webpack_require__) { 4728 4729"use strict"; 4730 4731var $ = __webpack_require__(2); 4732var fails = __webpack_require__(11); 4733var isArray = __webpack_require__(133); 4734var isObject = __webpack_require__(19); 4735var toObject = __webpack_require__(33); 4736var toLength = __webpack_require__(28); 4737var createProperty = __webpack_require__(134); 4738var arraySpeciesCreate = __webpack_require__(171); 4739var arrayMethodHasSpeciesSupport = __webpack_require__(175); 4740var wellKnownSymbol = __webpack_require__(23); 4741var V8_VERSION = __webpack_require__(176); 4742 4743var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); 4744var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 4745var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; 4746 4747// We can't use this feature detection in V8 since it causes 4748// deoptimization and serious performance degradation 4749// https://github.com/zloirock/core-js/issues/679 4750var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { 4751 var array = []; 4752 array[IS_CONCAT_SPREADABLE] = false; 4753 return array.concat()[0] !== array; 4754}); 4755 4756var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); 4757 4758var isConcatSpreadable = function (O) { 4759 if (!isObject(O)) return false; 4760 var spreadable = O[IS_CONCAT_SPREADABLE]; 4761 return spreadable !== undefined ? !!spreadable : isArray(O); 4762}; 4763 4764var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; 4765 4766// `Array.prototype.concat` method 4767// https://tc39.github.io/ecma262/#sec-array.prototype.concat 4768// with adding support of @@isConcatSpreadable and @@species 4769$({ target: 'Array', proto: true, forced: FORCED }, { 4770 concat: function concat(arg) { // eslint-disable-line no-unused-vars 4771 var O = toObject(this); 4772 var A = arraySpeciesCreate(O, 0); 4773 var n = 0; 4774 var i, k, length, len, E; 4775 for (i = -1, length = arguments.length; i < length; i++) { 4776 E = i === -1 ? O : arguments[i]; 4777 if (isConcatSpreadable(E)) { 4778 len = toLength(E.length); 4779 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 4780 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); 4781 } else { 4782 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 4783 createProperty(A, n++, E); 4784 } 4785 } 4786 A.length = n; 4787 return A; 4788 } 4789}); 4790 4791 4792/***/ }), 4793/* 76 */, 4794/* 77 */ 4795/***/ (function(module, exports, __webpack_require__) { 4796 4797"use strict"; 4798 4799var $ = __webpack_require__(2); 4800var $map = __webpack_require__(46).map; 4801var arrayMethodHasSpeciesSupport = __webpack_require__(175); 4802var arrayMethodUsesToLength = __webpack_require__(63); 4803 4804var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); 4805// FF49- issue 4806var USES_TO_LENGTH = arrayMethodUsesToLength('map'); 4807 4808// `Array.prototype.map` method 4809// https://tc39.github.io/ecma262/#sec-array.prototype.map 4810// with adding support of @@species 4811$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 4812 map: function map(callbackfn /* , thisArg */) { 4813 return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4814 } 4815}); 4816 4817 4818/***/ }), 4819/* 78 */, 4820/* 79 */ 4821/***/ (function(module, exports, __webpack_require__) { 4822 4823var isObject = __webpack_require__(19); 4824 4825// `ToPrimitive` abstract operation 4826// https://tc39.github.io/ecma262/#sec-toprimitive 4827// instead of the ES6 spec version, we didn't implement @@toPrimitive case 4828// and the second argument - flag - preferred type is a string 4829module.exports = function (input, PREFERRED_STRING) { 4830 if (!isObject(input)) return input; 4831 var fn, val; 4832 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 4833 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; 4834 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 4835 throw TypeError("Can't convert object to primitive value"); 4836}; 4837 4838 4839/***/ }), 4840/* 80 */ 4841/***/ (function(module, exports, __webpack_require__) { 4842 4843var defineProperty = __webpack_require__(30).f; 4844var has = __webpack_require__(35); 4845var wellKnownSymbol = __webpack_require__(23); 4846 4847var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 4848 4849module.exports = function (it, TAG, STATIC) {
4850 if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { 4851 defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); 4852 } 4853}; 4854 4855 4856/***/ }), 4857/* 81 */ 4858/***/ (function(module, exports, __webpack_require__) { 4859 4860// extracted by mini-css-extract-plugin 4861module.exports = {"visuallyHidden":"FaveButton-module__visuallyHidden--1IKOa","buttoncontainer":"FaveButton-module__buttoncontainer--106Z2","button":"FaveButton-module__button--2kGy8","hover":"FaveButton-module__hover--3YDK-","nohover":"FaveButton-module__nohover--3nU5M","faved":"FaveButton-module__faved--VkuE0","dark":"FaveButton-module__dark--3jhHY"}; 4862 4863/***/ }), 4864/* 82 */ 4865/***/ (function(module, exports, __webpack_require__) { 4866 4867// extracted by mini-css-extract-plugin 4868module.exports = {"visuallyHidden":"FaveTip-module__visuallyHidden--3kYwb","closeText":"FaveTip-module__closeText--1rMKD","faveTipText":"FaveTip-module__faveTipText--2T5Ts","faveTipHeader":"FaveTip-module__faveTipHeader--1Spf9","faveTipContainer":"FaveTip-module__faveTipContainer--1IUs5","tip":"FaveTip-module__tip--2rlPH","faveTipContainerInner":"FaveTip-module__faveTipContainerInner--1kJnY","heartIcon":"FaveTip-module__heartIcon--61Yh9"}; 4869 4870/***/ }), 4871/* 83 */ 4872/***/ (function(module, exports, __webpack_require__) { 4873 4874// extracted by mini-css-extract-plugin 4875module.exports = {"visuallyHidden":"SearchPanel-module__visuallyHidden--38n8o","searchForm":"SearchPanel-module__searchForm--2vBYV","input":"SearchPanel-module__input--14-fI","errorContainer":"SearchPanel-module__errorContainer--3KhmD","errorInner":"SearchPanel-module__errorInner--2_P7e","errorText":"SearchPanel-module__errorText--25H4x","errorTitle":"SearchPanel-module__errorTitle--3I-Id","header":"SearchPanel-module__header--NpUXt","title":"SearchPanel-module__title--3ixas","button":"SearchPanel-module__button--11IkS","wrap":"SearchPanel-module__wrap--2NLy5","searchPanelContainer":"SearchPanel-module__searchPanelContainer--3gkCD","panel":"SearchPanel-module__panel--M6apk","searchIcon":"SearchPanel-module__searchIcon--li_8i","spinner":"SearchPanel-module__spinner--2ztQG"}; 4876 4877/***/ }), 4878/* 84 */, 4879/* 85 */, 4880/* 86 */ 4881/***/ (function(module, exports, __webpack_require__) { 4882 4883// extracted by mini-css-extract-plugin 4884module.exports = {"visuallyHidden":"NowPlayingWidget-module__visuallyHidden--3QypZ","header":"NowPlayingWidget-module__header--2jl-6","subtitle":"NowPlayingWidget-module__subtitle--2dLMP","title":"NowPlayingWidget-module__title--rYyMw","description":"NowPlayingWidget-module__description--3iaY6","time":"NowPlayingWidget-module__time--2BY1y","wrap":"NowPlayingWidget-module__wrap--37HU8","stacked":"NowPlayingWidget-module__stacked--3dtg0","body":"NowPlayingWidget-module__body--7rynT","details":"NowPlayingWidget-module__details--qhtjh","nowPlaying":"NowPlayingWidget-module__nowPlaying--2AiZH","expanded":"NowPlayingWidget-module__expanded--3QKxa","compact":"NowPlayingWidget-module__compact---v5sF","figure":"NowPlayingWidget-module__figure--2qTLm","stationLogo":"NowPlayingWidget-module__stationLogo--wdLKs","live":"NowPlayingWidget-module__live--1aaGA","od":"NowPlayingWidget-module__od--tym1H","info":"NowPlayingWidget-module__info--2gWEY","list":"NowPlayingWidget-module__list--39cB3","hiddenWhenExpanded":"NowPlayingWidget-module__hiddenWhenExpanded--10euZ","songbox":"NowPlayingWidget-module__songbox--sRFzb","oldsong":"NowPlayingWidget-module__oldsong--26n0g","current":"NowPlayingWidget-module__current--2e0iA","fade":"NowPlayingWidget-module__fade--3q2Zk"}; 4885 4886/***/ }), 4887/* 87 */ 4888/***/ (function(module, exports, __webpack_require__) { 4889 4890"use strict"; 4891 4892var $ = __webpack_require__(2); 4893var forEach = __webpack_require__(369); 4894 4895// `Array.prototype.forEach` method 4896// https://tc39.github.io/ecma262/#sec-array.prototype.foreach 4897$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { 4898 forEach: forEach 4899}); 4900 4901 4902/***/ }), 4903/* 88 */ 4904/***/ (function(module, exports, __webpack_require__) { 4905 4906var global = __webpack_require__(16); 4907var DOMIterables = __webpack_require__(391); 4908var forEach = __webpack_require__(369); 4909var createNonEnumerableProperty = __webpack_require__(53); 4910 4911for (var COLLECTION_NAME in DOMIterables) { 4912 var Collection = global[COLLECTION_NAME]; 4913 var CollectionPrototype = Collection && Collection.prototype; 4914 // some Chrome versions have non-configurable methods on DOMTokenList 4915 if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { 4916 createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); 4917 } catch (error) { 4918 CollectionPrototype.forEach = forEach; 4919 } 4920} 4921 4922 4923/***/ }), 4924/* 89 */ 4925/***/ (function(module, exports, __webpack_require__) { 4926 4927var $ = __webpack_require__(2); 4928var toObject = __webpack_require__(33); 4929var nativeKeys = __webpack_require__(170); 4930var fails = __webpack_require__(11); 4931 4932var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); 4933 4934// `Object.keys` method 4935// https://tc39.github.io/ecma262/#sec-object.keys 4936$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 4937 keys: function keys(it) { 4938 return nativeKeys(toObject(it)); 4939 } 4940}); 4941 4942 4943/***/ }), 4944/* 90 */, 4945/* 91 */ 4946/***/ (function(module, exports, __webpack_require__) { 4947 4948// extracted by mini-css-extract-plugin
vendor: 7,524 bytes, lines 4949-5077
4949module.exports = {"visuallyHidden":"TransportControls-module__visuallyHidden--16k1X","prompt":"TransportControls-module__prompt--2mGLh","wrapper":"TransportControls-module__wrapper--3YThJ","dark":"TransportControls-module__dark--3fzWJ","body":"TransportControls-module__body--2P9Fx","noscrubs":"TransportControls-module__noscrubs---BwC0","buttonsouter":"TransportControls-module__buttonsouter--39SGI","buttons":"TransportControls-module__buttons--10vuI","compact":"TransportControls-module__compact--2OueO","stalled":"TransportControls-module__stalled--3DBdd","meta":"TransportControls-module__meta--39_gq","fave":"TransportControls-module__fave--9CELW"}; 4950 4951/***/ }), 4952/* 92 */ 4953/***/ (function(module, exports, __webpack_require__) { 4954 4955var anObject = __webpack_require__(20); 4956var defineProperties = __webpack_require__(282); 4957var enumBugKeys = __webpack_require__(279); 4958var hiddenKeys = __webpack_require__(166); 4959var html = __webpack_require__(361); 4960var documentCreateElement = __webpack_require__(273); 4961var sharedKey = __webpack_require__(214); 4962 4963var GT = '>'; 4964var LT = '<'; 4965var PROTOTYPE = 'prototype'; 4966var SCRIPT = 'script'; 4967var IE_PROTO = sharedKey('IE_PROTO'); 4968 4969var EmptyConstructor = function () { /* empty */ }; 4970 4971var scriptTag = function (content) { 4972 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 4973}; 4974 4975// Create object with fake `null` prototype: use ActiveX Object with cleared prototype 4976var NullProtoObjectViaActiveX = function (activeXDocument) { 4977 activeXDocument.write(scriptTag('')); 4978 activeXDocument.close(); 4979 var temp = activeXDocument.parentWindow.Object; 4980 activeXDocument = null; // avoid memory leak 4981 return temp; 4982}; 4983 4984// Create object with fake `null` prototype: use iframe Object with cleared prototype 4985var NullProtoObjectViaIFrame = function () { 4986 // Thrash, waste and sodomy: IE GC bug 4987 var iframe = documentCreateElement('iframe'); 4988 var JS = 'java' + SCRIPT + ':'; 4989 var iframeDocument; 4990 iframe.style.display = 'none'; 4991 html.appendChild(iframe); 4992 // https://github.com/zloirock/core-js/issues/475 4993 iframe.src = String(JS); 4994 iframeDocument = iframe.contentWindow.document; 4995 iframeDocument.open(); 4996 iframeDocument.write(scriptTag('document.F=Object')); 4997 iframeDocument.close(); 4998 return iframeDocument.F; 4999}; 5000 5001// Check for document.domain and active x support 5002// No need to use active x approach when document.domain is not set 5003// see https://github.com/es-shims/es5-shim/issues/150 5004// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 5005// avoid IE GC bug 5006var activeXDocument; 5007var NullProtoObject = function () { 5008 try { 5009 /* global ActiveXObject */ 5010 activeXDocument = document.domain && new ActiveXObject('htmlfile'); 5011 } catch (error) { /* ignore */ } 5012 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); 5013 var length = enumBugKeys.length; 5014 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 5015 return NullProtoObject(); 5016}; 5017 5018hiddenKeys[IE_PROTO] = true; 5019 5020// `Object.create` method 5021// https://tc39.github.io/ecma262/#sec-object.create 5022module.exports = Object.create || function create(O, Properties) { 5023 var result; 5024 if (O !== null) { 5025 EmptyConstructor[PROTOTYPE] = anObject(O); 5026 result = new EmptyConstructor(); 5027 EmptyConstructor[PROTOTYPE] = null; 5028 // add "__proto__" for Object.getPrototypeOf polyfill 5029 result[IE_PROTO] = O; 5030 } else result = NullProtoObject(); 5031 return Properties === undefined ? result : defineProperties(result, Properties); 5032}; 5033 5034 5035/***/ }), 5036/* 93 */ 5037/***/ (function(module, exports, __webpack_require__) { 5038 5039"use strict"; 5040 5041var $ = __webpack_require__(2); 5042var exec = __webpack_require__(221); 5043 5044$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { 5045 exec: exec 5046}); 5047 5048 5049/***/ }), 5050/* 94 */, 5051/* 95 */ 5052/***/ (function(module, __webpack_exports__, __webpack_require__) { 5053 5054"use strict"; 5055/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71); 5056/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__); 5057/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70); 5058/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__); 5059/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87); 5060/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__); 5061/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98); 5062/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__); 5063/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(99); 5064/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4__); 5065/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89); 5066/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5__); 5067/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(88); 5068/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6__); 5069/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6); 5070/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__); 5071/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(15); 5072/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__); 5073/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(60); 5074/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__); 5075/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(13); 5076/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__); 5077/* harmony import */ var fetch_jsonp__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(47
50777); 5078/* harmony import */ var fetch_jsonp__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(fetch_jsonp__WEBPACK_IMPORTED_MODULE_11__); 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 5092 5093function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 5094 5095 5096 5097function fetchJsonpWrapper(_x) { 5098 return _fetchJsonpWrapper.apply(this, arguments); 5099} 5100 5101function _fetchJsonpWrapper() { 5102 _fetchJsonpWrapper = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark(function _callee(url) { 5103 var options, 5104 _options, 5105 x, 5106 _args = arguments; 5107 5108 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap(function _callee$(_context) { 5109 while (1) { 5110 switch (_context.prev = _context.next) { 5111 case 0: 5112 options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; 5113 _options = _objectSpread({ 5114 // timeout matches the default for the previous lib (jsonp-promise) 5115 timeout: 15000, 5116 // hardcoded jsonp fn name, else it will have a dynamic name. 5117 // If this needs to be removed, check if it's being utilised evverywhere 5118 // it needs to - e.g. in the case of caching server-side. 5119 // see (https://github.com/camsong/fetch-jsonp#difference-between-jsonpcallback-and-jsonpcallbackfunction) 5120 jsonpCallbackFunction: "cb" 5121 }, options); 5122 _context.next = 4; 5123 return fetch_jsonp__WEBPACK_IMPORTED_MODULE_11___default()(url, _options); 5124 5125 case 4: 5126 x = _context.sent; 5127 return _context.abrupt("return", x); 5128 5129 case 6: 5130 case "end": 5131 return _context.stop(); 5132 } 5133 } 5134 }, _callee); 5135 })); 5136 return _fetchJsonpWrapper.apply(this, arguments); 5137} 5138 5139/* harmony default export */ __webpack_exports__["a"] = (fetchJsonpWrapper); 5140 5141/***/ }), 5142/* 96 */ 5143/***/ (function(module, exports, __webpack_require__) { 5144 5145// extracted by mini-css-extract-plugin 5146module.exports = {"visuallyHidden":"SearchSuggestions-module__visuallyHidden--15sYu","quickSearch":"SearchSuggestions-module__quickSearch--1vvHb","title":"SearchSuggestions-module__title--1cCFQ","container":"SearchSuggestions-module__container--3sdSS","section":"SearchSuggestions-module__section--CrHik","suggestions":"SearchSuggestions-module__suggestions--2nefN","head":"SearchSuggestions-module__head--O2f9U","spinner":"SearchSuggestions-module__spinner--2K2U0","button":"SearchSuggestions-module__button--36MMW"}; 5147 5148/***/ }), 5149/* 97 */, 5150/* 98 */ 5151/***/ (function(module, exports, __webpack_require__) { 5152 5153var $ = __webpack_require__(2); 5154var fails = __webpack_require__(11); 5155var toIndexedObject = __webpack_require__(66); 5156var nativeGetOwnPropertyDescriptor = __webpack_require__(51).f; 5157var DESCRIPTORS = __webpack_require__(21); 5158 5159var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); 5160var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; 5161 5162// `Object.getOwnPropertyDescriptor` method 5163// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor 5164$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { 5165 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { 5166 return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); 5167 } 5168}); 5169 5170 5171/***/ }), 5172/* 99 */ 5173/***/ (function(module, exports, __webpack_require__) { 5174 5175var $ = __webpack_require__(2); 5176var DESCRIPTORS = __webpack_require__(21); 5177var ownKeys = __webpack_require__(278); 5178var toIndexedObject = __webpack_require__(66); 5179var getOwnPropertyDescriptorModule = __webpack_require__(51); 5180var createProperty = __webpack_require__(134); 5181 5182// `Object.getOwnPropertyDescriptors` method 5183// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors 5184$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { 5185 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { 5186 var O = toIndexedObject(object); 5187 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 5188 var keys = ownKeys(O); 5189 var result = {}; 5190 var index = 0; 5191 var key, descriptor; 5192 while (keys.length > index) { 5193 descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); 5194 if (descriptor !== undefined) createProperty(result, key, descriptor); 5195 } 5196 return result; 5197 } 5198}); 5199 5200 5201/***/ }), 5202/* 100 */
vendor: 2,856 bytes, lines 5203-5298
5203/***/ (function(module, exports) { 5204 5205module.exports = function (bitmap, value) { 5206 return { 5207 enumerable: !(bitmap & 1), 5208 configurable: !(bitmap & 2), 5209 writable: !(bitmap & 4), 5210 value: value 5211 }; 5212}; 5213 5214 5215/***/ }), 5216/* 101 */ 5217/***/ (function(module, exports) { 5218 5219var toString = {}.toString; 5220 5221module.exports = function (it) { 5222 return toString.call(it).slice(8, -1); 5223}; 5224 5225 5226/***/ }), 5227/* 102 */ 5228/***/ (function(module, exports, __webpack_require__) { 5229 5230"use strict"; 5231 5232var fails = __webpack_require__(11); 5233 5234module.exports = function (METHOD_NAME, argument) { 5235 var method = [][METHOD_NAME]; 5236 return !!method && fails(function () { 5237 // eslint-disable-next-line no-useless-call,no-throw-literal 5238 method.call(null, argument || function () { throw 1; }, 1); 5239 }); 5240}; 5241 5242 5243/***/ }), 5244/* 103 */ 5245/***/ (function(module, exports, __webpack_require__) { 5246 5247var anObject = __webpack_require__(20); 5248var aFunction = __webpack_require__(59); 5249var wellKnownSymbol = __webpack_require__(23); 5250 5251var SPECIES = wellKnownSymbol('species'); 5252 5253// `SpeciesConstructor` abstract operation 5254// https://tc39.github.io/ecma262/#sec-speciesconstructor 5255module.exports = function (O, defaultConstructor) { 5256 var C = anObject(O).constructor; 5257 var S; 5258 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); 5259}; 5260 5261 5262/***/ }), 5263/* 104 */ 5264/***/ (function(module, exports, __webpack_require__) { 5265 5266"use strict"; 5267 5268var $ = __webpack_require__(2); 5269var global = __webpack_require__(16); 5270var DESCRIPTORS = __webpack_require__(21); 5271var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(298); 5272var ArrayBufferViewCore = __webpack_require__(29); 5273var ArrayBufferModule = __webpack_require__(230); 5274var anInstance = __webpack_require__(119); 5275var createPropertyDescriptor = __webpack_require__(100); 5276var createNonEnumerableProperty = __webpack_require__(53); 5277var toLength = __webpack_require__(28); 5278var toIndex = __webpack_require__(388); 5279var toOffset = __webpack_require__(389); 5280var toPrimitive = __webpack_require__(79); 5281var has = __webpack_require__(35); 5282var classof = __webpack_require__(174); 5283var isObject = __webpack_require__(19); 5284var create = __webpack_require__(92); 5285var setPrototypeOf = __webpack_require__(116); 5286var getOwnPropertyNames = __webpack_require__(132).f; 5287var typedArrayFrom = __webpack_require__(390); 5288var forEach = __webpack_require__(46).forEach; 5289var setSpecies = __webpack_require__(147); 5290var definePropertyModule = __webpack_require__(30); 5291var getOwnPropertyDescriptorModule = __webpack_require__(51); 5292var InternalStateModule = __webpack_require__(58); 5293var inheritIfRequired = __webpack_require__(226); 5294 5295var getInternalState = InternalStateModule.get; 5296var setInternalState = InternalStateModule.set; 5297var nativeDefineProperty = definePropertyModule.f; 5298var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
5299var round = Math.round; 5300var RangeError = global.RangeError; 5301var ArrayBuffer = ArrayBufferModule.ArrayBuffer; 5302var DataView = ArrayBufferModule.DataView; 5303var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; 5304var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; 5305var TypedArray = ArrayBufferViewCore.TypedArray; 5306var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; 5307var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 5308var isTypedArray = ArrayBufferViewCore.isTypedArray; 5309var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; 5310var WRONG_LENGTH = 'Wrong length'; 5311 5312var fromList = function (C, list) { 5313 var index = 0; 5314 var length = list.length; 5315 var result = new (aTypedArrayConstructor(C))(length); 5316 while (length > index) result[index] = list[index++]; 5317 return result; 5318}; 5319 5320var addGetter = function (it, key) { 5321 nativeDefineProperty(it, key, { get: function () { 5322 return getInternalState(this)[key]; 5323 } }); 5324}; 5325 5326var isArrayBuffer = function (it) { 5327 var klass; 5328 return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; 5329}; 5330 5331var isTypedArrayIndex = function (target, key) { 5332 return isTypedArray(target) 5333 && typeof key != 'symbol' 5334 && key in target 5335 && String(+key) == String(key); 5336}; 5337 5338var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { 5339 return isTypedArrayIndex(target, key = toPrimitive(key, true)) 5340 ? createPropertyDescriptor(2, target[key]) 5341 : nativeGetOwnPropertyDescriptor(target, key); 5342}; 5343 5344var wrappedDefineProperty = function defineProperty(target, key, descriptor) { 5345 if (isTypedArrayIndex(target, key = toPrimitive(key, true)) 5346 && isObject(descriptor) 5347 && has(descriptor, 'value') 5348 && !has(descriptor, 'get') 5349 && !has(descriptor, 'set') 5350 // TODO: add validation descriptor w/o calling accessors 5351 && !descriptor.configurable 5352 && (!has(descriptor, 'writable') || descriptor.writable) 5353 && (!has(descriptor, 'enumerable') || descriptor.enumerable) 5354 ) { 5355 target[key] = descriptor.value; 5356 return target; 5357 } return nativeDefineProperty(target, key, descriptor); 5358}; 5359 5360if (DESCRIPTORS) { 5361 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 5362 getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; 5363 definePropertyModule.f = wrappedDefineProperty; 5364 addGetter(TypedArrayPrototype, 'buffer'); 5365 addGetter(TypedArrayPrototype, 'byteOffset'); 5366 addGetter(TypedArrayPrototype, 'byteLength'); 5367 addGetter(TypedArrayPrototype, 'length'); 5368 } 5369 5370 $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { 5371 getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, 5372 defineProperty: wrappedDefineProperty 5373 }); 5374 5375 module.exports = function (TYPE, wrapper, CLAMPED) { 5376 var BYTES = TYPE.match(/\d+$/)[0] / 8; 5377 var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; 5378 var GETTER = 'get' + TYPE; 5379 var SETTER = 'set' + TYPE; 5380 var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; 5381 var TypedArrayConstructor = NativeTypedArrayConstructor; 5382 var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; 5383 var exported = {}; 5384 5385 var getter = function (that, index) { 5386 var data = getInternalState(that); 5387 return data.view[GETTER](index * BYTES + data.byteOffset, true); 5388 }; 5389 5390 var setter = function (that, index, value) { 5391 var data = getInternalState(that); 5392 if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; 5393 data.view[SETTER](index * BYTES + data.byteOffset, value, true); 5394 }; 5395 5396 var addElement = function (that, index) { 5397 nativeDefineProperty(that, index, { 5398 get: function () { 5399 return getter(this, index); 5400 }, 5401 set: function (value) { 5402 return setter(this, index, value); 5403 }, 5404 enumerable: true 5405 }); 5406 }; 5407 5408 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 5409 TypedArrayConstructor = wrapper(function (that, data, offset, $length) { 5410 anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); 5411 var index = 0; 5412 var byteOffset = 0; 5413 var buffer, byteLength, length; 5414 if (!isObject(data)) { 5415 length = toIndex(data); 5416 byteLength = length * BYTES; 5417 buffer = new ArrayBuffer(byteLength); 5418 } else if (isArrayBuffer(data)) { 5419 buffer = data; 5420 byteOffset = toOffset(offset, BYTES); 5421 var $len = data.byteLength; 5422 if ($length === undefined) { 5423 if ($len % BYTES) throw RangeError(WRONG_LENGTH); 5424 byteLength = $len - byteOffset; 5425 if (byteLength < 0) throw RangeError(WRONG_LENGTH); 5426 } else { 5427 byteLength = toLength($length) * BYTES; 5428 if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); 5429 } 5430 length = byteLength / BYTES; 5431 } else if (isTypedArray(data)) { 5432 return fromList(TypedArrayConstructor, data); 5433 } else { 5434 return typedArrayFrom.call(TypedArrayConstructor, data); 5435 } 5436 setInternalState(that, { 5437 buffer: buffer, 5438 byteOffset: byteOffset, 5439 byteLength: byteLength, 5440 length: length, 5441 view: new DataView(buffer) 5442 }); 5443 while (index < length) addElement(that, index++); 5444 }); 5445 5446 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 5447 TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); 5448 } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { 5449 TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { 5450 anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); 5451 return inheritIfRequired(function () { 5452 if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); 5453 if (isArrayBuffer(data)) return $length !== undefined 5454 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) 5455 : typedArrayOffset !== undefined 5456 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
5457 : new NativeTypedArrayConstructor(data); 5458 if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); 5459 return typedArrayFrom.call(TypedArrayConstructor, data); 5460 }(), dummy, TypedArrayConstructor); 5461 }); 5462 5463 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 5464 forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { 5465 if (!(key in TypedArrayConstructor)) { 5466 createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); 5467 } 5468 }); 5469 TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; 5470 } 5471 5472 if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { 5473 createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); 5474 } 5475 5476 if (TYPED_ARRAY_TAG) { 5477 createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); 5478 } 5479 5480 exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; 5481 5482 $({ 5483 global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS 5484 }, exported); 5485 5486 if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { 5487 createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); 5488 } 5489 5490 if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { 5491 createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); 5492 } 5493 5494 setSpecies(CONSTRUCTOR_NAME); 5495 }; 5496} else module.exports = function () { /* empty */ }; 5497 5498 5499/***/ }), 5500/* 105 */ 5501/***/ (function(module, exports, __webpack_require__) { 5502 5503var TO_STRING_TAG_SUPPORT = __webpack_require__(285); 5504var redefine = __webpack_require__(54); 5505var toString = __webpack_require__(586); 5506 5507// `Object.prototype.toString` method 5508// https://tc39.github.io/ecma262/#sec-object.prototype.tostring 5509if (!TO_STRING_TAG_SUPPORT) { 5510 redefine(Object.prototype, 'toString', toString, { unsafe: true }); 5511} 5512 5513 5514/***/ }), 5515/* 106 */, 5516/* 107 */ 5517/***/ (function(module, exports, __webpack_require__) { 5518 5519// extracted by mini-css-extract-plugin 5520module.exports = {"visuallyHidden":"Spinner-module__visuallyHidden--2ged0","loading":"Spinner-module__loading--1qcti","spinner":"Spinner-module__spinner--3yk9s","anim-spinner":"Spinner-module__anim-spinner--2O-ni","circle":"Spinner-module__circle--1kuj2","circleinner":"Spinner-module__circleinner--2zFwd","anim-circle-1":"Spinner-module__anim-circle-1--1jdMN","circle2":"Spinner-module__circle2--10QQN","anim-circle-2":"Spinner-module__anim-circle-2--zLoCR"}; 5521 5522/***/ }), 5523/* 108 */ 5524/***/ (function(module, exports, __webpack_require__) { 5525 5526// extracted by mini-css-extract-plugin 5527module.exports = {"visuallyHidden":"SearchHistory-module__visuallyHidden--23PqC","searchHistoryList":"SearchHistory-module__searchHistoryList--Uc71N","searchHistoryButton":"SearchHistory-module__searchHistoryButton--1JpXo","wrapper":"SearchHistory-module__wrapper--33z5i","term":"SearchHistory-module__term--7mvMT","searchHistoryTitle":"SearchHistory-module__searchHistoryTitle--1NpR9","icon":"SearchHistory-module__icon--3pNtz"}; 5528 5529/***/ }), 5530/* 109 */, 5531/* 110 */ 5532/***/ (function(module, __webpack_exports__, __webpack_require__) { 5533 5534"use strict"; 5535/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; }); 5536function _assertThisInitialized(self) { 5537 if (self === void 0) { 5538 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 5539 } 5540 5541 return self; 5542} 5543 5544/***/ }), 5545/* 111 */ 5546/***/ (function(module, exports, __webpack_require__) { 5547 5548// extracted by mini-css-extract-plugin 5549module.exports = {"visuallyHidden":"FavouritesList-module__visuallyHidden--3Blqu","title":"FavouritesList-module__title--qTplR","card":"FavouritesList-module__card--1Eg5e ContentCard-module__card--1Ds0J","info":"FavouritesList-module__info--uujA9","empty":"FavouritesList-module__empty--9RO3s","sub":"FavouritesList-module__sub--rZoHD","wrap":"FavouritesList-module__wrap--2FZaN","head":"FavouritesList-module__head--AqpNM","buttons":"FavouritesList-module__buttons--3ZY6s","swoosh":"FavouritesList-module__swoosh--3l_hE"}; 5550 5551/***/ }), 5552/* 112 */, 5553/* 113 */ 5554/***/ (function(module, exports, __webpack_require__) { 5555 5556"use strict"; 5557/* WEBPACK VAR INJECTION */(function(global) {/*! 5558 * The buffer module from node.js, for the browser. 5559 * 5560 * @author Feross Aboukhadijeh <http://feross.org> 5561 * @license MIT 5562 */ 5563/* eslint-disable no-proto */ 5564 5565 5566 5567var base64 = __webpack_require__(340) 5568var ieee754 = __webpack_require__(341) 5569var isArray = __webpack_require__(342
vendor: 6,472 bytes, lines 5569-5791
5569) 5570 5571exports.Buffer = Buffer 5572exports.SlowBuffer = SlowBuffer 5573exports.INSPECT_MAX_BYTES = 50 5574 5575/** 5576 * If `Buffer.TYPED_ARRAY_SUPPORT`: 5577 * === true Use Uint8Array implementation (fastest) 5578 * === false Use Object implementation (most compatible, even IE6) 5579 * 5580 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, 5581 * Opera 11.6+, iOS 4.2+. 5582 * 5583 * Due to various browser bugs, sometimes the Object implementation will be used even 5584 * when the browser supports typed arrays. 5585 * 5586 * Note: 5587 * 5588 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, 5589 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. 5590 * 5591 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. 5592 * 5593 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of 5594 * incorrect length in some situations. 5595 5596 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they 5597 * get the Object implementation, which is slower but behaves correctly. 5598 */ 5599Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined 5600 ? global.TYPED_ARRAY_SUPPORT 5601 : typedArraySupport() 5602 5603/* 5604 * Export kMaxLength after typed array support is determined. 5605 */ 5606exports.kMaxLength = kMaxLength() 5607 5608function typedArraySupport () { 5609 try { 5610 var arr = new Uint8Array(1) 5611 arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} 5612 return arr.foo() === 42 && // typed array instances can be augmented 5613 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` 5614 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` 5615 } catch (e) { 5616 return false 5617 } 5618} 5619 5620function kMaxLength () { 5621 return Buffer.TYPED_ARRAY_SUPPORT 5622 ? 0x7fffffff 5623 : 0x3fffffff 5624} 5625 5626function createBuffer (that, length) { 5627 if (kMaxLength() < length) { 5628 throw new RangeError('Invalid typed array length') 5629 } 5630 if (Buffer.TYPED_ARRAY_SUPPORT) { 5631 // Return an augmented `Uint8Array` instance, for best performance 5632 that = new Uint8Array(length) 5633 that.__proto__ = Buffer.prototype 5634 } else { 5635 // Fallback: Return an object instance of the Buffer class 5636 if (that === null) { 5637 that = new Buffer(length) 5638 } 5639 that.length = length 5640 } 5641 5642 return that 5643} 5644 5645/** 5646 * The Buffer constructor returns instances of `Uint8Array` that have their 5647 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of 5648 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods 5649 * and the `Uint8Array` methods. Square bracket notation works as expected -- it 5650 * returns a single octet. 5651 * 5652 * The `Uint8Array` prototype remains unmodified. 5653 */ 5654 5655function Buffer (arg, encodingOrOffset, length) { 5656 if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { 5657 return new Buffer(arg, encodingOrOffset, length) 5658 } 5659 5660 // Common case. 5661 if (typeof arg === 'number') { 5662 if (typeof encodingOrOffset === 'string') { 5663 throw new Error( 5664 'If encoding is specified then the first argument must be a string' 5665 ) 5666 } 5667 return allocUnsafe(this, arg) 5668 } 5669 return from(this, arg, encodingOrOffset, length) 5670} 5671 5672Buffer.poolSize = 8192 // not used by this implementation 5673 5674// TODO: Legacy, not needed anymore. Remove in next major version. 5675Buffer._augment = function (arr) { 5676 arr.__proto__ = Buffer.prototype 5677 return arr 5678} 5679 5680function from (that, value, encodingOrOffset, length) { 5681 if (typeof value === 'number') { 5682 throw new TypeError('"value" argument must not be a number') 5683 } 5684 5685 if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { 5686 return fromArrayBuffer(that, value, encodingOrOffset, length) 5687 } 5688 5689 if (typeof value === 'string') { 5690 return fromString(that, value, encodingOrOffset) 5691 } 5692 5693 return fromObject(that, value) 5694} 5695 5696/** 5697 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError 5698 * if value is a number. 5699 * Buffer.from(str[, encoding]) 5700 * Buffer.from(array) 5701 * Buffer.from(buffer) 5702 * Buffer.from(arrayBuffer[, byteOffset[, length]]) 5703 **/ 5704Buffer.from = function (value, encodingOrOffset, length) { 5705 return from(null, value, encodingOrOffset, length) 5706} 5707 5708if (Buffer.TYPED_ARRAY_SUPPORT) { 5709 Buffer.prototype.__proto__ = Uint8Array.prototype 5710 Buffer.__proto__ = Uint8Array 5711 if (typeof Symbol !== 'undefined' && Symbol.species && 5712 Buffer[Symbol.species] === Buffer) { 5713 // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 5714 Object.defineProperty(Buffer, Symbol.species, { 5715 value: null, 5716 configurable: true 5717 }) 5718 } 5719} 5720 5721function assertSize (size) { 5722 if (typeof size !== 'number') { 5723 throw new TypeError('"size" argument must be a number') 5724 } else if (size < 0) { 5725 throw new RangeError('"size" argument must not be negative') 5726 } 5727} 5728 5729function alloc (that, size, fill, encoding) { 5730 assertSize(size) 5731 if (size <= 0) { 5732 return createBuffer(that, size) 5733 } 5734 if (fill !== undefined) { 5735 // Only pay attention to encoding if it's a string. This 5736 // prevents accidentally sending in a number that would 5737 // be interpretted as a start offset. 5738 return typeof encoding === 'string' 5739 ? createBuffer(that, size).fill(fill, encoding) 5740 : createBuffer(that, size).fill(fill) 5741 } 5742 return createBuffer(that, size) 5743} 5744 5745/** 5746 * Creates a new filled Buffer instance. 5747 * alloc(size[, fill[, encoding]]) 5748 **/ 5749Buffer.alloc = function (size, fill, encoding) { 5750 return alloc(null, size, fill, encoding) 5751} 5752 5753function allocUnsafe (that, size) { 5754 assertSize(size) 5755 that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) 5756 if (!Buffer.TYPED_ARRAY_SUPPORT) { 5757 for (var i = 0; i < size; ++i) { 5758 that[i] = 0 5759 } 5760 } 5761 return that 5762} 5763 5764/** 5765 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. 5766 * */ 5767Buffer.allocUnsafe = function (size) { 5768 return allocUnsafe(null, size) 5769} 5770/** 5771 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. 5772 */ 5773Buffer.allocUnsafeSlow = function (size) { 5774 return allocUnsafe(null, size) 5775} 5776 5777function fromString (that, string, encoding) { 5778 if (typeof encoding !== 'string' || encoding === '') { 5779 encoding = 'utf8' 5780 } 5781 5782 if (!Buffer.isEncoding(encoding)) { 5783 throw new TypeError('"encoding" must be a valid string encoding') 5784 } 5785 5786 var length = byteLength(string, encoding) | 0 5787 that = createBuffer(that, length) 5788 5789 var actual = that.write(string, encoding) 5790 5791 if (actual !== length) {
vendor: 8,522 bytes, lines 5792-6139
5792 // Writing a hex string, for example, that contains invalid characters will 5793 // cause everything after the first invalid character to be ignored. (e.g. 5794 // 'abxxcd' will be treated as 'ab') 5795 that = that.slice(0, actual) 5796 } 5797 5798 return that 5799} 5800 5801function fromArrayLike (that, array) { 5802 var length = array.length < 0 ? 0 : checked(array.length) | 0 5803 that = createBuffer(that, length) 5804 for (var i = 0; i < length; i += 1) { 5805 that[i] = array[i] & 255 5806 } 5807 return that 5808} 5809 5810function fromArrayBuffer (that, array, byteOffset, length) { 5811 array.byteLength // this throws if `array` is not a valid ArrayBuffer 5812 5813 if (byteOffset < 0 || array.byteLength < byteOffset) { 5814 throw new RangeError('\'offset\' is out of bounds') 5815 } 5816 5817 if (array.byteLength < byteOffset + (length || 0)) { 5818 throw new RangeError('\'length\' is out of bounds') 5819 } 5820 5821 if (byteOffset === undefined && length === undefined) { 5822 array = new Uint8Array(array) 5823 } else if (length === undefined) { 5824 array = new Uint8Array(array, byteOffset) 5825 } else { 5826 array = new Uint8Array(array, byteOffset, length) 5827 } 5828 5829 if (Buffer.TYPED_ARRAY_SUPPORT) { 5830 // Return an augmented `Uint8Array` instance, for best performance 5831 that = array 5832 that.__proto__ = Buffer.prototype 5833 } else { 5834 // Fallback: Return an object instance of the Buffer class 5835 that = fromArrayLike(that, array) 5836 } 5837 return that 5838} 5839 5840function fromObject (that, obj) { 5841 if (Buffer.isBuffer(obj)) { 5842 var len = checked(obj.length) | 0 5843 that = createBuffer(that, len) 5844 5845 if (that.length === 0) { 5846 return that 5847 } 5848 5849 obj.copy(that, 0, 0, len) 5850 return that 5851 } 5852 5853 if (obj) { 5854 if ((typeof ArrayBuffer !== 'undefined' && 5855 obj.buffer instanceof ArrayBuffer) || 'length' in obj) { 5856 if (typeof obj.length !== 'number' || isnan(obj.length)) { 5857 return createBuffer(that, 0) 5858 } 5859 return fromArrayLike(that, obj) 5860 } 5861 5862 if (obj.type === 'Buffer' && isArray(obj.data)) { 5863 return fromArrayLike(that, obj.data) 5864 } 5865 } 5866 5867 throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') 5868} 5869 5870function checked (length) { 5871 // Note: cannot use `length < kMaxLength()` here because that fails when 5872 // length is NaN (which is otherwise coerced to zero.) 5873 if (length >= kMaxLength()) { 5874 throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 5875 'size: 0x' + kMaxLength().toString(16) + ' bytes') 5876 } 5877 return length | 0 5878} 5879 5880function SlowBuffer (length) { 5881 if (+length != length) { // eslint-disable-line eqeqeq 5882 length = 0 5883 } 5884 return Buffer.alloc(+length) 5885} 5886 5887Buffer.isBuffer = function isBuffer (b) { 5888 return !!(b != null && b._isBuffer) 5889} 5890 5891Buffer.compare = function compare (a, b) { 5892 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { 5893 throw new TypeError('Arguments must be Buffers') 5894 } 5895 5896 if (a === b) return 0 5897 5898 var x = a.length 5899 var y = b.length 5900 5901 for (var i = 0, len = Math.min(x, y); i < len; ++i) { 5902 if (a[i] !== b[i]) { 5903 x = a[i] 5904 y = b[i] 5905 break 5906 } 5907 } 5908 5909 if (x < y) return -1 5910 if (y < x) return 1 5911 return 0 5912} 5913 5914Buffer.isEncoding = function isEncoding (encoding) { 5915 switch (String(encoding).toLowerCase()) { 5916 case 'hex': 5917 case 'utf8': 5918 case 'utf-8': 5919 case 'ascii': 5920 case 'latin1': 5921 case 'binary': 5922 case 'base64': 5923 case 'ucs2': 5924 case 'ucs-2': 5925 case 'utf16le': 5926 case 'utf-16le': 5927 return true 5928 default: 5929 return false 5930 } 5931} 5932 5933Buffer.concat = function concat (list, length) { 5934 if (!isArray(list)) { 5935 throw new TypeError('"list" argument must be an Array of Buffers') 5936 } 5937 5938 if (list.length === 0) { 5939 return Buffer.alloc(0) 5940 } 5941 5942 var i 5943 if (length === undefined) { 5944 length = 0 5945 for (i = 0; i < list.length; ++i) { 5946 length += list[i].length 5947 } 5948 } 5949 5950 var buffer = Buffer.allocUnsafe(length) 5951 var pos = 0 5952 for (i = 0; i < list.length; ++i) { 5953 var buf = list[i] 5954 if (!Buffer.isBuffer(buf)) { 5955 throw new TypeError('"list" argument must be an Array of Buffers') 5956 } 5957 buf.copy(buffer, pos) 5958 pos += buf.length 5959 } 5960 return buffer 5961} 5962 5963function byteLength (string, encoding) { 5964 if (Buffer.isBuffer(string)) { 5965 return string.length 5966 } 5967 if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && 5968 (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { 5969 return string.byteLength 5970 } 5971 if (typeof string !== 'string') { 5972 string = '' + string 5973 } 5974 5975 var len = string.length 5976 if (len === 0) return 0 5977 5978 // Use a for loop to avoid recursion 5979 var loweredCase = false 5980 for (;;) { 5981 switch (encoding) { 5982 case 'ascii': 5983 case 'latin1': 5984 case 'binary': 5985 return len 5986 case 'utf8': 5987 case 'utf-8': 5988 case undefined: 5989 return utf8ToBytes(string).length 5990 case 'ucs2': 5991 case 'ucs-2': 5992 case 'utf16le': 5993 case 'utf-16le': 5994 return len * 2 5995 case 'hex': 5996 return len >>> 1 5997 case 'base64': 5998 return base64ToBytes(string).length 5999 default: 6000 if (loweredCase) return utf8ToBytes(string).length // assume utf8 6001 encoding = ('' + encoding).toLowerCase() 6002 loweredCase = true 6003 } 6004 } 6005} 6006Buffer.byteLength = byteLength 6007 6008function slowToString (encoding, start, end) { 6009 var loweredCase = false 6010 6011 // No need to verify that "this.length <= MAX_UINT32" since it's a read-only 6012 // property of a typed array. 6013 6014 // This behaves neither like String nor Uint8Array in that we set start/end 6015 // to their upper/lower bounds if the value passed is out of range. 6016 // undefined is handled specially as per ECMA-262 6th Edition, 6017 // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. 6018 if (start === undefined || start < 0) { 6019 start = 0 6020 } 6021 // Return early if start > this.length. Done here to prevent potential uint32 6022 // coercion fail below. 6023 if (start > this.length) { 6024 return '' 6025 } 6026 6027 if (end === undefined || end > this.length) { 6028 end = this.length 6029 } 6030 6031 if (end <= 0) { 6032 return '' 6033 } 6034 6035 // Force coersion to uint32. This will also coerce falsey/NaN values to 0. 6036 end >>>= 0 6037 start >>>= 0 6038 6039 if (end <= start) { 6040 return '' 6041 } 6042 6043 if (!encoding) encoding = 'utf8' 6044 6045 while (true) { 6046 switch (encoding) { 6047 case 'hex': 6048 return hexSlice(this, start, end) 6049 6050 case 'utf8': 6051 case 'utf-8': 6052 return utf8Slice(this, start, end) 6053 6054 case 'ascii': 6055 return asciiSlice(this, start, end) 6056 6057 case 'latin1': 6058 case 'binary': 6059 return latin1Slice(this, start, end) 6060 6061 case 'base64': 6062 return base64Slice(this, start, end) 6063 6064 case 'ucs2': 6065 case 'ucs-2': 6066 case 'utf16le': 6067 case 'utf-16le': 6068 return utf16leSlice(this, start, end) 6069 6070 default: 6071 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 6072 encoding = (encoding + '').toLowerCase() 6073 loweredCase = true 6074 } 6075 } 6076} 6077 6078// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect 6079// Buffer instances. 6080Buffer.prototype._isBuffer = true 6081 6082function swap (b, n, m) { 6083 var i = b[n] 6084 b[n] = b[m] 6085 b[m] = i 6086} 6087 6088Buffer.prototype.swap16 = function swap16 () { 6089 var len = this.length 6090 if (len % 2 !== 0) { 6091 throw new RangeError('Buffer size must be a multiple of 16-bits') 6092 } 6093 for (var i = 0; i < len; i += 2) { 6094 swap(this, i, i + 1) 6095 } 6096 return this 6097} 6098 6099Buffer.prototype.swap32 = function swap32 () { 6100 var len = this.length 6101 if (len % 4 !== 0) { 6102 throw new RangeError('Buffer size must be a multiple of 32-bits') 6103 } 6104 for (var i = 0; i < len; i += 4) { 6105 swap(this, i, i + 3) 6106 swap(this, i + 1, i + 2) 6107 } 6108 return this 6109} 6110 6111Buffer.prototype.swap64 = function swap64 () { 6112 var len = this.length 6113 if (len % 8 !== 0) { 6114 throw new RangeError('Buffer size must be a multiple of 64-bits') 6115 } 6116 for (var i = 0; i < len; i += 8) { 6117 swap(this, i, i + 7) 6118 swap(this, i + 1, i + 6) 6119 swap(this, i + 2, i + 5) 6120 swap(this, i + 3, i + 4) 6121 } 6122 return this 6123} 6124 6125Buffer.prototype.toString = function toString () { 6126 var length = this.length | 0 6127 if (length === 0) return '' 6128 if (arguments.length === 0) return utf8Slice(this, 0, length) 6129 return slowToString.apply(this, arguments) 6130} 6131 6132Buffer.prototype.equals = function equals (b) { 6133 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') 6134 if (this === b) return true 6135 return Buffer.compare(this, b) === 0 6136} 6137 6138Buffer.prototype.inspect = function inspect () { 6139 var str = ''
vendor: 2,989 bytes, lines 6140-6252
6140 var max = exports.INSPECT_MAX_BYTES 6141 if (this.length > 0) { 6142 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') 6143 if (this.length > max) str += ' ... ' 6144 } 6145 return '<Buffer ' + str + '>' 6146} 6147 6148Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { 6149 if (!Buffer.isBuffer(target)) { 6150 throw new TypeError('Argument must be a Buffer') 6151 } 6152 6153 if (start === undefined) { 6154 start = 0 6155 } 6156 if (end === undefined) { 6157 end = target ? target.length : 0 6158 } 6159 if (thisStart === undefined) { 6160 thisStart = 0 6161 } 6162 if (thisEnd === undefined) { 6163 thisEnd = this.length 6164 } 6165 6166 if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { 6167 throw new RangeError('out of range index') 6168 } 6169 6170 if (thisStart >= thisEnd && start >= end) { 6171 return 0 6172 } 6173 if (thisStart >= thisEnd) { 6174 return -1 6175 } 6176 if (start >= end) { 6177 return 1 6178 } 6179 6180 start >>>= 0 6181 end >>>= 0 6182 thisStart >>>= 0 6183 thisEnd >>>= 0 6184 6185 if (this === target) return 0 6186 6187 var x = thisEnd - thisStart 6188 var y = end - start 6189 var len = Math.min(x, y) 6190 6191 var thisCopy = this.slice(thisStart, thisEnd) 6192 var targetCopy = target.slice(start, end) 6193 6194 for (var i = 0; i < len; ++i) { 6195 if (thisCopy[i] !== targetCopy[i]) { 6196 x = thisCopy[i] 6197 y = targetCopy[i] 6198 break 6199 } 6200 } 6201 6202 if (x < y) return -1 6203 if (y < x) return 1 6204 return 0 6205} 6206 6207// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, 6208// OR the last index of `val` in `buffer` at offset <= `byteOffset`. 6209// 6210// Arguments: 6211// - buffer - a Buffer to search 6212// - val - a string, Buffer, or number 6213// - byteOffset - an index into `buffer`; will be clamped to an int32 6214// - encoding - an optional encoding, relevant is val is a string 6215// - dir - true for indexOf, false for lastIndexOf 6216function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { 6217 // Empty buffer means no match 6218 if (buffer.length === 0) return -1 6219 6220 // Normalize byteOffset 6221 if (typeof byteOffset === 'string') { 6222 encoding = byteOffset 6223 byteOffset = 0 6224 } else if (byteOffset > 0x7fffffff) { 6225 byteOffset = 0x7fffffff 6226 } else if (byteOffset < -0x80000000) { 6227 byteOffset = -0x80000000 6228 } 6229 byteOffset = +byteOffset // Coerce to Number. 6230 if (isNaN(byteOffset)) { 6231 // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer 6232 byteOffset = dir ? 0 : (buffer.length - 1) 6233 } 6234 6235 // Normalize byteOffset: negative offsets start from the end of the buffer 6236 if (byteOffset < 0) byteOffset = buffer.length + byteOffset 6237 if (byteOffset >= buffer.length) { 6238 if (dir) return -1 6239 else byteOffset = buffer.length - 1 6240 } else if (byteOffset < 0) { 6241 if (dir) byteOffset = 0 6242 else return -1 6243 } 6244 6245 // Normalize val 6246 if (typeof val === 'string') { 6247 val = Buffer.from(val, encoding) 6248 } 6249 6250 // Finally, search either indexOf (if dir is true) or lastIndexOf 6251 if (Buffer.isBuffer(val)) { 6252 // Special case: looking for empty string/buffer always fail
vendor: 30,332 bytes, lines 6252-7346
6252s 6253 if (val.length === 0) { 6254 return -1 6255 } 6256 return arrayIndexOf(buffer, val, byteOffset, encoding, dir) 6257 } else if (typeof val === 'number') { 6258 val = val & 0xFF // Search for a byte value [0-255] 6259 if (Buffer.TYPED_ARRAY_SUPPORT && 6260 typeof Uint8Array.prototype.indexOf === 'function') { 6261 if (dir) { 6262 return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) 6263 } else { 6264 return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) 6265 } 6266 } 6267 return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) 6268 } 6269 6270 throw new TypeError('val must be string, number or Buffer') 6271} 6272 6273function arrayIndexOf (arr, val, byteOffset, encoding, dir) { 6274 var indexSize = 1 6275 var arrLength = arr.length 6276 var valLength = val.length 6277 6278 if (encoding !== undefined) { 6279 encoding = String(encoding).toLowerCase() 6280 if (encoding === 'ucs2' || encoding === 'ucs-2' || 6281 encoding === 'utf16le' || encoding === 'utf-16le') { 6282 if (arr.length < 2 || val.length < 2) { 6283 return -1 6284 } 6285 indexSize = 2 6286 arrLength /= 2 6287 valLength /= 2 6288 byteOffset /= 2 6289 } 6290 } 6291 6292 function read (buf, i) { 6293 if (indexSize === 1) { 6294 return buf[i] 6295 } else { 6296 return buf.readUInt16BE(i * indexSize) 6297 } 6298 } 6299 6300 var i 6301 if (dir) { 6302 var foundIndex = -1 6303 for (i = byteOffset; i < arrLength; i++) { 6304 if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { 6305 if (foundIndex === -1) foundIndex = i 6306 if (i - foundIndex + 1 === valLength) return foundIndex * indexSize 6307 } else { 6308 if (foundIndex !== -1) i -= i - foundIndex 6309 foundIndex = -1 6310 } 6311 } 6312 } else { 6313 if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength 6314 for (i = byteOffset; i >= 0; i--) { 6315 var found = true 6316 for (var j = 0; j < valLength; j++) { 6317 if (read(arr, i + j) !== read(val, j)) { 6318 found = false 6319 break 6320 } 6321 } 6322 if (found) return i 6323 } 6324 } 6325 6326 return -1 6327} 6328 6329Buffer.prototype.includes = function includes (val, byteOffset, encoding) { 6330 return this.indexOf(val, byteOffset, encoding) !== -1 6331} 6332 6333Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { 6334 return bidirectionalIndexOf(this, val, byteOffset, encoding, true) 6335} 6336 6337Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { 6338 return bidirectionalIndexOf(this, val, byteOffset, encoding, false) 6339} 6340 6341function hexWrite (buf, string, offset, length) { 6342 offset = Number(offset) || 0 6343 var remaining = buf.length - offset 6344 if (!length) { 6345 length = remaining 6346 } else { 6347 length = Number(length) 6348 if (length > remaining) { 6349 length = remaining 6350 } 6351 } 6352 6353 // must be an even number of digits 6354 var strLen = string.length 6355 if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') 6356 6357 if (length > strLen / 2) { 6358 length = strLen / 2 6359 } 6360 for (var i = 0; i < length; ++i) { 6361 var parsed = parseInt(string.substr(i * 2, 2), 16) 6362 if (isNaN(parsed)) return i 6363 buf[offset + i] = parsed 6364 } 6365 return i 6366} 6367 6368function utf8Write (buf, string, offset, length) { 6369 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) 6370} 6371 6372function asciiWrite (buf, string, offset, length) { 6373 return blitBuffer(asciiToBytes(string), buf, offset, length) 6374} 6375 6376function latin1Write (buf, string, offset, length) { 6377 return asciiWrite(buf, string, offset, length) 6378} 6379 6380function base64Write (buf, string, offset, length) { 6381 return blitBuffer(base64ToBytes(string), buf, offset, length) 6382} 6383 6384function ucs2Write (buf, string, offset, length) { 6385 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) 6386} 6387 6388Buffer.prototype.write = function write (string, offset, length, encoding) { 6389 // Buffer#write(string) 6390 if (offset === undefined) { 6391 encoding = 'utf8' 6392 length = this.length 6393 offset = 0 6394 // Buffer#write(string, encoding) 6395 } else if (length === undefined && typeof offset === 'string') { 6396 encoding = offset 6397 length = this.length 6398 offset = 0 6399 // Buffer#write(string, offset[, length][, encoding]) 6400 } else if (isFinite(offset)) { 6401 offset = offset | 0 6402 if (isFinite(length)) { 6403 length = length | 0 6404 if (encoding === undefined) encoding = 'utf8' 6405 } else { 6406 encoding = length 6407 length = undefined 6408 } 6409 // legacy write(string, encoding, offset, length) - remove in v0.13 6410 } else { 6411 throw new Error( 6412 'Buffer.write(string, encoding, offset[, length]) is no longer supported' 6413 ) 6414 } 6415 6416 var remaining = this.length - offset 6417 if (length === undefined || length > remaining) length = remaining 6418 6419 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { 6420 throw new RangeError('Attempt to write outside buffer bounds') 6421 } 6422 6423 if (!encoding) encoding = 'utf8' 6424 6425 var loweredCase = false 6426 for (;;) { 6427 switch (encoding) { 6428 case 'hex': 6429 return hexWrite(this, string, offset, length) 6430 6431 case 'utf8': 6432 case 'utf-8': 6433 return utf8Write(this, string, offset, length) 6434 6435 case 'ascii': 6436 return asciiWrite(this, string, offset, length) 6437 6438 case 'latin1': 6439 case 'binary': 6440 return latin1Write(this, string, offset, length) 6441 6442 case 'base64': 6443 // Warning: maxLength not taken into account in base64Write 6444 return base64Write(this, string, offset, length) 6445 6446 case 'ucs2': 6447 case 'ucs-2': 6448 case 'utf16le': 6449 case 'utf-16le': 6450 return ucs2Write(this, string, offset, length) 6451 6452 default: 6453 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 6454 encoding = ('' + encoding).toLowerCase() 6455 loweredCase = true 6456 } 6457 } 6458} 6459 6460Buffer.prototype.toJSON = function toJSON () { 6461 return { 6462 type: 'Buffer', 6463 data: Array.prototype.slice.call(this._arr || this, 0) 6464 } 6465} 6466 6467function base64Slice (buf, start, end) { 6468 if (start === 0 && end === buf.length) { 6469 return base64.fromByteArray(buf) 6470 } else { 6471 return base64.fromByteArray(buf.slice(start, end)) 6472 } 6473} 6474 6475function utf8Slice (buf, start, end) { 6476 end = Math.min(buf.length, end) 6477 var res = [] 6478 6479 var i = start 6480 while (i < end) { 6481 var firstByte = buf[i] 6482 var codePoint = null 6483 var bytesPerSequence = (firstByte > 0xEF) ? 4 6484 : (firstByte > 0xDF) ? 3 6485 : (firstByte > 0xBF) ? 2 6486 : 1 6487 6488 if (i + bytesPerSequence <= end) { 6489 var secondByte, thirdByte, fourthByte, tempCodePoint 6490 6491 switch (bytesPerSequence) { 6492 case 1: 6493 if (firstByte < 0x80) { 6494 codePoint = firstByte 6495 } 6496 break 6497 case 2: 6498 secondByte = buf[i + 1] 6499 if ((secondByte & 0xC0) === 0x80) { 6500 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) 6501 if (tempCodePoint > 0x7F) { 6502 codePoint = tempCodePoint 6503 } 6504 } 6505 break 6506 case 3: 6507 secondByte = buf[i + 1] 6508 thirdByte = buf[i + 2] 6509 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { 6510 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) 6511 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { 6512 codePoint = tempCodePoint 6513 } 6514 } 6515 break 6516 case 4: 6517 secondByte = buf[i + 1] 6518 thirdByte = buf[i + 2] 6519 fourthByte = buf[i + 3] 6520 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { 6521 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) 6522 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { 6523 codePoint = tempCodePoint 6524 } 6525 } 6526 } 6527 } 6528 6529 if (codePoint === null) { 6530 // we did not generate a valid codePoint so insert a 6531 // replacement char (U+FFFD) and advance only 1 byte 6532 codePoint = 0xFFFD 6533 bytesPerSequence = 1 6534 } else if (codePoint > 0xFFFF) { 6535 // encode to utf16 (surrogate pair dance) 6536 codePoint -= 0x10000 6537 res.push(codePoint >>> 10 & 0x3FF | 0xD800) 6538 codePoint = 0xDC00 | codePoint & 0x3FF 6539 } 6540 6541 res.push(codePoint) 6542 i += bytesPerSequence 6543 } 6544 6545 return decodeCodePointsArray(res) 6546} 6547 6548// Based on http://stackoverflow.com/a/22747272/680742, the browser with 6549// the lowest limit is Chrome, with 0x10000 args. 6550// We go 1 magnitude less, for safety 6551var MAX_ARGUMENTS_LENGTH = 0x1000 6552 6553function decodeCodePointsArray (codePoints) { 6554 var len = codePoints.length 6555 if (len <= MAX_ARGUMENTS_LENGTH) { 6556 return String.fromCharCode.apply(String, codePoints) // avoid extra slice() 6557 } 6558 6559 // Decode in chunks to avoid "call stack size exceeded". 6560 var res = '' 6561 var i = 0 6562 while (i < len) { 6563 res += String.fromCharCode.apply( 6564 String, 6565 codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) 6566 ) 6567 } 6568 return res 6569} 6570 6571function asciiSlice (buf, start, end) { 6572 var ret = '' 6573 end = Math.min(buf.length, end) 6574 6575 for (var i = start; i < end; ++i) { 6576 ret += String.fromCharCode(buf[i] & 0x7F) 6577 } 6578 return ret 6579} 6580 6581function latin1Slice (buf, start, end) { 6582 var ret = '' 6583 end = Math.min(buf.length, end) 6584 6585 for (var i = start; i < end; ++i) { 6586 ret += String.fromCharCode(buf[i]) 6587 } 6588 return ret 6589} 6590 6591function hexSlice (buf, start, end) { 6592 var len = buf.length 6593 6594 if (!start || start < 0) start = 0 6595 if (!end || end < 0 || end > len) end = len 6596 6597 var out = '' 6598 for (var i = start; i < end; ++i) { 6599 out += toHex(buf[i]) 6600 } 6601 return out 6602} 6603 6604function utf16leSlice (buf, start, end) { 6605 var bytes = buf.slice(start, end) 6606 var res = '' 6607 for (var i = 0; i < bytes.length; i += 2) { 6608 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) 6609 } 6610 return res 6611} 6612 6613Buffer.prototype.slice = function slice (start, end) { 6614 var len = this.length 6615 start = ~~start 6616 end = end === undefined ? len : ~~end 6617 6618 if (start < 0) { 6619 start += len 6620 if (start < 0) start = 0 6621 } else if (start > len) { 6622 start = len 6623 } 6624 6625 if (end < 0) { 6626 end += len 6627 if (end < 0) end = 0 6628 } else if (end > len) { 6629 end = len 6630 } 6631 6632 if (end < start) end = start 6633 6634 var newBuf 6635 if (Buffer.TYPED_ARRAY_SUPPORT) { 6636 newBuf = this.subarray(start, end) 6637 newBuf.__proto__ = Buffer.prototype 6638 } else { 6639 var sliceLen = end - start 6640 newBuf = new Buffer(sliceLen, undefined) 6641 for (var i = 0; i < sliceLen; ++i) { 6642 newBuf[i] = this[i + start] 6643 } 6644 } 6645 6646 return newBuf 6647} 6648 6649/* 6650 * Need to make sure that buffer isn't trying to write out of bounds. 6651 */ 6652function checkOffset (offset, ext, length) { 6653 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') 6654 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') 6655} 6656 6657Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { 6658 offset = offset | 0 6659 byteLength = byteLength | 0 6660 if (!noAssert) checkOffset(offset, byteLength, this.length) 6661 6662 var val = this[offset] 6663 var mul = 1 6664 var i = 0 6665 while (++i < byteLength && (mul *= 0x100)) { 6666 val += this[offset + i] * mul 6667 } 6668 6669 return val 6670} 6671 6672Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { 6673 offset = offset | 0 6674 byteLength = byteLength | 0 6675 if (!noAssert) { 6676 checkOffset(offset, byteLength, this.length) 6677 } 6678 6679 var val = this[offset + --byteLength] 6680 var mul = 1 6681 while (byteLength > 0 && (mul *= 0x100)) { 6682 val += this[offset + --byteLength] * mul 6683 } 6684 6685 return val 6686} 6687 6688Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { 6689 if (!noAssert) checkOffset(offset, 1, this.length) 6690 return this[offset] 6691} 6692 6693Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { 6694 if (!noAssert) checkOffset(offset, 2, this.length) 6695 return this[offset] | (this[offset + 1] << 8) 6696} 6697 6698Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { 6699 if (!noAssert) checkOffset(offset, 2, this.length) 6700 return (this[offset] << 8) | this[offset + 1] 6701} 6702 6703Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { 6704 if (!noAssert) checkOffset(offset, 4, this.length) 6705 6706 return ((this[offset]) | 6707 (this[offset + 1] << 8) | 6708 (this[offset + 2] << 16)) + 6709 (this[offset + 3] * 0x1000000) 6710} 6711 6712Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { 6713 if (!noAssert) checkOffset(offset, 4, this.length) 6714 6715 return (this[offset] * 0x1000000) + 6716 ((this[offset + 1] << 16) | 6717 (this[offset + 2] << 8) | 6718 this[offset + 3]) 6719} 6720 6721Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { 6722 offset = offset | 0 6723 byteLength = byteLength | 0 6724 if (!noAssert) checkOffset(offset, byteLength, this.length) 6725 6726 var val = this[offset] 6727 var mul = 1 6728 var i = 0 6729 while (++i < byteLength && (mul *= 0x100)) { 6730 val += this[offset + i] * mul 6731 } 6732 mul *= 0x80 6733 6734 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 6735 6736 return val 6737} 6738 6739Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { 6740 offset = offset | 0 6741 byteLength = byteLength | 0 6742 if (!noAssert) checkOffset(offset, byteLength, this.length) 6743 6744 var i = byteLength 6745 var mul = 1 6746 var val = this[offset + --i] 6747 while (i > 0 && (mul *= 0x100)) { 6748 val += this[offset + --i] * mul 6749 } 6750 mul *= 0x80 6751 6752 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 6753 6754 return val 6755} 6756 6757Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { 6758 if (!noAssert) checkOffset(offset, 1, this.length) 6759 if (!(this[offset] & 0x80)) return (this[offset]) 6760 return ((0xff - this[offset] + 1) * -1) 6761} 6762 6763Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { 6764 if (!noAssert) checkOffset(offset, 2, this.length) 6765 var val = this[offset] | (this[offset + 1] << 8) 6766 return (val & 0x8000) ? val | 0xFFFF0000 : val 6767} 6768 6769Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { 6770 if (!noAssert) checkOffset(offset, 2, this.length) 6771 var val = this[offset + 1] | (this[offset] << 8) 6772 return (val & 0x8000) ? val | 0xFFFF0000 : val 6773} 6774 6775Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { 6776 if (!noAssert) checkOffset(offset, 4, this.length) 6777 6778 return (this[offset]) | 6779 (this[offset + 1] << 8) | 6780 (this[offset + 2] << 16) | 6781 (this[offset + 3] << 24) 6782} 6783 6784Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { 6785 if (!noAssert) checkOffset(offset, 4, this.length) 6786 6787 return (this[offset] << 24) | 6788 (this[offset + 1] << 16) | 6789 (this[offset + 2] << 8) | 6790 (this[offset + 3]) 6791} 6792 6793Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { 6794 if (!noAssert) checkOffset(offset, 4, this.length) 6795 return ieee754.read(this, offset, true, 23, 4) 6796} 6797 6798Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { 6799 if (!noAssert) checkOffset(offset, 4, this.length) 6800 return ieee754.read(this, offset, false, 23, 4) 6801} 6802 6803Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { 6804 if (!noAssert) checkOffset(offset, 8, this.length) 6805 return ieee754.read(this, offset, true, 52, 8) 6806} 6807 6808Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { 6809 if (!noAssert) checkOffset(offset, 8, this.length) 6810 return ieee754.read(this, offset, false, 52, 8) 6811} 6812 6813function checkInt (buf, value, offset, ext, max, min) { 6814 if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') 6815 if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') 6816 if (offset + ext > buf.length) throw new RangeError('Index out of range') 6817} 6818 6819Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { 6820 value = +value 6821 offset = offset | 0 6822 byteLength = byteLength | 0 6823 if (!noAssert) { 6824 var maxBytes = Math.pow(2, 8 * byteLength) - 1 6825 checkInt(this, value, offset, byteLength, maxBytes, 0) 6826 } 6827 6828 var mul = 1 6829 var i = 0 6830 this[offset] = value & 0xFF 6831 while (++i < byteLength && (mul *= 0x100)) { 6832 this[offset + i] = (value / mul) & 0xFF 6833 } 6834 6835 return offset + byteLength 6836} 6837 6838Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { 6839 value = +value 6840 offset = offset | 0 6841 byteLength = byteLength | 0 6842 if (!noAssert) { 6843 var maxBytes = Math.pow(2, 8 * byteLength) - 1 6844 checkInt(this, value, offset, byteLength, maxBytes, 0) 6845 } 6846 6847 var i = byteLength - 1 6848 var mul = 1 6849 this[offset + i] = value & 0xFF 6850 while (--i >= 0 && (mul *= 0x100)) { 6851 this[offset + i] = (value / mul) & 0xFF 6852 } 6853 6854 return offset + byteLength 6855} 6856 6857Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { 6858 value = +value 6859 offset = offset | 0 6860 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) 6861 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 6862 this[offset] = (value & 0xff) 6863 return offset + 1 6864} 6865 6866function objectWriteUInt16 (buf, value, offset, littleEndian) { 6867 if (value < 0) value = 0xffff + value + 1 6868 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { 6869 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> 6870 (littleEndian ? i : 1 - i) * 8 6871 } 6872} 6873 6874Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { 6875 value = +value 6876 offset = offset | 0 6877 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 6878 if (Buffer.TYPED_ARRAY_SUPPORT) { 6879 this[offset] = (value & 0xff) 6880 this[offset + 1] = (value >>> 8) 6881 } else { 6882 objectWriteUInt16(this, value, offset, true) 6883 } 6884 return offset + 2 6885} 6886 6887Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { 6888 value = +value 6889 offset = offset | 0 6890 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 6891 if (Buffer.TYPED_ARRAY_SUPPORT) { 6892 this[offset] = (value >>> 8) 6893 this[offset + 1] = (value & 0xff) 6894 } else { 6895 objectWriteUInt16(this, value, offset, false) 6896 } 6897 return offset + 2 6898} 6899 6900function objectWriteUInt32 (buf, value, offset, littleEndian) { 6901 if (value < 0) value = 0xffffffff + value + 1 6902 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { 6903 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff 6904 } 6905} 6906 6907Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { 6908 value = +value 6909 offset = offset | 0 6910 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 6911 if (Buffer.TYPED_ARRAY_SUPPORT) { 6912 this[offset + 3] = (value >>> 24) 6913 this[offset + 2] = (value >>> 16) 6914 this[offset + 1] = (value >>> 8) 6915 this[offset] = (value & 0xff) 6916 } else { 6917 objectWriteUInt32(this, value, offset, true) 6918 } 6919 return offset + 4 6920} 6921 6922Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { 6923 value = +value 6924 offset = offset | 0 6925 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 6926 if (Buffer.TYPED_ARRAY_SUPPORT) { 6927 this[offset] = (value >>> 24) 6928 this[offset + 1] = (value >>> 16) 6929 this[offset + 2] = (value >>> 8) 6930 this[offset + 3] = (value & 0xff) 6931 } else { 6932 objectWriteUInt32(this, value, offset, false) 6933 } 6934 return offset + 4 6935} 6936 6937Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { 6938 value = +value 6939 offset = offset | 0 6940 if (!noAssert) { 6941 var limit = Math.pow(2, 8 * byteLength - 1) 6942 6943 checkInt(this, value, offset, byteLength, limit - 1, -limit) 6944 } 6945 6946 var i = 0 6947 var mul = 1 6948 var sub = 0 6949 this[offset] = value & 0xFF 6950 while (++i < byteLength && (mul *= 0x100)) { 6951 if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { 6952 sub = 1 6953 } 6954 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 6955 } 6956 6957 return offset + byteLength 6958} 6959 6960Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { 6961 value = +value 6962 offset = offset | 0 6963 if (!noAssert) { 6964 var limit = Math.pow(2, 8 * byteLength - 1) 6965 6966 checkInt(this, value, offset, byteLength, limit - 1, -limit) 6967 } 6968 6969 var i = byteLength - 1 6970 var mul = 1 6971 var sub = 0 6972 this[offset + i] = value & 0xFF 6973 while (--i >= 0 && (mul *= 0x100)) { 6974 if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { 6975 sub = 1 6976 } 6977 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 6978 } 6979 6980 return offset + byteLength 6981} 6982 6983Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { 6984 value = +value 6985 offset = offset | 0 6986 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) 6987 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 6988 if (value < 0) value = 0xff + value + 1 6989 this[offset] = (value & 0xff) 6990 return offset + 1 6991} 6992 6993Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { 6994 value = +value 6995 offset = offset | 0 6996 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 6997 if (Buffer.TYPED_ARRAY_SUPPORT) { 6998 this[offset] = (value & 0xff) 6999 this[offset + 1] = (value >>> 8) 7000 } else { 7001 objectWriteUInt16(this, value, offset, true) 7002 } 7003 return offset + 2 7004} 7005 7006Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { 7007 value = +value 7008 offset = offset | 0 7009 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 7010 if (Buffer.TYPED_ARRAY_SUPPORT) { 7011 this[offset] = (value >>> 8) 7012 this[offset + 1] = (value & 0xff) 7013 } else { 7014 objectWriteUInt16(this, value, offset, false) 7015 } 7016 return offset + 2 7017} 7018 7019Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { 7020 value = +value 7021 offset = offset | 0 7022 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 7023 if (Buffer.TYPED_ARRAY_SUPPORT) { 7024 this[offset] = (value & 0xff) 7025 this[offset + 1] = (value >>> 8) 7026 this[offset + 2] = (value >>> 16) 7027 this[offset + 3] = (value >>> 24) 7028 } else { 7029 objectWriteUInt32(this, value, offset, true) 7030 } 7031 return offset + 4 7032} 7033 7034Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { 7035 value = +value 7036 offset = offset | 0 7037 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 7038 if (value < 0) value = 0xffffffff + value + 1 7039 if (Buffer.TYPED_ARRAY_SUPPORT) { 7040 this[offset] = (value >>> 24) 7041 this[offset + 1] = (value >>> 16) 7042 this[offset + 2] = (value >>> 8) 7043 this[offset + 3] = (value & 0xff) 7044 } else { 7045 objectWriteUInt32(this, value, offset, false) 7046 } 7047 return offset + 4 7048} 7049 7050function checkIEEE754 (buf, value, offset, ext, max, min) { 7051 if (offset + ext > buf.length) throw new RangeError('Index out of range') 7052 if (offset < 0) throw new RangeError('Index out of range') 7053} 7054 7055function writeFloat (buf, value, offset, littleEndian, noAssert) { 7056 if (!noAssert) { 7057 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) 7058 } 7059 ieee754.write(buf, value, offset, littleEndian, 23, 4) 7060 return offset + 4 7061} 7062 7063Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { 7064 return writeFloat(this, value, offset, true, noAssert) 7065} 7066 7067Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { 7068 return writeFloat(this, value, offset, false, noAssert) 7069} 7070 7071function writeDouble (buf, value, offset, littleEndian, noAssert) { 7072 if (!noAssert) { 7073 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) 7074 } 7075 ieee754.write(buf, value, offset, littleEndian, 52, 8) 7076 return offset + 8 7077} 7078 7079Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { 7080 return writeDouble(this, value, offset, true, noAssert) 7081} 7082 7083Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { 7084 return writeDouble(this, value, offset, false, noAssert) 7085} 7086 7087// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) 7088Buffer.prototype.copy = function copy (target, targetStart, start, end) { 7089 if (!start) start = 0 7090 if (!end && end !== 0) end = this.length 7091 if (targetStart >= target.length) targetStart = target.length 7092 if (!targetStart) targetStart = 0 7093 if (end > 0 && end < start) end = start 7094 7095 // Copy 0 bytes; we're done 7096 if (end === start) return 0 7097 if (target.length === 0 || this.length === 0) return 0 7098 7099 // Fatal error conditions 7100 if (targetStart < 0) { 7101 throw new RangeError('targetStart out of bounds') 7102 } 7103 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') 7104 if (end < 0) throw new RangeError('sourceEnd out of bounds') 7105 7106 // Are we oob? 7107 if (end > this.length) end = this.length 7108 if (target.length - targetStart < end - start) { 7109 end = target.length - targetStart + start 7110 } 7111 7112 var len = end - start 7113 var i 7114 7115 if (this === target && start < targetStart && targetStart < end) { 7116 // descending copy from end 7117 for (i = len - 1; i >= 0; --i) { 7118 target[i + targetStart] = this[i + start] 7119 } 7120 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { 7121 // ascending copy from start 7122 for (i = 0; i < len; ++i) { 7123 target[i + targetStart] = this[i + start] 7124 } 7125 } else { 7126 Uint8Array.prototype.set.call( 7127 target, 7128 this.subarray(start, start + len), 7129 targetStart 7130 ) 7131 } 7132 7133 return len 7134} 7135 7136// Usage: 7137// buffer.fill(number[, offset[, end]]) 7138// buffer.fill(buffer[, offset[, end]]) 7139// buffer.fill(string[, offset[, end]][, encoding]) 7140Buffer.prototype.fill = function fill (val, start, end, encoding) { 7141 // Handle string cases: 7142 if (typeof val === 'string') { 7143 if (typeof start === 'string') { 7144 encoding = start 7145 start = 0 7146 end = this.length 7147 } else if (typeof end === 'string') { 7148 encoding = end 7149 end = this.length 7150 } 7151 if (val.length === 1) { 7152 var code = val.charCodeAt(0) 7153 if (code < 256) { 7154 val = code 7155 } 7156 } 7157 if (encoding !== undefined && typeof encoding !== 'string') { 7158 throw new TypeError('encoding must be a string') 7159 } 7160 if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { 7161 throw new TypeError('Unknown encoding: ' + encoding) 7162 } 7163 } else if (typeof val === 'number') { 7164 val = val & 255 7165 } 7166 7167 // Invalid ranges are not set to a default, so can range check early. 7168 if (start < 0 || this.length < start || this.length < end) { 7169 throw new RangeError('Out of range index') 7170 } 7171 7172 if (end <= start) { 7173 return this 7174 } 7175 7176 start = start >>> 0 7177 end = end === undefined ? this.length : end >>> 0 7178 7179 if (!val) val = 0 7180 7181 var i 7182 if (typeof val === 'number') { 7183 for (i = start; i < end; ++i) { 7184 this[i] = val 7185 } 7186 } else { 7187 var bytes = Buffer.isBuffer(val) 7188 ? val 7189 : utf8ToBytes(new Buffer(val, encoding).toString()) 7190 var len = bytes.length 7191 for (i = 0; i < end - start; ++i) { 7192 this[i + start] = bytes[i % len] 7193 } 7194 } 7195 7196 return this 7197} 7198 7199// HELPER FUNCTIONS 7200// ================ 7201 7202var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g 7203 7204function base64clean (str) { 7205 // Node strips out invalid characters like \n and \t from the string, base64-js does not 7206 str = stringtrim(str).replace(INVALID_BASE64_RE, '') 7207 // Node converts strings with length < 2 to '' 7208 if (str.length < 2) return '' 7209 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not 7210 while (str.length % 4 !== 0) { 7211 str = str + '=' 7212 } 7213 return str 7214} 7215 7216function stringtrim (str) { 7217 if (str.trim) return str.trim() 7218 return str.replace(/^\s+|\s+$/g, '') 7219} 7220 7221function toHex (n) { 7222 if (n < 16) return '0' + n.toString(16) 7223 return n.toString(16) 7224} 7225 7226function utf8ToBytes (string, units) { 7227 units = units || Infinity 7228 var codePoint 7229 var length = string.length 7230 var leadSurrogate = null 7231 var bytes = [] 7232 7233 for (var i = 0; i < length; ++i) { 7234 codePoint = string.charCodeAt(i) 7235 7236 // is surrogate component 7237 if (codePoint > 0xD7FF && codePoint < 0xE000) { 7238 // last char was a lead 7239 if (!leadSurrogate) { 7240 // no lead yet 7241 if (codePoint > 0xDBFF) { 7242 // unexpected trail 7243 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 7244 continue 7245 } else if (i + 1 === length) { 7246 // unpaired lead 7247 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 7248 continue 7249 } 7250 7251 // valid lead 7252 leadSurrogate = codePoint 7253 7254 continue 7255 } 7256 7257 // 2 leads in a row 7258 if (codePoint < 0xDC00) { 7259 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 7260 leadSurrogate = codePoint 7261 continue 7262 } 7263 7264 // valid surrogate pair 7265 codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 7266 } else if (leadSurrogate) { 7267 // valid bmp char, but last char was a lead 7268 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 7269 } 7270 7271 leadSurrogate = null 7272 7273 // encode utf8 7274 if (codePoint < 0x80) { 7275 if ((units -= 1) < 0) break 7276 bytes.push(codePoint) 7277 } else if (codePoint < 0x800) { 7278 if ((units -= 2) < 0) break 7279 bytes.push( 7280 codePoint >> 0x6 | 0xC0, 7281 codePoint & 0x3F | 0x80 7282 ) 7283 } else if (codePoint < 0x10000) { 7284 if ((units -= 3) < 0) break 7285 bytes.push( 7286 codePoint >> 0xC | 0xE0, 7287 codePoint >> 0x6 & 0x3F | 0x80, 7288 codePoint & 0x3F | 0x80 7289 ) 7290 } else if (codePoint < 0x110000) { 7291 if ((units -= 4) < 0) break 7292 bytes.push( 7293 codePoint >> 0x12 | 0xF0, 7294 codePoint >> 0xC & 0x3F | 0x80, 7295 codePoint >> 0x6 & 0x3F | 0x80, 7296 codePoint & 0x3F | 0x80 7297 ) 7298 } else { 7299 throw new Error('Invalid code point') 7300 } 7301 } 7302 7303 return bytes 7304} 7305 7306function asciiToBytes (str) { 7307 var byteArray = [] 7308 for (var i = 0; i < str.length; ++i) { 7309 // Node's code seems to be doing this and not & 0x7F.. 7310 byteArray.push(str.charCodeAt(i) & 0xFF) 7311 } 7312 return byteArray 7313} 7314 7315function utf16leToBytes (str, units) { 7316 var c, hi, lo 7317 var byteArray = [] 7318 for (var i = 0; i < str.length; ++i) { 7319 if ((units -= 2) < 0) break 7320 7321 c = str.charCodeAt(i) 7322 hi = c >> 8 7323 lo = c % 256 7324 byteArray.push(lo) 7325 byteArray.push(hi) 7326 } 7327 7328 return byteArray 7329} 7330 7331function base64ToBytes (str) { 7332 return base64.toByteArray(base64clean(str)) 7333} 7334 7335function blitBuffer (src, dst, offset, length) { 7336 for (var i = 0; i < length; ++i) { 7337 if ((i + offset >= dst.length) || (i >= src.length)) break 7338 dst[i + offset] = src[i] 7339 } 7340 return i 7341} 7342 7343function isnan (val) { 7344 return val !== val // eslint-disable-line no-self-compare 7345} 7346
vendor: 3,280 bytes, lines 7347-7460
7347/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 7348 7349/***/ }), 7350/* 114 */ 7351/***/ (function(module, exports, __webpack_require__) { 7352 7353var toInteger = __webpack_require__(73); 7354 7355var max = Math.max; 7356var min = Math.min; 7357 7358// Helper for a popular repeating case of the spec: 7359// Let integer be ? ToInteger(index). 7360// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 7361module.exports = function (index, length) { 7362 var integer = toInteger(index); 7363 return integer < 0 ? max(integer + length, 0) : min(integer, length); 7364}; 7365 7366 7367/***/ }), 7368/* 115 */ 7369/***/ (function(module, exports, __webpack_require__) { 7370 7371var aFunction = __webpack_require__(59); 7372 7373// optional / simple context binding 7374module.exports = function (fn, that, length) { 7375 aFunction(fn); 7376 if (that === undefined) return fn; 7377 switch (length) { 7378 case 0: return function () { 7379 return fn.call(that); 7380 }; 7381 case 1: return function (a) { 7382 return fn.call(that, a); 7383 }; 7384 case 2: return function (a, b) { 7385 return fn.call(that, a, b); 7386 }; 7387 case 3: return function (a, b, c) { 7388 return fn.call(that, a, b, c); 7389 }; 7390 } 7391 return function (/* ...args */) { 7392 return fn.apply(that, arguments); 7393 }; 7394}; 7395 7396 7397/***/ }), 7398/* 116 */ 7399/***/ (function(module, exports, __webpack_require__) { 7400 7401var anObject = __webpack_require__(20); 7402var aPossiblePrototype = __webpack_require__(364); 7403 7404// `Object.setPrototypeOf` method 7405// https://tc39.github.io/ecma262/#sec-object.setprototypeof 7406// Works with __proto__ only. Old v8 can't work with null proto objects. 7407/* eslint-disable no-proto */ 7408module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 7409 var CORRECT_SETTER = false; 7410 var test = {}; 7411 var setter; 7412 try { 7413 setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; 7414 setter.call(test, []); 7415 CORRECT_SETTER = test instanceof Array; 7416 } catch (error) { /* empty */ } 7417 return function setPrototypeOf(O, proto) { 7418 anObject(O); 7419 aPossiblePrototype(proto); 7420 if (CORRECT_SETTER) setter.call(O, proto); 7421 else O.__proto__ = proto; 7422 return O; 7423 }; 7424}() : undefined); 7425 7426 7427/***/ }), 7428/* 117 */ 7429/***/ (function(module, exports, __webpack_require__) { 7430 7431var anObject = __webpack_require__(20); 7432var isArrayIteratorMethod = __webpack_require__(284); 7433var toLength = __webpack_require__(28); 7434var bind = __webpack_require__(115); 7435var getIteratorMethod = __webpack_require__(173); 7436var iteratorClose = __webpack_require__(365); 7437 7438var Result = function (stopped, result) { 7439 this.stopped = stopped; 7440 this.result = result; 7441}; 7442 7443module.exports = function (iterable, unboundFunction, options) { 7444 var that = options && options.that; 7445 var AS_ENTRIES = !!(options && options.AS_ENTRIES); 7446 var IS_ITERATOR = !!(options && options.IS_ITERATOR); 7447 var INTERRUPTED = !!(options && options.INTERRUPTED); 7448 var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); 7449 var iterator, iterFn, index, length, result, next, step; 7450 7451 var stop = function (condition) { 7452 if (iterator) iteratorClose(iterator); 7453 return new Result(true, condition); 7454 }; 7455 7456 var callFn = function (value) { 7457 if (AS_ENTRIES) { 7458 anObject(value); 7459 return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); 7460 }
7460 return INTERRUPTED ? fn(value, stop) : fn(value); 7461 }; 7462 7463 if (IS_ITERATOR) { 7464 iterator = iterable; 7465 } else { 7466 iterFn = getIteratorMethod(iterable); 7467 if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); 7468 // optimisation for array iterators 7469 if (isArrayIteratorMethod(iterFn)) { 7470 for (index = 0, length = toLength(iterable.length); length > index; index++) { 7471 result = callFn(iterable[index]); 7472 if (result && result instanceof Result) return result; 7473 } return new Result(false); 7474 } 7475 iterator = iterFn.call(iterable); 7476 } 7477 7478 next = iterator.next; 7479 while (!(step = next.call(iterator)).done) { 7480 try { 7481 result = callFn(step.value); 7482 } catch (error) { 7483 iteratorClose(iterator); 7484 throw error; 7485 } 7486 if (typeof result == 'object' && result && result instanceof Result) return result; 7487 } return new Result(false); 7488}; 7489 7490 7491/***/ }), 7492/* 118 */ 7493/***/ (function(module, exports, __webpack_require__) { 7494 7495var wellKnownSymbol = __webpack_require__(23); 7496var create = __webpack_require__(92); 7497var definePropertyModule = __webpack_require__(30); 7498 7499var UNSCOPABLES = wellKnownSymbol('unscopables'); 7500var ArrayPrototype = Array.prototype; 7501 7502// Array.prototype[@@unscopables] 7503// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7504if (ArrayPrototype[UNSCOPABLES] == undefined) { 7505 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { 7506 configurable: true, 7507 value: create(null) 7508 }); 7509} 7510 7511// add a key to Array.prototype[@@unscopables] 7512module.exports = function (key) { 7513 ArrayPrototype[UNSCOPABLES][key] = true; 7514}; 7515 7516 7517/***/ }), 7518/* 119 */ 7519/***/ (function(module, exports) { 7520 7521module.exports = function (it, Constructor, name) { 7522 if (!(it instanceof Constructor)) { 7523 throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); 7524 } return it; 7525}; 7526 7527 7528/***/ }), 7529/* 120 */, 7530/* 121 */ 7531/***/ (function(module, exports, __webpack_require__) { 7532 7533!function(global, factory) { 7534 true ? module.exports = factory(__webpack_require__(1)) : undefined; 7535}(this, function(preact) { 7536 "use strict"; 7537 var classCallCheck = (function() { 7538 function AwaitValue(value) { 7539 this.value = value; 7540 } 7541 function AsyncGenerator(gen) { 7542 function send(key, arg) { 7543 return new Promise(function(resolve, reject) { 7544 var request = { 7545 key: key, 7546 arg: arg, 7547 resolve: resolve, 7548 reject: reject, 7549 next: null 7550 }; 7551 back ? back = back.next = request : (front = back = request, resume(key, arg)); 7552 }); 7553 } 7554 function resume(key, arg) { 7555 try { 7556 var result = gen[key](arg), value = result.value; 7557 value instanceof AwaitValue ? Promise.resolve(value.value).then(function(arg) { 7558 resume("next", arg); 7559 }, function(arg) { 7560 resume("throw", arg); 7561 }) : settle(result.done ? "return" : "normal", result.value); 7562 } catch (err) { 7563 settle("throw", err); 7564 } 7565 } 7566 function settle(type, value) { 7567 switch (type) { 7568 case "return": 7569 front.resolve({ 7570 value: value, 7571 done: !0 7572 }); 7573 break; 7574 7575 case "throw": 7576 front.reject(value); 7577 break; 7578 7579 default: 7580 front.resolve({ 7581 value: value, 7582 done: !1 7583 }); 7584 } 7585 front = front.next, front ? resume(front.key, front.arg) : back = null; 7586 } 7587 var front, back; 7588 this._invoke = send, "function" != typeof gen.return && (this.return = void 0); 7589 } 7590 "function" == typeof Symbol && Symbol.asyncIterator && (AsyncGenerator.prototype[Symbol.asyncIterator] = function() { 7591 return this; 7592 }), AsyncGenerator.prototype.next = function(arg) { 7593 return this._invoke("next", arg); 7594 }, AsyncGenerator.prototype.throw = function(arg) { 7595 return this._invoke("throw", arg); 7596 }, AsyncGenerator.prototype.return = function(arg) { 7597 return this._invoke("return", arg); 7598 }; 7599 }(), function(instance, Constructor) { 7600 if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function"); 7601 }), _extends = Object.assign || function(target) { 7602 for (var i = 1; i < arguments.length; i++) { 7603 var source = arguments[i]; 7604 for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); 7605 } 7606 return target; 7607 }, inherits = function(subClass, superClass) { 7608 if ("function" != typeof superClass && null !== superClass) throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); 7609 subClass.prototype = Object.create(superClass && superClass.prototype, { 7610 constructor: { 7611 value: subClass, 7612 enumerable: !1, 7613 writable: !0, 7614 configurable: !0 7615 } 7616 }), superClass && (Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass); 7617 }, objectWithoutProperties = function(obj, keys) { 7618 var target = {}; 7619 for (var i in obj) keys.indexOf(i) >= 0 || Object.prototype.hasOwnProperty.call(obj, i) && (target[i] = obj[i]); 7620 return target; 7621 }, possibleConstructorReturn = function(self, call) { 7622 if (!self) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 7623 return !call || "object" != typeof call && "function" != typeof call ? self : call; 7624 }, STYLE_INNER = { 7625 position: "relative", 7626 overflow: "hidden", 7627 width: "100%", 7628 "min-height": "100%" 7629 }, STYLE_CONTENT = { 7630 position: "absolute", 7631 top: "0", 7632 left: "0", 7633 height: "100%", 7634 width: "100%", 7635 overflow: "visible" 7636 }; 7637 return function(_Component) { 7638 function VirtualList() { 7639 var _temp, _this, _ret; 7640 classCallCheck(this, VirtualList); 7641 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key]; 7642 return _temp = _this = possibleConstructorReturn(this, _Component.call.apply(_Component, [ this ].concat(args))), 7643 _this.resize = function() { 7644 _this.state.height !== _this.base.offsetHeight && _this.setState({ 7645 height: _this.base.offsetHeight 7646 }); 7647 }, _this.handleScroll = function() { 7648 _this.setState({ 7649 offset: _this.base.scrollTop 7650 }), _this.props.sync && _this.forceUpdate(); 7651 }, _ret = _temp, possibleConstructorReturn(_this, _ret); 7652 } 7653 return inherits(VirtualList, _Component), VirtualList.prototype.componentDidUpdate = function() { 7654 this.resize(); 7655 }, VirtualList.prototype.componentDidMount = function() { 7656 this.resize(), addEventListener("resize", this.resize); 7657 }, VirtualList.prototype.componentWillUnmount = function() { 7658 removeEventListener("resize", this.resize); 7659 }, VirtualList.prototype.render = function(_ref, _ref2) { 7660 var data = _ref.data, rowHeight = _ref.rowHeight, renderRow = _ref.renderRow, _ref$overscanCount = _ref.overscanCount, overscanCount = void 0 === _ref$overscanCount ? 10 : _ref$overscanCount, props = (_ref.sync, 7661 objectWithoutProperties(_ref, [ "data", "rowHeight", "renderRow", "overscanCount", "sync" ])), _ref2$offset = _ref2.offset, offset = void 0 === _ref2$offset ? 0 : _ref2$offset, _ref2$height = _ref2.height, height = void 0 === _ref2$height ? 0 : _ref2$height, start = offset / rowHeight | 0, visibleRowCount = height / rowHeight | 0; 7662 overscanCount && (start = Math.max(0, start - start % overscanCount), visibleRowCount += overscanCount); 7663 var end = start + 1 + visibleRowCount, selection = data.slice(start, end); 7664 return preact.h("div", _extends({ 7665 onScroll: this.handleScroll 7666 }, props), preact.h("div", { 7667 style: _extends({}, STYLE_INNER, { 7668 height: data.length * rowHeight 7669 }) 7670 }, preact.h("div", { 7671 style: _extends({}, STYLE_CONTENT, { 7672 top: start * rowHeight 7673 }) 7674 }, selection.map(renderRow)))); 7675 }, VirtualList; 7676 }(preact.Component); 7677}); 7678 7679/***/ }), 7680/* 122 */ 7681/***/ (function(module, exports, __webpack_require__) { 7682 7683// extracted by mini-css-extract-plugin 7684module.exports = {"visuallyHidden":"NavBar-module__visuallyHidden--3SnWm","button":"NavBar-module__button--1HB5H","skipLink":"NavBar-module__skipLink--CFwzY","wrap":"NavBar-module__wrap--3wxA6","middle":"NavBar-module__middle--2atN0","buttonContainer":"NavBar-module__buttonContainer--22
7684KJ8","narrow":"NavBar-module__narrow--3U3Vt","wide":"NavBar-module__wide--1UQBr"}; 7685 7686/***/ }), 7687/* 123 */ 7688/***/ (function(module, exports, __webpack_require__) { 7689 7690var DESCRIPTORS = __webpack_require__(21); 7691var defineProperty = __webpack_require__(30).f; 7692 7693var FunctionPrototype = Function.prototype; 7694var FunctionPrototypeToString = FunctionPrototype.toString; 7695var nameRE = /^\s*function ([^ (]*)/; 7696var NAME = 'name'; 7697 7698// Function instances `.name` property 7699// https://tc39.github.io/ecma262/#sec-function-instances-name 7700if (DESCRIPTORS && !(NAME in FunctionPrototype)) { 7701 defineProperty(FunctionPrototype, NAME, { 7702 configurable: true, 7703 get: function () { 7704 try { 7705 return FunctionPrototypeToString.call(this).match(nameRE)[1]; 7706 } catch (error) { 7707 return ''; 7708 } 7709 } 7710 }); 7711} 7712 7713 7714/***/ }), 7715/* 124 */ 7716/***/ (function(module, exports, __webpack_require__) { 7717 7718"use strict"; 7719 7720var $ = __webpack_require__(2); 7721var $includes = __webpack_require__(168).includes; 7722var addToUnscopables = __webpack_require__(118); 7723var arrayMethodUsesToLength = __webpack_require__(63); 7724 7725var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 7726 7727// `Array.prototype.includes` method 7728// https://tc39.github.io/ecma262/#sec-array.prototype.includes 7729$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, { 7730 includes: function includes(el /* , fromIndex = 0 */) { 7731 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 7732 } 7733}); 7734 7735// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7736addToUnscopables('includes'); 7737 7738 7739/***/ }), 7740/* 125 */, 7741/* 126 */, 7742/* 127 */ 7743/***/ (function(module, __webpack_exports__, __webpack_require__) { 7744 7745"use strict"; 7746 7747// EXPORTS 7748__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ timeoutPromise; }); 7749__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ fetchTimeout; }); 7750 7751// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 7752var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 7753 7754// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js?babel-target=legacy 7755var es_promisebabel_target_legacy = __webpack_require__(187); 7756 7757// CONCATENATED MODULE: ./node_modules/unfetch/dist/unfetch.module.js?babel-target=legacy 7758/* harmony default export */ var unfetch_modulebabel_target_legacy = (function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+","+t:t}),t(a())},s.onerror=r,s.withCredentials="include"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}); 7759//# sourceMappingURL=unfetch.module.js.map 7760 7761// CONCATENATED MODULE: ./src/lib/fetchTimeout.js?babel-target=legacy 7762 7763 7764 7765/** 7766 * @param {Promise} promise 7767 * @param {number} timeout 7768 * @param {string} error 7769 * @return 7770 */ 7771 7772function timeoutPromise(promise, timeout, error) { 7773 return new Promise(function (resolve, reject) { 7774 setTimeout(function () { 7775 reject(error); 7776 }, timeout); 7777 promise.then(resolve, reject); 7778 }); 7779} 7780/** 7781 * node-fetch wrapper that adds the possibility to set a timeout after which 7782 * a custom error is returned. 7783 * @param {string} url url to pass to node-fetch 7784 * @param {object} options options to pass to node-fetch 7785 * @param {number} timeout maximum acceptable timeout before considering the request as failed 7786 * @param {string} [error] custom error string after the timeout is expired 7787 * @return {Promise} 7788 */ 7789 7790function fetchTimeout(url, options, timeout, error) { 7791 error = error || "Timeout error"; 7792 options = options || {}; 7793 timeout = timeout || 10000; 7794 return timeoutPromise(unfetch_modulebabel_target_legacy(url, options), timeout, error); 7795} 7796/* harmony default export */ var fetchTimeoutbabel_target_legacy = __webpack_exports__["a"] = (fetchTimeout); 7797 7798/***/ }), 7799/* 128 */, 7800/* 129 */ 7801/***/ (function(module, exports, __webpack_require__) { 7802 7803// Copyright Joyent, Inc. and other Node contributors. 7804// 7805// Permission is hereby granted, free of charge, to any person obtaining a 7806// copy of this software and associated documentation files (the 7807// "Software"), to deal in the Software without restriction, including 7808// without limitation the rights to use, copy, modify, merge, publish, 7809// distribute, sublicense, and/or sell copies of the Software, and to permit 7810// persons to whom the Software is furnished to do so, subject to the 7811// following conditions: 7812// 7813// The above copyright notice and this permission notice shall be included 7814// in all copies or substantial portions of the Software. 7815// 7816// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 7817// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 7818// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 7819// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 7820// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 7821// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 7822// USE OR OTHER DEALINGS IN THE SOFTWARE. 7823 7824module.exports = Stream; 7825 7826var EE = __webpack_require__(469).EventEmitter; 7827var inherits = __webpack_require__(200); 7828 7829inherits(Stream, EE); 7830Stream.Readable = __webpack_require__(312); 7831Stream.Writable = __webpack_require__(911); 7832Stream.Duplex = __webpack_require__(912); 7833Stream.Transform = __webpack_require__(913); 7834Stream.PassThrough = __webpack_require__(914); 7835 7836// Backwards-compat with node 0.4.x 7837Stream.Stream = Stream; 7838 7839 7840 7841// old-style streams. Note that the pipe method (the only relevant 7842// part of this class) is overridden in the Readable class. 7843 7844function Stream() { 7845 EE.call(this); 7846} 7847 7848Stream.prototype.pipe = function(dest, options) { 7849 var source = this; 7850 7851 function ondata(chunk) { 7852 if (dest.writable) {
7853 if (false === dest.write(chunk) && source.pause) { 7854 source.pause(); 7855 } 7856 } 7857 } 7858 7859 source.on('data', ondata); 7860 7861 function ondrain() { 7862 if (source.readable && source.resume) { 7863 source.resume(); 7864 } 7865 } 7866 7867 dest.on('drain', ondrain); 7868 7869 // If the 'end' option is not supplied, dest.end() will be called when 7870 // source gets the 'end' or 'close' events. Only dest.end() once. 7871 if (!dest._isStdio && (!options || options.end !== false)) { 7872 source.on('end', onend); 7873 source.on('close', onclose); 7874 } 7875 7876 var didOnEnd = false; 7877 function onend() { 7878 if (didOnEnd) return; 7879 didOnEnd = true; 7880 7881 dest.end(); 7882 } 7883 7884 7885 function onclose() { 7886 if (didOnEnd) return; 7887 didOnEnd = true; 7888 7889 if (typeof dest.destroy === 'function') dest.destroy(); 7890 } 7891 7892 // don't leave dangling pipes when there are errors. 7893 function onerror(er) { 7894 cleanup(); 7895 if (EE.listenerCount(this, 'error') === 0) { 7896 throw er; // Unhandled stream error in pipe. 7897 } 7898 } 7899 7900 source.on('error', onerror); 7901 dest.on('error', onerror); 7902 7903 // remove all the event listeners that were added. 7904 function cleanup() { 7905 source.removeListener('data', ondata); 7906 dest.removeListener('drain', ondrain); 7907 7908 source.removeListener('end', onend); 7909 source.removeListener('close', onclose); 7910 7911 source.removeListener('error', onerror); 7912 dest.removeListener('error', onerror); 7913 7914 source.removeListener('end', cleanup); 7915 source.removeListener('close', cleanup); 7916 7917 dest.removeListener('close', cleanup); 7918 } 7919 7920 source.on('end', cleanup); 7921 source.on('close', cleanup); 7922 7923 dest.on('close', cleanup); 7924 7925 dest.emit('pipe', source); 7926 7927 // Allow for unix-like usage: A.pipe(B).pipe(C) 7928 return dest; 7929}; 7930 7931 7932/***/ }), 7933/* 130 */, 7934/* 131 */ 7935/***/ (function(module, __webpack_exports__, __webpack_require__) { 7936 7937"use strict"; 7938 7939// EXPORTS 7940__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ IconSpritebabel_target_legacy_IconSprite; }); 7941 7942// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 7943var es_function_namebabel_target_legacy = __webpack_require__(123); 7944 7945// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 7946var extendsbabel_target_legacy = __webpack_require__(50); 7947var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 7948 7949// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 7950var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 7951var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 7952 7953// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 7954var preact_modulebabel_target_legacy = __webpack_require__(1); 7955 7956// CONCATENATED MODULE: ./src/components/IconSprite/IconSprite.tsx?babel-target=legacy 7957 7958 7959 7960 7961var IconSpritebabel_target_legacy_IconSprite = function IconSprite(_ref) { 7962 var name = _ref.name, 7963 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["name"]); 7964 7965 return Object(preact_modulebabel_target_legacy["h"])("svg", extendsbabel_target_legacy_default()({ 7966 width: "32", 7967 height: "32", 7968 xmlns: "http://www.w3.org/2000/svg" 7969 }, props), Object(preact_modulebabel_target_legacy["h"])("use", { 7970 xlinkHref: "#icon-".concat(name) 7971 })); 7972}; 7973/* harmony default export */ var IconSpritebabel_target_legacy = (IconSpritebabel_target_legacy_IconSprite); 7974// CONCATENATED MODULE: ./src/components/IconSprite/index.ts?babel-target=legacy 7975 7976 7977/***/ }), 7978/* 132 */ 7979/***/ (function(module, exports, __webpack_require__) { 7980 7981var internalObjectKeys = __webpack_require__(359); 7982var enumBugKeys = __webpack_require__(279); 7983 7984var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 7985 7986// `Object.getOwnPropertyNames` method 7987// https://tc39.github.io/ecma262/#sec-object.getownpropertynames 7988exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 7989 return internalObjectKeys(O, hiddenKeys); 7990}; 7991 7992 7993/***/ }), 7994/* 133 */ 7995/***/ (function(module, exports, __webpack_require__) { 7996 7997var classof = __webpack_require__(101); 7998 7999// `IsArray` abstract operation 8000// https://tc39.github.io/ecma262/#sec-isarray 8001module.exports = Array.isArray || function isArray(arg) { 8002 return classof(arg) == 'Array'; 8003}; 8004 8005 8006/***/ }), 8007/* 134 */ 8008/***/ (function(module, exports, __webpack_require__) { 8009 8010"use strict"; 8011 8012var toPrimitive = __webpack_require__(79); 8013var definePropertyModule = __webpack_require__(30); 8014var createPropertyDescriptor = __webpack_require__(100); 8015 8016module.exports = function (object, key, value) { 8017 var propertyKey = toPrimitive(key); 8018 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); 8019 else object[propertyKey] = value; 8020}; 8021 8022 8023/***/ }), 8024/* 135 */ 8025/***/ (function(module, exports, __webpack_require__) { 8026 8027var hiddenKeys = __webpack_require__(166); 8028var isObject = __webpack_require__(19); 8029var has = __webpack_require__(35); 8030var defineProperty = __webpack_require__(30).f; 8031var uid = __webpack_require__(165); 8032var FREEZING = __webpack_require__(178); 8033 8034var METADATA = uid('meta'); 8035var id = 0; 8036 8037var isExtensible = Object.isExtensible || function () { 8038 return true; 8039}; 8040 8041var setMetadata = function (it) { 8042 defineProperty(it, METADATA, { value: { 8043 objectID: 'O' + ++id, // object ID 8044 weakData: {} // weak collections IDs 8045 } }); 8046}; 8047 8048var fastKey = function (it, create) { 8049 // return a primitive with prefix 8050 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; 8051 if (!has(it, METADATA)) { 8052 // can't set metadata to uncaught frozen object 8053 if (!isExtensible(it)) return 'F'; 8054 // not necessary to add metadata 8055 if (!create) return 'E'; 8056 // add missing metadata 8057 setMetadata(it); 8058 // return object ID 8059 } return it[METADATA].objectID; 8060}; 8061 8062var getWeakData = function (it, create) { 8063 if (!has(it, METADATA)) { 8064 // can't set metadata to uncaught frozen object 8065 if (!isExtensible(it)) return true; 8066 // not necessary to add metadata 8067 if (!create) return false;
vendor: 4,973 bytes, lines 8068-8192
8068 // add missing metadata 8069 setMetadata(it); 8070 // return the store of weak collections IDs 8071 } return it[METADATA].weakData; 8072}; 8073 8074// add metadata on freeze-family methods calling 8075var onFreeze = function (it) { 8076 if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); 8077 return it; 8078}; 8079 8080var meta = module.exports = { 8081 REQUIRED: false, 8082 fastKey: fastKey, 8083 getWeakData: getWeakData, 8084 onFreeze: onFreeze 8085}; 8086 8087hiddenKeys[METADATA] = true; 8088 8089 8090/***/ }), 8091/* 136 */ 8092/***/ (function(module, exports, __webpack_require__) { 8093 8094// extracted by mini-css-extract-plugin 8095module.exports = {"visuallyHidden":"SongBox-module__visuallyHidden--3p0u0","title":"SongBox-module__title--3E6Zu","label":"SongBox-module__label--3p9-Q","songAction":"SongBox-module__songAction--1ZhJO","time":"SongBox-module__time--3I1o3","artist":"SongBox-module__artist--2dv8v","wrap":"SongBox-module__wrap--1uim4","songActionLabel":"SongBox-module__songActionLabel--2G5PH","songActionWrap":"SongBox-module__songActionWrap--LrK7P","img":"SongBox-module__img--13wtH","details":"SongBox-module__details--1SNI9","detailsNoAlbumArt":"SongBox-module__detailsNoAlbumArt--1a8Ld","detailsNowPlaying":"SongBox-module__detailsNowPlaying--3LUhw","detailsNowPlayinNoAlbumArt":"SongBox-module__detailsNowPlayinNoAlbumArt--3atm4","noAction":"SongBox-module__noAction--3EaGV","noArt":"SongBox-module__noArt--Bhh2F","noActionNoArt":"SongBox-module__noActionNoArt--1ahco"}; 8096 8097/***/ }), 8098/* 137 */, 8099/* 138 */ 8100/***/ (function(module, exports, __webpack_require__) { 8101 8102"use strict"; 8103 8104var toIndexedObject = __webpack_require__(66); 8105var addToUnscopables = __webpack_require__(118); 8106var Iterators = __webpack_require__(172); 8107var InternalStateModule = __webpack_require__(58); 8108var defineIterator = __webpack_require__(287); 8109 8110var ARRAY_ITERATOR = 'Array Iterator'; 8111var setInternalState = InternalStateModule.set; 8112var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); 8113 8114// `Array.prototype.entries` method 8115// https://tc39.github.io/ecma262/#sec-array.prototype.entries 8116// `Array.prototype.keys` method 8117// https://tc39.github.io/ecma262/#sec-array.prototype.keys 8118// `Array.prototype.values` method 8119// https://tc39.github.io/ecma262/#sec-array.prototype.values 8120// `Array.prototype[@@iterator]` method 8121// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator 8122// `CreateArrayIterator` internal method 8123// https://tc39.github.io/ecma262/#sec-createarrayiterator 8124module.exports = defineIterator(Array, 'Array', function (iterated, kind) { 8125 setInternalState(this, { 8126 type: ARRAY_ITERATOR, 8127 target: toIndexedObject(iterated), // target 8128 index: 0, // next index 8129 kind: kind // kind 8130 }); 8131// `%ArrayIteratorPrototype%.next` method 8132// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next 8133}, function () { 8134 var state = getInternalState(this); 8135 var target = state.target; 8136 var kind = state.kind; 8137 var index = state.index++; 8138 if (!target || index >= target.length) { 8139 state.target = undefined; 8140 return { value: undefined, done: true }; 8141 } 8142 if (kind == 'keys') return { value: index, done: false }; 8143 if (kind == 'values') return { value: target[index], done: false }; 8144 return { value: [index, target[index]], done: false }; 8145}, 'values'); 8146 8147// argumentsList[@@iterator] is %ArrayProto_values% 8148// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject 8149// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject 8150Iterators.Arguments = Iterators.Array; 8151 8152// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 8153addToUnscopables('keys'); 8154addToUnscopables('values'); 8155addToUnscopables('entries'); 8156 8157 8158/***/ }), 8159/* 139 */, 8160/* 140 */ 8161/***/ (function(module, exports, __webpack_require__) { 8162 8163"use strict"; 8164 8165var $ = __webpack_require__(2); 8166var notARegExp = __webpack_require__(289); 8167var requireObjectCoercible = __webpack_require__(52); 8168var correctIsRegExpLogic = __webpack_require__(290); 8169 8170// `String.prototype.includes` method 8171// https://tc39.github.io/ecma262/#sec-string.prototype.includes 8172$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { 8173 includes: function includes(searchString /* , position = 0 */) { 8174 return !!~String(requireObjectCoercible(this)) 8175 .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); 8176 } 8177}); 8178 8179 8180/***/ }), 8181/* 141 */ 8182/***/ (function(module, exports, __webpack_require__) { 8183 8184// extracted by mini-css-extract-plugin 8185module.exports = {"visuallyHidden":"TabBar-module__visuallyHidden--1UHyo","selected":"TabBar-module__selected--3D9i7","tab":"TabBar-module__tab--1qLHV","wrap":"TabBar-module__wrap--190kq","buttonContent":"TabBar-module__buttonContent--nPmX4","affix":"TabBar-module__affix--1Va3z"}; 8186 8187/***/ }), 8188/* 142 */ 8189/***/ (function(module, exports, __webpack_require__) { 8190 8191// extracted by mini-css-extract-plugin 8192module.exports = {"visuallyHidden":"StationError-module__visuallyHidden--2RVru","t
8192itle":"StationError-module__title--3zS0T","link":"StationError-module__link--3oTny","lyrics":"StationError-module__lyrics--JgNuH","copyContainer":"StationError-module__copyContainer--1J9eP","background":"StationError-module__background--2bue1","container":"StationError-module__container--259GW","icon":"StationError-module__icon--24-Ms"}; 8193 8194/***/ }), 8195/* 143 */ 8196/***/ (function(module, exports, __webpack_require__) { 8197 8198// extracted by mini-css-extract-plugin 8199module.exports = {"visuallyHidden":"AnnouncementBanner-module__visuallyHidden--3CIlD","settingsRow":"AnnouncementBanner-module__settingsRow--reRTP","name":"AnnouncementBanner-module__name--2txjb","settingsButton":"AnnouncementBanner-module__settingsButton--3AHYX","accept":"AnnouncementBanner-module__accept--3bIRi","title":"AnnouncementBanner-module__title--1t32C","toggleLabel":"AnnouncementBanner-module__toggleLabel--1Bz98","description":"AnnouncementBanner-module__description--1BzCg","policy":"AnnouncementBanner-module__policy--1S4IP","body":"AnnouncementBanner-module__body--1WPbz","wrap":"AnnouncementBanner-module__wrap--2L0q_","hide":"AnnouncementBanner-module__hide--1Goxf","inner":"AnnouncementBanner-module__inner--a5LIL","buttons":"AnnouncementBanner-module__buttons--Ec3Lo","toggle":"AnnouncementBanner-module__toggle--1Gvyu"}; 8200 8201/***/ }), 8202/* 144 */, 8203/* 145 */, 8204/* 146 */ 8205/***/ (function(module, exports, __webpack_require__) { 8206 8207var classof = __webpack_require__(101); 8208var global = __webpack_require__(16); 8209 8210module.exports = classof(global.process) == 'process'; 8211 8212 8213/***/ }), 8214/* 147 */ 8215/***/ (function(module, exports, __webpack_require__) { 8216 8217"use strict"; 8218 8219var getBuiltIn = __webpack_require__(67); 8220var definePropertyModule = __webpack_require__(30); 8221var wellKnownSymbol = __webpack_require__(23); 8222var DESCRIPTORS = __webpack_require__(21); 8223 8224var SPECIES = wellKnownSymbol('species'); 8225 8226module.exports = function (CONSTRUCTOR_NAME) { 8227 var Constructor = getBuiltIn(CONSTRUCTOR_NAME); 8228 var defineProperty = definePropertyModule.f; 8229 8230 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { 8231 defineProperty(Constructor, SPECIES, { 8232 configurable: true, 8233 get: function () { return this; } 8234 }); 8235 } 8236}; 8237 8238 8239/***/ }), 8240/* 148 */ 8241/***/ (function(module, exports, __webpack_require__) { 8242 8243"use strict"; 8244 8245var anObject = __webpack_require__(20); 8246 8247// `RegExp.prototype.flags` getter implementation 8248// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags 8249module.exports = function () { 8250 var that = anObject(this); 8251 var result = ''; 8252 if (that.global) result += 'g'; 8253 if (that.ignoreCase) result += 'i'; 8254 if (that.multiline) result += 'm'; 8255 if (that.dotAll) result += 's'; 8256 if (that.unicode) result += 'u'; 8257 if (that.sticky) result += 'y'; 8258 return result; 8259}; 8260 8261 8262/***/ }), 8263/* 149 */ 8264/***/ (function(module, exports, __webpack_require__) { 8265 8266var requireObjectCoercible = __webpack_require__(52); 8267var whitespaces = __webpack_require__(225); 8268 8269var whitespace = '[' + whitespaces + ']'; 8270var ltrim = RegExp('^' + whitespace + whitespace + '*'); 8271var rtrim = RegExp(whitespace + whitespace + '*$'); 8272 8273// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation 8274var createMethod = function (TYPE) { 8275 return function ($this) { 8276 var string = String(requireObjectCoercible($this)); 8277 if (TYPE & 1) string = string.replace(ltrim, ''); 8278 if (TYPE & 2) string = string.replace(rtrim, ''); 8279 return string; 8280 }; 8281}; 8282 8283module.exports = { 8284 // `String.prototype.{ trimLeft, trimStart }` methods 8285 // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart 8286 start: createMethod(1), 8287 // `String.prototype.{ trimRight, trimEnd }` methods 8288 // https://tc39.github.io/ecma262/#sec-string.prototype.trimend 8289 end: createMethod(2), 8290 // `String.prototype.trim` method 8291 // https://tc39.github.io/ecma262/#sec-string.prototype.trim 8292 trim: createMethod(3) 8293}; 8294 8295 8296/***/ }), 8297/* 150 */ 8298/***/ (function(module, exports, __webpack_require__) { 8299 8300var redefine = __webpack_require__(54); 8301 8302module.exports = function (target, src, options) { 8303 for (var key in src) redefine(target, key, src[key], options); 8304 return target; 8305}; 8306 8307 8308/***/ }), 8309/* 151 */, 8310/* 152 */ 8311/***/ (function(module, __webpack_exports__, __webpack_require__) { 8312 8313"use strict"; 8314/* harmony import */ var _useEventBus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(430); 8315/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _useEventBus__WEBPACK_IMPORTED_MODULE_0__["a"]; }); 8316 8317/* harmony import */ var _EventBusProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(399); 8318/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _EventBusProvider__WEBPACK_IMPORTED_MODULE_1__["b"]; }); 8319 8320 8321 8322 8323/***/ }), 8324/* 153 */, 8325/* 154 */
8326/***/ (function(module, exports) { 8327 8328function _typeof(obj) { 8329 "@babel/helpers - typeof"; 8330 8331 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 8332 module.exports = _typeof = function _typeof(obj) { 8333 return typeof obj; 8334 }; 8335 } else { 8336 module.exports = _typeof = function _typeof(obj) { 8337 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 8338 }; 8339 } 8340 8341 return _typeof(obj); 8342} 8343 8344module.exports = _typeof; 8345 8346/***/ }), 8347/* 155 */, 8348/* 156 */ 8349/***/ (function(module, exports, __webpack_require__) { 8350 8351"use strict"; 8352 8353var redefine = __webpack_require__(54); 8354var anObject = __webpack_require__(20); 8355var fails = __webpack_require__(11); 8356var flags = __webpack_require__(148); 8357 8358var TO_STRING = 'toString'; 8359var RegExpPrototype = RegExp.prototype; 8360var nativeToString = RegExpPrototype[TO_STRING]; 8361 8362var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); 8363// FF44- RegExp#toString has a wrong name 8364var INCORRECT_NAME = nativeToString.name != TO_STRING; 8365 8366// `RegExp.prototype.toString` method 8367// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring 8368if (NOT_GENERIC || INCORRECT_NAME) { 8369 redefine(RegExp.prototype, TO_STRING, function toString() { 8370 var R = anObject(this); 8371 var p = String(R.source); 8372 var rf = R.flags; 8373 var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); 8374 return '/' + p + '/' + f; 8375 }, { unsafe: true }); 8376} 8377 8378 8379/***/ }), 8380/* 157 */, 8381/* 158 */, 8382/* 159 */ 8383/***/ (function(module, exports, __webpack_require__) { 8384 8385// extracted by mini-css-extract-plugin 8386module.exports = {"visuallyHidden":"RecentStations-module__visuallyHidden--2gEaf","title":"RecentStations-module__title--1EbTq","card":"RecentStations-module__card--yFBPm ContentCard-module__card--1Ds0J","info":"RecentStations-module__info--JWO_c","empty":"RecentStations-module__empty--2NL77","sub":"RecentStations-module__sub--2j2BA","wrap":"RecentStations-module__wrap--1pI2u","head":"RecentStations-module__head--gFyRp","searchHistoryContainer":"RecentStations-module__searchHistoryContainer--1CTjO","buttons":"RecentStations-module__buttons--3PrhG","swoosh":"RecentStations-module__swoosh--2hqNJ"}; 8387 8388/***/ }), 8389/* 160 */ 8390/***/ (function(module, exports, __webpack_require__) { 8391 8392"use strict"; 8393 8394var $ = __webpack_require__(2); 8395var IndexedObject = __webpack_require__(164); 8396var toIndexedObject = __webpack_require__(66); 8397var arrayMethodIsStrict = __webpack_require__(102); 8398 8399var nativeJoin = [].join; 8400 8401var ES3_STRINGS = IndexedObject != Object; 8402var STRICT_METHOD = arrayMethodIsStrict('join', ','); 8403 8404// `Array.prototype.join` method 8405// https://tc39.github.io/ecma262/#sec-array.prototype.join 8406$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { 8407 join: function join(separator) { 8408 return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); 8409 } 8410}); 8411 8412 8413/***/ }), 8414/* 161 */, 8415/* 162 */ 8416/***/ (function(module, exports, __webpack_require__) { 8417 8418"use strict"; 8419 8420var $ = __webpack_require__(2); 8421var $reduce = __webpack_require__(217).left; 8422var arrayMethodIsStrict = __webpack_require__(102); 8423var arrayMethodUsesToLength = __webpack_require__(63); 8424var CHROME_VERSION = __webpack_require__(176); 8425var IS_NODE = __webpack_require__(146); 8426 8427var STRICT_METHOD = arrayMethodIsStrict('reduce'); 8428var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); 8429// Chrome 80-82 has a critical bug 8430// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 8431var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 8432 8433// `Array.prototype.reduce` method 8434// https://tc39.github.io/ecma262/#sec-array.prototype.reduce 8435$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
vendor: 10,105 bytes, lines 8436-8794
8436 reduce: function reduce(callbackfn /* , initialValue */) { 8437 return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 8438 } 8439}); 8440 8441 8442/***/ }), 8443/* 163 */, 8444/* 164 */ 8445/***/ (function(module, exports, __webpack_require__) { 8446 8447var fails = __webpack_require__(11); 8448var classof = __webpack_require__(101); 8449 8450var split = ''.split; 8451 8452// fallback for non-array-like ES3 and non-enumerable old V8 strings 8453module.exports = fails(function () { 8454 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 8455 // eslint-disable-next-line no-prototype-builtins 8456 return !Object('z').propertyIsEnumerable(0); 8457}) ? function (it) { 8458 return classof(it) == 'String' ? split.call(it, '') : Object(it); 8459} : Object; 8460 8461 8462/***/ }), 8463/* 165 */ 8464/***/ (function(module, exports) { 8465 8466var id = 0; 8467var postfix = Math.random(); 8468 8469module.exports = function (key) { 8470 return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); 8471}; 8472 8473 8474/***/ }), 8475/* 166 */ 8476/***/ (function(module, exports) { 8477 8478module.exports = {}; 8479 8480 8481/***/ }), 8482/* 167 */ 8483/***/ (function(module, exports, __webpack_require__) { 8484 8485var global = __webpack_require__(16); 8486 8487module.exports = global; 8488 8489 8490/***/ }), 8491/* 168 */ 8492/***/ (function(module, exports, __webpack_require__) { 8493 8494var toIndexedObject = __webpack_require__(66); 8495var toLength = __webpack_require__(28); 8496var toAbsoluteIndex = __webpack_require__(114); 8497 8498// `Array.prototype.{ indexOf, includes }` methods implementation 8499var createMethod = function (IS_INCLUDES) { 8500 return function ($this, el, fromIndex) { 8501 var O = toIndexedObject($this); 8502 var length = toLength(O.length); 8503 var index = toAbsoluteIndex(fromIndex, length); 8504 var value; 8505 // Array#includes uses SameValueZero equality algorithm 8506 // eslint-disable-next-line no-self-compare 8507 if (IS_INCLUDES && el != el) while (length > index) { 8508 value = O[index++]; 8509 // eslint-disable-next-line no-self-compare 8510 if (value != value) return true; 8511 // Array#indexOf ignores holes, Array#includes - not 8512 } else for (;length > index; index++) { 8513 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 8514 } return !IS_INCLUDES && -1; 8515 }; 8516}; 8517 8518module.exports = { 8519 // `Array.prototype.includes` method 8520 // https://tc39.github.io/ecma262/#sec-array.prototype.includes 8521 includes: createMethod(true), 8522 // `Array.prototype.indexOf` method 8523 // https://tc39.github.io/ecma262/#sec-array.prototype.indexof 8524 indexOf: createMethod(false) 8525}; 8526 8527 8528/***/ }), 8529/* 169 */ 8530/***/ (function(module, exports, __webpack_require__) { 8531 8532var fails = __webpack_require__(11); 8533 8534var replacement = /#|\.prototype\./; 8535 8536var isForced = function (feature, detection) { 8537 var value = data[normalize(feature)]; 8538 return value == POLYFILL ? true 8539 : value == NATIVE ? false 8540 : typeof detection == 'function' ? fails(detection) 8541 : !!detection; 8542}; 8543 8544var normalize = isForced.normalize = function (string) { 8545 return String(string).replace(replacement, '.').toLowerCase(); 8546}; 8547 8548var data = isForced.data = {}; 8549var NATIVE = isForced.NATIVE = 'N'; 8550var POLYFILL = isForced.POLYFILL = 'P'; 8551 8552module.exports = isForced; 8553 8554 8555/***/ }), 8556/* 170 */ 8557/***/ (function(module, exports, __webpack_require__) { 8558 8559var internalObjectKeys = __webpack_require__(359); 8560var enumBugKeys = __webpack_require__(279); 8561 8562// `Object.keys` method 8563// https://tc39.github.io/ecma262/#sec-object.keys 8564module.exports = Object.keys || function keys(O) { 8565 return internalObjectKeys(O, enumBugKeys); 8566}; 8567 8568 8569/***/ }), 8570/* 171 */ 8571/***/ (function(module, exports, __webpack_require__) { 8572 8573var isObject = __webpack_require__(19); 8574var isArray = __webpack_require__(133); 8575var wellKnownSymbol = __webpack_require__(23); 8576 8577var SPECIES = wellKnownSymbol('species'); 8578 8579// `ArraySpeciesCreate` abstract operation 8580// https://tc39.github.io/ecma262/#sec-arrayspeciescreate 8581module.exports = function (originalArray, length) { 8582 var C; 8583 if (isArray(originalArray)) { 8584 C = originalArray.constructor; 8585 // cross-realm fallback 8586 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 8587 else if (isObject(C)) { 8588 C = C[SPECIES]; 8589 if (C === null) C = undefined; 8590 } 8591 } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); 8592}; 8593 8594 8595/***/ }), 8596/* 172 */ 8597/***/ (function(module, exports) { 8598 8599module.exports = {}; 8600 8601 8602/***/ }), 8603/* 173 */ 8604/***/ (function(module, exports, __webpack_require__) { 8605 8606var classof = __webpack_require__(174); 8607var Iterators = __webpack_require__(172); 8608var wellKnownSymbol = __webpack_require__(23); 8609 8610var ITERATOR = wellKnownSymbol('iterator'); 8611 8612module.exports = function (it) { 8613 if (it != undefined) return it[ITERATOR] 8614 || it['@@iterator'] 8615 || Iterators[classof(it)]; 8616}; 8617 8618 8619/***/ }), 8620/* 174 */ 8621/***/ (function(module, exports, __webpack_require__) { 8622 8623var TO_STRING_TAG_SUPPORT = __webpack_require__(285); 8624var classofRaw = __webpack_require__(101); 8625var wellKnownSymbol = __webpack_require__(23); 8626 8627var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 8628// ES3 wrong here 8629var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; 8630 8631// fallback for IE11 Script Access Denied error 8632var tryGet = function (it, key) { 8633 try { 8634 return it[key]; 8635 } catch (error) { /* empty */ } 8636}; 8637 8638// getting tag from ES6+ `Object.prototype.toString` 8639module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 8640 var O, tag, result; 8641 return it === undefined ? 'Undefined' : it === null ? 'Null' 8642 // @@toStringTag case 8643 : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag 8644 // builtinTag case 8645 : CORRECT_ARGUMENTS ? classofRaw(O) 8646 // ES3 arguments fallback 8647 : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; 8648}; 8649 8650 8651/***/ }), 8652/* 175 */ 8653/***/ (function(module, exports, __webpack_require__) { 8654 8655var fails = __webpack_require__(11); 8656var wellKnownSymbol = __webpack_require__(23); 8657var V8_VERSION = __webpack_require__(176); 8658 8659var SPECIES = wellKnownSymbol('species'); 8660 8661module.exports = function (METHOD_NAME) { 8662 // We can't use this feature detection in V8 since it causes 8663 // deoptimization and serious performance degradation 8664 // https://github.com/zloirock/core-js/issues/677 8665 return V8_VERSION >= 51 || !fails(function () { 8666 var array = []; 8667 var constructor = array.constructor = {}; 8668 constructor[SPECIES] = function () { 8669 return { foo: 1 }; 8670 }; 8671 return array[METHOD_NAME](Boolean).foo !== 1; 8672 }); 8673}; 8674 8675 8676/***/ }), 8677/* 176 */ 8678/***/ (function(module, exports, __webpack_require__) { 8679 8680var global = __webpack_require__(16); 8681var userAgent = __webpack_require__(216); 8682 8683var process = global.process; 8684var versions = process && process.versions; 8685var v8 = versions && versions.v8; 8686var match, version; 8687 8688if (v8) { 8689 match = v8.split('.'); 8690 version = match[0] + match[1]; 8691} else if (userAgent) { 8692 match = userAgent.match(/Edge\/(\d+)/); 8693 if (!match || match[1] >= 74) { 8694 match = userAgent.match(/Chrome\/(\d+)/); 8695 if (match) version = match[1]; 8696 } 8697} 8698 8699module.exports = version && +version; 8700 8701 8702/***/ }), 8703/* 177 */ 8704/***/ (function(module, exports, __webpack_require__) { 8705 8706"use strict"; 8707 8708var $ = __webpack_require__(2); 8709var isObject = __webpack_require__(19); 8710var isArray = __webpack_require__(133); 8711var toAbsoluteIndex = __webpack_require__(114); 8712var toLength = __webpack_require__(28); 8713var toIndexedObject = __webpack_require__(66); 8714var createProperty = __webpack_require__(134); 8715var wellKnownSymbol = __webpack_require__(23); 8716var arrayMethodHasSpeciesSupport = __webpack_require__(175); 8717var arrayMethodUsesToLength = __webpack_require__(63); 8718 8719var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); 8720var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 }); 8721 8722var SPECIES = wellKnownSymbol('species'); 8723var nativeSlice = [].slice; 8724var max = Math.max; 8725 8726// `Array.prototype.slice` method 8727// https://tc39.github.io/ecma262/#sec-array.prototype.slice 8728// fallback for not array-like ES3 strings and DOM objects 8729$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 8730 slice: function slice(start, end) { 8731 var O = toIndexedObject(this); 8732 var length = toLength(O.length); 8733 var k = toAbsoluteIndex(start, length); 8734 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 8735 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible 8736 var Constructor, result, n; 8737 if (isArray(O)) { 8738 Constructor = O.constructor; 8739 // cross-realm fallback 8740 if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { 8741 Constructor = undefined; 8742 } else if (isObject(Constructor)) { 8743 Constructor = Constructor[SPECIES]; 8744 if (Constructor === null) Constructor = undefined; 8745 } 8746 if (Constructor === Array || Constructor === undefined) { 8747 return nativeSlice.call(O, k, fin); 8748 } 8749 } 8750 result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); 8751 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); 8752 result.length = n; 8753 return result; 8754 } 8755}); 8756 8757 8758/***/ }), 8759/* 178 */ 8760/***/ (function(module, exports, __webpack_require__) { 8761 8762var fails = __webpack_require__(11); 8763 8764module.exports = !fails(function () { 8765 return Object.isExtensible(Object.preventExtensions({})); 8766}); 8767 8768 8769/***/ }), 8770/* 179 */ 8771/***/ (function(module, exports, __webpack_require__) { 8772 8773var isObject = __webpack_require__(19); 8774var classof = __webpack_require__(101); 8775var wellKnownSymbol = __webpack_require__(23); 8776 8777var MATCH = wellKnownSymbol('match'); 8778 8779// `IsRegExp` abstract operation 8780// https://tc39.github.io/ecma262/#sec-isregexp 8781module.exports = function (it) { 8782 var isRegExp; 8783 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); 8784}; 8785 8786 8787/***/ }), 8788/* 180 */ 8789/***/ (function(module, exports, __webpack_require__) { 8790 8791"use strict"; 8792/* WEBPACK VAR INJECTION */(function(Buffer) { 8793const punycode = __webpack_require__(472); 8794const tr46 = __webpack_require__(927
vendor: 33,493 bytes, lines 8794-10089
8794); 8795 8796const specialSchemes = { 8797 ftp: 21, 8798 file: null, 8799 gopher: 70, 8800 http: 80, 8801 https: 443, 8802 ws: 80, 8803 wss: 443 8804}; 8805 8806const failure = Symbol("failure"); 8807 8808function countSymbols(str) { 8809 return punycode.ucs2.decode(str).length; 8810} 8811 8812function at(input, idx) { 8813 const c = input[idx]; 8814 return isNaN(c) ? undefined : String.fromCodePoint(c); 8815} 8816 8817function isASCIIDigit(c) { 8818 return c >= 0x30 && c <= 0x39; 8819} 8820 8821function isASCIIAlpha(c) { 8822 return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); 8823} 8824 8825function isASCIIAlphanumeric(c) { 8826 return isASCIIAlpha(c) || isASCIIDigit(c); 8827} 8828 8829function isASCIIHex(c) { 8830 return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); 8831} 8832 8833function isSingleDot(buffer) { 8834 return buffer === "." || buffer.toLowerCase() === "%2e"; 8835} 8836 8837function isDoubleDot(buffer) { 8838 buffer = buffer.toLowerCase(); 8839 return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; 8840} 8841 8842function isWindowsDriveLetterCodePoints(cp1, cp2) { 8843 return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); 8844} 8845 8846function isWindowsDriveLetterString(string) { 8847 return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); 8848} 8849 8850function isNormalizedWindowsDriveLetterString(string) { 8851 return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; 8852} 8853 8854function containsForbiddenHostCodePoint(string) { 8855 return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; 8856} 8857 8858function containsForbiddenHostCodePointExcludingPercent(string) { 8859 return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; 8860} 8861 8862function isSpecialScheme(scheme) { 8863 return specialSchemes[scheme] !== undefined; 8864} 8865 8866function isSpecial(url) { 8867 return isSpecialScheme(url.scheme); 8868} 8869 8870function defaultPort(scheme) { 8871 return specialSchemes[scheme]; 8872} 8873 8874function percentEncode(c) { 8875 let hex = c.toString(16).toUpperCase(); 8876 if (hex.length === 1) { 8877 hex = "0" + hex; 8878 } 8879 8880 return "%" + hex; 8881} 8882 8883function utf8PercentEncode(c) { 8884 const buf = new Buffer(c); 8885 8886 let str = ""; 8887 8888 for (let i = 0; i < buf.length; ++i) { 8889 str += percentEncode(buf[i]); 8890 } 8891 8892 return str; 8893} 8894 8895function utf8PercentDecode(str) { 8896 const input = new Buffer(str); 8897 const output = []; 8898 for (let i = 0; i < input.length; ++i) { 8899 if (input[i] !== 37) { 8900 output.push(input[i]); 8901 } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { 8902 output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); 8903 i += 2; 8904 } else { 8905 output.push(input[i]); 8906 } 8907 } 8908 return new Buffer(output).toString(); 8909} 8910 8911function isC0ControlPercentEncode(c) { 8912 return c <= 0x1F || c > 0x7E; 8913} 8914 8915const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); 8916function isPathPercentEncode(c) { 8917 return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); 8918} 8919 8920const extraUserinfoPercentEncodeSet = 8921 new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); 8922function isUserinfoPercentEncode(c) { 8923 return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); 8924} 8925 8926function percentEncodeChar(c, encodeSetPredicate) { 8927 const cStr = String.fromCodePoint(c); 8928 8929 if (encodeSetPredicate(c)) { 8930 return utf8PercentEncode(cStr); 8931 } 8932 8933 return cStr; 8934} 8935 8936function parseIPv4Number(input) { 8937 let R = 10; 8938 8939 if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { 8940 input = input.substring(2); 8941 R = 16; 8942 } else if (input.length >= 2 && input.charAt(0) === "0") { 8943 input = input.substring(1); 8944 R = 8; 8945 } 8946 8947 if (input === "") { 8948 return 0; 8949 } 8950 8951 const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); 8952 if (regex.test(input)) { 8953 return failure; 8954 } 8955 8956 return parseInt(input, R); 8957} 8958 8959function parseIPv4(input) { 8960 const parts = input.split("."); 8961 if (parts[parts.length - 1] === "") { 8962 if (parts.length > 1) { 8963 parts.pop(); 8964 } 8965 } 8966 8967 if (parts.length > 4) { 8968 return input; 8969 } 8970 8971 const numbers = []; 8972 for (const part of parts) { 8973 if (part === "") { 8974 return input; 8975 } 8976 const n = parseIPv4Number(part); 8977 if (n === failure) { 8978 return input; 8979 } 8980 8981 numbers.push(n); 8982 } 8983 8984 for (let i = 0; i < numbers.length - 1; ++i) { 8985 if (numbers[i] > 255) { 8986 return failure; 8987 } 8988 } 8989 if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { 8990 return failure; 8991 } 8992 8993 let ipv4 = numbers.pop(); 8994 let counter = 0; 8995 8996 for (const n of numbers) { 8997 ipv4 += n * Math.pow(256, 3 - counter); 8998 ++counter; 8999 } 9000 9001 return ipv4; 9002} 9003 9004function serializeIPv4(address) { 9005 let output = ""; 9006 let n = address; 9007 9008 for (let i = 1; i <= 4; ++i) { 9009 output = String(n % 256) + output; 9010 if (i !== 4) { 9011 output = "." + output; 9012 } 9013 n = Math.floor(n / 256); 9014 } 9015 9016 return output; 9017} 9018 9019function parseIPv6(input) { 9020 const address = [0, 0, 0, 0, 0, 0, 0, 0]; 9021 let pieceIndex = 0; 9022 let compress = null; 9023 let pointer = 0; 9024 9025 input = punycode.ucs2.decode(input); 9026 9027 if (input[pointer] === 58) { 9028 if (input[pointer + 1] !== 58) { 9029 return failure; 9030 } 9031 9032 pointer += 2; 9033 ++pieceIndex; 9034 compress = pieceIndex; 9035 } 9036 9037 while (pointer < input.length) { 9038 if (pieceIndex === 8) { 9039 return failure; 9040 } 9041 9042 if (input[pointer] === 58) { 9043 if (compress !== null) { 9044 return failure; 9045 } 9046 ++pointer; 9047 ++pieceIndex; 9048 compress = pieceIndex; 9049 continue; 9050 } 9051 9052 let value = 0; 9053 let length = 0; 9054 9055 while (length < 4 && isASCIIHex(input[pointer])) { 9056 value = value * 0x10 + parseInt(at(input, pointer), 16); 9057 ++pointer; 9058 ++length; 9059 } 9060 9061 if (input[pointer] === 46) { 9062 if (length === 0) { 9063 return failure; 9064 } 9065 9066 pointer -= length; 9067 9068 if (pieceIndex > 6) { 9069 return failure; 9070 } 9071 9072 let numbersSeen = 0; 9073 9074 while (input[pointer] !== undefined) { 9075 let ipv4Piece = null; 9076 9077 if (numbersSeen > 0) { 9078 if (input[pointer] === 46 && numbersSeen < 4) { 9079 ++pointer; 9080 } else { 9081 return failure; 9082 } 9083 } 9084 9085 if (!isASCIIDigit(input[pointer])) { 9086 return failure; 9087 } 9088 9089 while (isASCIIDigit(input[pointer])) { 9090 const number = parseInt(at(input, pointer)); 9091 if (ipv4Piece === null) { 9092 ipv4Piece = number; 9093 } else if (ipv4Piece === 0) { 9094 return failure; 9095 } else { 9096 ipv4Piece = ipv4Piece * 10 + number; 9097 } 9098 if (ipv4Piece > 255) { 9099 return failure; 9100 } 9101 ++pointer; 9102 } 9103 9104 address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; 9105 9106 ++numbersSeen; 9107 9108 if (numbersSeen === 2 || numbersSeen === 4) { 9109 ++pieceIndex; 9110 } 9111 } 9112 9113 if (numbersSeen !== 4) { 9114 return failure; 9115 } 9116 9117 break; 9118 } else if (input[pointer] === 58) { 9119 ++pointer; 9120 if (input[pointer] === undefined) { 9121 return failure; 9122 } 9123 } else if (input[pointer] !== undefined) { 9124 return failure; 9125 } 9126 9127 address[pieceIndex] = value; 9128 ++pieceIndex; 9129 } 9130 9131 if (compress !== null) { 9132 let swaps = pieceIndex - compress; 9133 pieceIndex = 7; 9134 while (pieceIndex !== 0 && swaps > 0) { 9135 const temp = address[compress + swaps - 1]; 9136 address[compress + swaps - 1] = address[pieceIndex]; 9137 address[pieceIndex] = temp; 9138 --pieceIndex; 9139 --swaps; 9140 } 9141 } else if (compress === null && pieceIndex !== 8) { 9142 return failure; 9143 } 9144 9145 return address; 9146} 9147 9148function serializeIPv6(address) { 9149 let output = ""; 9150 const seqResult = findLongestZeroSequence(address); 9151 const compress = seqResult.idx; 9152 let ignore0 = false; 9153 9154 for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { 9155 if (ignore0 && address[pieceIndex] === 0) { 9156 continue; 9157 } else if (ignore0) { 9158 ignore0 = false; 9159 } 9160 9161 if (compress === pieceIndex) { 9162 const separator = pieceIndex === 0 ? "::" : ":"; 9163 output += separator; 9164 ignore0 = true; 9165 continue; 9166 } 9167 9168 output += address[pieceIndex].toString(16); 9169 9170 if (pieceIndex !== 7) { 9171 output += ":"; 9172 } 9173 } 9174 9175 return output; 9176} 9177 9178function parseHost(input, isSpecialArg) { 9179 if (input[0] === "[") { 9180 if (input[input.length - 1] !== "]") { 9181 return failure; 9182 } 9183 9184 return parseIPv6(input.substring(1, input.length - 1)); 9185 } 9186 9187 if (!isSpecialArg) { 9188 return parseOpaqueHost(input); 9189 } 9190 9191 const domain = utf8PercentDecode(input); 9192 const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); 9193 if (asciiDomain === null) { 9194 return failure; 9195 } 9196 9197 if (containsForbiddenHostCodePoint(asciiDomain)) { 9198 return failure; 9199 } 9200 9201 const ipv4Host = parseIPv4(asciiDomain); 9202 if (typeof ipv4Host === "number" || ipv4Host === failure) { 9203 return ipv4Host; 9204 } 9205 9206 return asciiDomain; 9207} 9208 9209function parseOpaqueHost(input) { 9210 if (containsForbiddenHostCodePointExcludingPercent(input)) { 9211 return failure; 9212 } 9213 9214 let output = ""; 9215 const decoded = punycode.ucs2.decode(input); 9216 for (let i = 0; i < decoded.length; ++i) { 9217 output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); 9218 } 9219 return output; 9220} 9221 9222function findLongestZeroSequence(arr) { 9223 let maxIdx = null; 9224 let maxLen = 1; // only find elements > 1 9225 let currStart = null; 9226 let currLen = 0; 9227 9228 for (let i = 0; i < arr.length; ++i) { 9229 if (arr[i] !== 0) { 9230 if (currLen > maxLen) { 9231 maxIdx = currStart; 9232 maxLen = currLen; 9233 } 9234 9235 currStart = null; 9236 currLen = 0; 9237 } else { 9238 if (currStart === null) { 9239 currStart = i; 9240 } 9241 ++currLen; 9242 } 9243 } 9244 9245 // if trailing zeros 9246 if (currLen > maxLen) { 9247 maxIdx = currStart; 9248 maxLen = currLen; 9249 } 9250 9251 return { 9252 idx: maxIdx, 9253 len: maxLen 9254 }; 9255} 9256 9257function serializeHost(host) { 9258 if (typeof host === "number") { 9259 return serializeIPv4(host); 9260 } 9261 9262 // IPv6 serializer 9263 if (host instanceof Array) { 9264 return "[" + serializeIPv6(host) + "]"; 9265 } 9266 9267 return host; 9268} 9269 9270function trimControlChars(url) { 9271 return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); 9272} 9273 9274function trimTabAndNewline(url) { 9275 return url.replace(/\u0009|\u000A|\u000D/g, ""); 9276} 9277 9278function shortenPath(url) { 9279 const path = url.path; 9280 if (path.length === 0) { 9281 return; 9282 } 9283 if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { 9284 return; 9285 } 9286 9287 path.pop(); 9288} 9289 9290function includesCredentials(url) { 9291 return url.username !== "" || url.password !== ""; 9292} 9293 9294function cannotHaveAUsernamePasswordPort(url) { 9295 return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; 9296} 9297 9298function isNormalizedWindowsDriveLetter(string) { 9299 return /^[A-Za-z]:$/.test(string); 9300} 9301 9302function URLStateMachine(input, base, encodingOverride, url, stateOverride) { 9303 this.pointer = 0; 9304 this.input = input; 9305 this.base = base || null; 9306 this.encodingOverride = encodingOverride || "utf-8"; 9307 this.stateOverride = stateOverride; 9308 this.url = url; 9309 this.failure = false; 9310 this.parseError = false; 9311 9312 if (!this.url) { 9313 this.url = { 9314 scheme: "", 9315 username: "", 9316 password: "", 9317 host: null, 9318 port: null, 9319 path: [], 9320 query: null, 9321 fragment: null, 9322 9323 cannotBeABaseURL: false 9324 }; 9325 9326 const res = trimControlChars(this.input); 9327 if (res !== this.input) { 9328 this.parseError = true; 9329 } 9330 this.input = res; 9331 } 9332 9333 const res = trimTabAndNewline(this.input); 9334 if (res !== this.input) { 9335 this.parseError = true; 9336 } 9337 this.input = res; 9338 9339 this.state = stateOverride || "scheme start"; 9340 9341 this.buffer = ""; 9342 this.atFlag = false; 9343 this.arrFlag = false; 9344 this.passwordTokenSeenFlag = false; 9345 9346 this.input = punycode.ucs2.decode(this.input); 9347 9348 for (; this.pointer <= this.input.length; ++this.pointer) { 9349 const c = this.input[this.pointer]; 9350 const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); 9351 9352 // exec state machine 9353 const ret = this["parse " + this.state](c, cStr); 9354 if (!ret) { 9355 break; // terminate algorithm 9356 } else if (ret === failure) { 9357 this.failure = true; 9358 break; 9359 } 9360 } 9361} 9362 9363URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { 9364 if (isASCIIAlpha(c)) { 9365 this.buffer += cStr.toLowerCase(); 9366 this.state = "scheme"; 9367 } else if (!this.stateOverride) { 9368 this.state = "no scheme"; 9369 --this.pointer; 9370 } else { 9371 this.parseError = true; 9372 return failure; 9373 } 9374 9375 return true; 9376}; 9377 9378URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { 9379 if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { 9380 this.buffer += cStr.toLowerCase(); 9381 } else if (c === 58) { 9382 if (this.stateOverride) { 9383 if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { 9384 return false; 9385 } 9386 9387 if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { 9388 return false; 9389 } 9390 9391 if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { 9392 return false; 9393 } 9394 9395 if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { 9396 return false; 9397 } 9398 } 9399 this.url.scheme = this.buffer; 9400 this.buffer = ""; 9401 if (this.stateOverride) { 9402 return false; 9403 } 9404 if (this.url.scheme === "file") { 9405 if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { 9406 this.parseError = true; 9407 } 9408 this.state = "file"; 9409 } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { 9410 this.state = "special relative or authority"; 9411 } else if (isSpecial(this.url)) { 9412 this.state = "special authority slashes"; 9413 } else if (this.input[this.pointer + 1] === 47) { 9414 this.state = "path or authority"; 9415 ++this.pointer; 9416 } else { 9417 this.url.cannotBeABaseURL = true; 9418 this.url.path.push(""); 9419 this.state = "cannot-be-a-base-URL path"; 9420 } 9421 } else if (!this.stateOverride) { 9422 this.buffer = ""; 9423 this.state = "no scheme"; 9424 this.pointer = -1; 9425 } else { 9426 this.parseError = true; 9427 return failure; 9428 } 9429 9430 return true; 9431}; 9432 9433URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { 9434 if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { 9435 return failure; 9436 } else if (this.base.cannotBeABaseURL && c === 35) { 9437 this.url.scheme = this.base.scheme; 9438 this.url.path = this.base.path.slice(); 9439 this.url.query = this.base.query; 9440 this.url.fragment = ""; 9441 this.url.cannotBeABaseURL = true; 9442 this.state = "fragment"; 9443 } else if (this.base.scheme === "file") { 9444 this.state = "file"; 9445 --this.pointer; 9446 } else { 9447 this.state = "relative"; 9448 --this.pointer; 9449 } 9450 9451 return true; 9452}; 9453 9454URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { 9455 if (c === 47 && this.input[this.pointer + 1] === 47) { 9456 this.state = "special authority ignore slashes"; 9457 ++this.pointer; 9458 } else { 9459 this.parseError = true; 9460 this.state = "relative"; 9461 --this.pointer; 9462 } 9463 9464 return true; 9465}; 9466 9467URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { 9468 if (c === 47) { 9469 this.state = "authority"; 9470 } else { 9471 this.state = "path"; 9472 --this.pointer; 9473 } 9474 9475 return true; 9476}; 9477 9478URLStateMachine.prototype["parse relative"] = function parseRelative(c) { 9479 this.url.scheme = this.base.scheme; 9480 if (isNaN(c)) { 9481 this.url.username = this.base.username; 9482 this.url.password = this.base.password; 9483 this.url.host = this.base.host; 9484 this.url.port = this.base.port; 9485 this.url.path = this.base.path.slice(); 9486 this.url.query = this.base.query; 9487 } else if (c === 47) { 9488 this.state = "relative slash"; 9489 } else if (c === 63) { 9490 this.url.username = this.base.username; 9491 this.url.password = this.base.password; 9492 this.url.host = this.base.host; 9493 this.url.port = this.base.port; 9494 this.url.path = this.base.path.slice(); 9495 this.url.query = ""; 9496 this.state = "query"; 9497 } else if (c === 35) { 9498 this.url.username = this.base.username; 9499 this.url.password = this.base.password; 9500 this.url.host = this.base.host; 9501 this.url.port = this.base.port; 9502 this.url.path = this.base.path.slice(); 9503 this.url.query = this.base.query; 9504 this.url.fragment = ""; 9505 this.state = "fragment"; 9506 } else if (isSpecial(this.url) && c === 92) { 9507 this.parseError = true; 9508 this.state = "relative slash"; 9509 } else { 9510 this.url.username = this.base.username; 9511 this.url.password = this.base.password; 9512 this.url.host = this.base.host; 9513 this.url.port = this.base.port; 9514 this.url.path = this.base.path.slice(0, this.base.path.length - 1); 9515 9516 this.state = "path"; 9517 --this.pointer; 9518 } 9519 9520 return true; 9521}; 9522 9523URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { 9524 if (isSpecial(this.url) && (c === 47 || c === 92)) { 9525 if (c === 92) { 9526 this.parseError = true; 9527 } 9528 this.state = "special authority ignore slashes"; 9529 } else if (c === 47) { 9530 this.state = "authority"; 9531 } else { 9532 this.url.username = this.base.username; 9533 this.url.password = this.base.password; 9534 this.url.host = this.base.host; 9535 this.url.port = this.base.port; 9536 this.state = "path"; 9537 --this.pointer; 9538 } 9539 9540 return true; 9541}; 9542 9543URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { 9544 if (c === 47 && this.input[this.pointer + 1] === 47) { 9545 this.state = "special authority ignore slashes"; 9546 ++this.pointer; 9547 } else { 9548 this.parseError = true; 9549 this.state = "special authority ignore slashes"; 9550 --this.pointer; 9551 } 9552 9553 return true; 9554}; 9555 9556URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { 9557 if (c !== 47 && c !== 92) { 9558 this.state = "authority"; 9559 --this.pointer; 9560 } else { 9561 this.parseError = true; 9562 } 9563 9564 return true; 9565}; 9566 9567URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { 9568 if (c === 64) { 9569 this.parseError = true; 9570 if (this.atFlag) { 9571 this.buffer = "%40" + this.buffer; 9572 } 9573 this.atFlag = true; 9574 9575 // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars 9576 const len = countSymbols(this.buffer); 9577 for (let pointer = 0; pointer < len; ++pointer) { 9578 const codePoint = this.buffer.codePointAt(pointer); 9579 9580 if (codePoint === 58 && !this.passwordTokenSeenFlag) { 9581 this.passwordTokenSeenFlag = true; 9582 continue; 9583 } 9584 const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); 9585 if (this.passwordTokenSeenFlag) { 9586 this.url.password += encodedCodePoints; 9587 } else { 9588 this.url.username += encodedCodePoints; 9589 } 9590 } 9591 this.buffer = ""; 9592 } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || 9593 (isSpecial(this.url) && c === 92)) { 9594 if (this.atFlag && this.buffer === "") { 9595 this.parseError = true; 9596 return failure; 9597 } 9598 this.pointer -= countSymbols(this.buffer) + 1; 9599 this.buffer = ""; 9600 this.state = "host"; 9601 } else { 9602 this.buffer += cStr; 9603 } 9604 9605 return true; 9606}; 9607 9608URLStateMachine.prototype["parse hostname"] = 9609URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { 9610 if (this.stateOverride && this.url.scheme === "file") { 9611 --this.pointer; 9612 this.state = "file host"; 9613 } else if (c === 58 && !this.arrFlag) { 9614 if (this.buffer === "") { 9615 this.parseError = true; 9616 return failure; 9617 } 9618 9619 const host = parseHost(this.buffer, isSpecial(this.url)); 9620 if (host === failure) { 9621 return failure; 9622 } 9623 9624 this.url.host = host; 9625 this.buffer = ""; 9626 this.state = "port"; 9627 if (this.stateOverride === "hostname") { 9628 return false; 9629 } 9630 } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || 9631 (isSpecial(this.url) && c === 92)) { 9632 --this.pointer; 9633 if (isSpecial(this.url) && this.buffer === "") { 9634 this.parseError = true; 9635 return failure; 9636 } else if (this.stateOverride && this.buffer === "" && 9637 (includesCredentials(this.url) || this.url.port !== null)) { 9638 this.parseError = true; 9639 return false; 9640 } 9641 9642 const host = parseHost(this.buffer, isSpecial(this.url)); 9643 if (host === failure) { 9644 return failure; 9645 } 9646 9647 this.url.host = host; 9648 this.buffer = ""; 9649 this.state = "path start"; 9650 if (this.stateOverride) { 9651 return false; 9652 } 9653 } else { 9654 if (c === 91) { 9655 this.arrFlag = true; 9656 } else if (c === 93) { 9657 this.arrFlag = false; 9658 } 9659 this.buffer += cStr; 9660 } 9661 9662 return true; 9663}; 9664 9665URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { 9666 if (isASCIIDigit(c)) { 9667 this.buffer += cStr; 9668 } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || 9669 (isSpecial(this.url) && c === 92) || 9670 this.stateOverride) { 9671 if (this.buffer !== "") { 9672 const port = parseInt(this.buffer); 9673 if (port > Math.pow(2, 16) - 1) { 9674 this.parseError = true; 9675 return failure; 9676 } 9677 this.url.port = port === defaultPort(this.url.scheme) ? null : port; 9678 this.buffer = ""; 9679 } 9680 if (this.stateOverride) { 9681 return false; 9682 } 9683 this.state = "path start"; 9684 --this.pointer; 9685 } else { 9686 this.parseError = true; 9687 return failure; 9688 } 9689 9690 return true; 9691}; 9692 9693const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); 9694 9695URLStateMachine.prototype["parse file"] = function parseFile(c) { 9696 this.url.scheme = "file"; 9697 9698 if (c === 47 || c === 92) { 9699 if (c === 92) { 9700 this.parseError = true; 9701 } 9702 this.state = "file slash"; 9703 } else if (this.base !== null && this.base.scheme === "file") { 9704 if (isNaN(c)) { 9705 this.url.host = this.base.host; 9706 this.url.path = this.base.path.slice(); 9707 this.url.query = this.base.query; 9708 } else if (c === 63) { 9709 this.url.host = this.base.host; 9710 this.url.path = this.base.path.slice(); 9711 this.url.query = ""; 9712 this.state = "query"; 9713 } else if (c === 35) { 9714 this.url.host = this.base.host; 9715 this.url.path = this.base.path.slice(); 9716 this.url.query = this.base.query; 9717 this.url.fragment = ""; 9718 this.state = "fragment"; 9719 } else { 9720 if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points 9721 !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || 9722 (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points 9723 !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { 9724 this.url.host = this.base.host; 9725 this.url.path = this.base.path.slice(); 9726 shortenPath(this.url); 9727 } else { 9728 this.parseError = true; 9729 } 9730 9731 this.state = "path"; 9732 --this.pointer; 9733 } 9734 } else { 9735 this.state = "path"; 9736 --this.pointer; 9737 } 9738 9739 return true; 9740}; 9741 9742URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { 9743 if (c === 47 || c === 92) { 9744 if (c === 92) { 9745 this.parseError = true; 9746 } 9747 this.state = "file host"; 9748 } else { 9749 if (this.base !== null && this.base.scheme === "file") { 9750 if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { 9751 this.url.path.push(this.base.path[0]); 9752 } else { 9753 this.url.host = this.base.host; 9754 } 9755 } 9756 this.state = "path"; 9757 --this.pointer; 9758 } 9759 9760 return true; 9761}; 9762 9763URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { 9764 if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { 9765 --this.pointer; 9766 if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { 9767 this.parseError = true; 9768 this.state = "path"; 9769 } else if (this.buffer === "") { 9770 this.url.host = ""; 9771 if (this.stateOverride) { 9772 return false; 9773 } 9774 this.state = "path start"; 9775 } else { 9776 let host = parseHost(this.buffer, isSpecial(this.url)); 9777 if (host === failure) { 9778 return failure; 9779 } 9780 if (host === "localhost") { 9781 host = ""; 9782 } 9783 this.url.host = host; 9784 9785 if (this.stateOverride) { 9786 return false; 9787 } 9788 9789 this.buffer = ""; 9790 this.state = "path start"; 9791 } 9792 } else { 9793 this.buffer += cStr; 9794 } 9795 9796 return true; 9797}; 9798 9799URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { 9800 if (isSpecial(this.url)) { 9801 if (c === 92) { 9802 this.parseError = true; 9803 } 9804 this.state = "path"; 9805 9806 if (c !== 47 && c !== 92) { 9807 --this.pointer; 9808 } 9809 } else if (!this.stateOverride && c === 63) { 9810 this.url.query = ""; 9811 this.state = "query"; 9812 } else if (!this.stateOverride && c === 35) { 9813 this.url.fragment = ""; 9814 this.state = "fragment"; 9815 } else if (c !== undefined) { 9816 this.state = "path"; 9817 if (c !== 47) { 9818 --this.pointer; 9819 } 9820 } 9821 9822 return true; 9823}; 9824 9825URLStateMachine.prototype["parse path"] = function parsePath(c) { 9826 if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || 9827 (!this.stateOverride && (c === 63 || c === 35))) { 9828 if (isSpecial(this.url) && c === 92) { 9829 this.parseError = true; 9830 } 9831 9832 if (isDoubleDot(this.buffer)) { 9833 shortenPath(this.url); 9834 if (c !== 47 && !(isSpecial(this.url) && c === 92)) { 9835 this.url.path.push(""); 9836 } 9837 } else if (isSingleDot(this.buffer) && c !== 47 && 9838 !(isSpecial(this.url) && c === 92)) { 9839 this.url.path.push(""); 9840 } else if (!isSingleDot(this.buffer)) { 9841 if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { 9842 if (this.url.host !== "" && this.url.host !== null) { 9843 this.parseError = true; 9844 this.url.host = ""; 9845 } 9846 this.buffer = this.buffer[0] + ":"; 9847 } 9848 this.url.path.push(this.buffer); 9849 } 9850 this.buffer = ""; 9851 if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { 9852 while (this.url.path.length > 1 && this.url.path[0] === "") { 9853 this.parseError = true; 9854 this.url.path.shift(); 9855 } 9856 } 9857 if (c === 63) { 9858 this.url.query = ""; 9859 this.state = "query"; 9860 } 9861 if (c === 35) { 9862 this.url.fragment = ""; 9863 this.state = "fragment"; 9864 } 9865 } else { 9866 // TODO: If c is not a URL code point and not "%", parse error. 9867 9868 if (c === 37 && 9869 (!isASCIIHex(this.input[this.pointer + 1]) || 9870 !isASCIIHex(this.input[this.pointer + 2]))) { 9871 this.parseError = true; 9872 } 9873 9874 this.buffer += percentEncodeChar(c, isPathPercentEncode); 9875 } 9876 9877 return true; 9878}; 9879 9880URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { 9881 if (c === 63) { 9882 this.url.query = ""; 9883 this.state = "query"; 9884 } else if (c === 35) { 9885 this.url.fragment = ""; 9886 this.state = "fragment"; 9887 } else { 9888 // TODO: Add: not a URL code point 9889 if (!isNaN(c) && c !== 37) { 9890 this.parseError = true; 9891 } 9892 9893 if (c === 37 && 9894 (!isASCIIHex(this.input[this.pointer + 1]) || 9895 !isASCIIHex(this.input[this.pointer + 2]))) { 9896 this.parseError = true; 9897 } 9898 9899 if (!isNaN(c)) { 9900 this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); 9901 } 9902 } 9903 9904 return true; 9905}; 9906 9907URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { 9908 if (isNaN(c) || (!this.stateOverride && c === 35)) { 9909 if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { 9910 this.encodingOverride = "utf-8"; 9911 } 9912 9913 const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead 9914 for (let i = 0; i < buffer.length; ++i) { 9915 if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || 9916 buffer[i] === 0x3C || buffer[i] === 0x3E) { 9917 this.url.query += percentEncode(buffer[i]); 9918 } else { 9919 this.url.query += String.fromCodePoint(buffer[i]); 9920 } 9921 } 9922 9923 this.buffer = ""; 9924 if (c === 35) { 9925 this.url.fragment = ""; 9926 this.state = "fragment"; 9927 } 9928 } else { 9929 // TODO: If c is not a URL code point and not "%", parse error. 9930 if (c === 37 && 9931 (!isASCIIHex(this.input[this.pointer + 1]) || 9932 !isASCIIHex(this.input[this.pointer + 2]))) { 9933 this.parseError = true; 9934 } 9935 9936 this.buffer += cStr; 9937 } 9938 9939 return true; 9940}; 9941 9942URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { 9943 if (isNaN(c)) { // do nothing 9944 } else if (c === 0x0) { 9945 this.parseError = true; 9946 } else { 9947 // TODO: If c is not a URL code point and not "%", parse error. 9948 if (c === 37 && 9949 (!isASCIIHex(this.input[this.pointer + 1]) || 9950 !isASCIIHex(this.input[this.pointer + 2]))) { 9951 this.parseError = true; 9952 } 9953 9954 this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); 9955 } 9956 9957 return true; 9958}; 9959 9960function serializeURL(url, excludeFragment) { 9961 let output = url.scheme + ":"; 9962 if (url.host !== null) { 9963 output += "//"; 9964 9965 if (url.username !== "" || url.password !== "") { 9966 output += url.username; 9967 if (url.password !== "") { 9968 output += ":" + url.password; 9969 } 9970 output += "@"; 9971 } 9972 9973 output += serializeHost(url.host); 9974 9975 if (url.port !== null) { 9976 output += ":" + url.port; 9977 } 9978 } else if (url.host === null && url.scheme === "file") { 9979 output += "//"; 9980 } 9981 9982 if (url.cannotBeABaseURL) { 9983 output += url.path[0]; 9984 } else { 9985 for (const string of url.path) { 9986 output += "/" + string; 9987 } 9988 } 9989 9990 if (url.query !== null) { 9991 output += "?" + url.query; 9992 } 9993 9994 if (!excludeFragment && url.fragment !== null) { 9995 output += "#" + url.fragment; 9996 } 9997 9998 return output; 9999} 10000 10001function serializeOrigin(tuple) { 10002 let result = tuple.scheme + "://"; 10003 result += serializeHost(tuple.host); 10004 10005 if (tuple.port !== null) { 10006 result += ":" + tuple.port; 10007 } 10008 10009 return result; 10010} 10011 10012module.exports.serializeURL = serializeURL; 10013 10014module.exports.serializeURLOrigin = function (url) { 10015 // https://url.spec.whatwg.org/#concept-url-origin 10016 switch (url.scheme) { 10017 case "blob": 10018 try { 10019 return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); 10020 } catch (e) { 10021 // serializing an opaque origin returns "null" 10022 return "null"; 10023 } 10024 case "ftp": 10025 case "gopher": 10026 case "http": 10027 case "https": 10028 case "ws": 10029 case "wss": 10030 return serializeOrigin({ 10031 scheme: url.scheme, 10032 host: url.host, 10033 port: url.port 10034 }); 10035 case "file": 10036 // spec says "exercise to the reader", chrome says "file://" 10037 return "file://"; 10038 default: 10039 // serializing an opaque origin returns "null" 10040 return "null"; 10041 } 10042}; 10043 10044module.exports.basicURLParse = function (input, options) { 10045 if (options === undefined) { 10046 options = {}; 10047 } 10048 10049 const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); 10050 if (usm.failure) { 10051 return "failure"; 10052 } 10053 10054 return usm.url; 10055}; 10056 10057module.exports.setTheUsername = function (url, username) { 10058 url.username = ""; 10059 const decoded = punycode.ucs2.decode(username); 10060 for (let i = 0; i < decoded.length; ++i) { 10061 url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); 10062 } 10063}; 10064 10065module.exports.setThePassword = function (url, password) { 10066 url.password = ""; 10067 const decoded = punycode.ucs2.decode(password); 10068 for (let i = 0; i < decoded.length; ++i) { 10069 url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); 10070 } 10071}; 10072 10073module.exports.serializeHost = serializeHost; 10074 10075module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; 10076 10077module.exports.serializeInteger = function (integer) { 10078 return String(integer); 10079}; 10080 10081module.exports.parseURL = function (input, options) { 10082 if (options === undefined) { 10083 options = {}; 10084 } 10085 10086 // We don't handle blobs, so this just delegates: 10087 return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); 10088}; 10089
10090/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113).Buffer)) 10091 10092/***/ }), 10093/* 181 */ 10094/***/ (function(module, exports, __webpack_require__) { 10095 10096// extracted by mini-css-extract-plugin 10097module.exports = {"svg":"LiveIcon-module__svg--2x9A3","animate":"LiveIcon-module__animate--19edr","circle":"LiveIcon-module__circle--1-3_N"}; 10098 10099/***/ }), 10100/* 182 */ 10101/***/ (function(module, exports, __webpack_require__) { 10102 10103"use strict"; 10104 10105var $ = __webpack_require__(2); 10106var $find = __webpack_require__(46).find; 10107var addToUnscopables = __webpack_require__(118); 10108var arrayMethodUsesToLength = __webpack_require__(63); 10109 10110var FIND = 'find'; 10111var SKIPS_HOLES = true; 10112 10113var USES_TO_LENGTH = arrayMethodUsesToLength(FIND); 10114 10115// Shouldn't skip holes 10116if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); 10117 10118// `Array.prototype.find` method 10119// https://tc39.github.io/ecma262/#sec-array.prototype.find 10120$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { 10121 find: function find(callbackfn /* , that = undefined */) { 10122 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 10123 } 10124}); 10125 10126// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 10127addToUnscopables(FIND); 10128 10129 10130/***/ }), 10131/* 183 */, 10132/* 184 */ 10133/***/ (function(module, __webpack_exports__, __webpack_require__) { 10134 10135"use strict"; 10136 10137// EXPORTS 10138__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ useAnalyticsbabel_target_legacy_useAnalytics; }); 10139__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ AnalyticsProviderbabel_target_legacy_AnalyticsProvider; }); 10140 10141// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 10142var hooks_modulebabel_target_legacy = __webpack_require__(4); 10143 10144// EXTERNAL MODULE: ./src/lib/Analytics/AnalyticsContext.ts?babel-target=legacy 10145var AnalyticsContextbabel_target_legacy = __webpack_require__(268); 10146 10147// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js?babel-target=legacy 10148var es_array_findbabel_target_legacy = __webpack_require__(182); 10149 10150// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js?babel-target=legacy 10151var es_array_iteratorbabel_target_legacy = __webpack_require__(138); 10152 10153// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 10154var es_function_namebabel_target_legacy = __webpack_require__(123); 10155 10156// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 10157var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 10158 10159// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js?babel-target=legacy 10160var es_regexp_to_stringbabel_target_legacy = __webpack_require__(156); 10161 10162// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js?babel-target=legacy 10163var es_string_iteratorbabel_target_legacy = __webpack_require__(237); 10164 10165// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js?babel-target=legacy 10166var web_dom_collections_iteratorbabel_target_legacy = __webpack_require__(257); 10167 10168// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js?babel-target=legacy 10169var web_urlbabel_target_legacy = __webpack_require__(349); 10170 10171// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 10172var slicedToArraybabel_target_legacy = __webpack_require__(8); 10173var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 10174 10175// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 10176var loggerbabel_target_legacy = __webpack_require__(10); 10177 10178// EXTERNAL MODULE: ./src/lib/EventBus/index.ts?babel-target=legacy 10179var EventBusbabel_target_legacy = __webpack_require__(152); 10180 10181// CONCATENATED MODULE: ./src/lib/Analytics/lib.ts?babel-target=legacy 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194var getNonIabConsents = function getNonIabConsents() { 10195 var _rpConsent$consent, _gaConsent$consent; 10196 10197 if (!window.UC_UI) { 10198 if (window.ANALYTICS_ALLOWED) return true; 10199 return false; 10200 } 10201 10202 var services = window.UC_UI.getServicesBaseInfo(); 10203 var rpConsent = services.find(function (s) { 10204 return s.name === "Radioplayer"; 10205 }); 10206 var gaConsent = services.find(function (s) { 10207 return s.name === "Google Analytics"; 10208 }); 10209 var rpConsentedTo = rpConsent === null || rpConsent === void 0 ? void 0 : (_rpConsent$consent = rpConsent.consent) === null || _rpConsent$consent === void 0 ? void 0 : _rpConsent$consent.status; 10210 var gaConsentedTo = gaConsent === null || gaConsent === void 0 ? void 0 : (_gaConsent$consent = gaConsent.consent) === null || _gaConsent$consent === void 0 ? void 0 : _gaConsent$consent.status; 10211 return gaConsentedTo && rpConsentedTo; 10212}; 10213var libbabel_target_legacy_postAnalyticsMessage = function postAnalyticsMessage(iframe, message) {
10214 var hasAnalyticsPermission = getNonIabConsents(); 10215 10216 if (!hasAnalyticsPermission) { 10217 Object(loggerbabel_target_legacy["c" /* log */])("No analytics permission"); 10218 } else if (!iframe || !iframe.contentWindow) { 10219 Object(loggerbabel_target_legacy["e" /* warn */])("Could not send message", message); 10220 return; 10221 } else { 10222 Object(loggerbabel_target_legacy["c" /* log */])("Posting message", message); 10223 iframe.contentWindow.postMessage(JSON.stringify(message), "*"); 10224 } 10225}; 10226var postPageview = function postPageview(iframe, reason) { 10227 return libbabel_target_legacy_postAnalyticsMessage(iframe, { 10228 type: "Pageview", 10229 reason: reason 10230 }); 10231}; 10232var postHeartbeat = function postHeartbeat(iframe) { 10233 return libbabel_target_legacy_postAnalyticsMessage(iframe, { 10234 type: "Heartbeat" 10235 }); 10236}; 10237var postEvent = function postEvent(iframe, category, action, label, value, noninteraction) { 10238 return libbabel_target_legacy_postAnalyticsMessage(iframe, { 10239 type: "Event", 10240 category: category, 10241 action: action, 10242 label: label, 10243 value: value, 10244 noninteraction: noninteraction 10245 }); 10246}; 10247 10248/** 10249 * Helper function. Builds query params for analytics in the hook below. 10250 */ 10251var getAnalyticsQueryParams = function getAnalyticsQueryParams(_ref) { 10252 var rpId = _ref.rpId, 10253 cm = _ref.cm, 10254 odItem = _ref.odItem, 10255 odId = _ref.odId, 10256 end = _ref.end; 10257 var params = new URLSearchParams(); 10258 params.set("rpid", rpId); 10259 10260 if (cm) { 10261 params.set("cm", encodeURIComponent(cm)); 10262 } 10263 10264 if (odItem) { 10265 params.set("cType", "od"); 10266 params.set("od", encodeURIComponent(odItem.streams[0].url)); 10267 10268 if (end !== undefined) { 10269 params.set("duration", end); 10270 } 10271 10272 if (odItem.seriesId) { 10273 params.set("seriesId", odItem.seriesId); 10274 } 10275 10276 if (odId) { 10277 params.set("odId", odId); 10278 } 10279 } 10280 10281 if (!odItem) { 10282 params.set("cType", "live"); 10283 } 10284 10285 return params.toString(); 10286}; 10287 10288/** 10289 * Hook to consolidate building query params to send to analytics.html 10290 * */ 10291var libbabel_target_legacy_useAnalyticsQueryParams = function useAnalyticsQueryParams(_ref2) { 10292 var rpId = _ref2.rpId, 10293 cm = _ref2.cm, 10294 odItem = _ref2.odItem, 10295 odId = _ref2.odId; 10296 10297 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(""), 10298 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 10299 queryParams = _useState2[0], 10300 setQueryParams = _useState2[1]; 10301 10302 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])({}), 10303 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 10304 playbackStatus = _useState4[0], 10305 setPlaybackStatus = _useState4[1]; 10306 10307 var _useEventBus = Object(EventBusbabel_target_legacy["b" /* useEventBus */])(), 10308 emitter = _useEventBus.emitter; // tracks playback status from emitter 10309 10310 10311 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 10312 if (!emitter) { 10313 return; 10314 } 10315 10316 var callback = function callback(status) { 10317 setPlaybackStatus(status); 10318 }; 10319 10320 emitter.on("time", callback); 10321 return function () { 10322 return emitter.off("time", callback); 10323 }; 10324 }, [emitter]); 10325 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 10326 var _playbackStatus$end; 10327 10328 var params = getAnalyticsQueryParams({ 10329 rpId: rpId, 10330 cm: cm, 10331 odItem: odItem, 10332 odId: odId, 10333 end: playbackStatus === null || playbackStatus === void 0 ? void 0 : (_playbackStatus$end = playbackStatus.end) === null || _playbackStatus$end === void 0 ? void 0 : _playbackStatus$end.toString() 10334 }); 10335 setQueryParams(params); 10336 }, [rpId, cm, odItem, odId, playbackStatus.end]); 10337 return queryParams; 10338}; 10339// CONCATENATED MODULE: ./src/lib/Analytics/useAnalytics.ts?babel-target=legacy 10340 10341 10342 10343 10344var isAudibleEvent = function isAudibleEvent(event) { 10345 return event === "start" || event === "unmute"; 10346}; 10347 10348var getTrackedEventName = function getTrackedEventName(event) { 10349 return event === "pause" ? "stop" : event; 10350}; //We track pause as stop 10351 10352 10353var useAnalyticsbabel_target_legacy_useAnalytics = function useAnalytics() { 10354 var context = Object(hooks_modulebabel_target_legacy["b" /* useContext */])(AnalyticsContextbabel_target_legacy["a" /* AnalyticsContext */]); 10355 10356 var _ref = context || { 10357 iframe: undefined, 10358 notifyTrackingObservers: function notifyTrackingObservers(i) {} 10359 }, 10360 iframe = _ref.iframe, 10361 notifyTrackingObservers = _ref.notifyTrackingObservers, 10362 updateAlPermissions = _ref.updateAlPermissions; 10363 10364 var ifm = iframe && iframe.current !== null ? iframe.current : undefined; 10365 10366 var heartbeat = function heartbeat() { 10367 return postHeartbeat(ifm); 10368 }; 10369 10370 var sendEvent = function sendEvent(category, action, label, value, noninteraction) { 10371 return postEvent(ifm, category, action, label, value, noninteraction); 10372 }; 10373 10374 var sendPageview = function sendPageview(reason) { 10375 return postPageview(ifm, reason); 10376 }; 10377 10378 var onTrackedEvent = function onTrackedEvent(eventName, rpId, additionalData) { 10379 updateAlPermissions(); 10380 var pageViewString = isAudibleEvent(eventName) ? "" : "/".concat(eventName); 10381 sendPageview(pageViewString); 10382 var trackedEventName = getTrackedEventName(eventName); 10383 notifyTrackingObservers(trackedEventName, rpId, additionalData || {}); 10384 }; 10385 10386 return { 10387 heartbeat: heartbeat, 10388 sendEvent: sendEvent, 10389 sendPageview: sendPageview, 10390 onTrackedEvent: onTrackedEvent 10391 }; 10392};
10393// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 10394var es_array_concatbabel_target_legacy = __webpack_require__(75); 10395 10396// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 10397var regenerator_babel_target_legacy = __webpack_require__(6); 10398var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 10399 10400// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 10401var runtimebabel_target_legacy = __webpack_require__(60); 10402 10403// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 10404var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 10405var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 10406 10407// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 10408var preact_modulebabel_target_legacy = __webpack_require__(1); 10409 10410// EXTERNAL MODULE: ./src/lib/Analytics/AnalyticsProvider.module.scss 10411var AnalyticsProvider_module = __webpack_require__(315); 10412var AnalyticsProvider_module_default = /*#__PURE__*/__webpack_require__.n(AnalyticsProvider_module); 10413 10414// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 10415var APIManagerbabel_target_legacy = __webpack_require__(32); 10416 10417// CONCATENATED MODULE: ./src/lib/Analytics/AnalyticsProvider.tsx?babel-target=legacy 10418 10419 10420 10421 10422 10423 10424/* eslint-disable @typescript-eslint/no-explicit-any */ 10425 10426 10427 10428 10429 10430 10431var AnalyticsProviderbabel_target_legacy_AnalyticsProvider = function AnalyticsProvider(_ref) { 10432 var children = _ref.children, 10433 cm = _ref.cm, 10434 odItem = _ref.odItem, 10435 odId = _ref.odId, 10436 id = _ref.rpId, 10437 mapi = _ref.mapi, 10438 al = _ref.al, 10439 notifyTrackingObservers = _ref.notifyTrackingObservers; 10440 10441 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(id), 10442 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 10443 rpId = _useState2[0], 10444 setRpId = _useState2[1]; 10445 10446 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(""), 10447 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 10448 url = _useState4[0], 10449 setUrl = _useState4[1]; 10450 10451 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(""), 10452 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 10453 baseUrl = _useState6[0], 10454 setBaseUrl = _useState6[1]; 10455 10456 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(getNonIabConsents()), 10457 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 2), 10458 alPermissions = _useState8[0], 10459 setAlPermissions = _useState8[1]; 10460 10461 var iframe = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 10462 var queryParams = libbabel_target_legacy_useAnalyticsQueryParams({ 10463 rpId: rpId, 10464 cm: cm, 10465 odItem: odItem, 10466 odId: odId 10467 }); 10468 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 10469 var ping = function ping() { 10470 return postHeartbeat(iframe.current); 10471 }; 10472 10473 var tim = window.setTimeout(ping, 20000); 10474 window.addEventListener("beforeunload", ping); 10475 postPageview(iframe.current, ""); 10476 return function () { 10477 window.clearTimeout(tim); 10478 window.removeEventListener("beforeunload", ping); 10479 }; 10480 }, []); 10481 var initialiseAnalytics = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])( /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 10482 var _UC_UI; 10483 10484 var addAnalyticsHtml; 10485 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 10486 while (1) { 10487 switch (_context2.prev = _context2.next) { 10488 case 0: 10489 addAnalyticsHtml = /*#__PURE__*/function () { 10490 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 10491 var analyticsUrl, _url, finalUrl, _finalUrl; 10492 10493 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 10494 while (1) { 10495 switch (_context.prev = _context.next) { 10496 case 0: 10497 if (baseUrl) { 10498 _context.next = 10; 10499 break; 10500 } 10501 10502 _context.next = 3; 10503 return Object(APIManagerbabel_target_legacy["n" /* loadAnalyticsURL */])(mapi); 10504 10505 case 3: 10506 analyticsUrl = _context.sent; 10507 //if nothing comes back from mapi, set the analytics to the fallback 10508 _url = analyticsUrl || al; 10509 setBaseUrl(_url || ""); // when they're using a CMP, we only want to add this one if they've consented to google analytics and RP (both
10509non-iab vendors) 10510 10511 finalUrl = "".concat(_url, "?").concat(queryParams); 10512 setUrl(finalUrl); 10513 _context.next = 12; 10514 break; 10515 10516 case 10: 10517 _finalUrl = "".concat(baseUrl, "?").concat(queryParams); 10518 setUrl(_finalUrl); 10519 10520 case 12: 10521 case "end": 10522 return _context.stop(); 10523 } 10524 } 10525 }, _callee); 10526 })); 10527 10528 return function addAnalyticsHtml() { 10529 return _ref3.apply(this, arguments); 10530 }; 10531 }(); 10532 10533 if ((_UC_UI = window.UC_UI) === null || _UC_UI === void 0 ? void 0 : _UC_UI.isInitialized()) { 10534 if (getNonIabConsents()) addAnalyticsHtml(); 10535 } else if (window.UC_UI) { 10536 window.addEventListener("UC_UI_INITIALIZED", function (e) { 10537 if (getNonIabConsents()) addAnalyticsHtml(); 10538 }); 10539 } else if (getNonIabConsents()) { 10540 addAnalyticsHtml(); 10541 } else { 10542 setUrl(""); 10543 setBaseUrl(""); 10544 } 10545 10546 case 2: 10547 case "end": 10548 return _context2.stop(); 10549 } 10550 } 10551 }, _callee2); 10552 })), [al, baseUrl, mapi, queryParams]); //get the most up to date analytics URL from mapi 10553 10554 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 10555 var t = setTimeout(initialiseAnalytics, 1500); // Give the player a moment to init UserCentrics 10556 10557 return function () { 10558 return clearTimeout(t); 10559 }; 10560 }, [alPermissions, al, mapi, initialiseAnalytics, baseUrl]); 10561 var memoisedUrl = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 10562 return url; 10563 }, [url]); // Memoize the URL so we don't re-render the iframe on every state change 10564 10565 return Object(preact_modulebabel_target_legacy["h"])(AnalyticsContextbabel_target_legacy["a" /* AnalyticsContext */].Provider, { 10566 value: { 10567 notifyTrackingObservers: notifyTrackingObservers, 10568 iframe: iframe, 10569 setAnalyticsRpId: setRpId, 10570 updateAlPermissions: initialiseAnalytics 10571 } 10572 }, children, Object(preact_modulebabel_target_legacy["h"])("iframe", { 10573 key: memoisedUrl, 10574 id: "analytics", 10575 title: "Analytics", 10576 "aria-hidden": true, 10577 ref: iframe, 10578 src: memoisedUrl, 10579 className: AnalyticsProvider_module_default.a.analyticsFrame 10580 })); 10581}; 10582// CONCATENATED MODULE: ./src/lib/Analytics/index.ts?babel-target=legacy 10583 10584 10585 10586/***/ }), 10587/* 185 */, 10588/* 186 */ 10589/***/ (function(module, exports) { 10590 10591module.exports = function(module) { 10592 if (!module.webpackPolyfill) { 10593 module.deprecate = function() {}; 10594 module.paths = []; 10595 // module.parent = undefined by default 10596 if (!module.children) module.children = []; 10597 Object.defineProperty(module, "loaded", { 10598 enumerable: true, 10599 get: function() { 10600 return module.l; 10601 } 10602 }); 10603 Object.defineProperty(module, "id", { 10604 enumerable: true, 10605 get: function() { 10606 return module.i; 10607 } 10608 }); 10609 module.webpackPolyfill = 1; 10610 } 10611 return module; 10612}; 10613 10614 10615/***/ }), 10616/* 187 */ 10617/***/ (function(module, exports, __webpack_require__) { 10618 10619"use strict"; 10620 10621var $ = __webpack_require__(2); 10622var IS_PURE = __webpack_require__(72); 10623var global = __webpack_require__(16); 10624var getBuiltIn = __webpack_require__(67); 10625var NativePromise = __webpack_require__(382); 10626var redefine = __webpack_require__(54); 10627var redefineAll = __webpack_require__(150); 10628var setToStringTag = __webpack_require__(80); 10629var setSpecies = __webpack_require__(147); 10630var isObject = __webpack_require__(19); 10631var aFunction = __webpack_require__(59); 10632var anInstance = __webpack_require__(119); 10633var inspectSource = __webpack_require__(275); 10634var iterate = __webpack_require__(117); 10635var checkCorrectnessOfIteration = __webpack_require__(215); 10636var speciesConstructor = __webpack_require__(103); 10637var task = __webpack_require__(295).set; 10638var microtask = __webpack_require__(384); 10639var promiseResolve = __webpack_require__(385); 10640var hostReportErrors = __webpack_require__(655); 10641var newPromiseCapabilityModule = __webpack_require__(228); 10642var perform = __webpack_require__(296); 10643var InternalStateModule = __webpack_require__(58); 10644var isForced = __webpack_require__(169); 10645var wellKnownSymbol = __webpack_require__(23); 10646var IS_NODE = __webpack_require__(146); 10647var V8_VERSION = __webpack_require__(176
vendor: 7,545 bytes, lines 10647-10874
10647); 10648 10649var SPECIES = wellKnownSymbol('species'); 10650var PROMISE = 'Promise'; 10651var getInternalState = InternalStateModule.get; 10652var setInternalState = InternalStateModule.set; 10653var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); 10654var PromiseConstructor = NativePromise; 10655var TypeError = global.TypeError; 10656var document = global.document; 10657var process = global.process; 10658var $fetch = getBuiltIn('fetch'); 10659var newPromiseCapability = newPromiseCapabilityModule.f; 10660var newGenericPromiseCapability = newPromiseCapability; 10661var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); 10662var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function'; 10663var UNHANDLED_REJECTION = 'unhandledrejection'; 10664var REJECTION_HANDLED = 'rejectionhandled'; 10665var PENDING = 0; 10666var FULFILLED = 1; 10667var REJECTED = 2; 10668var HANDLED = 1; 10669var UNHANDLED = 2; 10670var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; 10671 10672var FORCED = isForced(PROMISE, function () { 10673 var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); 10674 if (!GLOBAL_CORE_JS_PROMISE) { 10675 // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 10676 // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 10677 // We can't detect it synchronously, so just check versions 10678 if (V8_VERSION === 66) return true; 10679 // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test 10680 if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true; 10681 } 10682 // We need Promise#finally in the pure version for preventing prototype pollution 10683 if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; 10684 // We can't use @@species feature detection in V8 since it causes 10685 // deoptimization and performance degradation 10686 // https://github.com/zloirock/core-js/issues/679 10687 if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; 10688 // Detect correctness of subclassing with @@species support 10689 var promise = PromiseConstructor.resolve(1); 10690 var FakePromise = function (exec) { 10691 exec(function () { /* empty */ }, function () { /* empty */ }); 10692 }; 10693 var constructor = promise.constructor = {}; 10694 constructor[SPECIES] = FakePromise; 10695 return !(promise.then(function () { /* empty */ }) instanceof FakePromise); 10696}); 10697 10698var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { 10699 PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); 10700}); 10701 10702// helpers 10703var isThenable = function (it) { 10704 var then; 10705 return isObject(it) && typeof (then = it.then) == 'function' ? then : false; 10706}; 10707 10708var notify = function (state, isReject) { 10709 if (state.notified) return; 10710 state.notified = true; 10711 var chain = state.reactions; 10712 microtask(function () { 10713 var value = state.value; 10714 var ok = state.state == FULFILLED; 10715 var index = 0; 10716 // variable length - can't use forEach 10717 while (chain.length > index) { 10718 var reaction = chain[index++]; 10719 var handler = ok ? reaction.ok : reaction.fail; 10720 var resolve = reaction.resolve; 10721 var reject = reaction.reject; 10722 var domain = reaction.domain; 10723 var result, then, exited; 10724 try { 10725 if (handler) { 10726 if (!ok) { 10727 if (state.rejection === UNHANDLED) onHandleUnhandled(state); 10728 state.rejection = HANDLED; 10729 } 10730 if (handler === true) result = value; 10731 else { 10732 if (domain) domain.enter(); 10733 result = handler(value); // can throw 10734 if (domain) { 10735 domain.exit(); 10736 exited = true; 10737 } 10738 } 10739 if (result === reaction.promise) { 10740 reject(TypeError('Promise-chain cycle')); 10741 } else if (then = isThenable(result)) { 10742 then.call(result, resolve, reject); 10743 } else resolve(result); 10744 } else reject(value); 10745 } catch (error) { 10746 if (domain && !exited) domain.exit(); 10747 reject(error); 10748 } 10749 } 10750 state.reactions = []; 10751 state.notified = false; 10752 if (isReject && !state.rejection) onUnhandled(state); 10753 }); 10754}; 10755 10756var dispatchEvent = function (name, promise, reason) { 10757 var event, handler; 10758 if (DISPATCH_EVENT) { 10759 event = document.createEvent('Event'); 10760 event.promise = promise; 10761 event.reason = reason; 10762 event.initEvent(name, false, true); 10763 global.dispatchEvent(event); 10764 } else event = { promise: promise, reason: reason }; 10765 if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); 10766 else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); 10767}; 10768 10769var onUnhandled = function (state) { 10770 task.call(global, function () { 10771 var promise = state.facade; 10772 var value = state.value; 10773 var IS_UNHANDLED = isUnhandled(state); 10774 var result; 10775 if (IS_UNHANDLED) { 10776 result = perform(function () { 10777 if (IS_NODE) { 10778 process.emit('unhandledRejection', value, promise); 10779 } else dispatchEvent(UNHANDLED_REJECTION, promise, value); 10780 }); 10781 // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should 10782 state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; 10783 if (result.error) throw result.value; 10784 } 10785 }); 10786}; 10787 10788var isUnhandled = function (state) { 10789 return state.rejection !== HANDLED && !state.parent; 10790}; 10791 10792var onHandleUnhandled = function (state) { 10793 task.call(global, function () { 10794 var promise = state.facade; 10795 if (IS_NODE) { 10796 process.emit('rejectionHandled', promise); 10797 } else dispatchEvent(REJECTION_HANDLED, promise, state.value); 10798 }); 10799}; 10800 10801var bind = function (fn, state, unwrap) { 10802 return function (value) { 10803 fn(state, value, unwrap); 10804 }; 10805}; 10806 10807var internalReject = function (state, value, unwrap) { 10808 if (state.done) return; 10809 state.done = true; 10810 if (unwrap) state = unwrap; 10811 state.value = value; 10812 state.state = REJECTED; 10813 notify(state, true); 10814}; 10815 10816var internalResolve = function (state, value, unwrap) { 10817 if (state.done) return; 10818 state.done = true; 10819 if (unwrap) state = unwrap; 10820 try { 10821 if (state.facade === value) throw TypeError("Promise can't be resolved itself"); 10822 var then = isThenable(value); 10823 if (then) { 10824 microtask(function () { 10825 var wrapper = { done: false }; 10826 try { 10827 then.call(value, 10828 bind(internalResolve, wrapper, state), 10829 bind(internalReject, wrapper, state) 10830 ); 10831 } catch (error) { 10832 internalReject(wrapper, error, state); 10833 } 10834 }); 10835 } else { 10836 state.value = value; 10837 state.state = FULFILLED; 10838 notify(state, false); 10839 } 10840 } catch (error) { 10841 internalReject({ done: false }, error, state); 10842 } 10843}; 10844 10845// constructor polyfill 10846if (FORCED) { 10847 // 25.4.3.1 Promise(executor) 10848 PromiseConstructor = function Promise(executor) { 10849 anInstance(this, PromiseConstructor, PROMISE); 10850 aFunction(executor); 10851 Internal.call(this); 10852 var state = getInternalState(this); 10853 try { 10854 executor(bind(internalResolve, state), bind(internalReject, state)); 10855 } catch (error) { 10856 internalReject(state, error); 10857 } 10858 }; 10859 // eslint-disable-next-line no-unused-vars 10860 Internal = function Promise(executor) { 10861 setInternalState(this, { 10862 type: PROMISE, 10863 done: false, 10864 notified: false, 10865 parent: false, 10866 reactions: [], 10867 rejection: false, 10868 state: PENDING, 10869 value: undefined 10870 }); 10871 }; 10872 Internal.prototype = redefineAll(PromiseConstructor.prototype, { 10873 // `Promise.prototype.then` method 10874 // https://tc39.
vendor: 1,884 bytes, lines 10874-10918
10874github.io/ecma262/#sec-promise.prototype.then 10875 then: function then(onFulfilled, onRejected) { 10876 var state = getInternalPromiseState(this); 10877 var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); 10878 reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; 10879 reaction.fail = typeof onRejected == 'function' && onRejected; 10880 reaction.domain = IS_NODE ? process.domain : undefined; 10881 state.parent = true; 10882 state.reactions.push(reaction); 10883 if (state.state != PENDING) notify(state, false); 10884 return reaction.promise; 10885 }, 10886 // `Promise.prototype.catch` method 10887 // https://tc39.github.io/ecma262/#sec-promise.prototype.catch 10888 'catch': function (onRejected) { 10889 return this.then(undefined, onRejected); 10890 } 10891 }); 10892 OwnPromiseCapability = function () { 10893 var promise = new Internal(); 10894 var state = getInternalState(promise); 10895 this.promise = promise; 10896 this.resolve = bind(internalResolve, state); 10897 this.reject = bind(internalReject, state); 10898 }; 10899 newPromiseCapabilityModule.f = newPromiseCapability = function (C) { 10900 return C === PromiseConstructor || C === PromiseWrapper 10901 ? new OwnPromiseCapability(C) 10902 : newGenericPromiseCapability(C); 10903 }; 10904 10905 if (!IS_PURE && typeof NativePromise == 'function') { 10906 nativeThen = NativePromise.prototype.then; 10907 10908 // wrap native Promise#then for native async functions 10909 redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { 10910 var that = this; 10911 return new PromiseConstructor(function (resolve, reject) { 10912 nativeThen.call(that, resolve, reject); 10913 }).then(onFulfilled, onRejected); 10914 // https://github.com/zloirock/core-js/issues/640 10915 }, { unsafe: true }); 10916 10917 // wrap fetch result 10918 if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
10919 // eslint-disable-next-line no-unused-vars 10920 fetch: function fetch(input /* , init */) { 10921 return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); 10922 } 10923 }); 10924 } 10925} 10926 10927$({ global: true, wrap: true, forced: FORCED }, { 10928 Promise: PromiseConstructor 10929}); 10930 10931setToStringTag(PromiseConstructor, PROMISE, false, true); 10932setSpecies(PROMISE); 10933 10934PromiseWrapper = getBuiltIn(PROMISE); 10935 10936// statics 10937$({ target: PROMISE, stat: true, forced: FORCED }, { 10938 // `Promise.reject` method 10939 // https://tc39.github.io/ecma262/#sec-promise.reject 10940 reject: function reject(r) { 10941 var capability = newPromiseCapability(this); 10942 capability.reject.call(undefined, r); 10943 return capability.promise; 10944 } 10945}); 10946 10947$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { 10948 // `Promise.resolve` method 10949 // https://tc39.github.io/ecma262/#sec-promise.resolve 10950 resolve: function resolve(x) { 10951 return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); 10952 } 10953}); 10954 10955$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { 10956 // `Promise.all` method 10957 // https://tc39.github.io/ecma262/#sec-promise.all 10958 all: function all(iterable) { 10959 var C = this; 10960 var capability = newPromiseCapability(C); 10961 var resolve = capability.resolve; 10962 var reject = capability.reject; 10963 var result = perform(function () { 10964 var $promiseResolve = aFunction(C.resolve); 10965 var values = []; 10966 var counter = 0; 10967 var remaining = 1; 10968 iterate(iterable, function (promise) { 10969 var index = counter++; 10970 var alreadyCalled = false; 10971 values.push(undefined); 10972 remaining++; 10973 $promiseResolve.call(C, promise).then(function (value) { 10974 if (alreadyCalled) return; 10975 alreadyCalled = true; 10976 values[index] = value; 10977 --remaining || resolve(values); 10978 }, reject); 10979 }); 10980 --remaining || resolve(values); 10981 }); 10982 if (result.error) reject(result.value); 10983 return capability.promise; 10984 }, 10985 // `Promise.race` method 10986 // https://tc39.github.io/ecma262/#sec-promise.race 10987 race: function race(iterable) { 10988 var C = this; 10989 var capability = newPromiseCapability(C); 10990 var reject = capability.reject; 10991 var result = perform(function () { 10992 var $promiseResolve = aFunction(C.resolve); 10993 iterate(iterable, function (promise) { 10994 $promiseResolve.call(C, promise).then(capability.resolve, reject); 10995 }); 10996 }); 10997 if (result.error) reject(result.value); 10998 return capability.promise; 10999 } 11000}); 11001 11002 11003/***/ }), 11004/* 188 */, 11005/* 189 */ 11006/***/ (function(module, __webpack_exports__, __webpack_require__) { 11007 11008"use strict"; 11009 11010// EXPORTS 11011__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ ContentCardbabel_target_legacy_ContentCard; }); 11012 11013// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 11014var es_symbolbabel_target_legacy = __webpack_require__(71); 11015 11016// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js?babel-target=legacy 11017var es_symbol_descriptionbabel_target_legacy = __webpack_require__(199); 11018 11019// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 11020var es_array_mapbabel_target_legacy = __webpack_require__(77); 11021 11022// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 11023var definePropertybabel_target_legacy = __webpack_require__(15); 11024var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 11025 11026// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 11027var preact_modulebabel_target_legacy = __webpack_require__(1); 11028 11029// EXTERNAL MODULE: ./src/components/FaveButton/index.ts?babel-target=legacy + 3 modules 11030var FaveButtonbabel_target_legacy = __webpack_require__(330); 11031 11032// EXTERNAL MODULE: ./src/components/IconSprite/index.ts?babel-target=legacy + 1 modules 11033var IconSpritebabel_target_legacy = __webpack_require__(131); 11034 11035// EXTERNAL MODULE: ./src/components/LiveIcon/index.ts?babel-target=legacy + 1 modules 11036var LiveIconbabel_target_legacy = __webpack_require__(305); 11037 11038// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 11039var classnames_babel_target_legacy = __webpack_require__(27); 11040var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 11041 11042// EXTERNAL MODULE: ./node_modules/striptags/striptags.js?babel-target=legacy 11043var striptagsbabel_target_legacy = __webpack_require__(485); 11044var striptagsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(striptagsbabel_target_legacy); 11045 11046// EXTERNAL MODULE: ./src/components/ContentCard/ContentCard.module.scss 11047var ContentCard_module = __webpack_require__(61); 11048var ContentCard_module_default = /*#__PURE__*/__webpack_require__.n(ContentCard_module); 11049 11050// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 11051var es_babel_target_legacy = __webpack_require__(25); 11052 11053// CONCATENATED MODULE: ./src/components/ContentCard/ContentCard.tsx?babel-target=legacy 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066var ContentCardbabel_target_legacy_ContentCard = function ContentCard(_ref) { 11067 var url = _ref.url, 11068 imageUrl = _ref.imageUrl, 11069 title = _ref.title, 11070 description = _ref.description, 11071 subtitle = _ref.subtitle, 11072 tags = _ref.tags, 11073 onDemand = _ref.onDemand, 11074 live = _ref.live, 11075 rpId = _ref.rpId, 11076 suggestion = _ref.suggestion; 11077 11078 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 11079 t = _useTranslation.t; 11080 11081 var className = classnames_babel_target_legacy_default()(ContentCard_module_default.a.card, definePropertybabel_target_legacy_default()({}, ContentCard_module_default.a.suggestion, suggestion)); 11082 11083 var renderOnDemandLabel = function renderOnDemandLabel() { 11084 return Object(preact_modulebabel_target_legacy["h"])("span", { 11085 className: ContentCard_module_default.a.ondemand 11086 }, t("LABEL_ON_DEMAND")); 11087 }; 11088 11089 var renderLiveLabel = function renderLiveLabel() { 11090 return Object(preact_modulebabel_target_legacy["h"])("span", { 11091 className: ContentCard_module_default.a.live 11092 }, Object(preact_modulebabel_target_legacy["h"])("span", { 11093 className: ContentCard_module_default.a.liveIcon 11094 }, Object(preact_modulebabel_target_legacy["h"])(LiveIconbabel_target_legacy["a" /* LiveIcon */], { 11095 animate: false 11096 })), t("LABEL_LIVE")); 11097 }; 11098 11099 return Object(preact_modulebabel_target_legacy["h"])("a", { 11100 href: url, 11101 className: className 11102 }, Object(preact_modulebabel_target_legacy["h"])("div", { 11103 className: ContentCard_module_default.a.imgbox 11104 }, Object(preact_modulebabel_target_legacy["h"])("img", { 11105 src: imageUrl, 11106 alt: title 11107 })), Object(preact_modulebabel_target_legacy["h"])("div", { 11108 className: ContentCard_module_default.a.info 11109 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 11110 className: ContentCard_module_default.a.title 11111 }, striptagsbabel_target_legacy_default()(title)), subtitle && Object(preact_modulebabel_target_legacy["h"])("h3", { 11112 className: ContentCard_module_default.a.subtitle 11113 }, subtitle), Object(preact_modulebabel_target_legacy["h"])("p", { 11114 className: ContentCard_module_default.a.description 11115 }, striptagsbabel_target_legacy_default()(description || "")), tags && tags.length && Object(preact_modulebabel_target_legacy["h"])("p", { 11116 className: ContentCard_module_default.a.tags 11117 }, tags.map(function (tag) { 11118 return Object(preact_modulebabel_target_legacy["h"])("span", { 11119 key: tag 11120 }, tag.toUpperCase()); 11121 }))), Object(preact_modulebabel_target_legacy["h"])("div", { 11122 className: ContentCard_module_default.a.controls 11123 }, onDemand ? renderOnDemandLabel() : live ? renderLiveLabel() : Object(preact_modulebabel_target_legacy["h"])("span", { 11124 className: ContentCard_module_default.a.noLabel 11125 }), Object(preact_modulebabel_target_legacy["h"])("div", { 11126 className: ContentCard_module_default.a.buttons 11127 }, rpId && Object(preact_modulebabel_target_legacy["h"])(FaveButtonbabel_target_legacy["a" /* FaveButton */], { 11128 id: rpId 11129 }), Object(preact_modulebabel_target_legacy["h"])("a", { 11130 href: url, 11131 className: ContentCard_module_default.a.play 11132 }, Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 11133 className: ContentCard_module_default.a.nohover, 11134 name: "small-play" 11135 }), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 11136 className: ContentCard_module_default.a.hover, 11137 name: "small-play-circle" 11138 }))))); 11139}; 11140/* harmony default export */ var ContentCardbabel_target_legacy = (ContentCardbabel_target_legacy_ContentCard); 11141// CONCATENATED MODULE: ./src/components/ContentCard/index.ts?babel-target=legacy 11142 11143 11144/***/ }), 11145/* 190 */ 11146/***/ (function(module, exports, __webpack_require__) { 11147 11148// extracted by mini-css-extract-plugin 11149module.exports = {"visuallyHidden":"MenuPanel-module__visuallyHidden--1vWlU","cookielink":"MenuPanel-module__cookielink--y20Qu","cmpButton":"MenuPanel-module__cmpButton--pUs2Y","button":"MenuPanel-module__button--3Y9Xr","wrap":"MenuPanel-module__wrap--1caDO","panel":"MenuPanel-module__panel--2JIRa"}; 11150 11151/***/ }), 11152/* 191 */ 11153/***/ (function(module, exports, __webpack_require__) { 11154 11155// extracted by mini-css-extract-plugin 11156module.exports = {"visuallyHidden":"AToZList-module__visuallyHidden--3L0_p","header":"AToZList-module__header--35aum","letter":"AToZList-module__letter--3mfg0","listcontainer":"AToZList-module__listcontainer--dJHEV","current":"AToZList-module__current--3PRDY","alphabet":"AToZList-module__alphabet--2BRD2"}; 11157 11158/***/ }), 11159/* 192 */ 11160/***/ (function(module, exports, __webpack_require__) { 11161 11162// extracted by mini-css-extract-plugin 11163module.exports = {"visuallyHidden":"FaveNote-module__visuallyHidden--_C6fF","closeText":"FaveNote-module__closeText--nqLTN","faveNotificationText":"FaveNote-module__faveNotificationText--tPcD0","faveNotificationHeader":"FaveNote-module__faveNotificationHeader--pKcuu","faveNotificationContainer":"FaveNote-module__faveNotificationContainer--3fJcZ","faveNotificationContainerInner":"FaveNote-module__faveNotificationContainerInner--3HjhA"}; 11164 11165/***/ }), 11166/* 193 */ 11167/***/ (function(module, exports, __webpack_require__) { 11168 11169// extracted by mini-css-extract-plugin 11170module.exports = {"visuallyHidden":"SkipBackButton-module__visuallyHidden--1Pp2F","button":"SkipBackButton-module__button--2Ifcb","arrow":"SkipBackButton-module__arrow--3IGnm","text":"SkipBackButton-module__text--I1Zs0","rotate":"SkipBackButton-module__rotate--KVI8h","dark":"SkipBackButton-module__dark--2BPul"}; 11171 11172/***/ }), 11173/* 194 */ 11174/***/ (function(module, exports, __webpack_require__) { 11175 11176// extracted by mini-css-extract-plugin 11177module.exports = {"visuallyHidden":"SkipForwardButton-module__visuallyHidden--daWxy","button":"SkipForwardButton-module__button--nFQze","arrow":"SkipForwardButton-module__arrow--wJnOU","text":"SkipForwardButton-module__text--3i6O5","rotate":"SkipForwardButton-module__rotate--3WSYC","dark":"SkipForwardButton-module__dark--3Yh7R"}; 11178 11179/***/ }), 11180/* 195 */ 11181/***/ (function(module, exports, __webpack_require__) { 11182 11183// extracted by mini-css-extract-plugin 11184module.exports = {"visuallyHidden":"SkipToLiveButton-module__visuallyHidden--3AbV3","button":"SkipToLiveButton-module__button--JE_uh","arrow":"SkipToLiveButton-module__arrow--cfCME","text":"SkipToLiveButton-module__text--2TW39","rotate":"SkipToLiveButton-module__rotate--2RWuu","dark":"SkipToLiveButton-module__dark--2Hmn1"}; 11185 11186/***/ }), 11187/* 196 */ 11188/***/ (function(module, exports, __webpack_require__) { 11189 11190// extracted by mini-css-extract-plugin 11191module.exports = {"visuallyHidden":"SkipToStartButton-module__visuallyHidden--3Hv7a","button":"SkipToStartButton-module__button--2Etuz","arrow":"SkipToStartButton-module__arrow--1v4GA","text":"SkipToStartButton-module__text--6tycM","rotate":"SkipToStartButton-module__rotate--2LoqS","dark":"SkipToStartButton-module__dark--1zBNA"}; 11192 11193/***/ }), 11194/* 197 */, 11195/* 198 */, 11196/* 199 */ 11197/***/ (function(module, exports, __webpack_require__) { 11198 11199"use strict";
11200// `Symbol.prototype.description` getter 11201// https://tc39.github.io/ecma262/#sec-symbol.prototype.description 11202 11203var $ = __webpack_require__(2); 11204var DESCRIPTORS = __webpack_require__(21); 11205var global = __webpack_require__(16); 11206var has = __webpack_require__(35); 11207var isObject = __webpack_require__(19); 11208var defineProperty = __webpack_require__(30).f; 11209var copyConstructorProperties = __webpack_require__(358); 11210 11211var NativeSymbol = global.Symbol; 11212 11213if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || 11214 // Safari 12 bug 11215 NativeSymbol().description !== undefined 11216)) { 11217 var EmptyStringDescriptionStore = {}; 11218 // wrap Symbol constructor for correct work with undefined description 11219 var SymbolWrapper = function Symbol() { 11220 var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); 11221 var result = this instanceof SymbolWrapper 11222 ? new NativeSymbol(description) 11223 // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' 11224 : description === undefined ? NativeSymbol() : NativeSymbol(description); 11225 if (description === '') EmptyStringDescriptionStore[result] = true; 11226 return result; 11227 }; 11228 copyConstructorProperties(SymbolWrapper, NativeSymbol); 11229 var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; 11230 symbolPrototype.constructor = SymbolWrapper; 11231 11232 var symbolToString = symbolPrototype.toString; 11233 var native = String(NativeSymbol('test')) == 'Symbol(test)'; 11234 var regexp = /^Symbol\((.*)\)[^)]+$/; 11235 defineProperty(symbolPrototype, 'description', { 11236 configurable: true, 11237 get: function description() { 11238 var symbol = isObject(this) ? this.valueOf() : this; 11239 var string = symbolToString.call(symbol); 11240 if (has(EmptyStringDescriptionStore, symbol)) return ''; 11241 var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); 11242 return desc === '' ? undefined : desc; 11243 } 11244 }); 11245 11246 $({ global: true, forced: true }, { 11247 Symbol: SymbolWrapper 11248 }); 11249} 11250 11251 11252/***/ }), 11253/* 200 */ 11254/***/ (function(module, exports, __webpack_require__) { 11255 11256try { 11257 var util = __webpack_require__(311); 11258 /* istanbul ignore next */ 11259 if (typeof util.inherits !== 'function') throw ''; 11260 module.exports = util.inherits; 11261} catch (e) { 11262 /* istanbul ignore next */ 11263 module.exports = __webpack_require__(902); 11264} 11265 11266 11267/***/ }), 11268/* 201 */, 11269/* 202 */ 11270/***/ (function(module, exports, __webpack_require__) { 11271 11272"use strict"; 11273/* WEBPACK VAR INJECTION */(function(process) { 11274 11275var Buffer = __webpack_require__(313).Buffer; 11276var Transform = __webpack_require__(129).Transform; 11277var binding = __webpack_require__(929); 11278var util = __webpack_require__(311); 11279var assert = __webpack_require__(740).ok; 11280var kMaxLength = __webpack_require__(313).kMaxLength; 11281var kRangeErrorMessage = 'Cannot create final Buffer. It would be larger ' + 'than 0x' + kMaxLength.toString(16) + ' bytes'; 11282 11283// zlib doesn't provide these, so kludge them in following the same 11284// const naming scheme zlib uses. 11285binding.Z_MIN_WINDOWBITS = 8; 11286binding.Z_MAX_WINDOWBITS = 15; 11287binding.Z_DEFAULT_WINDOWBITS = 15; 11288 11289// fewer than 64 bytes per chunk is stupid. 11290// technically it could work with as few as 8, but even 64 bytes 11291// is absurdly low. Usually a MB or more is best. 11292binding.Z_MIN_CHUNK = 64; 11293binding.Z_MAX_CHUNK = Infinity; 11294binding.Z_DEFAULT_CHUNK = 16 * 1024; 11295 11296binding.Z_MIN_MEMLEVEL = 1; 11297binding.Z_MAX_MEMLEVEL = 9; 11298binding.Z_DEFAULT_MEMLEVEL = 8; 11299 11300binding.Z_MIN_LEVEL = -1; 11301binding.Z_MAX_LEVEL = 9; 11302binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION; 11303 11304// expose all the zlib constants 11305var bkeys = Object.keys(binding); 11306for (var bk = 0; bk < bkeys.length; bk++) { 11307 var bkey = bkeys[bk]; 11308 if (bkey.match(/^Z/)) { 11309 Object.defineProperty(exports, bkey, { 11310 enumerable: true, value: binding[bkey], writable: false 11311 }); 11312 } 11313} 11314 11315// translation table for return codes. 11316var codes = { 11317 Z_OK: binding.Z_OK, 11318 Z_STREAM_END: binding.Z_STREAM_END, 11319 Z_NEED_DICT: binding.Z_NEED_DICT, 11320 Z_ERRNO: binding.Z_ERRNO, 11321 Z_STREAM_ERROR: binding.Z_STREAM_ERROR, 11322 Z_DATA_ERROR: binding.Z_DATA_ERROR, 11323 Z_MEM_ERROR: binding.Z_MEM_ERROR,
11324 Z_BUF_ERROR: binding.Z_BUF_ERROR, 11325 Z_VERSION_ERROR: binding.Z_VERSION_ERROR 11326}; 11327 11328var ckeys = Object.keys(codes); 11329for (var ck = 0; ck < ckeys.length; ck++) { 11330 var ckey = ckeys[ck]; 11331 codes[codes[ckey]] = ckey; 11332} 11333 11334Object.defineProperty(exports, 'codes', { 11335 enumerable: true, value: Object.freeze(codes), writable: false 11336}
vendor: 14,778 bytes, lines 11336-11881
11336); 11337 11338exports.Deflate = Deflate; 11339exports.Inflate = Inflate; 11340exports.Gzip = Gzip; 11341exports.Gunzip = Gunzip; 11342exports.DeflateRaw = DeflateRaw; 11343exports.InflateRaw = InflateRaw; 11344exports.Unzip = Unzip; 11345 11346exports.createDeflate = function (o) { 11347 return new Deflate(o); 11348}; 11349 11350exports.createInflate = function (o) { 11351 return new Inflate(o); 11352}; 11353 11354exports.createDeflateRaw = function (o) { 11355 return new DeflateRaw(o); 11356}; 11357 11358exports.createInflateRaw = function (o) { 11359 return new InflateRaw(o); 11360}; 11361 11362exports.createGzip = function (o) { 11363 return new Gzip(o); 11364}; 11365 11366exports.createGunzip = function (o) { 11367 return new Gunzip(o); 11368}; 11369 11370exports.createUnzip = function (o) { 11371 return new Unzip(o); 11372}; 11373 11374// Convenience methods. 11375// compress/decompress a string or buffer in one step. 11376exports.deflate = function (buffer, opts, callback) { 11377 if (typeof opts === 'function') { 11378 callback = opts; 11379 opts = {}; 11380 } 11381 return zlibBuffer(new Deflate(opts), buffer, callback); 11382}; 11383 11384exports.deflateSync = function (buffer, opts) { 11385 return zlibBufferSync(new Deflate(opts), buffer); 11386}; 11387 11388exports.gzip = function (buffer, opts, callback) { 11389 if (typeof opts === 'function') { 11390 callback = opts; 11391 opts = {}; 11392 } 11393 return zlibBuffer(new Gzip(opts), buffer, callback); 11394}; 11395 11396exports.gzipSync = function (buffer, opts) { 11397 return zlibBufferSync(new Gzip(opts), buffer); 11398}; 11399 11400exports.deflateRaw = function (buffer, opts, callback) { 11401 if (typeof opts === 'function') { 11402 callback = opts; 11403 opts = {}; 11404 } 11405 return zlibBuffer(new DeflateRaw(opts), buffer, callback); 11406}; 11407 11408exports.deflateRawSync = function (buffer, opts) { 11409 return zlibBufferSync(new DeflateRaw(opts), buffer); 11410}; 11411 11412exports.unzip = function (buffer, opts, callback) { 11413 if (typeof opts === 'function') { 11414 callback = opts; 11415 opts = {}; 11416 } 11417 return zlibBuffer(new Unzip(opts), buffer, callback); 11418}; 11419 11420exports.unzipSync = function (buffer, opts) { 11421 return zlibBufferSync(new Unzip(opts), buffer); 11422}; 11423 11424exports.inflate = function (buffer, opts, callback) { 11425 if (typeof opts === 'function') { 11426 callback = opts; 11427 opts = {}; 11428 } 11429 return zlibBuffer(new Inflate(opts), buffer, callback); 11430}; 11431 11432exports.inflateSync = function (buffer, opts) { 11433 return zlibBufferSync(new Inflate(opts), buffer); 11434}; 11435 11436exports.gunzip = function (buffer, opts, callback) { 11437 if (typeof opts === 'function') { 11438 callback = opts; 11439 opts = {}; 11440 } 11441 return zlibBuffer(new Gunzip(opts), buffer, callback); 11442}; 11443 11444exports.gunzipSync = function (buffer, opts) { 11445 return zlibBufferSync(new Gunzip(opts), buffer); 11446}; 11447 11448exports.inflateRaw = function (buffer, opts, callback) { 11449 if (typeof opts === 'function') { 11450 callback = opts; 11451 opts = {}; 11452 } 11453 return zlibBuffer(new InflateRaw(opts), buffer, callback); 11454}; 11455 11456exports.inflateRawSync = function (buffer, opts) { 11457 return zlibBufferSync(new InflateRaw(opts), buffer); 11458}; 11459 11460function zlibBuffer(engine, buffer, callback) { 11461 var buffers = []; 11462 var nread = 0; 11463 11464 engine.on('error', onError); 11465 engine.on('end', onEnd); 11466 11467 engine.end(buffer); 11468 flow(); 11469 11470 function flow() { 11471 var chunk; 11472 while (null !== (chunk = engine.read())) { 11473 buffers.push(chunk); 11474 nread += chunk.length; 11475 } 11476 engine.once('readable', flow); 11477 } 11478 11479 function onError(err) { 11480 engine.removeListener('end', onEnd); 11481 engine.removeListener('readable', flow); 11482 callback(err); 11483 } 11484 11485 function onEnd() { 11486 var buf; 11487 var err = null; 11488 11489 if (nread >= kMaxLength) { 11490 err = new RangeError(kRangeErrorMessage); 11491 } else { 11492 buf = Buffer.concat(buffers, nread); 11493 } 11494 11495 buffers = []; 11496 engine.close(); 11497 callback(err, buf); 11498 } 11499} 11500 11501function zlibBufferSync(engine, buffer) { 11502 if (typeof buffer === 'string') buffer = Buffer.from(buffer); 11503 11504 if (!Buffer.isBuffer(buffer)) throw new TypeError('Not a string or buffer'); 11505 11506 var flushFlag = engine._finishFlushFlag; 11507 11508 return engine._processChunk(buffer, flushFlag); 11509} 11510 11511// generic zlib 11512// minimal 2-byte header 11513function Deflate(opts) { 11514 if (!(this instanceof Deflate)) return new Deflate(opts); 11515 Zlib.call(this, opts, binding.DEFLATE); 11516} 11517 11518function Inflate(opts) { 11519 if (!(this instanceof Inflate)) return new Inflate(opts); 11520 Zlib.call(this, opts, binding.INFLATE); 11521} 11522 11523// gzip - bigger header, same deflate compression 11524function Gzip(opts) { 11525 if (!(this instanceof Gzip)) return new Gzip(opts); 11526 Zlib.call(this, opts, binding.GZIP); 11527} 11528 11529function Gunzip(opts) { 11530 if (!(this instanceof Gunzip)) return new Gunzip(opts); 11531 Zlib.call(this, opts, binding.GUNZIP); 11532} 11533 11534// raw - no header 11535function DeflateRaw(opts) { 11536 if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts); 11537 Zlib.call(this, opts, binding.DEFLATERAW); 11538} 11539 11540function InflateRaw(opts) { 11541 if (!(this instanceof InflateRaw)) return new InflateRaw(opts); 11542 Zlib.call(this, opts, binding.INFLATERAW); 11543} 11544 11545// auto-detect header. 11546function Unzip(opts) { 11547 if (!(this instanceof Unzip)) return new Unzip(opts); 11548 Zlib.call(this, opts, binding.UNZIP); 11549} 11550 11551function isValidFlushFlag(flag) { 11552 return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK; 11553} 11554 11555// the Zlib class they all inherit from 11556// This thing manages the queue of requests, and returns 11557// true or false if there is anything in the queue when 11558// you call the .write() method. 11559 11560function Zlib(opts, mode) { 11561 var _this = this; 11562 11563 this._opts = opts = opts || {}; 11564 this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK; 11565 11566 Transform.call(this, opts); 11567 11568 if (opts.flush && !isValidFlushFlag(opts.flush)) { 11569 throw new Error('Invalid flush flag: ' + opts.flush); 11570 } 11571 if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush)) { 11572 throw new Error('Invalid flush flag: ' + opts.finishFlush); 11573 } 11574 11575 this._flushFlag = opts.flush || binding.Z_NO_FLUSH; 11576 this._finishFlushFlag = typeof opts.finishFlush !== 'undefined' ? opts.finishFlush : binding.Z_FINISH; 11577 11578 if (opts.chunkSize) { 11579 if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK) { 11580 throw new Error('Invalid chunk size: ' + opts.chunkSize); 11581 } 11582 } 11583 11584 if (opts.windowBits) { 11585 if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS) { 11586 throw new Error('Invalid windowBits: ' + opts.windowBits); 11587 } 11588 } 11589 11590 if (opts.level) { 11591 if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL) { 11592 throw new Error('Invalid compression level: ' + opts.level); 11593 } 11594 } 11595 11596 if (opts.memLevel) { 11597 if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL) { 11598 throw new Error('Invalid memLevel: ' + opts.memLevel); 11599 } 11600 } 11601 11602 if (opts.strategy) { 11603 if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY) { 11604 throw new Error('Invalid strategy: ' + opts.strategy); 11605 } 11606 } 11607 11608 if (opts.dictionary) { 11609 if (!Buffer.isBuffer(opts.dictionary)) { 11610 throw new Error('Invalid dictionary: it should be a Buffer instance'); 11611 } 11612 } 11613 11614 this._handle = new binding.Zlib(mode); 11615 11616 var self = this; 11617 this._hadError = false; 11618 this._handle.onerror = function (message, errno) { 11619 // there is no way to cleanly recover. 11620 // continuing only obscures problems. 11621 _close(self); 11622 self._hadError = true; 11623 11624 var error = new Error(message); 11625 error.errno = errno; 11626 error.code = exports.codes[errno]; 11627 self.emit('error', error); 11628 }; 11629 11630 var level = exports.Z_DEFAULT_COMPRESSION; 11631 if (typeof opts.level === 'number') level = opts.level; 11632 11633 var strategy = exports.Z_DEFAULT_STRATEGY; 11634 if (typeof opts.strategy === 'number') strategy = opts.strategy; 11635 11636 this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary); 11637 11638 this._buffer = Buffer.allocUnsafe(this._chunkSize); 11639 this._offset = 0; 11640 this._level = level; 11641 this._strategy = strategy; 11642 11643 this.once('end', this.close); 11644 11645 Object.defineProperty(this, '_closed', { 11646 get: function () { 11647 return !_this._handle; 11648 }, 11649 configurable: true, 11650 enumerable: true 11651 }); 11652} 11653 11654util.inherits(Zlib, Transform); 11655 11656Zlib.prototype.params = function (level, strategy, callback) { 11657 if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL) { 11658 throw new RangeError('Invalid compression level: ' + level); 11659 } 11660 if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY) { 11661 throw new TypeError('Invalid strategy: ' + strategy); 11662 } 11663 11664 if (this._level !== level || this._strategy !== strategy) { 11665 var self = this; 11666 this.flush(binding.Z_SYNC_FLUSH, function () { 11667 assert(self._handle, 'zlib binding closed'); 11668 self._handle.params(level, strategy); 11669 if (!self._hadError) { 11670 self._level = level; 11671 self._strategy = strategy; 11672 if (callback) callback(); 11673 } 11674 }); 11675 } else { 11676 process.nextTick(callback); 11677 } 11678}; 11679 11680Zlib.prototype.reset = function () { 11681 assert(this._handle, 'zlib binding closed'); 11682 return this._handle.reset(); 11683}; 11684 11685// This is the _flush function called by the transform class, 11686// internally, when the last chunk has been written. 11687Zlib.prototype._flush = function (callback) { 11688 this._transform(Buffer.alloc(0), '', callback); 11689}; 11690 11691Zlib.prototype.flush = function (kind, callback) { 11692 var _this2 = this; 11693 11694 var ws = this._writableState; 11695 11696 if (typeof kind === 'function' || kind === undefined && !callback) { 11697 callback = kind; 11698 kind = binding.Z_FULL_FLUSH; 11699 } 11700 11701 if (ws.ended) { 11702 if (callback) process.nextTick(callback); 11703 } else if (ws.ending) { 11704 if (callback) this.once('end', callback); 11705 } else if (ws.needDrain) { 11706 if (callback) { 11707 this.once('drain', function () { 11708 return _this2.flush(kind, callback); 11709 }); 11710 } 11711 } else { 11712 this._flushFlag = kind; 11713 this.write(Buffer.alloc(0), '', callback); 11714 } 11715}; 11716 11717Zlib.prototype.close = function (callback) { 11718 _close(this, callback); 11719 process.nextTick(emitCloseNT, this); 11720}; 11721 11722function _close(engine, callback) { 11723 if (callback) process.nextTick(callback); 11724 11725 // Caller may invoke .close after a zlib error (which will null _handle). 11726 if (!engine._handle) return; 11727 11728 engine._handle.close(); 11729 engine._handle = null; 11730} 11731 11732function emitCloseNT(self) { 11733 self.emit('close'); 11734} 11735 11736Zlib.prototype._transform = function (chunk, encoding, cb) { 11737 var flushFlag; 11738 var ws = this._writableState; 11739 var ending = ws.ending || ws.ended; 11740 var last = ending && (!chunk || ws.length === chunk.length); 11741 11742 if (chunk !== null && !Buffer.isBuffer(chunk)) return cb(new Error('invalid input')); 11743 11744 if (!this._handle) return cb(new Error('zlib binding closed')); 11745 11746 // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag 11747 // (or whatever flag was provided using opts.finishFlush). 11748 // If it's explicitly flushing at some other time, then we use 11749 // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression 11750 // goodness. 11751 if (last) flushFlag = this._finishFlushFlag;else { 11752 flushFlag = this._flushFlag; 11753 // once we've flushed the last of the queue, stop flushing and 11754 // go back to the normal behavior. 11755 if (chunk.length >= ws.length) { 11756 this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH; 11757 } 11758 } 11759 11760 this._processChunk(chunk, flushFlag, cb); 11761}; 11762 11763Zlib.prototype._processChunk = function (chunk, flushFlag, cb) { 11764 var availInBefore = chunk && chunk.length; 11765 var availOutBefore = this._chunkSize - this._offset; 11766 var inOff = 0; 11767 11768 var self = this; 11769 11770 var async = typeof cb === 'function'; 11771 11772 if (!async) { 11773 var buffers = []; 11774 var nread = 0; 11775 11776 var error; 11777 this.on('error', function (er) { 11778 error = er; 11779 }); 11780 11781 assert(this._handle, 'zlib binding closed'); 11782 do { 11783 var res = this._handle.writeSync(flushFlag, chunk, // in 11784 inOff, // in_off 11785 availInBefore, // in_len 11786 this._buffer, // out 11787 this._offset, //out_off 11788 availOutBefore); // out_len 11789 } while (!this._hadError && callback(res[0], res[1])); 11790 11791 if (this._hadError) { 11792 throw error; 11793 } 11794 11795 if (nread >= kMaxLength) { 11796 _close(this); 11797 throw new RangeError(kRangeErrorMessage); 11798 } 11799 11800 var buf = Buffer.concat(buffers, nread); 11801 _close(this); 11802 11803 return buf; 11804 } 11805 11806 assert(this._handle, 'zlib binding closed'); 11807 var req = this._handle.write(flushFlag, chunk, // in 11808 inOff, // in_off 11809 availInBefore, // in_len 11810 this._buffer, // out 11811 this._offset, //out_off 11812 availOutBefore); // out_len 11813 11814 req.buffer = chunk; 11815 req.callback = callback; 11816 11817 function callback(availInAfter, availOutAfter) { 11818 // When the callback is used in an async write, the callback's 11819 // context is the `req` object that was created. The req object 11820 // is === this._handle, and that's why it's important to null 11821 // out the values after they are done being used. `this._handle` 11822 // can stay in memory longer than the callback and buffer are needed. 11823 if (this) { 11824 this.buffer = null; 11825 this.callback = null; 11826 } 11827 11828 if (self._hadError) return; 11829 11830 var have = availOutBefore - availOutAfter; 11831 assert(have >= 0, 'have should not go down'); 11832 11833 if (have > 0) { 11834 var out = self._buffer.slice(self._offset, self._offset + have); 11835 self._offset += have; 11836 // serve some output to the consumer. 11837 if (async) { 11838 self.push(out); 11839 } else { 11840 buffers.push(out); 11841 nread += out.length; 11842 } 11843 } 11844 11845 // exhausted the output buffer, or used all the input create a new one. 11846 if (availOutAfter === 0 || self._offset >= self._chunkSize) { 11847 availOutBefore = self._chunkSize; 11848 self._offset = 0; 11849 self._buffer = Buffer.allocUnsafe(self._chunkSize); 11850 } 11851 11852 if (availOutAfter === 0) { 11853 // Not actually done. Need to reprocess. 11854 // Also, update the availInBefore to the availInAfter value, 11855 // so that if we have to hit it a third (fourth, etc.) time, 11856 // it'll have the correct byte counts. 11857 inOff += availInBefore - availInAfter; 11858 availInBefore = availInAfter; 11859 11860 if (!async) return true; 11861 11862 var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize); 11863 newReq.callback = callback; // this same function 11864 newReq.buffer = chunk; 11865 return; 11866 } 11867 11868 if (!async) return false; 11869 11870 // finished with the chunk. 11871 cb(); 11872 } 11873}; 11874 11875util.inherits(Deflate, Zlib); 11876util.inherits(Inflate, Zlib); 11877util.inherits(Gzip, Zlib); 11878util.inherits(Gunzip, Zlib); 11879util.inherits(DeflateRaw, Zlib); 11880util.inherits(InflateRaw, Zlib); 11881util.inherits(Unzip, Zlib);
11882/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57))) 11883 11884/***/ }), 11885/* 203 */, 11886/* 204 */, 11887/* 205 */ 11888/***/ (function(module, __webpack_exports__, __webpack_require__) { 11889 11890"use strict"; 11891/* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export Immer */ 11892/* unused harmony export applyPatches */ 11893/* unused harmony export createDraft */ 11894/* unused harmony export finishDraft */ 11895/* unused harmony export immerable */ 11896/* unused harmony export isDraft */ 11897/* unused harmony export isDraftable */ 11898/* unused harmony export nothing */ 11899/* unused harmony export original */ 11900/* unused harmony export produce */ 11901/* unused harmony export setAutoFreeze */ 11902/* unused harmony export setUseProxies */ 11903var obj; 11904var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : ( obj = {}, obj["immer-nothing"] = true, obj ); 11905var DRAFTABLE = typeof Symbol !== "undefined" ? Symbol.for("immer-draftable") : "__$immer_draftable"; 11906var DRAFT_STATE = typeof Symbol !== "undefined" ? Symbol.for("immer-state") : "__$immer_state"; 11907function isDraft(value) { 11908 return !!value && !!value[DRAFT_STATE]; 11909} 11910function isDraftable(value) { 11911 if (!value || typeof value !== "object") { return false; } 11912 if (Array.isArray(value)) { return true; } 11913 var proto = Object.getPrototypeOf(value); 11914 if (!proto || proto === Object.prototype) { return true; } 11915 return !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE]; 11916} 11917function original(value) { 11918 if (value && value[DRAFT_STATE]) { 11919 return value[DRAFT_STATE].base; 11920 } // otherwise return undefined 11921 11922} 11923var assign = Object.assign || function assign(target, value) { 11924 for (var key in value) { 11925 if (has(value, key)) { 11926 target[key] = value[key]; 11927 } 11928 } 11929 11930 return target; 11931}; 11932var ownKeys = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== "undefined" ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); } : Object.getOwnPropertyNames; 11933function shallowCopy(base, invokeGetters) { 11934 if ( invokeGetters === void 0 ) invokeGetters = false; 11935 11936 if (Array.isArray(base)) { return base.slice(); } 11937 var clone = Object.create(Object.getPrototypeOf(base)); 11938 ownKeys(base).forEach(function (key) { 11939 if (key === DRAFT_STATE) { 11940 return; // Never copy over draft state. 11941 } 11942 11943 var desc = Object.getOwnPropertyDescriptor(base, key); 11944 var value = desc.value; 11945 11946 if (desc.get) { 11947 if (!invokeGetters) { 11948 throw new Error("Immer drafts cannot have computed properties"); 11949 } 11950 11951 value = desc.get.call(base); 11952 } 11953 11954 if (desc.enumerable) { 11955 clone[key] = value; 11956 } else { 11957 Object.defineProperty(clone, key, { 11958 value: value, 11959 writable: true, 11960 configurable: true 11961 }); 11962 } 11963 }); 11964 return clone; 11965} 11966function each(value, cb) { 11967 if (Array.isArray(value)) { 11968 for (var i = 0; i < value.length; i++) { cb(i, value[i], value); } 11969 } else { 11970 ownKeys(value).forEach(function (key) { return cb(key, value[key], value); }); 11971 } 11972} 11973function isEnumerable(base, prop) { 11974 return Object.getOwnPropertyDescriptor(base, prop).enumerable; 11975} 11976function has(thing, prop) { 11977 return Object.prototype.hasOwnProperty.call(thing, prop); 11978} 11979function is(x, y) { 11980 // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js 11981 if (x === y) { 11982 return x !== 0 || 1 / x === 1 / y; 11983 } else { 11984 return x !== x && y !== y; 11985 } 11986} 11987 11988/** Each scope represents a `produce` call. */ 11989 11990var ImmerScope = function ImmerScope(parent) { 11991 this.drafts = []; 11992 this.parent = parent; // Whenever the modified draft contains a draft from another scope, we 11993 // need to prevent auto-freezing so the unowned draft can be finalized. 11994 11995 this.canAutoFreeze = true; // To avoid prototype lookups: 11996 11997 this.patches = null; 11998}; 11999 12000ImmerScope.prototype.usePatches = function usePatches (patchListener) { 12001 if (patchListener) { 12002 this.patches = []; 12003 this.inversePatches = []; 12004 this.patchListener = patchListener; 12005 } 12006}; 12007 12008ImmerScope.prototype.revoke = function revoke$1 () { 12009 this.leave();
12010 this.drafts.forEach(revoke); 12011 this.drafts = null; // Make draft-related methods throw. 12012}; 12013 12014ImmerScope.prototype.leave = function leave () { 12015 if (this === ImmerScope.current) { 12016 ImmerScope.current = this.parent; 12017 } 12018}; 12019ImmerScope.current = null; 12020 12021ImmerScope.enter = function () { 12022 return this.current = new ImmerScope(this.current); 12023}; 12024 12025function revoke(draft) { 12026 draft[DRAFT_STATE].revoke(); 12027} 12028 12029// but share them all instead 12030 12031var descriptors = {}; 12032function willFinalize(scope, result, isReplaced) { 12033 scope.drafts.forEach(function (draft) { 12034 draft[DRAFT_STATE].finalizing = true; 12035 }); 12036 12037 if (!isReplaced) { 12038 if (scope.patches) { 12039 markChangesRecursively(scope.drafts[0]); 12040 } // This is faster when we don't care about which attributes changed. 12041 12042 12043 markChangesSweep(scope.drafts); 12044 } // When a child draft is returned, look for changes. 12045 else if (isDraft(result) && result[DRAFT_STATE].scope === scope) { 12046 markChangesSweep(scope.drafts); 12047 } 12048} 12049function createProxy(base, parent) { 12050 var isArray = Array.isArray(base); 12051 var draft = clonePotentialDraft(base); 12052 each(draft, function (prop) { 12053 proxyProperty(draft, prop, isArray || isEnumerable(base, prop)); 12054 }); // See "proxy.js" for property documentation. 12055 12056 var scope = parent ? parent.scope : ImmerScope.current; 12057 var state = { 12058 scope: scope, 12059 modified: false, 12060 finalizing: false, 12061 // es5 only 12062 finalized: false, 12063 assigned: {}, 12064 parent: parent, 12065 base: base, 12066 draft: draft, 12067 copy: null, 12068 revoke: revoke$1, 12069 revoked: false // es5 only 12070 12071 }; 12072 createHiddenProperty(draft, DRAFT_STATE, state); 12073 scope.drafts.push(draft); 12074 return draft; 12075} 12076 12077function revoke$1() { 12078 this.revoked = true; 12079} 12080 12081function source(state) { 12082 return state.copy || state.base; 12083} // Access a property without creating an Immer draft. 12084 12085 12086function peek(draft, prop) { 12087 var state = draft[DRAFT_STATE]; 12088 12089 if (state && !state.finalizing) { 12090 state.finalizing = true; 12091 var value = draft[prop]; 12092 state.finalizing = false; 12093 return value; 12094 } 12095 12096 return draft[prop]; 12097} 12098 12099function get(state, prop) { 12100 assertUnrevoked(state); 12101 var value = peek(source(state), prop); 12102 if (state.finalizing) { return value; } // Create a draft if the value is unmodified. 12103 12104 if (value === peek(state.base, prop) && isDraftable(value)) { 12105 prepareCopy(state); 12106 return state.copy[prop] = createProxy(value, state); 12107 } 12108 12109 return value; 12110} 12111 12112function set(state, prop, value) { 12113 assertUnrevoked(state); 12114 state.assigned[prop] = true; 12115 12116 if (!state.modified) { 12117 if (is(value, peek(source(state), prop))) { return; } 12118 markChanged(state); 12119 prepareCopy(state); 12120 } 12121 12122 state.copy[prop] = value; 12123} 12124 12125function markChanged(state) { 12126 if (!state.modified) { 12127 state.modified = true; 12128 if (state.parent) { markChanged(state.parent); } 12129 } 12130} 12131 12132function prepareCopy(state) { 12133 if (!state.copy) { state.copy = clonePotentialDraft(state.base); } 12134} 12135 12136function clonePotentialDraft(base) { 12137 var state = base && base[DRAFT_STATE]; 12138 12139 if (state) { 12140 state.finalizing = true; 12141 var draft = shallowCopy(state.draft, true); 12142 state.finalizing = false; 12143 return draft; 12144 } 12145 12146 return shallowCopy(base); 12147} 12148 12149function proxyProperty(draft, prop, enumerable) { 12150 var desc = descriptors[prop]; 12151 12152 if (desc) { 12153 desc.enumerable = enumerable; 12154 } else { 12155 descriptors[prop] = desc = { 12156 configurable: true, 12157 enumerable: enumerable, 12158 12159 get: function get$1() { 12160 return get(this[DRAFT_STATE], prop); 12161 }, 12162 12163 set: function set$1(value) { 12164 set(this[DRAFT_STATE], prop, value); 12165 } 12166 12167 }; 12168 } 12169 12170 Object.defineProperty(draft, prop, desc); 12171} 12172 12173function assertUnrevoked(state) { 12174 if (state.revoked === true) { throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + JSON.stringify(source(state))); } 12175} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned. 12176 12177 12178function markChangesSweep(drafts) { 12179 // The natural order of drafts in the `scope` array is based on when they 12180 // were accessed. By processing drafts in reverse natural order, we have a 12181 // better chance of processing leaf nodes first. When a leaf node is known to 12182 // have changed, we can avoid any traversal of its ancestor nodes. 12183 for (var i = drafts.length - 1; i >= 0; i--) { 12184 var state = drafts[i][DRAFT_STATE]; 12185 12186 if (!state.modified) { 12187 if (Array.isArray(state.base)) { 12188 if (hasArrayChanges(state)) { markChanged(state); } 12189 } else if (hasObjectChanges(state)) { markChanged(state); } 12190 } 12191 } 12192} 12193 12194function markChangesRecursively(object) { 12195 if (!object || typeof object !== "object") { return; } 12196 var state = object[DRAFT_STATE]; 12197 if (!state) { return; } 12198 var base = state.base; 12199 var draft = state.draft; 12200 var assigned = state.assigned; 12201 12202 if (!Array.isArray(object)) { 12203 // Look for added keys. 12204 Object.keys(draft).forEach(function (key) { 12205 // The `undefined` check is a fast path for pre-existing keys. 12206 if (base[key] === undefined && !has(base, key)) { 12207 assigned[key] = true; 12208 markChanged(state); 12209 } else if (!assigned[key]) { 12210 // Only untouched properties trigger recursion. 12211 markChangesRecursively(draft[key]); 12212 } 12213 }); // Look for removed keys. 12214 12215 Object.keys(base).forEach(function (key) { 12216 // The `undefined` check is a fast path for pre-existing keys. 12217 if (draft[key] === undefined && !has(draft, key)) { 12218 assigned[key] = false;
12219 markChanged(state); 12220 } 12221 }); 12222 } else if (hasArrayChanges(state)) { 12223 markChanged(state); 12224 assigned.length = true; 12225 12226 if (draft.length < base.length) { 12227 for (var i = draft.length; i < base.length; i++) { assigned[i] = false; } 12228 } else { 12229 for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; } 12230 } 12231 12232 for (var i$2 = 0; i$2 < draft.length; i$2++) { 12233 // Only untouched indices trigger recursion. 12234 if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); } 12235 } 12236 } 12237} 12238 12239function hasObjectChanges(state) { 12240 var base = state.base; 12241 var draft = state.draft; // Search for added keys and changed keys. Start at the back, because 12242 // non-numeric keys are ordered by time of definition on the object. 12243 12244 var keys = Object.keys(draft); 12245 12246 for (var i = keys.length - 1; i >= 0; i--) { 12247 var key = keys[i]; 12248 var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys. 12249 12250 if (baseValue === undefined && !has(base, key)) { 12251 return true; 12252 } // Once a base key is deleted, future changes go undetected, because its 12253 // descriptor is erased. This branch detects any missed changes. 12254 else { 12255 var value = draft[key]; 12256 var state$1 = value && value[DRAFT_STATE]; 12257 12258 if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) { 12259 return true; 12260 } 12261 } 12262 } // At this point, no keys were added or changed. 12263 // Compare key count to determine if keys were deleted. 12264 12265 12266 return keys.length !== Object.keys(base).length; 12267} 12268 12269function hasArrayChanges(state) { 12270 var draft = state.draft; 12271 if (draft.length !== state.base.length) { return true; } // See #116 12272 // If we first shorten the length, our array interceptors will be removed. 12273 // If after that new items are added, result in the same original length, 12274 // those last items will have no intercepting property. 12275 // So if there is no own descriptor on the last position, we know that items were removed and added 12276 // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check 12277 // the last one 12278 12279 var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10) 12280 12281 if (descriptor && !descriptor.get) { return true; } // For all other cases, we don't have to compare, as they would have been picked up by the index setters 12282 12283 return false; 12284} 12285 12286function createHiddenProperty(target, prop, value) { 12287 Object.defineProperty(target, prop, { 12288 value: value, 12289 enumerable: false, 12290 writable: true 12291 }); 12292} 12293 12294var legacyProxy = /*#__PURE__*/Object.freeze({ 12295 willFinalize: willFinalize, 12296 createProxy: createProxy 12297}); 12298 12299function willFinalize$1() {} 12300function createProxy$1(base, parent) { 12301 var scope = parent ? parent.scope : ImmerScope.current; 12302 var state = { 12303 // Track which produce call this is associated with. 12304 scope: scope, 12305 // True for both shallow and deep changes. 12306 modified: false, 12307 // Used during finalization. 12308 finalized: false, 12309 // Track which properties have been assigned (true) or deleted (false). 12310 assigned: {}, 12311 // The parent draft state. 12312 parent: parent, 12313 // The base state. 12314 base: base, 12315 // The base proxy. 12316 draft: null, 12317 // Any property proxies. 12318 drafts: {}, 12319 // The base copy with any updated values. 12320 copy: null, 12321 // Called by the `produce` function. 12322 revoke: null 12323 }; 12324 var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants, 12325 // although state itself is an object 12326 Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps); 12327 var revoke = ref.revoke; 12328 var proxy = ref.proxy; 12329 state.draft = proxy; 12330 state.revoke = revoke; 12331 scope.drafts.push(proxy); 12332 return proxy; 12333} 12334var objectTraps = { 12335 get: get$1, 12336 12337 has: function has(target, prop) { 12338 return prop in source$1(target); 12339 }, 12340 12341 ownKeys: function ownKeys(target) { 12342 return Reflect.ownKeys(source$1(target)); 12343 }, 12344 12345 set: set$1, 12346 deleteProperty: deleteProperty, 12347 getOwnPropertyDescriptor: getOwnPropertyDescriptor, 12348 12349 defineProperty: function defineProperty() { 12350 throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore 12351 }, 12352 12353 getPrototypeOf: function getPrototypeOf(target) { 12354 return Object.getPrototypeOf(target.base); 12355 }, 12356 12357 setPrototypeOf: function setPrototypeOf() { 12358 throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore 12359 } 12360 12361}; 12362var arrayTraps = {}; 12363each(objectTraps, function (key, fn) { 12364 arrayTraps[key] = function () { 12365 arguments[0] = arguments[0][0]; 12366 return fn.apply(this, arguments); 12367 }; 12368}); 12369 12370arrayTraps.deleteProperty = function (state, prop) { 12371 if (isNaN(parseInt(prop))) { 12372 throw new Error("Immer only supports deleting array indices"); // prettier-ignore 12373 } 12374 12375 return objectTraps.deleteProperty.call(this, state[0], prop); 12376}; 12377 12378arrayTraps.set = function (state, prop, value) { 12379 if (prop !== "length" && isNaN(parseInt(prop))) { 12380 throw new Error("Immer only supports setting array indices and the 'length' property"); // prettier-ignore 12381 } 12382 12383 return objectTraps.set.call(this, state[0], prop, value); 12384}; // returns the object we should be reading the current value from, which is base, until some change has been made 12385 12386 12387function source$1(state) { 12388 return state.copy || state.base; 12389} // Access a property without creating an Immer draft. 12390 12391 12392function peek$1(draft, prop) { 12393 var state = draft[DRAFT_STATE]; 12394 var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop); 12395 return desc && desc.value; 12396} 12397 12398function get$1(state, prop) { 12399 if (prop === DRAFT_STATE) { return state; } 12400 var drafts = state.drafts; // Check for existing draft in unmodified state. 12401 12402 if (!state.modified && has(drafts, prop)) { 12403 return drafts[prop]; 12404 } 12405 12406 var value = source$1(state)[prop]; 12407 12408 if (state.finalized || !isDraftable(value)) { 12409 return value; 12410 } // Check for existing draft in modified state. 12411 12412 12413 if (state.modified) { 12414 // Assigned values are never drafted. This catches any drafts we created, too. 12415 if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists). 12416 12417 drafts = state.copy; 12418 } 12419 12420 return drafts[prop] = createProxy$1(value, state); 12421} 12422 12423function set$1(state, prop, value) { 12424 if (!state.modified) { 12425 var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to 12426 // never be undefined, so we can avoid the `in` operator. Lastly, truthy 12427 // values may be drafts, but falsy values are never drafts. 12428 12429 var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base; 12430 if (isUnchanged) { return true; } 12431 markChanged$1(state); 12432 } 12433 12434 state.assigned[prop] = true; 12435 state.copy[prop] = value; 12436 return true; 12437} 12438 12439function deleteProperty(state, prop) { 12440 // The `undefined` check is a fast path for pre-existing keys. 12441 if (peek$1(state.base, prop) !== undefined || prop in state.base) { 12442 state.assigned[prop] = false;
12443 markChanged$1(state); 12444 } 12445 12446 if (state.copy) { delete state.copy[prop]; } 12447 return true; 12448} // Note: We never coerce `desc.value` into an Immer draft, because we can't make 12449// the same guarantee in ES5 mode. 12450 12451 12452function getOwnPropertyDescriptor(state, prop) { 12453 var owner = source$1(state); 12454 var desc = Reflect.getOwnPropertyDescriptor(owner, prop); 12455 12456 if (desc) { 12457 desc.writable = true; 12458 desc.configurable = !Array.isArray(owner) || prop !== "length"; 12459 } 12460 12461 return desc; 12462} 12463 12464function markChanged$1(state) { 12465 if (!state.modified) { 12466 state.modified = true; 12467 state.copy = assign(shallowCopy(state.base), state.drafts); 12468 state.drafts = null; 12469 if (state.parent) { markChanged$1(state.parent); } 12470 } 12471} 12472 12473var modernProxy = /*#__PURE__*/Object.freeze({ 12474 willFinalize: willFinalize$1, 12475 createProxy: createProxy$1 12476}); 12477 12478function generatePatches(state, basePath, patches, inversePatches) { 12479 Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches); 12480} 12481 12482function generateArrayPatches(state, basePath, patches, inversePatches) { 12483 var assign, assign$1; 12484 12485 var base = state.base; 12486 var copy = state.copy; 12487 var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer. 12488 12489 if (copy.length < base.length) { 12490 (assign = [copy, base], base = assign[0], copy = assign[1]); 12491 (assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]); 12492 } 12493 12494 var delta = copy.length - base.length; // Find the first replaced index. 12495 12496 var start = 0; 12497 12498 while (base[start] === copy[start] && start < base.length) { 12499 ++start; 12500 } // Find the last replaced index. Search from the end to optimize splice patches. 12501 12502 12503 var end = base.length; 12504 12505 while (end > start && base[end - 1] === copy[end + delta - 1]) { 12506 --end; 12507 } // Process replaced indices. 12508 12509 12510 for (var i = start; i < end; ++i) { 12511 if (assigned[i] && copy[i] !== base[i]) { 12512 var path = basePath.concat([i]); 12513 patches.push({ 12514 op: "replace", 12515 path: path, 12516 value: copy[i] 12517 }); 12518 inversePatches.push({ 12519 op: "replace", 12520 path: path, 12521 value: base[i] 12522 }); 12523 } 12524 } 12525 12526 var useRemove = end != base.length; 12527 var replaceCount = patches.length; // Process added indices. 12528 12529 for (var i$1 = end + delta - 1; i$1 >= end; --i$1) { 12530 var path$1 = basePath.concat([i$1]); 12531 patches[replaceCount + i$1 - end] = { 12532 op: "add", 12533 path: path$1, 12534 value: copy[i$1] 12535 }; 12536 12537 if (useRemove) { 12538 inversePatches.push({ 12539 op: "remove", 12540 path: path$1 12541 }); 12542 } 12543 } // One "replace" patch reverses all non-splicing "add" patches. 12544 12545 12546 if (!useRemove) { 12547 inversePatches.push({ 12548 op: "replace", 12549 path: basePath.concat(["length"]), 12550 value: base.length 12551 }); 12552 } 12553} 12554 12555function generateObjectPatches(state, basePath, patches, inversePatches) { 12556 var base = state.base; 12557 var copy = state.copy; 12558 each(state.assigned, function (key, assignedValue) { 12559 var origValue = base[key]; 12560 var value = copy[key]; 12561 var op = !assignedValue ? "remove" : key in base ? "replace" : "add"; 12562 if (origValue === value && op === "replace") { return; } 12563 var path = basePath.concat(key); 12564 patches.push(op === "remove" ? { 12565 op: op, 12566 path: path 12567 } : { 12568 op: op, 12569 path: path, 12570 value: value 12571 }); 12572 inversePatches.push(op === "add" ? { 12573 op: "remove", 12574 path: path 12575 } : op === "remove" ? { 12576 op: "add", 12577 path: path, 12578 value: origValue 12579 } : { 12580 op: "replace", 12581 path: path, 12582 value: origValue 12583 }); 12584 }); 12585} 12586 12587function applyPatches(draft, patches) { 12588 for (var i = 0; i < patches.length; i++) { 12589 var patch = patches[i]; 12590 var path = patch.path; 12591 12592 if (path.length === 0 && patch.op === "replace") { 12593 draft = patch.value; 12594 } else { 12595 var base = draft; 12596 12597 for (var i$1 = 0; i$1 < path.length - 1; i$1++) { 12598 base = base[path[i$1]]; 12599 if (!base || typeof base !== "object") { throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/")); } // prettier-ignore 12600 } 12601 12602 var key = path[path.length - 1]; 12603 12604 switch (patch.op) { 12605 case "replace": 12606 base[key] = patch.value; 12607 break; 12608 12609 case "add": 12610 if (Array.isArray(base)) { 12611 // TODO: support "foo/-" paths for appending to an array 12612 base.splice(key, 0, patch.value); 12613 } else { 12614 base[key] = patch.value; 12615 } 12616 12617 break; 12618 12619 case "remove": 12620 if (Array.isArray(base)) { 12621 base.splice(key, 1); 12622 } else { 12623 delete base[key]; 12624 } 12625 12626 break; 12627 12628 default: 12629 throw new Error("Unsupported patch operation: " + patch.op); 12630 } 12631 } 12632 } 12633 12634 return draft; 12635} 12636 12637function verifyMinified() {} 12638 12639var configDefaults = { 12640 useProxies: typeof Proxy !== "undefined" && typeof Reflect !== "undefined", 12641 autoFreeze: typeof process !== "undefined" ? "production" !== "production" : verifyMinified.name === "verifyMinified", 12642 onAssign: null, 12643 onDelete: null, 12644 onCopy: null 12645}; 12646var Immer = function Immer(config) { 12647 assign(this, configDefaults, config); 12648 this.setUseProxies(this.useProxies); 12649 this.produce = this.produce.bind(this); 12650}; 12651 12652Immer.prototype.produce = function produce (base, recipe, patchListener) { 12653 var this$1 = this; 12654 12655 // curried invocation 12656 if (typeof base === "function" && typeof recipe !== "function") { 12657 var defaultBase = recipe; 12658 recipe = base; // prettier-ignore 12659 12660 return function (base) { 12661 if ( base === void 0 ) base = defaultBase; 12662 var args = [], len = arguments.length - 1; 12663 while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; 12664 12665 return this$1.produce(base, function (draft) { return recipe.call.apply(recipe, [ draft, draft ].concat( args )); }); 12666 }; 12667 } // prettier-ignore 12668 12669 12670 { 12671 if (typeof recipe !== "function") { 12672 throw new Error("The first or second argument to `produce` must be a function"); 12673 } 12674 12675 if (patchListener !== undefined && typeof patchListener !== "function") { 12676 throw new Error("The third argument to `produce` must be a function or undefined"); 12677 } 12678 } 12679 var result; // Only plain objects, arrays, and "immerable classes" are drafted. 12680 12681 if (isDraftable(base)) { 12682 var scope = ImmerScope.enter(); 12683 var proxy = this.createProxy(base); 12684 var hasError = true; 12685 12686 try { 12687 result = recipe.call(proxy, proxy); 12688 hasError = false;
12689 } finally { 12690 // finally instead of catch + rethrow better preserves original stack 12691 if (hasError) { scope.revoke(); }else { scope.leave(); } 12692 } 12693 12694 if (result instanceof Promise) { 12695 return result.then(function (result) { 12696 scope.usePatches(patchListener); 12697 return this$1.processResult(result, scope); 12698 }, function (error) { 12699 scope.revoke(); 12700 throw error; 12701 }); 12702 } 12703 12704 scope.usePatches(patchListener); 12705 return this.processResult(result, scope); 12706 } else { 12707 result = recipe(base); 12708 if (result === undefined) { return base; } 12709 return result !== NOTHING ? result : undefined; 12710 } 12711}; 12712 12713Immer.prototype.createDraft = function createDraft (base) { 12714 if (!isDraftable(base)) { 12715 throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore 12716 } 12717 12718 var scope = ImmerScope.enter(); 12719 var proxy = this.createProxy(base); 12720 proxy[DRAFT_STATE].isManual = true; 12721 scope.leave(); 12722 return proxy; 12723}; 12724 12725Immer.prototype.finishDraft = function finishDraft (draft, patchListener) { 12726 var state = draft && draft[DRAFT_STATE]; 12727 12728 if (!state || !state.isManual) { 12729 throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`"); // prettier-ignore 12730 } 12731 12732 if (state.finalized) { 12733 throw new Error("The given draft is already finalized"); // prettier-ignore 12734 } 12735 12736 var scope = state.scope; 12737 scope.usePatches(patchListener); 12738 return this.processResult(undefined, scope); 12739}; 12740 12741Immer.prototype.setAutoFreeze = function setAutoFreeze (value) { 12742 this.autoFreeze = value; 12743}; 12744 12745Immer.prototype.setUseProxies = function setUseProxies (value) { 12746 this.useProxies = value; 12747 assign(this, value ? modernProxy : legacyProxy); 12748}; 12749 12750Immer.prototype.applyPatches = function applyPatches$1 (base, patches) { 12751 // Mutate the base state when a draft is passed. 12752 if (isDraft(base)) { 12753 return applyPatches(base, patches); 12754 } // Otherwise, produce a copy of the base state. 12755 12756 12757 return this.produce(base, function (draft) { return applyPatches(draft, patches); }); 12758}; 12759/** @internal */ 12760 12761 12762Immer.prototype.processResult = function processResult (result, scope) { 12763 var baseDraft = scope.drafts[0]; 12764 var isReplaced = result !== undefined && result !== baseDraft; 12765 this.willFinalize(scope, result, isReplaced); 12766 12767 if (isReplaced) { 12768 if (baseDraft[DRAFT_STATE].modified) { 12769 scope.revoke(); 12770 throw new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft."); // prettier-ignore 12771 } 12772 12773 if (isDraftable(result)) { 12774 // Finalize the result in case it contains (or is) a subset of the draft. 12775 result = this.finalize(result, null, scope); 12776 } 12777 12778 if (scope.patches) { 12779 scope.patches.push({ 12780 op: "replace", 12781 path: [], 12782 value: result 12783 }); 12784 scope.inversePatches.push({ 12785 op: "replace", 12786 path: [], 12787 value: baseDraft[DRAFT_STATE].base 12788 }); 12789 } 12790 } else { 12791 // Finalize the base draft. 12792 result = this.finalize(baseDraft, [], scope); 12793 } 12794 12795 scope.revoke(); 12796 12797 if (scope.patches) { 12798 scope.patchListener(scope.patches, scope.inversePatches); 12799 } 12800 12801 return result !== NOTHING ? result : undefined; 12802}; 12803/** 12804 * @internal 12805 * Finalize a draft, returning either the unmodified base state or a modified 12806 * copy of the base state. 12807 */ 12808 12809 12810Immer.prototype.finalize = function finalize (draft, path, scope) { 12811 var this$1 = this; 12812 12813 var state = draft[DRAFT_STATE]; 12814 12815 if (!state) { 12816 if (Object.isFrozen(draft)) { return draft; } 12817 return this.finalizeTree(draft, null, scope); 12818 } // Never finalize drafts owned by another scope. 12819 12820 12821 if (state.scope !== scope) { 12822 return draft; 12823 } 12824 12825 if (!state.modified) { 12826 return state.base; 12827 } 12828 12829 if (!state.finalized) { 12830 state.finalized = true; 12831 this.finalizeTree(state.draft, path, scope); 12832 12833 if (this.onDelete) { 12834 // The `assigned` object is unreliable with ES5 drafts. 12835 if (this.useProxies) { 12836 var assigned = state.assigned; 12837 12838 for (var prop in assigned) { 12839 if (!assigned[prop]) { this.onDelete(state, prop); } 12840 } 12841 } else { 12842 var base = state.base; 12843 var copy = state.copy; 12844 each(base, function (prop) {
12845 if (!has(copy, prop)) { this$1.onDelete(state, prop); } 12846 }); 12847 } 12848 } 12849 12850 if (this.onCopy) { 12851 this.onCopy(state); 12852 } // At this point, all descendants of `state.copy` have been finalized, 12853 // so we can be sure that `scope.canAutoFreeze` is accurate. 12854 12855 12856 if (this.autoFreeze && scope.canAutoFreeze) { 12857 Object.freeze(state.copy); 12858 } 12859 12860 if (path && scope.patches) { 12861 generatePatches(state, path, scope.patches, scope.inversePatches); 12862 } 12863 } 12864 12865 return state.copy; 12866}; 12867/** 12868 * @internal 12869 * Finalize all drafts in the given state tree. 12870 */ 12871 12872 12873Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) { 12874 var this$1 = this; 12875 12876 var state = root[DRAFT_STATE]; 12877 12878 if (state) { 12879 if (!this.useProxies) { 12880 // Create the final copy, with added keys and without deleted keys. 12881 state.copy = shallowCopy(state.draft, true); 12882 } 12883 12884 root = state.copy; 12885 } 12886 12887 var needPatches = !!rootPath && !!scope.patches; 12888 12889 var finalizeProperty = function (prop, value, parent) { 12890 if (value === parent) { 12891 throw Error("Immer forbids circular references"); 12892 } // In the `finalizeTree` method, only the `root` object may be a draft. 12893 12894 12895 var isDraftProp = !!state && parent === root; 12896 12897 if (isDraft(value)) { 12898 var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here. 12899 12900 value = this$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing. 12901 12902 if (isDraft(value)) { 12903 scope.canAutoFreeze = false; 12904 } // Preserve non-enumerable properties. 12905 12906 12907 if (Array.isArray(parent) || isEnumerable(parent, prop)) { 12908 parent[prop] = value; 12909 } else { 12910 Object.defineProperty(parent, prop, { 12911 value: value 12912 }); 12913 } // Unchanged drafts are never passed to the `onAssign` hook. 12914 12915 12916 if (isDraftProp && value === state.base[prop]) { return; } 12917 } // Unchanged draft properties are ignored. 12918 else if (isDraftProp && is(value, state.base[prop])) { 12919 return; 12920 } // Search new objects for unfinalized drafts. Frozen objects should never contain drafts. 12921 else if (isDraftable(value) && !Object.isFrozen(value)) { 12922 each(value, finalizeProperty); 12923 } 12924 12925 if (isDraftProp && this$1.onAssign) { 12926 this$1.onAssign(state, prop, value); 12927 } 12928 }; 12929 12930 each(root, finalizeProperty); 12931 return root; 12932}; 12933 12934var immer = new Immer(); 12935/** 12936 * The `produce` function takes a value and a "recipe function" (whose 12937 * return value often depends on the base state). The recipe function is 12938 * free to mutate its first argument however it wants. All mutations are 12939 * only ever applied to a __copy__ of the base state. 12940 * 12941 * Pass only a function to create a "curried producer" which relieves you 12942 * from passing the recipe function every time. 12943 * 12944 * Only plain objects and arrays are made mutable. All other objects are 12945 * considered uncopyable. 12946 * 12947 * Note: This function is __bound__ to its `Immer` instance. 12948 * 12949 * @param {any} base - the initial state 12950 * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified 12951 * @param {Function} patchListener - optional function that will be called with all the patches produced here 12952 * @returns {any} a new state, or the initial state if nothing was modified 12953 */ 12954 12955var produce = immer.produce; 12956/** 12957 * Pass true to automatically freeze all copies created by Immer. 12958 * 12959 * By default, auto-freezing is disabled in production. 12960 */ 12961 12962var setAutoFreeze = immer.setAutoFreeze.bind(immer); 12963/** 12964 * Pass true to use the ES2015 `Proxy` class when creating drafts, which is 12965 * always faster than using ES5 proxies. 12966 * 12967 * By default, feature detection is used, so calling this is rarely necessary. 12968 */ 12969 12970var setUseProxies = immer.setUseProxies.bind(immer); 12971/** 12972 * Apply an array of Immer patches to the first argument. 12973 * 12974 * This function is a producer, which means copy-on-write is in effect. 12975 */ 12976 12977var applyPatches$1 = immer.applyPatches.bind(immer); 12978/** 12979 * Create an Immer draft from the given base state, which may be a draft itself. 12980 * The draft can be modified until you finalize it with the `finishDraft` function. 12981 */ 12982 12983var createDraft = immer.createDraft.bind(immer); 12984/** 12985 * Finalize an Immer draft from a `createDraft` call, returning the base state 12986 * (if no changes were made) or a modified copy. The draft must *not* be 12987 * mutated afterwards. 12988 * 12989 * Pass a function as the 2nd argument to generate Immer patches based on the 12990 * changes that were made. 12991 */ 12992 12993var finishDraft = immer.finishDraft.bind(immer); 12994 12995/* harmony default export */ __webpack_exports__["a"] = (produce); 12996 12997//# sourceMappingURL=immer.module.js.map 12998 12999/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57))) 13000 13001/***/ }), 13002/* 206 */, 13003/* 207 */, 13004/* 208 */, 13005/* 209 */, 13006/* 210 */, 13007/* 211 */, 13008/* 212 */, 13009/* 213 */ 13010/***/ (function(module, exports, __webpack_require__) { 13011 13012"use strict"; 13013 13014var nativePropertyIsEnumerable = {}.propertyIsEnumerable; 13015var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 13016 13017// Nashorn ~ JDK8 bug 13018var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); 13019 13020// `Object.prototype.propertyIsEnumerable` method implementation 13021// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable 13022exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 13023 var descriptor = getOwnPropertyDescriptor(this, V); 13024 return !!descriptor && descriptor.enumerable; 13025} : nativePropertyIsEnumerable; 13026 13027 13028/***/ }), 13029/* 214 */ 13030/***/ (function(module, exports, __webpack_require__) { 13031 13032var shared = __webpack_require__(277); 13033var uid = __webpack_require__(165); 13034 13035var keys = shared('keys'); 13036 13037module.exports = function (key) { 13038 return keys[key] || (keys[key] = uid(key)); 13039}; 13040 13041 13042/***/ }), 13043/* 215 */ 13044/***/ (function(module, exports, __webpack_require__) { 13045 13046var wellKnownSymbol = __webpack_require__(23); 13047 13048var ITERATOR = wellKnownSymbol('iterator'); 13049var SAFE_CLOSING = false;
vendor: 14,406 bytes, lines 13050-13526
13050 13051try { 13052 var called = 0; 13053 var iteratorWithReturn = { 13054 next: function () { 13055 return { done: !!called++ }; 13056 }, 13057 'return': function () { 13058 SAFE_CLOSING = true; 13059 } 13060 }; 13061 iteratorWithReturn[ITERATOR] = function () { 13062 return this; 13063 }; 13064 // eslint-disable-next-line no-throw-literal 13065 Array.from(iteratorWithReturn, function () { throw 2; }); 13066} catch (error) { /* empty */ } 13067 13068module.exports = function (exec, SKIP_CLOSING) { 13069 if (!SKIP_CLOSING && !SAFE_CLOSING) return false; 13070 var ITERATION_SUPPORT = false; 13071 try { 13072 var object = {}; 13073 object[ITERATOR] = function () { 13074 return { 13075 next: function () { 13076 return { done: ITERATION_SUPPORT = true }; 13077 } 13078 }; 13079 }; 13080 exec(object); 13081 } catch (error) { /* empty */ } 13082 return ITERATION_SUPPORT; 13083}; 13084 13085 13086/***/ }), 13087/* 216 */ 13088/***/ (function(module, exports, __webpack_require__) { 13089 13090var getBuiltIn = __webpack_require__(67); 13091 13092module.exports = getBuiltIn('navigator', 'userAgent') || ''; 13093 13094 13095/***/ }), 13096/* 217 */ 13097/***/ (function(module, exports, __webpack_require__) { 13098 13099var aFunction = __webpack_require__(59); 13100var toObject = __webpack_require__(33); 13101var IndexedObject = __webpack_require__(164); 13102var toLength = __webpack_require__(28); 13103 13104// `Array.prototype.{ reduce, reduceRight }` methods implementation 13105var createMethod = function (IS_RIGHT) { 13106 return function (that, callbackfn, argumentsLength, memo) { 13107 aFunction(callbackfn); 13108 var O = toObject(that); 13109 var self = IndexedObject(O); 13110 var length = toLength(O.length); 13111 var index = IS_RIGHT ? length - 1 : 0; 13112 var i = IS_RIGHT ? -1 : 1; 13113 if (argumentsLength < 2) while (true) { 13114 if (index in self) { 13115 memo = self[index]; 13116 index += i; 13117 break; 13118 } 13119 index += i; 13120 if (IS_RIGHT ? index < 0 : length <= index) { 13121 throw TypeError('Reduce of empty array with no initial value'); 13122 } 13123 } 13124 for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { 13125 memo = callbackfn(memo, self[index], index, O); 13126 } 13127 return memo; 13128 }; 13129}; 13130 13131module.exports = { 13132 // `Array.prototype.reduce` method 13133 // https://tc39.github.io/ecma262/#sec-array.prototype.reduce 13134 left: createMethod(false), 13135 // `Array.prototype.reduceRight` method 13136 // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright 13137 right: createMethod(true) 13138}; 13139 13140 13141/***/ }), 13142/* 218 */ 13143/***/ (function(module, exports, __webpack_require__) { 13144 13145"use strict"; 13146 13147var IS_PURE = __webpack_require__(72); 13148var global = __webpack_require__(16); 13149var fails = __webpack_require__(11); 13150 13151// Forced replacement object prototype accessors methods 13152module.exports = IS_PURE || !fails(function () { 13153 var key = Math.random(); 13154 // In FF throws only define methods 13155 // eslint-disable-next-line no-undef, no-useless-call 13156 __defineSetter__.call(null, key, function () { /* empty */ }); 13157 delete global[key]; 13158}); 13159 13160 13161/***/ }), 13162/* 219 */ 13163/***/ (function(module, exports, __webpack_require__) { 13164 13165var toInteger = __webpack_require__(73); 13166var requireObjectCoercible = __webpack_require__(52); 13167 13168// `String.prototype.{ codePointAt, at }` methods implementation 13169var createMethod = function (CONVERT_TO_STRING) { 13170 return function ($this, pos) { 13171 var S = String(requireObjectCoercible($this)); 13172 var position = toInteger(pos); 13173 var size = S.length; 13174 var first, second; 13175 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 13176 first = S.charCodeAt(position); 13177 return first < 0xD800 || first > 0xDBFF || position + 1 === size 13178 || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF 13179 ? CONVERT_TO_STRING ? S.charAt(position) : first 13180 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 13181 }; 13182}; 13183 13184module.exports = { 13185 // `String.prototype.codePointAt` method 13186 // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat 13187 codeAt: createMethod(false), 13188 // `String.prototype.at` method 13189 // https://github.com/mathiasbynens/String.prototype.at 13190 charAt: createMethod(true) 13191}; 13192 13193 13194/***/ }), 13195/* 220 */ 13196/***/ (function(module, exports, __webpack_require__) { 13197 13198"use strict"; 13199 13200// TODO: Remove from `core-js@4` since it's moved to entry points 13201__webpack_require__(93); 13202var redefine = __webpack_require__(54); 13203var fails = __webpack_require__(11); 13204var wellKnownSymbol = __webpack_require__(23); 13205var regexpExec = __webpack_require__(221); 13206var createNonEnumerableProperty = __webpack_require__(53); 13207 13208var SPECIES = wellKnownSymbol('species'); 13209 13210var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 13211 // #replace needs built-in support for named groups. 13212 // #match works fine because it just return the exec results, even if it has 13213 // a "grops" property. 13214 var re = /./; 13215 re.exec = function () { 13216 var result = []; 13217 result.groups = { a: '7' }; 13218 return result; 13219 }; 13220 return ''.replace(re, '$<a>') !== '7'; 13221}); 13222 13223// IE <= 11 replaces $0 with the whole match, as if it was $& 13224// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 13225var REPLACE_KEEPS_$0 = (function () { 13226 return 'a'.replace(/./, '$0') === '$0'; 13227})(); 13228 13229var REPLACE = wellKnownSymbol('replace'); 13230// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string 13231var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { 13232 if (/./[REPLACE]) { 13233 return /./[REPLACE]('a', '$0') === ''; 13234 } 13235 return false; 13236})(); 13237 13238// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 13239// Weex JS has frozen built-in prototypes, so use try / catch wrapper 13240var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { 13241 var re = /(?:)/; 13242 var originalExec = re.exec; 13243 re.exec = function () { return originalExec.apply(this, arguments); }; 13244 var result = 'ab'.split(re); 13245 return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; 13246}); 13247 13248module.exports = function (KEY, length, exec, sham) { 13249 var SYMBOL = wellKnownSymbol(KEY); 13250 13251 var DELEGATES_TO_SYMBOL = !fails(function () { 13252 // String methods call symbol-named RegEp methods 13253 var O = {}; 13254 O[SYMBOL] = function () { return 7; }; 13255 return ''[KEY](O) != 7; 13256 }); 13257 13258 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { 13259 // Symbol-named RegExp methods call .exec 13260 var execCalled = false; 13261 var re = /a/; 13262 13263 if (KEY === 'split') { 13264 // We can't use real regex here since it causes deoptimization 13265 // and serious performance degradation in V8 13266 // https://github.com/zloirock/core-js/issues/306 13267 re = {}; 13268 // RegExp[@@split] doesn't call the regex's exec method, but first creates 13269 // a new one. We need to return the patched regex when creating the new one. 13270 re.constructor = {}; 13271 re.constructor[SPECIES] = function () { return re; }; 13272 re.flags = ''; 13273 re[SYMBOL] = /./[SYMBOL]; 13274 } 13275 13276 re.exec = function () { execCalled = true; return null; }; 13277 13278 re[SYMBOL](''); 13279 return !execCalled; 13280 }); 13281 13282 if ( 13283 !DELEGATES_TO_SYMBOL || 13284 !DELEGATES_TO_EXEC || 13285 (KEY === 'replace' && !( 13286 REPLACE_SUPPORTS_NAMED_GROUPS && 13287 REPLACE_KEEPS_$0 && 13288 !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 13289 )) || 13290 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 13291 ) { 13292 var nativeRegExpMethod = /./[SYMBOL]; 13293 var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { 13294 if (regexp.exec === regexpExec) { 13295 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 13296 // The native String method already delegates to @@method (this 13297 // polyfilled function), leasing to infinite recursion. 13298 // We avoid it by directly calling the native @@method method. 13299 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 13300 } 13301 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 13302 } 13303 return { done: false }; 13304 }, { 13305 REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, 13306 REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 13307 }); 13308 var stringMethod = methods[0]; 13309 var regexMethod = methods[1]; 13310 13311 redefine(String.prototype, KEY, stringMethod); 13312 redefine(RegExp.prototype, SYMBOL, length == 2 13313 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 13314 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 13315 ? function (string, arg) { return regexMethod.call(string, this, arg); } 13316 // 21.2.5.6 RegExp.prototype[@@match](string) 13317 // 21.2.5.9 RegExp.prototype[@@search](string) 13318 : function (string) { return regexMethod.call(string, this); } 13319 ); 13320 } 13321 13322 if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); 13323}; 13324 13325 13326/***/ }), 13327/* 221 */ 13328/***/ (function(module, exports, __webpack_require__) { 13329 13330"use strict"; 13331 13332var regexpFlags = __webpack_require__(148); 13333var stickyHelpers = __webpack_require__(222); 13334 13335var nativeExec = RegExp.prototype.exec; 13336// This always refers to the native implementation, because the 13337// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 13338// which loads this file before patching the method. 13339var nativeReplace = String.prototype.replace; 13340 13341var patchedExec = nativeExec; 13342 13343var UPDATES_LAST_INDEX_WRONG = (function () { 13344 var re1 = /a/; 13345 var re2 = /b*/g; 13346 nativeExec.call(re1, 'a'); 13347 nativeExec.call(re2, 'a'); 13348 return re1.lastIndex !== 0 || re2.lastIndex !== 0; 13349})(); 13350 13351var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; 13352 13353// nonparticipating capturing group, copied from es5-shim's String#split patch. 13354var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 13355 13356var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; 13357 13358if (PATCH) { 13359 patchedExec = function exec(str) { 13360 var re = this; 13361 var lastIndex, reCopy, match, i; 13362 var sticky = UNSUPPORTED_Y && re.sticky; 13363 var flags = regexpFlags.call(re); 13364 var source = re.source; 13365 var charsAdded = 0; 13366 var strCopy = str; 13367 13368 if (sticky) { 13369 flags = flags.replace('y', ''); 13370 if (flags.indexOf('g') === -1) { 13371 flags += 'g'; 13372 } 13373 13374 strCopy = String(str).slice(re.lastIndex); 13375 // Support anchored sticky behavior. 13376 if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { 13377 source = '(?: ' + source + ')'; 13378 strCopy = ' ' + strCopy; 13379 charsAdded++; 13380 } 13381 // ^(? + rx + ) is needed, in combination with some str slicing, to 13382 // simulate the 'y' flag. 13383 reCopy = new RegExp('^(?:' + source + ')', flags); 13384 } 13385 13386 if (NPCG_INCLUDED) { 13387 reCopy = new RegExp('^' + source + '$(?!\\s)', flags); 13388 } 13389 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; 13390 13391 match = nativeExec.call(sticky ? reCopy : re, strCopy); 13392 13393 if (sticky) { 13394 if (match) { 13395 match.input = match.input.slice(charsAdded); 13396 match[0] = match[0].slice(charsAdded); 13397 match.index = re.lastIndex; 13398 re.lastIndex += match[0].length; 13399 } else re.lastIndex = 0; 13400 } else if (UPDATES_LAST_INDEX_WRONG && match) { 13401 re.lastIndex = re.global ? match.index + match[0].length : lastIndex; 13402 } 13403 if (NPCG_INCLUDED && match && match.length > 1) { 13404 // Fix browsers whose `exec` methods don't consistently return `undefined` 13405 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 13406 nativeReplace.call(match[0], reCopy, function () { 13407 for (i = 1; i < arguments.length - 2; i++) { 13408 if (arguments[i] === undefined) match[i] = undefined; 13409 } 13410 }); 13411 } 13412 13413 return match; 13414 }; 13415} 13416 13417module.exports = patchedExec; 13418 13419 13420/***/ }), 13421/* 222 */ 13422/***/ (function(module, exports, __webpack_require__) { 13423 13424"use strict"; 13425 13426 13427var fails = __webpack_require__(11); 13428 13429// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, 13430// so we use an intermediate function. 13431function RE(s, f) { 13432 return RegExp(s, f); 13433} 13434 13435exports.UNSUPPORTED_Y = fails(function () { 13436 // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError 13437 var re = RE('a', 'y'); 13438 re.lastIndex = 2; 13439 return re.exec('abcd') != null; 13440}); 13441 13442exports.BROKEN_CARET = fails(function () { 13443 // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 13444 var re = RE('^r', 'gy'); 13445 re.lastIndex = 2; 13446 return re.exec('str') != null; 13447}); 13448 13449 13450/***/ }), 13451/* 223 */ 13452/***/ (function(module, exports, __webpack_require__) { 13453 13454"use strict"; 13455 13456var charAt = __webpack_require__(219).charAt; 13457 13458// `AdvanceStringIndex` abstract operation 13459// https://tc39.github.io/ecma262/#sec-advancestringindex 13460module.exports = function (S, index, unicode) { 13461 return index + (unicode ? charAt(S, index).length : 1); 13462}; 13463 13464 13465/***/ }), 13466/* 224 */ 13467/***/ (function(module, exports, __webpack_require__) { 13468 13469var classof = __webpack_require__(101); 13470var regexpExec = __webpack_require__(221); 13471 13472// `RegExpExec` abstract operation 13473// https://tc39.github.io/ecma262/#sec-regexpexec 13474module.exports = function (R, S) { 13475 var exec = R.exec; 13476 if (typeof exec === 'function') { 13477 var result = exec.call(R, S); 13478 if (typeof result !== 'object') { 13479 throw TypeError('RegExp exec method returned something other than an Object or null'); 13480 } 13481 return result; 13482 } 13483 13484 if (classof(R) !== 'RegExp') { 13485 throw TypeError('RegExp#exec called on incompatible receiver'); 13486 } 13487 13488 return regexpExec.call(R, S); 13489}; 13490 13491 13492 13493/***/ }), 13494/* 225 */ 13495/***/ (function(module, exports) { 13496 13497// a string of all valid unicode whitespaces 13498// eslint-disable-next-line max-len 13499module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 13500 13501 13502/***/ }), 13503/* 226 */ 13504/***/ (function(module, exports, __webpack_require__) { 13505 13506var isObject = __webpack_require__(19); 13507var setPrototypeOf = __webpack_require__(116); 13508 13509// makes subclassing work correct for wrapped built-ins 13510module.exports = function ($this, dummy, Wrapper) { 13511 var NewTarget, NewTargetPrototype; 13512 if ( 13513 // it can work only with native `setPrototypeOf` 13514 setPrototypeOf && 13515 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 13516 typeof (NewTarget = dummy.constructor) == 'function' && 13517 NewTarget !== Wrapper && 13518 isObject(NewTargetPrototype = NewTarget.prototype) && 13519 NewTargetPrototype !== Wrapper.prototype 13520 ) setPrototypeOf($this, NewTargetPrototype); 13521 return $this; 13522}; 13523 13524 13525/***/ }), 13526/* 227 */
vendor: 5,764 bytes, lines 13527-13688
13527/***/ (function(module, exports) { 13528 13529var nativeExpm1 = Math.expm1; 13530var exp = Math.exp; 13531 13532// `Math.expm1` method implementation 13533// https://tc39.github.io/ecma262/#sec-math.expm1 13534module.exports = (!nativeExpm1 13535 // Old FF bug 13536 || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 13537 // Tor Browser bug 13538 || nativeExpm1(-2e-17) != -2e-17 13539) ? function expm1(x) { 13540 return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; 13541} : nativeExpm1; 13542 13543 13544/***/ }), 13545/* 228 */ 13546/***/ (function(module, exports, __webpack_require__) { 13547 13548"use strict"; 13549 13550var aFunction = __webpack_require__(59); 13551 13552var PromiseCapability = function (C) { 13553 var resolve, reject; 13554 this.promise = new C(function ($$resolve, $$reject) { 13555 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); 13556 resolve = $$resolve; 13557 reject = $$reject; 13558 }); 13559 this.resolve = aFunction(resolve); 13560 this.reject = aFunction(reject); 13561}; 13562 13563// 25.4.1.5 NewPromiseCapability(C) 13564module.exports.f = function (C) { 13565 return new PromiseCapability(C); 13566}; 13567 13568 13569/***/ }), 13570/* 229 */ 13571/***/ (function(module, exports, __webpack_require__) { 13572 13573"use strict"; 13574 13575var $ = __webpack_require__(2); 13576var global = __webpack_require__(16); 13577var isForced = __webpack_require__(169); 13578var redefine = __webpack_require__(54); 13579var InternalMetadataModule = __webpack_require__(135); 13580var iterate = __webpack_require__(117); 13581var anInstance = __webpack_require__(119); 13582var isObject = __webpack_require__(19); 13583var fails = __webpack_require__(11); 13584var checkCorrectnessOfIteration = __webpack_require__(215); 13585var setToStringTag = __webpack_require__(80); 13586var inheritIfRequired = __webpack_require__(226); 13587 13588module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { 13589 var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; 13590 var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; 13591 var ADDER = IS_MAP ? 'set' : 'add'; 13592 var NativeConstructor = global[CONSTRUCTOR_NAME]; 13593 var NativePrototype = NativeConstructor && NativeConstructor.prototype; 13594 var Constructor = NativeConstructor; 13595 var exported = {}; 13596 13597 var fixMethod = function (KEY) { 13598 var nativeMethod = NativePrototype[KEY]; 13599 redefine(NativePrototype, KEY, 13600 KEY == 'add' ? function add(value) { 13601 nativeMethod.call(this, value === 0 ? 0 : value); 13602 return this; 13603 } : KEY == 'delete' ? function (key) { 13604 return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); 13605 } : KEY == 'get' ? function get(key) { 13606 return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); 13607 } : KEY == 'has' ? function has(key) { 13608 return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); 13609 } : function set(key, value) { 13610 nativeMethod.call(this, key === 0 ? 0 : key, value); 13611 return this; 13612 } 13613 ); 13614 }; 13615 13616 // eslint-disable-next-line max-len 13617 if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { 13618 new NativeConstructor().entries().next(); 13619 })))) { 13620 // create collection constructor 13621 Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); 13622 InternalMetadataModule.REQUIRED = true; 13623 } else if (isForced(CONSTRUCTOR_NAME, true)) { 13624 var instance = new Constructor(); 13625 // early implementations not supports chaining 13626 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; 13627 // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false 13628 var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); 13629 // most early implementations doesn't supports iterables, most modern - not close it correctly 13630 // eslint-disable-next-line no-new 13631 var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); 13632 // for early implementations -0 and +0 not the same 13633 var BUGGY_ZERO = !IS_WEAK && fails(function () { 13634 // V8 ~ Chromium 42- fails only with 5+ elements 13635 var $instance = new NativeConstructor(); 13636 var index = 5; 13637 while (index--) $instance[ADDER](index, index); 13638 return !$instance.has(-0); 13639 }); 13640 13641 if (!ACCEPT_ITERABLES) { 13642 Constructor = wrapper(function (dummy, iterable) { 13643 anInstance(dummy, Constructor, CONSTRUCTOR_NAME); 13644 var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); 13645 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 13646 return that; 13647 }); 13648 Constructor.prototype = NativePrototype; 13649 NativePrototype.constructor = Constructor; 13650 } 13651 13652 if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { 13653 fixMethod('delete'); 13654 fixMethod('has'); 13655 IS_MAP && fixMethod('get'); 13656 } 13657 13658 if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); 13659 13660 // weak collections should not contains .clear method 13661 if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; 13662 } 13663 13664 exported[CONSTRUCTOR_NAME] = Constructor; 13665 $({ global: true, forced: Constructor != NativeConstructor }, exported); 13666 13667 setToStringTag(Constructor, CONSTRUCTOR_NAME); 13668 13669 if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); 13670 13671 return Constructor; 13672}; 13673 13674 13675/***/ }), 13676/* 230 */ 13677/***/ (function(module, exports, __webpack_require__) { 13678 13679"use strict"; 13680 13681var global = __webpack_require__(16); 13682var DESCRIPTORS = __webpack_require__(21); 13683var NATIVE_ARRAY_BUFFER = __webpack_require__(297); 13684var createNonEnumerableProperty = __webpack_require__(53); 13685var redefineAll = __webpack_require__(150); 13686var fails = __webpack_require__(11); 13687var anInstance = __webpack_require__(119); 13688var toInteger = __webpack_require__(73);
13689var toLength = __webpack_require__(28); 13690var toIndex = __webpack_require__(388); 13691var IEEE754 = __webpack_require__(664); 13692var getPrototypeOf = __webpack_require__(74); 13693var setPrototypeOf = __webpack_require__(116); 13694var getOwnPropertyNames = __webpack_require__(132).f; 13695var defineProperty = __webpack_require__(30).f; 13696var arrayFill = __webpack_require__(286); 13697var setToStringTag = __webpack_require__(80); 13698var InternalStateModule = __webpack_require__(58); 13699 13700var getInternalState = InternalStateModule.get; 13701var setInternalState = InternalStateModule.set; 13702var ARRAY_BUFFER = 'ArrayBuffer'; 13703var DATA_VIEW = 'DataView'; 13704var PROTOTYPE = 'prototype'; 13705var WRONG_LENGTH = 'Wrong length'; 13706var WRONG_INDEX = 'Wrong index'; 13707var NativeArrayBuffer = global[ARRAY_BUFFER]; 13708var $ArrayBuffer = NativeArrayBuffer; 13709var $DataView = global[DATA_VIEW]; 13710var $DataViewPrototype = $DataView && $DataView[PROTOTYPE]; 13711var ObjectPrototype = Object.prototype; 13712var RangeError = global.RangeError; 13713 13714var packIEEE754 = IEEE754.pack; 13715var unpackIEEE754 = IEEE754.unpack; 13716 13717var packInt8 = function (number) { 13718 return [number & 0xFF]; 13719}; 13720 13721var packInt16 = function (number) { 13722 return [number & 0xFF, number >> 8 & 0xFF]; 13723}; 13724 13725var packInt32 = function (number) { 13726 return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; 13727}; 13728 13729var unpackInt32 = function (buffer) { 13730 return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; 13731}; 13732 13733var packFloat32 = function (number) { 13734 return packIEEE754(number, 23, 4); 13735}; 13736 13737var packFloat64 = function (number) { 13738 return packIEEE754(number, 52, 8); 13739}; 13740 13741var addGetter = function (Constructor, key) { 13742 defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); 13743}; 13744 13745var get = function (view, count, index, isLittleEndian) { 13746 var intIndex = toIndex(index); 13747 var store = getInternalState(view); 13748 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 13749 var bytes = getInternalState(store.buffer).bytes; 13750 var start = intIndex + store.byteOffset; 13751 var pack = bytes.slice(start, start + count); 13752 return isLittleEndian ? pack : pack.reverse(); 13753}; 13754 13755var set = function (view, count, index, conversion, value, isLittleEndian) { 13756 var intIndex = toIndex(index); 13757 var store = getInternalState(view); 13758 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 13759 var bytes = getInternalState(store.buffer).bytes; 13760 var start = intIndex + store.byteOffset; 13761 var pack = conversion(+value); 13762 for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; 13763}; 13764 13765if (!NATIVE_ARRAY_BUFFER) { 13766 $ArrayBuffer = function ArrayBuffer(length) { 13767 anInstance(this, $ArrayBuffer, ARRAY_BUFFER); 13768 var byteLength = toIndex(length); 13769 setInternalState(this, { 13770 bytes: arrayFill.call(new Array(byteLength), 0), 13771 byteLength: byteLength 13772 }); 13773 if (!DESCRIPTORS) this.byteLength = byteLength; 13774 }; 13775 13776 $DataView = function DataView(buffer, byteOffset, byteLength) { 13777 anInstance(this, $DataView, DATA_VIEW); 13778 anInstance(buffer, $ArrayBuffer, DATA_VIEW); 13779 var bufferLength = getInternalState(buffer).byteLength; 13780 var offset = toInteger(byteOffset); 13781 if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); 13782 byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); 13783 if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); 13784 setInternalState(this, { 13785 buffer: buffer, 13786 byteLength: byteLength, 13787 byteOffset: offset 13788 }); 13789 if (!DESCRIPTORS) { 13790 this.buffer = buffer; 13791 this.byteLength = byteLength; 13792 this.byteOffset = offset; 13793 } 13794 }; 13795 13796 if (DESCRIPTORS) { 13797 addGetter($ArrayBuffer, 'byteLength'); 13798 addGetter($DataView, 'buffer'); 13799 addGetter($DataView, 'byteLength'); 13800 addGetter($DataView, 'byteOffset'); 13801 } 13802 13803 redefineAll($DataView[PROTOTYPE], { 13804 getInt8: function getInt8(byteOffset) { 13805 return get(this, 1, byteOffset)[0] << 24 >> 24; 13806 }, 13807 getUint8: function getUint8(byteOffset) { 13808 return get(this, 1, byteOffset)[0]; 13809 }, 13810 getInt16: function getInt16(byteOffset /* , littleEndian */) { 13811 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
13812 return (bytes[1] << 8 | bytes[0]) << 16 >> 16; 13813 }, 13814 getUint16: function getUint16(byteOffset /* , littleEndian */) { 13815 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); 13816 return bytes[1] << 8 | bytes[0]; 13817 }, 13818 getInt32: function getInt32(byteOffset /* , littleEndian */) { 13819 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); 13820 }, 13821 getUint32: function getUint32(byteOffset /* , littleEndian */) { 13822 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; 13823 }, 13824 getFloat32: function getFloat32(byteOffset /* , littleEndian */) { 13825 return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); 13826 }, 13827 getFloat64: function getFloat64(byteOffset /* , littleEndian */) { 13828 return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); 13829 }, 13830 setInt8: function setInt8(byteOffset, value) { 13831 set(this, 1, byteOffset, packInt8, value); 13832 }, 13833 setUint8: function setUint8(byteOffset, value) { 13834 set(this, 1, byteOffset, packInt8, value); 13835 }, 13836 setInt16: function setInt16(byteOffset, value /* , littleEndian */) { 13837 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 13838 }, 13839 setUint16: function setUint16(byteOffset, value /* , littleEndian */) { 13840 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 13841 }, 13842 setInt32: function setInt32(byteOffset, value /* , littleEndian */) { 13843 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 13844 }, 13845 setUint32: function setUint32(byteOffset, value /* , littleEndian */) { 13846 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 13847 }, 13848 setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { 13849 set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); 13850 }, 13851 setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { 13852 set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); 13853 } 13854 }); 13855} else { 13856 if (!fails(function () { 13857 NativeArrayBuffer(1); 13858 }) || !fails(function () { 13859 new NativeArrayBuffer(-1); // eslint-disable-line no-new 13860 }) || fails(function () { 13861 new NativeArrayBuffer(); // eslint-disable-line no-new 13862 new NativeArrayBuffer(1.5); // eslint-disable-line no-new 13863 new NativeArrayBuffer(NaN); // eslint-disable-line no-new 13864 return NativeArrayBuffer.name != ARRAY_BUFFER; 13865 })) { 13866 $ArrayBuffer = function ArrayBuffer(length) { 13867 anInstance(this, $ArrayBuffer); 13868 return new NativeArrayBuffer(toIndex(length)); 13869 }; 13870 var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; 13871 for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { 13872 if (!((key = keys[j++]) in $ArrayBuffer)) { 13873 createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); 13874 } 13875 } 13876 ArrayBufferPrototype.constructor = $ArrayBuffer; 13877 } 13878 13879 // WebKit bug - the same parent prototype for typed arrays and data view 13880 if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) { 13881 setPrototypeOf($DataViewPrototype, ObjectPrototype); 13882 } 13883 13884 // iOS Safari 7.x bug 13885 var testView = new $DataView(new $ArrayBuffer(2)); 13886 var nativeSetInt8 = $DataViewPrototype.setInt8; 13887 testView.setInt8(0, 2147483648); 13888 testView.setInt8(1, 2147483649); 13889 if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, { 13890 setInt8: function setInt8(byteOffset, value) { 13891 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 13892 }, 13893 setUint8: function setUint8(byteOffset, value) { 13894 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 13895 } 13896 }, { unsafe: true }); 13897} 13898 13899setToStringTag($ArrayBuffer, ARRAY_BUFFER); 13900setToStringTag($DataView, DATA_VIEW); 13901 13902module.exports = { 13903 ArrayBuffer: $ArrayBuffer, 13904 DataView: $DataView 13905}; 13906 13907 13908/***/ }), 13909/* 231 */, 13910/* 232 */, 13911/* 233 */
vendor: 4,514 bytes, lines 13912-14011
13912/***/ (function(module, exports) { 13913 13914function _classCallCheck(instance, Constructor) { 13915 if (!(instance instanceof Constructor)) { 13916 throw new TypeError("Cannot call a class as a function"); 13917 } 13918} 13919 13920module.exports = _classCallCheck; 13921 13922/***/ }), 13923/* 234 */ 13924/***/ (function(module, exports) { 13925 13926function _defineProperties(target, props) { 13927 for (var i = 0; i < props.length; i++) { 13928 var descriptor = props[i]; 13929 descriptor.enumerable = descriptor.enumerable || false; 13930 descriptor.configurable = true; 13931 if ("value" in descriptor) descriptor.writable = true; 13932 Object.defineProperty(target, descriptor.key, descriptor); 13933 } 13934} 13935 13936function _createClass(Constructor, protoProps, staticProps) { 13937 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 13938 if (staticProps) _defineProperties(Constructor, staticProps); 13939 return Constructor; 13940} 13941 13942module.exports = _createClass; 13943 13944/***/ }), 13945/* 235 */, 13946/* 236 */ 13947/***/ (function(module, __webpack_exports__, __webpack_require__) { 13948 13949"use strict"; 13950 13951// EXPORTS 13952__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ Spinnerbabel_target_legacy_Spinner; }); 13953 13954// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 13955var es_symbolbabel_target_legacy = __webpack_require__(71); 13956 13957// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 13958var es_array_filterbabel_target_legacy = __webpack_require__(70); 13959 13960// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 13961var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 13962 13963// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 13964var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 13965 13966// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 13967var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 13968 13969// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 13970var es_object_keysbabel_target_legacy = __webpack_require__(89); 13971 13972// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 13973var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 13974 13975// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 13976var extendsbabel_target_legacy = __webpack_require__(50); 13977var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 13978 13979// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 13980var definePropertybabel_target_legacy = __webpack_require__(15); 13981var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 13982 13983// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 13984var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 13985var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 13986 13987// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 13988var preact_modulebabel_target_legacy = __webpack_require__(1); 13989 13990// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 13991var es_babel_target_legacy = __webpack_require__(25); 13992 13993// EXTERNAL MODULE: ./src/components/Spinner/Spinner.module.scss 13994var Spinner_module = __webpack_require__(107); 13995var Spinner_module_default = /*#__PURE__*/__webpack_require__.n(Spinner_module); 13996 13997// CONCATENATED MODULE: ./src/components/Spinner/Spinner.tsx?babel-target=legacy 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 14010 14011function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
14011 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 14012 14013 14014 14015 14016var Spinnerbabel_target_legacy_Spinner = function Spinner(_ref) { 14017 var _ref$colour = _ref.colour, 14018 colour = _ref$colour === void 0 ? "black" : _ref$colour, 14019 style = _ref.style, 14020 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["colour", "style"]); 14021 14022 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 14023 t = _useTranslation.t; 14024 14025 return Object(preact_modulebabel_target_legacy["h"])("div", extendsbabel_target_legacy_default()({ 14026 role: "status", 14027 "aria-label": t("ARIA_LOADING"), 14028 style: _objectSpread(_objectSpread({}, style), {}, { 14029 color: colour 14030 }) 14031 }, props), Object(preact_modulebabel_target_legacy["h"])("div", { 14032 className: Spinner_module_default.a.loading 14033 }, Object(preact_modulebabel_target_legacy["h"])("div", { 14034 className: Spinner_module_default.a.spinner, 14035 style: { 14036 color: colour 14037 } 14038 }, Object(preact_modulebabel_target_legacy["h"])("div", { 14039 className: Spinner_module_default.a.circle, 14040 style: { 14041 color: colour 14042 } 14043 }, Object(preact_modulebabel_target_legacy["h"])("div", { 14044 className: Spinner_module_default.a.circleinner, 14045 style: { 14046 color: colour 14047 } 14048 })), Object(preact_modulebabel_target_legacy["h"])("div", { 14049 className: Spinner_module_default.a.circle2, 14050 style: { 14051 color: colour 14052 } 14053 }, Object(preact_modulebabel_target_legacy["h"])("div", { 14054 className: Spinner_module_default.a.circleinner, 14055 style: { 14056 color: colour 14057 } 14058 }))))); 14059}; 14060/* harmony default export */ var Spinnerbabel_target_legacy = (Spinnerbabel_target_legacy_Spinner); 14061// CONCATENATED MODULE: ./src/components/Spinner/index.ts?babel-target=legacy 14062 14063 14064/***/ }), 14065/* 237 */ 14066/***/ (function(module, exports, __webpack_require__) { 14067 14068"use strict"; 14069 14070var charAt = __webpack_require__(219).charAt; 14071var InternalStateModule = __webpack_require__(58); 14072var defineIterator = __webpack_require__(287); 14073 14074var STRING_ITERATOR = 'String Iterator'; 14075var setInternalState = InternalStateModule.set; 14076var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); 14077 14078// `String.prototype[@@iterator]` method 14079// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator 14080defineIterator(String, 'String', function (iterated) { 14081 setInternalState(this, { 14082 type: STRING_ITERATOR, 14083 string: String(iterated), 14084 index: 0 14085 }); 14086// `%StringIteratorPrototype%.next` method 14087// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next 14088}, function next() { 14089 var state = getInternalState(this); 14090 var string = state.string; 14091 var index = state.index; 14092 var point; 14093 if (index >= string.length) return { value: undefined, done: true }; 14094 point = charAt(string, index); 14095 state.index += point.length; 14096 return { value: point, done: false }; 14097}); 14098 14099 14100/***/ }), 14101/* 238 */, 14102/* 239 */, 14103/* 240 */ 14104/***/ (function(module, exports, __webpack_require__) { 14105 14106"use strict";
14107// Copyright Joyent, Inc. and other Node contributors. 14108// 14109// Permission is hereby granted, free of charge, to any person obtaining a 14110// copy of this software and associated documentation files (the 14111// "Software"), to deal in the Software without restriction, including 14112// without limitation the rights to use, copy, modify, merge, publish, 14113// distribute, sublicense, and/or sell copies of the Software, and to permit 14114// persons to whom the Software is furnished to do so, subject to the 14115// following conditions: 14116// 14117// The above copyright notice and this permission notice shall be included 14118// in all copies or substantial portions of the Software. 14119// 14120// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 14121// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14122// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 14123// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 14124// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 14125// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 14126// USE OR OTHER DEALINGS IN THE SOFTWARE. 14127 14128// a duplex stream is just a stream that is both readable and writable. 14129// Since JS doesn't have multiple prototypal inheritance, this class 14130// prototypally inherits from Readable, and then parasitically from 14131// Writable. 14132 14133 14134 14135/*<replacement>*/ 14136 14137var pna = __webpack_require__(394); 14138/*</replacement>*/ 14139 14140/*<replacement>*/ 14141var objectKeys = Object.keys || function (obj) { 14142 var keys = []; 14143 for (var key in obj) { 14144 keys.push(key); 14145 }return keys; 14146}; 14147/*</replacement>*/ 14148 14149module.exports = Duplex; 14150 14151/*<replacement>*/ 14152var util = Object.create(__webpack_require__(314)); 14153util.inherits = __webpack_require__(200); 14154/*</replacement>*/ 14155 14156var Readable = __webpack_require__(732); 14157var Writable = __webpack_require__(471); 14158 14159util.inherits(Duplex, Readable); 14160 14161{
vendor: 3,191 bytes, lines 14162-14271
14162 // avoid scope creep, the keys array can then be collected 14163 var keys = objectKeys(Writable.prototype); 14164 for (var v = 0; v < keys.length; v++) { 14165 var method = keys[v]; 14166 if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; 14167 } 14168} 14169 14170function Duplex(options) { 14171 if (!(this instanceof Duplex)) return new Duplex(options); 14172 14173 Readable.call(this, options); 14174 Writable.call(this, options); 14175 14176 if (options && options.readable === false) this.readable = false; 14177 14178 if (options && options.writable === false) this.writable = false; 14179 14180 this.allowHalfOpen = true; 14181 if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; 14182 14183 this.once('end', onend); 14184} 14185 14186Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { 14187 // making it explicit this property is not enumerable 14188 // because otherwise some prototype manipulation in 14189 // userland will fail 14190 enumerable: false, 14191 get: function () { 14192 return this._writableState.highWaterMark; 14193 } 14194}); 14195 14196// the no-half-open enforcer 14197function onend() { 14198 // if we allow half-open state, or if the writable side ended, 14199 // then we're ok. 14200 if (this.allowHalfOpen || this._writableState.ended) return; 14201 14202 // no more data can be written. 14203 // But allow more writes to happen in this tick. 14204 pna.nextTick(onEndNT, this); 14205} 14206 14207function onEndNT(self) { 14208 self.end(); 14209} 14210 14211Object.defineProperty(Duplex.prototype, 'destroyed', { 14212 get: function () { 14213 if (this._readableState === undefined || this._writableState === undefined) { 14214 return false; 14215 } 14216 return this._readableState.destroyed && this._writableState.destroyed; 14217 }, 14218 set: function (value) { 14219 // we ignore the value if the stream 14220 // has not been initialized yet 14221 if (this._readableState === undefined || this._writableState === undefined) { 14222 return; 14223 } 14224 14225 // backward compatibility, the user is explicitly 14226 // managing destroyed 14227 this._readableState.destroyed = value; 14228 this._writableState.destroyed = value; 14229 } 14230}); 14231 14232Duplex.prototype._destroy = function (err, cb) { 14233 this.push(null); 14234 this.end(); 14235 14236 pna.nextTick(cb, err); 14237}; 14238 14239/***/ }), 14240/* 241 */ 14241/***/ (function(module, exports, __webpack_require__) { 14242 14243// extracted by mini-css-extract-plugin 14244 14245/***/ }), 14246/* 242 */ 14247/***/ (function(module, exports, __webpack_require__) { 14248 14249// extracted by mini-css-extract-plugin 14250module.exports = {"wrap":"ToggleSwitch-module__wrap--1CHpH","checked":"ToggleSwitch-module__checked--nQSUq"}; 14251 14252/***/ }), 14253/* 243 */ 14254/***/ (function(module, exports, __webpack_require__) { 14255 14256// extracted by mini-css-extract-plugin 14257module.exports = {"visuallyHidden":"PlayButton-module__visuallyHidden--kQnYV","button":"PlayButton-module__button--3behY","pulsate":"PlayButton-module__pulsate--2NsSE","heartbeat":"PlayButton-module__heartbeat--3v2HD"}; 14258 14259/***/ }), 14260/* 244 */ 14261/***/ (function(module, exports, __webpack_require__) { 14262 14263// extracted by mini-css-extract-plugin 14264module.exports = {"visuallyHidden":"StationLogo-module__visuallyHidden--opBj-","logo":"StationLogo-module__logo--2C3Cz","logoSmall":"StationLogo-module__logoSmall--hn-gQ"}; 14265 14266/***/ }), 14267/* 245 */, 14268/* 246 */ 14269/***/ (function(module, exports, __webpack_require__) { 14270 14271"use strict";
vendor: 5,554 bytes, lines 14272-14438
14272// Copyright Joyent, Inc. and other Node contributors. 14273// 14274// Permission is hereby granted, free of charge, to any person obtaining a 14275// copy of this software and associated documentation files (the 14276// "Software"), to deal in the Software without restriction, including 14277// without limitation the rights to use, copy, modify, merge, publish, 14278// distribute, sublicense, and/or sell copies of the Software, and to permit 14279// persons to whom the Software is furnished to do so, subject to the 14280// following conditions: 14281// 14282// The above copyright notice and this permission notice shall be included 14283// in all copies or substantial portions of the Software. 14284// 14285// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 14286// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14287// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 14288// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 14289// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 14290// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 14291// USE OR OTHER DEALINGS IN THE SOFTWARE. 14292 14293 14294 14295var punycode = __webpack_require__(472); 14296var util = __webpack_require__(919); 14297 14298exports.parse = urlParse; 14299exports.resolve = urlResolve; 14300exports.resolveObject = urlResolveObject; 14301exports.format = urlFormat; 14302 14303exports.Url = Url; 14304 14305function Url() { 14306 this.protocol = null; 14307 this.slashes = null; 14308 this.auth = null; 14309 this.host = null; 14310 this.port = null; 14311 this.hostname = null; 14312 this.hash = null; 14313 this.search = null; 14314 this.query = null; 14315 this.pathname = null; 14316 this.path = null; 14317 this.href = null; 14318} 14319 14320// Reference: RFC 3986, RFC 1808, RFC 2396 14321 14322// define these here so at least they only have to be 14323// compiled once on the first module load. 14324var protocolPattern = /^([a-z0-9.+-]+:)/i, 14325 portPattern = /:[0-9]*$/, 14326 14327 // Special case for a simple path URL 14328 simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, 14329 14330 // RFC 2396: characters reserved for delimiting URLs. 14331 // We actually just auto-escape these. 14332 delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], 14333 14334 // RFC 2396: characters not allowed for various reasons. 14335 unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), 14336 14337 // Allowed by RFCs, but cause of XSS attacks. Always escape these. 14338 autoEscape = ['\''].concat(unwise), 14339 // Characters that are never ever allowed in a hostname. 14340 // Note that any invalid chars are also handled, but these 14341 // are the ones that are *expected* to be seen, so we fast-path 14342 // them. 14343 nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), 14344 hostEndingChars = ['/', '?', '#'], 14345 hostnameMaxLen = 255, 14346 hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, 14347 hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, 14348 // protocols that can allow "unsafe" and "unwise" chars. 14349 unsafeProtocol = { 14350 'javascript': true, 14351 'javascript:': true 14352 }, 14353 // protocols that never have a hostname. 14354 hostlessProtocol = { 14355 'javascript': true, 14356 'javascript:': true 14357 }, 14358 // protocols that always contain a // bit. 14359 slashedProtocol = { 14360 'http': true, 14361 'https': true, 14362 'ftp': true, 14363 'gopher': true, 14364 'file': true, 14365 'http:': true, 14366 'https:': true, 14367 'ftp:': true, 14368 'gopher:': true, 14369 'file:': true 14370 }, 14371 querystring = __webpack_require__(920); 14372 14373function urlParse(url, parseQueryString, slashesDenoteHost) { 14374 if (url && util.isObject(url) && url instanceof Url) return url; 14375 14376 var u = new Url; 14377 u.parse(url, parseQueryString, slashesDenoteHost); 14378 return u; 14379} 14380 14381Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { 14382 if (!util.isString(url)) { 14383 throw new TypeError("Parameter 'url' must be a string, not " + typeof url); 14384 } 14385 14386 // Copy chrome, IE, opera backslash-handling behavior. 14387 // Back slashes before the query string get converted to forward slashes 14388 // See: https://code.google.com/p/chromium/issues/detail?id=25916 14389 var queryIndex = url.indexOf('?'), 14390 splitter = 14391 (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#', 14392 uSplit = url.split(splitter), 14393 slashRegex = /\\/g; 14394 uSplit[0] = uSplit[0].replace(slashRegex, '/'); 14395 url = uSplit.join(splitter); 14396 14397 var rest = url; 14398 14399 // trim before proceeding. 14400 // This is to support parse stuff like " http://foo.com \n" 14401 rest = rest.trim(); 14402 14403 if (!slashesDenoteHost && url.split('#').length === 1) { 14404 // Try fast path regexp 14405 var simplePath = simplePathPattern.exec(rest); 14406 if (simplePath) { 14407 this.path = rest; 14408 this.href = rest; 14409 this.pathname = simplePath[1]; 14410 if (simplePath[2]) { 14411 this.search = simplePath[2]; 14412 if (parseQueryString) { 14413 this.query = querystring.parse(this.search.substr(1)); 14414 } else { 14415 this.query = this.search.substr(1); 14416 } 14417 } else if (parseQueryString) { 14418 this.search = ''; 14419 this.query = {}; 14420 } 14421 return this; 14422 } 14423 } 14424 14425 var proto = protocolPattern.exec(rest); 14426 if (proto) { 14427 proto = proto[0]; 14428 var lowerProto = proto.toLowerCase(); 14429 this.protocol = lowerProto; 14430 rest = rest.substr(proto.length); 14431 } 14432 14433 // figure out if it's got a host 14434 // user@server is *always* interpreted as a hostname, and url 14435 // resolution will treat //foo/bar as host=foo,path=bar because that's 14436 // how the browser resolves relative URLs. 14437 if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { 14438 var slashes = rest.substr(0, 2) === '//';
vendor: 10,589 bytes, lines 14439-14786
14439 if (slashes && !(proto && hostlessProtocol[proto])) { 14440 rest = rest.substr(2); 14441 this.slashes = true; 14442 } 14443 } 14444 14445 if (!hostlessProtocol[proto] && 14446 (slashes || (proto && !slashedProtocol[proto]))) { 14447 14448 // there's a hostname. 14449 // the first instance of /, ?, ;, or # ends the host. 14450 // 14451 // If there is an @ in the hostname, then non-host chars *are* allowed 14452 // to the left of the last @ sign, unless some host-ending character 14453 // comes *before* the @-sign. 14454 // URLs are obnoxious. 14455 // 14456 // ex: 14457 // http://a@b@c/ => user:a@b host:c 14458 // http://a@b?@c => user:a host:c path:/?@c 14459 14460 // v0.12 TODO(isaacs): This is not quite how Chrome does things. 14461 // Review our test case against browsers more comprehensively. 14462 14463 // find the first instance of any hostEndingChars 14464 var hostEnd = -1; 14465 for (var i = 0; i < hostEndingChars.length; i++) { 14466 var hec = rest.indexOf(hostEndingChars[i]); 14467 if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) 14468 hostEnd = hec; 14469 } 14470 14471 // at this point, either we have an explicit point where the 14472 // auth portion cannot go past, or the last @ char is the decider. 14473 var auth, atSign; 14474 if (hostEnd === -1) { 14475 // atSign can be anywhere. 14476 atSign = rest.lastIndexOf('@'); 14477 } else { 14478 // atSign must be in auth portion. 14479 // http://a@b/c@d => host:b auth:a path:/c@d 14480 atSign = rest.lastIndexOf('@', hostEnd); 14481 } 14482 14483 // Now we have a portion which is definitely the auth. 14484 // Pull that off. 14485 if (atSign !== -1) { 14486 auth = rest.slice(0, atSign); 14487 rest = rest.slice(atSign + 1); 14488 this.auth = decodeURIComponent(auth); 14489 } 14490 14491 // the host is the remaining to the left of the first non-host char 14492 hostEnd = -1; 14493 for (var i = 0; i < nonHostChars.length; i++) { 14494 var hec = rest.indexOf(nonHostChars[i]); 14495 if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) 14496 hostEnd = hec; 14497 } 14498 // if we still have not hit it, then the entire thing is a host. 14499 if (hostEnd === -1) 14500 hostEnd = rest.length; 14501 14502 this.host = rest.slice(0, hostEnd); 14503 rest = rest.slice(hostEnd); 14504 14505 // pull out port. 14506 this.parseHost(); 14507 14508 // we've indicated that there is a hostname, 14509 // so even if it's empty, it has to be present. 14510 this.hostname = this.hostname || ''; 14511 14512 // if hostname begins with [ and ends with ] 14513 // assume that it's an IPv6 address. 14514 var ipv6Hostname = this.hostname[0] === '[' && 14515 this.hostname[this.hostname.length - 1] === ']'; 14516 14517 // validate a little. 14518 if (!ipv6Hostname) { 14519 var hostparts = this.hostname.split(/\./); 14520 for (var i = 0, l = hostparts.length; i < l; i++) { 14521 var part = hostparts[i]; 14522 if (!part) continue; 14523 if (!part.match(hostnamePartPattern)) { 14524 var newpart = ''; 14525 for (var j = 0, k = part.length; j < k; j++) { 14526 if (part.charCodeAt(j) > 127) { 14527 // we replace non-ASCII char with a temporary placeholder 14528 // we need this to make sure size of hostname is not 14529 // broken by replacing non-ASCII by nothing 14530 newpart += 'x'; 14531 } else { 14532 newpart += part[j]; 14533 } 14534 } 14535 // we test again with ASCII char only 14536 if (!newpart.match(hostnamePartPattern)) { 14537 var validParts = hostparts.slice(0, i); 14538 var notHost = hostparts.slice(i + 1); 14539 var bit = part.match(hostnamePartStart); 14540 if (bit) { 14541 validParts.push(bit[1]); 14542 notHost.unshift(bit[2]); 14543 } 14544 if (notHost.length) { 14545 rest = '/' + notHost.join('.') + rest; 14546 } 14547 this.hostname = validParts.join('.'); 14548 break; 14549 } 14550 } 14551 } 14552 } 14553 14554 if (this.hostname.length > hostnameMaxLen) { 14555 this.hostname = ''; 14556 } else { 14557 // hostnames are always lower case. 14558 this.hostname = this.hostname.toLowerCase(); 14559 } 14560 14561 if (!ipv6Hostname) { 14562 // IDNA Support: Returns a punycoded representation of "domain". 14563 // It only converts parts of the domain name that 14564 // have non-ASCII characters, i.e. it doesn't matter if 14565 // you call it with a domain that already is ASCII-only. 14566 this.hostname = punycode.toASCII(this.hostname); 14567 } 14568 14569 var p = this.port ? ':' + this.port : ''; 14570 var h = this.hostname || ''; 14571 this.host = h + p; 14572 this.href += this.host; 14573 14574 // strip [ and ] from the hostname 14575 // the host field still retains them, though 14576 if (ipv6Hostname) { 14577 this.hostname = this.hostname.substr(1, this.hostname.length - 2); 14578 if (rest[0] !== '/') { 14579 rest = '/' + rest; 14580 } 14581 } 14582 } 14583 14584 // now rest is set to the post-host stuff. 14585 // chop off any delim chars. 14586 if (!unsafeProtocol[lowerProto]) { 14587 14588 // First, make 100% sure that any "autoEscape" chars get 14589 // escaped, even if encodeURIComponent doesn't think they 14590 // need to be. 14591 for (var i = 0, l = autoEscape.length; i < l; i++) { 14592 var ae = autoEscape[i]; 14593 if (rest.indexOf(ae) === -1) 14594 continue; 14595 var esc = encodeURIComponent(ae); 14596 if (esc === ae) { 14597 esc = escape(ae); 14598 } 14599 rest = rest.split(ae).join(esc); 14600 } 14601 } 14602 14603 14604 // chop off from the tail first. 14605 var hash = rest.indexOf('#'); 14606 if (hash !== -1) { 14607 // got a fragment string. 14608 this.hash = rest.substr(hash); 14609 rest = rest.slice(0, hash); 14610 } 14611 var qm = rest.indexOf('?'); 14612 if (qm !== -1) { 14613 this.search = rest.substr(qm); 14614 this.query = rest.substr(qm + 1); 14615 if (parseQueryString) { 14616 this.query = querystring.parse(this.query); 14617 } 14618 rest = rest.slice(0, qm); 14619 } else if (parseQueryString) { 14620 // no query string, but parseQueryString still requested 14621 this.search = ''; 14622 this.query = {}; 14623 } 14624 if (rest) this.pathname = rest; 14625 if (slashedProtocol[lowerProto] && 14626 this.hostname && !this.pathname) { 14627 this.pathname = '/'; 14628 } 14629 14630 //to support http.request 14631 if (this.pathname || this.search) { 14632 var p = this.pathname || ''; 14633 var s = this.search || ''; 14634 this.path = p + s; 14635 } 14636 14637 // finally, reconstruct the href based on what has been validated. 14638 this.href = this.format(); 14639 return this; 14640}; 14641 14642// format a parsed object into a url string 14643function urlFormat(obj) { 14644 // ensure it's an object, and not a string url. 14645 // If it's an obj, this is a no-op. 14646 // this way, you can call url_format() on strings 14647 // to clean up potentially wonky urls. 14648 if (util.isString(obj)) obj = urlParse(obj); 14649 if (!(obj instanceof Url)) return Url.prototype.format.call(obj); 14650 return obj.format(); 14651} 14652 14653Url.prototype.format = function() { 14654 var auth = this.auth || ''; 14655 if (auth) { 14656 auth = encodeURIComponent(auth); 14657 auth = auth.replace(/%3A/i, ':'); 14658 auth += '@'; 14659 } 14660 14661 var protocol = this.protocol || '', 14662 pathname = this.pathname || '', 14663 hash = this.hash || '', 14664 host = false, 14665 query = ''; 14666 14667 if (this.host) { 14668 host = auth + this.host; 14669 } else if (this.hostname) { 14670 host = auth + (this.hostname.indexOf(':') === -1 ? 14671 this.hostname : 14672 '[' + this.hostname + ']'); 14673 if (this.port) { 14674 host += ':' + this.port; 14675 } 14676 } 14677 14678 if (this.query && 14679 util.isObject(this.query) && 14680 Object.keys(this.query).length) { 14681 query = querystring.stringify(this.query); 14682 } 14683 14684 var search = this.search || (query && ('?' + query)) || ''; 14685 14686 if (protocol && protocol.substr(-1) !== ':') protocol += ':'; 14687 14688 // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. 14689 // unless they had them to begin with. 14690 if (this.slashes || 14691 (!protocol || slashedProtocol[protocol]) && host !== false) { 14692 host = '//' + (host || ''); 14693 if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; 14694 } else if (!host) { 14695 host = ''; 14696 } 14697 14698 if (hash && hash.charAt(0) !== '#') hash = '#' + hash; 14699 if (search && search.charAt(0) !== '?') search = '?' + search; 14700 14701 pathname = pathname.replace(/[?#]/g, function(match) { 14702 return encodeURIComponent(match); 14703 }); 14704 search = search.replace('#', '%23'); 14705 14706 return protocol + host + pathname + search + hash; 14707}; 14708 14709function urlResolve(source, relative) { 14710 return urlParse(source, false, true).resolve(relative); 14711} 14712 14713Url.prototype.resolve = function(relative) { 14714 return this.resolveObject(urlParse(relative, false, true)).format(); 14715}; 14716 14717function urlResolveObject(source, relative) { 14718 if (!source) return relative; 14719 return urlParse(source, false, true).resolveObject(relative); 14720} 14721 14722Url.prototype.resolveObject = function(relative) { 14723 if (util.isString(relative)) { 14724 var rel = new Url(); 14725 rel.parse(relative, false, true); 14726 relative = rel; 14727 } 14728 14729 var result = new Url(); 14730 var tkeys = Object.keys(this); 14731 for (var tk = 0; tk < tkeys.length; tk++) { 14732 var tkey = tkeys[tk]; 14733 result[tkey] = this[tkey]; 14734 } 14735 14736 // hash is always overridden, no matter what. 14737 // even href="" will remove it. 14738 result.hash = relative.hash; 14739 14740 // if the relative url is empty, then there's nothing left to do here. 14741 if (relative.href === '') { 14742 result.href = result.format(); 14743 return result; 14744 } 14745 14746 // hrefs like //foo/bar always cut to the protocol. 14747 if (relative.slashes && !relative.protocol) { 14748 // take everything except the protocol from relative 14749 var rkeys = Object.keys(relative); 14750 for (var rk = 0; rk < rkeys.length; rk++) { 14751 var rkey = rkeys[rk]; 14752 if (rkey !== 'protocol') 14753 result[rkey] = relative[rkey]; 14754 } 14755 14756 //urlParse appends trailing / to urls like http://www.example.com 14757 if (slashedProtocol[result.protocol] && 14758 result.hostname && !result.pathname) { 14759 result.path = result.pathname = '/'; 14760 } 14761 14762 result.href = result.format(); 14763 return result; 14764 } 14765 14766 if (relative.protocol && relative.protocol !== result.protocol) { 14767 // if it's a known url protocol, then changing 14768 // the protocol does weird things 14769 // first, if it's not file:, then we MUST have a host, 14770 // and if there was a path 14771 // to begin with, then we MUST have a path. 14772 // if it is file:, then the host is dropped, 14773 // because that's known to be hostless. 14774 // anything else is assumed to be absolute. 14775 if (!slashedProtocol[relative.protocol]) { 14776 var keys = Object.keys(relative); 14777 for (var v = 0; v < keys.length; v++) { 14778 var k = keys[v]; 14779 result[k] = relative[k]; 14780 } 14781 result.href = result.format(); 14782 return result; 14783 } 14784 14785 result.protocol = relative.protocol; 14786 if (!relative.host && !hostlessProtocol[relative.protocol]) {
14787 var relPath = (relative.pathname || '').split('/'); 14788 while (relPath.length && !(relative.host = relPath.shift())); 14789 if (!relative.host) relative.host = ''; 14790 if (!relative.hostname) relative.hostname = ''; 14791 if (relPath[0] !== '') relPath.unshift(''); 14792 if (relPath.length < 2) relPath.unshift(''); 14793 result.pathname = relPath.join('/'); 14794 } else { 14795 result.pathname = relative.pathname; 14796 } 14797 result.search = relative.search; 14798 result.query = relative.query; 14799 result.host = relative.host || ''; 14800 result.auth = relative.auth; 14801 result.hostname = relative.hostname || relative.host; 14802 result.port = relative.port; 14803 // to support http.request 14804 if (result.pathname || result.search) { 14805 var p = result.pathname || ''; 14806 var s = result.search || ''; 14807 result.path = p + s; 14808 } 14809 result.slashes = result.slashes || relative.slashes; 14810 result.href = result.format(); 14811 return result; 14812 } 14813 14814 var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), 14815 isRelAbs = ( 14816 relative.host || 14817 relative.pathname && relative.pathname.charAt(0) === '/' 14818 ), 14819 mustEndAbs = (isRelAbs || isSourceAbs || 14820 (result.host && relative.pathname)), 14821 removeAllDots = mustEndAbs, 14822 srcPath = result.pathname && result.pathname.split('/') || [], 14823 relPath = relative.pathname && relative.pathname.split('/') || [], 14824 psychotic = result.protocol && !slashedProtocol[result.protocol]; 14825 14826 // if the url is a non-slashed url, then relative 14827 // links like ../.. should be able 14828 // to crawl up to the hostname, as well. This is strange. 14829 // result.protocol has already been set by now. 14830 // Later on, put the first path part into the host field. 14831 if (psychotic) { 14832 result.hostname = ''; 14833 result.port = null; 14834 if (result.host) { 14835 if (srcPath[0] === '') srcPath[0] = result.host; 14836 else srcPath.unshift(result.host); 14837 } 14838 result.host = ''; 14839 if (relative.protocol) { 14840 relative.hostname = null; 14841 relative.port = null; 14842 if (relative.host) { 14843 if (relPath[0] === '') relPath[0] = relative.host; 14844 else relPath.unshift(relative.host); 14845 } 14846 relative.host = null; 14847 } 14848 mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); 14849 } 14850 14851 if (isRelAbs) { 14852 // it's absolute. 14853 result.host = (relative.host || relative.host === '') ? 14854 relative.host : result.host; 14855 result.hostname = (relative.hostname || relative.hostname === '') ? 14856 relative.hostname : result.hostname; 14857 result.search = relative.search; 14858 result.query = relative.query; 14859 srcPath = relPath; 14860 // fall through to the dot-handling below.
vendor: 5,897 bytes, lines 14861-15034
14861 } else if (relPath.length) { 14862 // it's relative 14863 // throw away the existing file, and take the new path instead. 14864 if (!srcPath) srcPath = []; 14865 srcPath.pop(); 14866 srcPath = srcPath.concat(relPath); 14867 result.search = relative.search; 14868 result.query = relative.query; 14869 } else if (!util.isNullOrUndefined(relative.search)) { 14870 // just pull out the search. 14871 // like href='?foo'. 14872 // Put this after the other two cases because it simplifies the booleans 14873 if (psychotic) { 14874 result.hostname = result.host = srcPath.shift(); 14875 //occationaly the auth can get stuck only in host 14876 //this especially happens in cases like 14877 //url.resolveObject('mailto:local1@domain1', 'local2@domain2') 14878 var authInHost = result.host && result.host.indexOf('@') > 0 ? 14879 result.host.split('@') : false; 14880 if (authInHost) { 14881 result.auth = authInHost.shift(); 14882 result.host = result.hostname = authInHost.shift(); 14883 } 14884 } 14885 result.search = relative.search; 14886 result.query = relative.query; 14887 //to support http.request 14888 if (!util.isNull(result.pathname) || !util.isNull(result.search)) { 14889 result.path = (result.pathname ? result.pathname : '') + 14890 (result.search ? result.search : ''); 14891 } 14892 result.href = result.format(); 14893 return result; 14894 } 14895 14896 if (!srcPath.length) { 14897 // no path at all. easy. 14898 // we've already handled the other stuff above. 14899 result.pathname = null; 14900 //to support http.request 14901 if (result.search) { 14902 result.path = '/' + result.search; 14903 } else { 14904 result.path = null; 14905 } 14906 result.href = result.format(); 14907 return result; 14908 } 14909 14910 // if a url ENDs in . or .., then it must get a trailing slash. 14911 // however, if it ends in anything else non-slashy, 14912 // then it must NOT get a trailing slash. 14913 var last = srcPath.slice(-1)[0]; 14914 var hasTrailingSlash = ( 14915 (result.host || relative.host || srcPath.length > 1) && 14916 (last === '.' || last === '..') || last === ''); 14917 14918 // strip single dots, resolve double dots to parent dir 14919 // if the path tries to go above the root, `up` ends up > 0 14920 var up = 0; 14921 for (var i = srcPath.length; i >= 0; i--) { 14922 last = srcPath[i]; 14923 if (last === '.') { 14924 srcPath.splice(i, 1); 14925 } else if (last === '..') { 14926 srcPath.splice(i, 1); 14927 up++; 14928 } else if (up) { 14929 srcPath.splice(i, 1); 14930 up--; 14931 } 14932 } 14933 14934 // if the path is allowed to go above the root, restore leading ..s 14935 if (!mustEndAbs && !removeAllDots) { 14936 for (; up--; up) { 14937 srcPath.unshift('..'); 14938 } 14939 } 14940 14941 if (mustEndAbs && srcPath[0] !== '' && 14942 (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { 14943 srcPath.unshift(''); 14944 } 14945 14946 if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { 14947 srcPath.push(''); 14948 } 14949 14950 var isAbsolute = srcPath[0] === '' || 14951 (srcPath[0] && srcPath[0].charAt(0) === '/'); 14952 14953 // put the host back 14954 if (psychotic) { 14955 result.hostname = result.host = isAbsolute ? '' : 14956 srcPath.length ? srcPath.shift() : ''; 14957 //occationaly the auth can get stuck only in host 14958 //this especially happens in cases like 14959 //url.resolveObject('mailto:local1@domain1', 'local2@domain2') 14960 var authInHost = result.host && result.host.indexOf('@') > 0 ? 14961 result.host.split('@') : false; 14962 if (authInHost) { 14963 result.auth = authInHost.shift(); 14964 result.host = result.hostname = authInHost.shift(); 14965 } 14966 } 14967 14968 mustEndAbs = mustEndAbs || (result.host && srcPath.length); 14969 14970 if (mustEndAbs && !isAbsolute) { 14971 srcPath.unshift(''); 14972 } 14973 14974 if (!srcPath.length) { 14975 result.pathname = null; 14976 result.path = null; 14977 } else { 14978 result.pathname = srcPath.join('/'); 14979 } 14980 14981 //to support request.http 14982 if (!util.isNull(result.pathname) || !util.isNull(result.search)) { 14983 result.path = (result.pathname ? result.pathname : '') + 14984 (result.search ? result.search : ''); 14985 } 14986 result.auth = relative.auth || result.auth; 14987 result.slashes = result.slashes || relative.slashes; 14988 result.href = result.format(); 14989 return result; 14990}; 14991 14992Url.prototype.parseHost = function() { 14993 var host = this.host; 14994 var port = portPattern.exec(host); 14995 if (port) { 14996 port = port[0]; 14997 if (port !== ':') { 14998 this.port = port.substr(1); 14999 } 15000 host = host.substr(0, host.length - port.length); 15001 } 15002 if (host) this.hostname = host; 15003}; 15004 15005 15006/***/ }), 15007/* 247 */ 15008/***/ (function(module, exports, __webpack_require__) { 15009 15010// extracted by mini-css-extract-plugin 15011module.exports = {"visuallyHidden":"RecommendationsList-module__visuallyHidden--3NoAz","title":"RecommendationsList-module__title--2fKrL","empty":"RecommendationsList-module__empty--pEHmP","sub":"RecommendationsList-module__sub--2P2qH","wrap":"RecommendationsList-module__wrap--2Nyad","head":"RecommendationsList-module__head--3SeE2"}; 15012 15013/***/ }), 15014/* 248 */ 15015/***/ (function(module, exports, __webpack_require__) { 15016 15017// extracted by mini-css-extract-plugin 15018module.exports = {"visuallyHidden":"ScheduleWidget-module__visuallyHidden--ETtd7","header":"ScheduleWidget-module__header--VCi5i","tabs":"ScheduleWidget-module__tabs--AB7tH","wrap":"ScheduleWidget-module__wrap--53KLn","stacked":"ScheduleWidget-module__stacked--2m0aC","list":"ScheduleWidget-module__list--36bzv","placeholder":"ScheduleWidget-module__placeholder--E963Z","spinner":"ScheduleWidget-module__spinner--WPvHF","gradient":"ScheduleWidget-module__gradient--3ih4A"}; 15019 15020/***/ }), 15021/* 249 */, 15022/* 250 */, 15023/* 251 */, 15024/* 252 */ 15025/***/ (function(module, exports, __webpack_require__) { 15026 15027"use strict"; 15028 15029var fixRegExpWellKnownSymbolLogic = __webpack_require__(220); 15030var isRegExp = __webpack_require__(179); 15031var anObject = __webpack_require__(20); 15032var requireObjectCoercible = __webpack_require__(52); 15033var speciesConstructor = __webpack_require__(103); 15034var advanceStringIndex = __webpack_require__(223);
vendor: 5,819 bytes, lines 15035-15186
15035var toLength = __webpack_require__(28); 15036var callRegExpExec = __webpack_require__(224); 15037var regexpExec = __webpack_require__(221); 15038var fails = __webpack_require__(11); 15039 15040var arrayPush = [].push; 15041var min = Math.min; 15042var MAX_UINT32 = 0xFFFFFFFF; 15043 15044// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError 15045var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); 15046 15047// @@split logic 15048fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { 15049 var internalSplit; 15050 if ( 15051 'abbc'.split(/(b)*/)[1] == 'c' || 15052 'test'.split(/(?:)/, -1).length != 4 || 15053 'ab'.split(/(?:ab)*/).length != 2 || 15054 '.'.split(/(.?)(.?)/).length != 4 || 15055 '.'.split(/()()/).length > 1 || 15056 ''.split(/.?/).length 15057 ) { 15058 // based on es5-shim implementation, need to rework it 15059 internalSplit = function (separator, limit) { 15060 var string = String(requireObjectCoercible(this)); 15061 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 15062 if (lim === 0) return []; 15063 if (separator === undefined) return [string]; 15064 // If `separator` is not a regex, use native split 15065 if (!isRegExp(separator)) { 15066 return nativeSplit.call(string, separator, lim); 15067 } 15068 var output = []; 15069 var flags = (separator.ignoreCase ? 'i' : '') + 15070 (separator.multiline ? 'm' : '') + 15071 (separator.unicode ? 'u' : '') + 15072 (separator.sticky ? 'y' : ''); 15073 var lastLastIndex = 0; 15074 // Make `global` and avoid `lastIndex` issues by working with a copy 15075 var separatorCopy = new RegExp(separator.source, flags + 'g'); 15076 var match, lastIndex, lastLength; 15077 while (match = regexpExec.call(separatorCopy, string)) { 15078 lastIndex = separatorCopy.lastIndex; 15079 if (lastIndex > lastLastIndex) { 15080 output.push(string.slice(lastLastIndex, match.index)); 15081 if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); 15082 lastLength = match[0].length; 15083 lastLastIndex = lastIndex; 15084 if (output.length >= lim) break; 15085 } 15086 if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop 15087 } 15088 if (lastLastIndex === string.length) { 15089 if (lastLength || !separatorCopy.test('')) output.push(''); 15090 } else output.push(string.slice(lastLastIndex)); 15091 return output.length > lim ? output.slice(0, lim) : output; 15092 }; 15093 // Chakra, V8 15094 } else if ('0'.split(undefined, 0).length) { 15095 internalSplit = function (separator, limit) { 15096 return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); 15097 }; 15098 } else internalSplit = nativeSplit; 15099 15100 return [ 15101 // `String.prototype.split` method 15102 // https://tc39.github.io/ecma262/#sec-string.prototype.split 15103 function split(separator, limit) { 15104 var O = requireObjectCoercible(this); 15105 var splitter = separator == undefined ? undefined : separator[SPLIT]; 15106 return splitter !== undefined 15107 ? splitter.call(separator, O, limit) 15108 : internalSplit.call(String(O), separator, limit); 15109 }, 15110 // `RegExp.prototype[@@split]` method 15111 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split 15112 // 15113 // NOTE: This cannot be properly polyfilled in engines that don't support 15114 // the 'y' flag. 15115 function (regexp, limit) { 15116 var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); 15117 if (res.done) return res.value; 15118 15119 var rx = anObject(regexp); 15120 var S = String(this); 15121 var C = speciesConstructor(rx, RegExp); 15122 15123 var unicodeMatching = rx.unicode; 15124 var flags = (rx.ignoreCase ? 'i' : '') + 15125 (rx.multiline ? 'm' : '') + 15126 (rx.unicode ? 'u' : '') + 15127 (SUPPORTS_Y ? 'y' : 'g'); 15128 15129 // ^(? + rx + ) is needed, in combination with some S slicing, to 15130 // simulate the 'y' flag. 15131 var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); 15132 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 15133 if (lim === 0) return []; 15134 if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; 15135 var p = 0; 15136 var q = 0; 15137 var A = []; 15138 while (q < S.length) { 15139 splitter.lastIndex = SUPPORTS_Y ? q : 0; 15140 var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); 15141 var e; 15142 if ( 15143 z === null || 15144 (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p 15145 ) { 15146 q = advanceStringIndex(S, q, unicodeMatching); 15147 } else { 15148 A.push(S.slice(p, q)); 15149 if (A.length === lim) return A; 15150 for (var i = 1; i <= z.length - 1; i++) { 15151 A.push(z[i]); 15152 if (A.length === lim) return A; 15153 } 15154 q = p = e; 15155 } 15156 } 15157 A.push(S.slice(p)); 15158 return A; 15159 } 15160 ]; 15161}, !SUPPORTS_Y); 15162 15163 15164/***/ }), 15165/* 253 */, 15166/* 254 */ 15167/***/ (function(module, exports, __webpack_require__) { 15168 15169"use strict"; 15170 15171var fixRegExpWellKnownSymbolLogic = __webpack_require__(220); 15172var anObject = __webpack_require__(20); 15173var requireObjectCoercible = __webpack_require__(52); 15174var sameValue = __webpack_require__(375); 15175var regExpExec = __webpack_require__(224); 15176 15177// @@search logic 15178fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { 15179 return [ 15180 // `String.prototype.search` method 15181 // https://tc39.github.io/ecma262/#sec-string.prototype.search 15182 function search(regexp) { 15183 var O = requireObjectCoercible(this); 15184 var searcher = regexp == undefined ? undefined : regexp[SEARCH]; 15185 return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); 15186 },
15187 // `RegExp.prototype[@@search]` method 15188 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search 15189 function (regexp) { 15190 var res = maybeCallNative(nativeSearch, regexp, this); 15191 if (res.done) return res.value; 15192 15193 var rx = anObject(regexp); 15194 var S = String(this); 15195 15196 var previousLastIndex = rx.lastIndex; 15197 if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; 15198 var result = regExpExec(rx, S); 15199 if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; 15200 return result === null ? -1 : result.index; 15201 } 15202 ]; 15203}); 15204 15205 15206/***/ }), 15207/* 255 */, 15208/* 256 */, 15209/* 257 */ 15210/***/ (function(module, exports, __webpack_require__) { 15211 15212var global = __webpack_require__(16); 15213var DOMIterables = __webpack_require__(391); 15214var ArrayIteratorMethods = __webpack_require__(138); 15215var createNonEnumerableProperty = __webpack_require__(53); 15216var wellKnownSymbol = __webpack_require__(23); 15217 15218var ITERATOR = wellKnownSymbol('iterator'); 15219var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 15220var ArrayValues = ArrayIteratorMethods.values; 15221 15222for (var COLLECTION_NAME in DOMIterables) { 15223 var Collection = global[COLLECTION_NAME]; 15224 var CollectionPrototype = Collection && Collection.prototype; 15225 if (CollectionPrototype) { 15226 // some Chrome versions have non-configurable methods on DOMTokenList 15227 if (CollectionPrototype[ITERATOR] !== ArrayValues) try { 15228 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); 15229 } catch (error) { 15230 CollectionPrototype[ITERATOR] = ArrayValues; 15231 } 15232 if (!CollectionPrototype[TO_STRING_TAG]) { 15233 createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); 15234 } 15235 if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { 15236 // some Chrome versions have non-configurable methods on DOMTokenList 15237 if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { 15238 createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); 15239 } catch (error) { 15240 CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; 15241 } 15242 } 15243 } 15244} 15245 15246 15247/***/ }), 15248/* 258 */, 15249/* 259 */ 15250/***/ (function(module, exports, __webpack_require__) { 15251 15252// extracted by mini-css-extract-plugin 15253module.exports = {"visuallyHidden":"ProgrammeCard-module__visuallyHidden--3JEKm","title":"ProgrammeCard-module__title--2KTby","live":"ProgrammeCard-module__live--2SKgL","next":"ProgrammeCard-module__next--180hu","description":"ProgrammeCard-module__description--3K3DJ","time":"ProgrammeCard-module__time--N4mXm","imgbox":"ProgrammeCard-module__imgbox--1cmd9","wrap":"ProgrammeCard-module__wrap--3U3UX","past":"ProgrammeCard-module__past--_YuH1","info":"ProgrammeCard-module__info--3PpCb"}; 15254 15255/***/ }), 15256/* 260 */ 15257/***/ (function(module, exports, __webpack_require__) { 15258 15259// extracted by mini-css-extract-plugin 15260module.exports = {"visuallyHidden":"OnDemandListItem-module__visuallyHidden--3a3ry","title":"OnDemandListItem-module__title--IHMgN","date":"OnDemandListItem-module__date--3cOs0","episode":"OnDemandListItem-module__episode--3wljR","wrap":"OnDemandListItem-module__wrap--1exbD","body":"OnDemandListItem-module__body--1gyLj","buttonarea":"OnDemandListItem-module__buttonarea--2jl3k","play":"OnDemandListItem-module__play--b0V-m","hover":"OnDemandListItem-module__hover--SpFEd","nohover":"OnDemandListItem-module__nohover--2uM9A"}; 15261 15262/***/ }), 15263/* 261 */, 15264/* 262 */, 15265/* 263 */, 15266/* 264 */, 15267/* 265 */ 15268/***/ (function(module, exports, __webpack_require__) { 15269 15270"use strict"; 15271 15272var $ = __webpack_require__(2); 15273var $indexOf = __webpack_require__(168).indexOf; 15274var arrayMethodIsStrict = __webpack_require__(102); 15275var arrayMethodUsesToLength = __webpack_require__(63); 15276 15277var nativeIndexOf = [].indexOf; 15278 15279var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; 15280var STRICT_METHOD = arrayMethodIsStrict('indexOf'); 15281var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 15282 15283// `Array.prototype.indexOf` method 15284// https://tc39.github.io/ecma262/#sec-array.prototype.indexof 15285$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, { 15286 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 15287 return NEGATIVE_ZERO 15288 // convert -0 to +0 15289 ? nativeIndexOf.apply(this, arguments) || 0 15290 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); 15291 } 15292}); 15293 15294 15295/***/ }), 15296/* 266 */ 15297/***/ (function(module, exports, __webpack_require__) { 15298 15299"use strict"; 15300 15301var $ = __webpack_require__(2); 15302var getOwnPropertyDescriptor = __webpack_require__(51).f;
15303var toLength = __webpack_require__(28); 15304var notARegExp = __webpack_require__(289); 15305var requireObjectCoercible = __webpack_require__(52); 15306var correctIsRegExpLogic = __webpack_require__(290); 15307var IS_PURE = __webpack_require__(72); 15308 15309var nativeEndsWith = ''.endsWith; 15310var min = Math.min; 15311 15312var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); 15313// https://github.com/zloirock/core-js/pull/702 15314var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { 15315 var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); 15316 return descriptor && !descriptor.writable; 15317}(); 15318 15319// `String.prototype.endsWith` method 15320// https://tc39.github.io/ecma262/#sec-string.prototype.endswith 15321$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { 15322 endsWith: function endsWith(searchString /* , endPosition = @length */) { 15323 var that = String(requireObjectCoercible(this)); 15324 notARegExp(searchString); 15325 var endPosition = arguments.length > 1 ? arguments[1] : undefined; 15326 var len = toLength(that.length); 15327 var end = endPosition === undefined ? len : min(toLength(endPosition), len); 15328 var search = String(searchString); 15329 return nativeEndsWith 15330 ? nativeEndsWith.call(that, search, end) 15331 : that.slice(end - search.length, end) === search; 15332 } 15333}); 15334 15335 15336/***/ }), 15337/* 267 */, 15338/* 268 */ 15339/***/ (function(module, __webpack_exports__, __webpack_require__) { 15340 15341"use strict"; 15342/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AnalyticsContext; }); 15343/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); 15344 15345var AnalyticsContext = Object(preact__WEBPACK_IMPORTED_MODULE_0__["createContext"])({ 15346 notifyTrackingObservers: function notifyTrackingObservers() {}, 15347 setAnalyticsRpId: function setAnalyticsRpId() {}, 15348 updateAlPermissions: function updateAlPermissions() {} 15349}); 15350 15351/***/ }), 15352/* 269 */ 15353/***/ (function(module, exports, __webpack_require__) { 15354 15355"use strict"; 15356 15357var fixRegExpWellKnownSymbolLogic = __webpack_require__(220); 15358var anObject = __webpack_require__(20); 15359var toObject = __webpack_require__(33); 15360var toLength = __webpack_require__(28); 15361var toInteger = __webpack_require__(73); 15362var requireObjectCoercible = __webpack_require__(52); 15363var advanceStringIndex = __webpack_require__(223); 15364var regExpExec = __webpack_require__(224); 15365 15366var max = Math.max; 15367var min = Math.min; 15368var floor = Math.floor; 15369var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; 15370var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; 15371 15372var maybeToString = function (it) { 15373 return it === undefined ? it : String(it); 15374}; 15375 15376// @@replace logic 15377fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { 15378 var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; 15379 var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; 15380 var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; 15381 15382 return [ 15383 // `String.prototype.replace` method 15384 // https://tc39.github.io/ecma262/#sec-string.prototype.replace 15385 function replace(searchValue, replaceValue) { 15386 var O = requireObjectCoercible(this); 15387 var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; 15388 return replacer !== undefined 15389 ? replacer.call(searchValue, O, replaceValue) 15390 : nativeReplace.call(String(O), searchValue, replaceValue); 15391 }, 15392 // `RegExp.prototype[@@replace]` method 15393 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace 15394 function (regexp, replaceValue) { 15395 if ( 15396 (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || 15397 (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) 15398 ) { 15399 var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); 15400 if (res.done) return res.value; 15401 } 15402 15403 var rx = anObject(regexp); 15404 var S = String(this); 15405 15406 var functionalReplace = typeof replaceValue === 'function'; 15407 if (!functionalReplace) replaceValue = String(replaceValue); 15408 15409 var global = rx.global; 15410 if (global) { 15411 var fullUnicode = rx.unicode; 15412 rx.lastIndex = 0; 15413 } 15414 var results = []; 15415 while (true) { 15416 var result = regExpExec(rx, S); 15417 if (result === null) break; 15418 15419 results.push(result); 15420 if (!global) break; 15421 15422 var matchStr = String(result[0]); 15423 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLe
vendor: 5,204 bytes, lines 15423-15593
15423ngth(rx.lastIndex), fullUnicode); 15424 } 15425 15426 var accumulatedResult = ''; 15427 var nextSourcePosition = 0; 15428 for (var i = 0; i < results.length; i++) { 15429 result = results[i]; 15430 15431 var matched = String(result[0]); 15432 var position = max(min(toInteger(result.index), S.length), 0); 15433 var captures = []; 15434 // NOTE: This is equivalent to 15435 // captures = result.slice(1).map(maybeToString) 15436 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 15437 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 15438 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 15439 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 15440 var namedCaptures = result.groups; 15441 if (functionalReplace) { 15442 var replacerArgs = [matched].concat(captures, position, S); 15443 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 15444 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 15445 } else { 15446 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 15447 } 15448 if (position >= nextSourcePosition) { 15449 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 15450 nextSourcePosition = position + matched.length; 15451 } 15452 } 15453 return accumulatedResult + S.slice(nextSourcePosition); 15454 } 15455 ]; 15456 15457 // https://tc39.github.io/ecma262/#sec-getsubstitution 15458 function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { 15459 var tailPos = position + matched.length; 15460 var m = captures.length; 15461 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 15462 if (namedCaptures !== undefined) { 15463 namedCaptures = toObject(namedCaptures); 15464 symbols = SUBSTITUTION_SYMBOLS; 15465 } 15466 return nativeReplace.call(replacement, symbols, function (match, ch) { 15467 var capture; 15468 switch (ch.charAt(0)) { 15469 case '$': return '$'; 15470 case '&': return matched; 15471 case '`': return str.slice(0, position); 15472 case "'": return str.slice(tailPos); 15473 case '<': 15474 capture = namedCaptures[ch.slice(1, -1)]; 15475 break; 15476 default: // \d\d? 15477 var n = +ch; 15478 if (n === 0) return match; 15479 if (n > m) { 15480 var f = floor(n / 10); 15481 if (f === 0) return match; 15482 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 15483 return match; 15484 } 15485 capture = captures[n - 1]; 15486 } 15487 return capture === undefined ? '' : capture; 15488 }); 15489 } 15490}); 15491 15492 15493/***/ }), 15494/* 270 */, 15495/* 271 */, 15496/* 272 */, 15497/* 273 */ 15498/***/ (function(module, exports, __webpack_require__) { 15499 15500var global = __webpack_require__(16); 15501var isObject = __webpack_require__(19); 15502 15503var document = global.document; 15504// typeof document.createElement is 'object' in old IE 15505var EXISTS = isObject(document) && isObject(document.createElement); 15506 15507module.exports = function (it) { 15508 return EXISTS ? document.createElement(it) : {}; 15509}; 15510 15511 15512/***/ }), 15513/* 274 */ 15514/***/ (function(module, exports, __webpack_require__) { 15515 15516var global = __webpack_require__(16); 15517var createNonEnumerableProperty = __webpack_require__(53); 15518 15519module.exports = function (key, value) { 15520 try { 15521 createNonEnumerableProperty(global, key, value); 15522 } catch (error) { 15523 global[key] = value; 15524 } return value; 15525}; 15526 15527 15528/***/ }), 15529/* 275 */ 15530/***/ (function(module, exports, __webpack_require__) { 15531 15532var store = __webpack_require__(276); 15533 15534var functionToString = Function.toString; 15535 15536// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper 15537if (typeof store.inspectSource != 'function') { 15538 store.inspectSource = function (it) { 15539 return functionToString.call(it); 15540 }; 15541} 15542 15543module.exports = store.inspectSource; 15544 15545 15546/***/ }), 15547/* 276 */ 15548/***/ (function(module, exports, __webpack_require__) { 15549 15550var global = __webpack_require__(16); 15551var setGlobal = __webpack_require__(274); 15552 15553var SHARED = '__core-js_shared__'; 15554var store = global[SHARED] || setGlobal(SHARED, {}); 15555 15556module.exports = store; 15557 15558 15559/***/ }), 15560/* 277 */ 15561/***/ (function(module, exports, __webpack_require__) { 15562 15563var IS_PURE = __webpack_require__(72); 15564var store = __webpack_require__(276); 15565 15566(module.exports = function (key, value) { 15567 return store[key] || (store[key] = value !== undefined ? value : {}); 15568})('versions', []).push({ 15569 version: '3.7.0', 15570 mode: IS_PURE ? 'pure' : 'global', 15571 copyright: '© 2020 Denis Pushkarev (zloirock.ru)' 15572}); 15573 15574 15575/***/ }), 15576/* 278 */ 15577/***/ (function(module, exports, __webpack_require__) { 15578 15579var getBuiltIn = __webpack_require__(67); 15580var getOwnPropertyNamesModule = __webpack_require__(132); 15581var getOwnPropertySymbolsModule = __webpack_require__(280); 15582var anObject = __webpack_require__(20); 15583 15584// all object keys, includes non-enumerable and symbols 15585module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 15586 var keys = getOwnPropertyNamesModule.f(anObject(it)); 15587 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 15588 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; 15589}; 15590 15591 15592/***/ }), 15593/* 279 */
vendor: 4,715 bytes, lines 15594-15757
15594/***/ (function(module, exports) { 15595 15596// IE8- don't enum bug keys 15597module.exports = [ 15598 'constructor', 15599 'hasOwnProperty', 15600 'isPrototypeOf', 15601 'propertyIsEnumerable', 15602 'toLocaleString', 15603 'toString', 15604 'valueOf' 15605]; 15606 15607 15608/***/ }), 15609/* 280 */ 15610/***/ (function(module, exports) { 15611 15612exports.f = Object.getOwnPropertySymbols; 15613 15614 15615/***/ }), 15616/* 281 */ 15617/***/ (function(module, exports, __webpack_require__) { 15618 15619var fails = __webpack_require__(11); 15620 15621module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 15622 // Chrome 38 Symbol has incorrect toString conversion 15623 // eslint-disable-next-line no-undef 15624 return !String(Symbol()); 15625}); 15626 15627 15628/***/ }), 15629/* 282 */ 15630/***/ (function(module, exports, __webpack_require__) { 15631 15632var DESCRIPTORS = __webpack_require__(21); 15633var definePropertyModule = __webpack_require__(30); 15634var anObject = __webpack_require__(20); 15635var objectKeys = __webpack_require__(170); 15636 15637// `Object.defineProperties` method 15638// https://tc39.github.io/ecma262/#sec-object.defineproperties 15639module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { 15640 anObject(O); 15641 var keys = objectKeys(Properties); 15642 var length = keys.length; 15643 var index = 0; 15644 var key; 15645 while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); 15646 return O; 15647}; 15648 15649 15650/***/ }), 15651/* 283 */ 15652/***/ (function(module, exports, __webpack_require__) { 15653 15654var fails = __webpack_require__(11); 15655 15656module.exports = !fails(function () { 15657 function F() { /* empty */ } 15658 F.prototype.constructor = null; 15659 return Object.getPrototypeOf(new F()) !== F.prototype; 15660}); 15661 15662 15663/***/ }), 15664/* 284 */ 15665/***/ (function(module, exports, __webpack_require__) { 15666 15667var wellKnownSymbol = __webpack_require__(23); 15668var Iterators = __webpack_require__(172); 15669 15670var ITERATOR = wellKnownSymbol('iterator'); 15671var ArrayPrototype = Array.prototype; 15672 15673// check on default Array iterator 15674module.exports = function (it) { 15675 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); 15676}; 15677 15678 15679/***/ }), 15680/* 285 */ 15681/***/ (function(module, exports, __webpack_require__) { 15682 15683var wellKnownSymbol = __webpack_require__(23); 15684 15685var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 15686var test = {}; 15687 15688test[TO_STRING_TAG] = 'z'; 15689 15690module.exports = String(test) === '[object z]'; 15691 15692 15693/***/ }), 15694/* 286 */ 15695/***/ (function(module, exports, __webpack_require__) { 15696 15697"use strict"; 15698 15699var toObject = __webpack_require__(33); 15700var toAbsoluteIndex = __webpack_require__(114); 15701var toLength = __webpack_require__(28); 15702 15703// `Array.prototype.fill` method implementation 15704// https://tc39.github.io/ecma262/#sec-array.prototype.fill 15705module.exports = function fill(value /* , start = 0, end = @length */) { 15706 var O = toObject(this); 15707 var length = toLength(O.length); 15708 var argumentsLength = arguments.length; 15709 var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); 15710 var end = argumentsLength > 2 ? arguments[2] : undefined; 15711 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 15712 while (endPos > index) O[index++] = value; 15713 return O; 15714}; 15715 15716 15717/***/ }), 15718/* 287 */ 15719/***/ (function(module, exports, __webpack_require__) { 15720 15721"use strict"; 15722 15723var $ = __webpack_require__(2); 15724var createIteratorConstructor = __webpack_require__(288); 15725var getPrototypeOf = __webpack_require__(74); 15726var setPrototypeOf = __webpack_require__(116); 15727var setToStringTag = __webpack_require__(80); 15728var createNonEnumerableProperty = __webpack_require__(53); 15729var redefine = __webpack_require__(54); 15730var wellKnownSymbol = __webpack_require__(23); 15731var IS_PURE = __webpack_require__(72); 15732var Iterators = __webpack_require__(172); 15733var IteratorsCore = __webpack_require__(371); 15734 15735var IteratorPrototype = IteratorsCore.IteratorPrototype; 15736var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; 15737var ITERATOR = wellKnownSymbol('iterator'); 15738var KEYS = 'keys'; 15739var VALUES = 'values'; 15740var ENTRIES = 'entries'; 15741 15742var returnThis = function () { return this; }; 15743 15744module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { 15745 createIteratorConstructor(IteratorConstructor, NAME, next); 15746 15747 var getIterationMethod = function (KIND) { 15748 if (KIND === DEFAULT && defaultIterator) return defaultIterator; 15749 if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; 15750 switch (KIND) { 15751 case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; 15752 case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; 15753 case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; 15754 } return function () { return new IteratorConstructor(this); }; 15755 }; 15756 15757 var TO_STRING_TAG = NAME + ' Iterator';
vendor: 4,240 bytes, lines 15758-15886
15758 var INCORRECT_VALUES_NAME = false; 15759 var IterablePrototype = Iterable.prototype; 15760 var nativeIterator = IterablePrototype[ITERATOR] 15761 || IterablePrototype['@@iterator'] 15762 || DEFAULT && IterablePrototype[DEFAULT]; 15763 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); 15764 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; 15765 var CurrentIteratorPrototype, methods, KEY; 15766 15767 // fix native 15768 if (anyNativeIterator) { 15769 CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); 15770 if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { 15771 if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { 15772 if (setPrototypeOf) { 15773 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); 15774 } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { 15775 createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); 15776 } 15777 } 15778 // Set @@toStringTag to native iterators 15779 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); 15780 if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; 15781 } 15782 } 15783 15784 // fix Array#{values, @@iterator}.name in V8 / FF 15785 if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { 15786 INCORRECT_VALUES_NAME = true; 15787 defaultIterator = function values() { return nativeIterator.call(this); }; 15788 } 15789 15790 // define iterator 15791 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { 15792 createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); 15793 } 15794 Iterators[NAME] = defaultIterator; 15795 15796 // export additional methods 15797 if (DEFAULT) { 15798 methods = { 15799 values: getIterationMethod(VALUES), 15800 keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), 15801 entries: getIterationMethod(ENTRIES) 15802 }; 15803 if (FORCED) for (KEY in methods) { 15804 if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { 15805 redefine(IterablePrototype, KEY, methods[KEY]); 15806 } 15807 } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); 15808 } 15809 15810 return methods; 15811}; 15812 15813 15814/***/ }), 15815/* 288 */ 15816/***/ (function(module, exports, __webpack_require__) { 15817 15818"use strict"; 15819 15820var IteratorPrototype = __webpack_require__(371).IteratorPrototype; 15821var create = __webpack_require__(92); 15822var createPropertyDescriptor = __webpack_require__(100); 15823var setToStringTag = __webpack_require__(80); 15824var Iterators = __webpack_require__(172); 15825 15826var returnThis = function () { return this; }; 15827 15828module.exports = function (IteratorConstructor, NAME, next) { 15829 var TO_STRING_TAG = NAME + ' Iterator'; 15830 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); 15831 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); 15832 Iterators[TO_STRING_TAG] = returnThis; 15833 return IteratorConstructor; 15834}; 15835 15836 15837/***/ }), 15838/* 289 */ 15839/***/ (function(module, exports, __webpack_require__) { 15840 15841var isRegExp = __webpack_require__(179); 15842 15843module.exports = function (it) { 15844 if (isRegExp(it)) { 15845 throw TypeError("The method doesn't accept regular expressions"); 15846 } return it; 15847}; 15848 15849 15850/***/ }), 15851/* 290 */ 15852/***/ (function(module, exports, __webpack_require__) { 15853 15854var wellKnownSymbol = __webpack_require__(23); 15855 15856var MATCH = wellKnownSymbol('match'); 15857 15858module.exports = function (METHOD_NAME) { 15859 var regexp = /./; 15860 try { 15861 '/./'[METHOD_NAME](regexp); 15862 } catch (error1) { 15863 try { 15864 regexp[MATCH] = false; 15865 return '/./'[METHOD_NAME](regexp); 15866 } catch (error2) { /* empty */ } 15867 } return false; 15868}; 15869 15870 15871/***/ }), 15872/* 291 */ 15873/***/ (function(module, exports, __webpack_require__) { 15874 15875// https://github.com/tc39/proposal-string-pad-start-end 15876var toLength = __webpack_require__(28); 15877var repeat = __webpack_require__(292); 15878var requireObjectCoercible = __webpack_require__(52); 15879 15880var ceil = Math.ceil; 15881 15882// `String.prototype.{ padStart, padEnd }` methods implementation 15883var createMethod = function (IS_END) { 15884 return function ($this, maxLength, fillString) { 15885 var S = String(requireObjectCoercible($this)); 15886 var stringLength = S.length;
15887 var fillStr = fillString === undefined ? ' ' : String(fillString); 15888 var intMaxLength = toLength(maxLength); 15889 var fillLen, stringFiller; 15890 if (intMaxLength <= stringLength || fillStr == '') return S; 15891 fillLen = intMaxLength - stringLength; 15892 stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); 15893 if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); 15894 return IS_END ? S + stringFiller : stringFiller + S; 15895 }; 15896}; 15897 15898module.exports = { 15899 // `String.prototype.padStart` method 15900 // https://tc39.github.io/ecma262/#sec-string.prototype.padstart 15901 start: createMethod(false), 15902 // `String.prototype.padEnd` method 15903 // https://tc39.github.io/ecma262/#sec-string.prototype.padend 15904 end: createMethod(true) 15905}; 15906 15907 15908/***/ }), 15909/* 292 */ 15910/***/ (function(module, exports, __webpack_require__) { 15911 15912"use strict"; 15913 15914var toInteger = __webpack_require__(73); 15915var requireObjectCoercible = __webpack_require__(52); 15916 15917// `String.prototype.repeat` method implementation 15918// https://tc39.github.io/ecma262/#sec-string.prototype.repeat 15919module.exports = ''.repeat || function repeat(count) { 15920 var str = String(requireObjectCoercible(this)); 15921 var result = ''; 15922 var n = toInteger(count); 15923 if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); 15924 for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; 15925 return result; 15926}; 15927 15928 15929/***/ }), 15930/* 293 */ 15931/***/ (function(module, exports, __webpack_require__) { 15932 15933var fails = __webpack_require__(11); 15934var whitespaces = __webpack_require__(225); 15935 15936var non = '\u200B\u0085\u180E'; 15937 15938// check that a method works with the correct list 15939// of whitespaces and has a correct name 15940module.exports = function (METHOD_NAME) { 15941 return fails(function () { 15942 return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; 15943 }); 15944}; 15945 15946 15947/***/ }), 15948/* 294 */ 15949/***/ (function(module, exports) { 15950 15951// `Math.sign` method implementation 15952// https://tc39.github.io/ecma262/#sec-math.sign 15953module.exports = Math.sign || function sign(x) { 15954 // eslint-disable-next-line no-self-compare 15955 return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; 15956}; 15957 15958 15959/***/ }), 15960/* 295 */ 15961/***/ (function(module, exports, __webpack_require__) { 15962 15963var global = __webpack_require__(16); 15964var fails = __webpack_require__(11); 15965var bind = __webpack_require__(115); 15966var html = __webpack_require__(361); 15967var createElement = __webpack_require__(273); 15968var IS_IOS = __webpack_require__(383); 15969var IS_NODE = __webpack_require__(146); 15970 15971var location = global.location; 15972var set = global.setImmediate; 15973var clear = global.clearImmediate; 15974var process = global.process; 15975var MessageChannel = global.MessageChannel; 15976var Dispatch = global.Dispatch; 15977var counter = 0; 15978var queue = {}; 15979var ONREADYSTATECHANGE = 'onreadystatechange'; 15980var defer, channel, port; 15981 15982var run = function (id) { 15983 // eslint-disable-next-line no-prototype-builtins 15984 if (queue.hasOwnProperty(id)) { 15985 var fn = queue[id]; 15986 delete queue[id]; 15987 fn(); 15988 } 15989}; 15990 15991var runner = function (id) { 15992 return function () { 15993 run(id); 15994 }; 15995}; 15996 15997var listener = function (event) { 15998 run(event.data); 15999}; 16000 16001var post = function (id) { 16002 // old engines have not location.origin 16003 global.postMessage(id + '', location.protocol + '//' + location.host); 16004}; 16005 16006// Node.js 0.9+ & IE10+ has setImmediate, otherwise: 16007if (!set || !clear) { 16008 set = function setImmediate(fn) { 16009 var args = []; 16010 var i = 1; 16011 while (arguments.length > i) args.push(arguments[i++]); 16012 queue[++counter] = function () { 16013 // eslint-disable-next-line no-new-func 16014 (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); 16015 }; 16016 defer(counter); 16017 return counter; 16018 }; 16019 clear = function clearImmediate(id) { 16020 delete queue[id]; 16021 }; 16022 // Node.js 0.8- 16023 if (IS_NODE) { 16024 defer = function (id) { 16025 process.nextTick(runner(id)); 16026 }; 16027 // Sphere (JS game engine) Dispatch API 16028 } else if (Dispatch && Dispatch.now) { 16029 defer = function (id) { 16030 Dispatch.now(runner(id)); 16031 }; 16032 // Browsers with MessageChannel, includes WebWorkers 16033 // except iOS - https://github.com/zloirock/core-js/issues/624 16034 } else if (MessageChannel && !IS_IOS) { 16035 channel = new MessageChannel(); 16036 port = channel.port2; 16037 channel.port1.onmessage = listener; 16038 defer = bind(port.postMessage, port, 1); 16039 // Browsers with postMessage, skip WebWorkers 16040 // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' 16041 } else if ( 16042 global.addEventListener && 16043 typeof postMessage == 'function' && 16044 !global.importScripts && 16045 location && location.protocol !== 'file:' && 16046 !fails(post) 16047 ) { 16048 defer = post; 16049 global.addEventListener('message', listener, false); 16050 // IE8- 16051 } else if (ONREADYSTATECHANGE in createElement('script')) { 16052 defer = function (id) { 16053 html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { 16054 html.removeChild(this); 16055 run(id); 16056 }; 16057 }; 16058 // Rest old browsers 16059 } else { 16060 defer = function (id) { 16061 setTimeout(runner(id), 0); 16062 }; 16063 } 16064} 16065 16066module.exports = { 16067 set: set, 16068 clear: clear 16069}; 16070 16071 16072/***/ }), 16073/* 296 */
16074/***/ (function(module, exports) { 16075 16076module.exports = function (exec) { 16077 try { 16078 return { error: false, value: exec() }; 16079 } catch (error) { 16080 return { error: true, value: error }; 16081 } 16082}; 16083 16084 16085/***/ }), 16086/* 297 */ 16087/***/ (function(module, exports) { 16088 16089module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; 16090 16091 16092/***/ }), 16093/* 298 */ 16094/***/ (function(module, exports, __webpack_require__) { 16095 16096/* eslint-disable no-new */ 16097var global = __webpack_require__(16); 16098var fails = __webpack_require__(11); 16099var checkCorrectnessOfIteration = __webpack_require__(215); 16100var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(29).NATIVE_ARRAY_BUFFER_VIEWS; 16101 16102var ArrayBuffer = global.ArrayBuffer; 16103var Int8Array = global.Int8Array; 16104 16105module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { 16106 Int8Array(1); 16107}) || !fails(function () { 16108 new Int8Array(-1); 16109}) || !checkCorrectnessOfIteration(function (iterable) { 16110 new Int8Array(); 16111 new Int8Array(null); 16112 new Int8Array(1.5); 16113 new Int8Array(iterable); 16114}, true) || fails(function () { 16115 // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill 16116 return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; 16117}); 16118 16119 16120/***/ }), 16121/* 299 */ 16122/***/ (function(module, exports, __webpack_require__) { 16123 16124// extracted by mini-css-extract-plugin 16125module.exports = {"visuallyHidden":"Scrubber-module__visuallyHidden--18vAj","labels":"Scrubber-module__labels--1yLSS","wrap":"Scrubber-module__wrap--16DEz","dark":"Scrubber-module__dark--3iEk5","input":"Scrubber-module__input--11FXs"}; 16126 16127/***/ }), 16128/* 300 */ 16129/***/ (function(module, exports, __webpack_require__) { 16130 16131// extracted by mini-css-extract-plugin 16132module.exports = {"visuallyHidden":"WidgetSpace-module__visuallyHidden--2iFAZ","widget":"WidgetSpace-module__widget--1agAi","wrap":"WidgetSpace-module__wrap--1sPjl","hiddenH1":"WidgetSpace-module__hiddenH1--1oxPD WidgetSpace-module__visuallyHidden--2iFAZ","inner":"WidgetSpace-module__inner--2V0fN","full":"WidgetSpace-module__full--NInLM","widgetsInline":"WidgetSpace-module__widgetsInline--3jCus","widgetColumn":"WidgetSpace-module__widgetColumn--1s5Nv","stackedWidgetColumn":"WidgetSpace-module__stackedWidgetColumn--3Bpk_","companion":"WidgetSpace-module__companion--2rPgx"}; 16133 16134/***/ }), 16135/* 301 */ 16136/***/ (function(module, exports, __webpack_require__) { 16137 16138// extracted by mini-css-extract-plugin 16139module.exports = {"bar":"EqualizerIcon-module__bar--2v1ns","eq-uppydowny":"EqualizerIcon-module__eq-uppydowny--1T4vz","eq1":"EqualizerIcon-module__eq1--1Q9HF","eq2":"EqualizerIcon-module__eq2--213lL","eq3":"EqualizerIcon-module__eq3--3POGX","eq4":"EqualizerIcon-module__eq4--urpEz"}; 16140 16141/***/ }), 16142/* 302 */ 16143/***/ (function(module, exports, __webpack_require__) { 16144 16145"use strict"; 16146 16147var fixRegExpWellKnownSymbolLogic = __webpack_require__(220); 16148var anObject = __webpack_require__(20); 16149var toLength = __webpack_require__(28); 16150var requireObjectCoercible = __webpack_require__(52); 16151var advanceStringIndex = __webpack_require__(223); 16152var regExpExec = __webpack_require__(224); 16153 16154// @@match logic 16155fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { 16156 return [ 16157 // `String.prototype.match` method 16158 // https://tc39.github.io/ecma262/#sec-string.prototype.match 16159 function match(regexp) { 16160 var O = requireObjectCoercible(this); 16161 var matcher = regexp == undefined ? undefined : regexp[MATCH]; 16162 return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); 16163 }, 16164 // `RegExp.prototype[@@match]` method 16165 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match 16166 function (regexp) { 16167 var res = maybeCallNative(nativeMatch, regexp, this); 16168 if (res.done) return res.value; 16169 16170 var rx = anObject(regexp); 16171 var S = String(this); 16172 16173 if (!rx.global) return regExpExec(rx, S); 16174 16175 var fullUnicode = rx.unicode; 16176 rx.lastIndex = 0; 16177 var A = []; 16178 var n = 0; 16179 var result; 16180 while ((result = regExpExec(rx, S)) !== null) { 16181 var matchStr = String(result[0]); 16182 A[n] = matchStr; 16183 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLe
16183ngth(rx.lastIndex), fullUnicode); 16184 n++; 16185 } 16186 return n === 0 ? null : A; 16187 } 16188 ]; 16189}); 16190 16191 16192/***/ }), 16193/* 303 */ 16194/***/ (function(module, exports, __webpack_require__) { 16195 16196"use strict"; 16197 16198var $ = __webpack_require__(2); 16199var $trim = __webpack_require__(149).trim; 16200var forcedStringTrimMethod = __webpack_require__(293); 16201 16202// `String.prototype.trim` method 16203// https://tc39.github.io/ecma262/#sec-string.prototype.trim 16204$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { 16205 trim: function trim() { 16206 return $trim(this); 16207 } 16208}); 16209 16210 16211/***/ }), 16212/* 304 */, 16213/* 305 */ 16214/***/ (function(module, __webpack_exports__, __webpack_require__) { 16215 16216"use strict"; 16217 16218// EXPORTS 16219__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ LiveIconbabel_target_legacy_LiveIcon; }); 16220 16221// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 16222var definePropertybabel_target_legacy = __webpack_require__(15); 16223var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 16224 16225// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 16226var preact_modulebabel_target_legacy = __webpack_require__(1); 16227 16228// EXTERNAL MODULE: ./src/components/LiveIcon/LiveIcon.module.css 16229var LiveIcon_module = __webpack_require__(181); 16230var LiveIcon_module_default = /*#__PURE__*/__webpack_require__.n(LiveIcon_module); 16231 16232// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 16233var classnames_babel_target_legacy = __webpack_require__(27); 16234var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 16235 16236// CONCATENATED MODULE: ./src/components/LiveIcon/LiveIcon.tsx?babel-target=legacy 16237 16238 16239 16240 16241var LiveIconbabel_target_legacy_LiveIcon = function LiveIcon(_ref) { 16242 var animate = _ref.animate; 16243 var className = classnames_babel_target_legacy_default()(LiveIcon_module_default.a.svg, definePropertybabel_target_legacy_default()({}, LiveIcon_module_default.a.animate, animate)); 16244 return Object(preact_modulebabel_target_legacy["h"])("svg", { 16245 width: "12", 16246 height: "12", 16247 className: className 16248 }, Object(preact_modulebabel_target_legacy["h"])("circle", { 16249 className: LiveIcon_module_default.a.circle, 16250 cx: "6", 16251 cy: "6", 16252 r: "3" 16253 }), Object(preact_modulebabel_target_legacy["h"])("path", { 16254 d: "M5.96681502,10.3410568 C8.38342771,10.3410568 10.3424794,8.38388329 10.3424794,5.96958745 C10.3424794,3.5552916 8.38342771,1.59811812 5.96681502,1.59811812 C3.55020233,1.59811812 1.59115067,3.5552916 1.59115067,5.96958745 C1.59115067,8.38388329 3.55020233,10.3410568 5.96681502,10.3410568 Z M5.96681502,11.930682 C2.67143408,11.930682 0,9.26180906 0,5.96958745 C0,2.67736584 2.67143408,0.00849290887 5.96681502,0.00849290887 C9.26219596,0.00849290887 11.93363,2.67736584 11.93363,5.96958745 C11.93363,9.26180906 9.26219596,11.930682 5.96681502,11.930682 Z" 16255 })); 16256}; 16257/* harmony default export */ var LiveIconbabel_target_legacy = (LiveIconbabel_target_legacy_LiveIcon); 16258// CONCATENATED MODULE: ./src/components/LiveIcon/index.ts?babel-target=legacy 16259 16260 16261/***/ }), 16262/* 306 */, 16263/* 307 */, 16264/* 308 */, 16265/* 309 */, 16266/* 310 */, 16267/* 311 */ 16268/***/ (function(module, exports, __webpack_require__) { 16269 16270/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. 16271// 16272// Permission is hereby granted, free of charge, to any person obtaining a 16273// copy of this software and associated documentation files (the 16274// "Software"), to deal in the Software without restriction, including 16275// without limitation the rights to use, copy, modify, merge, publish, 16276// distribute, sublicense, and/or sell copies of the Software, and to permit 16277// persons to whom the Software is furnished to do so, subject to the 16278// following conditions: 16279// 16280// The above copyright notice and this permission notice shall be included 16281// in all copies or substantial portions of the Software. 16282// 16283// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 16284// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16285// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 16286// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 16287// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 16288// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 16289// USE OR OTHER DEALINGS IN THE SOFTWARE. 16290 16291var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || 16292 function getOwnPropertyDescriptors(obj) { 16293 var keys = Object.keys(obj); 16294 var descriptors = {}; 16295 for (var i = 0; i < keys.length; i++) { 16296 descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); 16297 } 16298 return descriptors; 16299 }; 16300 16301var formatRegExp = /%[sdj%]/g; 16302exports.format = function(f) { 16303 if (!isString(f)) { 16304 var objects = []; 16305 for (var i = 0; i < arguments.length; i++) { 16306 objects.push(inspect(arguments[i])); 16307 } 16308 return objects.join(' '); 16309 } 16310 16311 var i = 1; 16312 var args = arguments; 16313 var len = args.length; 16314 var str = String(f).replace(formatRegExp, function(x) { 16315 if (x === '%%') return '%'; 16316 if (i >= len) return x; 16317 switch (x) { 16318 case '%s': return String(args[i++]); 16319 case '%d': return Number(args[i++]); 16320 case '%j': 16321 try { 16322 return JSON.stringify(args[i++]); 16323 } catch (_) { 16324 return '[Circular]'; 16325 } 16326 default: 16327 return x; 16328 } 16329 }); 16330 for (var x = args[i]; i < len; x = args[++i]) { 16331 if (isNull(x) || !isObject(x)) { 16332 str += ' ' + x; 16333 } else { 16334 str += ' ' + inspect(x); 16335 } 16336 } 16337 return str; 16338}; 16339 16340 16341// Mark that a method should not be used. 16342// Returns a modified function which warns once by default. 16343// If --no-deprecation is set, then it is a no-op. 16344exports.deprecate = function(fn, msg) { 16345 if (typeof process !== 'undefined' && process.noDeprecation === true) { 16346 return fn; 16347 } 16348 16349 // Allow for deprecating things in the process of starting up. 16350 if (typeof process === 'undefined') { 16351 return function() { 16352 return exports.deprecate(fn, msg).apply(this, arguments); 16353 }; 16354 } 16355 16356 var warned = false;
vendor: 12,907 bytes, lines 16357-16857
16357 function deprecated() { 16358 if (!warned) { 16359 if (process.throwDeprecation) { 16360 throw new Error(msg); 16361 } else if (process.traceDeprecation) { 16362 console.trace(msg); 16363 } else { 16364 console.error(msg); 16365 } 16366 warned = true; 16367 } 16368 return fn.apply(this, arguments); 16369 } 16370 16371 return deprecated; 16372}; 16373 16374 16375var debugs = {}; 16376var debugEnviron; 16377exports.debuglog = function(set) { 16378 if (isUndefined(debugEnviron)) 16379 debugEnviron = process.env.NODE_DEBUG || ''; 16380 set = set.toUpperCase(); 16381 if (!debugs[set]) { 16382 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { 16383 var pid = process.pid; 16384 debugs[set] = function() { 16385 var msg = exports.format.apply(exports, arguments); 16386 console.error('%s %d: %s', set, pid, msg); 16387 }; 16388 } else { 16389 debugs[set] = function() {}; 16390 } 16391 } 16392 return debugs[set]; 16393}; 16394 16395 16396/** 16397 * Echos the value of a value. Trys to print the value out 16398 * in the best way possible given the different types. 16399 * 16400 * @param {Object} obj The object to print out. 16401 * @param {Object} opts Optional options object that alters the output. 16402 */ 16403/* legacy: obj, showHidden, depth, colors*/ 16404function inspect(obj, opts) { 16405 // default options 16406 var ctx = { 16407 seen: [], 16408 stylize: stylizeNoColor 16409 }; 16410 // legacy... 16411 if (arguments.length >= 3) ctx.depth = arguments[2]; 16412 if (arguments.length >= 4) ctx.colors = arguments[3]; 16413 if (isBoolean(opts)) { 16414 // legacy... 16415 ctx.showHidden = opts; 16416 } else if (opts) { 16417 // got an "options" object 16418 exports._extend(ctx, opts); 16419 } 16420 // set default options 16421 if (isUndefined(ctx.showHidden)) ctx.showHidden = false; 16422 if (isUndefined(ctx.depth)) ctx.depth = 2; 16423 if (isUndefined(ctx.colors)) ctx.colors = false; 16424 if (isUndefined(ctx.customInspect)) ctx.customInspect = true; 16425 if (ctx.colors) ctx.stylize = stylizeWithColor; 16426 return formatValue(ctx, obj, ctx.depth); 16427} 16428exports.inspect = inspect; 16429 16430 16431// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics 16432inspect.colors = { 16433 'bold' : [1, 22], 16434 'italic' : [3, 23], 16435 'underline' : [4, 24], 16436 'inverse' : [7, 27], 16437 'white' : [37, 39], 16438 'grey' : [90, 39], 16439 'black' : [30, 39], 16440 'blue' : [34, 39], 16441 'cyan' : [36, 39], 16442 'green' : [32, 39], 16443 'magenta' : [35, 39], 16444 'red' : [31, 39], 16445 'yellow' : [33, 39] 16446}; 16447 16448// Don't use 'blue' not visible on cmd.exe 16449inspect.styles = { 16450 'special': 'cyan', 16451 'number': 'yellow', 16452 'boolean': 'yellow', 16453 'undefined': 'grey', 16454 'null': 'bold', 16455 'string': 'green', 16456 'date': 'magenta', 16457 // "name": intentionally not styling 16458 'regexp': 'red' 16459}; 16460 16461 16462function stylizeWithColor(str, styleType) { 16463 var style = inspect.styles[styleType]; 16464 16465 if (style) { 16466 return '\u001b[' + inspect.colors[style][0] + 'm' + str + 16467 '\u001b[' + inspect.colors[style][1] + 'm'; 16468 } else { 16469 return str; 16470 } 16471} 16472 16473 16474function stylizeNoColor(str, styleType) { 16475 return str; 16476} 16477 16478 16479function arrayToHash(array) { 16480 var hash = {}; 16481 16482 array.forEach(function(val, idx) { 16483 hash[val] = true; 16484 }); 16485 16486 return hash; 16487} 16488 16489 16490function formatValue(ctx, value, recurseTimes) { 16491 // Provide a hook for user-specified inspect functions. 16492 // Check that value is an object with an inspect function on it 16493 if (ctx.customInspect && 16494 value && 16495 isFunction(value.inspect) && 16496 // Filter out the util module, it's inspect function is special 16497 value.inspect !== exports.inspect && 16498 // Also filter out any prototype objects using the circular check. 16499 !(value.constructor && value.constructor.prototype === value)) { 16500 var ret = value.inspect(recurseTimes, ctx); 16501 if (!isString(ret)) { 16502 ret = formatValue(ctx, ret, recurseTimes); 16503 } 16504 return ret; 16505 } 16506 16507 // Primitive types cannot have properties 16508 var primitive = formatPrimitive(ctx, value); 16509 if (primitive) { 16510 return primitive; 16511 } 16512 16513 // Look up the keys of the object. 16514 var keys = Object.keys(value); 16515 var visibleKeys = arrayToHash(keys); 16516 16517 if (ctx.showHidden) { 16518 keys = Object.getOwnPropertyNames(value); 16519 } 16520 16521 // IE doesn't make error fields non-enumerable 16522 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx 16523 if (isError(value) 16524 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { 16525 return formatError(value); 16526 } 16527 16528 // Some type of object without properties can be shortcutted. 16529 if (keys.length === 0) { 16530 if (isFunction(value)) { 16531 var name = value.name ? ': ' + value.name : ''; 16532 return ctx.stylize('[Function' + name + ']', 'special'); 16533 } 16534 if (isRegExp(value)) { 16535 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); 16536 } 16537 if (isDate(value)) { 16538 return ctx.stylize(Date.prototype.toString.call(value), 'date'); 16539 } 16540 if (isError(value)) { 16541 return formatError(value); 16542 } 16543 } 16544 16545 var base = '', array = false, braces = ['{', '}']; 16546 16547 // Make Array say that they are Array 16548 if (isArray(value)) { 16549 array = true; 16550 braces = ['[', ']']; 16551 } 16552 16553 // Make functions say that they are functions 16554 if (isFunction(value)) { 16555 var n = value.name ? ': ' + value.name : ''; 16556 base = ' [Function' + n + ']'; 16557 } 16558 16559 // Make RegExps say that they are RegExps 16560 if (isRegExp(value)) { 16561 base = ' ' + RegExp.prototype.toString.call(value); 16562 } 16563 16564 // Make dates with properties first say the date 16565 if (isDate(value)) { 16566 base = ' ' + Date.prototype.toUTCString.call(value); 16567 } 16568 16569 // Make error with message first say the error 16570 if (isError(value)) { 16571 base = ' ' + formatError(value); 16572 } 16573 16574 if (keys.length === 0 && (!array || value.length == 0)) { 16575 return braces[0] + base + braces[1]; 16576 } 16577 16578 if (recurseTimes < 0) { 16579 if (isRegExp(value)) { 16580 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); 16581 } else { 16582 return ctx.stylize('[Object]', 'special'); 16583 } 16584 } 16585 16586 ctx.seen.push(value); 16587 16588 var output; 16589 if (array) { 16590 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); 16591 } else { 16592 output = keys.map(function(key) { 16593 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); 16594 }); 16595 } 16596 16597 ctx.seen.pop(); 16598 16599 return reduceToSingleString(output, base, braces); 16600} 16601 16602 16603function formatPrimitive(ctx, value) { 16604 if (isUndefined(value)) 16605 return ctx.stylize('undefined', 'undefined'); 16606 if (isString(value)) { 16607 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') 16608 .replace(/'/g, "\\'") 16609 .replace(/\\"/g, '"') + '\''; 16610 return ctx.stylize(simple, 'string'); 16611 } 16612 if (isNumber(value)) 16613 return ctx.stylize('' + value, 'number'); 16614 if (isBoolean(value)) 16615 return ctx.stylize('' + value, 'boolean'); 16616 // For some reason typeof null is "object", so special case here. 16617 if (isNull(value)) 16618 return ctx.stylize('null', 'null'); 16619} 16620 16621 16622function formatError(value) { 16623 return '[' + Error.prototype.toString.call(value) + ']'; 16624} 16625 16626 16627function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { 16628 var output = []; 16629 for (var i = 0, l = value.length; i < l; ++i) { 16630 if (hasOwnProperty(value, String(i))) { 16631 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, 16632 String(i), true)); 16633 } else { 16634 output.push(''); 16635 } 16636 } 16637 keys.forEach(function(key) { 16638 if (!key.match(/^\d+$/)) { 16639 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, 16640 key, true)); 16641 } 16642 }); 16643 return output; 16644} 16645 16646 16647function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { 16648 var name, str, desc; 16649 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; 16650 if (desc.get) { 16651 if (desc.set) { 16652 str = ctx.stylize('[Getter/Setter]', 'special'); 16653 } else { 16654 str = ctx.stylize('[Getter]', 'special'); 16655 } 16656 } else { 16657 if (desc.set) { 16658 str = ctx.stylize('[Setter]', 'special'); 16659 } 16660 } 16661 if (!hasOwnProperty(visibleKeys, key)) { 16662 name = '[' + key + ']'; 16663 } 16664 if (!str) { 16665 if (ctx.seen.indexOf(desc.value) < 0) { 16666 if (isNull(recurseTimes)) { 16667 str = formatValue(ctx, desc.value, null); 16668 } else { 16669 str = formatValue(ctx, desc.value, recurseTimes - 1); 16670 } 16671 if (str.indexOf('\n') > -1) { 16672 if (array) { 16673 str = str.split('\n').map(function(line) { 16674 return ' ' + line; 16675 }).join('\n').substr(2); 16676 } else { 16677 str = '\n' + str.split('\n').map(function(line) { 16678 return ' ' + line; 16679 }).join('\n'); 16680 } 16681 } 16682 } else { 16683 str = ctx.stylize('[Circular]', 'special'); 16684 } 16685 } 16686 if (isUndefined(name)) { 16687 if (array && key.match(/^\d+$/)) { 16688 return str; 16689 } 16690 name = JSON.stringify('' + key); 16691 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { 16692 name = name.substr(1, name.length - 2); 16693 name = ctx.stylize(name, 'name'); 16694 } else { 16695 name = name.replace(/'/g, "\\'") 16696 .replace(/\\"/g, '"') 16697 .replace(/(^"|"$)/g, "'"); 16698 name = ctx.stylize(name, 'string'); 16699 } 16700 } 16701 16702 return name + ': ' + str; 16703} 16704 16705 16706function reduceToSingleString(output, base, braces) { 16707 var numLinesEst = 0; 16708 var length = output.reduce(function(prev, cur) { 16709 numLinesEst++; 16710 if (cur.indexOf('\n') >= 0) numLinesEst++; 16711 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; 16712 }, 0); 16713 16714 if (length > 60) { 16715 return braces[0] + 16716 (base === '' ? '' : base + '\n ') + 16717 ' ' + 16718 output.join(',\n ') + 16719 ' ' + 16720 braces[1]; 16721 } 16722 16723 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; 16724} 16725 16726 16727// NOTE: These type checking functions intentionally don't use `instanceof` 16728// because it is fragile and can be easily faked with `Object.create()`. 16729function isArray(ar) { 16730 return Array.isArray(ar); 16731} 16732exports.isArray = isArray; 16733 16734function isBoolean(arg) { 16735 return typeof arg === 'boolean'; 16736} 16737exports.isBoolean = isBoolean; 16738 16739function isNull(arg) { 16740 return arg === null; 16741} 16742exports.isNull = isNull; 16743 16744function isNullOrUndefined(arg) { 16745 return arg == null; 16746} 16747exports.isNullOrUndefined = isNullOrUndefined; 16748 16749function isNumber(arg) { 16750 return typeof arg === 'number'; 16751} 16752exports.isNumber = isNumber; 16753 16754function isString(arg) { 16755 return typeof arg === 'string'; 16756} 16757exports.isString = isString; 16758 16759function isSymbol(arg) { 16760 return typeof arg === 'symbol'; 16761} 16762exports.isSymbol = isSymbol; 16763 16764function isUndefined(arg) { 16765 return arg === void 0; 16766} 16767exports.isUndefined = isUndefined; 16768 16769function isRegExp(re) { 16770 return isObject(re) && objectToString(re) === '[object RegExp]'; 16771} 16772exports.isRegExp = isRegExp; 16773 16774function isObject(arg) { 16775 return typeof arg === 'object' && arg !== null; 16776} 16777exports.isObject = isObject; 16778 16779function isDate(d) { 16780 return isObject(d) && objectToString(d) === '[object Date]'; 16781} 16782exports.isDate = isDate; 16783 16784function isError(e) { 16785 return isObject(e) && 16786 (objectToString(e) === '[object Error]' || e instanceof Error); 16787} 16788exports.isError = isError; 16789 16790function isFunction(arg) { 16791 return typeof arg === 'function'; 16792} 16793exports.isFunction = isFunction; 16794 16795function isPrimitive(arg) { 16796 return arg === null || 16797 typeof arg === 'boolean' || 16798 typeof arg === 'number' || 16799 typeof arg === 'string' || 16800 typeof arg === 'symbol' || // ES6 symbol 16801 typeof arg === 'undefined'; 16802} 16803exports.isPrimitive = isPrimitive; 16804 16805exports.isBuffer = __webpack_require__(899); 16806 16807function objectToString(o) { 16808 return Object.prototype.toString.call(o); 16809} 16810 16811 16812function pad(n) { 16813 return n < 10 ? '0' + n.toString(10) : n.toString(10); 16814} 16815 16816 16817var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 16818 'Oct', 'Nov', 'Dec']; 16819 16820// 26 Feb 16:19:34 16821function timestamp() { 16822 var d = new Date(); 16823 var time = [pad(d.getHours()), 16824 pad(d.getMinutes()), 16825 pad(d.getSeconds())].join(':'); 16826 return [d.getDate(), months[d.getMonth()], time].join(' '); 16827} 16828 16829 16830// log is just a thin wrapper to console.log that prepends a timestamp 16831exports.log = function() { 16832 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); 16833}; 16834 16835 16836/** 16837 * Inherit the prototype methods from one constructor into another. 16838 * 16839 * The Function.prototype.inherits from lang.js rewritten as a standalone 16840 * function (not on Function.prototype). NOTE: If this file is to be loaded 16841 * during bootstrapping this function needs to be rewritten using some native 16842 * functions as prototype setup using normal JavaScript does not work as 16843 * expected during bootstrapping (see mirror.js in r114903). 16844 * 16845 * @param {function} ctor Constructor function which needs to inherit the 16846 * prototype. 16847 * @param {function} superCtor Constructor function to inherit prototype from. 16848 */ 16849exports.inherits = __webpack_require__(900); 16850 16851exports._extend = function(origin, add) { 16852 // Don't do anything if add isn't an object 16853 if (!add || !isObject(add)) return origin; 16854 16855 var keys = Object.keys(add); 16856 var i = keys.length; 16857 while (i--) {
vendor: 4,467 bytes, lines 16858-17006
16858 origin[keys[i]] = add[keys[i]]; 16859 } 16860 return origin; 16861}; 16862 16863function hasOwnProperty(obj, prop) { 16864 return Object.prototype.hasOwnProperty.call(obj, prop); 16865} 16866 16867var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; 16868 16869exports.promisify = function promisify(original) { 16870 if (typeof original !== 'function') 16871 throw new TypeError('The "original" argument must be of type Function'); 16872 16873 if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { 16874 var fn = original[kCustomPromisifiedSymbol]; 16875 if (typeof fn !== 'function') { 16876 throw new TypeError('The "util.promisify.custom" argument must be of type Function'); 16877 } 16878 Object.defineProperty(fn, kCustomPromisifiedSymbol, { 16879 value: fn, enumerable: false, writable: false, configurable: true 16880 }); 16881 return fn; 16882 } 16883 16884 function fn() { 16885 var promiseResolve, promiseReject; 16886 var promise = new Promise(function (resolve, reject) { 16887 promiseResolve = resolve; 16888 promiseReject = reject; 16889 }); 16890 16891 var args = []; 16892 for (var i = 0; i < arguments.length; i++) { 16893 args.push(arguments[i]); 16894 } 16895 args.push(function (err, value) { 16896 if (err) { 16897 promiseReject(err); 16898 } else { 16899 promiseResolve(value); 16900 } 16901 }); 16902 16903 try { 16904 original.apply(this, args); 16905 } catch (err) { 16906 promiseReject(err); 16907 } 16908 16909 return promise; 16910 } 16911 16912 Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); 16913 16914 if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { 16915 value: fn, enumerable: false, writable: false, configurable: true 16916 }); 16917 return Object.defineProperties( 16918 fn, 16919 getOwnPropertyDescriptors(original) 16920 ); 16921} 16922 16923exports.promisify.custom = kCustomPromisifiedSymbol 16924 16925function callbackifyOnRejected(reason, cb) { 16926 // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). 16927 // Because `null` is a special error value in callbacks which means "no error 16928 // occurred", we error-wrap so the callback consumer can distinguish between 16929 // "the promise rejected with null" or "the promise fulfilled with undefined". 16930 if (!reason) { 16931 var newReason = new Error('Promise was rejected with a falsy value'); 16932 newReason.reason = reason; 16933 reason = newReason; 16934 } 16935 return cb(reason); 16936} 16937 16938function callbackify(original) { 16939 if (typeof original !== 'function') { 16940 throw new TypeError('The "original" argument must be of type Function'); 16941 } 16942 16943 // We DO NOT return the promise as it gives the user a false sense that 16944 // the promise is actually somehow related to the callback's execution 16945 // and that the callback throwing will reject the promise. 16946 function callbackified() { 16947 var args = []; 16948 for (var i = 0; i < arguments.length; i++) { 16949 args.push(arguments[i]); 16950 } 16951 16952 var maybeCb = args.pop(); 16953 if (typeof maybeCb !== 'function') { 16954 throw new TypeError('The last argument must be of type Function'); 16955 } 16956 var self = this; 16957 var cb = function() { 16958 return maybeCb.apply(self, arguments); 16959 }; 16960 // In true node style we process the callback on `nextTick` with all the 16961 // implications (stack, `uncaughtException`, `async_hooks`) 16962 original.apply(this, args) 16963 .then(function(ret) { process.nextTick(cb, null, ret) }, 16964 function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) }); 16965 } 16966 16967 Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); 16968 Object.defineProperties(callbackified, 16969 getOwnPropertyDescriptors(original)); 16970 return callbackified; 16971} 16972exports.callbackify = callbackify; 16973 16974/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57))) 16975 16976/***/ }), 16977/* 312 */ 16978/***/ (function(module, exports, __webpack_require__) { 16979 16980exports = module.exports = __webpack_require__(732); 16981exports.Stream = exports; 16982exports.Readable = exports; 16983exports.Writable = __webpack_require__(471); 16984exports.Duplex = __webpack_require__(240); 16985exports.Transform = __webpack_require__(737); 16986exports.PassThrough = __webpack_require__(910); 16987 16988 16989/***/ }), 16990/* 313 */ 16991/***/ (function(module, exports, __webpack_require__) { 16992 16993"use strict"; 16994/* WEBPACK VAR INJECTION */(function(global) {/*! 16995 * The buffer module from node.js, for the browser. 16996 * 16997 * @author Feross Aboukhadijeh <http://feross.org> 16998 * @license MIT 16999 */ 17000/* eslint-disable no-proto */ 17001 17002 17003 17004var base64 = __webpack_require__(903) 17005var ieee754 = __webpack_require__(904) 17006var isArray = __webpack_require__(733
vendor: 6,472 bytes, lines 17006-17228
17006) 17007 17008exports.Buffer = Buffer 17009exports.SlowBuffer = SlowBuffer 17010exports.INSPECT_MAX_BYTES = 50 17011 17012/** 17013 * If `Buffer.TYPED_ARRAY_SUPPORT`: 17014 * === true Use Uint8Array implementation (fastest) 17015 * === false Use Object implementation (most compatible, even IE6) 17016 * 17017 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, 17018 * Opera 11.6+, iOS 4.2+. 17019 * 17020 * Due to various browser bugs, sometimes the Object implementation will be used even 17021 * when the browser supports typed arrays. 17022 * 17023 * Note: 17024 * 17025 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, 17026 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. 17027 * 17028 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. 17029 * 17030 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of 17031 * incorrect length in some situations. 17032 17033 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they 17034 * get the Object implementation, which is slower but behaves correctly. 17035 */ 17036Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined 17037 ? global.TYPED_ARRAY_SUPPORT 17038 : typedArraySupport() 17039 17040/* 17041 * Export kMaxLength after typed array support is determined. 17042 */ 17043exports.kMaxLength = kMaxLength() 17044 17045function typedArraySupport () { 17046 try { 17047 var arr = new Uint8Array(1) 17048 arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} 17049 return arr.foo() === 42 && // typed array instances can be augmented 17050 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` 17051 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` 17052 } catch (e) { 17053 return false 17054 } 17055} 17056 17057function kMaxLength () { 17058 return Buffer.TYPED_ARRAY_SUPPORT 17059 ? 0x7fffffff 17060 : 0x3fffffff 17061} 17062 17063function createBuffer (that, length) { 17064 if (kMaxLength() < length) { 17065 throw new RangeError('Invalid typed array length') 17066 } 17067 if (Buffer.TYPED_ARRAY_SUPPORT) { 17068 // Return an augmented `Uint8Array` instance, for best performance 17069 that = new Uint8Array(length) 17070 that.__proto__ = Buffer.prototype 17071 } else { 17072 // Fallback: Return an object instance of the Buffer class 17073 if (that === null) { 17074 that = new Buffer(length) 17075 } 17076 that.length = length 17077 } 17078 17079 return that 17080} 17081 17082/** 17083 * The Buffer constructor returns instances of `Uint8Array` that have their 17084 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of 17085 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods 17086 * and the `Uint8Array` methods. Square bracket notation works as expected -- it 17087 * returns a single octet. 17088 * 17089 * The `Uint8Array` prototype remains unmodified. 17090 */ 17091 17092function Buffer (arg, encodingOrOffset, length) { 17093 if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { 17094 return new Buffer(arg, encodingOrOffset, length) 17095 } 17096 17097 // Common case. 17098 if (typeof arg === 'number') { 17099 if (typeof encodingOrOffset === 'string') { 17100 throw new Error( 17101 'If encoding is specified then the first argument must be a string' 17102 ) 17103 } 17104 return allocUnsafe(this, arg) 17105 } 17106 return from(this, arg, encodingOrOffset, length) 17107} 17108 17109Buffer.poolSize = 8192 // not used by this implementation 17110 17111// TODO: Legacy, not needed anymore. Remove in next major version. 17112Buffer._augment = function (arr) { 17113 arr.__proto__ = Buffer.prototype 17114 return arr 17115} 17116 17117function from (that, value, encodingOrOffset, length) { 17118 if (typeof value === 'number') { 17119 throw new TypeError('"value" argument must not be a number') 17120 } 17121 17122 if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { 17123 return fromArrayBuffer(that, value, encodingOrOffset, length) 17124 } 17125 17126 if (typeof value === 'string') { 17127 return fromString(that, value, encodingOrOffset) 17128 } 17129 17130 return fromObject(that, value) 17131} 17132 17133/** 17134 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError 17135 * if value is a number. 17136 * Buffer.from(str[, encoding]) 17137 * Buffer.from(array) 17138 * Buffer.from(buffer) 17139 * Buffer.from(arrayBuffer[, byteOffset[, length]]) 17140 **/ 17141Buffer.from = function (value, encodingOrOffset, length) { 17142 return from(null, value, encodingOrOffset, length) 17143} 17144 17145if (Buffer.TYPED_ARRAY_SUPPORT) { 17146 Buffer.prototype.__proto__ = Uint8Array.prototype 17147 Buffer.__proto__ = Uint8Array 17148 if (typeof Symbol !== 'undefined' && Symbol.species && 17149 Buffer[Symbol.species] === Buffer) { 17150 // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 17151 Object.defineProperty(Buffer, Symbol.species, { 17152 value: null, 17153 configurable: true 17154 }) 17155 } 17156} 17157 17158function assertSize (size) { 17159 if (typeof size !== 'number') { 17160 throw new TypeError('"size" argument must be a number') 17161 } else if (size < 0) { 17162 throw new RangeError('"size" argument must not be negative') 17163 } 17164} 17165 17166function alloc (that, size, fill, encoding) { 17167 assertSize(size) 17168 if (size <= 0) { 17169 return createBuffer(that, size) 17170 } 17171 if (fill !== undefined) { 17172 // Only pay attention to encoding if it's a string. This 17173 // prevents accidentally sending in a number that would 17174 // be interpretted as a start offset. 17175 return typeof encoding === 'string' 17176 ? createBuffer(that, size).fill(fill, encoding) 17177 : createBuffer(that, size).fill(fill) 17178 } 17179 return createBuffer(that, size) 17180} 17181 17182/** 17183 * Creates a new filled Buffer instance. 17184 * alloc(size[, fill[, encoding]]) 17185 **/ 17186Buffer.alloc = function (size, fill, encoding) { 17187 return alloc(null, size, fill, encoding) 17188} 17189 17190function allocUnsafe (that, size) { 17191 assertSize(size) 17192 that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) 17193 if (!Buffer.TYPED_ARRAY_SUPPORT) { 17194 for (var i = 0; i < size; ++i) { 17195 that[i] = 0 17196 } 17197 } 17198 return that 17199} 17200 17201/** 17202 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. 17203 * */ 17204Buffer.allocUnsafe = function (size) { 17205 return allocUnsafe(null, size) 17206} 17207/** 17208 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. 17209 */ 17210Buffer.allocUnsafeSlow = function (size) { 17211 return allocUnsafe(null, size) 17212} 17213 17214function fromString (that, string, encoding) { 17215 if (typeof encoding !== 'string' || encoding === '') { 17216 encoding = 'utf8' 17217 } 17218 17219 if (!Buffer.isEncoding(encoding)) { 17220 throw new TypeError('"encoding" must be a valid string encoding') 17221 } 17222 17223 var length = byteLength(string, encoding) | 0 17224 that = createBuffer(that, length) 17225 17226 var actual = that.write(string, encoding) 17227 17228 if (actual !== length) {
vendor: 8,522 bytes, lines 17229-17576
17229 // Writing a hex string, for example, that contains invalid characters will 17230 // cause everything after the first invalid character to be ignored. (e.g. 17231 // 'abxxcd' will be treated as 'ab') 17232 that = that.slice(0, actual) 17233 } 17234 17235 return that 17236} 17237 17238function fromArrayLike (that, array) { 17239 var length = array.length < 0 ? 0 : checked(array.length) | 0 17240 that = createBuffer(that, length) 17241 for (var i = 0; i < length; i += 1) { 17242 that[i] = array[i] & 255 17243 } 17244 return that 17245} 17246 17247function fromArrayBuffer (that, array, byteOffset, length) { 17248 array.byteLength // this throws if `array` is not a valid ArrayBuffer 17249 17250 if (byteOffset < 0 || array.byteLength < byteOffset) { 17251 throw new RangeError('\'offset\' is out of bounds') 17252 } 17253 17254 if (array.byteLength < byteOffset + (length || 0)) { 17255 throw new RangeError('\'length\' is out of bounds') 17256 } 17257 17258 if (byteOffset === undefined && length === undefined) { 17259 array = new Uint8Array(array) 17260 } else if (length === undefined) { 17261 array = new Uint8Array(array, byteOffset) 17262 } else { 17263 array = new Uint8Array(array, byteOffset, length) 17264 } 17265 17266 if (Buffer.TYPED_ARRAY_SUPPORT) { 17267 // Return an augmented `Uint8Array` instance, for best performance 17268 that = array 17269 that.__proto__ = Buffer.prototype 17270 } else { 17271 // Fallback: Return an object instance of the Buffer class 17272 that = fromArrayLike(that, array) 17273 } 17274 return that 17275} 17276 17277function fromObject (that, obj) { 17278 if (Buffer.isBuffer(obj)) { 17279 var len = checked(obj.length) | 0 17280 that = createBuffer(that, len) 17281 17282 if (that.length === 0) { 17283 return that 17284 } 17285 17286 obj.copy(that, 0, 0, len) 17287 return that 17288 } 17289 17290 if (obj) { 17291 if ((typeof ArrayBuffer !== 'undefined' && 17292 obj.buffer instanceof ArrayBuffer) || 'length' in obj) { 17293 if (typeof obj.length !== 'number' || isnan(obj.length)) { 17294 return createBuffer(that, 0) 17295 } 17296 return fromArrayLike(that, obj) 17297 } 17298 17299 if (obj.type === 'Buffer' && isArray(obj.data)) { 17300 return fromArrayLike(that, obj.data) 17301 } 17302 } 17303 17304 throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') 17305} 17306 17307function checked (length) { 17308 // Note: cannot use `length < kMaxLength()` here because that fails when 17309 // length is NaN (which is otherwise coerced to zero.) 17310 if (length >= kMaxLength()) { 17311 throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 17312 'size: 0x' + kMaxLength().toString(16) + ' bytes') 17313 } 17314 return length | 0 17315} 17316 17317function SlowBuffer (length) { 17318 if (+length != length) { // eslint-disable-line eqeqeq 17319 length = 0 17320 } 17321 return Buffer.alloc(+length) 17322} 17323 17324Buffer.isBuffer = function isBuffer (b) { 17325 return !!(b != null && b._isBuffer) 17326} 17327 17328Buffer.compare = function compare (a, b) { 17329 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { 17330 throw new TypeError('Arguments must be Buffers') 17331 } 17332 17333 if (a === b) return 0 17334 17335 var x = a.length 17336 var y = b.length 17337 17338 for (var i = 0, len = Math.min(x, y); i < len; ++i) { 17339 if (a[i] !== b[i]) { 17340 x = a[i] 17341 y = b[i] 17342 break 17343 } 17344 } 17345 17346 if (x < y) return -1 17347 if (y < x) return 1 17348 return 0 17349} 17350 17351Buffer.isEncoding = function isEncoding (encoding) { 17352 switch (String(encoding).toLowerCase()) { 17353 case 'hex': 17354 case 'utf8': 17355 case 'utf-8': 17356 case 'ascii': 17357 case 'latin1': 17358 case 'binary': 17359 case 'base64': 17360 case 'ucs2': 17361 case 'ucs-2': 17362 case 'utf16le': 17363 case 'utf-16le': 17364 return true 17365 default: 17366 return false 17367 } 17368} 17369 17370Buffer.concat = function concat (list, length) { 17371 if (!isArray(list)) { 17372 throw new TypeError('"list" argument must be an Array of Buffers') 17373 } 17374 17375 if (list.length === 0) { 17376 return Buffer.alloc(0) 17377 } 17378 17379 var i 17380 if (length === undefined) { 17381 length = 0 17382 for (i = 0; i < list.length; ++i) { 17383 length += list[i].length 17384 } 17385 } 17386 17387 var buffer = Buffer.allocUnsafe(length) 17388 var pos = 0 17389 for (i = 0; i < list.length; ++i) { 17390 var buf = list[i] 17391 if (!Buffer.isBuffer(buf)) { 17392 throw new TypeError('"list" argument must be an Array of Buffers') 17393 } 17394 buf.copy(buffer, pos) 17395 pos += buf.length 17396 } 17397 return buffer 17398} 17399 17400function byteLength (string, encoding) { 17401 if (Buffer.isBuffer(string)) { 17402 return string.length 17403 } 17404 if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && 17405 (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { 17406 return string.byteLength 17407 } 17408 if (typeof string !== 'string') { 17409 string = '' + string 17410 } 17411 17412 var len = string.length 17413 if (len === 0) return 0 17414 17415 // Use a for loop to avoid recursion 17416 var loweredCase = false 17417 for (;;) { 17418 switch (encoding) { 17419 case 'ascii': 17420 case 'latin1': 17421 case 'binary': 17422 return len 17423 case 'utf8': 17424 case 'utf-8': 17425 case undefined: 17426 return utf8ToBytes(string).length 17427 case 'ucs2': 17428 case 'ucs-2': 17429 case 'utf16le': 17430 case 'utf-16le': 17431 return len * 2 17432 case 'hex': 17433 return len >>> 1 17434 case 'base64': 17435 return base64ToBytes(string).length 17436 default: 17437 if (loweredCase) return utf8ToBytes(string).length // assume utf8 17438 encoding = ('' + encoding).toLowerCase() 17439 loweredCase = true 17440 } 17441 } 17442} 17443Buffer.byteLength = byteLength 17444 17445function slowToString (encoding, start, end) { 17446 var loweredCase = false 17447 17448 // No need to verify that "this.length <= MAX_UINT32" since it's a read-only 17449 // property of a typed array. 17450 17451 // This behaves neither like String nor Uint8Array in that we set start/end 17452 // to their upper/lower bounds if the value passed is out of range. 17453 // undefined is handled specially as per ECMA-262 6th Edition, 17454 // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. 17455 if (start === undefined || start < 0) { 17456 start = 0 17457 } 17458 // Return early if start > this.length. Done here to prevent potential uint32 17459 // coercion fail below. 17460 if (start > this.length) { 17461 return '' 17462 } 17463 17464 if (end === undefined || end > this.length) { 17465 end = this.length 17466 } 17467 17468 if (end <= 0) { 17469 return '' 17470 } 17471 17472 // Force coersion to uint32. This will also coerce falsey/NaN values to 0. 17473 end >>>= 0 17474 start >>>= 0 17475 17476 if (end <= start) { 17477 return '' 17478 } 17479 17480 if (!encoding) encoding = 'utf8' 17481 17482 while (true) { 17483 switch (encoding) { 17484 case 'hex': 17485 return hexSlice(this, start, end) 17486 17487 case 'utf8': 17488 case 'utf-8': 17489 return utf8Slice(this, start, end) 17490 17491 case 'ascii': 17492 return asciiSlice(this, start, end) 17493 17494 case 'latin1': 17495 case 'binary': 17496 return latin1Slice(this, start, end) 17497 17498 case 'base64': 17499 return base64Slice(this, start, end) 17500 17501 case 'ucs2': 17502 case 'ucs-2': 17503 case 'utf16le': 17504 case 'utf-16le': 17505 return utf16leSlice(this, start, end) 17506 17507 default: 17508 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 17509 encoding = (encoding + '').toLowerCase() 17510 loweredCase = true 17511 } 17512 } 17513} 17514 17515// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect 17516// Buffer instances. 17517Buffer.prototype._isBuffer = true 17518 17519function swap (b, n, m) { 17520 var i = b[n] 17521 b[n] = b[m] 17522 b[m] = i 17523} 17524 17525Buffer.prototype.swap16 = function swap16 () { 17526 var len = this.length 17527 if (len % 2 !== 0) { 17528 throw new RangeError('Buffer size must be a multiple of 16-bits') 17529 } 17530 for (var i = 0; i < len; i += 2) { 17531 swap(this, i, i + 1) 17532 } 17533 return this 17534} 17535 17536Buffer.prototype.swap32 = function swap32 () { 17537 var len = this.length 17538 if (len % 4 !== 0) { 17539 throw new RangeError('Buffer size must be a multiple of 32-bits') 17540 } 17541 for (var i = 0; i < len; i += 4) { 17542 swap(this, i, i + 3) 17543 swap(this, i + 1, i + 2) 17544 } 17545 return this 17546} 17547 17548Buffer.prototype.swap64 = function swap64 () { 17549 var len = this.length 17550 if (len % 8 !== 0) { 17551 throw new RangeError('Buffer size must be a multiple of 64-bits') 17552 } 17553 for (var i = 0; i < len; i += 8) { 17554 swap(this, i, i + 7) 17555 swap(this, i + 1, i + 6) 17556 swap(this, i + 2, i + 5) 17557 swap(this, i + 3, i + 4) 17558 } 17559 return this 17560} 17561 17562Buffer.prototype.toString = function toString () { 17563 var length = this.length | 0 17564 if (length === 0) return '' 17565 if (arguments.length === 0) return utf8Slice(this, 0, length) 17566 return slowToString.apply(this, arguments) 17567} 17568 17569Buffer.prototype.equals = function equals (b) { 17570 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') 17571 if (this === b) return true 17572 return Buffer.compare(this, b) === 0 17573} 17574 17575Buffer.prototype.inspect = function inspect () { 17576 var str = ''
vendor: 2,989 bytes, lines 17577-17689
17577 var max = exports.INSPECT_MAX_BYTES 17578 if (this.length > 0) { 17579 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') 17580 if (this.length > max) str += ' ... ' 17581 } 17582 return '<Buffer ' + str + '>' 17583} 17584 17585Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { 17586 if (!Buffer.isBuffer(target)) { 17587 throw new TypeError('Argument must be a Buffer') 17588 } 17589 17590 if (start === undefined) { 17591 start = 0 17592 } 17593 if (end === undefined) { 17594 end = target ? target.length : 0 17595 } 17596 if (thisStart === undefined) { 17597 thisStart = 0 17598 } 17599 if (thisEnd === undefined) { 17600 thisEnd = this.length 17601 } 17602 17603 if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { 17604 throw new RangeError('out of range index') 17605 } 17606 17607 if (thisStart >= thisEnd && start >= end) { 17608 return 0 17609 } 17610 if (thisStart >= thisEnd) { 17611 return -1 17612 } 17613 if (start >= end) { 17614 return 1 17615 } 17616 17617 start >>>= 0 17618 end >>>= 0 17619 thisStart >>>= 0 17620 thisEnd >>>= 0 17621 17622 if (this === target) return 0 17623 17624 var x = thisEnd - thisStart 17625 var y = end - start 17626 var len = Math.min(x, y) 17627 17628 var thisCopy = this.slice(thisStart, thisEnd) 17629 var targetCopy = target.slice(start, end) 17630 17631 for (var i = 0; i < len; ++i) { 17632 if (thisCopy[i] !== targetCopy[i]) { 17633 x = thisCopy[i] 17634 y = targetCopy[i] 17635 break 17636 } 17637 } 17638 17639 if (x < y) return -1 17640 if (y < x) return 1 17641 return 0 17642} 17643 17644// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, 17645// OR the last index of `val` in `buffer` at offset <= `byteOffset`. 17646// 17647// Arguments: 17648// - buffer - a Buffer to search 17649// - val - a string, Buffer, or number 17650// - byteOffset - an index into `buffer`; will be clamped to an int32 17651// - encoding - an optional encoding, relevant is val is a string 17652// - dir - true for indexOf, false for lastIndexOf 17653function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { 17654 // Empty buffer means no match 17655 if (buffer.length === 0) return -1 17656 17657 // Normalize byteOffset 17658 if (typeof byteOffset === 'string') { 17659 encoding = byteOffset 17660 byteOffset = 0 17661 } else if (byteOffset > 0x7fffffff) { 17662 byteOffset = 0x7fffffff 17663 } else if (byteOffset < -0x80000000) { 17664 byteOffset = -0x80000000 17665 } 17666 byteOffset = +byteOffset // Coerce to Number. 17667 if (isNaN(byteOffset)) { 17668 // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer 17669 byteOffset = dir ? 0 : (buffer.length - 1) 17670 } 17671 17672 // Normalize byteOffset: negative offsets start from the end of the buffer 17673 if (byteOffset < 0) byteOffset = buffer.length + byteOffset 17674 if (byteOffset >= buffer.length) { 17675 if (dir) return -1 17676 else byteOffset = buffer.length - 1 17677 } else if (byteOffset < 0) { 17678 if (dir) byteOffset = 0 17679 else return -1 17680 } 17681 17682 // Normalize val 17683 if (typeof val === 'string') { 17684 val = Buffer.from(val, encoding) 17685 } 17686 17687 // Finally, search either indexOf (if dir is true) or lastIndexOf 17688 if (Buffer.isBuffer(val)) { 17689 // Special case: looking for empty string/buffer always fail
vendor: 30,332 bytes, lines 17689-18783
17689s 17690 if (val.length === 0) { 17691 return -1 17692 } 17693 return arrayIndexOf(buffer, val, byteOffset, encoding, dir) 17694 } else if (typeof val === 'number') { 17695 val = val & 0xFF // Search for a byte value [0-255] 17696 if (Buffer.TYPED_ARRAY_SUPPORT && 17697 typeof Uint8Array.prototype.indexOf === 'function') { 17698 if (dir) { 17699 return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) 17700 } else { 17701 return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) 17702 } 17703 } 17704 return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) 17705 } 17706 17707 throw new TypeError('val must be string, number or Buffer') 17708} 17709 17710function arrayIndexOf (arr, val, byteOffset, encoding, dir) { 17711 var indexSize = 1 17712 var arrLength = arr.length 17713 var valLength = val.length 17714 17715 if (encoding !== undefined) { 17716 encoding = String(encoding).toLowerCase() 17717 if (encoding === 'ucs2' || encoding === 'ucs-2' || 17718 encoding === 'utf16le' || encoding === 'utf-16le') { 17719 if (arr.length < 2 || val.length < 2) { 17720 return -1 17721 } 17722 indexSize = 2 17723 arrLength /= 2 17724 valLength /= 2 17725 byteOffset /= 2 17726 } 17727 } 17728 17729 function read (buf, i) { 17730 if (indexSize === 1) { 17731 return buf[i] 17732 } else { 17733 return buf.readUInt16BE(i * indexSize) 17734 } 17735 } 17736 17737 var i 17738 if (dir) { 17739 var foundIndex = -1 17740 for (i = byteOffset; i < arrLength; i++) { 17741 if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { 17742 if (foundIndex === -1) foundIndex = i 17743 if (i - foundIndex + 1 === valLength) return foundIndex * indexSize 17744 } else { 17745 if (foundIndex !== -1) i -= i - foundIndex 17746 foundIndex = -1 17747 } 17748 } 17749 } else { 17750 if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength 17751 for (i = byteOffset; i >= 0; i--) { 17752 var found = true 17753 for (var j = 0; j < valLength; j++) { 17754 if (read(arr, i + j) !== read(val, j)) { 17755 found = false 17756 break 17757 } 17758 } 17759 if (found) return i 17760 } 17761 } 17762 17763 return -1 17764} 17765 17766Buffer.prototype.includes = function includes (val, byteOffset, encoding) { 17767 return this.indexOf(val, byteOffset, encoding) !== -1 17768} 17769 17770Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { 17771 return bidirectionalIndexOf(this, val, byteOffset, encoding, true) 17772} 17773 17774Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { 17775 return bidirectionalIndexOf(this, val, byteOffset, encoding, false) 17776} 17777 17778function hexWrite (buf, string, offset, length) { 17779 offset = Number(offset) || 0 17780 var remaining = buf.length - offset 17781 if (!length) { 17782 length = remaining 17783 } else { 17784 length = Number(length) 17785 if (length > remaining) { 17786 length = remaining 17787 } 17788 } 17789 17790 // must be an even number of digits 17791 var strLen = string.length 17792 if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') 17793 17794 if (length > strLen / 2) { 17795 length = strLen / 2 17796 } 17797 for (var i = 0; i < length; ++i) { 17798 var parsed = parseInt(string.substr(i * 2, 2), 16) 17799 if (isNaN(parsed)) return i 17800 buf[offset + i] = parsed 17801 } 17802 return i 17803} 17804 17805function utf8Write (buf, string, offset, length) { 17806 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) 17807} 17808 17809function asciiWrite (buf, string, offset, length) { 17810 return blitBuffer(asciiToBytes(string), buf, offset, length) 17811} 17812 17813function latin1Write (buf, string, offset, length) { 17814 return asciiWrite(buf, string, offset, length) 17815} 17816 17817function base64Write (buf, string, offset, length) { 17818 return blitBuffer(base64ToBytes(string), buf, offset, length) 17819} 17820 17821function ucs2Write (buf, string, offset, length) { 17822 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) 17823} 17824 17825Buffer.prototype.write = function write (string, offset, length, encoding) { 17826 // Buffer#write(string) 17827 if (offset === undefined) { 17828 encoding = 'utf8' 17829 length = this.length 17830 offset = 0 17831 // Buffer#write(string, encoding) 17832 } else if (length === undefined && typeof offset === 'string') { 17833 encoding = offset 17834 length = this.length 17835 offset = 0 17836 // Buffer#write(string, offset[, length][, encoding]) 17837 } else if (isFinite(offset)) { 17838 offset = offset | 0 17839 if (isFinite(length)) { 17840 length = length | 0 17841 if (encoding === undefined) encoding = 'utf8' 17842 } else { 17843 encoding = length 17844 length = undefined 17845 } 17846 // legacy write(string, encoding, offset, length) - remove in v0.13 17847 } else { 17848 throw new Error( 17849 'Buffer.write(string, encoding, offset[, length]) is no longer supported' 17850 ) 17851 } 17852 17853 var remaining = this.length - offset 17854 if (length === undefined || length > remaining) length = remaining 17855 17856 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { 17857 throw new RangeError('Attempt to write outside buffer bounds') 17858 } 17859 17860 if (!encoding) encoding = 'utf8' 17861 17862 var loweredCase = false 17863 for (;;) { 17864 switch (encoding) { 17865 case 'hex': 17866 return hexWrite(this, string, offset, length) 17867 17868 case 'utf8': 17869 case 'utf-8': 17870 return utf8Write(this, string, offset, length) 17871 17872 case 'ascii': 17873 return asciiWrite(this, string, offset, length) 17874 17875 case 'latin1': 17876 case 'binary': 17877 return latin1Write(this, string, offset, length) 17878 17879 case 'base64': 17880 // Warning: maxLength not taken into account in base64Write 17881 return base64Write(this, string, offset, length) 17882 17883 case 'ucs2': 17884 case 'ucs-2': 17885 case 'utf16le': 17886 case 'utf-16le': 17887 return ucs2Write(this, string, offset, length) 17888 17889 default: 17890 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 17891 encoding = ('' + encoding).toLowerCase() 17892 loweredCase = true 17893 } 17894 } 17895} 17896 17897Buffer.prototype.toJSON = function toJSON () { 17898 return { 17899 type: 'Buffer', 17900 data: Array.prototype.slice.call(this._arr || this, 0) 17901 } 17902} 17903 17904function base64Slice (buf, start, end) { 17905 if (start === 0 && end === buf.length) { 17906 return base64.fromByteArray(buf) 17907 } else { 17908 return base64.fromByteArray(buf.slice(start, end)) 17909 } 17910} 17911 17912function utf8Slice (buf, start, end) { 17913 end = Math.min(buf.length, end) 17914 var res = [] 17915 17916 var i = start 17917 while (i < end) { 17918 var firstByte = buf[i] 17919 var codePoint = null 17920 var bytesPerSequence = (firstByte > 0xEF) ? 4 17921 : (firstByte > 0xDF) ? 3 17922 : (firstByte > 0xBF) ? 2 17923 : 1 17924 17925 if (i + bytesPerSequence <= end) { 17926 var secondByte, thirdByte, fourthByte, tempCodePoint 17927 17928 switch (bytesPerSequence) { 17929 case 1: 17930 if (firstByte < 0x80) { 17931 codePoint = firstByte 17932 } 17933 break 17934 case 2: 17935 secondByte = buf[i + 1] 17936 if ((secondByte & 0xC0) === 0x80) { 17937 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) 17938 if (tempCodePoint > 0x7F) { 17939 codePoint = tempCodePoint 17940 } 17941 } 17942 break 17943 case 3: 17944 secondByte = buf[i + 1] 17945 thirdByte = buf[i + 2] 17946 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { 17947 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) 17948 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { 17949 codePoint = tempCodePoint 17950 } 17951 } 17952 break 17953 case 4: 17954 secondByte = buf[i + 1] 17955 thirdByte = buf[i + 2] 17956 fourthByte = buf[i + 3] 17957 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { 17958 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) 17959 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { 17960 codePoint = tempCodePoint 17961 } 17962 } 17963 } 17964 } 17965 17966 if (codePoint === null) { 17967 // we did not generate a valid codePoint so insert a 17968 // replacement char (U+FFFD) and advance only 1 byte 17969 codePoint = 0xFFFD 17970 bytesPerSequence = 1 17971 } else if (codePoint > 0xFFFF) { 17972 // encode to utf16 (surrogate pair dance) 17973 codePoint -= 0x10000 17974 res.push(codePoint >>> 10 & 0x3FF | 0xD800) 17975 codePoint = 0xDC00 | codePoint & 0x3FF 17976 } 17977 17978 res.push(codePoint) 17979 i += bytesPerSequence 17980 } 17981 17982 return decodeCodePointsArray(res) 17983} 17984 17985// Based on http://stackoverflow.com/a/22747272/680742, the browser with 17986// the lowest limit is Chrome, with 0x10000 args. 17987// We go 1 magnitude less, for safety 17988var MAX_ARGUMENTS_LENGTH = 0x1000 17989 17990function decodeCodePointsArray (codePoints) { 17991 var len = codePoints.length 17992 if (len <= MAX_ARGUMENTS_LENGTH) { 17993 return String.fromCharCode.apply(String, codePoints) // avoid extra slice() 17994 } 17995 17996 // Decode in chunks to avoid "call stack size exceeded". 17997 var res = '' 17998 var i = 0 17999 while (i < len) { 18000 res += String.fromCharCode.apply( 18001 String, 18002 codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) 18003 ) 18004 } 18005 return res 18006} 18007 18008function asciiSlice (buf, start, end) { 18009 var ret = '' 18010 end = Math.min(buf.length, end) 18011 18012 for (var i = start; i < end; ++i) { 18013 ret += String.fromCharCode(buf[i] & 0x7F) 18014 } 18015 return ret 18016} 18017 18018function latin1Slice (buf, start, end) { 18019 var ret = '' 18020 end = Math.min(buf.length, end) 18021 18022 for (var i = start; i < end; ++i) { 18023 ret += String.fromCharCode(buf[i]) 18024 } 18025 return ret 18026} 18027 18028function hexSlice (buf, start, end) { 18029 var len = buf.length 18030 18031 if (!start || start < 0) start = 0 18032 if (!end || end < 0 || end > len) end = len 18033 18034 var out = '' 18035 for (var i = start; i < end; ++i) { 18036 out += toHex(buf[i]) 18037 } 18038 return out 18039} 18040 18041function utf16leSlice (buf, start, end) { 18042 var bytes = buf.slice(start, end) 18043 var res = '' 18044 for (var i = 0; i < bytes.length; i += 2) { 18045 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) 18046 } 18047 return res 18048} 18049 18050Buffer.prototype.slice = function slice (start, end) { 18051 var len = this.length 18052 start = ~~start 18053 end = end === undefined ? len : ~~end 18054 18055 if (start < 0) { 18056 start += len 18057 if (start < 0) start = 0 18058 } else if (start > len) { 18059 start = len 18060 } 18061 18062 if (end < 0) { 18063 end += len 18064 if (end < 0) end = 0 18065 } else if (end > len) { 18066 end = len 18067 } 18068 18069 if (end < start) end = start 18070 18071 var newBuf 18072 if (Buffer.TYPED_ARRAY_SUPPORT) { 18073 newBuf = this.subarray(start, end) 18074 newBuf.__proto__ = Buffer.prototype 18075 } else { 18076 var sliceLen = end - start 18077 newBuf = new Buffer(sliceLen, undefined) 18078 for (var i = 0; i < sliceLen; ++i) { 18079 newBuf[i] = this[i + start] 18080 } 18081 } 18082 18083 return newBuf 18084} 18085 18086/* 18087 * Need to make sure that buffer isn't trying to write out of bounds. 18088 */ 18089function checkOffset (offset, ext, length) { 18090 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') 18091 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') 18092} 18093 18094Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { 18095 offset = offset | 0 18096 byteLength = byteLength | 0 18097 if (!noAssert) checkOffset(offset, byteLength, this.length) 18098 18099 var val = this[offset] 18100 var mul = 1 18101 var i = 0 18102 while (++i < byteLength && (mul *= 0x100)) { 18103 val += this[offset + i] * mul 18104 } 18105 18106 return val 18107} 18108 18109Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { 18110 offset = offset | 0 18111 byteLength = byteLength | 0 18112 if (!noAssert) { 18113 checkOffset(offset, byteLength, this.length) 18114 } 18115 18116 var val = this[offset + --byteLength] 18117 var mul = 1 18118 while (byteLength > 0 && (mul *= 0x100)) { 18119 val += this[offset + --byteLength] * mul 18120 } 18121 18122 return val 18123} 18124 18125Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { 18126 if (!noAssert) checkOffset(offset, 1, this.length) 18127 return this[offset] 18128} 18129 18130Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { 18131 if (!noAssert) checkOffset(offset, 2, this.length) 18132 return this[offset] | (this[offset + 1] << 8) 18133} 18134 18135Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { 18136 if (!noAssert) checkOffset(offset, 2, this.length) 18137 return (this[offset] << 8) | this[offset + 1] 18138} 18139 18140Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { 18141 if (!noAssert) checkOffset(offset, 4, this.length) 18142 18143 return ((this[offset]) | 18144 (this[offset + 1] << 8) | 18145 (this[offset + 2] << 16)) + 18146 (this[offset + 3] * 0x1000000) 18147} 18148 18149Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { 18150 if (!noAssert) checkOffset(offset, 4, this.length) 18151 18152 return (this[offset] * 0x1000000) + 18153 ((this[offset + 1] << 16) | 18154 (this[offset + 2] << 8) | 18155 this[offset + 3]) 18156} 18157 18158Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { 18159 offset = offset | 0 18160 byteLength = byteLength | 0 18161 if (!noAssert) checkOffset(offset, byteLength, this.length) 18162 18163 var val = this[offset] 18164 var mul = 1 18165 var i = 0 18166 while (++i < byteLength && (mul *= 0x100)) { 18167 val += this[offset + i] * mul 18168 } 18169 mul *= 0x80 18170 18171 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 18172 18173 return val 18174} 18175 18176Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { 18177 offset = offset | 0 18178 byteLength = byteLength | 0 18179 if (!noAssert) checkOffset(offset, byteLength, this.length) 18180 18181 var i = byteLength 18182 var mul = 1 18183 var val = this[offset + --i] 18184 while (i > 0 && (mul *= 0x100)) { 18185 val += this[offset + --i] * mul 18186 } 18187 mul *= 0x80 18188 18189 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 18190 18191 return val 18192} 18193 18194Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { 18195 if (!noAssert) checkOffset(offset, 1, this.length) 18196 if (!(this[offset] & 0x80)) return (this[offset]) 18197 return ((0xff - this[offset] + 1) * -1) 18198} 18199 18200Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { 18201 if (!noAssert) checkOffset(offset, 2, this.length) 18202 var val = this[offset] | (this[offset + 1] << 8) 18203 return (val & 0x8000) ? val | 0xFFFF0000 : val 18204} 18205 18206Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { 18207 if (!noAssert) checkOffset(offset, 2, this.length) 18208 var val = this[offset + 1] | (this[offset] << 8) 18209 return (val & 0x8000) ? val | 0xFFFF0000 : val 18210} 18211 18212Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { 18213 if (!noAssert) checkOffset(offset, 4, this.length) 18214 18215 return (this[offset]) | 18216 (this[offset + 1] << 8) | 18217 (this[offset + 2] << 16) | 18218 (this[offset + 3] << 24) 18219} 18220 18221Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { 18222 if (!noAssert) checkOffset(offset, 4, this.length) 18223 18224 return (this[offset] << 24) | 18225 (this[offset + 1] << 16) | 18226 (this[offset + 2] << 8) | 18227 (this[offset + 3]) 18228} 18229 18230Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { 18231 if (!noAssert) checkOffset(offset, 4, this.length) 18232 return ieee754.read(this, offset, true, 23, 4) 18233} 18234 18235Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { 18236 if (!noAssert) checkOffset(offset, 4, this.length) 18237 return ieee754.read(this, offset, false, 23, 4) 18238} 18239 18240Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { 18241 if (!noAssert) checkOffset(offset, 8, this.length) 18242 return ieee754.read(this, offset, true, 52, 8) 18243} 18244 18245Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { 18246 if (!noAssert) checkOffset(offset, 8, this.length) 18247 return ieee754.read(this, offset, false, 52, 8) 18248} 18249 18250function checkInt (buf, value, offset, ext, max, min) { 18251 if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') 18252 if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') 18253 if (offset + ext > buf.length) throw new RangeError('Index out of range') 18254} 18255 18256Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { 18257 value = +value 18258 offset = offset | 0 18259 byteLength = byteLength | 0 18260 if (!noAssert) { 18261 var maxBytes = Math.pow(2, 8 * byteLength) - 1 18262 checkInt(this, value, offset, byteLength, maxBytes, 0) 18263 } 18264 18265 var mul = 1 18266 var i = 0 18267 this[offset] = value & 0xFF 18268 while (++i < byteLength && (mul *= 0x100)) { 18269 this[offset + i] = (value / mul) & 0xFF 18270 } 18271 18272 return offset + byteLength 18273} 18274 18275Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { 18276 value = +value 18277 offset = offset | 0 18278 byteLength = byteLength | 0 18279 if (!noAssert) { 18280 var maxBytes = Math.pow(2, 8 * byteLength) - 1 18281 checkInt(this, value, offset, byteLength, maxBytes, 0) 18282 } 18283 18284 var i = byteLength - 1 18285 var mul = 1 18286 this[offset + i] = value & 0xFF 18287 while (--i >= 0 && (mul *= 0x100)) { 18288 this[offset + i] = (value / mul) & 0xFF 18289 } 18290 18291 return offset + byteLength 18292} 18293 18294Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { 18295 value = +value 18296 offset = offset | 0 18297 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) 18298 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 18299 this[offset] = (value & 0xff) 18300 return offset + 1 18301} 18302 18303function objectWriteUInt16 (buf, value, offset, littleEndian) { 18304 if (value < 0) value = 0xffff + value + 1 18305 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { 18306 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> 18307 (littleEndian ? i : 1 - i) * 8 18308 } 18309} 18310 18311Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { 18312 value = +value 18313 offset = offset | 0 18314 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 18315 if (Buffer.TYPED_ARRAY_SUPPORT) { 18316 this[offset] = (value & 0xff) 18317 this[offset + 1] = (value >>> 8) 18318 } else { 18319 objectWriteUInt16(this, value, offset, true) 18320 } 18321 return offset + 2 18322} 18323 18324Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { 18325 value = +value 18326 offset = offset | 0 18327 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 18328 if (Buffer.TYPED_ARRAY_SUPPORT) { 18329 this[offset] = (value >>> 8) 18330 this[offset + 1] = (value & 0xff) 18331 } else { 18332 objectWriteUInt16(this, value, offset, false) 18333 } 18334 return offset + 2 18335} 18336 18337function objectWriteUInt32 (buf, value, offset, littleEndian) { 18338 if (value < 0) value = 0xffffffff + value + 1 18339 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { 18340 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff 18341 } 18342} 18343 18344Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { 18345 value = +value 18346 offset = offset | 0 18347 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 18348 if (Buffer.TYPED_ARRAY_SUPPORT) { 18349 this[offset + 3] = (value >>> 24) 18350 this[offset + 2] = (value >>> 16) 18351 this[offset + 1] = (value >>> 8) 18352 this[offset] = (value & 0xff) 18353 } else { 18354 objectWriteUInt32(this, value, offset, true) 18355 } 18356 return offset + 4 18357} 18358 18359Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { 18360 value = +value 18361 offset = offset | 0 18362 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 18363 if (Buffer.TYPED_ARRAY_SUPPORT) { 18364 this[offset] = (value >>> 24) 18365 this[offset + 1] = (value >>> 16) 18366 this[offset + 2] = (value >>> 8) 18367 this[offset + 3] = (value & 0xff) 18368 } else { 18369 objectWriteUInt32(this, value, offset, false) 18370 } 18371 return offset + 4 18372} 18373 18374Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { 18375 value = +value 18376 offset = offset | 0 18377 if (!noAssert) { 18378 var limit = Math.pow(2, 8 * byteLength - 1) 18379 18380 checkInt(this, value, offset, byteLength, limit - 1, -limit) 18381 } 18382 18383 var i = 0 18384 var mul = 1 18385 var sub = 0 18386 this[offset] = value & 0xFF 18387 while (++i < byteLength && (mul *= 0x100)) { 18388 if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { 18389 sub = 1 18390 } 18391 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 18392 } 18393 18394 return offset + byteLength 18395} 18396 18397Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { 18398 value = +value 18399 offset = offset | 0 18400 if (!noAssert) { 18401 var limit = Math.pow(2, 8 * byteLength - 1) 18402 18403 checkInt(this, value, offset, byteLength, limit - 1, -limit) 18404 } 18405 18406 var i = byteLength - 1 18407 var mul = 1 18408 var sub = 0 18409 this[offset + i] = value & 0xFF 18410 while (--i >= 0 && (mul *= 0x100)) { 18411 if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { 18412 sub = 1 18413 } 18414 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 18415 } 18416 18417 return offset + byteLength 18418} 18419 18420Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { 18421 value = +value 18422 offset = offset | 0 18423 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) 18424 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 18425 if (value < 0) value = 0xff + value + 1 18426 this[offset] = (value & 0xff) 18427 return offset + 1 18428} 18429 18430Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { 18431 value = +value 18432 offset = offset | 0 18433 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 18434 if (Buffer.TYPED_ARRAY_SUPPORT) { 18435 this[offset] = (value & 0xff) 18436 this[offset + 1] = (value >>> 8) 18437 } else { 18438 objectWriteUInt16(this, value, offset, true) 18439 } 18440 return offset + 2 18441} 18442 18443Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { 18444 value = +value 18445 offset = offset | 0 18446 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 18447 if (Buffer.TYPED_ARRAY_SUPPORT) { 18448 this[offset] = (value >>> 8) 18449 this[offset + 1] = (value & 0xff) 18450 } else { 18451 objectWriteUInt16(this, value, offset, false) 18452 } 18453 return offset + 2 18454} 18455 18456Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { 18457 value = +value 18458 offset = offset | 0 18459 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 18460 if (Buffer.TYPED_ARRAY_SUPPORT) { 18461 this[offset] = (value & 0xff) 18462 this[offset + 1] = (value >>> 8) 18463 this[offset + 2] = (value >>> 16) 18464 this[offset + 3] = (value >>> 24) 18465 } else { 18466 objectWriteUInt32(this, value, offset, true) 18467 } 18468 return offset + 4 18469} 18470 18471Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { 18472 value = +value 18473 offset = offset | 0 18474 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 18475 if (value < 0) value = 0xffffffff + value + 1 18476 if (Buffer.TYPED_ARRAY_SUPPORT) { 18477 this[offset] = (value >>> 24) 18478 this[offset + 1] = (value >>> 16) 18479 this[offset + 2] = (value >>> 8) 18480 this[offset + 3] = (value & 0xff) 18481 } else { 18482 objectWriteUInt32(this, value, offset, false) 18483 } 18484 return offset + 4 18485} 18486 18487function checkIEEE754 (buf, value, offset, ext, max, min) { 18488 if (offset + ext > buf.length) throw new RangeError('Index out of range') 18489 if (offset < 0) throw new RangeError('Index out of range') 18490} 18491 18492function writeFloat (buf, value, offset, littleEndian, noAssert) { 18493 if (!noAssert) { 18494 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) 18495 } 18496 ieee754.write(buf, value, offset, littleEndian, 23, 4) 18497 return offset + 4 18498} 18499 18500Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { 18501 return writeFloat(this, value, offset, true, noAssert) 18502} 18503 18504Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { 18505 return writeFloat(this, value, offset, false, noAssert) 18506} 18507 18508function writeDouble (buf, value, offset, littleEndian, noAssert) { 18509 if (!noAssert) { 18510 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) 18511 } 18512 ieee754.write(buf, value, offset, littleEndian, 52, 8) 18513 return offset + 8 18514} 18515 18516Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { 18517 return writeDouble(this, value, offset, true, noAssert) 18518} 18519 18520Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { 18521 return writeDouble(this, value, offset, false, noAssert) 18522} 18523 18524// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) 18525Buffer.prototype.copy = function copy (target, targetStart, start, end) { 18526 if (!start) start = 0 18527 if (!end && end !== 0) end = this.length 18528 if (targetStart >= target.length) targetStart = target.length 18529 if (!targetStart) targetStart = 0 18530 if (end > 0 && end < start) end = start 18531 18532 // Copy 0 bytes; we're done 18533 if (end === start) return 0 18534 if (target.length === 0 || this.length === 0) return 0 18535 18536 // Fatal error conditions 18537 if (targetStart < 0) { 18538 throw new RangeError('targetStart out of bounds') 18539 } 18540 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') 18541 if (end < 0) throw new RangeError('sourceEnd out of bounds') 18542 18543 // Are we oob? 18544 if (end > this.length) end = this.length 18545 if (target.length - targetStart < end - start) { 18546 end = target.length - targetStart + start 18547 } 18548 18549 var len = end - start 18550 var i 18551 18552 if (this === target && start < targetStart && targetStart < end) { 18553 // descending copy from end 18554 for (i = len - 1; i >= 0; --i) { 18555 target[i + targetStart] = this[i + start] 18556 } 18557 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { 18558 // ascending copy from start 18559 for (i = 0; i < len; ++i) { 18560 target[i + targetStart] = this[i + start] 18561 } 18562 } else { 18563 Uint8Array.prototype.set.call( 18564 target, 18565 this.subarray(start, start + len), 18566 targetStart 18567 ) 18568 } 18569 18570 return len 18571} 18572 18573// Usage: 18574// buffer.fill(number[, offset[, end]]) 18575// buffer.fill(buffer[, offset[, end]]) 18576// buffer.fill(string[, offset[, end]][, encoding]) 18577Buffer.prototype.fill = function fill (val, start, end, encoding) { 18578 // Handle string cases: 18579 if (typeof val === 'string') { 18580 if (typeof start === 'string') { 18581 encoding = start 18582 start = 0 18583 end = this.length 18584 } else if (typeof end === 'string') { 18585 encoding = end 18586 end = this.length 18587 } 18588 if (val.length === 1) { 18589 var code = val.charCodeAt(0) 18590 if (code < 256) { 18591 val = code 18592 } 18593 } 18594 if (encoding !== undefined && typeof encoding !== 'string') { 18595 throw new TypeError('encoding must be a string') 18596 } 18597 if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { 18598 throw new TypeError('Unknown encoding: ' + encoding) 18599 } 18600 } else if (typeof val === 'number') { 18601 val = val & 255 18602 } 18603 18604 // Invalid ranges are not set to a default, so can range check early. 18605 if (start < 0 || this.length < start || this.length < end) { 18606 throw new RangeError('Out of range index') 18607 } 18608 18609 if (end <= start) { 18610 return this 18611 } 18612 18613 start = start >>> 0 18614 end = end === undefined ? this.length : end >>> 0 18615 18616 if (!val) val = 0 18617 18618 var i 18619 if (typeof val === 'number') { 18620 for (i = start; i < end; ++i) { 18621 this[i] = val 18622 } 18623 } else { 18624 var bytes = Buffer.isBuffer(val) 18625 ? val 18626 : utf8ToBytes(new Buffer(val, encoding).toString()) 18627 var len = bytes.length 18628 for (i = 0; i < end - start; ++i) { 18629 this[i + start] = bytes[i % len] 18630 } 18631 } 18632 18633 return this 18634} 18635 18636// HELPER FUNCTIONS 18637// ================ 18638 18639var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g 18640 18641function base64clean (str) { 18642 // Node strips out invalid characters like \n and \t from the string, base64-js does not 18643 str = stringtrim(str).replace(INVALID_BASE64_RE, '') 18644 // Node converts strings with length < 2 to '' 18645 if (str.length < 2) return '' 18646 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not 18647 while (str.length % 4 !== 0) { 18648 str = str + '=' 18649 } 18650 return str 18651} 18652 18653function stringtrim (str) { 18654 if (str.trim) return str.trim() 18655 return str.replace(/^\s+|\s+$/g, '') 18656} 18657 18658function toHex (n) { 18659 if (n < 16) return '0' + n.toString(16) 18660 return n.toString(16) 18661} 18662 18663function utf8ToBytes (string, units) { 18664 units = units || Infinity 18665 var codePoint 18666 var length = string.length 18667 var leadSurrogate = null 18668 var bytes = [] 18669 18670 for (var i = 0; i < length; ++i) { 18671 codePoint = string.charCodeAt(i) 18672 18673 // is surrogate component 18674 if (codePoint > 0xD7FF && codePoint < 0xE000) { 18675 // last char was a lead 18676 if (!leadSurrogate) { 18677 // no lead yet 18678 if (codePoint > 0xDBFF) { 18679 // unexpected trail 18680 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 18681 continue 18682 } else if (i + 1 === length) { 18683 // unpaired lead 18684 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 18685 continue 18686 } 18687 18688 // valid lead 18689 leadSurrogate = codePoint 18690 18691 continue 18692 } 18693 18694 // 2 leads in a row 18695 if (codePoint < 0xDC00) { 18696 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 18697 leadSurrogate = codePoint 18698 continue 18699 } 18700 18701 // valid surrogate pair 18702 codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 18703 } else if (leadSurrogate) { 18704 // valid bmp char, but last char was a lead 18705 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 18706 } 18707 18708 leadSurrogate = null 18709 18710 // encode utf8 18711 if (codePoint < 0x80) { 18712 if ((units -= 1) < 0) break 18713 bytes.push(codePoint) 18714 } else if (codePoint < 0x800) { 18715 if ((units -= 2) < 0) break 18716 bytes.push( 18717 codePoint >> 0x6 | 0xC0, 18718 codePoint & 0x3F | 0x80 18719 ) 18720 } else if (codePoint < 0x10000) { 18721 if ((units -= 3) < 0) break 18722 bytes.push( 18723 codePoint >> 0xC | 0xE0, 18724 codePoint >> 0x6 & 0x3F | 0x80, 18725 codePoint & 0x3F | 0x80 18726 ) 18727 } else if (codePoint < 0x110000) { 18728 if ((units -= 4) < 0) break 18729 bytes.push( 18730 codePoint >> 0x12 | 0xF0, 18731 codePoint >> 0xC & 0x3F | 0x80, 18732 codePoint >> 0x6 & 0x3F | 0x80, 18733 codePoint & 0x3F | 0x80 18734 ) 18735 } else { 18736 throw new Error('Invalid code point') 18737 } 18738 } 18739 18740 return bytes 18741} 18742 18743function asciiToBytes (str) { 18744 var byteArray = [] 18745 for (var i = 0; i < str.length; ++i) { 18746 // Node's code seems to be doing this and not & 0x7F.. 18747 byteArray.push(str.charCodeAt(i) & 0xFF) 18748 } 18749 return byteArray 18750} 18751 18752function utf16leToBytes (str, units) { 18753 var c, hi, lo 18754 var byteArray = [] 18755 for (var i = 0; i < str.length; ++i) { 18756 if ((units -= 2) < 0) break 18757 18758 c = str.charCodeAt(i) 18759 hi = c >> 8 18760 lo = c % 256 18761 byteArray.push(lo) 18762 byteArray.push(hi) 18763 } 18764 18765 return byteArray 18766} 18767 18768function base64ToBytes (str) { 18769 return base64.toByteArray(base64clean(str)) 18770} 18771 18772function blitBuffer (src, dst, offset, length) { 18773 for (var i = 0; i < length; ++i) { 18774 if ((i + offset >= dst.length) || (i >= src.length)) break 18775 dst[i + offset] = src[i] 18776 } 18777 return i 18778} 18779 18780function isnan (val) { 18781 return val !== val // eslint-disable-line no-self-compare 18782} 18783
vendor: 3,287 bytes, lines 18784-18899
18784/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 18785 18786/***/ }), 18787/* 314 */ 18788/***/ (function(module, exports, __webpack_require__) { 18789 18790/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors. 18791// 18792// Permission is hereby granted, free of charge, to any person obtaining a 18793// copy of this software and associated documentation files (the 18794// "Software"), to deal in the Software without restriction, including 18795// without limitation the rights to use, copy, modify, merge, publish, 18796// distribute, sublicense, and/or sell copies of the Software, and to permit 18797// persons to whom the Software is furnished to do so, subject to the 18798// following conditions: 18799// 18800// The above copyright notice and this permission notice shall be included 18801// in all copies or substantial portions of the Software. 18802// 18803// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18804// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18805// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 18806// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18807// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18808// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 18809// USE OR OTHER DEALINGS IN THE SOFTWARE. 18810 18811// NOTE: These type checking functions intentionally don't use `instanceof` 18812// because it is fragile and can be easily faked with `Object.create()`. 18813 18814function isArray(arg) { 18815 if (Array.isArray) { 18816 return Array.isArray(arg); 18817 } 18818 return objectToString(arg) === '[object Array]'; 18819} 18820exports.isArray = isArray; 18821 18822function isBoolean(arg) { 18823 return typeof arg === 'boolean'; 18824} 18825exports.isBoolean = isBoolean; 18826 18827function isNull(arg) { 18828 return arg === null; 18829} 18830exports.isNull = isNull; 18831 18832function isNullOrUndefined(arg) { 18833 return arg == null; 18834} 18835exports.isNullOrUndefined = isNullOrUndefined; 18836 18837function isNumber(arg) { 18838 return typeof arg === 'number'; 18839} 18840exports.isNumber = isNumber; 18841 18842function isString(arg) { 18843 return typeof arg === 'string'; 18844} 18845exports.isString = isString; 18846 18847function isSymbol(arg) { 18848 return typeof arg === 'symbol'; 18849} 18850exports.isSymbol = isSymbol; 18851 18852function isUndefined(arg) { 18853 return arg === void 0; 18854} 18855exports.isUndefined = isUndefined; 18856 18857function isRegExp(re) { 18858 return objectToString(re) === '[object RegExp]'; 18859} 18860exports.isRegExp = isRegExp; 18861 18862function isObject(arg) { 18863 return typeof arg === 'object' && arg !== null; 18864} 18865exports.isObject = isObject; 18866 18867function isDate(d) { 18868 return objectToString(d) === '[object Date]'; 18869} 18870exports.isDate = isDate; 18871 18872function isError(e) { 18873 return (objectToString(e) === '[object Error]' || e instanceof Error); 18874} 18875exports.isError = isError; 18876 18877function isFunction(arg) { 18878 return typeof arg === 'function'; 18879} 18880exports.isFunction = isFunction; 18881 18882function isPrimitive(arg) { 18883 return arg === null || 18884 typeof arg === 'boolean' || 18885 typeof arg === 'number' || 18886 typeof arg === 'string' || 18887 typeof arg === 'symbol' || // ES6 symbol 18888 typeof arg === 'undefined'; 18889} 18890exports.isPrimitive = isPrimitive; 18891 18892exports.isBuffer = Buffer.isBuffer; 18893 18894function objectToString(o) { 18895 return Object.prototype.toString.call(o); 18896} 18897 18898/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113).Buffer)) 18899
18900/***/ }), 18901/* 315 */ 18902/***/ (function(module, exports, __webpack_require__) { 18903 18904// extracted by mini-css-extract-plugin 18905module.exports = {"analyticsFrame":"AnalyticsProvider-module__analyticsFrame--2zWta"}; 18906 18907/***/ }), 18908/* 316 */, 18909/* 317 */ 18910/***/ (function(module, exports, __webpack_require__) { 18911 18912/* WEBPACK VAR INJECTION */(function(global) {var ClientRequest = __webpack_require__(915) 18913var response = __webpack_require__(739) 18914var extend = __webpack_require__(917) 18915var statusCodes = __webpack_require__(918) 18916var url = __webpack_require__(246) 18917 18918var http = exports 18919 18920http.request = function (opts, cb) { 18921 if (typeof opts === 'string') 18922 opts = url.parse(opts) 18923 else 18924 opts = extend(opts) 18925 18926 // Normally, the page is loaded from http or https, so not specifying a protocol 18927 // will result in a (valid) protocol-relative url. However, this won't work if 18928 // the protocol is something else, like 'file:' 18929 var defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : '' 18930 18931 var protocol = opts.protocol || defaultProtocol 18932 var host = opts.hostname || opts.host 18933 var port = opts.port 18934 var path = opts.path || '/' 18935 18936 // Necessary for IPv6 addresses 18937 if (host && host.indexOf(':') !== -1) 18938 host = '[' + host + ']' 18939 18940 // This may be a relative url. The browser should always be able to interpret it c
18940orrectly. 18941 opts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path 18942 opts.method = (opts.method || 'GET').toUpperCase() 18943 opts.headers = opts.headers || {} 18944 18945 // Also valid opts.auth, opts.mode 18946 18947 var req = new ClientRequest(opts) 18948 if (cb) 18949 req.on('response', cb) 18950 return req 18951} 18952 18953http.get = function get (opts, cb) { 18954 var req = http.request(opts, cb) 18955 req.end() 18956 return req 18957} 18958 18959http.ClientRequest = ClientRequest 18960http.IncomingMessage = response.IncomingMessage 18961 18962http.Agent = function () {} 18963http.Agent.defaultMaxSockets = 4 18964 18965http.globalAgent = new http.Agent() 18966 18967http.STATUS_CODES = statusCodes 18968 18969http.METHODS = [ 18970 'CHECKOUT', 18971 'CONNECT', 18972 'COPY', 18973 'DELETE', 18974 'GET', 18975 'HEAD', 18976 'LOCK', 18977 'M-SEARCH', 18978 'MERGE', 18979 'MKACTIVITY', 18980 'MKCOL', 18981 'MOVE', 18982 'NOTIFY', 18983 'OPTIONS', 18984 'PATCH', 18985 'POST', 18986 'PROPFIND', 18987 'PROPPATCH', 18988 'PURGE', 18989 'PUT', 18990 'REPORT', 18991 'SEARCH', 18992 'SUBSCRIBE', 18993 'TRACE', 18994 'UNLOCK', 18995 'UNSUBSCRIBE' 18996] 18997/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 18998 18999/***/ }), 19000/* 318 */, 19001/* 319 */ 19002/***/ (function(module, __webpack_exports__, __webpack_require__) { 19003 19004"use strict"; 19005/* unused harmony export defaults */ 19006/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hasXMLHttpRequest; }); 19007/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return makePromise; }); 19008function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 19009var arr = []; 19010var each = arr.forEach; 19011var slice = arr.slice; 19012function defaults(obj) { 19013 each.call(slice.call(arguments, 1), function (source) { 19014 if (source) { 19015 for (var prop in source) { 19016 if (obj[prop] === undefined) obj[prop] = source[prop]; 19017 } 19018 } 19019 }); 19020 return obj; 19021} 19022function hasXMLHttpRequest() { 19023 return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === "undefined" ? "undefined" : _typeof(XMLHttpRequest)) === 'object'; 19024} 19025function isPromise(maybePromise) { 19026 return !!maybePromise && typeof maybePromise.then === 'function'; 19027} 19028function makePromise(maybePromise) { 19029 if (isPromise(maybePromise)) { 19030 return maybePromise; 19031 } 19032 return Promise.resolve(maybePromise); 19033} 19034 19035/***/ }), 19036/* 320 */, 19037/* 321 */ 19038/***/ (function(module, __webpack_exports__, __webpack_require__) { 19039 19040"use strict"; 19041 19042// EXPORTS 19043__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ i18nOpts; }); 19044__webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ initI18n; }); 19045__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ changeLanguage; }); 19046 19047// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 19048var es_symbolbabel_target_legacy = __webpack_require__(71); 19049 19050// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 19051var es_array_concatbabel_target_legacy = __webpack_require__(75); 19052 19053// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 19054var es_array_filterbabel_target_legacy = __webpack_require__(70); 19055 19056// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 19057var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 19058 19059// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js?babel-target=legacy 19060var es_array_includesbabel_target_legacy = __webpack_require__(124); 19061 19062// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 19063var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 19064 19065// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 19066var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 19067 19068// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 19069var es_object_keysbabel_target_legacy = __webpack_require__(89); 19070 19071// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 19072var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 19073 19074// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js?babel-target=legacy 19075var es_promisebabel_target_legacy = __webpack_require__(187); 19076 19077// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js?babel-target=legacy 19078var es_regexp_execbabel_target_legacy = __webpack_require__(93); 19079 19080// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js?babel-target=legacy 19081var es_string_includesbabel_target_legacy = __webpack_require__(140); 19082 19083// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js?babel-target=legacy 19084var es_string_searchbabel_target_legacy = __webpack_require__(254); 19085 19086// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 19087var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 19088
19089// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 19090var definePropertybabel_target_legacy = __webpack_require__(15); 19091var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 19092 19093// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 19094var regenerator_babel_target_legacy = __webpack_require__(6); 19095var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 19096 19097// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 19098var runtimebabel_target_legacy = __webpack_require__(60); 19099 19100// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 19101var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 19102var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 19103 19104// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js?babel-target=legacy 19105function _typeof(obj) { 19106 "@babel/helpers - typeof"; 19107 19108 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 19109 _typeof = function _typeof(obj) { 19110 return typeof obj; 19111 }; 19112 } else { 19113 _typeof = function _typeof(obj) { 19114 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 19115 }; 19116 } 19117 19118 return _typeof(obj); 19119} 19120// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js?babel-target=legacy 19121function _defineProperty(obj, key, value) { 19122 if (key in obj) { 19123 Object.defineProperty(obj, key, { 19124 value: value, 19125 enumerable: true, 19126 configurable: true, 19127 writable: true 19128 }); 19129 } else { 19130 obj[key] = value; 19131 } 19132 19133 return obj; 19134} 19135// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js?babel-target=legacy 19136 19137function _objectSpread(target) { 19138 for (var i = 1; i < arguments.length; i++) { 19139 var source = arguments[i] != null ? Object(arguments[i]) : {}; 19140 var ownKeys = Object.keys(source); 19141 19142 if (typeof Object.getOwnPropertySymbols === 'function') { 19143 ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { 19144 return Object.getOwnPropertyDescriptor(source, sym).enumerable; 19145 })); 19146 } 19147 19148 ownKeys.forEach(function (key) { 19149 _defineProperty(target, key, source[key]); 19150 }); 19151 } 19152 19153 return target; 19154} 19155// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?babel-target=legacy 19156function _classCallCheck(instance, Constructor) { 19157 if (!(instance instanceof Constructor)) { 19158 throw new TypeError("Cannot call a class as a function"); 19159 } 19160} 19161// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js?babel-target=legacy 19162function _defineProperties(target, props) { 19163 for (var i = 0; i < props.length; i++) { 19164 var descriptor = props[i]; 19165 descriptor.enumerable = descriptor.enumerable || false; 19166 descriptor.configurable = true; 19167 if ("value" in descriptor) descriptor.writable = true; 19168 Object.defineProperty(target, descriptor.key, descriptor); 19169 } 19170} 19171 19172function _createClass(Constructor, protoProps, staticProps) { 19173 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 19174 if (staticProps) _defineProperties(Constructor, staticProps); 19175 return Constructor; 19176} 19177// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js?babel-target=legacy 19178var assertThisInitializedbabel_target_legacy = __webpack_require__(110); 19179 19180// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js?babel-target=legacy 19181 19182 19183function _possibleConstructorReturn(self, call) { 19184 if (call && (_typeof(call) === "object" || typeof call === "function")) { 19185 return call; 19186 } 19187 19188 return Object(assertThisInitializedbabel_target_legacy["a" /* default */])(self); 19189} 19190// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js?babel-target=legacy 19191function _getPrototypeOf(o) { 19192 _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o
19192) { 19193 return o.__proto__ || Object.getPrototypeOf(o); 19194 }; 19195 return _getPrototypeOf(o); 19196} 19197// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js?babel-target=legacy 19198function _setPrototypeOf(o, p) { 19199 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 19200 o.__proto__ = p; 19201 return o; 19202 }; 19203 19204 return _setPrototypeOf(o, p); 19205} 19206// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js?babel-target=legacy 19207 19208function _inherits(subClass, superClass) { 19209 if (typeof superClass !== "function" && superClass !== null) { 19210 throw new TypeError("Super expression must either be null or a function"); 19211 } 19212 19213 subClass.prototype = Object.create(superClass && superClass.prototype, { 19214 constructor: { 19215 value: subClass, 19216 writable: true, 19217 configurable: true 19218 } 19219 }); 19220 if (superClass) _setPrototypeOf(subClass, superClass); 19221} 19222// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js?babel-target=legacy 19223function _arrayLikeToArray(arr, len) { 19224 if (len == null || len > arr.length) len = arr.length; 19225 19226 for (var i = 0, arr2 = new Array(len); i < len; i++) { 19227 arr2[i] = arr[i]; 19228 } 19229 19230 return arr2; 19231} 19232// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?babel-target=legacy 19233 19234function _arrayWithoutHoles(arr) { 19235 if (Array.isArray(arr)) return _arrayLikeToArray(arr); 19236} 19237// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?babel-target=legacy 19238function _iterableToArray(iter) { 19239 if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); 19240} 19241// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?babel-target=legacy 19242 19243function _unsupportedIterableToArray(o, minLen) { 19244 if (!o) return; 19245 if (typeof o === "string") return _arrayLikeToArray(o, minLen); 19246 var n = Object.prototype.toString.call(o).slice(8, -1); 19247 if (n === "Object" && o.constructor) n = o.constructor.name; 19248 if (n === "Map" || n === "Set") return Array.from(o); 19249 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); 19250} 19251// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?babel-target=legacy 19252function _nonIterableSpread() { 19253 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 19254} 19255// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?babel-target=legacy 19256 19257 19258 19259 19260function _toConsumableArray(arr) { 19261 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); 19262} 19263// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js?babel-target=legacy 19264function _arrayWithHoles(arr) { 19265 if (Array.isArray(arr)) return arr; 19266} 19267// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js?babel-target=legacy 19268function _iterableToArrayLimit(arr, i) { 19269 if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; 19270 var _arr = []; 19271 var _n = true; 19272 var _d = false; 19273 var _e = undefined; 19274 19275 try { 19276 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 19277 _arr.push(_s.value); 19278 19279 if (i && _arr.length === i) break; 19280 } 19281 } catch (err) { 19282 _d = true; 19283 _e = err; 19284 } finally { 19285 try { 19286 if (!_n && _i["return"] != null) _i["return"](); 19287 } finally { 19288 if (_d) throw _e; 19289 } 19290 } 19291 19292 return _arr; 19293} 19294// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js?babel-target=legacy 19295function _nonIterableRest() { 19296 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 19297} 19298// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js?babel-target=legacy 19299 19300 19301 19302 19303function _slicedToArray(arr, i) { 19304 return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); 19305} 19306// CONCATENATED MODULE: ./node_modules/i18next/dist/esm/i18next.js?babel-target=legacy 19307 19308 19309 19310 19311 19312 19313 19314 19315 19316 19317 19318var consoleLogger = { 19319 type: 'logger', 19320 log: function log(args) { 19321 this.output('log', args); 19322 }, 19323 warn: function warn(args) { 19324 this.output('warn', args); 19325 }, 19326 error: function error(args) { 19327 this.output('error', args); 19328 }, 19329 output: function output(type, args) { 19330 var _console; 19331 19332 /* eslint no-console: 0 */ 19333 if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args)); 19334 } 19335}; 19336 19337var i18nextbabel_target_legacy_Logger = 19338/*#__PURE__*/ 19339function () { 19340 function Logger(concreteLogger) { 19341 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 19342 19343 _classCallCheck(this, Logger); 19344 19345 this.init(concreteLogger, options); 19346 } 19347 19348 _createClass(Logger, [{ 19349 key: "init", 19350 value: function init(concreteLogger) { 19351 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 19352 this.prefix = options.prefix || 'i18next:'; 19353 this.logger = concreteLogger || consoleLogger; 19354 this.options = options; 19355 this.debug = options.debug; 19356 } 19357 }, { 19358 key: "setDebug", 19359 value: function setDebug(bool) { 19360 this.debug = bool; 19361 } 19362 }, { 19363 key: "log", 19364 value: function log() { 19365 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 19366 args[_key] = arguments[_key]; 19367 } 19368 19369 return this.forward(args, 'log', '', true); 19370 } 19371 }, { 19372 key: "warn", 19373 value: function warn() { 19374 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 19375 args[_key2] = arguments[_key2]; 19376 } 19377 19378 return this.forward(args, 'warn', '', true); 19379 } 19380 }, { 19381 key: "error", 19382 value: function error() { 19383 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { 19384 args[_key3] = arguments[_key3]; 19385 } 19386 19387 return this.forward(args, 'error', ''); 19388 } 19389 }, { 19390 key: "deprecate", 19391 value: function deprecate() { 19392 for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
19393 args[_key4] = arguments[_key4]; 19394 } 19395 19396 return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true); 19397 } 19398 }, { 19399 key: "forward", 19400 value: function forward(args, lvl, prefix, debugOnly) { 19401 if (debugOnly && !this.debug) return null; 19402 if (typeof args[0] === 'string') args[0] = "".concat(prefix).concat(this.prefix, " ").concat(args[0]); 19403 return this.logger[lvl](args); 19404 } 19405 }, { 19406 key: "create", 19407 value: function create(moduleName) { 19408 return new Logger(this.logger, _objectSpread({}, { 19409 prefix: "".concat(this.prefix, ":").concat(moduleName, ":") 19410 }, this.options)); 19411 } 19412 }]); 19413 19414 return Logger; 19415}(); 19416 19417var baseLogger = new i18nextbabel_target_legacy_Logger(); 19418 19419var i18nextbabel_target_legacy_EventEmitter = 19420/*#__PURE__*/ 19421function () { 19422 function EventEmitter() { 19423 _classCallCheck(this, EventEmitter); 19424 19425 this.observers = {}; 19426 } 19427 19428 _createClass(EventEmitter, [{ 19429 key: "on", 19430 value: function on(events, listener) { 19431 var _this = this; 19432 19433 events.split(' ').forEach(function (event) { 19434 _this.observers[event] = _this.observers[event] || []; 19435 19436 _this.observers[event].push(listener); 19437 }); 19438 return this; 19439 } 19440 }, { 19441 key: "off", 19442 value: function off(event, listener) { 19443 if (!this.observers[event]) return; 19444 19445 if (!listener) { 19446 delete this.observers[event]; 19447 return; 19448 } 19449 19450 this.observers[event] = this.observers[event].filter(function (l) { 19451 return l !== listener; 19452 }); 19453 } 19454 }, { 19455 key: "emit", 19456 value: function emit(event) { 19457 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 19458 args[_key - 1] = arguments[_key]; 19459 } 19460 19461 if (this.observers[event]) { 19462 var cloned = [].concat(this.observers[event]); 19463 cloned.forEach(function (observer) { 19464 observer.apply(void 0, args); 19465 }); 19466 } 19467 19468 if (this.observers['*']) { 19469 var _cloned = [].concat(this.observers['*']); 19470 19471 _cloned.forEach(function (observer) { 19472 observer.apply(observer, [event].concat(args)); 19473 }); 19474 } 19475 } 19476 }]); 19477 19478 return EventEmitter; 19479}(); 19480 19481// http://lea.verou.me/2016/12/resolve-promises-externally-with-this-one-weird-trick/ 19482function defer() { 19483 var res; 19484 var rej; 19485 var promise = new Promise(function (resolve, reject) { 19486 res = resolve; 19487 rej = reject; 19488 }); 19489 promise.resolve = res; 19490 promise.reject = rej; 19491 return promise; 19492} 19493function makeString(object) { 19494 if (object == null) return ''; 19495 /* eslint prefer-template: 0 */ 19496 19497 return '' + object; 19498} 19499function copy(a, s, t) { 19500 a.forEach(function (m) { 19501 if (s[m]) t[m] = s[m]; 19502 }); 19503} 19504 19505function getLastOfPath(object, path, Empty) { 19506 function cleanKey(key) { 19507 return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key; 19508 } 19509 19510 function canNotTraverseDeeper() { 19511 return !object || typeof object === 'string'; 19512 } 19513 19514 var stack = typeof path !== 'string' ? [].concat(path) : path.split('.'); 19515 19516 while (stack.length > 1) { 19517 if (canNotTraverseDeeper()) return {}; 19518 var key = cleanKey(stack.shift()); 19519 if (!object[key] && Empty) object[key] = new Empty(); 19520 object = object[key]; 19521 } 19522 19523 if (canNotTraverseDeeper()) return {}; 19524 return { 19525 obj: object, 19526 k: cleanKey(stack.shift()) 19527 }; 19528} 19529 19530function setPath(object, path, newValue) { 19531 var _getLastOfPath = getLastOfPath(object, path, Object), 19532 obj = _getLastOfPath.obj, 19533 k = _getLastOfPath.k; 19534 19535 obj[k] = newValue; 19536} 19537function pushPath(object, path, newValue, concat) { 19538 var _getLastOfPath2 = getLastOfPath(object, path, Object), 19539 obj = _getLastOfPath2.obj, 19540 k = _getLastOfPath2.k; 19541 19542 obj[k] = obj[k] || []; 19543 if (concat) obj[k] = obj[k].concat(newValue); 19544 if (!concat) obj[k].push(newValue); 19545} 19546function getPath(object, path) { 19547 var _getLastOfPath3 = getLastOfPath(object, path), 19548 obj = _getLastOfPath3.obj, 19549 k = _getLastOfPath3.k; 19550 19551 if (!obj) return undefined; 19552 return obj[k]; 19553} 19554function getPathWithDefaults(data, defaultData, key) { 19555 var value = getPath(data, key); 19556 19557 if (value !== undefined) { 19558 return value; 19559 } // Fallback to default values 19560 19561 19562 return getPath(defaultData, key); 19563} 19564function deepExtend(target, source, overwrite) { 19565 /* eslint no-restricted-syntax: 0 */ 19566 for (var prop in source) { 19567 if (prop in target) { 19568 // If we reached a leaf string in target or source then replace with source or skip depen
19568ding on the 'overwrite' switch 19569 if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) { 19570 if (overwrite) target[prop] = source[prop]; 19571 } else { 19572 deepExtend(target[prop], source[prop], overwrite); 19573 } 19574 } else { 19575 target[prop] = source[prop]; 19576 } 19577 } 19578 19579 return target; 19580} 19581function regexEscape(str) { 19582 /* eslint no-useless-escape: 0 */ 19583 return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); 19584} 19585/* eslint-disable */ 19586 19587var _entityMap = { 19588 '&': '&', 19589 '<': '<', 19590 '>': '>', 19591 '"': '"', 19592 "'": ''', 19593 '/': '/' 19594}; 19595/* eslint-enable */ 19596 19597function i18nextbabel_target_legacy_escape(data) { 19598 if (typeof data === 'string') { 19599 return data.replace(/[&<>"'\/]/g, function (s) { 19600 return _entityMap[s]; 19601 }); 19602 } 19603 19604 return data; 19605} 19606 19607var i18nextbabel_target_legacy_ResourceStore = 19608/*#__PURE__*/ 19609function (_EventEmitter) { 19610 _inherits(ResourceStore, _EventEmitter); 19611 19612 function ResourceStore(data) { 19613 var _this; 19614 19615 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { 19616 ns: ['translation'], 19617 defaultNS: 'translation' 19618 }; 19619 19620 _classCallCheck(this, ResourceStore); 19621 19622 _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this)); 19623 i18nextbabel_target_legacy_EventEmitter.call(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); // <=IE10 fix (unable to call parent constructor) 19624 19625 _this.data = data || {}; 19626 _this.options = options; 19627 19628 if (_this.options.keySeparator === undefined) { 19629 _this.options.keySeparator = '.'; 19630 } 19631 19632 return _this; 19633 } 19634 19635 _createClass(ResourceStore, [{ 19636 key: "addNamespaces", 19637 value: function addNamespaces(ns) { 19638 if (this.options.ns.indexOf(ns) < 0) { 19639 this.options.ns.push(ns); 19640 } 19641 } 19642 }, { 19643 key: "removeNamespaces", 19644 value: function removeNamespaces(ns) { 19645 var index = this.options.ns.indexOf(ns); 19646 19647 if (index > -1) { 19648 this.options.ns.splice(index, 1); 19649 } 19650 } 19651 }, { 19652 key: "getResource", 19653 value: function getResource(lng, ns, key) { 19654 var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; 19655 var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; 19656 var path = [lng, ns]; 19657 if (key && typeof key !== 'string') path = path.concat(key); 19658 if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key); 19659 19660 if (lng.indexOf('.') > -1) { 19661 path = lng.split('.'); 19662 } 19663 19664 return getPath(this.data, path); 19665 } 19666 }, { 19667 key: "addResource", 19668 value: function addResource(lng, ns, key, value) { 19669 var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { 19670 silent: false 19671 }; 19672 var keySeparator = this.options.keySeparator; 19673 if (keySeparator === undefined) keySeparator = '.'; 19674 var path = [lng, ns]; 19675 if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key); 19676 19677 if (lng.indexOf('.') > -1) { 19678 path = lng.split('.'); 19679 value = ns; 19680 ns = path[1]; 19681 } 19682 19683 this.addNamespaces(ns); 19684 setPath(this.data, path, value); 19685 if (!options.silent) this.emit('added', lng, ns, key, value); 19686 } 19687 }, { 19688 key: "addResources", 19689 value: function addResources(lng, ns, resources) { 19690 var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { 19691 silent: false 19692 }; 19693 19694 /* eslint no-restricted-syntax: 0 */ 19695 for (var m in resources) { 19696 if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], { 19697 silent: true 19698 }); 19699 } 19700 19701 if (!options.silent) this.emit('added', lng, ns, resources); 19702 } 19703 }, { 19704 key: "addResourceBundle", 19705 value: function addResourceBundle(lng, ns, resources, deep, overwrite) { 19706 var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { 19707 silent: false 19708 }; 19709 var path = [lng, ns]; 19710 19711 if (lng.indexOf('.') > -1) { 19712 path = lng.split('.'); 19713 deep = resources; 19714 resources = ns; 19715 ns = path[1]; 19716 } 19717 19718 this.addNamespaces(ns); 19719 var pack = getPath(this.data, path) || {}; 19720 19721 if (deep) { 19722 deepExtend(pack, resources, overwrite); 19723 } else { 19724 pack = _objectSpread({}, pack, resources); 19725 } 19726 19727 setPath(this.data, path, pack);
19728 if (!options.silent) this.emit('added', lng, ns, resources); 19729 } 19730 }, { 19731 key: "removeResourceBundle", 19732 value: function removeResourceBundle(lng, ns) { 19733 if (this.hasResourceBundle(lng, ns)) { 19734 delete this.data[lng][ns]; 19735 } 19736 19737 this.removeNamespaces(ns); 19738 this.emit('removed', lng, ns); 19739 } 19740 }, { 19741 key: "hasResourceBundle", 19742 value: function hasResourceBundle(lng, ns) { 19743 return this.getResource(lng, ns) !== undefined; 19744 } 19745 }, { 19746 key: "getResourceBundle", 19747 value: function getResourceBundle(lng, ns) { 19748 if (!ns) ns = this.options.defaultNS; // COMPATIBILITY: remove extend in v2.1.0 19749 19750 if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns)); 19751 return this.getResource(lng, ns); 19752 } 19753 }, { 19754 key: "getDataByLanguage", 19755 value: function getDataByLanguage(lng) { 19756 return this.data[lng]; 19757 } 19758 }, { 19759 key: "toJSON", 19760 value: function toJSON() { 19761 return this.data; 19762 } 19763 }]); 19764 19765 return ResourceStore; 19766}(i18nextbabel_target_legacy_EventEmitter); 19767 19768var postProcessor = { 19769 processors: {}, 19770 addPostProcessor: function addPostProcessor(module) { 19771 this.processors[module.name] = module; 19772 }, 19773 handle: function handle(processors, value, key, options, translator) { 19774 var _this = this; 19775 19776 processors.forEach(function (processor) { 19777 if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator); 19778 }); 19779 return value; 19780 } 19781}; 19782 19783var i18nextbabel_target_legacy_Translator = 19784/*#__PURE__*/ 19785function (_EventEmitter) { 19786 _inherits(Translator, _EventEmitter); 19787 19788 function Translator(services) { 19789 var _this; 19790 19791 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 19792 19793 _classCallCheck(this, Translator); 19794 19795 _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this)); 19796 i18nextbabel_target_legacy_EventEmitter.call(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); // <=IE10 fix (unable to call parent constructor) 19797 19798 copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); 19799 _this.options = options; 19800 19801 if (_this.options.keySeparator === undefined) { 19802 _this.options.keySeparator = '.'; 19803 } 19804 19805 _this.logger = baseLogger.create('translator'); 19806 return _this; 19807 } 19808 19809 _createClass(Translator, [{ 19810 key: "changeLanguage", 19811 value: function changeLanguage(lng) { 19812 if (lng) this.language = lng; 19813 } 19814 }, { 19815 key: "exists", 19816 value: function exists(key) { 19817 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { 19818 interpolation: {} 19819 }; 19820 var resolved = this.resolve(key, options); 19821 return resolved && resolved.res !== undefined; 19822 } 19823 }, { 19824 key: "extractFromKey", 19825 value: function extractFromKey(key, options) { 19826 var nsSeparator = options.nsSeparator || this.options.nsSeparator; 19827 if (nsSeparator === undefined) nsSeparator = ':'; 19828 var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; 19829 var namespaces = options.ns || this.options.defaultNS; 19830 19831 if (nsSeparator && key.indexOf(nsSeparator) > -1) { 19832 var parts = key.split(nsSeparator); 19833 if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift(); 19834 key = parts.join(keySeparator); 19835 } 19836 19837 if (typeof namespaces === 'string') namespaces = [namespaces]; 19838 return { 19839 key: key, 19840 namespaces: namespaces 19841 }; 19842 } 19843 }, { 19844 key: "translate", 19845 value: function translate(keys, options) { 19846 var _this2 = this; 19847 19848 if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) { 19849 /* eslint prefer-rest-params: 0 */ 19850 options = this.options.overloadTranslationOptionHandler(arguments); 19851 } 19852 19853 if (!options) options = {}; // non valid keys handling 19854 19855 if (keys === undefined || keys === null) return ''; 19856 if (!Array.isArray(keys)) keys = [String(keys)]; // separators 19857 19858 var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; // get namespace(s) 19859 19860 var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options), 19861 key = _this$extractFromKey.key, 19862 namespaces = _this$extractFromKey.namespaces; 19863 19864 var namespace = namespaces[namespaces.length - 1]; // return key on CIMode 19865 19866 var lng = options.lng || this.language; 19867 var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode; 19868 19869 if (lng && lng.toLowerCase() === 'cimode') { 19870 if (appendNamespaceToCIMode) { 19871 var nsSeparator = options.nsSeparator || this.options.nsSeparator; 19872 return namespace + nsSeparator + key; 19873 } 19874 19875 return key; 19876 } // resolve from store 19877 19878 19879 var resolved = this.resolve(keys, options); 19880 var res = resolved && resolved.res; 19881 var resUsedKey = resolved && resolved.usedKey || key; 19882 var resExactUsedKey = resolved && resolved.exactUsedKey || key; 19883 var resType = Object.prototype.toString.apply(res); 19884 var noObject = ['[object Number]', '[object Function]', '[object RegExp]']; 19885 var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; // object 19886 19887 var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject; 19888 var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number'; 19889 19890 if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) { 19891 if (!options.returnObjects && !this.options.returnObjects) { 19892 this.logger.warn('accessing an object - but returnObjects options is not enabled!'); 19893 return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string."); 19894 } // if we got a separator we loop over children - else we just return object as is 19895 // as having it set to false means no hierarchy so no lookup for nested values 19896 19897 19898 if (keySeparator) { 19899 var resTypeIsArray = resType === '[object Array]'; 19900 var copy$$1 = resTypeIsArray ? [] : {}; // apply child translation on a copy 19901 19902 /* eslint no-restricted-syntax: 0 */ 19903 19904 var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey; 19905 19906 for (var m in res) { 19907 if (Object.prototype.hasOwnProperty.call(res, m)) { 19908 var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m); 19909 copy$$1[m] = this.translate(deepKey, _objectSpread({}, options, {
19910 joinArrays: false, 19911 ns: namespaces 19912 })); 19913 if (copy$$1[m] === deepKey) copy$$1[m] = res[m]; // if nothing found use orginal value as fallback 19914 } 19915 } 19916 19917 res = copy$$1; 19918 } 19919 } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') { 19920 // array special treatment 19921 res = res.join(joinArrays); 19922 if (res) res = this.extendTranslation(res, keys, options); 19923 } else { 19924 // string, empty or null 19925 var usedDefault = false; 19926 var usedKey = false; // fallback value 19927 19928 if (!this.isValidLookup(res) && options.defaultValue !== undefined) { 19929 usedDefault = true; 19930 19931 if (options.count !== undefined) { 19932 var suffix = this.pluralResolver.getSuffix(lng, options.count); 19933 res = options["defaultValue".concat(suffix)]; 19934 } 19935 19936 if (!res) res = options.defaultValue; 19937 } 19938 19939 if (!this.isValidLookup(res)) { 19940 usedKey = true; 19941 res = key; 19942 } // save missing 19943 19944 19945 var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing; 19946 19947 if (usedKey || usedDefault || updateMissing) { 19948 this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res); 19949 var lngs = []; 19950 var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language); 19951 19952 if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) { 19953 for (var i = 0; i < fallbackLngs.length; i++) { 19954 lngs.push(fallbackLngs[i]); 19955 } 19956 } else if (this.options.saveMissingTo === 'all') { 19957 lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language); 19958 } else { 19959 lngs.push(options.lng || this.language); 19960 } 19961 19962 var send = function send(l, k) { 19963 if (_this2.options.missingKeyHandler) { 19964 _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options); 19965 } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) { 19966 _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options); 19967 } 19968 19969 _this2.emit('missingKey', l, namespace, k, res); 19970 }; 19971 19972 if (this.options.saveMissing) { 19973 var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; 19974 19975 if (this.options.saveMissingPlurals && needsPluralHandling) { 19976 lngs.forEach(function (l) { 19977 var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key); 19978 19979 plurals.forEach(function (p) { 19980 return send([l], p); 19981 }); 19982 }); 19983 } else { 19984 send(lngs, key); 19985 } 19986 } 19987 } // extend 19988 19989 19990 res = this.extendTranslation(res, keys, options, resolved); // append namespace if still key 19991 19992 if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key); // parseMissingKeyHandler 19993 19994 if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res); 19995 } // return 19996 19997 19998 return res; 19999 } 20000 }, { 20001 key: "extendTranslation", 20002 value: function extendTranslation(res, key, options, resolved) { 20003 var _this3 = this; 20004 20005 if (this.i18nFormat && this.i18nFormat.parse) { 20006 res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, { 20007 resolved: resolved 20008 }); 20009 } else if (!options.skipInterpolation) { 20010 // i18next.parsing 20011 if (options.interpolation) this.interpolator.init(_objectSpread({}, options, { 20012 interpolation: _objectSpread({}, this.options.interpolation, options.interpolation) 20013 })); // interpolate 20014 20015 var data = options.replace && typeof options.replace !== 'string' ? options.replace : options; 20016 if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data); 20017 res = this.interpolator.interpolate(res, data, options.lng || this.language, options); // nesting 20018 20019 if (options.nest !== false) res = this.interpolator.nest(res, function () { 20020 return _this3.translate.apply(_this3, arguments); 20021 }, options); 20022 if (options.interpolation) this.interpolator.reset(); 20023 } // post process 20024 20025 20026 var postProcess = options.postProcess || this.options.postProcess; 20027 var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess; 20028 20029 if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) { 20030 res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({ 20031 i18nResolved: resolved 20032 }, options) : options, this); 20033 } 20034 20035 return res; 20036 } 20037 }, { 20038 key: "resolve", 20039 value: function resolve(keys) { 20040 var _this4 = this; 20041 20042 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 20043 var found; 20044 var usedKey; // plain key 20045 20046 var exactUsedKey; // key with context / plural 20047 20048 var usedLng; 20049 var usedNS; 20050 if (typeof keys === 'string') keys = [keys]; // forEach possible key 20051 20052 keys.forEach(function (k) { 20053 if (_this4.isValidLookup(found)) return; 20054 20055 var extracted = _this4.extractFromKey(k, options); 20056 20057 var key = extracted.key; 20058 usedKey = key; 20059 var namespaces = extracted.namespaces; 20060 if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS); 20061 var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string'; 20062 var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== ''; 20063 var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);
20064 namespaces.forEach(function (ns) { 20065 if (_this4.isValidLookup(found)) return; 20066 usedNS = ns; 20067 20068 if (_this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) { 20069 _this4.logger.warn("key \"".concat(usedKey, "\" for namespace \"").concat(usedNS, "\" won't get resolved as namespace was not yet loaded"), 'This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); 20070 } 20071 20072 codes.forEach(function (code) { 20073 if (_this4.isValidLookup(found)) return; 20074 usedLng = code; 20075 var finalKey = key; 20076 var finalKeys = [finalKey]; 20077 20078 if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) { 20079 _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options); 20080 } else { 20081 var pluralSuffix; 20082 if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count); // fallback for plural if context not found 20083 20084 if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix); // get key for context if needed 20085 20086 if (needsContextHandling) finalKeys.push(finalKey += "".concat(_this4.options.contextSeparator).concat(options.context)); // get key for plural if needed 20087 20088 if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix); 20089 } // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only 20090 20091 20092 var possibleKey; 20093 /* eslint no-cond-assign: 0 */ 20094 20095 while (possibleKey = finalKeys.pop()) { 20096 if (!_this4.isValidLookup(found)) { 20097 exactUsedKey = possibleKey; 20098 found = _this4.getResource(code, ns, possibleKey, options); 20099 } 20100 } 20101 }); 20102 }); 20103 }); 20104 return { 20105 res: found, 20106 usedKey: usedKey, 20107 exactUsedKey: exactUsedKey, 20108 usedLng: usedLng, 20109 usedNS: usedNS 20110 }; 20111 } 20112 }, { 20113 key: "isValidLookup", 20114 value: function isValidLookup(res) { 20115 return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === ''); 20116 } 20117 }, { 20118 key: "getResource", 20119 value: function getResource(code, ns, key) { 20120 var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; 20121 if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options); 20122 return this.resourceStore.getResource(code, ns, key, options); 20123 } 20124 }]); 20125 20126 return Translator; 20127}(i18nextbabel_target_legacy_EventEmitter); 20128 20129function capitalize(string) { 20130 return string.charAt(0).toUpperCase() + string.slice(1); 20131} 20132 20133var i18nextbabel_target_legacy_LanguageUtil = 20134/*#__PURE__*/ 20135function () { 20136 function LanguageUtil(options) { 20137 _classCallCheck(this, LanguageUtil); 20138 20139 this.options = options; 20140 this.whitelist = this.options.whitelist || false; 20141 this.logger = baseLogger.create('languageUtils'); 20142 } 20143 20144 _createClass(LanguageUtil, [{ 20145 key: "getScriptPartFromCode", 20146 value: function getScriptPartFromCode(code) { 20147 if (!code || code.indexOf('-') < 0) return null; 20148 var p = code.split('-'); 20149 if (p.length === 2) return null; 20150 p.pop(); 20151 return this.formatLanguageCode(p.join('-')); 20152 } 20153 }, { 20154 key: "getLanguagePartFromCode", 20155 value: function getLanguagePartFromCode(code) { 20156 if (!code || code.indexOf('-') < 0) return code; 20157 var p = code.split('-'); 20158 return this.formatLanguageCode(p[0]); 20159 } 20160 }, { 20161 key: "formatLanguageCode", 20162 value: function formatLanguageCode(code) { 20163 // http://www.iana.org/assignments/language-tags/language-tags.xhtml 20164 if (typeof code === 'string' && code.indexOf('-') > -1) { 20165 var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab']; 20166 var p = code.split('-'); 20167 20168 if (this.options.lowerCaseLng) { 20169 p = p.map(function (part) { 20170 return part.toLowerCase(); 20171 }); 20172 } else if (p.length === 2) { 20173 p[0] = p[0].toLowerCase(); 20174 p[1] = p[1].toUpperCase(); 20175 if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); 20176 } else if (p.length === 3) { 20177 p[0] = p[0].toLowerCase(); // if lenght 2 guess it's a country 20178 20179 if (p[1].length === 2) p[1] = p[1].toUpperCase(); 20180 if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase(); 20181 if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase()); 20182 if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase()); 20183 } 20184 20185 return p.join('-'); 20186 } 20187 20188 return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code; 20189 } 20190 }, { 20191 key: "isWhitelisted", 20192 value: function isWhitelisted(code) { 20193 if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) { 20194 code = this.getLanguagePartFromCode(code); 20195 } 20196 20197 return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1; 20198 } 20199 }, { 20200 key: "getFallbackCodes", 20201 value: function getFallbackCodes(fallbacks, code) { 20202 if (!fallbacks) return []; 20203 if (typeof fallbacks === 'string') fallbacks = [fallbacks]; 20204 if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; 20205 if (!code) return fallbacks["default"] || []; // asume we have an object defining fallbacks 20206 20207 var found = fallbacks[code];
20208 if (!found) found = fallbacks[this.getScriptPartFromCode(code)]; 20209 if (!found) found = fallbacks[this.formatLanguageCode(code)]; 20210 if (!found) found = fallbacks["default"]; 20211 return found || []; 20212 } 20213 }, { 20214 key: "toResolveHierarchy", 20215 value: function toResolveHierarchy(code, fallbackCode) { 20216 var _this = this; 20217 20218 var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code); 20219 var codes = []; 20220 20221 var addCode = function addCode(c) { 20222 if (!c) return; 20223 20224 if (_this.isWhitelisted(c)) { 20225 codes.push(c); 20226 } else { 20227 _this.logger.warn("rejecting non-whitelisted language code: ".concat(c)); 20228 } 20229 }; 20230 20231 if (typeof code === 'string' && code.indexOf('-') > -1) { 20232 if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code)); 20233 if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code)); 20234 if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code)); 20235 } else if (typeof code === 'string') { 20236 addCode(this.formatLanguageCode(code)); 20237 } 20238 20239 fallbackCodes.forEach(function (fc) { 20240 if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc)); 20241 }); 20242 return codes; 20243 } 20244 }]); 20245 20246 return LanguageUtil; 20247}(); 20248 20249/* eslint-disable */ 20250 20251var sets = [{ 20252 lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], 20253 nr: [1, 2], 20254 fc: 1 20255}, { 20256 lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], 20257 nr: [1, 2], 20258 fc: 2 20259}, { 20260 lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], 20261 nr: [1], 20262 fc: 3 20263}, { 20264 lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'], 20265 nr: [1, 2, 5], 20266 fc: 4 20267}, { 20268 lngs: ['ar'], 20269 nr: [0, 1, 2, 3, 11, 100], 20270 fc: 5 20271}, { 20272 lngs: ['cs', 'sk'], 20273 nr: [1, 2, 5], 20274 fc: 6 20275}, { 20276 lngs: ['csb', 'pl'], 20277 nr: [1, 2, 5], 20278 fc: 7 20279}, { 20280 lngs: ['cy'], 20281 nr: [1, 2, 3, 8], 20282 fc: 8 20283}, { 20284 lngs: ['fr'], 20285 nr: [1, 2], 20286 fc: 9 20287}, { 20288 lngs: ['ga'], 20289 nr: [1, 2, 3, 7, 11], 20290 fc: 10 20291}, { 20292 lngs: ['gd'], 20293 nr: [1, 2, 3, 20], 20294 fc: 11 20295}, { 20296 lngs: ['is'], 20297 nr: [1, 2], 20298 fc: 12 20299}, { 20300 lngs: ['jv'], 20301 nr: [0, 1], 20302 fc: 13 20303}, { 20304 lngs: ['kw'], 20305 nr: [1, 2, 3, 4], 20306 fc: 14 20307}, { 20308 lngs: ['lt'], 20309 nr: [1, 2, 10], 20310 fc: 15 20311}, { 20312 lngs: ['lv'], 20313 nr: [1, 2, 0], 20314 fc: 16 20315}, { 20316 lngs: ['mk'], 20317 nr: [1, 2], 20318 fc: 17 20319}, { 20320 lngs: ['mnk'], 20321 nr: [0, 1, 2], 20322 fc: 18 20323}, { 20324 lngs: ['mt'], 20325 nr: [1, 2, 11, 20], 20326 fc: 19 20327}, { 20328 lngs: ['or'], 20329 nr: [2, 1], 20330 fc: 2 20331}, { 20332 lngs: ['ro'], 20333 nr: [1, 2, 20], 20334 fc: 20 20335}, { 20336 lngs: ['sl'], 20337 nr: [5, 1, 2, 3], 20338 fc: 21 20339}, { 20340 lngs: ['he'], 20341 nr: [1, 2, 20, 21], 20342 fc: 22 20343}]; 20344var _rulesPluralsTypes = { 20345 1: function _(n) { 20346 return Number(n > 1); 20347 }, 20348 2: function _(n) { 20349 return Number(n != 1); 20350 }, 20351 3: function _(n) { 20352 return 0; 20353 }, 20354 4: function _(n) { 20355 return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); 20356 }, 20357 5: function _(n) { 20358 return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); 20359 }, 20360 6: function _(n) { 20361 return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2); 20362 }, 20363 7: function _(n) { 20364 return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); 20365 }, 20366 8: function _(n) { 20367 return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3); 20368 }, 20369 9: function _(n) { 20370 return Number(n >= 2); 20371 }, 20372 10: function _(n) { 20373 return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); 20374 }, 20375 11: function _(n) { 20376 return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3); 20377 }, 20378 12: function _(n) { 20379 return Number(n % 10 != 1 || n % 100 == 11); 20380 }, 20381 13: function _(n) { 20382 return Number(n !== 0); 20383 }, 20384 14: function _(n) { 20385 return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3); 20386 }, 20387 15: function _(n) { 20388 return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); 20389 }, 20390 16: function _(n) { 20391 return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2); 20392 }, 20393 17: function _(n) { 20394 return Number(n == 1 || n % 10 == 1 ? 0 : 1); 20395 }, 20396 18: function _(n) { 20397 return Number(n == 0 ? 0 : n == 1 ? 1 : 2); 20398 }, 20399 19: function _(n) { 20400 return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3); 20401 }, 20402 20: function _(n) { 20403 return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2); 20404 }, 20405 21: function _(n) { 20406 return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0); 20407 }, 20408 22: function _(n) { 20409 return Number(n === 1 ? 0 : n === 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3); 20410 } 20411}; 20412/* eslint-enable */ 20413 20414function createRules() { 20415 var rules = {};
20416 sets.forEach(function (set) { 20417 set.lngs.forEach(function (l) { 20418 rules[l] = { 20419 numbers: set.nr, 20420 plurals: _rulesPluralsTypes[set.fc] 20421 }; 20422 }); 20423 }); 20424 return rules; 20425} 20426 20427var i18nextbabel_target_legacy_PluralResolver = 20428/*#__PURE__*/ 20429function () { 20430 function PluralResolver(languageUtils) { 20431 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 20432 20433 _classCallCheck(this, PluralResolver); 20434 20435 this.languageUtils = languageUtils; 20436 this.options = options; 20437 this.logger = baseLogger.create('pluralResolver'); 20438 this.rules = createRules(); 20439 } 20440 20441 _createClass(PluralResolver, [{ 20442 key: "addRule", 20443 value: function addRule(lng, obj) { 20444 this.rules[lng] = obj; 20445 } 20446 }, { 20447 key: "getRule", 20448 value: function getRule(code) { 20449 return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)]; 20450 } 20451 }, { 20452 key: "needsPlural", 20453 value: function needsPlural(code) { 20454 var rule = this.getRule(code); 20455 return rule && rule.numbers.length > 1; 20456 } 20457 }, { 20458 key: "getPluralFormsOfKey", 20459 value: function getPluralFormsOfKey(code, key) { 20460 var _this = this; 20461 20462 var ret = []; 20463 var rule = this.getRule(code); 20464 if (!rule) return ret; 20465 rule.numbers.forEach(function (n) { 20466 var suffix = _this.getSuffix(code, n); 20467 20468 ret.push("".concat(key).concat(suffix)); 20469 }); 20470 return ret; 20471 } 20472 }, { 20473 key: "getSuffix", 20474 value: function getSuffix(code, count) { 20475 var _this2 = this; 20476 20477 var rule = this.getRule(code); 20478 20479 if (rule) { 20480 // if (rule.numbers.length === 1) return ''; // only singular 20481 var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count)); 20482 var suffix = rule.numbers[idx]; // special treatment for lngs only having singular and plural 20483 20484 if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { 20485 if (suffix === 2) { 20486 suffix = 'plural'; 20487 } else if (suffix === 1) { 20488 suffix = ''; 20489 } 20490 } 20491 20492 var returnSuffix = function returnSuffix() { 20493 return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString(); 20494 }; // COMPATIBILITY JSON 20495 // v1 20496 20497 20498 if (this.options.compatibilityJSON === 'v1') { 20499 if (suffix === 1) return ''; 20500 if (typeof suffix === 'number') return "_plural_".concat(suffix.toString()); 20501 return returnSuffix(); 20502 } else if ( 20503 /* v2 */ 20504 this.options.compatibilityJSON === 'v2') { 20505 return returnSuffix(); 20506 } else if ( 20507 /* v3 - gettext index */ 20508 this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) { 20509 return returnSuffix(); 20510 } 20511 20512 return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString(); 20513 } 20514 20515 this.logger.warn("no plural rule found for: ".concat(code)); 20516 return ''; 20517 } 20518 }]); 20519 20520 return PluralResolver; 20521}(); 20522 20523var i18nextbabel_target_legacy_Interpolator = 20524/*#__PURE__*/ 20525function () { 20526 function Interpolator() { 20527 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 20528 20529 _classCallCheck(this, Interpolator); 20530 20531 this.logger = baseLogger.create('interpolator'); 20532 this.options = options; 20533 20534 this.format = options.interpolation && options.interpolation.format || function (value) { 20535 return value; 20536 }; 20537 20538 this.init(options); 20539 } 20540 /* eslint no-param-reassign: 0 */ 20541 20542 20543 _createClass(Interpolator, [{ 20544 key: "init", 20545 value: function init() { 20546 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 20547 if (!options.interpolation) options.interpolation = { 20548 escapeValue: true 20549 }; 20550 var iOpts = options.interpolation; 20551 this.escape = iOpts.escape !== undefined ? iOpts.escape : i18nextbabel_target_legacy_escape; 20552 this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true; 20553 this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;
20554 this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{'; 20555 this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}'; 20556 this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ','; 20557 this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-'; 20558 this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || ''; 20559 this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t('); 20560 this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')'); 20561 this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; // the regexp 20562 20563 this.resetRegExp(); 20564 } 20565 }, { 20566 key: "reset", 20567 value: function reset() { 20568 if (this.options) this.init(this.options); 20569 } 20570 }, { 20571 key: "resetRegExp", 20572 value: function resetRegExp() { 20573 // the regexp 20574 var regexpStr = "".concat(this.prefix, "(.+?)").concat(this.suffix); 20575 this.regexp = new RegExp(regexpStr, 'g'); 20576 var regexpUnescapeStr = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix); 20577 this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g'); 20578 var nestingRegexpStr = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix); 20579 this.nestingRegexp = new RegExp(nestingRegexpStr, 'g'); 20580 } 20581 }, { 20582 key: "interpolate", 20583 value: function interpolate(str, data, lng, options) { 20584 var _this = this; 20585 20586 var match; 20587 var value; 20588 var replaces; 20589 var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}; 20590 20591 function regexSafe(val) { 20592 return val.replace(/\$/g, '$$$$'); 20593 } 20594 20595 var handleFormat = function handleFormat(key) { 20596 if (key.indexOf(_this.formatSeparator) < 0) { 20597 return getPathWithDefaults(data, defaultData, key); 20598 } 20599 20600 var p = key.split(_this.formatSeparator); 20601 var k = p.shift().trim(); 20602 var f = p.join(_this.formatSeparator).trim(); 20603 return _this.format(getPathWithDefaults(data, defaultData, k), f, lng); 20604 }; 20605 20606 this.resetRegExp(); 20607 var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler; 20608 replaces = 0; // unescape if has unescapePrefix/Suffix 20609 20610 /* eslint no-cond-assign: 0 */ 20611 20612 while (match = this.regexpUnescape.exec(str)) { 20613 value = handleFormat(match[1].trim()); 20614 20615 if (value === undefined) { 20616 if (typeof missingInterpolationHandler === 'function') { 20617 var temp = missingInterpolationHandler(str, match, options); 20618 value = typeof temp === 'string' ? temp : ''; 20619 } else { 20620 this.logger.warn("missed to pass in variable ".concat(match[1], " for interpolating ").concat(str)); 20621 value = ''; 20622 } 20623 } else if (typeof value !== 'string' && !this.useRawValueToEscape) { 20624 value = makeString(value); 20625 } 20626 20627 str = str.replace(match[0], regexSafe(value)); 20628 this.regexpUnescape.lastIndex = 0; 20629 replaces++; 20630 20631 if (replaces >= this.maxReplaces) { 20632 break; 20633 } 20634 } 20635 20636 replaces = 0; // regular escape on demand 20637 20638 while (match = this.regexp.exec(str)) { 20639 value = handleFormat(match[1].trim()); 20640 20641 if (value === undefined) { 20642 if (typeof missingInterpolationHandler === 'function') { 20643 var _temp = missingInterpolationHandler(str, match, options); 20644 20645 value = typeof _temp === 'string' ? _temp : ''; 20646 } else { 20647 this.logger.warn("missed to pass in variable ".concat(match[1], " for interpolating ").concat(str)); 20648 value = ''; 20649 } 20650 } else if (typeof value !== 'string' && !this.useRawValueToEscape) { 20651 value = makeString(value); 20652 } 20653 20654 value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value); 20655 str = str.replace(match[0], value); 20656 this.regexp.lastIndex = 0; 20657 replaces++; 20658 20659 if (replaces >= this.maxReplaces) { 20660 break; 20661 } 20662 } 20663 20664 return str; 20665 } 20666 }, { 20667 key: "nest", 20668 value: function nest(str, fc) { 20669 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 20670 var match; 20671 var value; 20672 20673 var clonedOptions = _objectSpread({}, options); 20674 20675 clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup 20676 20677 delete clonedOptions.defaultValue; // assert we do not get a endless loop on interpolating defaultValue again and again 20678 // if value is something like "myKey": "lorem $(anotherKey, { "count": {{aValueInOptions}} })"
20679 20680 function handleHasOptions(key, inheritedOptions) { 20681 if (key.indexOf(',') < 0) return key; 20682 var p = key.split(','); 20683 key = p.shift(); 20684 var optionsString = p.join(','); 20685 optionsString = this.interpolate(optionsString, clonedOptions); 20686 optionsString = optionsString.replace(/'/g, '"'); 20687 20688 try { 20689 clonedOptions = JSON.parse(optionsString); 20690 if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions); 20691 } catch (e) { 20692 this.logger.error("failed parsing options string in nesting for key ".concat(key), e); 20693 } // assert we do not get a endless loop on interpolating defaultValue again and again 20694 20695 20696 delete clonedOptions.defaultValue; 20697 return key; 20698 } // regular escape on demand 20699 20700 20701 while (match = this.nestingRegexp.exec(str)) { 20702 value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); // is only the nesting key (key1 = '$(key2)') return the value without stringify 20703 20704 if (value && match[0] === str && typeof value !== 'string') return value; // no string to include or empty 20705 20706 if (typeof value !== 'string') value = makeString(value); 20707 20708 if (!value) { 20709 this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str)); 20710 value = ''; 20711 } // Nested keys should not be escaped by default #854 20712 // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value); 20713 20714 20715 str = str.replace(match[0], value); 20716 this.regexp.lastIndex = 0; 20717 } 20718 20719 return str; 20720 } 20721 }]); 20722 20723 return Interpolator; 20724}(); 20725 20726function remove(arr, what) { 20727 var found = arr.indexOf(what); 20728 20729 while (found !== -1) { 20730 arr.splice(found, 1); 20731 found = arr.indexOf(what); 20732 } 20733} 20734 20735var i18nextbabel_target_legacy_Connector = 20736/*#__PURE__*/ 20737function (_EventEmitter) { 20738 _inherits(Connector, _EventEmitter); 20739 20740 function Connector(backend, store, services) { 20741 var _this; 20742 20743 var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; 20744 20745 _classCallCheck(this, Connector); 20746 20747 _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this)); 20748 i18nextbabel_target_legacy_EventEmitter.call(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); // <=IE10 fix (unable to call parent constructor) 20749 20750 _this.backend = backend; 20751 _this.store = store; 20752 _this.services = services; 20753 _this.languageUtils = services.languageUtils; 20754 _this.options = options; 20755 _this.logger = baseLogger.create('backendConnector'); 20756 _this.state = {}; 20757 _this.queue = []; 20758 20759 if (_this.backend && _this.backend.init) { 20760 _this.backend.init(services, options.backend, options); 20761 } 20762 20763 return _this; 20764 } 20765 20766 _createClass(Connector, [{ 20767 key: "queueLoad", 20768 value: function queueLoad(languages, namespaces, options, callback) { 20769 var _this2 = this; 20770 20771 // find what needs to be loaded 20772 var toLoad = []; 20773 var pending = []; 20774 var toLoadLanguages = []; 20775 var toLoadNamespaces = [];
20776 languages.forEach(function (lng) { 20777 var hasAllNamespaces = true; 20778 namespaces.forEach(function (ns) { 20779 var name = "".concat(lng, "|").concat(ns); 20780 20781 if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) { 20782 _this2.state[name] = 2; // loaded 20783 } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) { 20784 if (pending.indexOf(name) < 0) pending.push(name); 20785 } else { 20786 _this2.state[name] = 1; // pending 20787 20788 hasAllNamespaces = false; 20789 if (pending.indexOf(name) < 0) pending.push(name); 20790 if (toLoad.indexOf(name) < 0) toLoad.push(name); 20791 if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns); 20792 } 20793 }); 20794 if (!hasAllNamespaces) toLoadLanguages.push(lng); 20795 }); 20796 20797 if (toLoad.length || pending.length) { 20798 this.queue.push({ 20799 pending: pending, 20800 loaded: {}, 20801 errors: [], 20802 callback: callback 20803 }); 20804 } 20805 20806 return { 20807 toLoad: toLoad, 20808 pending: pending, 20809 toLoadLanguages: toLoadLanguages, 20810 toLoadNamespaces: toLoadNamespaces 20811 }; 20812 } 20813 }, { 20814 key: "loaded", 20815 value: function loaded(name, err, data) { 20816 var _name$split = name.split('|'), 20817 _name$split2 = _slicedToArray(_name$split, 2), 20818 lng = _name$split2[0], 20819 ns = _name$split2[1]; 20820 20821 if (err) this.emit('failedLoading', lng, ns, err); 20822 20823 if (data) { 20824 this.store.addResourceBundle(lng, ns, data); 20825 } // set loaded 20826 20827 20828 this.state[name] = err ? -1 : 2; // consolidated loading done in this run - only emit once for a loaded namespace 20829 20830 var loaded = {}; // callback if ready 20831 20832 this.queue.forEach(function (q) { 20833 pushPath(q.loaded, [lng], ns); 20834 remove(q.pending, name); 20835 if (err) q.errors.push(err); 20836 20837 if (q.pending.length === 0 && !q.done) { 20838 // only do once per loaded -> this.emit('loaded', q.loaded); 20839 Object.keys(q.loaded).forEach(function (l) { 20840 if (!loaded[l]) loaded[l] = []; 20841 20842 if (q.loaded[l].length) { 20843 q.loaded[l].forEach(function (ns) { 20844 if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns); 20845 }); 20846 } 20847 }); 20848 /* eslint no-param-reassign: 0 */ 20849 20850 q.done = true; 20851 20852 if (q.errors.length) { 20853 q.callback(q.errors); 20854 } else { 20855 q.callback(); 20856 } 20857 } 20858 }); // emit consolidated loaded event 20859 20860 this.emit('loaded', loaded); // remove done load requests 20861 20862 this.queue = this.queue.filter(function (q) { 20863 return !q.done; 20864 }); 20865 } 20866 }, { 20867 key: "read", 20868 value: function read(lng, ns, fcName) { 20869 var _this3 = this; 20870 20871 var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; 20872 var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250; 20873 var callback = arguments.length > 5 ? arguments[5] : undefined; 20874 if (!lng.length) return callback(null, {}); // noting to load 20875 20876 return this.backend[fcName](lng, ns, function (err, data) { 20877 if (err && data 20878 /* = retryFlag */ 20879 && tried < 5) { 20880 setTimeout(function () { 20881 _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback); 20882 }, wait); 20883 return; 20884 } 20885 20886 callback(err, data); 20887 }); 20888 } 20889 /* eslint consistent-return: 0 */ 20890 20891 }, { 20892 key: "prepareLoading", 20893 value: function prepareLoading(languages, namespaces) { 20894 var _this4 = this; 20895 20896 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 20897 var callback = arguments.length > 3 ? arguments[3] : undefined; 20898 20899 if (!this.backend) { 20900 this.logger.warn('No backend was added via i18next.use. Will not load resources.'); 20901 return callback && callback(); 20902 } 20903 20904 if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages); 20905 if (typeof namespaces === 'string') namespaces = [namespaces]; 20906 var toLoad = this.queueLoad(languages, namespaces, options, callback); 20907 20908 if (!toLoad.toLoad.length) { 20909 if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now 20910 20911 return null; // pendings will trigger callback 20912 } 20913
20914 toLoad.toLoad.forEach(function (name) { 20915 _this4.loadOne(name); 20916 }); 20917 } 20918 }, { 20919 key: "load", 20920 value: function load(languages, namespaces, callback) { 20921 this.prepareLoading(languages, namespaces, {}, callback); 20922 } 20923 }, { 20924 key: "reload", 20925 value: function reload(languages, namespaces, callback) { 20926 this.prepareLoading(languages, namespaces, { 20927 reload: true 20928 }, callback); 20929 } 20930 }, { 20931 key: "loadOne", 20932 value: function loadOne(name) { 20933 var _this5 = this; 20934 20935 var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 20936 20937 var _name$split3 = name.split('|'), 20938 _name$split4 = _slicedToArray(_name$split3, 2), 20939 lng = _name$split4[0], 20940 ns = _name$split4[1]; 20941 20942 this.read(lng, ns, 'read', null, null, function (err, data) { 20943 if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err); 20944 if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data); 20945 20946 _this5.loaded(name, err, data); 20947 }); 20948 } 20949 }, { 20950 key: "saveMissing", 20951 value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) { 20952 var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; 20953 20954 if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) { 20955 this.logger.warn("did not save key \"".concat(key, "\" for namespace \"").concat(namespace, "\" as the namespace was not yet loaded"), 'This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!'); 20956 return; 20957 } 20958 20959 if (this.backend && this.backend.create) { 20960 this.backend.create(languages, namespace, key, fallbackValue, null 20961 /* unused callback */ 20962 , _objectSpread({}, options, { 20963 isUpdate: isUpdate 20964 })); 20965 } // write to store to avoid resending 20966 20967 20968 if (!languages || !languages[0]) return; 20969 this.store.addResource(languages[0], namespace, key, fallbackValue); 20970 } 20971 }]); 20972 20973 return Connector; 20974}(i18nextbabel_target_legacy_EventEmitter); 20975 20976function get() { 20977 return { 20978 debug: false, 20979 initImmediate: true, 20980 ns: ['translation'], 20981 defaultNS: ['translation'], 20982 fallbackLng: ['dev'], 20983 fallbackNS: false, 20984 // string or array of namespaces 20985 whitelist: false, 20986 // array with whitelisted languages 20987 nonExplicitWhitelist: false, 20988 load: 'all', 20989 // | currentOnly | languageOnly 20990 preload: false, 20991 // array with preload languages 20992 simplifyPluralSuffix: true, 20993 keySeparator: '.', 20994 nsSeparator: ':', 20995 pluralSeparator: '_', 20996 contextSeparator: '_', 20997 partialBundledLanguages: false, 20998 // allow bundling certain languages that are not remotely fetched 20999 saveMissing: false, 21000 // enable to send missing values 21001 updateMissing: false, 21002 // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth) 21003 saveMissingTo: 'fallback', 21004 // 'current' || 'all' 21005 saveMissingPlurals: true, 21006 // will save all forms not only singular key 21007 missingKeyHandler: false, 21008 // function(lng, ns, key, fallbackValue) -> override if prefer on handling 21009 missingInterpolationHandler: false, 21010 // function(str, match) 21011 postProcess: false, 21012 // string or array of postProcessor names 21013 postProcessPassResolved: false, 21014 // pass resolved object into 'options.i18nResolved' for postprocessor 21015 returnNull: true, 21016 // allows null value as valid translation 21017 returnEmptyString: true, 21018 // allows empty string value as valid translation 21019 returnObjects: false, 21020 joinArrays: false, 21021 // or string to join array 21022 returnedObjectHandler: false, 21023 // function(key, value, options) triggered if key returns object but returnObjects is set to false 21024 parseMissingKeyHandler: false, 21025 // function(key) parsed a key that was not found in t() before returning 21026 appendNamespaceToMissingKey: false, 21027 appendNamespaceToCIMode: false, 21028 overloadTranslationOptionHandler: function handle(args) { 21029 var ret = {}; 21030 if (_typeof(args[1]) === 'object') ret = args[1]; 21031 if (typeof args[1] === 'string') ret.defaultValue = args[1]; 21032 if (typeof args[2] === 'string') ret.tDescription = args[2]; 21033 21034 if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') { 21035 var options = args[3] || args[2];
21036 Object.keys(options).forEach(function (key) { 21037 ret[key] = options[key]; 21038 }); 21039 } 21040 21041 return ret; 21042 }, 21043 interpolation: { 21044 escapeValue: true, 21045 format: function format(value, _format, lng) { 21046 return value; 21047 }, 21048 prefix: '{{', 21049 suffix: '}}', 21050 formatSeparator: ',', 21051 // prefixEscaped: '{{', 21052 // suffixEscaped: '}}', 21053 // unescapeSuffix: '', 21054 unescapePrefix: '-', 21055 nestingPrefix: '$t(', 21056 nestingSuffix: ')', 21057 // nestingPrefixEscaped: '$t(', 21058 // nestingSuffixEscaped: ')', 21059 // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data 21060 maxReplaces: 1000 // max replaces to prevent endless loop 21061 21062 } 21063 }; 21064} 21065/* eslint no-param-reassign: 0 */ 21066 21067function transformOptions(options) { 21068 // create namespace object if namespace is passed in as string 21069 if (typeof options.ns === 'string') options.ns = [options.ns]; 21070 if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng]; 21071 if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; // extend whitelist with cimode 21072 21073 if (options.whitelist && options.whitelist.indexOf('cimode') < 0) { 21074 options.whitelist = options.whitelist.concat(['cimode']); 21075 } 21076 21077 return options; 21078} 21079 21080function noop() {} 21081 21082var i18nextbabel_target_legacy_I18n = 21083/*#__PURE__*/ 21084function (_EventEmitter) { 21085 _inherits(I18n, _EventEmitter); 21086 21087 function I18n() { 21088 var _this; 21089 21090 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 21091 var callback = arguments.length > 1 ? arguments[1] : undefined; 21092 21093 _classCallCheck(this, I18n); 21094 21095 _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this)); 21096 i18nextbabel_target_legacy_EventEmitter.call(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); // <=IE10 fix (unable to call parent constructor) 21097 21098 _this.options = transformOptions(options); 21099 _this.services = {}; 21100 _this.logger = baseLogger; 21101 _this.modules = { 21102 external: [] 21103 }; 21104 21105 if (callback && !_this.isInitialized && !options.isClone) { 21106 // https://github.com/i18next/i18next/issues/879 21107 if (!_this.options.initImmediate) { 21108 _this.init(options, callback); 21109 21110 return _possibleConstructorReturn(_this, Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)); 21111 } 21112 21113 setTimeout(function () { 21114 _this.init(options, callback); 21115 }, 0); 21116 } 21117 21118 return _this; 21119 } 21120 21121 _createClass(I18n, [{ 21122 key: "init", 21123 value: function init() { 21124 var _this2 = this; 21125 21126 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 21127 var callback = arguments.length > 1 ? arguments[1] : undefined; 21128 21129 if (typeof options === 'function') { 21130 callback = options; 21131 options = {}; 21132 } 21133 21134 this.options = _objectSpread({}, get(), this.options, transformOptions(options)); 21135 this.format = this.options.interpolation.format; 21136 if (!callback) callback = noop; 21137 21138 function createClassOnDemand(ClassOrObject) { 21139 if (!ClassOrObject) return null; 21140 if (typeof ClassOrObject === 'function') return new ClassOrObject(); 21141 return ClassOrObject; 21142 } // init services 21143 21144 21145 if (!this.options.isClone) { 21146 if (this.modules.logger) { 21147 baseLogger.init(createClassOnDemand(this.modules.logger), this.options); 21148 } else { 21149 baseLogger.init(null, this.options); 21150 } 21151 21152 var lu = new i18nextbabel_target_legacy_LanguageUtil(this.options); 21153 this.store = new i18nextbabel_target_legacy_ResourceStore(this.options.resources, this.options); 21154 var s = this.services; 21155 s.logger = baseLogger; 21156 s.resourceStore = this.store; 21157 s.languageUtils = lu; 21158 s.pluralResolver = new i18nextbabel_target_legacy_PluralResolver(lu, { 21159 prepend: this.options.pluralSeparator, 21160 compatibilityJSON: this.options.compatibilityJSON, 21161 simplifyPluralSuffix: this.options.simplifyPluralSuffix 21162 }); 21163 s.interpolator = new i18nextbabel_target_legacy_Interpolator(this.options); 21164 s.utils = { 21165 hasLoadedNamespace: this.hasLoadedNamespace.bind(this) 21166 }; 21167 s.backendConnector = new i18nextbabel_target_legacy_Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); // pipe events from backendConnector 21168 21169 s.backendConnector.on('*', function (event) { 21170 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 21171 args[_key - 1] = arguments[_key]; 21172 } 21173 21174 _this2.emit.apply(_this2, [event].concat(args)); 21175 }); 21176 21177 if (this.modules.languageDetector) { 21178 s.languageDetector = createClassOnDemand(this.modules.languageDetector); 21179 s.languageDetector.init(s, this.options.detection, this.options); 21180 } 21181 21182 if (this.modules.i18nFormat) { 21183 s.i18nFormat = createClassOnDemand(this.modules.i18nFormat); 21184 if (s.i18nFormat.init) s.i18nFormat.init(this); 21185 } 21186 21187 this.translator = new i18nextbabel_target_legacy_Translator(this.services, this.options); // pipe events from translator 21188 21189 this.translator.on('*', function (event) { 21190 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 21191 args[_key2 - 1] = arguments[_key2]; 21192 } 21193 21194 _this2.emit.apply(_this2, [event].concat(args)); 21195 }); 21196 this.modules.external.forEach(function (m) { 21197 if (m.init) m.init(_this2); 21198 }); 21199 } // append api 21200 21201 21202 var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage']; 21203 storeApi.forEach(function (fcName) { 21204 _this2[fcName] = function () { 21205 var _this2$store; 21206 21207 return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments); 21208 }; 21209 }); 21210 var deferred = defer(); 21211 21212 var load = function load() { 21213 _this2.changeLanguage(_this2.options.lng, function (err, t) { 21214 _this2.isInitialized = true; 21215 21216 _this2.logger.log('initialized', _this2.options); 21217 21218 _this2.emit('initialized', _this2.options); 21219 21220 deferred.resolve(t); // not rejecting on err (as err is only a loading translation failed warning) 21221 21222 callback(err, t); 21223 }); 21224 }; 21225 21226 if (this.options.resources || !this.options.initImmediate) { 21227 load(); 21228 } else { 21229 setTimeout(load, 0); 21230 } 21231 21232 return deferred; 21233 } 21234 /* eslint consistent-return: 0 */ 21235 21236 }, { 21237 key: "loadResources", 21238 value: function loadResources() { 21239 var _this3 = this; 21240 21241 var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop; 21242 21243 if (!this.options.resources || this.options.partialBundledLanguages) { 21244 if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode 21245 21246 var toLoad = []; 21247 21248 var append = function append(lng) { 21249 if (!lng) return; 21250 21251 var lngs = _this3.services.languageUtils.toResolveHierarchy(lng); 21252
21253 lngs.forEach(function (l) { 21254 if (toLoad.indexOf(l) < 0) toLoad.push(l); 21255 }); 21256 }; 21257 21258 if (!this.language) { 21259 // at least load fallbacks in this case 21260 var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng); 21261 fallbacks.forEach(function (l) { 21262 return append(l); 21263 }); 21264 } else { 21265 append(this.language); 21266 } 21267 21268 if (this.options.preload) { 21269 this.options.preload.forEach(function (l) { 21270 return append(l); 21271 }); 21272 } 21273 21274 this.services.backendConnector.load(toLoad, this.options.ns, callback); 21275 } else { 21276 callback(null); 21277 } 21278 } 21279 }, { 21280 key: "reloadResources", 21281 value: function reloadResources(lngs, ns, callback) { 21282 var deferred = defer(); 21283 if (!lngs) lngs = this.languages; 21284 if (!ns) ns = this.options.ns; 21285 if (!callback) callback = noop; 21286 this.services.backendConnector.reload(lngs, ns, function (err) { 21287 deferred.resolve(); // not rejecting on err (as err is only a loading translation failed warning) 21288 21289 callback(err); 21290 }); 21291 return deferred; 21292 } 21293 }, { 21294 key: "use", 21295 value: function use(module) { 21296 if (module.type === 'backend') { 21297 this.modules.backend = module; 21298 } 21299 21300 if (module.type === 'logger' || module.log && module.warn && module.error) { 21301 this.modules.logger = module; 21302 } 21303 21304 if (module.type === 'languageDetector') { 21305 this.modules.languageDetector = module; 21306 } 21307 21308 if (module.type === 'i18nFormat') { 21309 this.modules.i18nFormat = module; 21310 } 21311 21312 if (module.type === 'postProcessor') { 21313 postProcessor.addPostProcessor(module); 21314 } 21315 21316 if (module.type === '3rdParty') { 21317 this.modules.external.push(module); 21318 } 21319 21320 return this; 21321 } 21322 }, { 21323 key: "changeLanguage", 21324 value: function changeLanguage(lng, callback) { 21325 var _this4 = this; 21326 21327 var deferred = defer(); 21328 this.emit('languageChanging', lng); 21329 21330 var done = function done(err, l) { 21331 _this4.translator.changeLanguage(l); 21332 21333 if (l) { 21334 _this4.emit('languageChanged', l); 21335 21336 _this4.logger.log('languageChanged', l); 21337 } 21338 21339 deferred.resolve(function () { 21340 return _this4.t.apply(_this4, arguments); 21341 }); 21342 if (callback) callback(err, function () { 21343 return _this4.t.apply(_this4, arguments); 21344 }); 21345 }; 21346 21347 var setLng = function setLng(l) { 21348 if (l) { 21349 _this4.language = l; 21350 _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); 21351 if (!_this4.translator.language) _this4.translator.changeLanguage(l); 21352 if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l); 21353 } 21354 21355 _this4.loadResources(function (err) { 21356 done(err, l); 21357 }); 21358 }; 21359 21360 if (!lng && this.services.languageDetector && !this.services.languageDetector.async) { 21361 setLng(this.services.languageDetector.detect()); 21362 } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) { 21363 this.services.languageDetector.detect(setLng); 21364 } else { 21365 setLng(lng); 21366 } 21367 21368 return deferred; 21369 } 21370 }, { 21371 key: "getFixedT", 21372 value: function getFixedT(lng, ns) { 21373 var _this5 = this; 21374 21375 var fixedT = function fixedT(key, opts) { 21376 var options; 21377 21378 if (_typeof(opts) !== 'object') { 21379 for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { 21380 rest[_key3 - 2] = arguments[_key3]; 21381 } 21382 21383 options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest)); 21384 } else { 21385 options = _objectSpread({}, opts); 21386 } 21387 21388 options.lng = options.lng || fixedT.lng; 21389 options.lngs = options.lngs || fixedT.lngs; 21390 options.ns = options.ns || fixedT.ns; 21391 return _this5.t(key, options); 21392 }; 21393 21394 if (typeof lng === 'string') { 21395 fixedT.lng = lng; 21396 } else { 21397 fixedT.lngs = lng; 21398 } 21399 21400 fixedT.ns = ns; 21401 return fixedT; 21402 } 21403 }, { 21404 key: "t", 21405 value: function t() { 21406 var _this$translator; 21407 21408 return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments); 21409 } 21410 }, { 21411 key: "exists", 21412 value: function exists() { 21413 var _this$translator2; 21414 21415 return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments); 21416 } 21417 }, { 21418 key: "setDefaultNamespace", 21419 value: function setDefaultNamespace(ns) { 21420 this.options.defaultNS = ns; 21421 } 21422 }, { 21423 key: "hasLoadedNamespace", 21424 value: function hasLoadedNamespace(ns) { 21425 var _this6 = this; 21426 21427 if (!this.isInitialized) { 21428 this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages); 21429 return false;
21430 } 21431 21432 if (!this.languages || !this.languages.length) { 21433 this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages); 21434 return false; 21435 } 21436 21437 var lng = this.languages[0]; 21438 var fallbackLng = this.options ? this.options.fallbackLng : false; 21439 var lastLng = this.languages[this.languages.length - 1]; // we're in cimode so this shall pass 21440 21441 if (lng.toLowerCase() === 'cimode') return true; 21442 21443 var loadNotPending = function loadNotPending(l, n) { 21444 var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)]; 21445 21446 return loadState === -1 || loadState === 2; 21447 }; // loaded -> SUCCESS 21448 21449 21450 if (this.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS 21451 21452 if (!this.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS 21453 21454 if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; 21455 return false; 21456 } 21457 }, { 21458 key: "loadNamespaces", 21459 value: function loadNamespaces(ns, callback) { 21460 var _this7 = this; 21461 21462 var deferred = defer(); 21463 21464 if (!this.options.ns) { 21465 callback && callback(); 21466 return Promise.resolve(); 21467 } 21468 21469 if (typeof ns === 'string') ns = [ns]; 21470 ns.forEach(function (n) { 21471 if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n); 21472 }); 21473 this.loadResources(function (err) { 21474 deferred.resolve(); 21475 if (callback) callback(err); 21476 }); 21477 return deferred; 21478 } 21479 }, { 21480 key: "loadLanguages", 21481 value: function loadLanguages(lngs, callback) { 21482 var deferred = defer(); 21483 if (typeof lngs === 'string') lngs = [lngs]; 21484 var preloaded = this.options.preload || []; 21485 var newLngs = lngs.filter(function (lng) { 21486 return preloaded.indexOf(lng) < 0; 21487 }); // Exit early if all given languages are already preloaded 21488 21489 if (!newLngs.length) { 21490 if (callback) callback(); 21491 return Promise.resolve(); 21492 } 21493 21494 this.options.preload = preloaded.concat(newLngs); 21495 this.loadResources(function (err) { 21496 deferred.resolve(); 21497 if (callback) callback(err); 21498 }); 21499 return deferred; 21500 } 21501 }, { 21502 key: "dir", 21503 value: function dir(lng) { 21504 if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language; 21505 if (!lng) return 'rtl'; 21506 var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', '
21506yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam']; 21507 return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr'; 21508 } 21509 /* eslint class-methods-use-this: 0 */ 21510 21511 }, { 21512 key: "createInstance", 21513 value: function createInstance() { 21514 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 21515 var callback = arguments.length > 1 ? arguments[1] : undefined; 21516 return new I18n(options, callback); 21517 } 21518 }, { 21519 key: "cloneInstance", 21520 value: function cloneInstance() { 21521 var _this8 = this; 21522 21523 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 21524 var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; 21525 21526 var mergedOptions = _objectSpread({}, this.options, options, { 21527 isClone: true 21528 }); 21529 21530 var clone = new I18n(mergedOptions); 21531 var membersToCopy = ['store', 'services', 'language']; 21532 membersToCopy.forEach(function (m) { 21533 clone[m] = _this8[m]; 21534 }); 21535 clone.translator = new i18nextbabel_target_legacy_Translator(clone.services, clone.options); 21536 clone.translator.on('*', function (event) { 21537 for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { 21538 args[_key4 - 1] = arguments[_key4]; 21539 } 21540 21541 clone.emit.apply(clone, [event].concat(args)); 21542 }); 21543 clone.init(mergedOptions, callback); 21544 clone.translator.options = clone.options; // sync options 21545 21546 return clone; 21547 } 21548 }]); 21549 21550 return I18n; 21551}(i18nextbabel_target_legacy_EventEmitter); 21552 21553var i18next = new i18nextbabel_target_legacy_I18n(); 21554 21555/* harmony default export */ var i18nextbabel_target_legacy = (i18next); 21556 21557// EXTERNAL MODULE: ./node_modules/i18next-http-backend/esm/utils.js?babel-target=legacy 21558var utilsbabel_target_legacy = __webpack_require__(319); 21559 21560// EXTERNAL MODULE: ./node_modules/i18next-http-backend/esm/request.js?babel-target=legacy 21561var requestbabel_target_legacy = __webpack_require__(754); 21562 21563// CONCATENATED MODULE: ./node_modules/i18next-http-backend/esm?babel-target=legacy 21564function esm_babel_target_legacy_typeof(o) { "@babel/helpers - typeof"; return esm_babel_target_legacy_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, esm_babel_target_legacy_typeof(o); } 21565function esm_babel_target_legacy_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } 21566function esm_babel_target_legacy_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? esm_babel_target_legacy_ownKeys(Object(t), !0).forEach(function (r) { esm_babel_target_legacy_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : esm_babel_target_legacy_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } 21567function esm_babel_target_legacy_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 21568function esm_babel_target_legacy_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); } } 21569function esm_babel_target_legacy_createClass(Constructor, protoProps, staticProps) { if (protoProps) esm_babel_target_legacy_defineProperties(Constructor.prototype, protoProps); if (staticProps) esm_babel_target_legacy_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } 21570function esm_babel_target_legacy_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; } 21571function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
21571 return esm_babel_target_legacy_typeof(key) === "symbol" ? key : String(key); } 21572function _toPrimitive(input, hint) { if (esm_babel_target_legacy_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (esm_babel_target_legacy_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 21573 21574 21575var esm_babel_target_legacy_getDefaults = function getDefaults() { 21576 return { 21577 loadPath: '/locales/{{lng}}/{{ns}}.json', 21578 addPath: '/locales/add/{{lng}}/{{ns}}', 21579 parse: function parse(data) { 21580 return JSON.parse(data); 21581 }, 21582 stringify: JSON.stringify, 21583 parsePayload: function parsePayload(namespace, key, fallbackValue) { 21584 return esm_babel_target_legacy_defineProperty({}, key, fallbackValue || ''); 21585 }, 21586 parseLoadPayload: function parseLoadPayload(languages, namespaces) { 21587 return undefined; 21588 }, 21589 request: requestbabel_target_legacy["a" /* default */], 21590 reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000, 21591 customHeaders: {}, 21592 queryStringParams: {}, 21593 crossDomain: false, 21594 withCredentials: false, 21595 overrideMimeType: false, 21596 requestOptions: { 21597 mode: 'cors', 21598 credentials: 'same-origin', 21599 cache: 'default' 21600 } 21601 }; 21602}; 21603var esm_babel_target_legacy_Backend = function () { 21604 function Backend(services) { 21605 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 21606 var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 21607 esm_babel_target_legacy_classCallCheck(this, Backend); 21608 this.services = services; 21609 this.options = options; 21610 this.allOptions = allOptions; 21611 this.type = 'backend'; 21612 this.init(services, options, allOptions); 21613 } 21614 esm_babel_target_legacy_createClass(Backend, [{ 21615 key: "init", 21616 value: function init(services) { 21617 var _this = this; 21618 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 21619 var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 21620 this.services = services; 21621 this.options = esm_babel_target_legacy_objectSpread(esm_babel_target_legacy_objectSpread(esm_babel_target_legacy_objectSpread({}, esm_babel_target_legacy_getDefaults()), this.options || {}), options); 21622 this.allOptions = allOptions; 21623 if (this.services && this.options.reloadInterval) { 21624 setInterval(function () { 21625 return _this.reload(); 21626 }, this.options.reloadInterval); 21627 } 21628 } 21629 }, { 21630 key: "readMulti", 21631 value: function readMulti(languages, namespaces, callback) { 21632 this._readAny(languages, languages, namespaces, namespaces, callback); 21633 } 21634 }, { 21635 key: "read", 21636 value: function read(language, namespace, callback) { 21637 this._readAny([language], language, [namespace], namespace, callback); 21638 } 21639 }, { 21640 key: "_readAny", 21641 value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) { 21642 var _this2 = this; 21643 var loadPath = this.options.loadPath; 21644 if (typeof this.options.loadPath === 'function') { 21645 loadPath = this.options.loadPath(languages, namespaces); 21646 } 21647 loadPath = Object(utilsbabel_target_legacy["b" /* makePromise */])(loadPath); 21648 loadPath.then(function (resolvedLoadPath) { 21649 if (!resolvedLoadPath) return callback(null, {}); 21650 var url = _this2.services.interpolator.interpolate(resolvedLoadPath, { 21651 lng: languages.join('+'), 21652 ns: namespaces.join('+') 21653 }); 21654 _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces); 21655 }); 21656 } 21657 }, { 21658 key: "loadUrl", 21659 value: function loadUrl(url, callback, languages, namespaces) { 21660 var _this3 = this; 21661 var lng = typeof languages === 'string' ? [languages] : languages; 21662 var ns = typeof namespaces === 'string' ? [namespaces] : namespaces; 21663 var payload = this.options.parseLoadPayload(lng, ns); 21664 this.options.request(this.options, url, payload, function (err, res) { 21665 if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true); 21666 if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false); 21667 if (!res && err && err.message && err.message.indexOf('Failed to fetch') > -1) return callback('failed loading ' + url + ': ' + err.message, true); 21668 if (err) return callback(err, false); 21669 var ret, parseErr; 21670 try { 21671 if (typeof res.data === 'string') { 21672 ret = _this3.options.parse(res.data, languages, namespaces); 21673 } else { 21674 ret = res.data; 21675 } 21676 } catch (e) { 21677 parseErr = 'failed parsing ' + url + ' to json'; 21678 } 21679 if (parseErr) return callback(parseErr, false); 21680 callback(null, ret); 21681 }); 21682 } 21683 }, { 21684 key: "create", 21685 value: function create(languages, namespace, key, fallbackValue, callback) { 21686 var _this4 = this; 21687 if (!this.options.addPath) return; 21688 if (typeof languages === 'string') languages = [languages]; 21689 var payload = this.options.parsePayload(namespace, key, fallbackValue); 21690 var finished = 0; 21691 var dataArray = []; 21692 var resArray = [];
21693 languages.forEach(function (lng) { 21694 var addPath = _this4.options.addPath; 21695 if (typeof _this4.options.addPath === 'function') { 21696 addPath = _this4.options.addPath(lng, namespace); 21697 } 21698 var url = _this4.services.interpolator.interpolate(addPath, { 21699 lng: lng, 21700 ns: namespace 21701 }); 21702 _this4.options.request(_this4.options, url, payload, function (data, res) { 21703 finished += 1; 21704 dataArray.push(data); 21705 resArray.push(res); 21706 if (finished === languages.length) { 21707 if (typeof callback === 'function') callback(dataArray, resArray); 21708 } 21709 }); 21710 }); 21711 } 21712 }, { 21713 key: "reload", 21714 value: function reload() { 21715 var _this5 = this; 21716 var _this$services = this.services, 21717 backendConnector = _this$services.backendConnector, 21718 languageUtils = _this$services.languageUtils, 21719 logger = _this$services.logger; 21720 var currentLanguage = backendConnector.language; 21721 if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return; 21722 var toLoad = []; 21723 var append = function append(lng) { 21724 var lngs = languageUtils.toResolveHierarchy(lng); 21725 lngs.forEach(function (l) { 21726 if (toLoad.indexOf(l) < 0) toLoad.push(l); 21727 }); 21728 }; 21729 append(currentLanguage); 21730 if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) { 21731 return append(l); 21732 }); 21733 toLoad.forEach(function (lng) { 21734 _this5.allOptions.ns.forEach(function (ns) { 21735 backendConnector.read(lng, ns, 'read', null, null, function (err, data) { 21736 if (err) logger.warn("loading namespace ".concat(ns, " for language ").concat(lng, " failed"), err); 21737 if (!err && data) logger.log("loaded namespace ".concat(ns, " for language ").concat(lng), data); 21738 backendConnector.loaded("".concat(lng, "|").concat(ns), err, data); 21739 }); 21740 }); 21741 }); 21742 } 21743 }]); 21744 return Backend; 21745}(); 21746esm_babel_target_legacy_Backend.type = 'backend'; 21747/* harmony default export */ var esm_babel_target_legacy = (esm_babel_target_legacy_Backend); 21748// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 21749var es_babel_target_legacy = __webpack_require__(25); 21750 21751// CONCATENATED MODULE: ./src/lib/i18n.ts?babel-target=legacy 21752 21753 21754 21755 21756 21757 21758 21759 21760 21761 21762 21763 21764 21765 21766 21767 21768 21769 21770 21771function i18nbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 21772 21773function i18nbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { i18nbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { i18nbabel_target_legacy_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 21774 21775 21776 21777 21778var i18nOpts = { 21779 lng: "en", 21780 fallbackLng: "en", 21781 debug: true, 21782 keySeparator: false, 21783 interpolation: { 21784 escapeValue: false 21785 }, 21786 react: { 21787 useSuspense: false 21788 }, 21789 backend: { 21790 loadPath: "locales/{{lng}}/{{ns}}.json", 21791 crossDomain: true 21792 } 21793}; 21794i18nextbabel_target_legacy.use(esm_babel_target_legacy).use(es_babel_target_legacy["b" /* initReactI18next */]); 21795 21796var fetchTranslation = /*#__PURE__*/function () { 21797 var _ref = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee(lng) { 21798 var rootUrl, response; 21799 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 21800 while (1) { 21801 switch (_context.prev = _context.next) { 21802 case 0: 21803 // console.log("Fetching translation for " + lng); 21804 rootUrl = "https://assets.player.radio/latest";
21805 _context.next = 3; 21806 return fetch("".concat(rootUrl, "/locales/").concat(lng, "/translation.json")); 21807 21808 case 3: 21809 response = _context.sent; 21810 return _context.abrupt("return", response); 21811 21812 case 5: 21813 case "end": 21814 return _context.stop(); 21815 } 21816 } 21817 }, _callee); 21818 })); 21819 21820 return function fetchTranslation(_x) { 21821 return _ref.apply(this, arguments); 21822 }; 21823}(); 21824 21825var initUsingDefault = /*#__PURE__*/function () { 21826 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2(lng) { 21827 var isDebug, 21828 response, 21829 json, 21830 _args2 = arguments; 21831 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 21832 while (1) { 21833 switch (_context2.prev = _context2.next) { 21834 case 0: 21835 isDebug = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false; 21836 21837 if (!( false || isDebug)) { 21838 _context2.next = 3; 21839 break; 21840 } 21841 21842 return _context2.abrupt("return", false); 21843 21844 case 3: 21845 _context2.next = 5; 21846 return fetchTranslation(lng); 21847 21848 case 5: 21849 response = _context2.sent; 21850 21851 if (!(!response.ok || response.status !== 200)) { 21852 _context2.next = 8; 21853 break; 21854 } 21855 21856 return _context2.abrupt("return", false); 21857 21858 case 8: 21859 _context2.prev = 8; 21860 _context2.next = 11; 21861 return response.json(); 21862 21863 case 11: 21864 json = _context2.sent; 21865 _context2.next = 14; 21866 return i18nextbabel_target_legacy.init(i18nbabel_target_legacy_objectSpread(i18nbabel_target_legacy_objectSpread({}, i18nOpts), {}, { 21867 backend: undefined, 21868 lng: lng, 21869 resources: definePropertybabel_target_legacy_default()({}, lng, { 21870 translation: json 21871 }) 21872 })); 21873 21874 case 14: 21875 return _context2.abrupt("return", true); 21876 21877 case 17: 21878 _context2.prev = 17; 21879 _context2.t0 = _context2["catch"](8); 21880 return _context2.abrupt("return", false); 21881 21882 case 20: 21883 case "end": 21884 return _context2.stop(); 21885 } 21886 } 21887 }, _callee2, null, [[8, 17]]); 21888 })); 21889 21890 return function initUsingDefault(_x2) { 21891 return _ref2.apply(this, arguments); 21892 }; 21893}(); 21894 21895var initI18n = /*#__PURE__*/function () { 21896 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee3(localeRootUrl) { 21897 var lng, 21898 isDebug, 21899 success, 21900 _args3 = arguments; 21901 return regenerator_babel_target_legacy_default.a.wrap(function _callee3$(_context3) { 21902 while (1) { 21903 switch (_context3.prev = _context3.next) { 21904 case 0: 21905 lng = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : "en"; 21906 isDebug = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false; 21907 _context3.next = 4; 21908 return initUsingDefault(lng, isDebug); 21909 21910 case 4: 21911 success = _context3.sent; 21912 21913 if (!success) { 21914 _context3.next = 7; 21915 break; 21916 } 21917 21918 return _context3.abrupt("return"); 21919 21920 case 7: 21921 _context3.next = 9; 21922 return i18nextbabel_target_legacy.init(i18nbabel_target_legacy_objectSpread(i18nbabel_target_legacy_objectSpread({}, i18nOpts), {}, { 21923 debug: false || window.location.search.includes("debug"), 21924 backend: i18nbabel_target_legacy_objectSpread(i18nbabel_target_legacy_objectSpread({}, i18nOpts.backend), {}, { 21925 loadPath: "".concat(localeRootUrl, "/locales/{{lng}}/{{ns}}.json") 21926 }), 21927 lng: lng 21928 })); 21929 21930 case 9: 21931 case "end": 21932 return _context3.stop(); 21933 } 21934 } 21935 }, _callee3); 21936 })); 21937 21938 return function initI18n(_x3) { 21939 return _ref3.apply(this, arguments); 21940 }; 21941}(); 21942var changeLanguage = /*#__PURE__*/function () { 21943 var _ref4 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee4(lng, isDebug) { 21944 var response, json; 21945 return regenerator_babel_target_legacy_default.a.wrap(function _callee4$(_context4) { 21946 while (1) { 21947 switch (_context4.prev = _context4.next) { 21948 case 0: 21949 if (!(lng === i18nextbabel_target_legacy.language)) { 21950 _context4.next = 2; 21951 break; 21952 } 21953 21954 return _context4.abrupt("return"); 21955 21956 case 2: 21957 if (false) {} 21958 21959 _context4.next = 5; 21960 return fetchTranslation(lng); 21961 21962 case 5: 21963 response = _context4.sent; 21964 21965 if (!(!response.ok || response.status !== 200)) { 21966 _context4.next = 8; 21967 break; 21968 } 21969 21970 return _context4.abrupt("return"); 21971 21972 case 8: 21973 _context4.next = 10; 21974 return response.json(); 21975 21976 case 10: 21977 json = _context4.sent; 21978 i18nextbabel_target_legacy.addResourceBundle(lng, "translation", json, true); 21979 21980 case 12: 21981 _context4.next = 14; 21982 return i18nextbabel_target_legacy.changeLanguage(lng); 21983 21984 case 14: 21985 case "end": 21986 return _context4.stop(); 21987 } 21988 } 21989 }, _callee4); 21990 })); 21991 21992 return function changeLanguage(_x4, _x5) { 21993 return _ref4.apply(this, arguments); 21994 }; 21995}(); 21996/* harmony default export */ var i18nbabel_target_legacy = __webpack_exports__["b"] = (i18nextbabel_target_legacy); 21997 21998/***/ }), 21999/* 322 */ 22000/***/ (function(module, exports, __webpack_require__) { 22001 22002// extracted by mini-css-extract-plugin 22003module.exports = {"visuallyHidden":"SoundOfSilence-module__visuallyHidden--4WiuL","title":"SoundOfSilence-module__title--1PSpd","link":"SoundOfSilence-module__link--3bBHA","lyrics":"SoundOfSilence-module__lyrics--1Wk2P","copyContainer":"SoundOfSilence-module__copyContainer--2nBmV","background":"SoundOfSilence-module__background--23-t5","container":"SoundOfSilence-module__container--1fb2M","icon":"SoundOfSilence-module__icon--30z7U"}; 22004 22005/***/ }), 22006/* 323 */, 22007/* 324 */, 22008/* 325 */, 22009/* 326 */, 22010/* 327 */, 22011/* 328 */ 22012/***/ (function(module, exports, __webpack_require__) { 22013 22014var $ = __webpack_require__(2); 22015var $values = __webpack_require__(374).values; 22016 22017// `Object.values` method 22018// https://tc39.github.io/ecma262/#sec-object.values 22019$({ target: 'Object', stat: true }, {
22020 values: function values(O) { 22021 return $values(O); 22022 } 22023}); 22024 22025 22026/***/ }), 22027/* 329 */, 22028/* 330 */ 22029/***/ (function(module, __webpack_exports__, __webpack_require__) { 22030 22031"use strict"; 22032 22033// EXPORTS 22034__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ FaveButtonbabel_target_legacy_FaveButton; }); 22035 22036// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 22037var extendsbabel_target_legacy = __webpack_require__(50); 22038var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 22039 22040// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 22041var definePropertybabel_target_legacy = __webpack_require__(15); 22042var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 22043 22044// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 22045var slicedToArraybabel_target_legacy = __webpack_require__(8); 22046var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 22047 22048// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 22049var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 22050var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 22051 22052// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 22053var preact_modulebabel_target_legacy = __webpack_require__(1); 22054 22055// EXTERNAL MODULE: ./src/components/FaveButton/FaveButton.module.scss 22056var FaveButton_module = __webpack_require__(81); 22057var FaveButton_module_default = /*#__PURE__*/__webpack_require__.n(FaveButton_module); 22058 22059// EXTERNAL MODULE: ./src/components/IconSprite/index.ts?babel-target=legacy + 1 modules 22060var IconSpritebabel_target_legacy = __webpack_require__(131); 22061 22062// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 22063var useAPIbabel_target_legacy = __webpack_require__(44); 22064 22065// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 22066var hooks_modulebabel_target_legacy = __webpack_require__(4); 22067 22068// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 22069var APIManagerbabel_target_legacy = __webpack_require__(32); 22070 22071// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 22072var classnames_babel_target_legacy = __webpack_require__(27); 22073var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 22074 22075// EXTERNAL MODULE: ./src/lib/Analytics/index.ts?babel-target=legacy + 3 modules 22076var Analyticsbabel_target_legacy = __webpack_require__(184); 22077 22078// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 22079var es_babel_target_legacy = __webpack_require__(25); 22080 22081// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 22082var loggerbabel_target_legacy = __webpack_require__(10); 22083 22084// EXTERNAL MODULE: ./src/components/FaveTip/FaveTip.module.scss 22085var FaveTip_module = __webpack_require__(82); 22086var FaveTip_module_default = /*#__PURE__*/__webpack_require__.n(FaveTip_module); 22087 22088// CONCATENATED MODULE: ./src/components/FaveTip/FaveTip.tsx?babel-target=legacy 22089 22090 22091 22092 22093 22094var FaveTipbabel_target_legacy_FaveTip = function FaveTip(_ref) { 22095 var hideFaveTip = _ref.hideFaveTip; 22096 22097 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 22098 t = _useTranslation.t; 22099 22100 return Object(preact_modulebabel_target_legacy["h"])("div", { 22101 className: FaveTip_module_default.a.faveTipContainer 22102 }, Object(preact_modulebabel_target_legacy["h"])("div", { 22103 className: FaveTip_module_default.a.faveTipContainerInner 22104 }, Object(preact_modulebabel_target_legacy["h"])("div", { 22105 className: FaveTip_module_default.a.heartIcon 22106 }, Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 22107 "aria-hidden": true, 22108 className: classnames_babel_target_legacy_default()(FaveTip_module_default.a.faved), 22109 name: "fave-set" 22110 })), Object(preact_modulebabel_target_legacy["h"])("h3", { 22111 className: FaveTip_module_default.a.faveTipHeader 22112 }, t("FAVE_TIP_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 22113 className: FaveTip_module_default.a.faveTipText 22114 }, t("FAVE_TIP_TEXT")), Object(preact_modulebabel_target_legacy["h"])("button", { 22115 onClick: hideFaveTip, 22116 className: FaveTip_module_default.a.closeText 22117 }, t("FAVE_TIP_BUTTON"))), Object(preact_modulebabel_target_legacy["h"])("svg", {
22118 viewBox: "0 0 18 10", 22119 xmlns: "http://www.w3.org/2000/svg", 22120 className: FaveTip_module_default.a.tip, 22121 "aria-hidden": true 22122 }, Object(preact_modulebabel_target_legacy["h"])("polygon", { 22123 points: "0,0 9,10 18,0 0,0", 22124 fill: "#f3f3f3" 22125 }), Object(preact_modulebabel_target_legacy["h"])("polyline", { 22126 points: "0,0 9,10 18,0", 22127 stroke: "#d7d7d7", 22128 fill: "none" 22129 }))); 22130}; 22131/* harmony default export */ var FaveTipbabel_target_legacy = (FaveTipbabel_target_legacy_FaveTip); 22132// CONCATENATED MODULE: ./src/components/FaveTip/index.ts?babel-target=legacy 22133 22134// CONCATENATED MODULE: ./src/components/FaveButton/FaveButton.tsx?babel-target=legacy 22135 22136 22137 22138 22139 22140/* eslint-disable react/jsx-no-literals */ 22141 22142 22143 22144 22145 22146 22147 22148 22149 22150 22151 22152var FaveButtonbabel_target_legacy_FaveButton = function FaveButton(_ref) { 22153 var id = _ref.id, 22154 _ref$colour = _ref.colour, 22155 colour = _ref$colour === void 0 ? "#cc0033" : _ref$colour, 22156 className = _ref.className, 22157 darkTheme = _ref.darkTheme, 22158 tip = _ref.tip, 22159 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["id", "colour", "className", "darkTheme", "tip"]); 22160 22161 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 22162 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 22163 state = _useAPI2[0], 22164 dispatch = _useAPI2[1]; 22165 22166 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 22167 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 22168 toolTipDisplay = _useState2[0], 22169 setToolTipDisplay = _useState2[1]; 22170 22171 var _useAnalytics = Object(Analyticsbabel_target_legacy["b" /* useAnalytics */])(), 22172 sendEvent = _useAnalytics.sendEvent; 22173 22174 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 22175 t = _useTranslation.t; 22176 22177 var faved = Object(APIManagerbabel_target_legacy["m" /* isFave */])(id, state.faves); 22178 var hideFaveTip = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 22179 if (!state.hideFavTip) { 22180 localStorage.setItem("hideFavTip", "true"); 22181 setToolTipDisplay(false); 22182 dispatch({ 22183 type: "HIDE_FAVE_TIP", 22184 payload: "" 22185 }); 22186 } 22187 }, [dispatch, state.hideFavTip]); 22188 var setFave = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (e) { 22189 e.preventDefault(); 22190 22191 if (faved) { 22192 sendEvent("Navigation", "Remove from Favourites", id); 22193 dispatch({ 22194 type: "REMOVE_FAVE", 22195 payload: id 22196 }); 22197 } else { 22198 if (!state.faves.length) { 22199 dispatch({ 22200 type: "DISPLAY_FAVE_NOTIFICATION", 22201 payload: "" 22202 }); 22203 } else { 22204 Object(loggerbabel_target_legacy["c" /* log */])("Already have faves"); 22205 } 22206 22207 sendEvent("Navigation", "Add to Favourites", id); 22208 dispatch({ 22209 type: "ADD_FAVE", 22210 payload: id 22211 }); 22212 } 22213 22214 hideFaveTip(); 22215 }, [faved, hideFaveTip, sendEvent, id, dispatch, state.faves.length]); 22216 22217 var handleHover = function handleHover() { 22218 // If tip has not been closed or a fav selected toggle the tip display 22219 Object(loggerbabel_target_legacy["c" /* log */])("state.hideFavTip: ", state.faves.length); 22220 22221 if (!state.hideFavTip) { 22222 setToolTipDisplay(!toolTipDisplay); 22223 } 22224 }; 22225 22226 return Object(preact_modulebabel_target_legacy["h"])("div", { 22227 onMouseEnter: handleHover, 22228 onMouseLeave: handleHover, 22229 className: FaveButton_module_default.a.buttoncontainer 22230 }, Object(preact_modulebabel_target_legacy["h"])("button", extendsbabel_target_legacy_default()({ 22231 className: classnames_babel_target_legacy_default()(FaveButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, FaveButton_module_default.a.dark, darkTheme), className), 22232 onClick: setFave, 22233 "aria-label": faved ? t("ARIA_REMOVE_FAVOURITE") : t("ARIA_ADD_FAVOURITE") 22234 }, props), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 22235 "aria-hidden": true, 22236 className: faved ? FaveButton_module_default.a.hover : FaveButton_module_default.a.nohover, 22237 name: "fave-unset", 22238 style: { 22239 color: colour || "currentColor" 22240 } 22241 }), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 22242 "aria-hidden": true, 22243 className: classnames_babel_target_legacy_default()(definePropertybabel_target_legacy_default()({}, FaveButton_module_default.a.faved, faved), faved ? FaveButton_module_default.a.nohover : FaveButton_module_default.a.hover), 22244 name: "fave-set", 22245 style: { 22246 color: colour || "currentColor" 22247 } 22248 })), state.faves.length === 0 && tip && toolTipDisplay && Object(preact_modulebabel_target_legacy["h"])(FaveTipbabel_target_legacy_FaveTip, { 22249 hideFaveTip: hideFaveTip 22250 })); 22251}; 22252/* harmony default export */ var FaveButtonbabel_target_legacy = (FaveButtonbabel_target_legacy_FaveButton); 22253// CONCATENATED MODULE: ./src/components/FaveButton/index.ts?babel-target=legacy 22254 22255 22256/***/ }), 22257/* 331 */, 22258/* 332 */, 22259/* 333 */ 22260/***/ (function(module, __webpack_exports__, __webpack_require__) { 22261 22262"use strict"; 22263 22264// EXPORTS 22265__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ Trans; }); 22266 22267// UNUSED EXPORTS: nodesToString 22268 22269// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 22270var es_symbolbabel_target_legacy = __webpack_require__(71); 22271
vendor: 5,987 bytes, lines 22272-22375
22272// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 22273var es_array_concatbabel_target_legacy = __webpack_require__(75); 22274 22275// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.every.js?babel-target=legacy 22276var es_array_everybabel_target_legacy = __webpack_require__(425); 22277 22278// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 22279var es_array_filterbabel_target_legacy = __webpack_require__(70); 22280 22281// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 22282var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 22283 22284// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js?babel-target=legacy 22285var es_array_index_ofbabel_target_legacy = __webpack_require__(265); 22286 22287// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js?babel-target=legacy 22288var es_array_iteratorbabel_target_legacy = __webpack_require__(138); 22289 22290// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js?babel-target=legacy 22291var es_array_joinbabel_target_legacy = __webpack_require__(160); 22292 22293// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js?babel-target=legacy 22294var es_array_reducebabel_target_legacy = __webpack_require__(162); 22295 22296// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 22297var es_function_namebabel_target_legacy = __webpack_require__(123); 22298 22299// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js?babel-target=legacy 22300var es_object_assignbabel_target_legacy = __webpack_require__(406); 22301 22302// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 22303var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 22304 22305// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 22306var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 22307 22308// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 22309var es_object_keysbabel_target_legacy = __webpack_require__(89); 22310 22311// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 22312var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 22313 22314// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js?babel-target=legacy 22315var es_regexp_constructorbabel_target_legacy = __webpack_require__(427); 22316 22317// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js?babel-target=legacy 22318var es_regexp_execbabel_target_legacy = __webpack_require__(93); 22319 22320// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js?babel-target=legacy 22321var es_regexp_to_stringbabel_target_legacy = __webpack_require__(156); 22322 22323// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 22324var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 22325 22326// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js?babel-target=legacy 22327var web_dom_collections_iteratorbabel_target_legacy = __webpack_require__(257); 22328 22329// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 22330var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 22331var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 22332 22333// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 22334var definePropertybabel_target_legacy = __webpack_require__(15); 22335var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 22336 22337// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/typeof.js?babel-target=legacy 22338var typeofbabel_target_legacy = __webpack_require__(154); 22339var typeofbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(typeofbabel_target_legacy); 22340 22341// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js?babel-target=legacy 22342var compat_modulebabel_target_legacy = __webpack_require__(18); 22343 22344// EXTERNAL MODULE: ./node_modules/html-parse-stringify2?babel-target=legacy 22345var html_parse_stringify2_babel_target_legacy = __webpack_require__(403); 22346var html_parse_stringify2_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(html_parse_stringify2_babel_target_legacy); 22347 22348// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js?babel-target=legacy 22349var es_promisebabel_target_legacy = __webpack_require__(187); 22350 22351// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js?babel-target=legacy 22352var classCallCheckbabel_target_legacy = __webpack_require__(233); 22353var classCallCheckbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classCallCheckbabel_target_legacy); 22354 22355// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js?babel-target=legacy 22356var createClassbabel_target_legacy = __webpack_require__(234); 22357var createClassbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(createClassbabel_target_legacy); 22358 22359// CONCATENATED MODULE: ./src/lib/Trans/context.js?babel-target=legacy 22360 22361 22362 22363 22364 22365 22366 22367 22368 22369 22370 22371 22372 22373function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 22374 22375function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
22375 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 22376 22377 22378var defaultOptions = { 22379 bindI18n: 'languageChanging languageChanged', 22380 bindI18nStore: '', 22381 // nsMode: 'fallback' // loop through all namespaces given to hook, HOC, render prop for key lookup 22382 transEmptyNodeValue: '', 22383 transSupportBasicHtmlNodes: true, 22384 transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'], 22385 // hashTransKey: key => key // calculate a key for Trans component based on defaultValue 22386 useSuspense: true 22387}; 22388var i18nInstance; 22389var hasUsedI18nextProvider; 22390var I18nContext = compat_modulebabel_target_legacy["c" /* default */].createContext(); 22391function usedI18nextProvider(used) { 22392 hasUsedI18nextProvider = used; 22393} 22394function getHasUsedI18nextProvider() { 22395 return hasUsedI18nextProvider; 22396} 22397function setDefaults() { 22398 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 22399 defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options); 22400} 22401function getDefaults() { 22402 return defaultOptions; 22403} 22404var contextbabel_target_legacy_ReportNamespaces = /*#__PURE__*/function () { 22405 function ReportNamespaces() { 22406 classCallCheckbabel_target_legacy_default()(this, ReportNamespaces); 22407 22408 this.usedNamespaces = {}; 22409 } 22410 22411 createClassbabel_target_legacy_default()(ReportNamespaces, [{ 22412 key: "addUsedNamespaces", 22413 value: function addUsedNamespaces(namespaces) { 22414 var _this = this; 22415 22416 namespaces.forEach(function (ns) { 22417 if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true; 22418 }); 22419 } 22420 }, { 22421 key: "getUsedNamespaces", 22422 value: function getUsedNamespaces() { 22423 return Object.keys(this.usedNamespaces); 22424 } 22425 }]); 22426 22427 return ReportNamespaces; 22428}(); 22429function setI18n(instance) { 22430 i18nInstance = instance; 22431} 22432function getI18n() { 22433 return i18nInstance; 22434} 22435var initReactI18next = { 22436 type: '3rdParty', 22437 init: function init(instance) { 22438 setDefaults(instance.options.react); 22439 setI18n(instance); 22440 } 22441}; 22442function composeInitialProps(ForComponent) { 22443 return function (ctx) { 22444 return new Promise(function (resolve) { 22445 var i18nInitialProps = getInitialProps(); 22446 22447 if (ForComponent.getInitialProps) { 22448 ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) { 22449 resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps)); 22450 }); 22451 } else { 22452 resolve(i18nInitialProps); 22453 } 22454 }); 22455 }; // Avoid async for now - so we do not need to pull in regenerator 22456 // return async ctx => { 22457 // const componentsInitialProps = ForComponent.getInitialProps 22458 // ? await ForComponent.getInitialProps(ctx) 22459 // : {}; 22460 // const i18nInitialProps = getInitialProps(); 22461 // return { 22462 // ...componentsInitialProps, 22463 // ...i18nInitialProps, 22464 // }; 22465 // }; 22466} 22467function getInitialProps() { 22468 var i18n = getI18n(); 22469 var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : []; 22470 var ret = {}; 22471 var initialI18nStore = {};
22472 i18n.languages.forEach(function (l) { 22473 initialI18nStore[l] = {}; 22474 namespaces.forEach(function (ns) { 22475 initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {}; 22476 }); 22477 }); 22478 ret.initialI18nStore = initialI18nStore; 22479 ret.initialLanguage = i18n.language; 22480 return ret; 22481} 22482// CONCATENATED MODULE: ./src/lib/Trans/utils.js?babel-target=legacy 22483 22484 22485function warn() { 22486 if (console && console.warn) { 22487 var _console; 22488 22489 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 22490 args[_key] = arguments[_key]; 22491 } 22492 22493 if (typeof args[0] === 'string') args[0] = "react-i18next:: ".concat(args[0]); 22494 22495 (_console = console).warn.apply(_console, args); 22496 } 22497} 22498var alreadyWarned = {}; 22499function warnOnce() { 22500 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 22501 args[_key2] = arguments[_key2]; 22502 } 22503 22504 if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return; 22505 if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date(); 22506 warn.apply(void 0, args); 22507} // not needed right now 22508// 22509// export function deprecated(...args) { 22510// if (process && process.env && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')) { 22511// if (typeof args[0] === 'string') args[0] = `deprecation warning -> ${args[0]}`; 22512// warnOnce(...args); 22513// } 22514// } 22515 22516function loadNamespaces(i18n, ns, cb) { 22517 i18n.loadNamespaces(ns, function () { 22518 // delay ready if not yet initialized i18n instance 22519 if (i18n.isInitialized) { 22520 cb(); 22521 } else { 22522 var initialized = function initialized() { 22523 // due to emitter removing issue in i18next we need to delay remove 22524 setTimeout(function () { 22525 i18n.off('initialized', initialized); 22526 }, 0); 22527 cb(); 22528 }; 22529 22530 i18n.on('initialized', initialized); 22531 } 22532 }); 22533} 22534function hasLoadedNamespace(ns, i18n) { 22535 if (!i18n.languages || !i18n.languages.length) { 22536 warnOnce('i18n.languages were undefined or empty', i18n.languages); 22537 return true; 22538 } 22539 22540 var lng = i18n.languages[0]; 22541 var fallbackLng = i18n.options ? i18n.options.fallbackLng : false; 22542 var lastLng = i18n.languages[i18n.languages.length - 1]; // we're in cimode so this shall pass 22543 22544 if (lng.toLowerCase() === 'cimode') return true; 22545 22546 var loadNotPending = function loadNotPending(l, n) { 22547 var loadState = i18n.services.backendConnector.state["".concat(l, "|").concat(n)]; 22548 return loadState === -1 || loadState === 2; 22549 }; // loaded -> SUCCESS 22550 22551 22552 if (i18n.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS 22553 22554 if (!i18n.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS 22555 22556 if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true; 22557 return false; 22558} 22559function getDisplayName(Component) { 22560 return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown'); 22561} 22562// CONCATENATED MODULE: ./src/lib/Trans/Trans.js?babel-target=legacy 22563 22564 22565 22566 22567 22568 22569 22570 22571 22572 22573 22574 22575 22576 22577 22578 22579 22580 22581 22582 22583 22584 22585 22586 22587function Transbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 22588 22589function Transbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Transbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Transbabel_target_legacy_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 22590 22591 22592 22593 22594 22595 22596function hasChildren(node) { 22597 var children = getChildren(node); 22598 return !!(children && children.length); 22599} 22600 22601function getChildren(node) { 22602 if (!node) return []; 22603 var descriptor = Object.getOwnPropertyDescriptor(node, "children"); 22604 return descriptor && descriptor.value ? node.children : node.props && node.props.children; 22605} 22606 22607function hasValidReactChildren(children) { 22608 if (Object.prototype.toString.call(children) !== "[object Array]") return false;
22609 return children.every(function (child) { 22610 return compat_modulebabel_target_legacy["c" /* default */].isValidElement(child); 22611 }); 22612} 22613 22614function nodesToString(mem, children, index, i18nOptions) { 22615 if (!children) return ""; 22616 if (Object.prototype.toString.call(children) !== "[object Array]") children = [children]; 22617 var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || []; 22618 children.forEach(function (child, i) { 22619 // const isElement = React.isValidElement(child); 22620 // const elementKey = `${index !== 0 ? index + '-' : ''}${i}:${typeof child.type === 'function' ? child.type.name : child.type || 'var'}`; 22621 var elementKey = "".concat(i); 22622 22623 if (typeof child === "string") { 22624 mem = "".concat(mem).concat(child); 22625 } else if (hasChildren(child)) { 22626 var elementTag = keepArray.indexOf(child.type) > -1 && Object.keys(child.props).length === 1 && typeof hasChildren(child) === "string" ? child.type : elementKey; 22627 22628 if (child.props && child.props.i18nIsDynamicList) { 22629 // we got a dynamic list like "<ul>{['a', 'b'].map(item => ( <li key={item}>{item}</li> ))}</ul>"" 22630 // the result should be "<0></0>" and not "<0><0>a</0><1>b</1></0>" 22631 mem = "".concat(mem, "<").concat(elementTag, "></").concat(elementTag, ">"); 22632 } else { 22633 // regular case mapping the inner children 22634 mem = "".concat(mem, "<").concat(elementTag, ">").concat(nodesToString("", getChildren(child), i + 1, i18nOptions), "</").concat(elementTag, ">"); 22635 } 22636 } else if (compat_modulebabel_target_legacy["c" /* default */].isValidElement(child)) { 22637 if (keepArray.indexOf(child.type) > -1 && Object.keys(child.props).length === 0) { 22638 mem = "".concat(mem, "<").concat(child.type, "/>"); 22639 } else { 22640 mem = "".concat(mem, "<").concat(elementKey, "></").concat(elementKey, ">"); 22641 } 22642 } else if (typeofbabel_target_legacy_default()(child) === "object") { 22643 var clone = Transbabel_target_legacy_objectSpread({}, child); 22644 22645 var format = clone.format; 22646 delete clone.format; 22647 var keys = Object.keys(clone); 22648 22649 if (format && keys.length === 1) { 22650 mem = "".concat(mem, "{{").concat(keys[0], ", ").concat(format, "}}"); 22651 } else if (keys.length === 1) { 22652 mem = "".concat(mem, "{{").concat(keys[0], "}}"); 22653 } else { 22654 // not a valid interpolation object (can only contain one value plus format) 22655 warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child); 22656 } 22657 } else { 22658 warn("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", child); 22659 } 22660 }); 22661 return mem; 22662} 22663 22664function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) { 22665 if (targetString === "") return []; // check if contains tags we need to replace from html string to react nodes 22666 22667 var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || []; 22668 var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join("|")).test(target
22668String); // no need to replace tags in the targetstring 22669 22670 if (!children && !emptyChildrenButNeedsHandling) return [targetString]; // v2 -> interpolates upfront no need for "some <0>{{var}}</0>"" -> will be just "some {{var}}" in translation file 22671 22672 var data = {}; 22673 22674 function getData(childs) { 22675 if (Object.prototype.toString.call(childs) !== "[object Array]") childs = [childs]; 22676 childs.forEach(function (child) { 22677 if (typeof child === "string") return; 22678 if (hasChildren(child)) getData(getChildren(child));else if (typeofbabel_target_legacy_default()(child) === "object" && !compat_modulebabel_target_legacy["c" /* default */].isValidElement(child)) Object.assign(data, child); 22679 }); 22680 } 22681 22682 getData(children); 22683 targetString = i18n.services.interpolator.interpolate(targetString, Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, data), combinedTOpts), i18n.language); // parse ast from string with additional wrapper tag 22684 // -> avoids issues in parser removing prepending text nodes 22685 22686 var ast = html_parse_stringify2_babel_target_legacy_default.a.parse("<0>
22686".concat(targetString, "</0>")); 22687 22688 function mapAST(reactNodes, astNodes) { 22689 if (Object.prototype.toString.call(reactNodes) !== "[object Array]") reactNodes = [reactNodes]; 22690 if (Object.prototype.toString.call(astNodes) !== "[object Array]") astNodes = [astNodes]; 22691 return astNodes.reduce(function (mem, node, i) { 22692 var translationContent = node.children && node.children[0] && node.children[0].content; 22693 22694 if (node.type === "tag") { 22695 var child = reactNodes[parseInt(node.name, 10)] || {}; 22696 var isElement = compat_modulebabel_target_legacy["c" /* default */].isValidElement(child); 22697 22698 if (typeof child === "string") { 22699 mem.push(child); 22700 } else if (hasChildren(child)) { 22701 var childs = getChildren(child); 22702 var mappedChildren = mapAST(childs, node.children); 22703 var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren; 22704 if (child.dummy) child.children = inner; // needed on preact! 22705 22706 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, child.props), {}, { 22707 key: i 22708 }), inner)); 22709 } else if (emptyChildrenButNeedsHandling && typeofbabel_target_legacy_default()(child) === "object" && child.dummy && !isElement) { 22710 // we have a empty Trans node (the dummy element) with a targetstring that contains html tags needing 22711 // conversion to react nodes 22712 // so we just need to map the inner stuff 22713 var _inner = mapAST(reactNodes 22714 /* wrong but we need something */ 22715 , node.children); 22716 22717 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, child.props), {}, { 22718 key: i 22719 }), _inner)); 22720 } else if (isNaN(node.name) && i18nOptions.transSupportBasicHtmlNodes) { 22721 if (node.voidElement) { 22722 mem.push(compat_modulebabel_target_legacy["c" /* default */].createElement(node.name, { 22723 key: "".concat(node.name, "-").concat(i) 22724 })); 22725 } else { 22726 var _inner2 = mapAST(reactNodes 22727 /* wrong but we need something */ 22728 , node.children); 22729 22730 mem.push(compat_modulebabel_target_legacy["c" /* default */].createElement(node.name, { 22731 key: "".concat(node.name, "-").concat(i) 22732 }, _inner2)); 22733 } 22734 } else if (typeofbabel_target_legacy_default()(child) === "object" && !isElement) { 22735 var content = node.children[0] ? translationContent : null; // v1 22736 // as interpolation was done already we just have a regular content node 22737 // in the translation AST while having an object in reactNodes 22738 // -> push the content no need to interpolate again 22739 22740 if (content) mem.push(content); 22741 } else if (node.children.length === 1 && translationContent) { 22742 // If component does not have children, but translation - has 22743 // with this in component could be components={[<span class='make-beautiful'/>]} and in translation - 'some text <0>some highlighted message</0>' 22744 mem.push(compat_modulebabel_target_legacy["c" /* default */].cloneElement(child, Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, child.props), {}, { 22745 key: i 22746 }), translationContent)); 22747 } else { 22748 mem.push(child); 22749 } 22750 } else if (node.type === "text") { 22751 mem.push(node.content); 22752 } 22753 22754 return mem; 22755 }, []); 22756 } // call mapAST with having react nodes nested into additional node like 22757 // we did for the string ast from translation 22758 // return the children of that extra node to get expected result 22759 22760 22761 var result = mapAST([{ 22762 dummy: true, 22763 children: children 22764 }], ast); 22765 return getChildren(result[0]); 22766} 22767 22768function Trans(_ref) { 22769 var children = _ref.children, 22770 count = _ref.count, 22771 parent = _ref.parent, 22772 i18nKey = _ref.i18nKey, 22773 tOptions = _ref.tOptions, 22774 values = _ref.values, 22775 defaults = _ref.defaults, 22776 components = _ref.components, 22777 ns = _ref.ns, 22778 i18nFromProps = _ref.i18n, 22779 tFromProps = _ref.t, 22780 additionalProps = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t"]); 22781 22782 var _ref2 = getHasUsedI18nextProvider() ? Object(compat_modulebabel_target_legacy["d" /* useContext */])(I18nContext) : {}, 22783 i18nFromContext = _ref2.i18n, 22784 defaultNSFromContext = _ref2.defaultNS; 22785 22786 var i18n = i18nFromProps || i18nFromContext || getI18n(); 22787 22788 if (!i18n) { 22789 warnOnce("You will need pass in an i18next instance by using i18nextReactModule"); 22790 return children; 22791 } 22792 22793 var t = tFromProps || i18n.t.bind(i18n) || function (k) { 22794 return k; 22795 }; 22796
22797 var reactI18nextOptions = Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, getDefaults()), i18n.options && i18n.options.react); 22798 22799 var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent; // prepare having a namespace 22800 22801 var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS; 22802 namespaces = typeof namespaces === "string" ? [namespaces] : namespaces || ["translation"]; 22803 var defaultValue = defaults || nodesToString("", children, 0, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue; 22804 var hashTransKey = reactI18nextOptions.hashTransKey; 22805 var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue); 22806 var interpolationOverride = values ? {} : { 22807 interpolation: { 22808 prefix: "#$?", 22809 suffix: "?$#" 22810 } 22811 }; 22812 22813 var combinedTOpts = Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread(Transbabel_target_legacy_objectSpread({}, tOptions), values), interpolationOverride), {}, { 22814 defaultValue: defaultValue, 22815 count: count, 22816 ns: namespaces 22817 }); 22818 22819 var translation = key ? t(key, combinedTOpts) : defaultValue; 22820 if (!useAsParent) return renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts); 22821 return compat_modulebabel_target_legacy["c" /* default */].createElement(useAsParent, additionalProps, renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts)); 22822} 22823 22824/***/ }), 22825/* 334 */ 22826/***/ (function(module, __webpack_exports__, __webpack_require__) { 22827 22828"use strict"; 22829 22830// EXPORTS 22831__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ loadImaSdkbabel_target_legacy; }); 22832__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ loadScriptbabel_target_legacy; }); 22833 22834// CONCATENATED MODULE: ./node_modules/@alugha/ima/lib/esm/loadScript.js?babel-target=legacy 22835// Asynchronous loader for external scripts 22836var loadScript = function (src) { 22837 return new Promise(function (resolve, reject) { 22838 var script = document.createElement('script'); 22839 script.async = true; 22840 script.src = src; 22841 script.onload = resolve; 22842 script.onerror = reject; 22843 document.body.appendChild(script); 22844 }); 22845}; 22846/* harmony default export */ var loadScriptbabel_target_legacy = (loadScript); 22847 22848// CONCATENATED MODULE: ./node_modules/@alugha/ima/lib/esm/loadImaSdk.js?babel-target=legacy 22849/// <reference path="../typings/ima.d.ts" /> 22850 22851var imaSdkSrc = '//imasdk.googleapis.com/js/sdkloader/ima3.js'; 22852var pendingPromise = null; 22853var promiseFinished = function () { 22854 pendingPromise = null; 22855}; 22856var loadImaSdk = function () { 22857 if (window.google && window.google.ima) { 22858 return Promise.resolve(window.google.ima); 22859 } 22860 if (pendingPromise) { 22861 return pendingPromise; 22862 } 22863 pendingPromise = loadScriptbabel_target_legacy(imaSdkSrc).then(function () { return window.google.ima; }); 22864 pendingPromise.then(promiseFinished).catch(promiseFinished); 22865 return pendingPromise; 22866}; 22867/* harmony default export */ var loadImaSdkbabel_target_legacy = (loadImaSdk); 22868 22869// CONCATENATED MODULE: ./node_modules/@alugha/ima/lib/esm?babel-target=legacy 22870/// <reference path="../typings/ima.d.ts" /> 22871 22872 22873 22874 22875/***/ }), 22876/* 335 */, 22877/* 336 */, 22878/* 337 */, 22879/* 338 */, 22880/* 339 */, 22881/* 340 */ 22882/***/ (function(module, exports, __webpack_require__) { 22883 22884"use strict"; 22885 22886 22887exports.byteLength = byteLength 22888exports.toByteArray = toByteArray 22889exports.fromByteArray = fromByteArray 22890 22891var lookup = [] 22892var revLookup = [] 22893var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array 22894 22895var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 22896for (var i = 0, len = code.length; i < len; ++i) { 22897 lookup[i] = code[i] 22898 revLookup[code.charCodeAt(i)] = i 22899} 22900 22901// Support decoding URL-safe base64 strings, as Node.js does. 22902// See: https://en.wikipedia.org/wiki/Base64#URL_applications 22903revLookup['-'.charCodeAt(0)] = 62 22904revLookup['_'.charCodeAt(0)] = 63 22905 22906function getLens (b64) { 22907 var len = b64.length 22908 22909 if (len % 4 > 0) { 22910 throw new Error('Invalid string. Length must be a multiple of 4') 22911 } 22912 22913 // Trim off extra bytes after placeholder bytes are found 22914 // See: https://github.com/beatgammit/base64-js/issues/42
vendor: 5,185 bytes, lines 22915-23124
22915 var validLen = b64.indexOf('=') 22916 if (validLen === -1) validLen = len 22917 22918 var placeHoldersLen = validLen === len 22919 ? 0 22920 : 4 - (validLen % 4) 22921 22922 return [validLen, placeHoldersLen] 22923} 22924 22925// base64 is 4/3 + up to two characters of the original data 22926function byteLength (b64) { 22927 var lens = getLens(b64) 22928 var validLen = lens[0] 22929 var placeHoldersLen = lens[1] 22930 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 22931} 22932 22933function _byteLength (b64, validLen, placeHoldersLen) { 22934 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 22935} 22936 22937function toByteArray (b64) { 22938 var tmp 22939 var lens = getLens(b64) 22940 var validLen = lens[0] 22941 var placeHoldersLen = lens[1] 22942 22943 var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) 22944 22945 var curByte = 0 22946 22947 // if there are placeholders, only get up to the last complete 4 chars 22948 var len = placeHoldersLen > 0 22949 ? validLen - 4 22950 : validLen 22951 22952 var i 22953 for (i = 0; i < len; i += 4) { 22954 tmp = 22955 (revLookup[b64.charCodeAt(i)] << 18) | 22956 (revLookup[b64.charCodeAt(i + 1)] << 12) | 22957 (revLookup[b64.charCodeAt(i + 2)] << 6) | 22958 revLookup[b64.charCodeAt(i + 3)] 22959 arr[curByte++] = (tmp >> 16) & 0xFF 22960 arr[curByte++] = (tmp >> 8) & 0xFF 22961 arr[curByte++] = tmp & 0xFF 22962 } 22963 22964 if (placeHoldersLen === 2) { 22965 tmp = 22966 (revLookup[b64.charCodeAt(i)] << 2) | 22967 (revLookup[b64.charCodeAt(i + 1)] >> 4) 22968 arr[curByte++] = tmp & 0xFF 22969 } 22970 22971 if (placeHoldersLen === 1) { 22972 tmp = 22973 (revLookup[b64.charCodeAt(i)] << 10) | 22974 (revLookup[b64.charCodeAt(i + 1)] << 4) | 22975 (revLookup[b64.charCodeAt(i + 2)] >> 2) 22976 arr[curByte++] = (tmp >> 8) & 0xFF 22977 arr[curByte++] = tmp & 0xFF 22978 } 22979 22980 return arr 22981} 22982 22983function tripletToBase64 (num) { 22984 return lookup[num >> 18 & 0x3F] + 22985 lookup[num >> 12 & 0x3F] + 22986 lookup[num >> 6 & 0x3F] + 22987 lookup[num & 0x3F] 22988} 22989 22990function encodeChunk (uint8, start, end) { 22991 var tmp 22992 var output = [] 22993 for (var i = start; i < end; i += 3) { 22994 tmp = 22995 ((uint8[i] << 16) & 0xFF0000) + 22996 ((uint8[i + 1] << 8) & 0xFF00) + 22997 (uint8[i + 2] & 0xFF) 22998 output.push(tripletToBase64(tmp)) 22999 } 23000 return output.join('') 23001} 23002 23003function fromByteArray (uint8) { 23004 var tmp 23005 var len = uint8.length 23006 var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes 23007 var parts = [] 23008 var maxChunkLength = 16383 // must be multiple of 3 23009 23010 // go through the array every three bytes, we'll deal with trailing stuff later 23011 for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { 23012 parts.push(encodeChunk( 23013 uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) 23014 )) 23015 } 23016 23017 // pad the end with zeros, but make sure to not forget the extra bytes 23018 if (extraBytes === 1) { 23019 tmp = uint8[len - 1] 23020 parts.push( 23021 lookup[tmp >> 2] + 23022 lookup[(tmp << 4) & 0x3F] + 23023 '==' 23024 ) 23025 } else if (extraBytes === 2) { 23026 tmp = (uint8[len - 2] << 8) + uint8[len - 1] 23027 parts.push( 23028 lookup[tmp >> 10] + 23029 lookup[(tmp >> 4) & 0x3F] + 23030 lookup[(tmp << 2) & 0x3F] + 23031 '=' 23032 ) 23033 } 23034 23035 return parts.join('') 23036} 23037 23038 23039/***/ }), 23040/* 341 */ 23041/***/ (function(module, exports) { 23042 23043/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ 23044exports.read = function (buffer, offset, isLE, mLen, nBytes) { 23045 var e, m 23046 var eLen = (nBytes * 8) - mLen - 1 23047 var eMax = (1 << eLen) - 1 23048 var eBias = eMax >> 1 23049 var nBits = -7 23050 var i = isLE ? (nBytes - 1) : 0 23051 var d = isLE ? -1 : 1 23052 var s = buffer[offset + i] 23053 23054 i += d 23055 23056 e = s & ((1 << (-nBits)) - 1) 23057 s >>= (-nBits) 23058 nBits += eLen 23059 for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} 23060 23061 m = e & ((1 << (-nBits)) - 1) 23062 e >>= (-nBits) 23063 nBits += mLen 23064 for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} 23065 23066 if (e === 0) { 23067 e = 1 - eBias 23068 } else if (e === eMax) { 23069 return m ? NaN : ((s ? -1 : 1) * Infinity) 23070 } else { 23071 m = m + Math.pow(2, mLen) 23072 e = e - eBias 23073 } 23074 return (s ? -1 : 1) * m * Math.pow(2, e - mLen) 23075} 23076 23077exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { 23078 var e, m, c 23079 var eLen = (nBytes * 8) - mLen - 1 23080 var eMax = (1 << eLen) - 1 23081 var eBias = eMax >> 1 23082 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) 23083 var i = isLE ? 0 : (nBytes - 1) 23084 var d = isLE ? 1 : -1 23085 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 23086 23087 value = Math.abs(value) 23088 23089 if (isNaN(value) || value === Infinity) { 23090 m = isNaN(value) ? 1 : 0 23091 e = eMax 23092 } else { 23093 e = Math.floor(Math.log(value) / Math.LN2) 23094 if (value * (c = Math.pow(2, -e)) < 1) { 23095 e-- 23096 c *= 2 23097 } 23098 if (e + eBias >= 1) { 23099 value += rt / c 23100 } else { 23101 value += rt * Math.pow(2, 1 - eBias) 23102 } 23103 if (value * c >= 2) { 23104 e++ 23105 c /= 2 23106 } 23107 23108 if (e + eBias >= eMax) { 23109 m = 0 23110 e = eMax 23111 } else if (e + eBias >= 1) { 23112 m = ((value * c) - 1) * Math.pow(2, mLen) 23113 e = e + eBias 23114 } else { 23115 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) 23116 e = 0 23117 } 23118 } 23119 23120 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} 23121 23122 e = (e << mLen) | m 23123 eLen += mLen 23124 for (; eLen > 0;
23124 buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} 23125 23126 buffer[offset + i - d] |= s * 128 23127} 23128 23129 23130/***/ }), 23131/* 342 */ 23132/***/ (function(module, exports) { 23133 23134var toString = {}.toString; 23135 23136module.exports = Array.isArray || function (arr) { 23137 return toString.call(arr) == '[object Array]'; 23138}; 23139 23140 23141/***/ }), 23142/* 343 */ 23143/***/ (function(module, exports, __webpack_require__) { 23144 23145"use strict"; 23146 23147var $ = __webpack_require__(2); 23148var $findIndex = __webpack_require__(46).findIndex; 23149var addToUnscopables = __webpack_require__(118); 23150var arrayMethodUsesToLength = __webpack_require__(63); 23151 23152var FIND_INDEX = 'findIndex'; 23153var SKIPS_HOLES = true; 23154 23155var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX); 23156 23157// Shouldn't skip holes 23158if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); 23159 23160// `Array.prototype.findIndex` method 23161// https://tc39.github.io/ecma262/#sec-array.prototype.findindex 23162$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { 23163 findIndex: function findIndex(callbackfn /* , that = undefined */) { 23164 return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 23165 } 23166}); 23167 23168// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 23169addToUnscopables(FIND_INDEX); 23170 23171 23172/***/ }), 23173/* 344 */ 23174/***/ (function(module, exports, __webpack_require__) { 23175 23176"use strict"; 23177 23178var $ = __webpack_require__(2); 23179var createHTML = __webpack_require__(68); 23180var forcedStringHTMLMethod = __webpack_require__(69); 23181 23182// `String.prototype.sub` method 23183// https://tc39.github.io/ecma262/#sec-string.prototype.sub 23184$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { 23185 sub: function sub() { 23186 return createHTML(this, 'sub', '', ''); 23187 } 23188}); 23189 23190 23191/***/ }), 23192/* 345 */ 23193/***/ (function(module, exports, __webpack_require__) { 23194 23195// extracted by mini-css-extract-plugin 23196module.exports = {"visuallyHidden":"OnDemandWidget-module__visuallyHidden--1AMxF","header":"OnDemandWidget-module__header--1UKmT","tabs":"OnDemandWidget-module__tabs--1v1Xy","wrap":"OnDemandWidget-module__wrap--eHYiX","stacked":"OnDemandWidget-module__stacked--3bHz-","list":"OnDemandWidget-module__list--2fABS","gradient":"OnDemandWidget-module__gradient--14lNF","gradientBottom":"OnDemandWidget-module__gradientBottom--2AZHN"}; 23197 23198/***/ }), 23199/* 346 */, 23200/* 347 */, 23201/* 348 */, 23202/* 349 */ 23203/***/ (function(module, exports, __webpack_require__) { 23204 23205"use strict"; 23206 23207// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 23208__webpack_require__(237); 23209var $ = __webpack_require__(2); 23210var DESCRIPTORS = __webpack_require__(21); 23211var USE_NATIVE_URL = __webpack_require__(392); 23212var global = __webpack_require__(16); 23213var defineProperties = __webpack_require__(282); 23214var redefine = __webpack_require__(54); 23215var anInstance = __webpack_require__(119); 23216var has = __webpack_require__(35); 23217var assign = __webpack_require__(373); 23218var arrayFrom = __webpack_require__(366); 23219var codeAt = __webpack_require__(219).codeAt; 23220var toASCII = __webpack_require__(695); 23221var setToStringTag = __webpack_require__(80); 23222var URLSearchParamsModule = __webpack_require__(393); 23223var InternalStateModule = __webpack_require__(58); 23224 23225var NativeURL = global.URL; 23226var URLSearchParams = URLSearchParamsModule.URLSearchParams; 23227var getInternalSearchParamsState = URLSearchParamsModule.getState; 23228var setInternalState = InternalStateModule.set; 23229var getInternalURLState = InternalStateModule.getterFor('URL'); 23230var floor = Math.floor; 23231var pow = Math.pow; 23232 23233var INVALID_AUTHORITY = 'Invalid authority'; 23234var INVALID_SCHEME = 'Invalid scheme'; 23235var INVALID_HOST = 'Invalid host'; 23236var INVALID_PORT = 'Invalid port'; 23237 23238var ALPHA = /[A-Za-z]/; 23239var ALPHANUMERIC = /[\d+-.A-Za-z]/; 23240var DIGIT = /\d/; 23241var HEX_START = /^(0x|0X)/; 23242var OCT = /^[0-7]+$/; 23243var DEC = /^\d+$/; 23244var HEX = /^[\dA-Fa-f]+$/; 23245// eslint-disable-next-line no-control-regex 23246var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; 23247// eslint-disable-next-line no-control-regex 23248var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; 23249// eslint-disable-next-line no-control-regex 23250var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; 23251// eslint-disable-next-line no-control-regex 23252var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; 23253var EOF; 23254 23255var parseHost = function (url, input) {
23256 var result, codePoints, index; 23257 if (input.charAt(0) == '[') { 23258 if (input.charAt(input.length - 1) != ']') return INVALID_HOST; 23259 result = parseIPv6(input.slice(1, -1)); 23260 if (!result) return INVALID_HOST; 23261 url.host = result; 23262 // opaque host 23263 } else if (!isSpecial(url)) { 23264 if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; 23265 result = ''; 23266 codePoints = arrayFrom(input); 23267 for (index = 0; index < codePoints.length; index++) { 23268 result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); 23269 } 23270 url.host = result; 23271 } else { 23272 input = toASCII(input); 23273 if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; 23274 result = parseIPv4(input); 23275 if (result === null) return INVALID_HOST; 23276 url.host = result; 23277 } 23278}; 23279 23280var parseIPv4 = function (input) { 23281 var parts = input.split('.'); 23282 var partsLength, numbers, index, part, radix, number, ipv4; 23283 if (parts.length && parts[parts.length - 1] == '') { 23284 parts.pop(); 23285 } 23286 partsLength = parts.length; 23287 if (partsLength > 4) return input; 23288 numbers = []; 23289 for (index = 0; index < partsLength; index++) { 23290 part = parts[index]; 23291 if (part == '') return input; 23292 radix = 10; 23293 if (part.length > 1 && part.charAt(0) == '0') { 23294 radix = HEX_START.test(part) ? 16 : 8; 23295 part = part.slice(radix == 8 ? 1 : 2); 23296 } 23297 if (part === '') { 23298 number = 0; 23299 } else { 23300 if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; 23301 number = parseInt(part, radix); 23302 } 23303 numbers.push(number); 23304 } 23305 for (index = 0; index < partsLength; index++) { 23306 number = numbers[index]; 23307 if (index == partsLength - 1) { 23308 if (number >= pow(256, 5 - partsLength)) return null; 23309 } else if (number > 255) return null; 23310 } 23311 ipv4 = numbers.pop(); 23312 for (index = 0; index < numbers.length; index++) { 23313 ipv4 += numbers[index] * pow(256, 3 - index); 23314 } 23315 return ipv4; 23316}; 23317 23318// eslint-disable-next-line max-statements 23319var parseIPv6 = function (input) { 23320 var address = [0, 0, 0, 0, 0, 0, 0, 0]; 23321 var pieceIndex = 0; 23322 var compress = null; 23323 var pointer = 0; 23324 var value, length, numbersSeen, ipv4Piece, number, swaps, swap; 23325 23326 var char = function () { 23327 return input.charAt(pointer); 23328 }; 23329 23330 if (char() == ':') { 23331 if (input.charAt(1) != ':') return; 23332 pointer += 2; 23333 pieceIndex++; 23334 compress = pieceIndex; 23335 } 23336 while (char()) { 23337 if (pieceIndex == 8) return; 23338 if (char() == ':') { 23339 if (compress !== null) return; 23340 pointer++; 23341 pieceIndex++; 23342 compress = pieceIndex; 23343 continue; 23344 } 23345 value = length = 0; 23346 while (length < 4 && HEX.test(char())) { 23347 value = value * 16 + parseInt(char(), 16); 23348 pointer++; 23349 length++; 23350 } 23351 if (char() == '.') { 23352 if (length == 0) return; 23353 pointer -= length; 23354 if (pieceIndex > 6) return; 23355 numbersSeen = 0; 23356 while (char()) { 23357 ipv4Piece = null; 23358 if (numbersSeen > 0) { 23359 if (char() == '.' && numbersSeen < 4) pointer++; 23360 else return; 23361 } 23362 if (!DIGIT.test(char())) return; 23363 while (DIGIT.test(char())) { 23364 number = parseInt(char(), 10); 23365 if (ipv4Piece === null) ipv4Piece = number; 23366 else if (ipv4Piece == 0) return; 23367 else ipv4Piece = ipv4Piece * 10 + number; 23368 if (ipv4Piece > 255) return; 23369 pointer++; 23370 } 23371 address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; 23372 numbersSeen++; 23373 if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; 23374 } 23375 if (numbersSeen != 4) return; 23376 break; 23377 } else if (char() == ':') { 23378 pointer++; 23379 if (!char()) return; 23380 } else if (char()) return; 23381 address[pieceIndex++] = value; 23382 } 23383 if (compress !== null) { 23384 swaps = pieceIndex - compress; 23385 pieceIndex = 7; 23386 while (pieceIndex != 0 && swaps > 0) { 23387 swap = address[pieceIndex]; 23388 address[pieceIndex--] = address[compress + swaps - 1]; 23389 address[compress + --swaps] = swap; 23390 } 23391 } else if (pieceIndex != 8) return; 23392 return address; 23393}; 23394 23395var findLongestZeroSequence = function (ipv6) { 23396 var maxIndex = null; 23397 var maxLength = 1; 23398 var currStart = null; 23399 var currLength = 0; 23400 var index = 0; 23401 for (; index < 8; index++) { 23402 if (ipv6[index] !== 0) { 23403 if (currLength > maxLength) { 23404 maxIndex = currStart; 23405 maxLength = currLength; 23406 } 23407 currStart = null; 23408 currLength = 0; 23409 } else { 23410 if (currStart === null) currStart = index; 23411 ++currLength; 23412 } 23413 } 23414 if (currLength > maxLength) { 23415 maxIndex = currStart; 23416 maxLength = currLength; 23417 }
23418 return maxIndex; 23419}; 23420 23421var serializeHost = function (host) { 23422 var result, index, compress, ignore0; 23423 // ipv4 23424 if (typeof host == 'number') { 23425 result = []; 23426 for (index = 0; index < 4; index++) { 23427 result.unshift(host % 256); 23428 host = floor(host / 256); 23429 } return result.join('.'); 23430 // ipv6 23431 } else if (typeof host == 'object') { 23432 result = ''; 23433 compress = findLongestZeroSequence(host); 23434 for (index = 0; index < 8; index++) { 23435 if (ignore0 && host[index] === 0) continue; 23436 if (ignore0) ignore0 = false; 23437 if (compress === index) { 23438 result += index ? ':' : '::'; 23439 ignore0 = true; 23440 } else { 23441 result += host[index].toString(16); 23442 if (index < 7) result += ':'; 23443 } 23444 } 23445 return '[' + result + ']'; 23446 } return host; 23447}; 23448 23449var C0ControlPercentEncodeSet = {}; 23450var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { 23451 ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 23452}); 23453var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { 23454 '#': 1, '?': 1, '{': 1, '}': 1 23455}); 23456var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { 23457 '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 23458}); 23459 23460var percentEncode = function (char, set) { 23461 var code = codeAt(char, 0); 23462 return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); 23463}; 23464 23465var specialSchemes = { 23466 ftp: 21, 23467 file: null, 23468 http: 80, 23469 https: 443, 23470 ws: 80, 23471 wss: 443 23472}; 23473 23474var isSpecial = function (url) { 23475 return has(specialSchemes, url.scheme); 23476}; 23477 23478var includesCredentials = function (url) { 23479 return url.username != '' || url.password != ''; 23480}; 23481 23482var cannotHaveUsernamePasswordPort = function (url) { 23483 return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; 23484}; 23485 23486var isWindowsDriveLetter = function (string, normalized) { 23487 var second; 23488 return string.length == 2 && ALPHA.test(string.charAt(0)) 23489 && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); 23490}; 23491 23492var startsWithWindowsDriveLetter = function (string) { 23493 var third; 23494 return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( 23495 string.length == 2 || 23496 ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') 23497 ); 23498}; 23499 23500var shortenURLsPath = function (url) { 23501 var path = url.path; 23502 var pathSize = path.length; 23503 if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { 23504 path.pop(); 23505 } 23506}; 23507 23508var isSingleDot = function (segment) { 23509 return segment === '.' || segment.toLowerCase() === '%2e'; 23510}; 23511 23512var isDoubleDot = function (segment) { 23513 segment = segment.toLowerCase(); 23514 return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; 23515}; 23516 23517// States: 23518var SCHEME_START = {}; 23519var SCHEME = {}; 23520var NO_SCHEME = {}; 23521var SPECIAL_RELATIVE_OR_AUTHORITY = {}; 23522var PATH_OR_AUTHORITY = {}; 23523var RELATIVE = {}; 23524var RELATIVE_SLASH = {}; 23525var SPECIAL_AUTHORITY_SLASHES = {}; 23526var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; 23527var AUTHORITY = {}; 23528var HOST = {}; 23529var HOSTNAME = {}; 23530var PORT = {}; 23531var FILE = {}; 23532var FILE_SLASH = {}; 23533var FILE_HOST = {}; 23534var PATH_START = {}; 23535var PATH = {}; 23536var CANNOT_BE_A_BASE_URL_PATH = {}; 23537var QUERY = {}; 23538var FRAGMENT = {}; 23539 23540// eslint-disable-next-line max-statements 23541var parseURL = function (url, input, stateOverride, base) { 23542 var state = stateOverride || SCHEME_START; 23543 var pointer = 0; 23544 var buffer = ''; 23545 var seenAt = false; 23546 var seenBracket = false; 23547 var seenPasswordToken = false; 23548 var codePoints, char, bufferCodePoints, failure; 23549 23550 if (!stateOverride) { 23551 url.scheme = ''; 23552 url.username = ''; 23553 url.password = ''; 23554 url.host = null; 23555 url.port = null; 23556 url.path = []; 23557 url.query = null; 23558 url.fragment = null; 23559 url.cannotBeABaseURL = false; 23560 input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); 23561 } 23562 23563 input = input.replace(TAB_AND_NEW_LINE, ''); 23564 23565 codePoints = arrayFrom(input); 23566 23567 while (pointer <= codePoints.length) { 23568 char = codePoints[pointer]; 23569 switch (state) { 23570 case SCHEME_START: 23571 if (char && ALPHA.test(char)) { 23572 buffer += char.toLowerCase(); 23573 state = SCHEME; 23574 } else if (!stateOverride) { 23575 state = NO_SCHEME; 23576 continue; 23577 } else return INVALID_SCHEME; 23578 break; 23579 23580 case SCHEME: 23581 if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { 23582 buffer += char.toLowerCase(); 23583 } else if (char == ':') { 23584 if (stateOverride && ( 23585 (isSpecial(url) != has(specialSchemes, buffer)) || 23586 (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || 23587 (url.scheme == 'file' && !url.host) 23588 )) return; 23589 url.scheme = buffer; 23590 if (stateOverride) { 23591 if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; 23592 return; 23593 } 23594 buffer = ''; 23595 if (url.scheme == 'file') { 23596 state = FILE; 23597 } else if (isSpecial(url) && base && base.scheme == url.scheme) { 23598 state = SPECIAL_RELATIVE_OR_AUTHORITY; 23599 } else if (isSpecial(url)) { 23600 state = SPECIAL_AUTHORITY_SLASHES; 23601 } else if (codePoints[pointer + 1] == '/') { 23602 state = PATH_OR_AUTHORITY; 23603 pointer++; 23604 } else { 23605 url.cannotBeABaseURL = true; 23606 url.path.push(''); 23607 state = CANNOT_BE_A_BASE_URL_PATH; 23608 } 23609 } else if (!stateOverride) { 23610 buffer = ''; 23611 state = NO_SCHEME; 23612 pointer = 0; 23613 continue; 23614 } else return INVALID_SCHEME; 23615 break; 23616 23617 case NO_SCHEME: 23618 if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; 23619 if (base.cannotBeABaseURL && char == '#') { 23620 url.scheme = base.scheme; 23621 url.path = base.path.slice(); 23622 url.query = base.query; 23623 url.fragment = ''; 23624 url.cannotBeABaseURL = true; 23625 state = FRAGMENT; 23626 break; 23627 } 23628 state = base.scheme == 'file' ? FILE : RELATIVE; 23629 continue; 23630 23631 case SPECIAL_RELATIVE_OR_AUTHORITY: 23632 if (char == '/' && codePoints[pointer + 1] == '/') { 23633 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 23634 pointer++; 23635 } else { 23636 state = RELATIVE; 23637 continue; 23638 } break; 23639 23640 case PATH_OR_AUTHORITY: 23641 if (char == '/') { 23642 state = AUTHORITY; 23643 break; 23644 } else { 23645 state = PATH; 23646 continue; 23647 } 23648 23649 case RELATIVE: 23650 url.scheme = base.scheme; 23651 if (char == EOF) { 23652 url.username = base.username; 23653 url.password = base.password; 23654 url.host = base.host; 23655 url.port = base.port;
23656 url.path = base.path.slice(); 23657 url.query = base.query; 23658 } else if (char == '/' || (char == '\\' && isSpecial(url))) { 23659 state = RELATIVE_SLASH; 23660 } else if (char == '?') { 23661 url.username = base.username; 23662 url.password = base.password; 23663 url.host = base.host; 23664 url.port = base.port; 23665 url.path = base.path.slice(); 23666 url.query = ''; 23667 state = QUERY; 23668 } else if (char == '#') { 23669 url.username = base.username; 23670 url.password = base.password; 23671 url.host = base.host; 23672 url.port = base.port; 23673 url.path = base.path.slice(); 23674 url.query = base.query; 23675 url.fragment = ''; 23676 state = FRAGMENT; 23677 } else { 23678 url.username = base.username; 23679 url.password = base.password; 23680 url.host = base.host; 23681 url.port = base.port; 23682 url.path = base.path.slice(); 23683 url.path.pop(); 23684 state = PATH; 23685 continue; 23686 } break; 23687 23688 case RELATIVE_SLASH: 23689 if (isSpecial(url) && (char == '/' || char == '\\')) { 23690 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 23691 } else if (char == '/') { 23692 state = AUTHORITY; 23693 } else { 23694 url.username = base.username; 23695 url.password = base.password; 23696 url.host = base.host; 23697 url.port = base.port; 23698 state = PATH; 23699 continue; 23700 } break; 23701 23702 case SPECIAL_AUTHORITY_SLASHES: 23703 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 23704 if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; 23705 pointer++; 23706 break; 23707 23708 case SPECIAL_AUTHORITY_IGNORE_SLASHES: 23709 if (char != '/' && char != '\\') { 23710 state = AUTHORITY; 23711 continue; 23712 } break; 23713 23714 case AUTHORITY: 23715 if (char == '@') { 23716 if (seenAt) buffer = '%40' + buffer; 23717 seenAt = true; 23718 bufferCodePoints = arrayFrom(buffer); 23719 for (var i = 0; i < bufferCodePoints.length; i++) { 23720 var codePoint = bufferCodePoints[i]; 23721 if (codePoint == ':' && !seenPasswordToken) { 23722 seenPasswordToken = true; 23723 continue; 23724 } 23725 var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); 23726 if (seenPasswordToken) url.password += encodedCodePoints; 23727 else url.username += encodedCodePoints; 23728 } 23729 buffer = ''; 23730 } else if ( 23731 char == EOF || char == '/' || char == '?' || char == '#' || 23732 (char == '\\' && isSpecial(url)) 23733 ) { 23734 if (seenAt && buffer == '') return INVALID_AUTHORITY; 23735 pointer -= arrayFrom(buffer).length + 1; 23736 buffer = ''; 23737 state = HOST; 23738 } else buffer += char; 23739 break; 23740 23741 case HOST: 23742 case HOSTNAME: 23743 if (stateOverride && url.scheme == 'file') { 23744 state = FILE_HOST; 23745 continue; 23746 } else if (char == ':' && !seenBracket) { 23747 if (buffer == '') return INVALID_HOST; 23748 failure = parseHost(url, buffer); 23749 if (failure) return failure; 23750 buffer = ''; 23751 state = PORT; 23752 if (stateOverride == HOSTNAME) return; 23753 } else if ( 23754 char == EOF || char == '/' || char == '?' || char == '#' || 23755 (char == '\\' && isSpecial(url)) 23756 ) { 23757 if (isSpecial(url) && buffer == '') return INVALID_HOST; 23758 if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; 23759 failure = parseHost(url, buffer); 23760 if (failure) return failure; 23761 buffer = ''; 23762 state = PATH_START; 23763 if (stateOverride) return; 23764 continue; 23765 } else { 23766 if (char == '[') seenBracket = true; 23767 else if (char == ']') seenBracket = false; 23768 buffer += char; 23769 } break; 23770 23771 case PORT: 23772 if (DIGIT.test(char)) { 23773 buffer += char; 23774 } else if ( 23775 char == EOF || char == '/' || char == '?' || char == '#' || 23776 (char == '\\' && isSpecial(url)) || 23777 stateOverride 23778 ) { 23779 if (buffer != '') { 23780 var port = parseInt(buffer, 10); 23781 if (port > 0xFFFF) return INVALID_PORT; 23782 url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
23783 buffer = ''; 23784 } 23785 if (stateOverride) return; 23786 state = PATH_START; 23787 continue; 23788 } else return INVALID_PORT; 23789 break; 23790 23791 case FILE: 23792 url.scheme = 'file'; 23793 if (char == '/' || char == '\\') state = FILE_SLASH; 23794 else if (base && base.scheme == 'file') { 23795 if (char == EOF) { 23796 url.host = base.host; 23797 url.path = base.path.slice(); 23798 url.query = base.query; 23799 } else if (char == '?') { 23800 url.host = base.host; 23801 url.path = base.path.slice(); 23802 url.query = ''; 23803 state = QUERY; 23804 } else if (char == '#') { 23805 url.host = base.host; 23806 url.path = base.path.slice(); 23807 url.query = base.query; 23808 url.fragment = ''; 23809 state = FRAGMENT; 23810 } else { 23811 if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 23812 url.host = base.host; 23813 url.path = base.path.slice(); 23814 shortenURLsPath(url); 23815 } 23816 state = PATH; 23817 continue; 23818 } 23819 } else { 23820 state = PATH; 23821 continue; 23822 } break; 23823 23824 case FILE_SLASH: 23825 if (char == '/' || char == '\\') { 23826 state = FILE_HOST; 23827 break; 23828 } 23829 if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 23830 if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); 23831 else url.host = base.host; 23832 } 23833 state = PATH; 23834 continue; 23835 23836 case FILE_HOST: 23837 if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { 23838 if (!stateOverride && isWindowsDriveLetter(buffer)) { 23839 state = PATH; 23840 } else if (buffer == '') { 23841 url.host = ''; 23842 if (stateOverride) return; 23843 state = PATH_START; 23844 } else { 23845 failure = parseHost(url, buffer); 23846 if (failure) return failure; 23847 if (url.host == 'localhost') url.host = ''; 23848 if (stateOverride) return; 23849 buffer = ''; 23850 state = PATH_START; 23851 } continue; 23852 } else buffer += char; 23853 break; 23854 23855 case PATH_START: 23856 if (isSpecial(url)) { 23857 state = PATH; 23858 if (char != '/' && char != '\\') continue; 23859 } else if (!stateOverride && char == '?') { 23860 url.query = ''; 23861 state = QUERY; 23862 } else if (!stateOverride && char == '#') { 23863 url.fragment = ''; 23864 state = FRAGMENT; 23865 } else if (char != EOF) { 23866 state = PATH; 23867 if (char != '/') continue; 23868 } break; 23869 23870 case PATH: 23871 if ( 23872 char == EOF || char == '/' || 23873 (char == '\\' && isSpecial(url)) || 23874 (!stateOverride && (char == '?' || char == '#')) 23875 ) { 23876 if (isDoubleDot(buffer)) { 23877 shortenURLsPath(url); 23878 if (char != '/' && !(char == '\\' && isSpecial(url))) { 23879 url.path.push(''); 23880 } 23881 } else if (isSingleDot(buffer)) { 23882 if (char != '/' && !(char == '\\' && isSpecial(url))) { 23883 url.path.push(''); 23884 } 23885 } else { 23886 if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { 23887 if (url.host) url.host = ''; 23888 buffer = buffer.charAt(0) + ':'; // normalize windows drive letter 23889 } 23890 url.path.push(buffer); 23891 } 23892 buffer = ''; 23893 if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { 23894 while (url.path.length > 1 && url.path[0] === '') { 23895 url.path.shift(); 23896 } 23897 } 23898 if (char == '?') { 23899 url.query = ''; 23900 state = QUERY; 23901 } else if (char == '#') { 23902 url.fragment = ''; 23903 state = FRAGMENT; 23904 } 23905 } else { 23906 buffer += percentEncode(char, pathPercentEncodeSet); 23907 } break; 23908 23909 case CANNOT_BE_A_BASE_URL_PATH: 23910 if (char == '?') { 23911 url.query = ''; 23912 state = QUERY; 23913 } else if (char == '#') { 23914 url.fragment = ''; 23915 state = FRAGMENT; 23916 } else if (char != EOF) { 23917 url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); 23918 } break; 23919 23920 case QUERY: 23921 if (!stateOverride && char == '#') { 23922 url.fragment = ''; 23923 state = FRAGMENT; 23924 } else if (char != EOF) { 23925 if (char == "'" && isSpecial(url)) url.query += '%27'; 23926 else if (char == '#') url.query += '%23'; 23927 else url.query += percentEncode(char, C0ControlPercentEncodeSet); 23928 } break; 23929 23930 case FRAGMENT: 23931 if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); 23932 break; 23933 } 23934 23935 pointer++; 23936 } 23937}; 23938 23939// `URL` constructor 23940// https://url.spec.whatwg.org/#url-class 23941var URLConstructor = function URL(url /* , base */) { 23942 var that = anInstance(this, URLConstructor, 'URL'); 23943 var base = arguments.length > 1 ? arguments[1] : undefined; 23944 var urlString = String(url); 23945 var state = setInternalState(that, { type: 'URL' }); 23946 var baseState, failure; 23947 if (base !== undefined) { 23948 if (base instanceof URLConstructor) baseState = getInternalURLState(base); 23949 else { 23950 failure = parseURL(baseState = {}, String(base)); 23951 if (failure) throw TypeError(failure); 23952 } 23953 } 23954 failure = parseURL(state, urlString, null, baseState); 23955 if (failure) throw TypeError(failure); 23956 var searchParams = state.searchParams = new URLSearchParams(); 23957 var searchParamsState = getInternalSearchParamsState(searchParams); 23958 searchParamsState.updateSearchParams(state.query); 23959 searchParamsState.updateURL = function () { 23960 state.query = String(searchParams) || null; 23961 }; 23962 if (!DESCRIPTORS) { 23963 that.href = serializeURL.call(that); 23964 that.origin = getOrigin.call(that); 23965 that.protocol = getProtocol.call(that); 23966 that.username = getUsername.call(that); 23967 that.password = getPassword.call(that); 23968 that.host = getHost.call(that); 23969 that.hostname = getHostname.call(that); 23970 that.port = getPort.call(that); 23971 that.pathname = getPathname.call(that); 23972 that.search = getSearch.call(that); 23973 that.searchParams = getSearchParams.call(that); 23974 that.hash = getHash.call(that); 23975 } 23976}; 23977 23978var URLPrototype = URLConstructor.prototype; 23979 23980var serializeURL = function () { 23981 var url = getInternalURLState(this); 23982 var scheme = url.scheme; 23983 var username = url.username; 23984 var password = url.password; 23985 var host = url.host; 23986 var port = url.port; 23987 var path = url.path; 23988 var query = url.query; 23989 var fragment = url.fragment; 23990 var output = scheme + ':'; 23991 if (host !== null) { 23992 output += '//'; 23993 if (includesCredentials(url)) { 23994 output += username + (password ? ':' + password : '') + '@'; 23995 } 23996 output += serializeHost(host); 23997 if (port !== null) output += ':' + port; 23998 } else if (scheme == 'file') output += '//'; 23999 output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 24000 if (query !== null) output += '?' + query; 24001 if (fragment !== null) output += '#' + fragment; 24002 return output; 24003}; 24004 24005var getOrigin = function () { 24006 var url = getInternalURLState(this); 24007 var scheme = url.scheme; 24008 var port = url.port; 24009 if (scheme == 'blob') try { 24010 return new URL(scheme.path[0]).origin; 24011 } catch (error) { 24012 return 'null';
24013 } 24014 if (scheme == 'file' || !isSpecial(url)) return 'null'; 24015 return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); 24016}; 24017 24018var getProtocol = function () { 24019 return getInternalURLState(this).scheme + ':'; 24020}; 24021 24022var getUsername = function () { 24023 return getInternalURLState(this).username; 24024}; 24025 24026var getPassword = function () { 24027 return getInternalURLState(this).password; 24028}; 24029 24030var getHost = function () { 24031 var url = getInternalURLState(this); 24032 var host = url.host; 24033 var port = url.port; 24034 return host === null ? '' 24035 : port === null ? serializeHost(host) 24036 : serializeHost(host) + ':' + port; 24037}; 24038 24039var getHostname = function () { 24040 var host = getInternalURLState(this).host; 24041 return host === null ? '' : serializeHost(host); 24042}; 24043 24044var getPort = function () { 24045 var port = getInternalURLState(this).port; 24046 return port === null ? '' : String(port); 24047}; 24048 24049var getPathname = function () { 24050 var url = getInternalURLState(this); 24051 var path = url.path; 24052 return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 24053}; 24054 24055var getSearch = function () { 24056 var query = getInternalURLState(this).query; 24057 return query ? '?' + query : ''; 24058}; 24059 24060var getSearchParams = function () { 24061 return getInternalURLState(this).searchParams; 24062}; 24063 24064var getHash = function () { 24065 var fragment = getInternalURLState(this).fragment; 24066 return fragment ? '#' + fragment : ''; 24067}; 24068 24069var accessorDescriptor = function (getter, setter) { 24070 return { get: getter, set: setter, configurable: true, enumerable: true }; 24071}; 24072 24073if (DESCRIPTORS) { 24074 defineProperties(URLPrototype, { 24075 // `URL.prototype.href` accessors pair 24076 // https://url.spec.whatwg.org/#dom-url-href 24077 href: accessorDescriptor(serializeURL, function (href) { 24078 var url = getInternalURLState(this); 24079 var urlString = String(href); 24080 var failure = parseURL(url, urlString); 24081 if (failure) throw TypeError(failure); 24082 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 24083 }), 24084 // `URL.prototype.origin` getter 24085 // https://url.spec.whatwg.org/#dom-url-origin 24086 origin: accessorDescriptor(getOrigin), 24087 // `URL.prototype.protocol` accessors pair 24088 // https://url.spec.whatwg.org/#dom-url-protocol 24089 protocol: accessorDescriptor(getProtocol, function (protocol) { 24090 var url = getInternalURLState(this); 24091 parseURL(url, String(protocol) + ':', SCHEME_START); 24092 }), 24093 // `URL.prototype.username` accessors pair 24094 // https://url.spec.whatwg.org/#dom-url-username 24095 username: accessorDescriptor(getUsername, function (username) { 24096 var url = getInternalURLState(this); 24097 var codePoints = arrayFrom(String(username)); 24098 if (cannotHaveUsernamePasswordPort(url)) return; 24099 url.username = ''; 24100 for (var i = 0; i < codePoints.length; i++) { 24101 url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); 24102 } 24103 }), 24104 // `URL.prototype.password` accessors pair 24105 // https://url.spec.whatwg.org/#dom-url-password 24106 password: accessorDescriptor(getPassword, function (password) { 24107 var url = getInternalURLState(this); 24108 var codePoints = arrayFrom(String(password)); 24109 if (cannotHaveUsernamePasswordPort(url)) return; 24110 url.password = ''; 24111 for (var i = 0; i < codePoints.length; i++) { 24112 url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); 24113 } 24114 }), 24115 // `URL.prototype.host` accessors pair 24116 // https://url.spec.whatwg.org/#dom-url-host 24117 host: accessorDescriptor(getHost, function (host) { 24118 var url = getInternalURLState(this); 24119 if (url.cannotBeABaseURL) return; 24120 parseURL(url, String(host), HOST); 24121 }), 24122 // `URL.prototype.hostname` accessors pair 24123 // https://url.spec.whatwg.org/#dom-url-hostname 24124 hostname: accessorDescriptor(getHostname, function (hostname) { 24125 var url = getInternalURLState(this); 24126 if (url.cannotBeABaseURL) return; 24127 parseURL(url, String(hostname), HOSTNAME); 24128 }), 24129 // `URL.prototype.port` accessors pair 24130 // https://url.spec.whatwg.org/#dom-url-port 24131 port: accessorDescriptor(getPort, function (port) { 24132 var url = getInternalURLState(this); 24133 if (cannotHaveUsernamePasswordPort(url)) return; 24134 port = String(port); 24135 if (port == '') url.port = null; 24136 else parseURL(url, port, PORT); 24137 }), 24138 // `URL.prototype.pathname` accessors pair 24139 // https://url.spec.whatwg.org/#dom-url-pathname 24140 pathname: accessorDescriptor(getPathname, function (pathname) { 24141 var url = getInternalURLState(this); 24142 if (url.cannotBeABaseURL) return; 24143 url.path = []; 24144 parseURL(url, pathname + '', PATH_START); 24145 }), 24146 // `URL.prototype.search` accessors pair 24147 // https://url.spec.whatwg.org/#dom-url-search 24148 search: accessorDescriptor(getSearch, function (search) { 24149 var url = getInternalURLState(this); 24150 search = String(search); 24151 if (search == '') { 24152 url.query = null; 24153 } else { 24154 if ('?' == search.charAt(0)) search = search.slice(1); 24155 url.query = ''; 24156 parseURL(url, search, QUERY); 24157 } 24158 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 24159 }), 24160 // `URL.prototype.searchParams` getter 24161 // https://url.spec.whatwg.org/#dom-url-searchparams 24162 searchParams: accessorDescriptor(getSearchParams), 24163 // `URL.prototype.hash` accessors pair 24164 // https://url.spec.whatwg.org/#dom-url-hash
24165 hash: accessorDescriptor(getHash, function (hash) { 24166 var url = getInternalURLState(this); 24167 hash = String(hash); 24168 if (hash == '') { 24169 url.fragment = null; 24170 return; 24171 } 24172 if ('#' == hash.charAt(0)) hash = hash.slice(1); 24173 url.fragment = ''; 24174 parseURL(url, hash, FRAGMENT); 24175 }) 24176 }); 24177} 24178 24179// `URL.prototype.toJSON` method 24180// https://url.spec.whatwg.org/#dom-url-tojson 24181redefine(URLPrototype, 'toJSON', function toJSON() { 24182 return serializeURL.call(this); 24183}, { enumerable: true }); 24184 24185// `URL.prototype.toString` method 24186// https://url.spec.whatwg.org/#URL-stringification-behavior 24187redefine(URLPrototype, 'toString', function toString() { 24188 return serializeURL.call(this); 24189}, { enumerable: true }); 24190 24191if (NativeURL) { 24192 var nativeCreateObjectURL = NativeURL.createObjectURL; 24193 var nativeRevokeObjectURL = NativeURL.revokeObjectURL; 24194 // `URL.createObjectURL` method 24195 // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL 24196 // eslint-disable-next-line no-unused-vars 24197 if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { 24198 return nativeCreateObjectURL.apply(NativeURL, arguments); 24199 }); 24200 // `URL.revokeObjectURL` method 24201 // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL 24202 // eslint-disable-next-line no-unused-vars 24203 if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { 24204 return nativeRevokeObjectURL.apply(NativeURL, arguments); 24205 }); 24206} 24207 24208setToStringTag(URLConstructor, 'URL'); 24209 24210$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { 24211 URL: URLConstructor 24212}); 24213 24214 24215/***/ }), 24216/* 350 */, 24217/* 351 */, 24218/* 352 */, 24219/* 353 */, 24220/* 354 */, 24221/* 355 */, 24222/* 356 */ 24223/***/ (function(module, exports, __webpack_require__) { 24224 24225var DESCRIPTORS = __webpack_require__(21); 24226var fails = __webpack_require__(11); 24227var createElement = __webpack_require__(273); 24228 24229// Thank's IE8 for his funny defineProperty 24230module.exports = !DESCRIPTORS && !fails(function () { 24231 return Object.defineProperty(createElement('div'), 'a', { 24232 get: function () { return 7; } 24233 }).a != 7; 24234}); 24235 24236 24237/***/ }), 24238/* 357 */ 24239/***/ (function(module, exports, __webpack_require__) { 24240 24241var global = __webpack_require__(16); 24242var inspectSource = __webpack_require__(275); 24243 24244var WeakMap = global.WeakMap; 24245 24246module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); 24247 24248 24249/***/ }), 24250/* 358 */ 24251/***/ (function(module, exports, __webpack_require__) { 24252 24253var has = __webpack_require__(35); 24254var ownKeys = __webpack_require__(278); 24255var getOwnPropertyDescriptorModule = __webpack_require__(51); 24256var definePropertyModule = __webpack_require__(30); 24257 24258module.exports = function (target, source) { 24259 var keys = ownKeys(source); 24260 var defineProperty = definePropertyModule.f; 24261 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 24262 for (var i = 0; i < keys.length; i++) { 24263 var key = keys[i]; 24264 if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 24265 } 24266}; 24267 24268 24269/***/ }), 24270/* 359 */ 24271/***/ (function(module, exports, __webpack_require__) { 24272 24273var has = __webpack_require__(35); 24274var toIndexedObject = __webpack_require__(66); 24275var indexOf = __webpack_require__(168).indexOf; 24276var hiddenKeys = __webpack_require__(166); 24277 24278module.exports = function (object, names) { 24279 var O = toIndexedObject(object); 24280 var i = 0; 24281 var result = []; 24282 var key; 24283 for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); 24284 // Don't enum bug & hidden keys 24285 while (names.length > i) if (has(O, key = names[i++])) { 24286 ~indexOf(result, key) || result.push(key); 24287 } 24288 return result; 24289}; 24290 24291 24292/***/ }), 24293/* 360 */ 24294/***/ (function(module, exports, __webpack_require__) { 24295 24296var NATIVE_SYMBOL = __webpack_require__(281); 24297 24298module.exports = NATIVE_SYMBOL 24299 // eslint-disable-next-line no-undef 24300 && !Symbol.sham 24301 // eslint-disable-next-line no-undef 24302 && typeof Symbol.iterator == 'symbol'; 24303 24304 24305/***/ }), 24306/* 361 */ 24307/***/ (function(module, exports, __webpack_require__) { 24308 24309var getBuiltIn = __webpack_require__(67); 24310 24311module.exports = getBuiltIn('document', 'documentElement'); 24312 24313 24314/***/ }), 24315/* 362 */ 24316/***/ (function(module, exports, __webpack_require__) { 24317 24318var toIndexedObject = __webpack_require__(66); 24319var nativeGetOwnPropertyNames = __webpack_require__(132).f; 24320 24321var toString = {}.toString; 24322 24323var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames 24324 ? Object.getOwnPropertyNames(window) : []; 24325 24326var getWindowNames = function (it) { 24327 try { 24328 return nativeGetOwnPropertyNames(it); 24329 } catch (error) { 24330 return windowNames.slice(); 24331 } 24332}; 24333 24334// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window 24335module.exports.f = function getOwnPropertyNames(it) { 24336 return windowNames && toString.call(it) == '[object Window]' 24337 ? getWindowNames(it) 24338 : nativeGetOwnPropertyNames(toIndexedObject(it)); 24339}; 24340 24341 24342/***/ }), 24343/* 363 */ 24344/***/ (function(module, exports, __webpack_require__) { 24345 24346var wellKnownSymbol = __webpack_require__(23); 24347 24348exports.f = wellKnownSymbol; 24349 24350 24351/***/ }), 24352/* 364 */ 24353/***/ (function(module, exports, __webpack_require__) { 24354 24355var isObject = __webpack_require__(19); 24356 24357module.exports = function (it) { 24358 if (!isObject(it) && it !== null) { 24359 throw TypeError("Can't set " + String(it) + ' as a prototype'); 24360 } return it; 24361}; 24362 24363 24364/***/ }), 24365/* 365 */ 24366/***/ (function(module, exports, __webpack_require__) { 24367 24368var anObject = __webpack_require__(20); 24369 24370module.exports = function (iterator) { 24371 var returnMethod = iterator['return']; 24372 if (returnMethod !== undefined) { 24373 return anObject(returnMethod.call(iterator)).value; 24374 } 24375}; 24376 24377 24378/***/ }), 24379/* 366 */ 24380/***/ (function(module, exports, __webpack_require__) { 24381 24382"use strict"; 24383 24384var bind = __webpack_require__(115); 24385var toObject = __webpack_require__(33); 24386var callWithSafeIterationClosing = __webpack_require__(553); 24387var isArrayIteratorMethod = __webpack_require__(284);
24388var toLength = __webpack_require__(28); 24389var createProperty = __webpack_require__(134); 24390var getIteratorMethod = __webpack_require__(173); 24391 24392// `Array.from` method implementation 24393// https://tc39.github.io/ecma262/#sec-array.from 24394module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 24395 var O = toObject(arrayLike); 24396 var C = typeof this == 'function' ? this : Array; 24397 var argumentsLength = arguments.length; 24398 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 24399 var mapping = mapfn !== undefined; 24400 var iteratorMethod = getIteratorMethod(O); 24401 var index = 0; 24402 var length, result, step, iterator, next, value; 24403 if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); 24404 // if the target is not iterable or it's an array with the default iterator - use a simple case 24405 if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { 24406 iterator = iteratorMethod.call(O); 24407 next = iterator.next; 24408 result = new C(); 24409 for (;!(step = next.call(iterator)).done; index++) { 24410 value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; 24411 createProperty(result, index, value); 24412 } 24413 } else { 24414 length = toLength(O.length); 24415 result = new C(length); 24416 for (;length > index; index++) { 24417 value = mapping ? mapfn(O[index], index) : O[index]; 24418 createProperty(result, index, value); 24419 } 24420 } 24421 result.length = index; 24422 return result; 24423}; 24424 24425 24426/***/ }), 24427/* 367 */ 24428/***/ (function(module, exports, __webpack_require__) { 24429 24430"use strict"; 24431 24432var toObject = __webpack_require__(33); 24433var toAbsoluteIndex = __webpack_require__(114); 24434var toLength = __webpack_require__(28); 24435 24436var min = Math.min; 24437 24438// `Array.prototype.copyWithin` method implementation 24439// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin 24440module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 24441 var O = toObject(this); 24442 var len = toLength(O.length); 24443 var to = toAbsoluteIndex(target, len); 24444 var from = toAbsoluteIndex(start, len); 24445 var end = arguments.length > 2 ? arguments[2] : undefined; 24446 var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 24447 var inc = 1; 24448 if (from < to && to < from + count) { 24449 inc = -1; 24450 from += count - 1; 24451 to += count - 1; 24452 } 24453 while (count-- > 0) { 24454 if (from in O) O[to] = O[from]; 24455 else delete O[to]; 24456 to += inc; 24457 from += inc; 24458 } return O; 24459}; 24460 24461 24462/***/ }), 24463/* 368 */ 24464/***/ (function(module, exports, __webpack_require__) { 24465 24466"use strict"; 24467 24468var isArray = __webpack_require__(133); 24469var toLength = __webpack_require__(28); 24470var bind = __webpack_require__(115); 24471 24472// `FlattenIntoArray` abstract operation 24473// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray 24474var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { 24475 var targetIndex = start; 24476 var sourceIndex = 0; 24477 var mapFn = mapper ? bind(mapper, thisArg, 3) : false; 24478 var element; 24479 24480 while (sourceIndex < sourceLen) { 24481 if (sourceIndex in source) { 24482 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; 24483 24484 if (depth > 0 && isArray(element)) { 24485 targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; 24486 } else { 24487 if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); 24488 target[targetIndex] = element; 24489 } 24490 24491 targetIndex++; 24492 } 24493 sourceIndex++; 24494 } 24495 return targetIndex; 24496}; 24497 24498module.exports = flattenIntoArray; 24499 24500 24501/***/ }), 24502/* 369 */ 24503/***/ (function(module, exports, __webpack_require__) { 24504 24505"use strict"; 24506 24507var $forEach = __webpack_require__(46).forEach; 24508var arrayMethodIsStrict = __webpack_require__(102); 24509var arrayMethodUsesToLength = __webpack_require__(63); 24510 24511var STRICT_METHOD = arrayMethodIsStrict('forEach'); 24512var USES_TO_LENGTH = arrayMethodUsesToLength('forEach'); 24513 24514// `Array.prototype.forEach` method implementation 24515// https://tc39.github.io/ecma262/#sec-array.prototype.foreach 24516module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) { 24517 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 24518} : [].forEach; 24519 24520 24521/***/ }), 24522/* 370 */ 24523/***/ (function(module, exports, __webpack_require__) { 24524 24525"use strict"; 24526 24527var toIndexedObject = __webpack_require__(66); 24528var toInteger = __webpack_require__(73);
24529var toLength = __webpack_require__(28); 24530var arrayMethodIsStrict = __webpack_require__(102); 24531var arrayMethodUsesToLength = __webpack_require__(63); 24532 24533var min = Math.min; 24534var nativeLastIndexOf = [].lastIndexOf; 24535var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; 24536var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); 24537// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method 24538var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 24539var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH; 24540 24541// `Array.prototype.lastIndexOf` method implementation 24542// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof 24543module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 24544 // convert -0 to +0 24545 if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; 24546 var O = toIndexedObject(this); 24547 var length = toLength(O.length); 24548 var index = length - 1; 24549 if (arguments.length > 1) index = min(index, toInteger(arguments[1])); 24550 if (index < 0) index = length + index; 24551 for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; 24552 return -1; 24553} : nativeLastIndexOf; 24554 24555 24556/***/ }), 24557/* 371 */ 24558/***/ (function(module, exports, __webpack_require__) { 24559 24560"use strict"; 24561 24562var getPrototypeOf = __webpack_require__(74); 24563var createNonEnumerableProperty = __webpack_require__(53); 24564var has = __webpack_require__(35); 24565var wellKnownSymbol = __webpack_require__(23); 24566var IS_PURE = __webpack_require__(72); 24567 24568var ITERATOR = wellKnownSymbol('iterator'); 24569var BUGGY_SAFARI_ITERATORS = false; 24570 24571var returnThis = function () { return this; }; 24572 24573// `%IteratorPrototype%` object 24574// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object 24575var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; 24576 24577if ([].keys) { 24578 arrayIterator = [].keys(); 24579 // Safari 8 has buggy iterators w/o `next` 24580 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; 24581 else { 24582 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); 24583 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; 24584 } 24585} 24586 24587if (IteratorPrototype == undefined) IteratorPrototype = {}; 24588 24589// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 24590if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { 24591 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); 24592} 24593 24594module.exports = { 24595 IteratorPrototype: IteratorPrototype, 24596 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS 24597}; 24598 24599 24600/***/ }), 24601/* 372 */ 24602/***/ (function(module, exports, __webpack_require__) { 24603 24604"use strict"; 24605 24606var aFunction = __webpack_require__(59); 24607var isObject = __webpack_require__(19); 24608 24609var slice = [].slice; 24610var factories = {}; 24611 24612var construct = function (C, argsLength, args) { 24613 if (!(argsLength in factories)) { 24614 for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; 24615 // eslint-disable-next-line no-new-func 24616 factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); 24617 } return factories[argsLength](C, args); 24618}; 24619 24620// `Function.prototype.bind` method implementation 24621// https://tc39.github.io/ecma262/#sec-function.prototype.bind 24622module.exports = Function.bind || function bind(that /* , ...args */) { 24623 var fn = aFunction(this); 24624 var partArgs = slice.call(arguments, 1); 24625 var boundFunction = function bound(/* args... */) { 24626 var args = partArgs.concat(slice.call(arguments)); 24627 return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); 24628 }; 24629 if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; 24630 return boundFunction; 24631}; 24632 24633 24634/***/ }), 24635/* 373 */ 24636/***/ (function(module, exports, __webpack_require__) { 24637 24638"use strict"; 24639 24640var DESCRIPTORS = __webpack_require__(21); 24641var fails = __webpack_require__(11); 24642var objectKeys = __webpack_require__(170); 24643var getOwnPropertySymbolsModule = __webpack_require__(280); 24644var propertyIsEnumerableModule = __webpack_require__(213); 24645var toObject = __webpack_require__(33); 24646var IndexedObject = __webpack_require__(164); 24647 24648var nativeAssign = Object.assign; 24649var defineProperty = Object.defineProperty; 24650 24651// `Object.assign` method 24652// https://tc39.github.io/ecma262/#sec-object.assign 24653module.exports = !nativeAssign || fails(function () { 24654 // should have correct order of operations (Edge bug) 24655 if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { 24656 enumerable: true, 24657 get: function () { 24658 defineProperty(this, 'b', { 24659 value: 3, 24660 enumerable: false 24661 }); 24662 } 24663 }), { b: 2 })).b !== 1) return true; 24664 // should work with symbols and should have deterministic property order (V8 bug) 24665 var A = {}; 24666 var B = {}; 24667 // eslint-disable-next-line no-undef 24668 var symbol = Symbol(); 24669 var alphabet = 'abcdefghijklmnopqrst'; 24670 A[symbol] = 7; 24671 alphabet.split('').forEach(function (chr) { B[chr] = chr; }); 24672 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; 24673}) ? function assign(target, source) { // eslint-disable-line no-unused-vars 24674 var T = toObject(target); 24675 var argumentsLength = arguments.length; 24676 var index = 1; 24677 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 24678 var propertyIsEnumerable = propertyIsEnumerableModule.f; 24679 while (argumentsLength > index) { 24680 var S = IndexedObject(arguments[index++]); 24681 var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); 24682 var length = keys.length; 24683 var j = 0; 24684 var key; 24685 while (length > j) { 24686 key = keys[j++]; 24687 if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[ke
24687y] = S[key]; 24688 } 24689 } return T; 24690} : nativeAssign; 24691 24692 24693/***/ }), 24694/* 374 */ 24695/***/ (function(module, exports, __webpack_require__) { 24696 24697var DESCRIPTORS = __webpack_require__(21); 24698var objectKeys = __webpack_require__(170); 24699var toIndexedObject = __webpack_require__(66); 24700var propertyIsEnumerable = __webpack_require__(213).f; 24701 24702// `Object.{ entries, values }` methods implementation 24703var createMethod = function (TO_ENTRIES) { 24704 return function (it) { 24705 var O = toIndexedObject(it); 24706 var keys = objectKeys(O); 24707 var length = keys.length; 24708 var i = 0; 24709 var result = []; 24710 var key; 24711 while (length > i) { 24712 key = keys[i++]; 24713 if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { 24714 result.push(TO_ENTRIES ? [key, O[key]] : O[key]); 24715 } 24716 } 24717 return result; 24718 }; 24719}; 24720 24721module.exports = { 24722 // `Object.entries` method 24723 // https://tc39.github.io/ecma262/#sec-object.entries 24724 entries: createMethod(true), 24725 // `Object.values` method 24726 // https://tc39.github.io/ecma262/#sec-object.values 24727 values: createMethod(false) 24728}; 24729 24730 24731/***/ }), 24732/* 375 */ 24733/***/ (function(module, exports) { 24734 24735// `SameValue` abstract operation 24736// https://tc39.github.io/ecma262/#sec-samevalue 24737module.exports = Object.is || function is(x, y) { 24738 // eslint-disable-next-line no-self-compare 24739 return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; 24740}; 24741 24742 24743/***/ }), 24744/* 376 */ 24745/***/ (function(module, exports, __webpack_require__) { 24746 24747// https://github.com/zloirock/core-js/issues/280 24748var userAgent = __webpack_require__(216); 24749 24750// eslint-disable-next-line unicorn/no-unsafe-regex 24751module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 24752 24753 24754/***/ }), 24755/* 377 */ 24756/***/ (function(module, exports, __webpack_require__) { 24757 24758var global = __webpack_require__(16); 24759var trim = __webpack_require__(149).trim; 24760var whitespaces = __webpack_require__(225); 24761 24762var $parseInt = global.parseInt; 24763var hex = /^[+-]?0[Xx]/;
vendor: 9,133 bytes, lines 24764-25072
24764var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; 24765 24766// `parseInt` method 24767// https://tc39.github.io/ecma262/#sec-parseint-string-radix 24768module.exports = FORCED ? function parseInt(string, radix) { 24769 var S = trim(String(string)); 24770 return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); 24771} : $parseInt; 24772 24773 24774/***/ }), 24775/* 378 */ 24776/***/ (function(module, exports, __webpack_require__) { 24777 24778var global = __webpack_require__(16); 24779var trim = __webpack_require__(149).trim; 24780var whitespaces = __webpack_require__(225); 24781 24782var $parseFloat = global.parseFloat; 24783var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; 24784 24785// `parseFloat` method 24786// https://tc39.github.io/ecma262/#sec-parsefloat-string 24787module.exports = FORCED ? function parseFloat(string) { 24788 var trimmedString = trim(String(string)); 24789 var result = $parseFloat(trimmedString); 24790 return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; 24791} : $parseFloat; 24792 24793 24794/***/ }), 24795/* 379 */ 24796/***/ (function(module, exports, __webpack_require__) { 24797 24798var isObject = __webpack_require__(19); 24799 24800var floor = Math.floor; 24801 24802// `Number.isInteger` method implementation 24803// https://tc39.github.io/ecma262/#sec-number.isinteger 24804module.exports = function isInteger(it) { 24805 return !isObject(it) && isFinite(it) && floor(it) === it; 24806}; 24807 24808 24809/***/ }), 24810/* 380 */ 24811/***/ (function(module, exports, __webpack_require__) { 24812 24813var classof = __webpack_require__(101); 24814 24815// `thisNumberValue` abstract operation 24816// https://tc39.github.io/ecma262/#sec-thisnumbervalue 24817module.exports = function (value) { 24818 if (typeof value != 'number' && classof(value) != 'Number') { 24819 throw TypeError('Incorrect invocation'); 24820 } 24821 return +value; 24822}; 24823 24824 24825/***/ }), 24826/* 381 */ 24827/***/ (function(module, exports) { 24828 24829var log = Math.log; 24830 24831// `Math.log1p` method implementation 24832// https://tc39.github.io/ecma262/#sec-math.log1p 24833module.exports = Math.log1p || function log1p(x) { 24834 return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); 24835}; 24836 24837 24838/***/ }), 24839/* 382 */ 24840/***/ (function(module, exports, __webpack_require__) { 24841 24842var global = __webpack_require__(16); 24843 24844module.exports = global.Promise; 24845 24846 24847/***/ }), 24848/* 383 */ 24849/***/ (function(module, exports, __webpack_require__) { 24850 24851var userAgent = __webpack_require__(216); 24852 24853module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); 24854 24855 24856/***/ }), 24857/* 384 */ 24858/***/ (function(module, exports, __webpack_require__) { 24859 24860var global = __webpack_require__(16); 24861var getOwnPropertyDescriptor = __webpack_require__(51).f; 24862var macrotask = __webpack_require__(295).set; 24863var IS_IOS = __webpack_require__(383); 24864var IS_NODE = __webpack_require__(146); 24865 24866var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; 24867var document = global.document; 24868var process = global.process; 24869var Promise = global.Promise; 24870// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` 24871var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); 24872var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; 24873 24874var flush, head, last, notify, toggle, node, promise, then; 24875 24876// modern engines have queueMicrotask method 24877if (!queueMicrotask) { 24878 flush = function () { 24879 var parent, fn; 24880 if (IS_NODE && (parent = process.domain)) parent.exit(); 24881 while (head) { 24882 fn = head.fn; 24883 head = head.next; 24884 try { 24885 fn(); 24886 } catch (error) { 24887 if (head) notify(); 24888 else last = undefined; 24889 throw error; 24890 } 24891 } last = undefined; 24892 if (parent) parent.enter(); 24893 }; 24894 24895 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 24896 if (!IS_IOS && !IS_NODE && MutationObserver && document) { 24897 toggle = true; 24898 node = document.createTextNode(''); 24899 new MutationObserver(flush).observe(node, { characterData: true }); 24900 notify = function () { 24901 node.data = toggle = !toggle; 24902 }; 24903 // environments with maybe non-completely correct, but existent Promise 24904 } else if (Promise && Promise.resolve) { 24905 // Promise.resolve without an argument throws an error in LG WebOS 2 24906 promise = Promise.resolve(undefined); 24907 then = promise.then; 24908 notify = function () { 24909 then.call(promise, flush); 24910 }; 24911 // Node.js without promises 24912 } else if (IS_NODE) { 24913 notify = function () { 24914 process.nextTick(flush); 24915 }; 24916 // for other environments - macrotask based on: 24917 // - setImmediate 24918 // - MessageChannel 24919 // - window.postMessag 24920 // - onreadystatechange 24921 // - setTimeout 24922 } else { 24923 notify = function () { 24924 // strange IE + webpack dev server bug - use .call(global) 24925 macrotask.call(global, flush); 24926 }; 24927 } 24928} 24929 24930module.exports = queueMicrotask || function (fn) { 24931 var task = { fn: fn, next: undefined }; 24932 if (last) last.next = task; 24933 if (!head) { 24934 head = task; 24935 notify(); 24936 } last = task; 24937}; 24938 24939 24940/***/ }), 24941/* 385 */ 24942/***/ (function(module, exports, __webpack_require__) { 24943 24944var anObject = __webpack_require__(20); 24945var isObject = __webpack_require__(19); 24946var newPromiseCapability = __webpack_require__(228); 24947 24948module.exports = function (C, x) { 24949 anObject(C); 24950 if (isObject(x) && x.constructor === C) return x; 24951 var promiseCapability = newPromiseCapability.f(C); 24952 var resolve = promiseCapability.resolve; 24953 resolve(x); 24954 return promiseCapability.promise; 24955}; 24956 24957 24958/***/ }), 24959/* 386 */ 24960/***/ (function(module, exports, __webpack_require__) { 24961 24962"use strict"; 24963 24964var defineProperty = __webpack_require__(30).f; 24965var create = __webpack_require__(92); 24966var redefineAll = __webpack_require__(150); 24967var bind = __webpack_require__(115); 24968var anInstance = __webpack_require__(119); 24969var iterate = __webpack_require__(117); 24970var defineIterator = __webpack_require__(287); 24971var setSpecies = __webpack_require__(147); 24972var DESCRIPTORS = __webpack_require__(21); 24973var fastKey = __webpack_require__(135).fastKey; 24974var InternalStateModule = __webpack_require__(58); 24975 24976var setInternalState = InternalStateModule.set; 24977var internalStateGetterFor = InternalStateModule.getterFor; 24978 24979module.exports = { 24980 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { 24981 var C = wrapper(function (that, iterable) { 24982 anInstance(that, C, CONSTRUCTOR_NAME); 24983 setInternalState(that, { 24984 type: CONSTRUCTOR_NAME, 24985 index: create(null), 24986 first: undefined, 24987 last: undefined, 24988 size: 0 24989 }); 24990 if (!DESCRIPTORS) that.size = 0; 24991 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 24992 }); 24993 24994 var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); 24995 24996 var define = function (that, key, value) { 24997 var state = getInternalState(that); 24998 var entry = getEntry(that, key); 24999 var previous, index; 25000 // change existing entry 25001 if (entry) { 25002 entry.value = value; 25003 // create new entry 25004 } else { 25005 state.last = entry = { 25006 index: index = fastKey(key, true), 25007 key: key, 25008 value: value, 25009 previous: previous = state.last, 25010 next: undefined, 25011 removed: false 25012 }; 25013 if (!state.first) state.first = entry; 25014 if (previous) previous.next = entry; 25015 if (DESCRIPTORS) state.size++; 25016 else that.size++; 25017 // add to index 25018 if (index !== 'F') state.index[index] = entry; 25019 } return that; 25020 }; 25021 25022 var getEntry = function (that, key) { 25023 var state = getInternalState(that); 25024 // fast case 25025 var index = fastKey(key); 25026 var entry; 25027 if (index !== 'F') return state.index[index]; 25028 // frozen object case 25029 for (entry = state.first; entry; entry = entry.next) { 25030 if (entry.key == key) return entry; 25031 } 25032 }; 25033 25034 redefineAll(C.prototype, { 25035 // 23.1.3.1 Map.prototype.clear() 25036 // 23.2.3.2 Set.prototype.clear() 25037 clear: function clear() { 25038 var that = this; 25039 var state = getInternalState(that); 25040 var data = state.index; 25041 var entry = state.first; 25042 while (entry) { 25043 entry.removed = true; 25044 if (entry.previous) entry.previous = entry.previous.next = undefined; 25045 delete data[entry.index]; 25046 entry = entry.next; 25047 } 25048 state.first = state.last = undefined; 25049 if (DESCRIPTORS) state.size = 0; 25050 else that.size = 0; 25051 }, 25052 // 23.1.3.3 Map.prototype.delete(key) 25053 // 23.2.3.4 Set.prototype.delete(value) 25054 'delete': function (key) { 25055 var that = this; 25056 var state = getInternalState(that); 25057 var entry = getEntry(that, key); 25058 if (entry) { 25059 var next = entry.next; 25060 var prev = entry.previous; 25061 delete state.index[entry.index]; 25062 entry.removed = true; 25063 if (prev) prev.next = next; 25064 if (next) next.previous = prev; 25065 if (state.first == entry) state.first = next; 25066 if (state.last == entry) state.last = prev; 25067 if (DESCRIPTORS) state.size--; 25068 else that.size--; 25069 } return !!entry; 25070 }, 25071 // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) 25072 // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
vendor: 5,467 bytes, lines 25073-25237
25073 forEach: function forEach(callbackfn /* , that = undefined */) { 25074 var state = getInternalState(this); 25075 var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); 25076 var entry; 25077 while (entry = entry ? entry.next : state.first) { 25078 boundFunction(entry.value, entry.key, this); 25079 // revert to the last existing entry 25080 while (entry && entry.removed) entry = entry.previous; 25081 } 25082 }, 25083 // 23.1.3.7 Map.prototype.has(key) 25084 // 23.2.3.7 Set.prototype.has(value) 25085 has: function has(key) { 25086 return !!getEntry(this, key); 25087 } 25088 }); 25089 25090 redefineAll(C.prototype, IS_MAP ? { 25091 // 23.1.3.6 Map.prototype.get(key) 25092 get: function get(key) { 25093 var entry = getEntry(this, key); 25094 return entry && entry.value; 25095 }, 25096 // 23.1.3.9 Map.prototype.set(key, value) 25097 set: function set(key, value) { 25098 return define(this, key === 0 ? 0 : key, value); 25099 } 25100 } : { 25101 // 23.2.3.1 Set.prototype.add(value) 25102 add: function add(value) { 25103 return define(this, value = value === 0 ? 0 : value, value); 25104 } 25105 }); 25106 if (DESCRIPTORS) defineProperty(C.prototype, 'size', { 25107 get: function () { 25108 return getInternalState(this).size; 25109 } 25110 }); 25111 return C; 25112 }, 25113 setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { 25114 var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; 25115 var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); 25116 var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); 25117 // add .keys, .values, .entries, [@@iterator] 25118 // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 25119 defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { 25120 setInternalState(this, { 25121 type: ITERATOR_NAME, 25122 target: iterated, 25123 state: getInternalCollectionState(iterated), 25124 kind: kind, 25125 last: undefined 25126 }); 25127 }, function () { 25128 var state = getInternalIteratorState(this); 25129 var kind = state.kind; 25130 var entry = state.last; 25131 // revert to the last existing entry 25132 while (entry && entry.removed) entry = entry.previous; 25133 // get next entry 25134 if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { 25135 // or finish the iteration 25136 state.target = undefined; 25137 return { value: undefined, done: true }; 25138 } 25139 // return step by kind 25140 if (kind == 'keys') return { value: entry.key, done: false }; 25141 if (kind == 'values') return { value: entry.value, done: false }; 25142 return { value: [entry.key, entry.value], done: false }; 25143 }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); 25144 25145 // add [@@species], 23.1.2.2, 23.2.2.2 25146 setSpecies(CONSTRUCTOR_NAME); 25147 } 25148}; 25149 25150 25151/***/ }), 25152/* 387 */ 25153/***/ (function(module, exports, __webpack_require__) { 25154 25155"use strict"; 25156 25157var redefineAll = __webpack_require__(150); 25158var getWeakData = __webpack_require__(135).getWeakData; 25159var anObject = __webpack_require__(20); 25160var isObject = __webpack_require__(19); 25161var anInstance = __webpack_require__(119); 25162var iterate = __webpack_require__(117); 25163var ArrayIterationModule = __webpack_require__(46); 25164var $has = __webpack_require__(35); 25165var InternalStateModule = __webpack_require__(58); 25166 25167var setInternalState = InternalStateModule.set; 25168var internalStateGetterFor = InternalStateModule.getterFor; 25169var find = ArrayIterationModule.find; 25170var findIndex = ArrayIterationModule.findIndex; 25171var id = 0; 25172 25173// fallback for uncaught frozen keys 25174var uncaughtFrozenStore = function (store) { 25175 return store.frozen || (store.frozen = new UncaughtFrozenStore()); 25176}; 25177 25178var UncaughtFrozenStore = function () { 25179 this.entries = []; 25180}; 25181 25182var findUncaughtFrozen = function (store, key) { 25183 return find(store.entries, function (it) { 25184 return it[0] === key; 25185 }); 25186}; 25187 25188UncaughtFrozenStore.prototype = { 25189 get: function (key) { 25190 var entry = findUncaughtFrozen(this, key); 25191 if (entry) return entry[1]; 25192 }, 25193 has: function (key) { 25194 return !!findUncaughtFrozen(this, key); 25195 }, 25196 set: function (key, value) { 25197 var entry = findUncaughtFrozen(this, key); 25198 if (entry) entry[1] = value; 25199 else this.entries.push([key, value]); 25200 }, 25201 'delete': function (key) { 25202 var index = findIndex(this.entries, function (it) { 25203 return it[0] === key; 25204 }); 25205 if (~index) this.entries.splice(index, 1); 25206 return !!~index; 25207 } 25208}; 25209 25210module.exports = { 25211 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { 25212 var C = wrapper(function (that, iterable) { 25213 anInstance(that, C, CONSTRUCTOR_NAME); 25214 setInternalState(that, { 25215 type: CONSTRUCTOR_NAME, 25216 id: id++, 25217 frozen: undefined 25218 }); 25219 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 25220 }); 25221 25222 var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); 25223 25224 var define = function (that, key, value) { 25225 var state = getInternalState(that); 25226 var data = getWeakData(anObject(key), true); 25227 if (data === true) uncaughtFrozenStore(state).set(key, value); 25228 else data[state.id] = value; 25229 return that; 25230 }; 25231 25232 redefineAll(C.prototype, { 25233 // 23.3.3.2 WeakMap.prototype.delete(key) 25234 // 23.4.3.3 WeakSet.prototype.delete(value) 25235 'delete': function (key) { 25236 var state = getInternalState(this); 25237 if (!isObject(key)) return false;
25238 var data = getWeakData(key); 25239 if (data === true) return uncaughtFrozenStore(state)['delete'](key); 25240 return data && $has(data, state.id) && delete data[state.id]; 25241 }, 25242 // 23.3.3.4 WeakMap.prototype.has(key) 25243 // 23.4.3.4 WeakSet.prototype.has(value) 25244 has: function has(key) { 25245 var state = getInternalState(this); 25246 if (!isObject(key)) return false; 25247 var data = getWeakData(key); 25248 if (data === true) return uncaughtFrozenStore(state).has(key); 25249 return data && $has(data, state.id); 25250 } 25251 }); 25252 25253 redefineAll(C.prototype, IS_MAP ? { 25254 // 23.3.3.3 WeakMap.prototype.get(key) 25255 get: function get(key) { 25256 var state = getInternalState(this); 25257 if (isObject(key)) { 25258 var data = getWeakData(key); 25259 if (data === true) return uncaughtFrozenStore(state).get(key); 25260 return data ? data[state.id] : undefined; 25261 } 25262 }, 25263 // 23.3.3.5 WeakMap.prototype.set(key, value) 25264 set: function set(key, value) { 25265 return define(this, key, value); 25266 } 25267 } : { 25268 // 23.4.3.1 WeakSet.prototype.add(value) 25269 add: function add(value) { 25270 return define(this, value, true); 25271 } 25272 }); 25273 25274 return C; 25275 } 25276}; 25277 25278 25279/***/ }), 25280/* 388 */ 25281/***/ (function(module, exports, __webpack_require__) { 25282 25283var toInteger = __webpack_require__(73); 25284var toLength = __webpack_require__(28); 25285 25286// `ToIndex` abstract operation 25287// https://tc39.github.io/ecma262/#sec-toindex 25288module.exports = function (it) { 25289 if (it === undefined) return 0; 25290 var number = toInteger(it); 25291 var length = toLength(number); 25292 if (number !== length) throw RangeError('Wrong length or index'); 25293 return length; 25294}; 25295 25296 25297/***/ }), 25298/* 389 */ 25299/***/ (function(module, exports, __webpack_require__) { 25300 25301var toPositiveInteger = __webpack_require__(668); 25302 25303module.exports = function (it, BYTES) { 25304 var offset = toPositiveInteger(it); 25305 if (offset % BYTES) throw RangeError('Wrong offset'); 25306 return offset; 25307}; 25308 25309 25310/***/ }), 25311/* 390 */ 25312/***/ (function(module, exports, __webpack_require__) { 25313 25314var toObject = __webpack_require__(33); 25315var toLength = __webpack_require__(28); 25316var getIteratorMethod = __webpack_require__(173); 25317var isArrayIteratorMethod = __webpack_require__(284); 25318var bind = __webpack_require__(115); 25319var aTypedArrayConstructor = __webpack_require__(29).aTypedArrayConstructor; 25320 25321module.exports = function from(source /* , mapfn, thisArg */) { 25322 var O = toObject(source); 25323 var argumentsLength = arguments.length; 25324 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 25325 var mapping = mapfn !== undefined; 25326 var iteratorMethod = getIteratorMethod(O); 25327 var i, length, result, step, iterator, next; 25328 if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { 25329 iterator = iteratorMethod.call(O); 25330 next = iterator.next; 25331 O = []; 25332 while (!(step = next.call(iterator)).done) { 25333 O.push(step.value); 25334 } 25335 } 25336 if (mapping && argumentsLength > 2) { 25337 mapfn = bind(mapfn, arguments[2], 2); 25338 } 25339 length = toLength(O.length); 25340 result = new (aTypedArrayConstructor(this))(length); 25341 for (i = 0; length > i; i++) { 25342 result[i] = mapping ? mapfn(O[i], i) : O[i]; 25343 } 25344 return result; 25345}; 25346 25347 25348/***/ }), 25349/* 391 */ 25350/***/ (function(module, exports) { 25351 25352// iterable DOM collections 25353// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods 25354module.exports = { 25355 CSSRuleList: 0, 25356 CSSStyleDeclaration: 0, 25357 CSSValueList: 0, 25358 ClientRectList: 0, 25359 DOMRectList: 0, 25360 DOMStringList: 0, 25361 DOMTokenList: 1, 25362 DataTransferItemList: 0, 25363 FileList: 0, 25364 HTMLAllCollection: 0, 25365 HTMLCollection: 0, 25366 HTMLFormElement: 0, 25367 HTMLSelectElement: 0, 25368 MediaList: 0, 25369 MimeTypeArray: 0, 25370 NamedNodeMap: 0, 25371 NodeList: 1, 25372 PaintRequestList: 0, 25373 Plugin: 0, 25374 PluginArray: 0, 25375 SVGLengthList: 0, 25376 SVGNumberList: 0, 25377 SVGPathSegList: 0, 25378 SVGPointList: 0, 25379 SVGStringList: 0, 25380 SVGTransformList: 0, 25381 SourceBufferList: 0, 25382 StyleSheetList: 0, 25383 TextTrackCueList: 0, 25384 TextTrackList: 0, 25385 TouchList: 0 25386}; 25387 25388 25389/***/ }), 25390/* 392 */ 25391/***/ (function(module, exports, __webpack_require__) { 25392 25393var fails = __webpack_require__(11); 25394var wellKnownSymbol = __webpack_require__(23); 25395var IS_PURE = __webpack_require__(72); 25396 25397var ITERATOR = wellKnownSymbol('iterator'); 25398 25399module.exports = !fails(function () { 25400 var url = new URL('b?a=1&b=2&c=3', 'http://a'); 25401 var searchParams = url.searchParams; 25402 var result = ''; 25403 url.pathname = 'c%20d';
vendor: 2,478 bytes, lines 25404-25469
25404 searchParams.forEach(function (value, key) { 25405 searchParams['delete']('b'); 25406 result += key + value; 25407 }); 25408 return (IS_PURE && !url.toJSON) 25409 || !searchParams.sort 25410 || url.href !== 'http://a/c%20d?a=1&c=3' 25411 || searchParams.get('c') !== '3' 25412 || String(new URLSearchParams('?a=1')) !== 'a=1' 25413 || !searchParams[ITERATOR] 25414 // throws in Edge 25415 || new URL('https://a@b').username !== 'a' 25416 || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' 25417 // not punycoded in Edge 25418 || new URL('http://ÑеÑÑ').host !== 'xn--e1aybc' 25419 // not escaped in Chrome 62- 25420 || new URL('http://a#б').hash !== '#%D0%B1' 25421 // fails in Chrome 66- 25422 || result !== 'a1c3' 25423 // throws in Safari 25424 || new URL('http://x', undefined).host !== 'x'; 25425}); 25426 25427 25428/***/ }), 25429/* 393 */ 25430/***/ (function(module, exports, __webpack_require__) { 25431 25432"use strict"; 25433 25434// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 25435__webpack_require__(138); 25436var $ = __webpack_require__(2); 25437var getBuiltIn = __webpack_require__(67); 25438var USE_NATIVE_URL = __webpack_require__(392); 25439var redefine = __webpack_require__(54); 25440var redefineAll = __webpack_require__(150); 25441var setToStringTag = __webpack_require__(80); 25442var createIteratorConstructor = __webpack_require__(288); 25443var InternalStateModule = __webpack_require__(58); 25444var anInstance = __webpack_require__(119); 25445var hasOwn = __webpack_require__(35); 25446var bind = __webpack_require__(115); 25447var classof = __webpack_require__(174); 25448var anObject = __webpack_require__(20); 25449var isObject = __webpack_require__(19); 25450var create = __webpack_require__(92); 25451var createPropertyDescriptor = __webpack_require__(100); 25452var getIterator = __webpack_require__(696); 25453var getIteratorMethod = __webpack_require__(173); 25454var wellKnownSymbol = __webpack_require__(23); 25455 25456var $fetch = getBuiltIn('fetch'); 25457var Headers = getBuiltIn('Headers'); 25458var ITERATOR = wellKnownSymbol('iterator'); 25459var URL_SEARCH_PARAMS = 'URLSearchParams'; 25460var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; 25461var setInternalState = InternalStateModule.set; 25462var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); 25463var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); 25464 25465var plus = /\+/g; 25466var sequences = Array(4); 25467 25468var percentSequence = function (bytes) { 25469 return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '}
25469)', 'gi')); 25470}; 25471 25472var percentDecode = function (sequence) { 25473 try { 25474 return decodeURIComponent(sequence); 25475 } catch (error) { 25476 return sequence; 25477 } 25478}; 25479 25480var deserialize = function (it) { 25481 var result = it.replace(plus, ' '); 25482 var bytes = 4; 25483 try { 25484 return decodeURIComponent(result); 25485 } catch (error) { 25486 while (bytes) { 25487 result = result.replace(percentSequence(bytes--), percentDecode); 25488 } 25489 return result; 25490 } 25491}; 25492 25493var find = /[!'()~]|%20/g; 25494 25495var replace = { 25496 '!': '%21', 25497 "'": '%27', 25498 '(': '%28', 25499 ')': '%29', 25500 '~': '%7E', 25501 '%20': '+' 25502}; 25503 25504var replacer = function (match) { 25505 return replace[match]; 25506}; 25507 25508var serialize = function (it) { 25509 return encodeURIComponent(it).replace(find, replacer); 25510}; 25511 25512var parseSearchParams = function (result, query) { 25513 if (query) { 25514 var attributes = query.split('&'); 25515 var index = 0; 25516 var attribute, entry; 25517 while (index < attributes.length) { 25518 attribute = attributes[index++]; 25519 if (attribute.length) { 25520 entry = attribute.split('='); 25521 result.push({ 25522 key: deserialize(entry.shift()), 25523 value: deserialize(entry.join('=')) 25524 }); 25525 } 25526 } 25527 } 25528}; 25529 25530var updateSearchParams = function (query) { 25531 this.entries.length = 0; 25532 parseSearchParams(this.entries, query); 25533}; 25534 25535var validateArgumentsLength = function (passed, required) { 25536 if (passed < required) throw TypeError('Not enough arguments'); 25537}; 25538 25539var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { 25540 setInternalState(this, { 25541 type: URL_SEARCH_PARAMS_ITERATOR, 25542 iterator: getIterator(getInternalParamsState(params).entries), 25543 kind: kind 25544 }); 25545}, 'Iterator', function next() { 25546 var state = getInternalIteratorState(this); 25547 var kind = state.kind; 25548 var step = state.iterator.next(); 25549 var entry = step.value; 25550 if (!step.done) { 25551 step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; 25552 } return step; 25553}); 25554 25555// `URLSearchParams` constructor 25556// https://url.spec.whatwg.org/#interface-urlsearchparams 25557var URLSearchParamsConstructor = function URLSearchParams(/* init */) { 25558 anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); 25559 var init = arguments.length > 0 ? arguments[0] : undefined; 25560 var that = this; 25561 var entries = []; 25562 var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; 25563 25564 setInternalState(that, { 25565 type: URL_SEARCH_PARAMS, 25566 entries: entries, 25567 updateURL: function () { /* empty */ }, 25568 updateSearchParams: updateSearchParams 25569 }); 25570 25571 if (init !== undefined) { 25572 if (isObject(init)) { 25573 iteratorMethod = getIteratorMethod(init); 25574 if (typeof iteratorMethod === 'function') { 25575 iterator = iteratorMethod.call(init); 25576 next = iterator.next; 25577 while (!(step = next.call(iterator)).done) { 25578 entryIterator = getIterator(anObject(step.value)); 25579 entryNext = entryIterator.next; 25580 if ( 25581 (first = entryNext.call(entryIterator)).done || 25582 (second = entryNext.call(entryIterator)).done || 25583 !entryNext.call(entryIterator).done 25584 ) throw TypeError('Expected sequence with length 2'); 25585 entries.push({ key: first.value + '', value: second.value + '' }); 25586 } 25587 } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); 25588 } else { 25589 parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); 25590 } 25591 } 25592}; 25593 25594var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; 25595 25596redefineAll(URLSearchParamsPrototype, { 25597 // `URLSearchParams.prototype.append` method 25598 // https://url.spec.whatwg.org/#dom-urlsearchparams-append 25599 append: function append(name, value) { 25600 validateArgumentsLength(arguments.length, 2); 25601 var state = getInternalParamsState(this); 25602 state.entries.push({ key: name + '', value: value + '' }); 25603 state.updateURL(); 25604 }, 25605 // `URLSearchParams.prototype.delete` method 25606 // https://url.spec.whatwg.org/#dom-urlsearchparams-delete 25607 'delete': function (name) { 25608 validateArgumentsLength(arguments.length, 1); 25609 var state = getInternalParamsState(this); 25610 var entries = state.entries; 25611 var key = name + ''; 25612 var index = 0; 25613 while (index < entries.length) { 25614 if (entries[index].key === key) entries.splice(index, 1); 25615 else index++; 25616 } 25617 state.updateURL(); 25618 }, 25619 // `URLSearchParams.prototype.get` method 25620 // https://url.spec.whatwg.org/#dom-urlsearchparams-get 25621 get: function get(name) { 25622 validateArgumentsLength(arguments.length, 1); 25623 var entries = getInternalParamsState(this).entries; 25624 var key = name + ''; 25625 var index = 0; 25626 for (; index < entries.length; index++) { 25627 if (entries[index].key === key) return entries[index].value; 25628 } 25629 return null; 25630 }, 25631 // `URLSearchParams.prototype.getAll` method 25632 // https://url.spec.whatwg.org/#dom-urlsearchparams-getall 25633 getAll: function getAll(name) { 25634 validateArgumentsLength(arguments.length, 1); 25635 var entries = getInternalParamsState(this).entries; 25636 var key = name + ''; 25637 var result = []; 25638 var index = 0; 25639 for (; index < entries.length; index++) { 25640 if (entries[index].key === key) result.push(entries[index].value); 25641 } 25642 return result; 25643 }, 25644 // `URLSearchParams.prototype.has` method 25645 // https://url.spec.whatwg.org/#dom-urlsearchparams-has 25646 has: function has(name) { 25647 validateArgumentsLength(arguments.length, 1); 25648 var entries = getInternalParamsState(this).entries; 25649 var key = name + ''; 25650 var index = 0; 25651 while (index < entries.length) { 25652 if (entries[index++].key === key) return true; 25653 } 25654 return false;
25655 }, 25656 // `URLSearchParams.prototype.set` method 25657 // https://url.spec.whatwg.org/#dom-urlsearchparams-set 25658 set: function set(name, value) { 25659 validateArgumentsLength(arguments.length, 1); 25660 var state = getInternalParamsState(this); 25661 var entries = state.entries; 25662 var found = false; 25663 var key = name + ''; 25664 var val = value + ''; 25665 var index = 0; 25666 var entry; 25667 for (; index < entries.length; index++) { 25668 entry = entries[index]; 25669 if (entry.key === key) { 25670 if (found) entries.splice(index--, 1); 25671 else { 25672 found = true; 25673 entry.value = val; 25674 } 25675 } 25676 } 25677 if (!found) entries.push({ key: key, value: val }); 25678 state.updateURL(); 25679 }, 25680 // `URLSearchParams.prototype.sort` method 25681 // https://url.spec.whatwg.org/#dom-urlsearchparams-sort 25682 sort: function sort() { 25683 var state = getInternalParamsState(this); 25684 var entries = state.entries; 25685 // Array#sort is not stable in some engines 25686 var slice = entries.slice(); 25687 var entry, entriesIndex, sliceIndex; 25688 entries.length = 0; 25689 for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { 25690 entry = slice[sliceIndex]; 25691 for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { 25692 if (entries[entriesIndex].key > entry.key) { 25693 entries.splice(entriesIndex, 0, entry); 25694 break; 25695 } 25696 } 25697 if (entriesIndex === sliceIndex) entries.push(entry); 25698 } 25699 state.updateURL(); 25700 }, 25701 // `URLSearchParams.prototype.forEach` method 25702 forEach: function forEach(callback /* , thisArg */) { 25703 var entries = getInternalParamsState(this).entries; 25704 var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); 25705 var index = 0; 25706 var entry; 25707 while (index < entries.length) { 25708 entry = entries[index++]; 25709 boundFunction(entry.value, entry.key, this); 25710 } 25711 }, 25712 // `URLSearchParams.prototype.keys` method 25713 keys: function keys() { 25714 return new URLSearchParamsIterator(this, 'keys'); 25715 }, 25716 // `URLSearchParams.prototype.values` method 25717 values: function values() { 25718 return new URLSearchParamsIterator(this, 'values'); 25719 }, 25720 // `URLSearchParams.prototype.entries` method 25721 entries: function entries() { 25722 return new URLSearchParamsIterator(this, 'entries'); 25723 } 25724}, { enumerable: true }); 25725 25726// `URLSearchParams.prototype[@@iterator]` method 25727redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); 25728 25729// `URLSearchParams.prototype.toString` method 25730// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior 25731redefine(URLSearchParamsPrototype, 'toString', function toString() { 25732 var entries = getInternalParamsState(this).entries; 25733 var result = []; 25734 var index = 0; 25735 var entry; 25736 while (index < entries.length) { 25737 entry = entries[index++]; 25738 result.push(serialize(entry.key) + '=' + serialize(entry.value)); 25739 } return result.join('&'); 25740}, { enumerable: true }); 25741 25742setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); 25743 25744$({ global: true, forced: !USE_NATIVE_URL }, { 25745 URLSearchParams: URLSearchParamsConstructor 25746}); 25747 25748// Wrap `fetch` for correct work with polyfilled `URLSearchParams` 25749// https://github.com/zloirock/core-js/issues/674 25750if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { 25751 $({ global: true, enumerable: true, forced: true }, { 25752 fetch: function fetch(input /* , init */) { 25753 var args = [input]; 25754 var init, body, headers; 25755 if (arguments.length > 1) { 25756 init = arguments[1]; 25757 if (isObject(init)) { 25758 body = init.body; 25759 if (classof(body) === URL_SEARCH_PARAMS) { 25760 headers = init.headers ? new Headers(init.headers) : new Headers(); 25761 if (!headers.has('content-type')) { 25762 headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); 25763 } 25764 init = create(init, { 25765 body: createPropertyDescriptor(0, String(body)), 25766 headers: createPropertyDescriptor(0, headers) 25767 }); 25768 } 25769 } 25770 args.push(init); 25771 } return $fetch.apply(this, args); 25772 } 25773 }); 25774} 25775 25776module.exports = { 25777 URLSearchParams: URLSearchParamsConstructor, 25778 getState: getInternalParamsState 25779}; 25780 25781 25782/***/ }), 25783/* 394 */ 25784/***/ (function(module, exports, __webpack_require__) { 25785 25786"use strict"; 25787/* WEBPACK VAR INJECTION */(function(process) { 25788 25789if (typeof process === 'undefined' || 25790 !process.version || 25791 process.version.indexOf('v0.') === 0 || 25792 process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { 25793 module.exports = { nextTick: nextTick }; 25794} else { 25795 module.exports = process 25796} 25797 25798function nextTick(fn, arg1, arg2, arg3) { 25799 if (typeof fn !== 'function') { 25800 throw new TypeError('"callback" argument must be a function'); 25801 } 25802 var len = arguments.length; 25803 var args, i; 25804 switch (len) { 25805 case 0: 25806 case 1: 25807 return process.nextTick(fn); 25808 case 2: 25809 return process.nextTick(function afterTickOne() { 25810 fn.call(null, arg1); 25811 }); 25812 case 3: 25813 return process.nextTick(function afterTickTwo() { 25814 fn.call(null, arg1, arg2); 25815 }); 25816 case 4: 25817 return process.nextTick(function afterTickThree() { 25818 fn.call(null, arg1, arg2, arg3); 25819 }); 25820 default: 25821 args = new Array(len - 1); 25822 i = 0; 25823 while (i < args.length) { 25824 args[i++] = arguments[i]; 25825 } 25826 return process.nextTick(function afterTick() {
25827 fn.apply(null, args); 25828 }); 25829 } 25830} 25831 25832 25833/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57))) 25834 25835/***/ }), 25836/* 395 */ 25837/***/ (function(module, exports, __webpack_require__) { 25838 25839"use strict"; 25840 25841 25842 25843var TYPED_OK = (typeof Uint8Array !== 'undefined') && 25844 (typeof Uint16Array !== 'undefined') && 25845 (typeof Int32Array !== 'undefined'); 25846 25847function _has(obj, key) { 25848 return Object.prototype.hasOwnProperty.call(obj, key); 25849} 25850 25851exports.assign = function (obj /*from1, from2, from3, ...*/) { 25852 var sources = Array.prototype.slice.call(arguments, 1); 25853 while (sources.length) { 25854 var source = sources.shift(); 25855 if (!source) { continue; } 25856 25857 if (typeof source !== 'object') { 25858 throw new TypeError(source + 'must be non-object'); 25859 } 25860 25861 for (var p in source) { 25862 if (_has(source, p)) { 25863 obj[p] = source[p]; 25864 } 25865 } 25866 } 25867 25868 return obj; 25869}; 25870 25871 25872// reduce buffer size, avoiding mem copy 25873exports.shrinkBuf = function (buf, size) { 25874 if (buf.length === size) { return buf; } 25875 if (buf.subarray) { return buf.subarray(0, size); } 25876 buf.length = size; 25877 return buf; 25878}; 25879 25880 25881var fnTyped = { 25882 arraySet: function (dest, src, src_offs, len, dest_offs) { 25883 if (src.subarray && dest.subarray) { 25884 dest.set(src.subarray(src_offs, src_offs + len), dest_offs); 25885 return; 25886 } 25887 // Fallback to ordinary array 25888 for (var i = 0; i < len; i++) { 25889 dest[dest_offs + i] = src[src_offs + i]; 25890 } 25891 }, 25892 // Join array of chunks to single array. 25893 flattenChunks: function (chunks) { 25894 var i, l, len, pos, chunk, result; 25895 25896 // calculate data length 25897 len = 0; 25898 for (i = 0, l = chunks.length; i < l; i++) { 25899 len += chunks[i].length; 25900 } 25901 25902 // join chunks 25903 result = new Uint8Array(len); 25904 pos = 0; 25905 for (i = 0, l = chunks.length; i < l; i++) { 25906 chunk = chunks[i]; 25907 result.set(chunk, pos); 25908 pos += chunk.length; 25909 } 25910 25911 return result; 25912 } 25913}; 25914 25915var fnUntyped = { 25916 arraySet: function (dest, src, src_offs, len, dest_offs) { 25917 for (var i = 0; i < len; i++) { 25918 dest[dest_offs + i] = src[src_offs + i]; 25919 } 25920 }, 25921 // Join array of chunks to single array. 25922 flattenChunks: function (chunks) { 25923 return [].concat.apply([], chunks); 25924 } 25925}; 25926 25927 25928// Enable/Disable typed arrays use, for testing 25929// 25930exports.setTyped = function (on) { 25931 if (on) { 25932 exports.Buf8 = Uint8Array; 25933 exports.Buf16 = Uint16Array; 25934 exports.Buf32 = Int32Array; 25935 exports.assign(exports, fnTyped); 25936 } else { 25937 exports.Buf8 = Array; 25938 exports.Buf16 = Array; 25939 exports.Buf32 = Array; 25940 exports.assign(exports, fnUntyped); 25941 } 25942}; 25943 25944exports.setTyped(TYPED_OK); 25945 25946 25947/***/ }), 25948/* 396 */, 25949/* 397 */, 25950/* 398 */, 25951/* 399 */ 25952/***/ (function(module, __webpack_exports__, __webpack_require__) { 25953 25954"use strict"; 25955 25956// EXPORTS 25957__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ EventBusContext; }); 25958__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ EventBusProviderbabel_target_legacy_EventBusProvider; }); 25959 25960// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 25961var preact_modulebabel_target_legacy = __webpack_require__(1); 25962 25963// CONCATENATED MODULE: ./node_modules/mitt/dist/mitt.es.js?babel-target=legacy 25964// 25965// An event handler can take an optional event argument 25966// and should not return a value 25967 25968 25969 25970// An array of all currently registered event handlers for a type 25971 25972 25973// A map of event types and their corresponding event handlers. 25974 25975 25976 25977 25978 25979/** Mitt: Tiny (~200b) functional event emitter / pubsub. 25980 * @name mitt 25981 * @returns {Mitt} 25982 */ 25983function mitt(all ) { 25984 all = all || Object.create(null); 25985 25986 return { 25987 /** 25988 * Register an event handler for the given type. 25989 * 25990 * @param {String} type Type of event to listen for, or `"*"` for all events 25991 * @param {Function} handler Function to call in response to given event 25992 * @memberOf mitt 25993 */ 25994 on: function on(type , handler ) { 25995 (all[type] || (all[type] = [])).push(handler); 25996 }, 25997 25998 /** 25999 * Remove an event handler for the given type. 26000 * 26001 * @param {String} type Type of event to unregister `handler` from, or `"*"` 26002 * @param {Function} handler Handler function to remove 26003 * @memberOf mitt 26004 */ 26005 off: function off(type , handler ) { 26006 if (all[type]) { 26007 all[type].splice(all[type].indexOf(handler) >>> 0, 1); 26008 } 26009 }, 26010 26011 /** 26012 * Invoke all handlers for the given type. 26013 * If present, `"*"` handlers are invoked after type-matched handlers. 26014 * 26015 * @param {String} type The event type to invoke 26016 * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler 26017 * @memberOf mitt 26018 */ 26019 emit: function emit(type , evt ) { 26020 (all[type] || []).slice().map(function (handler) { handler(evt); }); 26021 (all['*'] || []).slice().map(function (handler) { handler(type, evt); }); 26022 } 26023 }; 26024} 26025 26026/* harmony default export */ var mitt_esbabel_target_legacy = (mitt); 26027//# sourceMappingURL=mitt.es.js.map 26028 26029// CONCATENATED MODULE: ./src/lib/EventBus/EventBusProvider.tsx?babel-target=legacy 26030 26031 26032var EventBusContext = Object(preact_modulebabel_target_legacy["createContext"])(undefined); 26033var EventBusProviderbabel_target_legacy_EventBusProvider = function EventBusProvider(_ref) { 26034 var children = _ref.children; 26035 var emitter = new mitt_esbabel_target_legacy(); 26036 return Object(preact_modulebabel_target_legacy["h"])(EventBusContext.Provider, { 26037 value: emitter 26038 }, children); 26039}; 26040/* harmony default export */ var EventBusProviderbabel_target_legacy = (EventBusProviderbabel_target_legacy_EventBusProvider); 26041 26042/***/ }), 26043/* 400 */, 26044/* 401 */, 26045/* 402 */ 26046/***/ (function(module, __webpack_exports__, __webpack_require__) { 26047 26048"use strict"; 26049/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return APIContext; }); 26050/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); 26051 26052var APIContext = Object(preact__WEBPACK_IMPORTED_MODULE_0__["createContext"])([{
26053 cookie: {}, 26054 faves: [], 26055 hideFavTip: false, 26056 displayFaveNotification: false, 26057 stationlist: {}, 26058 rpId: "", 26059 nowPlayingUrl: "", 26060 searchHistory: [], 26061 mapiUrl: "", 26062 cookieManagerUrl: "", 26063 queryProxyUrl: "", 26064 tcString: "", 26065 cmpConsentFailed: false 26066}, function (action) {}]); 26067 26068/***/ }), 26069/* 403 */ 26070/***/ (function(module, exports, __webpack_require__) { 26071 26072module.exports = { 26073 parse: __webpack_require__(878), 26074 stringify: __webpack_require__(881) 26075}; 26076 26077 26078/***/ }), 26079/* 404 */, 26080/* 405 */ 26081/***/ (function(module, exports, __webpack_require__) { 26082 26083/* WEBPACK VAR INJECTION */(function(global) {var fetchApi 26084if (typeof fetch === 'function') { 26085 if (typeof global !== 'undefined' && global.fetch) { 26086 fetchApi = global.fetch 26087 } else if (typeof window !== 'undefined' && window.fetch) { 26088 fetchApi = window.fetch 26089 } else { 26090 fetchApi = fetch 26091 } 26092} 26093 26094if ( true && (typeof window === 'undefined' || typeof window.document === 'undefined')) { 26095 var f = fetchApi || __webpack_require__(897) 26096 if (f.default) f = f.default 26097 exports.default = f 26098 module.exports = exports.default 26099} 26100 26101/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 26102 26103/***/ }), 26104/* 406 */ 26105/***/ (function(module, exports, __webpack_require__) { 26106 26107var $ = __webpack_require__(2); 26108var assign = __webpack_require__(373); 26109 26110// `Object.assign` method 26111// https://tc39.github.io/ecma262/#sec-object.assign 26112$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { 26113 assign: assign 26114}); 26115 26116 26117/***/ }), 26118/* 407 */, 26119/* 408 */, 26120/* 409 */, 26121/* 410 */ 26122/***/ (function(module, exports, __webpack_require__) { 26123 26124"use strict"; 26125 26126var $ = __webpack_require__(2); 26127var toAbsoluteIndex = __webpack_require__(114); 26128var toInteger = __webpack_require__(73); 26129var toLength = __webpack_require__(28); 26130var toObject = __webpack_require__(33); 26131var arraySpeciesCreate = __webpack_require__(171); 26132var createProperty = __webpack_require__(134); 26133var arrayMethodHasSpeciesSupport = __webpack_require__(175); 26134var arrayMethodUsesToLength = __webpack_require__(63); 26135 26136var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); 26137var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); 26138 26139var max = Math.max; 26140var min = Math.min; 26141var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 26142var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; 26143 26144// `Array.prototype.splice` method 26145// https://tc39.github.io/ecma262/#sec-array.prototype.splice 26146// with adding support of @@species 26147$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 26148 splice: function splice(start, deleteCount /* , ...items */) { 26149 var O = toObject(this); 26150 var len = toLength(O.length); 26151 var actualStart = toAbsoluteIndex(start, len); 26152 var argumentsLength = arguments.length; 26153 var insertCount, actualDeleteCount, A, k, from, to; 26154 if (argumentsLength === 0) { 26155 insertCount = actualDeleteCount = 0; 26156 } else if (argumentsLength === 1) { 26157 insertCount = 0; 26158 actualDeleteCount = len - actualStart; 26159 } else { 26160 insertCount = argumentsLength - 2; 26161 actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); 26162 } 26163 if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { 26164 throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); 26165 } 26166 A = arraySpeciesCreate(O, actualDeleteCount); 26167 for (k = 0; k < actualDeleteCount; k++) { 26168 from = actualStart + k; 26169 if (from in O) createProperty(A, k, O[from]); 26170 } 26171 A.length = actualDeleteCount; 26172 if (insertCount < actualDeleteCount) { 26173 for (k = actualStart; k < len - actualDeleteCount; k++) { 26174 from = k + actualDeleteCount; 26175 to = k + insertCount; 26176 if (from in O) O[to] = O[from]; 26177 else delete O[to]; 26178 } 26179 for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; 26180 } else if (insertCount > actualDeleteCount) { 26181 for (k = len - actualDeleteCount; k > actualStart; k--) { 26182 from = k + actualDeleteCount - 1; 26183 to = k + insertCount - 1; 26184 if (from in O) O[to] = O[from]; 26185 else delete O[to]; 26186 } 26187 } 26188 for (k = 0; k < insertCount;
vendor: 5,336 bytes, lines 26188-26342
26188 k++) { 26189 O[k + actualStart] = arguments[k + 2]; 26190 } 26191 O.length = len - actualDeleteCount + insertCount; 26192 return A; 26193 } 26194}); 26195 26196 26197/***/ }), 26198/* 411 */ 26199/***/ (function(module, exports, __webpack_require__) { 26200 26201"use strict"; 26202 26203var DESCRIPTORS = __webpack_require__(21); 26204var global = __webpack_require__(16); 26205var isForced = __webpack_require__(169); 26206var redefine = __webpack_require__(54); 26207var has = __webpack_require__(35); 26208var classof = __webpack_require__(101); 26209var inheritIfRequired = __webpack_require__(226); 26210var toPrimitive = __webpack_require__(79); 26211var fails = __webpack_require__(11); 26212var create = __webpack_require__(92); 26213var getOwnPropertyNames = __webpack_require__(132).f; 26214var getOwnPropertyDescriptor = __webpack_require__(51).f; 26215var defineProperty = __webpack_require__(30).f; 26216var trim = __webpack_require__(149).trim; 26217 26218var NUMBER = 'Number'; 26219var NativeNumber = global[NUMBER]; 26220var NumberPrototype = NativeNumber.prototype; 26221 26222// Opera ~12 has broken Object#toString 26223var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; 26224 26225// `ToNumber` abstract operation 26226// https://tc39.github.io/ecma262/#sec-tonumber 26227var toNumber = function (argument) { 26228 var it = toPrimitive(argument, false); 26229 var first, third, radix, maxCode, digits, length, index, code; 26230 if (typeof it == 'string' && it.length > 2) { 26231 it = trim(it); 26232 first = it.charCodeAt(0); 26233 if (first === 43 || first === 45) { 26234 third = it.charCodeAt(2); 26235 if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 26236 } else if (first === 48) { 26237 switch (it.charCodeAt(1)) { 26238 case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i 26239 case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i 26240 default: return +it; 26241 } 26242 digits = it.slice(2); 26243 length = digits.length; 26244 for (index = 0; index < length; index++) { 26245 code = digits.charCodeAt(index); 26246 // parseInt parses a string to a first unavailable symbol 26247 // but ToNumber should return NaN if a string contains unavailable symbols 26248 if (code < 48 || code > maxCode) return NaN; 26249 } return parseInt(digits, radix); 26250 } 26251 } return +it; 26252}; 26253 26254// `Number` constructor 26255// https://tc39.github.io/ecma262/#sec-number-constructor 26256if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { 26257 var NumberWrapper = function Number(value) { 26258 var it = arguments.length < 1 ? 0 : value; 26259 var dummy = this; 26260 return dummy instanceof NumberWrapper 26261 // check on 1..constructor(foo) case 26262 && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) 26263 ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); 26264 }; 26265 for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( 26266 // ES3: 26267 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 26268 // ES2015 (in case, if modules with ES2015 Number statics required before): 26269 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 26270 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' 26271 ).split(','), j = 0, key; keys.length > j; j++) { 26272 if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { 26273 defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); 26274 } 26275 } 26276 NumberWrapper.prototype = NumberPrototype; 26277 NumberPrototype.constructor = NumberWrapper; 26278 redefine(global, NUMBER, NumberWrapper); 26279} 26280 26281 26282/***/ }), 26283/* 412 */ 26284/***/ (function(module, exports, __webpack_require__) { 26285 26286var arrayLikeToArray = __webpack_require__(463); 26287 26288function _unsupportedIterableToArray(o, minLen) { 26289 if (!o) return; 26290 if (typeof o === "string") return arrayLikeToArray(o, minLen); 26291 var n = Object.prototype.toString.call(o).slice(8, -1); 26292 if (n === "Object" && o.constructor) n = o.constructor.name; 26293 if (n === "Map" || n === "Set") return Array.from(o); 26294 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); 26295} 26296 26297module.exports = _unsupportedIterableToArray; 26298 26299/***/ }), 26300/* 413 */, 26301/* 414 */, 26302/* 415 */, 26303/* 416 */ 26304/***/ (function(module, __webpack_exports__, __webpack_require__) { 26305 26306"use strict"; 26307/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); 26308 26309 26310/** 26311 * Removes `-` fron a string and capetalize the letter after 26312 * example: data-props-hello-world => dataPropsHelloWorld 26313 * Used for props passed from host DOM element 26314 * @param {String} str string 26315 * @return {String} Capetalized string 26316 */ 26317var camelcasize = function (str) { 26318 return str.replace(/-([a-z])/gi, function (all, letter) { 26319 return letter.toUpperCase(); 26320 }); 26321}; 26322 26323/** 26324 * [getExecutedScript internal widget to provide the currently executed script] 26325 * @param {document} document [Browser document object] 26326 * @return {HTMLElement} [script Element] 26327 */ 26328var getExecutedScript = function () { 26329 return ( 26330 document.currentScript || 26331 (function () { 26332 var scripts = document.getElementsByTagName("script"); 26333 return scripts[scripts.length - 1]; 26334 })() 26335 ); 26336}; 26337 26338/** 26339 * Get the props from a host element's data attributes 26340 * @param {Element} tag The host element 26341 * @return {Object} props object to be passed to the component 26342 */
26343var collectPropsFromElement = function (element, defaultProps) { 26344 if ( defaultProps === void 0 ) defaultProps = {}; 26345 26346 var attrs = element.attributes; 26347 26348 var props = Object.assign({}, defaultProps); 26349 26350 // collect from element 26351 Object.keys(attrs).forEach(function (key) { 26352 if (attrs.hasOwnProperty(key)) { 26353 var dataAttrName = attrs[key].name; 26354 if (!dataAttrName || typeof dataAttrName !== "string") { 26355 return false; 26356 } 26357 var propName = dataAttrName.split(/(data-props?-)/).pop() || ''; 26358 propName = camelcasize(propName); 26359 if (dataAttrName !== propName) { 26360 var propValue = attrs[key].nodeValue; 26361 props[propName] = propValue; 26362 } 26363 } 26364 }); 26365 26366 // check for child script text/props or application/json 26367 [].forEach.call(element.getElementsByTagName('script'), function (scrp) { 26368 var propsObj = {}; 26369 if(scrp.hasAttribute('type')) { 26370 if ( 26371 scrp.getAttribute("type") !== "text/props" && 26372 scrp.getAttribute("type") !== "application/json" 26373 ) 26374 { return; } 26375 try { 26376 propsObj = JSON.parse(scrp.innerHTML); 26377 } catch(e) { 26378 throw new Error(e) 26379 } 26380 Object.assign(props, propsObj); 26381 } 26382 }); 26383 26384 return props; 26385}; 26386 26387var getHabitatSelectorFromClient = function (currentScript) { 26388 var scriptTagAttrs = currentScript.attributes; 26389 var selector = null; 26390 // check for another props attached to the tag 26391 Object.keys(scriptTagAttrs).forEach(function (key) { 26392 if (scriptTagAttrs.hasOwnProperty(key)) { 26393 var dataAttrName = scriptTagAttrs[key].name; 26394 if (dataAttrName === 'data-mount-in') { 26395 selector = scriptTagAttrs[key].nodeValue; 26396 } 26397 } 26398 }); 26399 return selector 26400}; 26401 26402/** 26403 * Return array of 0 or more elements that will host our widget 26404 * @param {id} attrId the data widget id attribute the host should have 26405 * @param {document} scope Docuemnt object or DOM Element as a scope 26406 * @return {Array} Array of matching habitats 26407 */ 26408var widgetDOMHostElements = function ( 26409 ref 26410) { 26411 var selector = ref.selector; 26412 var inline = ref.inline; 26413 var clientSpecified = ref.clientSpecified; 26414 26415 var hostNodes = []; 26416 var currentScript = getExecutedScript(); 26417 26418 if (inline === true) { 26419 var parentNode = currentScript.parentNode; 26420 hostNodes.push(parentNode); 26421 } 26422 if (clientSpecified === true && !selector) { 26423 // user did not specify where to mount - get it from script tag attributes 26424 selector = getHabitatSelectorFromClient(currentScript); 26425 } 26426 if (selector) { 26427 [].forEach.call(document.querySelectorAll(selector), function (queriedTag) { 26428 hostNodes.push(queriedTag); 26429 }); 26430 } 26431 return hostNodes; 26432}; 26433 26434/** 26435 * preact render function that will be queued if the DOM is not ready 26436 * and executed immeidatly if DOM is ready 26437 */ 26438var preactRender = function (widget, hostElements, root, cleanRoot, defaultProps) { 26439 hostElements.forEach(function (elm) { 26440 var hostNode = elm; 26441 if (hostNode._habitat) { 26442 return; 26443 } 26444 hostNode._habitat = true; 26445 var props = collectPropsFromElement(elm, defaultProps) || defaultProps; 26446 if(cleanRoot) { 26447 hostNode.innerHTML = ""; 26448 } 26449 return Object(preact__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(preact__WEBPACK_IMPORTED_MODULE_0__["h"])(widget, props), hostNode, root); 26450 }); 26451}; 26452 26453var habitat = function (Widget) { 26454 // Widget represents the Preact component we need to mount 26455 var widget = Widget; 26456 // preact root render helper 26457 var root = null; 26458 26459 var render$$1 = function ( 26460 ref 26461 ) { 26462 if ( ref === void 0 ) ref = {}; 26463 var selector = ref.selector; if ( selector === void 0 ) selector = null; 26464 var inline = ref.inline; if ( inline === void 0 ) inline = false; 26465 var clean = ref.clean; if ( clean === void 0 ) clean = false; 26466 var clientSpecified = ref.clientSpecified; if ( clientSpecified === void 0 ) clientSpecified = false; 26467 var defaultProps = ref.defaultProps; if ( defaultProps === void 0 ) defaultProps = {}; 26468 26469 var elements = widgetDOMHostElements({ 26470 selector: selector, 26471 inline: inline, 26472 clientSpecified: clientSpecified 26473 }); 26474 var loaded = function () { 26475 if (elements.length > 0) { 26476 var elements$1 = widgetDOMHostElements({ 26477 selector: selector, 26478 inline: inline, 26479 clientSpecified: clientSpecified 26480 }); 26481 26482 return preactRender(widget, elements$1, root, clean, defaultProps); 26483 } 26484 }; 26485 loaded(); 26486 document.addEventListener("DOMContentLoaded", loaded); 26487 document.addEventListener("load", loaded); 26488 }; 26489 26490 return { render: render$$1 }; 26491}; 26492 26493/* harmony default export */ __webpack_exports__["a"] = (habitat); 26494//# sourceMappingURL=preact-habitat.es.js.map 26495 26496 26497/***/ }), 26498/* 417 */ 26499/***/ (function(module, exports, __webpack_require__) { 26500 26501// extracted by mini-css-extract-plugin 26502module.exports = {"visuallyHidden":"MiniSongBox-module__visuallyHidden--lEIVv","title":"MiniSongBox-module__title--2fVVU","label":"MiniSongBox-module__label--2y0fv","artist":"MiniSongBox-module__artist--2SSgM","wrap":"MiniSongBox-module__wrap--F5_cw","img":"MiniSongBox-module__img--23HHn"}; 26503 26504/***/ }), 26505/* 418 */, 26506/* 419 */, 26507/* 420 */, 26508/* 421 */, 26509/* 422 */, 26510/* 423 */, 26511/* 424 */, 26512/* 425 */ 26513/***/ (function(module, exports, __webpack_require__) { 26514 26515"use strict"; 26516 26517var $ = __webpack_require__(2); 26518var $every = __webpack_require__(46).every; 26519var arrayMethodIsStrict = __webpack_require__(102); 26520var arrayMethodUsesToLength = __webpack_require__(63); 26521 26522var STRICT_METHOD = arrayMethodIsStrict('every'); 26523var USES_TO_LENGTH = arrayMethodUsesToLength('every'); 26524 26525// `Array.prototype.every` method 26526// https://tc39.github.io/ecma262/#sec-array.prototype.every 26527$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { 26528 every: function every(callbackfn /* , thisArg */) { 26529 return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 26530 } 26531}); 26532 26533 26534/***/ }), 26535/* 426 */ 26536/***/ (function(module, exports, __webpack_require__) { 26537 26538"use strict"; 26539 26540var $ = __webpack_require__(2); 26541var createHTML = __webpack_require__(68); 26542var forcedStringHTMLMethod = __webpack_require__(69); 26543 26544// `String.prototype.link` method 26545// https://tc39.github.io/ecma262/#sec-string.prototype.link 26546$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { 26547 link: function link(url) { 26548 return createHTML(this, 'a', 'href', url); 26549 } 26550}); 26551 26552 26553/***/ }), 26554/* 427 */ 26555/***/ (function(module, exports, __webpack_require__) { 26556 26557var DESCRIPTORS = __webpack_require__(21); 26558var global = __webpack_require__(16); 26559var isForced = __webpack_require__(169); 26560var inheritIfRequired = __webpack_require__(226); 26561var defineProperty = __webpack_require__(30).f; 26562var getOwnPropertyNames = __webpack_require__(132).f; 26563var isRegExp = __webpack_require__(179); 26564var getFlags = __webpack_require__(148); 26565var stickyHelpers = __webpack_require__(222); 26566var redefine = __webpack_require__(54); 26567var fails = __webpack_require__(11); 26568var setInternalState = __webpack_require__(58).set; 26569var setSpecies = __webpack_require__(147); 26570var wellKnownSymbol = __webpack_require__(23); 26571 26572var MATCH = wellKnownSymbol('match'); 26573var NativeRegExp = global.RegExp; 26574var RegExpPrototype = NativeRegExp.prototype; 26575var re1 = /a/g; 26576var re2 = /a/g; 26577 26578// "new" should create a new object, old webkit bug
26579var CORRECT_NEW = new NativeRegExp(re1) !== re1; 26580 26581var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; 26582 26583var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () { 26584 re2[MATCH] = false; 26585 // RegExp constructor can alter flags and IsRegExp works correct with @@match 26586 return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; 26587}))); 26588 26589// `RegExp` constructor 26590// https://tc39.github.io/ecma262/#sec-regexp-constructor 26591if (FORCED) { 26592 var RegExpWrapper = function RegExp(pattern, flags) { 26593 var thisIsRegExp = this instanceof RegExpWrapper; 26594 var patternIsRegExp = isRegExp(pattern); 26595 var flagsAreUndefined = flags === undefined; 26596 var sticky; 26597 26598 if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) { 26599 return pattern; 26600 } 26601 26602 if (CORRECT_NEW) { 26603 if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source; 26604 } else if (pattern instanceof RegExpWrapper) { 26605 if (flagsAreUndefined) flags = getFlags.call(pattern); 26606 pattern = pattern.source; 26607 } 26608 26609 if (UNSUPPORTED_Y) { 26610 sticky = !!flags && flags.indexOf('y') > -1; 26611 if (sticky) flags = flags.replace(/y/g, ''); 26612 } 26613 26614 var result = inheritIfRequired( 26615 CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), 26616 thisIsRegExp ? this : RegExpPrototype, 26617 RegExpWrapper 26618 ); 26619 26620 if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky }); 26621 26622 return result; 26623 }; 26624 var proxy = function (key) { 26625 key in RegExpWrapper || defineProperty(RegExpWrapper, key, { 26626 configurable: true, 26627 get: function () { return NativeRegExp[key]; }, 26628 set: function (it) { NativeRegExp[key] = it; } 26629 }); 26630 }; 26631 var keys = getOwnPropertyNames(NativeRegExp); 26632 var index = 0; 26633 while (keys.length > index) proxy(keys[index++]); 26634 RegExpPrototype.constructor = RegExpWrapper; 26635 RegExpWrapper.prototype = RegExpPrototype; 26636 redefine(global, 'RegExp', RegExpWrapper); 26637} 26638 26639// https://tc39.github.io/ecma262/#sec-get-regexp-@@species 26640setSpecies('RegExp'); 26641 26642 26643/***/ }), 26644/* 428 */, 26645/* 429 */, 26646/* 430 */ 26647/***/ (function(module, __webpack_exports__, __webpack_require__) { 26648 26649"use strict"; 26650/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useEventBus; }); 26651/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 26652/* harmony import */ var _EventBusProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(399); 26653 26654 26655var useEventBus = function useEventBus() { 26656 var emitter = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useContext */ "b"])(_EventBusProvider__WEBPACK_IMPORTED_MODULE_1__[/* EventBusContext */ "a"]); 26657 var emit = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useCallback */ "a"])( // eslint-disable-next-line @typescript-eslint/no-explicit-any 26658 function (type, event) { 26659 return emitter && emitter.emit(type, event); 26660 }, [emitter]); 26661 return { 26662 emit: emit, 26663 emitter: emitter 26664 }; 26665}; 26666 26667/***/ }), 26668/* 431 */ 26669/***/ (function(module, __webpack_exports__, __webpack_require__) { 26670 26671"use strict"; 26672/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SearchHistory; }); 26673/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77); 26674/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__); 26675/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(177); 26676/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_1__); 26677/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); 26678/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__); 26679/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1); 26680/* harmony import */ var _lib_APIManager_useAPI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44); 26681/* harmony import */ var _RPIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42); 26682/* harmony import */ var _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(108); 26683/* harmony import */ var _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6__); 26684 26685 26686 26687 26688 26689 26690 26691var SearchHistory = function SearchHistory(_ref) { 26692 var title = _ref.title, 26693 showSearchResults = _ref.showSearchResults; 26694 26695 var _useAPI = Object(_lib_APIManager_useAPI__WEBPACK_IMPORTED_MODULE_4__[/* useAPI */ "a"])(), 26696 _useAPI2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useAPI, 1), 26697 state = _useAPI2[0]; 26698 26699 var searchHistory = state.searchHistory;
26699 // Only display the three most recent searches 26700 26701 var recentSearches = searchHistory && searchHistory.length > 3 ? searchHistory.slice(0, 3) : searchHistory; 26702 26703 var renderSearchHistory = function renderSearchHistory() { 26704 return Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("div", null, title && Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("h3", { 26705 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.searchHistoryTitle 26706 }, title), Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("div", { 26707 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.searchHistoryList 26708 }, recentSearches.map(function (term, index) { 26709 return Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("button", { 26710 key: "search-history-".concat(index), 26711 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.searchHistoryButton, 26712 onClick: function onClick(e) { 26713 return showSearchResults(term, true); 26714 } 26715 }, Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("span", { 26716 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.wrapper 26717 }, Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("span", { 26718 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.term 26719 }, term), Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])("span", { 26720 className: _SearchHistory_module_scss__WEBPACK_IMPORTED_MODULE_6___default.a.icon 26721 }, Object(preact__WEBPACK_IMPORTED_MODULE_3__["h"])(_RPIcon__WEBPACK_IMPORTED_MODULE_5__[/* RPIcon */ "a"], { 26722 src: __webpack_require__(468), 26723 "aria-hidden": true 26724 })))); 26725 }))); 26726 }; 26727 26728 return searchHistory && searchHistory.length > 0 ? renderSearchHistory() : null; 26729}; 26730 26731/***/ }), 26732/* 432 */, 26733/* 433 */ 26734/***/ (function(module, __webpack_exports__, __webpack_require__) { 26735 26736"use strict"; 26737 26738// EXPORTS 26739__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ PlayButtonbabel_target_legacy_PlayButton; }); 26740 26741// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 26742var extendsbabel_target_legacy = __webpack_require__(50); 26743var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 26744 26745// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 26746var definePropertybabel_target_legacy = __webpack_require__(15); 26747var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 26748 26749// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 26750var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 26751var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 26752 26753// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 26754var preact_modulebabel_target_legacy = __webpack_require__(1); 26755 26756// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 26757var RPIconbabel_target_legacy = __webpack_require__(42); 26758 26759// EXTERNAL MODULE: ./src/components/PlayButton/PlayButton.module.scss 26760var PlayButton_module = __webpack_require__(243); 26761var PlayButton_module_default = /*#__PURE__*/__webpack_require__.n(PlayButton_module); 26762 26763// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 26764var classnames_babel_target_legacy = __webpack_require__(27); 26765var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 26766 26767// CONCATENATED MODULE: ./src/components/PlayButton/PlayButton.tsx?babel-target=legacy 26768 26769 26770 26771 26772 26773 26774 26775var svgs = { 26776 play: __webpack_require__(884), 26777 pause: __webpack_require__(885), 26778 stop: __webpack_require__(886), 26779 embeddedPlay: __webpack_require__(887), 26780 embeddedPause: __webpack_require__(731), 26781 embeddedStop: __webpack_require__(731) // TODO: Need Stop Icon 26782 26783}; 26784var PlayButtonbabel_target_legacy_PlayButton = function PlayButton(_ref) { 26785 var _ref$colour = _ref.colour, 26786 colour = _ref$colour === void 0 ? "currentColor" : _ref$colour, 26787 _ref$type = _ref.type, 26788 type = _ref$type === void 0 ? "play" : _ref$type, 26789 onPressPlay = _ref.onPressPlay, 26790 pulsate = _ref.pulsate, 26791 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["colour", "type", "onPressPlay", "pulsate"]); 26792 26793 return Object(preact_modulebabel_target_legacy["h"])("button", extendsbabel_target_legacy_default()({ 26794 className: classnames_babel_target_legacy_default()(PlayButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, PlayButton_module_default.a.pulsate, pulsate)) 26795 }, props, { 26796 "aria-label": type, 26797 onClick: function onClick() { 26798 return onPressPlay && onPressPlay(type === "play"); 26799 } 26800 }), Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 26801 "aria-hidden": "true", 26802 src: svgs[type], 26803 colour: colour 26804 })); 26805}; 26806/* harmony default export */ var PlayButtonbabel_target_legacy = (PlayButtonbabel_target_legacy_PlayButton); 26807// CONCATENATED MODULE: ./src/components/PlayButton/index.ts?babel-target=legacy 26808 26809 26810/***/ }), 26811/* 434 */, 26812/* 435 */ 26813/***/ (function(module, __webpack_exports__, __webpack_require__) { 26814 26815"use strict"; 26816 26817// EXPORTS 26818__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ TabBarbabel_target_legacy_TabBar; }); 26819 26820// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 26821var es_array_mapbabel_target_legacy = __webpack_require__(77); 26822 26823// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 26824var preact_modulebabel_target_legacy = __webpack_require__(1); 26825 26826// EXTERNAL MODULE: ./src/components/TabBar/TabBar.module.scss 26827var TabBar_module = __webpack_require__(141); 26828var TabBar_module_default = /*#__PURE__*/__webpack_require__.n(TabBar_module); 26829 26830// CONCATENATED MODULE: ./src/components/TabBar/TabBar.tsx?babel-target=legacy 26831 26832 26833 26834var TabBarbabel_target_legacy_TabBar = function TabBar(_ref) { 26835 var items = _ref.items, 26836 affix = _ref.affix, 26837 selectedItem = _ref.selectedItem, 26838 _ref$renderLabel = _ref.renderLabel, 26839 renderLabel = _ref$renderLabel === void 0 ? function (a) { 26840 return a; 26841 } : _ref$renderLabel, 26842 onChangeTab = _ref.onChangeTab; 26843 return Object(preact_modulebabel_target_legacy["h"])("div", { 26844 role: "tablist", 26845 className: TabBar_module_default.a.wrap 26846 }, items.map(function (item, index) { 26847 return Object(preact_modulebabel_target_legacy["h"])("button", { 26848 key: item, 26849 role: "tab", 26850 onClick: function onClick() { 26851 return onChangeTab(index); 26852 }, 26853 "aria-selected": index === selectedItem, 26854 className: index === selectedItem ? TabBar_module_default.a.selected : TabBar_module_default.a.tab 26855 }, Object(preact_modulebabel_target_legacy["h"])("span", { 26856 className: "buttonContent" 26857 }, renderLabel(item), affix && affix[index] && Object(preact_modulebabel_target_legacy["h"])("span", { 26858 className: TabBar_module_default.a.affix 26859 }, renderLabel(affix[index] || "")))); 26860 })); 26861}; 26862/* harmony default export */ var TabBarbabel_target_legacy = (TabBarbabel_target_legacy_TabBar); 26863// CONCATENATED MODULE: ./src/components/TabBar/index.ts?babel-target=legacy 26864 26865 26866/***/ }), 26867/* 436 */, 26868/* 437 */, 26869/* 438 */, 26870/* 439 */, 26871/* 440 */, 26872/* 441 */, 26873/* 442 */, 26874/* 443 */, 26875/* 444 */, 26876/* 445 */, 26877/* 446 */, 26878/* 447 */, 26879/* 448 */, 26880/* 449 */, 26881/* 450 */, 26882/* 451 */, 26883/* 452 */, 26884/* 453 */, 26885/* 454 */, 26886/* 455 */ 26887/***/ (function(module, exports, __webpack_require__) { 26888 26889/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== "undefined" && global) || 26890 (typeof self !== "undefined" && self) || 26891 window; 26892var apply = Function.prototype.apply; 26893 26894// DOM APIs, for completeness 26895 26896exports.setTimeout = function() { 26897 return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout); 26898}; 26899exports.setInterval = function() { 26900 return new Timeout(apply.call(setInterval, scope, arguments), clearInterval); 26901}; 26902exports.clearTimeout = 26903exports.clearInterval = function(timeout) { 26904 if (timeout) { 26905 timeout.close(); 26906 } 26907}; 26908 26909function Timeout(id, clearFn) { 26910 this._id = id; 26911 this._clearFn = clearFn; 26912} 26913Timeout.prototype.unref = Timeout.prototype.ref = function() {}; 26914Timeout.prototype.close = function() { 26915 this._clearFn.call(scope, this._id); 26916}; 26917 26918// Does not start the time, just sets up the members needed. 26919exports.enroll = function(item, msecs) { 26920 clearTimeout(item._idleTimeoutId); 26921 item._idleTimeout = msecs; 26922}; 26923 26924exports.unenroll = function(item) { 26925 clearTimeout(item._idleTimeoutId); 26926 item._idleTimeout = -1; 26927}; 26928 26929exports._unrefActive = exports.active = function(item) { 26930 clearTimeout(item._idleTimeoutId); 26931 26932 var msecs = item._idleTimeout; 26933 if (msecs >= 0) { 26934 item._idleTimeoutId = setTimeout(function onTimeout() { 26935 if (item._onTimeout) 26936 item._onTimeout(); 26937 }, msecs); 26938 } 26939}; 26940 26941// setimmediate attaches itself to the global object 26942__webpack_require__(456); 26943// On some exotic environments, it's not clear which object `setimmediate` was 26944// able to install onto. Search each possibility in the same order as the 26945// `setimmediate` library. 26946exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) || 26947 (typeof global !== "undefined" && global.setImmediate) || 26948 (this && this.setImmediate); 26949exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || 26950 (typeof global !== "undefined" && global.clearImmediate) || 26951 (this && this.clearImmediate); 26952 26953/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 26954 26955/***/ }), 26956/* 456 */ 26957/***/ (function(module, exports, __webpack_require__) { 26958 26959/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) { 26960 "use strict"; 26961 26962 if (global.setImmediate) { 26963 return; 26964 } 26965 26966 var nextHandle = 1; // Spec says greater than zero 26967 var tasksByHandle = {}; 26968 var currentlyRunningATask = false;
vendor: 5,701 bytes, lines 26969-27129
26969 var doc = global.document; 26970 var registerImmediate; 26971 26972 function setImmediate(callback) { 26973 // Callback can either be a function or a string 26974 if (typeof callback !== "function") { 26975 callback = new Function("" + callback); 26976 } 26977 // Copy function arguments 26978 var args = new Array(arguments.length - 1); 26979 for (var i = 0; i < args.length; i++) { 26980 args[i] = arguments[i + 1]; 26981 } 26982 // Store and register the task 26983 var task = { callback: callback, args: args }; 26984 tasksByHandle[nextHandle] = task; 26985 registerImmediate(nextHandle); 26986 return nextHandle++; 26987 } 26988 26989 function clearImmediate(handle) { 26990 delete tasksByHandle[handle]; 26991 } 26992 26993 function run(task) { 26994 var callback = task.callback; 26995 var args = task.args; 26996 switch (args.length) { 26997 case 0: 26998 callback(); 26999 break; 27000 case 1: 27001 callback(args[0]); 27002 break; 27003 case 2: 27004 callback(args[0], args[1]); 27005 break; 27006 case 3: 27007 callback(args[0], args[1], args[2]); 27008 break; 27009 default: 27010 callback.apply(undefined, args); 27011 break; 27012 } 27013 } 27014 27015 function runIfPresent(handle) { 27016 // From the spec: "Wait until any invocations of this algorithm started before this one have completed." 27017 // So if we're currently running a task, we'll need to delay this invocation. 27018 if (currentlyRunningATask) { 27019 // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a 27020 // "too much recursion" error. 27021 setTimeout(runIfPresent, 0, handle); 27022 } else { 27023 var task = tasksByHandle[handle]; 27024 if (task) { 27025 currentlyRunningATask = true; 27026 try { 27027 run(task); 27028 } finally { 27029 clearImmediate(handle); 27030 currentlyRunningATask = false; 27031 } 27032 } 27033 } 27034 } 27035 27036 function installNextTickImplementation() { 27037 registerImmediate = function(handle) { 27038 process.nextTick(function () { runIfPresent(handle); }); 27039 }; 27040 } 27041 27042 function canUsePostMessage() { 27043 // The test against `importScripts` prevents this implementation from being installed inside a web worker, 27044 // where `global.postMessage` means something completely different and can't be used for this purpose. 27045 if (global.postMessage && !global.importScripts) { 27046 var postMessageIsAsynchronous = true; 27047 var oldOnMessage = global.onmessage; 27048 global.onmessage = function() { 27049 postMessageIsAsynchronous = false; 27050 }; 27051 global.postMessage("", "*"); 27052 global.onmessage = oldOnMessage; 27053 return postMessageIsAsynchronous; 27054 } 27055 } 27056 27057 function installPostMessageImplementation() { 27058 // Installs an event handler on `global` for the `message` event: see 27059 // * https://developer.mozilla.org/en/DOM/window.postMessage 27060 // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages 27061 27062 var messagePrefix = "setImmediate$" + Math.random() + "$"; 27063 var onGlobalMessage = function(event) { 27064 if (event.source === global && 27065 typeof event.data === "string" && 27066 event.data.indexOf(messagePrefix) === 0) { 27067 runIfPresent(+event.data.slice(messagePrefix.length)); 27068 } 27069 }; 27070 27071 if (global.addEventListener) { 27072 global.addEventListener("message", onGlobalMessage, false); 27073 } else { 27074 global.attachEvent("onmessage", onGlobalMessage); 27075 } 27076 27077 registerImmediate = function(handle) { 27078 global.postMessage(messagePrefix + handle, "*"); 27079 }; 27080 } 27081 27082 function installMessageChannelImplementation() { 27083 var channel = new MessageChannel(); 27084 channel.port1.onmessage = function(event) { 27085 var handle = event.data; 27086 runIfPresent(handle); 27087 }; 27088 27089 registerImmediate = function(handle) { 27090 channel.port2.postMessage(handle); 27091 }; 27092 } 27093 27094 function installReadyStateChangeImplementation() { 27095 var html = doc.documentElement; 27096 registerImmediate = function(handle) { 27097 // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted 27098 // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called. 27099 var script = doc.createElement("script"); 27100 script.onreadystatechange = function () { 27101 runIfPresent(handle); 27102 script.onreadystatechange = null; 27103 html.removeChild(script); 27104 script = null; 27105 }; 27106 html.appendChild(script); 27107 }; 27108 } 27109 27110 function installSetTimeoutImplementation() { 27111 registerImmediate = function(handle) { 27112 setTimeout(runIfPresent, 0, handle); 27113 }; 27114 } 27115 27116 // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live. 27117 var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global); 27118 attachTo = attachTo && attachTo.setTimeout ? attachTo : global; 27119 27120 // Don't get fooled by e.g. browserify environments. 27121 if ({}.toString.call(global.process) === "[object process]") { 27122 // For Node.js before 0.9 27123 installNextTickImplementation(); 27124 27125 } else if (canUsePostMessage()) { 27126 // For non-IE10 modern browsers 27127 installPostMessageImplementation(); 27128 27129 }
27129 else if (global.MessageChannel) { 27130 // For web workers, where supported 27131 installMessageChannelImplementation(); 27132 27133 } else if (doc && "onreadystatechange" in doc.createElement("script")) { 27134 // For IE 6â8 27135 installReadyStateChangeImplementation(); 27136 27137 } else { 27138 // For older browsers 27139 installSetTimeoutImplementation(); 27140 } 27141 27142 attachTo.setImmediate = setImmediate; 27143 attachTo.clearImmediate = clearImmediate; 27144}(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self)); 27145 27146/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34), __webpack_require__(57))) 27147 27148/***/ }), 27149/* 457 */, 27150/* 458 */ 27151/***/ (function(module, exports, __webpack_require__) { 27152 27153var defineWellKnownSymbol = __webpack_require__(62); 27154 27155// `Symbol.iterator` well-known symbol 27156// https://tc39.github.io/ecma262/#sec-symbol.iterator 27157defineWellKnownSymbol('iterator'); 27158 27159 27160/***/ }), 27161/* 459 */ 27162/***/ (function(module, exports, __webpack_require__) { 27163 27164var $ = __webpack_require__(2); 27165var from = __webpack_require__(366); 27166var checkCorrectnessOfIteration = __webpack_require__(215); 27167 27168var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { 27169 Array.from(iterable); 27170}); 27171 27172// `Array.from` method 27173// https://tc39.github.io/ecma262/#sec-array.from 27174$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { 27175 from: from 27176}); 27177 27178 27179/***/ }), 27180/* 460 */ 27181/***/ (function(module, exports, __webpack_require__) { 27182 27183var $ = __webpack_require__(2); 27184var toAbsoluteIndex = __webpack_require__(114); 27185 27186var fromCharCode = String.fromCharCode; 27187var nativeFromCodePoint = String.fromCodePoint; 27188 27189// length should be 1, old FF problem 27190var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; 27191 27192// `String.fromCodePoint` method 27193// https://tc39.github.io/ecma262/#sec-string.fromcodepoint 27194$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { 27195 fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars 27196 var elements = []; 27197 var length = arguments.length; 27198 var i = 0; 27199 var code; 27200 while (length > i) { 27201 code = +arguments[i++]; 27202 if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); 27203 elements.push(code < 0x10000 27204 ? fromCharCode(code) 27205 : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) 27206 ); 27207 } return elements.join(''); 27208 } 27209}); 27210 27211 27212/***/ }), 27213/* 461 */ 27214/***/ (function(module, exports, __webpack_require__) { 27215 27216"use strict"; 27217 27218var $ = __webpack_require__(2); 27219var getOwnPropertyDescriptor = __webpack_require__(51).f; 27220var toLength = __webpack_require__(28); 27221var notARegExp = __webpack_require__(289); 27222var requireObjectCoercible = __webpack_require__(52); 27223var correctIsRegExpLogic = __webpack_require__(290); 27224var IS_PURE = __webpack_require__(72); 27225 27226var nativeStartsWith = ''.startsWith; 27227var min = Math.min; 27228 27229var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); 27230// https://github.com/zloirock/core-js/pull/702 27231var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { 27232 var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); 27233 return descriptor && !descriptor.writable; 27234}(); 27235 27236// `String.prototype.startsWith` method 27237// https://tc39.github.io/ecma262/#sec-string.prototype.startswith 27238$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { 27239 startsWith: function startsWith(searchString /* , position = 0 */) { 27240 var that = String(requireObjectCoercible(this)); 27241 notARegExp(searchString); 27242 var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); 27243 var search = String(searchString); 27244 return nativeStartsWith 27245 ? nativeStartsWith.call(that, search, index) 27246 : that.slice(index, index + search.length) === search; 27247 } 27248}); 27249 27250 27251/***/ }), 27252/* 462 */ 27253/***/ (function(module, exports, __webpack_require__) { 27254 27255var $ = __webpack_require__(2); 27256var getBuiltIn = __webpack_require__(67); 27257var aFunction = __webpack_require__(59); 27258var anObject = __webpack_require__(20); 27259var isObject = __webpack_require__(19); 27260var create = __webpack_require__(92); 27261var bind = __webpack_require__(372); 27262var fails = __webpack_require__(11); 27263 27264var nativeConstruct = getBuiltIn('Reflect', 'construct'); 27265 27266// `Reflect.construct` method 27267// https://tc39.github.io/ecma262/#sec-reflect.construct 27268// MS Edge supports only 2 arguments and argumentsList argument is optional 27269// FF Nightly sets third argument as `new.target`, but does not create `this` from it 27270var NEW_TARGET_BUG = fails(function () { 27271 function F() { /* empty */ } 27272 return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); 27273}); 27274var ARGS_BUG = !fails(function () { 27275 nativeConstruct(function () { /* empty */ }); 27276}); 27277var FORCED = NEW_TARGET_BUG || ARGS_BUG; 27278 27279$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { 27280 construct: function construct(Target, args /* , newTarget */) { 27281 aFunction(Target); 27282 anObject(args); 27283 var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); 27284 if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); 27285 if (Target == newTarget) { 27286 // w/o altered newTarget, optimization for 0-4 arguments 27287 switch (args.length) { 27288 case 0: return new Target(); 27289 case 1: return new Target(args[0]); 27290 case 2: return new Target(args[0], args[1]); 27291 case 3: return new Target(args[0], args[1], args[2]); 27292 case 4: return new Target(args[0], args[1], args[2], args[3]); 27293 } 27294 // w/o altered newTarget, lot of arguments case 27295 var $args = [null]; 27296 $args.push.apply($args, args); 27297 return new (bind.apply(Target, $args))(); 27298 } 27299 // with altered newTarget, not support built-in constructors 27300 var proto = newTarget.prototype; 27301 var instance = create(isObject(proto) ? proto : Object.prototype); 27302 var result = Function.apply.call(Target, instance, args); 27303 return isObject(result) ? result : instance; 27304 } 27305}); 27306 27307 27308/***/ }), 27309/* 463 */
27310/***/ (function(module, exports) { 27311 27312function _arrayLikeToArray(arr, len) { 27313 if (len == null || len > arr.length) len = arr.length; 27314 27315 for (var i = 0, arr2 = new Array(len); i < len; i++) { 27316 arr2[i] = arr[i]; 27317 } 27318 27319 return arr2; 27320} 27321 27322module.exports = _arrayLikeToArray; 27323 27324/***/ }), 27325/* 464 */ 27326/***/ (function(module, exports, __webpack_require__) { 27327 27328"use strict"; 27329 27330 27331var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 27332 27333var _require = __webpack_require__(465), 27334 encodeToBase64 = _require.encodeToBase64, 27335 padRight = _require.padRight; 27336 27337/** 27338 * Encode a list of vendor IDs into bits 27339 * 27340 * @param {integer} maxVendorId Highest vendor ID in the vendor list 27341 * @param {integer[]} allowedVendorIds Vendors that the user has given consent to 27342 */ 27343 27344 27345function encodeVendorIdsToBits(maxVendorId) { 27346 var allowedVendorIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; 27347 27348 var vendorString = ''; 27349 27350 for (var id = 1; id <= maxVendorId; id += 1) { 27351 vendorString += allowedVendorIds.indexOf(id) !== -1 ? '1' : '0'; 27352 } 27353 27354 return padRight(vendorString, Math.max(0, maxVendorId - vendorString.length)); 27355} 27356 27357/** 27358 * Encode a list of purpose IDs into bits 27359 * 27360 * @param {*} purposes List of purposes from the vendor list 27361 * @param {*} allowedPurposeIds List of purpose IDs that the user has given consent to 27362 */ 27363function encodePurposeIdsToBits(purposes) { 27364 var allowedPurposeIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set(); 27365 27366 var maxPurposeId = 0; 27367 for (var i = 0; i < purposes.length; i += 1) { 27368 maxPurposeId = Math.max(maxPurposeId, purposes[i].id); 27369 } 27370 for (var _i = 0; _i < allowedPurposeIds.length; _i += 1) { 27371 maxPurposeId = Math.max(maxPurposeId, allowedPurposeIds[_i]); 27372 } 27373 27374 var purposeString = ''; 27375 for (var id = 1; id <= maxPurposeId; id += 1) { 27376 purposeString += allowedPurposeIds.indexOf(id) !== -1 ? '1' : '0'; 27377 } 27378 27379 return purposeString; 27380} 27381 27382/** 27383 * Convert a list of vendor IDs to ranges 27384 * 27385 * @param {object[]} vendors List of vendors from the vendor list (important: this list must to be sorted by ID) 27386 * @param {integer[]} allowedVendorIds List of vendor IDs that the user has given consent to 27387 */ 27388function convertVendorsToRanges(vendors, allowedVendorIds) { 27389 var range = []; 27390 var ranges = []; 27391 27392 var idsInList = vendors.map(function (vendor) { 27393 return vendor.id; 27394 }); 27395 27396 for (var index = 0; index < vendors.length; index += 1) { 27397 var id = vendors[index].id; 27398 27399 if (allowedVendorIds.indexOf(id) !== -1) { 27400 range.push(id); 27401 } 27402 27403 // Do we need to close the current range? 27404 if ((allowedVendorIds.indexOf(id) === -1 // The vendor we are evaluating is not allowed 27405 || index === vendors.length - 1 // There is no more vendor to evaluate 27406 || idsInList.indexOf(id + 1) === -1 // There is no vendor after this one (ie there is a gap in the vendor IDs) ; we need to stop here to avoid including vendors that do not have consent 27407 ) && range.length) { 27408 var startVendorId = range.shift(); 27409 var endVendorId = range.pop(); 27410 27411 range = []; 27412 27413 ranges.push({ 27414 isRange: typeof endVendorId === 'number', 27415 startVendorId: startVendorId, 27416 endVendorId: endVendorId 27417 }); 27418 } 27419 } 27420 27421 return ranges; 27422} 27423 27424/** 27425 * Get maxVendorId from the list of vendors and return that id 27426 * 27427 * @param {object} vendors 27428 */ 27429function getMaxVendorId(vendors) { 27430 // Find the max vendor ID from the vendor list 27431 var maxVendorId = 0; 27432 27433 vendors.forEach(function (vendor) { 27434 if (vendor.id > maxVendorId) { 27435 maxVendorId = vendor.id; 27436 } 27437 }); 27438 return maxVendorId; 27439} 27440/** 27441 * Encode consent data into a web-safe base64-encoded string 27442 * 27443 * @param {object} consentData Data to include in the string (see `utils/definitions.js` for the list of fields) 27444 */ 27445function encodeConsentString(consentData) { 27446 var maxVendorId = consentData.maxVendorId; 27447 var _consentData$vendorLi = consentData.vendorList, 27448 vendorList = _consentData$vendorLi === undefined ? {} : _consentData$vendorLi, 27449 allowedPurposeIds = consentData.allowedPurposeIds, 27450 allowedVendorIds = consentData.allowedVendorIds;
27451 var _vendorList$vendors = vendorList.vendors, 27452 vendors = _vendorList$vendors === undefined ? [] : _vendorList$vendors, 27453 _vendorList$purposes = vendorList.purposes, 27454 purposes = _vendorList$purposes === undefined ? [] : _vendorList$purposes; 27455 27456 // if no maxVendorId is in the ConsentData, get it 27457 27458 if (!maxVendorId) { 27459 maxVendorId = getMaxVendorId(vendors); 27460 } 27461 27462 // Encode the data with and without ranges and return the smallest encoded payload 27463 var noRangesData = encodeToBase64(_extends({}, consentData, { 27464 maxVendorId: maxVendorId, 27465 purposeIdBitString: encodePurposeIdsToBits(purposes, allowedPurposeIds), 27466 isRange: false, 27467 vendorIdBitString: encodeVendorIdsToBits(maxVendorId, allowedVendorIds) 27468 })); 27469 27470 var vendorRangeList = convertVendorsToRanges(vendors, allowedVendorIds); 27471 27472 var rangesData = encodeToBase64(_extends({}, consentData, { 27473 maxVendorId: maxVendorId, 27474 purposeIdBitString: encodePurposeIdsToBits(purposes, allowedPurposeIds), 27475 isRange: true, 27476 defaultConsent: false, 27477 numEntries: vendorRangeList.length, 27478 vendorRangeList: vendorRangeList 27479 })); 27480 27481 return noRangesData.length < rangesData.length ? noRangesData : rangesData; 27482} 27483 27484module.exports = { 27485 convertVendorsToRanges: convertVendorsToRanges, 27486 encodeConsentString: encodeConsentString, 27487 getMaxVendorId: getMaxVendorId, 27488 encodeVendorIdsToBits: encodeVendorIdsToBits, 27489 encodePurposeIdsToBits: encodePurposeIdsToBits 27490}; 27491 27492/***/ }), 27493/* 465 */ 27494/***/ (function(module, exports, __webpack_require__) { 27495 27496"use strict"; 27497 27498 27499/* eslint no-use-before-define: off */ 27500 27501var base64 = __webpack_require__(775); 27502 27503var _require = __webpack_require__(466), 27504 versionNumBits = _require.versionNumBits, 27505 vendorVersionMap = _require.vendorVersionMap; 27506 27507function repeat(count) { 27508 var string = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0'; 27509 27510 var padString = ''; 27511 27512 for (var i = 0; i < count; i += 1) { 27513 padString += string; 27514 } 27515 27516 return padString; 27517} 27518 27519function padLeft(string, padding) { 27520 return repeat(Math.max(0, padding)) + string; 27521} 27522 27523function padRight(string, padding) { 27524 return string + repeat(Math.max(0, padding)); 27525} 27526 27527function encodeIntToBits(number, numBits) { 27528 var bitString = ''; 27529 27530 if (typeof number === 'number' && !isNaN(number)) { 27531 bitString = parseInt(number, 10).toString(2); 27532 } 27533 27534 // Pad the string if not filling all bits 27535 if (numBits >= bitString.length) { 27536 bitString = padLeft(bitString, numBits - bitString.length); 27537 } 27538 27539 // Truncate the string if longer than the number of bits 27540 if (bitString.length > numBits) { 27541 bitString = bitString.substring(0, numBits); 27542 } 27543 27544 return bitString; 27545} 27546 27547function encodeBoolToBits(value) { 27548 return encodeIntToBits(value === true ? 1 : 0, 1); 27549} 27550 27551function encodeDateToBits(date, numBits) { 27552 if (date instanceof Date) { 27553 return encodeIntToBits(date.getTime() / 100, numBits); 27554 } 27555 return encodeIntToBits(date, numBits); 27556} 27557 27558function encodeLetterToBits(letter, numBits) { 27559 return encodeIntToBits(letter.toUpperCase().charCodeAt(0) - 65, numBits); 27560} 27561 27562function encodeLanguageToBits(language) { 27563 var numBits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 12; 27564 27565 return encodeLetterToBits(language.slice(0, 1), numBits / 2) + encodeLetterToBits(language.slice(1), numBits / 2); 27566} 27567 27568function decodeBitsToInt(bitString, start, length) { 27569 return parseInt(bitString.substr(start, length), 2); 27570} 27571 27572function decodeBitsToDate(bitString, start, length) { 27573 return new Date(decodeBitsToInt(bitString, start, length) * 100); 27574} 27575 27576function decodeBitsToBool(bitString, start) { 27577 return parseInt(bitString.substr(start, 1), 2) === 1; 27578} 27579 27580function decodeBitsToLetter(bitString) { 27581 var letterCode = decodeBitsToInt(bitString); 27582 return String.fromCharCode(letterCode + 65).toLowerCase(); 27583} 27584 27585function decodeBitsToLanguage(bitString, start, length) { 27586 var languageBitString = bitString.substr(start, length); 27587 27588 return decodeBitsToLetter(languageBitString.slice(0, length / 2)) + decodeBitsToLetter(languageBitString.slice(length / 2)); 27589} 27590 27591function encodeField(_ref) { 27592 var input = _ref.input, 27593 field = _ref.field; 27594 var name = field.name, 27595 type = field.type, 27596 numBits = field.numBits, 27597 encoder = field.encoder, 27598 validator = field.validator; 27599 27600 27601 if (typeof validator === 'function') { 27602 if (!validator(input)) { 27603 return ''; 27604 } 27605 } 27606 if (typeof encoder === 'function') { 27607 return encoder(input); 27608 } 27609
27610 var bitCount = typeof numBits === 'function' ? numBits(input) : numBits; 27611 27612 var inputValue = input[name]; 27613 var fieldValue = inputValue === null || inputValue === undefined ? '' : inputValue; 27614 27615 switch (type) { 27616 case 'int': 27617 return encodeIntToBits(fieldValue, bitCount); 27618 case 'bool': 27619 return encodeBoolToBits(fieldValue); 27620 case 'date': 27621 return encodeDateToBits(fieldValue, bitCount); 27622 case 'bits': 27623 return padRight(fieldValue, bitCount - fieldValue.length).substring(0, bitCount); 27624 case 'list': 27625 return fieldValue.reduce(function (acc, listValue) { 27626 return acc + encodeFields({ 27627 input: listValue, 27628 fields: field.fields 27629 }); 27630 }, ''); 27631 case 'language': 27632 return encodeLanguageToBits(fieldValue, bitCount); 27633 default: 27634 throw new Error('ConsentString - Unknown field type ' + type + ' for encoding'); 27635 } 27636} 27637 27638function encodeFields(_ref2) { 27639 var input = _ref2.input, 27640 fields = _ref2.fields; 27641 27642 return fields.reduce(function (acc, field) { 27643 acc += encodeField({ input: input, field: field }); 27644 27645 return acc; 27646 }, ''); 27647} 27648 27649function decodeField(_ref3) { 27650 var input = _ref3.input, 27651 output = _ref3.output, 27652 startPosition = _ref3.startPosition, 27653 field = _ref3.field; 27654 var type = field.type, 27655 numBits = field.numBits, 27656 decoder = field.decoder, 27657 validator = field.validator, 27658 listCount = field.listCount; 27659 27660 27661 if (typeof validator === 'function') { 27662 if (!validator(output)) { 27663 // Not decoding this field so make sure we start parsing the next field at 27664 // the same point 27665 return { newPosition: startPosition }; 27666 } 27667 } 27668 27669 if (typeof decoder === 'function') { 27670 return decoder(input, output, startPosition); 27671 } 27672 27673 var bitCount = typeof numBits === 'function' ? numBits(output) : numBits; 27674 27675 switch (type) { 27676 case 'int': 27677 return { fieldValue: decodeBitsToInt(input, startPosition, bitCount) }; 27678 case 'bool': 27679 return { fieldValue: decodeBitsToBool(input, startPosition) }; 27680 case 'date': 27681 return { fieldValue: decodeBitsToDate(input, startPosition, bitCount) }; 27682 case 'bits': 27683 return { fieldValue: input.substr(startPosition, bitCount) }; 27684 case 'list': 27685 return decodeList(input, output, startPosition, field, listCount); 27686 case 'language': 27687 return { fieldValue: decodeBitsToLanguage(input, startPosition, bitCount) }; 27688 default: 27689 throw new Error('ConsentString - Unknown field type ' + type + ' for decoding'); 27690 } 27691} 27692 27693function decodeList(input, output, startPosition, field, listCount) { 27694 var listEntryCount = 0; 27695 27696 if (typeof listCount === 'function') { 27697 listEntryCount = listCount(output); 27698 } else if (typeof listCount === 'number') { 27699 listEntryCount = listCount; 27700 } 27701 27702 var newPosition = startPosition; 27703 var fieldValue = []; 27704 27705 for (var i = 0; i < listEntryCount; i += 1) { 27706 var decodedFields = decodeFields({ 27707 input: input, 27708 fields: field.fields, 27709 startPosition: newPosition 27710 }); 27711 27712 newPosition = decodedFields.newPosition; 27713 fieldValue.push(decodedFields.decodedObject); 27714 } 27715 27716 return { fieldValue: fieldValue, newPosition: newPosition }; 27717} 27718 27719function decodeFields(_ref4) { 27720 var input = _ref4.input, 27721 fields = _ref4.fields, 27722 _ref4$startPosition = _ref4.startPosition, 27723 startPosition = _ref4$startPosition === undefined ? 0 : _ref4$startPosition; 27724 27725 var position = startPosition; 27726 27727 var decodedObject = fields.reduce(function (acc, field) { 27728 var name = field.name, 27729 numBits = field.numBits; 27730 27731 var _decodeField = decodeField({ 27732 input: input, 27733 output: acc, 27734 startPosition: position, 27735 field: field 27736 }), 27737 fieldValue = _decodeField.fieldValue, 27738 newPosition = _decodeField.newPosition; 27739 27740 if (fieldValue !== undefined) { 27741 acc[name] = fieldValue; 27742 } 27743 27744 if (newPosition !== undefined) { 27745 position = newPosition; 27746 } else if (typeof numBits === 'number') { 27747 position += numBits; 27748 } 27749 27750 return acc; 27751 }, {}); 27752 27753 return { 27754 decodedObject: decodedObject, 27755 newPosition: position 27756 }; 27757} 27758 27759/** 27760 * Encode the data properties to a bit string. Encoding will encode 27761 * either `selectedVendorIds` or the `vendorRangeList` depending on 27762 * the value of the `isRange` flag. 27763 */ 27764function encodeDataToBits(data, definitionMap) { 27765 var version = data.version; 27766 27767 27768 if (typeof version !== 'number') { 27769 throw new Error('ConsentString - No version field to encode'); 27770 }
27770 else if (!definitionMap[version]) { 27771 throw new Error('ConsentString - No definition for version ' + version); 27772 } else { 27773 var fields = definitionMap[version].fields; 27774 return encodeFields({ input: data, fields: fields }); 27775 } 27776} 27777 27778/** 27779 * Take all fields required to encode the consent string and produce the URL safe Base64 encoded value 27780 */ 27781function encodeToBase64(data) { 27782 var definitionMap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : vendorVersionMap; 27783 27784 var binaryValue = encodeDataToBits(data, definitionMap); 27785 27786 if (binaryValue) { 27787 // Pad length to multiple of 8 27788 var paddedBinaryValue = padRight(binaryValue, 7 - (binaryValue.length + 7) % 8); 27789 27790 // Encode to bytes 27791 var bytes = ''; 27792 for (var i = 0; i < paddedBinaryValue.length; i += 8) { 27793 bytes += String.fromCharCode(parseInt(paddedBinaryValue.substr(i, 8), 2)); 27794 } 27795 27796 // Make base64 string URL friendly 27797 return base64.encode(bytes).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); 27798 } 27799 27800 return null; 27801} 27802 27803function decodeConsentStringBitValue(bitString) { 27804 var definitionMap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : vendorVersionMap; 27805 27806 var version = decodeBitsToInt(bitString, 0, versionNumBits); 27807 27808 if (typeof version !== 'number') { 27809 throw new Error('ConsentString - Unknown version number in the string to decode'); 27810 } else if (!vendorVersionMap[version]) { 27811 throw new Error('ConsentString - Unsupported version ' + version + ' in the string to decode'); 27812 } 27813 27814 var fields = definitionMap[version].fields; 27815 27816 var _decodeFields = decodeFields({ input: bitString, fields: fields }), 27817 decodedObject = _decodeFields.decodedObject; 27818 27819 return decodedObject; 27820} 27821 27822/** 27823 * Decode the (URL safe Base64) value of a consent string into an object. 27824 */ 27825function decodeFromBase64(consentString, definitionMap) { 27826 // Add padding 27827 var unsafe = consentString; 27828 while (unsafe.length % 4 !== 0) { 27829 unsafe += '='; 27830 } 27831 27832 // Replace safe characters 27833 unsafe = unsafe.replace(/-/g, '+').replace(/_/g, '/'); 27834 27835 var bytes = base64.decode(unsafe); 27836 27837 var inputBits = ''; 27838 for (var i = 0; i < bytes.length; i += 1) { 27839 var bitString = bytes.charCodeAt(i).toString(2); 27840 inputBits += padLeft(bitString, 8 - bitString.length); 27841 } 27842 27843 return decodeConsentStringBitValue(inputBits, definitionMap); 27844} 27845 27846function decodeBitsToIds(bitString) { 27847 return bitString.split('').reduce(function (acc, bit, index) { 27848 if (bit === '1') { 27849 if (acc.indexOf(index + 1) === -1) { 27850 acc.push(index + 1); 27851 } 27852 } 27853 return acc; 27854 }, []); 27855} 27856 27857module.exports = { 27858 padRight: padRight, 27859 padLeft: padLeft, 27860 encodeField: encodeField, 27861 encodeDataToBits: encodeDataToBits, 27862 encodeIntToBits: encodeIntToBits, 27863 encodeBoolToBits: encodeBoolToBits, 27864 encodeDateToBits: encodeDateToBits, 27865 encodeLanguageToBits: encodeLanguageToBits, 27866 encodeLetterToBits: encodeLetterToBits, 27867 encodeToBase64: encodeToBase64, 27868 decodeBitsToIds: decodeBitsToIds, 27869 decodeBitsToInt: decodeBitsToInt, 27870 decodeBitsToDate: decodeBitsToDate, 27871 decodeBitsToBool: decodeBitsToBool, 27872 decodeBitsToLanguage: decodeBitsToLanguage, 27873 decodeBitsToLetter: decodeBitsToLetter, 27874 decodeFromBase64: decodeFromBase64 27875}; 27876 27877/***/ }), 27878/* 466 */ 27879/***/ (function(module, exports, __webpack_require__) { 27880 27881"use strict"; 27882 27883 27884/** 27885 * Number of bits for encoding the version integer 27886 * Expected to be the same across versions 27887 */ 27888var versionNumBits = 6; 27889 27890/** 27891 * Definition of the consent string encoded format 27892 * 27893 * From https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/Draft_for_Public_Comment_Transparency%20%26%20Consent%20Framework%20-%20cookie%20and%20vendor%20list%20format%20specification%20v1.0a.pdf 27894 */ 27895var vendorVersionMap = { 27896 /** 27897 * Version 1 27898 */ 27899 1: { 27900 version: 1, 27901 metadataFields: ['version', 'created', 'lastUpdated', 'cmpId', 'cmpVersion', 'consentScreen', 'vendorListVersion'], 27902 fields: [{ name: 'version', type: 'int', numBits: 6 }, { name: 'created', type: 'date', numBits: 36 }, { name: 'lastUpdated', type: 'date', numBits: 36 }, { name: 'cmpId', type: 'int', numBits: 12 }, { name: 'cmpVersion', type: 'int', numBits: 12 }, { name: 'consentScreen', type: 'int', numBits: 6 }, { name: 'consentLanguage', type: 'language', numBits: 12 }, { name: 'vendorListVersion', type: 'int', numBits: 12 }, { name: 'purposeIdBitString', type: 'bits', numBits: 24 }, { name: 'maxVendorId', type: 'int', numBits: 16 }, { name: 'isRange', type: 'bool', numBits: 1 }, { 27903 name: 'vendorIdBitString', 27904 type: 'bits', 27905 numBits: function numBits(decodedObject) { 27906 return decodedObject.maxVendorId; 27907 }, 27908 validator: function validator(decodedObject) { 27909 return !decodedObject.isRange; 27910 } 27911 }, {
27912 name: 'defaultConsent', 27913 type: 'bool', 27914 numBits: 1, 27915 validator: function validator(decodedObject) { 27916 return decodedObject.isRange; 27917 } 27918 }, { 27919 name: 'numEntries', 27920 numBits: 12, 27921 type: 'int', 27922 validator: function validator(decodedObject) { 27923 return decodedObject.isRange; 27924 } 27925 }, { 27926 name: 'vendorRangeList', 27927 type: 'list', 27928 listCount: function listCount(decodedObject) { 27929 return decodedObject.numEntries; 27930 }, 27931 validator: function validator(decodedObject) { 27932 return decodedObject.isRange; 27933 }, 27934 fields: [{ 27935 name: 'isRange', 27936 type: 'bool', 27937 numBits: 1 27938 }, { 27939 name: 'startVendorId', 27940 type: 'int', 27941 numBits: 16 27942 }, { 27943 name: 'endVendorId', 27944 type: 'int', 27945 numBits: 16, 27946 validator: function validator(decodedObject) { 27947 return decodedObject.isRange; 27948 } 27949 }] 27950 }] 27951 } 27952}; 27953 27954module.exports = { 27955 versionNumBits: versionNumBits, 27956 vendorVersionMap: vendorVersionMap 27957}; 27958 27959/***/ }), 27960/* 467 */ 27961/***/ (function(module, exports, __webpack_require__) { 27962 27963"use strict"; 27964 27965 27966var _require = __webpack_require__(465), 27967 decodeBitsToIds = _require.decodeBitsToIds, 27968 decodeFromBase64 = _require.decodeFromBase64; 27969 27970/** 27971 * Decode consent data from a web-safe base64-encoded string 27972 * 27973 * @param {string} consentString 27974 */ 27975 27976 27977function decodeConsentString(consentString) { 27978 var _decodeFromBase = decodeFromBase64(consentString), 27979 version = _decodeFromBase.version, 27980 cmpId = _decodeFromBase.cmpId, 27981 vendorListVersion = _decodeFromBase.vendorListVersion, 27982 purposeIdBitString = _decodeFromBase.purposeIdBitString, 27983 maxVendorId = _decodeFromBase.maxVendorId, 27984 created = _decodeFromBase.created, 27985 lastUpdated = _decodeFromBase.lastUpdated, 27986 isRange = _decodeFromBase.isRange, 27987 defaultConsent = _decodeFromBase.defaultConsent, 27988 vendorIdBitString = _decodeFromBase.vendorIdBitString, 27989 vendorRangeList = _decodeFromBase.vendorRangeList, 27990 cmpVersion = _decodeFromBase.cmpVersion, 27991 consentScreen = _decodeFromBase.consentScreen, 27992 consentLanguage = _decodeFromBase.consentLanguage; 27993 27994 var consentStringData = { 27995 version: version, 27996 cmpId: cmpId, 27997 vendorListVersion: vendorListVersion, 27998 allowedPurposeIds: decodeBitsToIds(purposeIdBitString), 27999 maxVendorId: maxVendorId, 28000 created: created, 28001 lastUpdated: lastUpdated, 28002 cmpVersion: cmpVersion, 28003 consentScreen: consentScreen, 28004 consentLanguage: consentLanguage 28005 }; 28006 28007 if (isRange) { 28008 /* eslint no-shadow: off */ 28009 var idMap = vendorRangeList.reduce(function (acc, _ref) { 28010 var isRange = _ref.isRange, 28011 startVendorId = _ref.startVendorId, 28012 endVendorId = _ref.endVendorId; 28013 28014 var lastVendorId = isRange ? endVendorId : startVendorId; 28015 28016 for (var i = startVendorId; i <= lastVendorId; i += 1) { 28017 acc[i] = true; 28018 } 28019 28020 return acc; 28021 }, {}); 28022 28023 consentStringData.allowedVendorIds = []; 28024 28025 for (var i = 1; i <= maxVendorId; i += 1) { 28026 if (defaultConsent && !idMap[i] || !defaultConsent && idMap[i]) { 28027 if (consentStringData.allowedVendorIds.indexOf(i) === -1) { 28028 consentStringData.allowedVendorIds.push(i); 28029 } 28030 } 28031 } 28032 } else { 28033 consentStringData.allowedVendorIds = decodeBitsToIds(vendorIdBitString); 28034 } 28035 28036 return consentStringData; 28037} 28038 28039module.exports = { 28040 decodeConsentString: decodeConsentString 28041}; 28042 28043/***/ }), 28044/* 468 */ 28045/***/ (function(module, exports) { 28046 28047module.exports = "<svg width=\"32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M11.318 17.683A4.473 4.473 0 0 1 10 14.5c0-1.202.468-2.332 1.319-3.181A4.466 4.466 0 0 1 14.499 10c1.203 0 2.333.469 3.183 1.319a4.506 4.506 0 0 1 0 6.364A4.473 4.473 0 0 1 14.5 19a4.472 4.472 0 0 1-3.182-1.317zM24 22.233l-4.107-4.107A6.5 6.5 0 0 0 14.5 8a6.5 6.5 0 1 0 3.626 11.894l4.106 4.107L24 22.234z\" fill=\"#020203\" fill-rule=\"evenodd\"></path></svg>" 28048 28049/***/ }), 28050/* 469 */ 28051/***/ (function(module, exports, __webpack_require__
vendor: 13,394 bytes, lines 28051-28504
28051) { 28052 28053"use strict"; 28054// Copyright Joyent, Inc. and other Node contributors. 28055// 28056// Permission is hereby granted, free of charge, to any person obtaining a 28057// copy of this software and associated documentation files (the 28058// "Software"), to deal in the Software without restriction, including 28059// without limitation the rights to use, copy, modify, merge, publish, 28060// distribute, sublicense, and/or sell copies of the Software, and to permit 28061// persons to whom the Software is furnished to do so, subject to the 28062// following conditions: 28063// 28064// The above copyright notice and this permission notice shall be included 28065// in all copies or substantial portions of the Software. 28066// 28067// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 28068// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28069// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 28070// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 28071// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 28072// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 28073// USE OR OTHER DEALINGS IN THE SOFTWARE. 28074 28075 28076 28077var R = typeof Reflect === 'object' ? Reflect : null 28078var ReflectApply = R && typeof R.apply === 'function' 28079 ? R.apply 28080 : function ReflectApply(target, receiver, args) { 28081 return Function.prototype.apply.call(target, receiver, args); 28082 } 28083 28084var ReflectOwnKeys 28085if (R && typeof R.ownKeys === 'function') { 28086 ReflectOwnKeys = R.ownKeys 28087} else if (Object.getOwnPropertySymbols) { 28088 ReflectOwnKeys = function ReflectOwnKeys(target) { 28089 return Object.getOwnPropertyNames(target) 28090 .concat(Object.getOwnPropertySymbols(target)); 28091 }; 28092} else { 28093 ReflectOwnKeys = function ReflectOwnKeys(target) { 28094 return Object.getOwnPropertyNames(target); 28095 }; 28096} 28097 28098function ProcessEmitWarning(warning) { 28099 if (console && console.warn) console.warn(warning); 28100} 28101 28102var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { 28103 return value !== value; 28104} 28105 28106function EventEmitter() { 28107 EventEmitter.init.call(this); 28108} 28109module.exports = EventEmitter; 28110module.exports.once = once; 28111 28112// Backwards-compat with node 0.10.x 28113EventEmitter.EventEmitter = EventEmitter; 28114 28115EventEmitter.prototype._events = undefined; 28116EventEmitter.prototype._eventsCount = 0; 28117EventEmitter.prototype._maxListeners = undefined; 28118 28119// By default EventEmitters will print a warning if more than 10 listeners are 28120// added to it. This is a useful default which helps finding memory leaks. 28121var defaultMaxListeners = 10; 28122 28123function checkListener(listener) { 28124 if (typeof listener !== 'function') { 28125 throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); 28126 } 28127} 28128 28129Object.defineProperty(EventEmitter, 'defaultMaxListeners', { 28130 enumerable: true, 28131 get: function() { 28132 return defaultMaxListeners; 28133 }, 28134 set: function(arg) { 28135 if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { 28136 throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); 28137 } 28138 defaultMaxListeners = arg; 28139 } 28140}); 28141 28142EventEmitter.init = function() { 28143 28144 if (this._events === undefined || 28145 this._events === Object.getPrototypeOf(this)._events) { 28146 this._events = Object.create(null); 28147 this._eventsCount = 0; 28148 } 28149 28150 this._maxListeners = this._maxListeners || undefined; 28151}; 28152 28153// Obviously not all Emitters should be limited to 10. This function allows 28154// that to be increased. Set to zero for unlimited. 28155EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { 28156 if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { 28157 throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); 28158 } 28159 this._maxListeners = n; 28160 return this; 28161}; 28162 28163function _getMaxListeners(that) { 28164 if (that._maxListeners === undefined) 28165 return EventEmitter.defaultMaxListeners; 28166 return that._maxListeners; 28167} 28168 28169EventEmitter.prototype.getMaxListeners = function getMaxListeners() { 28170 return _getMaxListeners(this); 28171}; 28172 28173EventEmitter.prototype.emit = function emit(type) { 28174 var args = []; 28175 for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); 28176 var doError = (type === 'error'); 28177 28178 var events = this._events; 28179 if (events !== undefined) 28180 doError = (doError && events.error === undefined); 28181 else if (!doError) 28182 return false; 28183 28184 // If there is no 'error' event listener then throw. 28185 if (doError) { 28186 var er; 28187 if (args.length > 0) 28188 er = args[0]; 28189 if (er instanceof Error) { 28190 // Note: The comments on the `throw` lines are intentional, they show 28191 // up in Node's output if this results in an unhandled exception. 28192 throw er; // Unhandled 'error' event 28193 } 28194 // At least give some kind of context to the user 28195 var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); 28196 err.context = er; 28197 throw err; // Unhandled 'error' event 28198 } 28199 28200 var handler = events[type]; 28201 28202 if (handler === undefined) 28203 return false; 28204 28205 if (typeof handler === 'function') { 28206 ReflectApply(handler, this, args); 28207 } else { 28208 var len = handler.length; 28209 var listeners = arrayClone(handler, len); 28210 for (var i = 0; i < len; ++i) 28211 ReflectApply(listeners[i], this, args); 28212 } 28213 28214 return true; 28215}; 28216 28217function _addListener(target, type, listener, prepend) { 28218 var m; 28219 var events; 28220 var existing; 28221 28222 checkListener(listener); 28223 28224 events = target._events; 28225 if (events === undefined) { 28226 events = target._events = Object.create(null); 28227 target._eventsCount = 0; 28228 } else { 28229 // To avoid recursion in the case that type === "newListener"! Before 28230 // adding it to the listeners, first emit "newListener". 28231 if (events.newListener !== undefined) { 28232 target.emit('newListener', type, 28233 listener.listener ? listener.listener : listener); 28234 28235 // Re-assign `events` because a newListener handler could have caused the 28236 // this._events to be assigned to a new object 28237 events = target._events; 28238 } 28239 existing = events[type]; 28240 } 28241 28242 if (existing === undefined) { 28243 // Optimize the case of one listener. Don't need the extra array object. 28244 existing = events[type] = listener; 28245 ++target._eventsCount; 28246 } else { 28247 if (typeof existing === 'function') { 28248 // Adding the second element, need to change to array. 28249 existing = events[type] = 28250 prepend ? [listener, existing] : [existing, listener]; 28251 // If we've already got an array, just append. 28252 } else if (prepend) { 28253 existing.unshift(listener); 28254 } else { 28255 existing.push(listener); 28256 } 28257 28258 // Check for listener leak 28259 m = _getMaxListeners(target); 28260 if (m > 0 && existing.length > m && !existing.warned) { 28261 existing.warned = true; 28262 // No error code for this since it is a Warning 28263 // eslint-disable-next-line no-restricted-syntax 28264 var w = new Error('Possible EventEmitter memory leak detected. ' + 28265 existing.length + ' ' + String(type) + ' listeners ' + 28266 'added. Use emitter.setMaxListeners() to ' + 28267 'increase limit'); 28268 w.name = 'MaxListenersExceededWarning'; 28269 w.emitter = target; 28270 w.type = type; 28271 w.count = existing.length; 28272 ProcessEmitWarning(w); 28273 } 28274 } 28275 28276 return target; 28277} 28278 28279EventEmitter.prototype.addListener = function addListener(type, listener) { 28280 return _addListener(this, type, listener, false); 28281}; 28282 28283EventEmitter.prototype.on = EventEmitter.prototype.addListener; 28284 28285EventEmitter.prototype.prependListener = 28286 function prependListener(type, listener) { 28287 return _addListener(this, type, listener, true); 28288 }; 28289 28290function onceWrapper() { 28291 if (!this.fired) { 28292 this.target.removeListener(this.type, this.wrapFn); 28293 this.fired = true; 28294 if (arguments.length === 0) 28295 return this.listener.call(this.target); 28296 return this.listener.apply(this.target, arguments); 28297 } 28298} 28299 28300function _onceWrap(target, type, listener) { 28301 var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; 28302 var wrapped = onceWrapper.bind(state); 28303 wrapped.listener = listener; 28304 state.wrapFn = wrapped; 28305 return wrapped; 28306} 28307 28308EventEmitter.prototype.once = function once(type, listener) { 28309 checkListener(listener); 28310 this.on(type, _onceWrap(this, type, listener)); 28311 return this; 28312}; 28313 28314EventEmitter.prototype.prependOnceListener = 28315 function prependOnceListener(type, listener) { 28316 checkListener(listener); 28317 this.prependListener(type, _onceWrap(this, type, listener)); 28318 return this; 28319 }; 28320 28321// Emits a 'removeListener' event if and only if the listener was removed. 28322EventEmitter.prototype.removeListener = 28323 function removeListener(type, listener) { 28324 var list, events, position, i, originalListener; 28325 28326 checkListener(listener); 28327 28328 events = this._events; 28329 if (events === undefined) 28330 return this; 28331 28332 list = events[type]; 28333 if (list === undefined) 28334 return this; 28335 28336 if (list === listener || list.listener === listener) { 28337 if (--this._eventsCount === 0) 28338 this._events = Object.create(null); 28339 else { 28340 delete events[type]; 28341 if (events.removeListener) 28342 this.emit('removeListener', type, list.listener || listener); 28343 } 28344 } else if (typeof list !== 'function') { 28345 position = -1; 28346 28347 for (i = list.length - 1; i >= 0; i--) { 28348 if (list[i] === listener || list[i].listener === listener) { 28349 originalListener = list[i].listener; 28350 position = i; 28351 break; 28352 } 28353 } 28354 28355 if (position < 0) 28356 return this; 28357 28358 if (position === 0) 28359 list.shift(); 28360 else { 28361 spliceOne(list, position); 28362 } 28363 28364 if (list.length === 1) 28365 events[type] = list[0]; 28366 28367 if (events.removeListener !== undefined) 28368 this.emit('removeListener', type, originalListener || listener); 28369 } 28370 28371 return this; 28372 }; 28373 28374EventEmitter.prototype.off = EventEmitter.prototype.removeListener; 28375 28376EventEmitter.prototype.removeAllListeners = 28377 function removeAllListeners(type) { 28378 var listeners, events, i; 28379 28380 events = this._events; 28381 if (events === undefined) 28382 return this; 28383 28384 // not listening for removeListener, no need to emit 28385 if (events.removeListener === undefined) { 28386 if (arguments.length === 0) { 28387 this._events = Object.create(null); 28388 this._eventsCount = 0; 28389 } else if (events[type] !== undefined) { 28390 if (--this._eventsCount === 0) 28391 this._events = Object.create(null); 28392 else 28393 delete events[type]; 28394 } 28395 return this; 28396 } 28397 28398 // emit removeListener for all listeners on all events 28399 if (arguments.length === 0) { 28400 var keys = Object.keys(events); 28401 var key; 28402 for (i = 0; i < keys.length; ++i) { 28403 key = keys[i]; 28404 if (key === 'removeListener') continue; 28405 this.removeAllListeners(key); 28406 } 28407 this.removeAllListeners('removeListener'); 28408 this._events = Object.create(null); 28409 this._eventsCount = 0; 28410 return this; 28411 } 28412 28413 listeners = events[type]; 28414 28415 if (typeof listeners === 'function') { 28416 this.removeListener(type, listeners); 28417 } else if (listeners !== undefined) { 28418 // LIFO order 28419 for (i = listeners.length - 1; i >= 0; i--) { 28420 this.removeListener(type, listeners[i]); 28421 } 28422 } 28423 28424 return this; 28425 }; 28426 28427function _listeners(target, type, unwrap) { 28428 var events = target._events; 28429 28430 if (events === undefined) 28431 return []; 28432 28433 var evlistener = events[type]; 28434 if (evlistener === undefined) 28435 return []; 28436 28437 if (typeof evlistener === 'function') 28438 return unwrap ? [evlistener.listener || evlistener] : [evlistener]; 28439 28440 return unwrap ? 28441 unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); 28442} 28443 28444EventEmitter.prototype.listeners = function listeners(type) { 28445 return _listeners(this, type, true); 28446}; 28447 28448EventEmitter.prototype.rawListeners = function rawListeners(type) { 28449 return _listeners(this, type, false); 28450}; 28451 28452EventEmitter.listenerCount = function(emitter, type) { 28453 if (typeof emitter.listenerCount === 'function') { 28454 return emitter.listenerCount(type); 28455 } else { 28456 return listenerCount.call(emitter, type); 28457 } 28458}; 28459 28460EventEmitter.prototype.listenerCount = listenerCount; 28461function listenerCount(type) { 28462 var events = this._events; 28463 28464 if (events !== undefined) { 28465 var evlistener = events[type]; 28466 28467 if (typeof evlistener === 'function') { 28468 return 1; 28469 } else if (evlistener !== undefined) { 28470 return evlistener.length; 28471 } 28472 } 28473 28474 return 0; 28475} 28476 28477EventEmitter.prototype.eventNames = function eventNames() { 28478 return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; 28479}; 28480 28481function arrayClone(arr, n) { 28482 var copy = new Array(n); 28483 for (var i = 0; i < n; ++i) 28484 copy[i] = arr[i]; 28485 return copy; 28486} 28487 28488function spliceOne(list, index) { 28489 for (; index + 1 < list.length; index++) 28490 list[index] = list[index + 1]; 28491 list.pop(); 28492} 28493 28494function unwrapListeners(arr) { 28495 var ret = new Array(arr.length); 28496 for (var i = 0; i < ret.length; ++i) { 28497 ret[i] = arr[i].listener || arr[i]; 28498 } 28499 return ret; 28500} 28501 28502function once(emitter, name) { 28503 return new Promise(function (resolve, reject) { 28504 function e
28504ventListener() { 28505 if (errorListener !== undefined) { 28506 emitter.removeListener('error', errorListener); 28507 } 28508 resolve([].slice.call(arguments)); 28509 }; 28510 var errorListener; 28511 28512 // Adding an error listener is not optional because 28513 // if an error is thrown on an event emitter we cannot 28514 // guarantee that the actual event we are waiting will 28515 // be fired. The result could be a silent way to create 28516 // memory or file descriptor leaks, which is something 28517 // we should avoid. 28518 if (name !== 'error') { 28519 errorListener = function errorListener(err) { 28520 emitter.removeListener(name, eventListener); 28521 reject(err); 28522 }; 28523 28524 emitter.once('error', errorListener); 28525 } 28526 28527 emitter.once(name, eventListener); 28528 }); 28529} 28530 28531 28532/***/ }), 28533/* 470 */ 28534/***/ (function(module, exports, __webpack_require__) { 28535 28536/* eslint-disable node/no-deprecated-api */ 28537var buffer = __webpack_require__(313) 28538var Buffer = buffer.Buffer 28539 28540// alternative to using Object.keys for old browsers 28541function copyProps (src, dst) { 28542 for (var key in src) { 28543 dst[key] = src[key] 28544 } 28545} 28546if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { 28547 module.exports = buffer 28548} else { 28549 // Copy properties from require('buffer')
vendor: 20,541 bytes, lines 28550-29247
28550 copyProps(buffer, exports) 28551 exports.Buffer = SafeBuffer 28552} 28553 28554function SafeBuffer (arg, encodingOrOffset, length) { 28555 return Buffer(arg, encodingOrOffset, length) 28556} 28557 28558// Copy static methods from Buffer 28559copyProps(Buffer, SafeBuffer) 28560 28561SafeBuffer.from = function (arg, encodingOrOffset, length) { 28562 if (typeof arg === 'number') { 28563 throw new TypeError('Argument must not be a number') 28564 } 28565 return Buffer(arg, encodingOrOffset, length) 28566} 28567 28568SafeBuffer.alloc = function (size, fill, encoding) { 28569 if (typeof size !== 'number') { 28570 throw new TypeError('Argument must be a number') 28571 } 28572 var buf = Buffer(size) 28573 if (fill !== undefined) { 28574 if (typeof encoding === 'string') { 28575 buf.fill(fill, encoding) 28576 } else { 28577 buf.fill(fill) 28578 } 28579 } else { 28580 buf.fill(0) 28581 } 28582 return buf 28583} 28584 28585SafeBuffer.allocUnsafe = function (size) { 28586 if (typeof size !== 'number') { 28587 throw new TypeError('Argument must be a number') 28588 } 28589 return Buffer(size) 28590} 28591 28592SafeBuffer.allocUnsafeSlow = function (size) { 28593 if (typeof size !== 'number') { 28594 throw new TypeError('Argument must be a number') 28595 } 28596 return buffer.SlowBuffer(size) 28597} 28598 28599 28600/***/ }), 28601/* 471 */ 28602/***/ (function(module, exports, __webpack_require__) { 28603 28604"use strict"; 28605/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors. 28606// 28607// Permission is hereby granted, free of charge, to any person obtaining a 28608// copy of this software and associated documentation files (the 28609// "Software"), to deal in the Software without restriction, including 28610// without limitation the rights to use, copy, modify, merge, publish, 28611// distribute, sublicense, and/or sell copies of the Software, and to permit 28612// persons to whom the Software is furnished to do so, subject to the 28613// following conditions: 28614// 28615// The above copyright notice and this permission notice shall be included 28616// in all copies or substantial portions of the Software. 28617// 28618// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 28619// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28620// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 28621// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 28622// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 28623// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 28624// USE OR OTHER DEALINGS IN THE SOFTWARE. 28625 28626// A bit simpler than readable streams. 28627// Implement an async ._write(chunk, encoding, cb), and it'll handle all 28628// the drain event emission and buffering. 28629 28630 28631 28632/*<replacement>*/ 28633 28634var pna = __webpack_require__(394); 28635/*</replacement>*/ 28636 28637module.exports = Writable; 28638 28639/* <replacement> */ 28640function WriteReq(chunk, encoding, cb) { 28641 this.chunk = chunk; 28642 this.encoding = encoding; 28643 this.callback = cb; 28644 this.next = null; 28645} 28646 28647// It seems a linked list but it is not 28648// there will be only 2 of these for each stream 28649function CorkedRequest(state) { 28650 var _this = this; 28651 28652 this.next = null; 28653 this.entry = null; 28654 this.finish = function () { 28655 onCorkedFinish(_this, state); 28656 }; 28657} 28658/* </replacement> */ 28659 28660/*<replacement>*/ 28661var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; 28662/*</replacement>*/ 28663 28664/*<replacement>*/ 28665var Duplex; 28666/*</replacement>*/ 28667 28668Writable.WritableState = WritableState; 28669 28670/*<replacement>*/ 28671var util = Object.create(__webpack_require__(314)); 28672util.inherits = __webpack_require__(200); 28673/*</replacement>*/ 28674 28675/*<replacement>*/ 28676var internalUtil = { 28677 deprecate: __webpack_require__(908) 28678}; 28679/*</replacement>*/ 28680 28681/*<replacement>*/ 28682var Stream = __webpack_require__(734); 28683/*</replacement>*/ 28684 28685/*<replacement>*/ 28686 28687var Buffer = __webpack_require__(470).Buffer; 28688var OurUint8Array = global.Uint8Array || function () {}; 28689function _uint8ArrayToBuffer(chunk) { 28690 return Buffer.from(chunk); 28691} 28692function _isUint8Array(obj) { 28693 return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; 28694} 28695 28696/*</replacement>*/ 28697 28698var destroyImpl = __webpack_require__(735); 28699 28700util.inherits(Writable, Stream); 28701 28702function nop() {} 28703 28704function WritableState(options, stream) { 28705 Duplex = Duplex || __webpack_require__(240); 28706 28707 options = options || {}; 28708 28709 // Duplex streams are both readable and writable, but share 28710 // the same options object. 28711 // However, some cases require setting options to different 28712 // values for the readable and the writable sides of the duplex stream. 28713 // These options can be provided separately as readableXXX and writableXXX. 28714 var isDuplex = stream instanceof Duplex; 28715 28716 // object stream flag to indicate whether or not this stream 28717 // contains buffers or objects. 28718 this.objectMode = !!options.objectMode; 28719 28720 if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; 28721 28722 // the point at which write() starts returning false 28723 // Note: 0 is a valid value, means that we always return false if 28724 // the entire buffer is not flushed immediately on write() 28725 var hwm = options.highWaterMark; 28726 var writableHwm = options.writableHighWaterMark; 28727 var defaultHwm = this.objectMode ? 16 : 16 * 1024; 28728 28729 if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm; 28730 28731 // cast to ints. 28732 this.highWaterMark = Math.floor(this.highWaterMark); 28733 28734 // if _final has been called 28735 this.finalCalled = false; 28736 28737 // drain event flag. 28738 this.needDrain = false; 28739 // at the start of calling end() 28740 this.ending = false; 28741 // when end() has been called, and returned 28742 this.ended = false; 28743 // when 'finish' is emitted 28744 this.finished = false; 28745 28746 // has it been destroyed 28747 this.destroyed = false; 28748 28749 // should we decode strings into buffers before passing to _write? 28750 // this is here so that some node-core streams can optimize string 28751 // handling at a lower level. 28752 var noDecode = options.decodeStrings === false; 28753 this.decodeStrings = !noDecode; 28754 28755 // Crypto is kind of old and crusty. Historically, its default string 28756 // encoding is 'binary' so we have to make this configurable. 28757 // Everything else in the universe uses 'utf8', though. 28758 this.defaultEncoding = options.defaultEncoding || 'utf8'; 28759 28760 // not an actual buffer we keep track of, but a measurement 28761 // of how much we're waiting to get pushed to some underlying 28762 // socket or file. 28763 this.length = 0; 28764 28765 // a flag to see when we're in the middle of a write. 28766 this.writing = false; 28767 28768 // when true all writes will be buffered until .uncork() call 28769 this.corked = 0; 28770 28771 // a flag to be able to tell if the onwrite cb is called immediately, 28772 // or on a later tick. We set this to true at first, because any 28773 // actions that shouldn't happen until "later" should generally also 28774 // not happen before the first write call. 28775 this.sync = true; 28776 28777 // a flag to know if we're processing previously buffered items, which 28778 // may call the _write() callback in the same tick, so that we don't 28779 // end up in an overlapped onwrite situation. 28780 this.bufferProcessing = false; 28781 28782 // the callback that's passed to _write(chunk,cb) 28783 this.onwrite = function (er) { 28784 onwrite(stream, er); 28785 }; 28786 28787 // the callback that the user supplies to write(chunk,encoding,cb) 28788 this.writecb = null; 28789 28790 // the amount that is being written when _write is called. 28791 this.writelen = 0; 28792 28793 this.bufferedRequest = null; 28794 this.lastBufferedRequest = null; 28795 28796 // number of pending user-supplied write callbacks 28797 // this must be 0 before 'finish' can be emitted 28798 this.pendingcb = 0; 28799 28800 // emit prefinish if the only thing we're waiting for is _write cbs 28801 // This is relevant for synchronous Transform streams 28802 this.prefinished = false; 28803 28804 // True if the error was already emitted and should not be thrown again 28805 this.errorEmitted = false; 28806 28807 // count buffered requests 28808 this.bufferedRequestCount = 0; 28809 28810 // allocate the first CorkedRequest, there is always 28811 // one allocated and free to use, and we maintain at most two 28812 this.corkedRequestsFree = new CorkedRequest(this); 28813} 28814 28815WritableState.prototype.getBuffer = function getBuffer() { 28816 var current = this.bufferedRequest; 28817 var out = []; 28818 while (current) { 28819 out.push(current); 28820 current = current.next; 28821 } 28822 return out; 28823}; 28824 28825(function () { 28826 try { 28827 Object.defineProperty(WritableState.prototype, 'buffer', { 28828 get: internalUtil.deprecate(function () { 28829 return this.getBuffer(); 28830 }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') 28831 }); 28832 } catch (_) {} 28833})(); 28834 28835// Test _writableState for inheritance to account for Duplex streams, 28836// whose prototype chain only points to Readable. 28837var realHasInstance; 28838if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { 28839 realHasInstance = Function.prototype[Symbol.hasInstance]; 28840 Object.defineProperty(Writable, Symbol.hasInstance, { 28841 value: function (object) { 28842 if (realHasInstance.call(this, object)) return true; 28843 if (this !== Writable) return false; 28844 28845 return object && object._writableState instanceof WritableState; 28846 } 28847 }); 28848} else { 28849 realHasInstance = function (object) { 28850 return object instanceof this; 28851 }; 28852} 28853 28854function Writable(options) { 28855 Duplex = Duplex || __webpack_require__(240); 28856 28857 // Writable ctor is applied to Duplexes, too. 28858 // `realHasInstance` is necessary because using plain `instanceof` 28859 // would return false, as no `_writableState` property is attached. 28860 28861 // Trying to use the custom `instanceof` for Writable here will also break the 28862 // Node.js LazyTransform implementation, which has a non-trivial getter for 28863 // `_writableState` that would lead to infinite recursion. 28864 if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { 28865 return new Writable(options); 28866 } 28867 28868 this._writableState = new WritableState(options, this); 28869 28870 // legacy. 28871 this.writable = true; 28872 28873 if (options) { 28874 if (typeof options.write === 'function') this._write = options.write; 28875 28876 if (typeof options.writev === 'function') this._writev = options.writev; 28877 28878 if (typeof options.destroy === 'function') this._destroy = options.destroy; 28879 28880 if (typeof options.final === 'function') this._final = options.final; 28881 } 28882 28883 Stream.call(this); 28884} 28885 28886// Otherwise people can pipe Writable streams, which is just wrong. 28887Writable.prototype.pipe = function () { 28888 this.emit('error', new Error('Cannot pipe, not readable')); 28889}; 28890 28891function writeAfterEnd(stream, cb) { 28892 var er = new Error('write after end'); 28893 // TODO: defer error events consistently everywhere, not just the cb 28894 stream.emit('error', er); 28895 pna.nextTick(cb, er); 28896} 28897 28898// Checks that a user-supplied chunk is valid, especially for the particular 28899// mode the stream is in. Currently this means that `null` is never accepted 28900// and undefined/non-string values are only allowed in object mode. 28901function validChunk(stream, state, chunk, cb) { 28902 var valid = true; 28903 var er = false; 28904 28905 if (chunk === null) { 28906 er = new TypeError('May not write null values to stream'); 28907 } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { 28908 er = new TypeError('Invalid non-string/buffer chunk'); 28909 } 28910 if (er) { 28911 stream.emit('error', er); 28912 pna.nextTick(cb, er); 28913 valid = false; 28914 } 28915 return valid; 28916} 28917 28918Writable.prototype.write = function (chunk, encoding, cb) { 28919 var state = this._writableState; 28920 var ret = false; 28921 var isBuf = !state.objectMode && _isUint8Array(chunk); 28922 28923 if (isBuf && !Buffer.isBuffer(chunk)) { 28924 chunk = _uint8ArrayToBuffer(chunk); 28925 } 28926 28927 if (typeof encoding === 'function') { 28928 cb = encoding; 28929 encoding = null; 28930 } 28931 28932 if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; 28933 28934 if (typeof cb !== 'function') cb = nop; 28935 28936 if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { 28937 state.pendingcb++; 28938 ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); 28939 } 28940 28941 return ret; 28942}; 28943 28944Writable.prototype.cork = function () { 28945 var state = this._writableState; 28946 28947 state.corked++; 28948}; 28949 28950Writable.prototype.uncork = function () { 28951 var state = this._writableState; 28952 28953 if (state.corked) { 28954 state.corked--; 28955 28956 if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); 28957 } 28958}; 28959 28960Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { 28961 // node::ParseEncoding() requires lower case. 28962 if (typeof encoding === 'string') encoding = encoding.toLowerCase(); 28963 if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); 28964 this._writableState.defaultEncoding = encoding; 28965 return this; 28966}; 28967 28968function decodeChunk(state, chunk, encoding) { 28969 if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { 28970 chunk = Buffer.from(chunk, encoding); 28971 } 28972 return chunk; 28973} 28974 28975Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { 28976 // making it explicit this property is not enumerable 28977 // because otherwise some prototype manipulation in 28978 // userland will fail 28979 enumerable: false, 28980 get: function () { 28981 return this._writableState.highWaterMark; 28982 } 28983}); 28984 28985// if we're already writing something, then just put this 28986// in the queue, and wait our turn. Otherwise, call _write 28987// If we return false, then we need a drain event, so set that flag. 28988function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { 28989 if (!isBuf) { 28990 var newChunk = decodeChunk(state, chunk, encoding); 28991 if (chunk !== newChunk) { 28992 isBuf = true; 28993 encoding = 'buffer'; 28994 chunk = newChunk; 28995 } 28996 } 28997 var len = state.objectMode ? 1 : chunk.length; 28998 28999 state.length += len; 29000 29001 var ret = state.length < state.highWaterMark; 29002 // we must ensure that previous needDrain will not be reset to false. 29003 if (!ret) state.needDrain = true; 29004 29005 if (state.writing || state.corked) { 29006 var last = state.lastBufferedRequest; 29007 state.lastBufferedRequest = { 29008 chunk: chunk, 29009 encoding: encoding, 29010 isBuf: isBuf, 29011 callback: cb, 29012 next: null 29013 }; 29014 if (last) { 29015 last.next = state.lastBufferedRequest; 29016 } else { 29017 state.bufferedRequest = state.lastBufferedRequest; 29018 } 29019 state.bufferedRequestCount += 1; 29020 } else { 29021 doWrite(stream, state, false, len, chunk, encoding, cb); 29022 } 29023 29024 return ret; 29025} 29026 29027function doWrite(stream, state, writev, len, chunk, encoding, cb) { 29028 state.writelen = len; 29029 state.writecb = cb; 29030 state.writing = true; 29031 state.sync = true; 29032 if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); 29033 state.sync = false; 29034} 29035 29036function onwriteError(stream, state, sync, er, cb) { 29037 --state.pendingcb; 29038 29039 if (sync) { 29040 // defer the callback if we are being called synchronously 29041 // to avoid piling up things on the stack 29042 pna.nextTick(cb, er); 29043 // this can emit finish, and it will always happen 29044 // after error 29045 pna.nextTick(finishMaybe, stream, state); 29046 stream._writableState.errorEmitted = true; 29047 stream.emit('error', er); 29048 } else { 29049 // the caller expect this to happen before if 29050 // it is async 29051 cb(er); 29052 stream._writableState.errorEmitted = true; 29053 stream.emit('error', er); 29054 // this can emit finish, but finish must 29055 // always follow error 29056 finishMaybe(stream, state); 29057 } 29058} 29059 29060function onwriteStateUpdate(state) { 29061 state.writing = false; 29062 state.writecb = null; 29063 state.length -= state.writelen; 29064 state.writelen = 0; 29065} 29066 29067function onwrite(stream, er) { 29068 var state = stream._writableState; 29069 var sync = state.sync; 29070 var cb = state.writecb; 29071 29072 onwriteStateUpdate(state); 29073 29074 if (er) onwriteError(stream, state, sync, er, cb);else { 29075 // Check if we're actually ready to finish, but don't emit yet 29076 var finished = needFinish(state); 29077 29078 if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { 29079 clearBuffer(stream, state); 29080 } 29081 29082 if (sync) { 29083 /*<replacement>*/ 29084 asyncWrite(afterWrite, stream, state, finished, cb); 29085 /*</replacement>*/ 29086 } else { 29087 afterWrite(stream, state, finished, cb); 29088 } 29089 } 29090} 29091 29092function afterWrite(stream, state, finished, cb) { 29093 if (!finished) onwriteDrain(stream, state); 29094 state.pendingcb--; 29095 cb(); 29096 finishMaybe(stream, state); 29097} 29098 29099// Must force callback to be called on nextTick, so that we don't 29100// emit 'drain' before the write() consumer gets the 'false' return 29101// value, and has a chance to attach a 'drain' listener. 29102function onwriteDrain(stream, state) { 29103 if (state.length === 0 && state.needDrain) { 29104 state.needDrain = false; 29105 stream.emit('drain'); 29106 } 29107} 29108 29109// if there's something in the buffer waiting, then process it 29110function clearBuffer(stream, state) { 29111 state.bufferProcessing = true; 29112 var entry = state.bufferedRequest; 29113 29114 if (stream._writev && entry && entry.next) { 29115 // Fast case, write everything using _writev() 29116 var l = state.bufferedRequestCount; 29117 var buffer = new Array(l); 29118 var holder = state.corkedRequestsFree; 29119 holder.entry = entry; 29120 29121 var count = 0; 29122 var allBuffers = true; 29123 while (entry) { 29124 buffer[count] = entry; 29125 if (!entry.isBuf) allBuffers = false; 29126 entry = entry.next; 29127 count += 1; 29128 } 29129 buffer.allBuffers = allBuffers; 29130 29131 doWrite(stream, state, true, state.length, buffer, '', holder.finish); 29132 29133 // doWrite is almost always async, defer these to save a bit of time 29134 // as the hot path ends with doWrite 29135 state.pendingcb++; 29136 state.lastBufferedRequest = null; 29137 if (holder.next) { 29138 state.corkedRequestsFree = holder.next; 29139 holder.next = null; 29140 } else { 29141 state.corkedRequestsFree = new CorkedRequest(state); 29142 } 29143 state.bufferedRequestCount = 0; 29144 } else { 29145 // Slow case, write chunks one-by-one 29146 while (entry) { 29147 var chunk = entry.chunk; 29148 var encoding = entry.encoding; 29149 var cb = entry.callback; 29150 var len = state.objectMode ? 1 : chunk.length; 29151 29152 doWrite(stream, state, false, len, chunk, encoding, cb); 29153 entry = entry.next; 29154 state.bufferedRequestCount--; 29155 // if we didn't call the onwrite immediately, then 29156 // it means that we need to wait until it does. 29157 // also, that means that the chunk and cb are currently 29158 // being processed, so move the buffer counter past them. 29159 if (state.writing) { 29160 break; 29161 } 29162 } 29163 29164 if (entry === null) state.lastBufferedRequest = null; 29165 } 29166 29167 state.bufferedRequest = entry; 29168 state.bufferProcessing = false; 29169} 29170 29171Writable.prototype._write = function (chunk, encoding, cb) { 29172 cb(new Error('_write() is not implemented')); 29173}; 29174 29175Writable.prototype._writev = null; 29176 29177Writable.prototype.end = function (chunk, encoding, cb) { 29178 var state = this._writableState; 29179 29180 if (typeof chunk === 'function') { 29181 cb = chunk; 29182 chunk = null; 29183 encoding = null; 29184 } else if (typeof encoding === 'function') { 29185 cb = encoding; 29186 encoding = null; 29187 } 29188 29189 if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); 29190 29191 // .end() fully uncorks 29192 if (state.corked) { 29193 state.corked = 1; 29194 this.uncork(); 29195 } 29196 29197 // ignore unnecessary end() calls. 29198 if (!state.ending && !state.finished) endWritable(this, state, cb); 29199}; 29200 29201function needFinish(state) { 29202 return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; 29203} 29204function callFinal(stream, state) { 29205 stream._final(function (err) { 29206 state.pendingcb--; 29207 if (err) { 29208 stream.emit('error', err); 29209 } 29210 state.prefinished = true; 29211 stream.emit('prefinish'); 29212 finishMaybe(stream, state); 29213 }); 29214} 29215function prefinish(stream, state) { 29216 if (!state.prefinished && !state.finalCalled) { 29217 if (typeof stream._final === 'function') { 29218 state.pendingcb++; 29219 state.finalCalled = true; 29220 pna.nextTick(callFinal, stream, state); 29221 } else { 29222 state.prefinished = true; 29223 stream.emit('prefinish'); 29224 } 29225 } 29226} 29227 29228function finishMaybe(stream, state) { 29229 var need = needFinish(state); 29230 if (need) { 29231 prefinish(stream, state); 29232 if (state.pendingcb === 0) { 29233 state.finished = true; 29234 stream.emit('finish'); 29235 } 29236 } 29237 return need; 29238} 29239 29240function endWritable(stream, state, cb) { 29241 state.ending = true; 29242 finishMaybe(stream, state); 29243 if (cb) { 29244 if (state.finished) pna.nextTick(cb);else stream.once('finish', cb); 29245 } 29246 state.ended = true; 29247 stream.writable = false;
vendor: 5,289 bytes, lines 29248-29434
29248} 29249 29250function onCorkedFinish(corkReq, state, err) { 29251 var entry = corkReq.entry; 29252 corkReq.entry = null; 29253 while (entry) { 29254 var cb = entry.callback; 29255 state.pendingcb--; 29256 cb(err); 29257 entry = entry.next; 29258 } 29259 if (state.corkedRequestsFree) { 29260 state.corkedRequestsFree.next = corkReq; 29261 } else { 29262 state.corkedRequestsFree = corkReq; 29263 } 29264} 29265 29266Object.defineProperty(Writable.prototype, 'destroyed', { 29267 get: function () { 29268 if (this._writableState === undefined) { 29269 return false; 29270 } 29271 return this._writableState.destroyed; 29272 }, 29273 set: function (value) { 29274 // we ignore the value if the stream 29275 // has not been initialized yet 29276 if (!this._writableState) { 29277 return; 29278 } 29279 29280 // backward compatibility, the user is explicitly 29281 // managing destroyed 29282 this._writableState.destroyed = value; 29283 } 29284}); 29285 29286Writable.prototype.destroy = destroyImpl.destroy; 29287Writable.prototype._undestroy = destroyImpl.undestroy; 29288Writable.prototype._destroy = function (err, cb) { 29289 this.end(); 29290 cb(err); 29291}; 29292/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57), __webpack_require__(455).setImmediate, __webpack_require__(34))) 29293 29294/***/ }), 29295/* 472 */ 29296/***/ (function(module, exports, __webpack_require__) { 29297 29298/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */ 29299;(function(root) { 29300 29301 /** Detect free variables */ 29302 var freeExports = true && exports && 29303 !exports.nodeType && exports; 29304 var freeModule = true && module && 29305 !module.nodeType && module; 29306 var freeGlobal = typeof global == 'object' && global; 29307 if ( 29308 freeGlobal.global === freeGlobal || 29309 freeGlobal.window === freeGlobal || 29310 freeGlobal.self === freeGlobal 29311 ) { 29312 root = freeGlobal; 29313 } 29314 29315 /** 29316 * The `punycode` object. 29317 * @name punycode 29318 * @type Object 29319 */ 29320 var punycode, 29321 29322 /** Highest positive signed 32-bit float value */ 29323 maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 29324 29325 /** Bootstring parameters */ 29326 base = 36, 29327 tMin = 1, 29328 tMax = 26, 29329 skew = 38, 29330 damp = 700, 29331 initialBias = 72, 29332 initialN = 128, // 0x80 29333 delimiter = '-', // '\x2D' 29334 29335 /** Regular expressions */ 29336 regexPunycode = /^xn--/, 29337 regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars 29338 regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators 29339 29340 /** Error messages */ 29341 errors = { 29342 'overflow': 'Overflow: input needs wider integers to process', 29343 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', 29344 'invalid-input': 'Invalid input' 29345 }, 29346 29347 /** Convenience shortcuts */ 29348 baseMinusTMin = base - tMin, 29349 floor = Math.floor, 29350 stringFromCharCode = String.fromCharCode, 29351 29352 /** Temporary variable */ 29353 key; 29354 29355 /*--------------------------------------------------------------------------*/ 29356 29357 /** 29358 * A generic error utility function. 29359 * @private 29360 * @param {String} type The error type. 29361 * @returns {Error} Throws a `RangeError` with the applicable error message. 29362 */ 29363 function error(type) { 29364 throw new RangeError(errors[type]); 29365 } 29366 29367 /** 29368 * A generic `Array#map` utility function. 29369 * @private 29370 * @param {Array} array The array to iterate over. 29371 * @param {Function} callback The function that gets called for every array 29372 * item. 29373 * @returns {Array} A new array of values returned by the callback function. 29374 */ 29375 function map(array, fn) { 29376 var length = array.length; 29377 var result = []; 29378 while (length--) { 29379 result[length] = fn(array[length]); 29380 } 29381 return result; 29382 } 29383 29384 /** 29385 * A simple `Array#map`-like wrapper to work with domain name strings or email 29386 * addresses. 29387 * @private 29388 * @param {String} domain The domain name or email address. 29389 * @param {Function} callback The function that gets called for every 29390 * character. 29391 * @returns {Array} A new string of characters returned by the callback 29392 * function. 29393 */ 29394 function mapDomain(string, fn) { 29395 var parts = string.split('@'); 29396 var result = ''; 29397 if (parts.length > 1) { 29398 // In email addresses, only the domain name should be punycoded. Leave 29399 // the local part (i.e. everything up to `@`) intact. 29400 result = parts[0] + '@'; 29401 string = parts[1]; 29402 } 29403 // Avoid `split(regex)` for IE8 compatibility. See #17. 29404 string = string.replace(regexSeparators, '\x2E'); 29405 var labels = string.split('.'); 29406 var encoded = map(labels, fn).join('.'); 29407 return result + encoded; 29408 } 29409 29410 /** 29411 * Creates an array containing the numeric code points of each Unicode 29412 * character in the string. While JavaScript uses UCS-2 internally, 29413 * this function will convert a pair of surrogate halves (each of which 29414 * UCS-2 exposes as separate characters) into a single code point, 29415 * matching UTF-16. 29416 * @see `punycode.ucs2.encode` 29417 * @see <https://mathiasbynens.be/notes/javascript-encoding> 29418 * @memberOf punycode.ucs2 29419 * @name decode 29420 * @param {String} string The Unicode input string (UCS-2). 29421 * @returns {Array} The new array of code points. 29422 */ 29423 function ucs2decode(string) { 29424 var output = [], 29425 counter = 0, 29426 length = string.length, 29427 value, 29428 extra; 29429 while (counter < length) { 29430 value = string.charCodeAt(counter++); 29431 if (value >= 0xD800 && value <= 0xDBFF && counter < length) { 29432 // high surrogate, and there is a next character 29433 extra = string.charCodeAt(counter++); 29434 if ((extra & 0xFC00) == 0xDC00) { // low surrogate
vendor: 2,267 bytes, lines 29435-29511
29435 output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); 29436 } else { 29437 // unmatched surrogate; only append this code unit, in case the next 29438 // code unit is the high surrogate of a surrogate pair 29439 output.push(value); 29440 counter--; 29441 } 29442 } else { 29443 output.push(value); 29444 } 29445 } 29446 return output; 29447 } 29448 29449 /** 29450 * Creates a string based on an array of numeric code points. 29451 * @see `punycode.ucs2.decode` 29452 * @memberOf punycode.ucs2 29453 * @name encode 29454 * @param {Array} codePoints The array of numeric code points. 29455 * @returns {String} The new Unicode string (UCS-2). 29456 */ 29457 function ucs2encode(array) { 29458 return map(array, function(value) { 29459 var output = ''; 29460 if (value > 0xFFFF) { 29461 value -= 0x10000; 29462 output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); 29463 value = 0xDC00 | value & 0x3FF; 29464 } 29465 output += stringFromCharCode(value); 29466 return output; 29467 }).join(''); 29468 } 29469 29470 /** 29471 * Converts a basic code point into a digit/integer. 29472 * @see `digitToBasic()` 29473 * @private 29474 * @param {Number} codePoint The basic numeric code point value. 29475 * @returns {Number} The numeric value of a basic code point (for use in 29476 * representing integers) in the range `0` to `base - 1`, or `base` if 29477 * the code point does not represent a value. 29478 */ 29479 function basicToDigit(codePoint) { 29480 if (codePoint - 48 < 10) { 29481 return codePoint - 22; 29482 } 29483 if (codePoint - 65 < 26) { 29484 return codePoint - 65; 29485 } 29486 if (codePoint - 97 < 26) { 29487 return codePoint - 97; 29488 } 29489 return base; 29490 } 29491 29492 /** 29493 * Converts a digit/integer into a basic code point. 29494 * @see `basicToDigit()` 29495 * @private 29496 * @param {Number} digit The numeric value of a basic code point. 29497 * @returns {Number} The basic code point whose value (when used for 29498 * representing integers) is `digit`, which needs to be in the range 29499 * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is 29500 * used; else, the lowercase form is used. The behavior is undefined 29501 * if `flag` is non-zero and `digit` has no uppercase form. 29502 */ 29503 function digitToBasic(digit, flag) { 29504 // 0..25 map to ASCII a..z or A..Z 29505 // 26..35 map to ASCII 0..9 29506 return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); 29507 } 29508 29509 /** 29510 * Bias adaptation function as per section 3.4 of RFC 3492. 29511 * https
vendor: 7,293 bytes, lines 29511-29786
29511://tools.ietf.org/html/rfc3492#section-3.4 29512 * @private 29513 */ 29514 function adapt(delta, numPoints, firstTime) { 29515 var k = 0; 29516 delta = firstTime ? floor(delta / damp) : delta >> 1; 29517 delta += floor(delta / numPoints); 29518 for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { 29519 delta = floor(delta / baseMinusTMin); 29520 } 29521 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); 29522 } 29523 29524 /** 29525 * Converts a Punycode string of ASCII-only symbols to a string of Unicode 29526 * symbols. 29527 * @memberOf punycode 29528 * @param {String} input The Punycode string of ASCII-only symbols. 29529 * @returns {String} The resulting string of Unicode symbols. 29530 */ 29531 function decode(input) { 29532 // Don't use UCS-2 29533 var output = [], 29534 inputLength = input.length, 29535 out, 29536 i = 0, 29537 n = initialN, 29538 bias = initialBias, 29539 basic, 29540 j, 29541 index, 29542 oldi, 29543 w, 29544 k, 29545 digit, 29546 t, 29547 /** Cached calculation results */ 29548 baseMinusT; 29549 29550 // Handle the basic code points: let `basic` be the number of input code 29551 // points before the last delimiter, or `0` if there is none, then copy 29552 // the first basic code points to the output. 29553 29554 basic = input.lastIndexOf(delimiter); 29555 if (basic < 0) { 29556 basic = 0; 29557 } 29558 29559 for (j = 0; j < basic; ++j) { 29560 // if it's not a basic code point 29561 if (input.charCodeAt(j) >= 0x80) { 29562 error('not-basic'); 29563 } 29564 output.push(input.charCodeAt(j)); 29565 } 29566 29567 // Main decoding loop: start just after the last delimiter if any basic code 29568 // points were copied; start at the beginning otherwise. 29569 29570 for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { 29571 29572 // `index` is the index of the next character to be consumed. 29573 // Decode a generalized variable-length integer into `delta`, 29574 // which gets added to `i`. The overflow checking is easier 29575 // if we increase `i` as we go, then subtract off its starting 29576 // value at the end to obtain `delta`. 29577 for (oldi = i, w = 1, k = base; /* no condition */; k += base) { 29578 29579 if (index >= inputLength) { 29580 error('invalid-input'); 29581 } 29582 29583 digit = basicToDigit(input.charCodeAt(index++)); 29584 29585 if (digit >= base || digit > floor((maxInt - i) / w)) { 29586 error('overflow'); 29587 } 29588 29589 i += digit * w; 29590 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); 29591 29592 if (digit < t) { 29593 break; 29594 } 29595 29596 baseMinusT = base - t; 29597 if (w > floor(maxInt / baseMinusT)) { 29598 error('overflow'); 29599 } 29600 29601 w *= baseMinusT; 29602 29603 } 29604 29605 out = output.length + 1; 29606 bias = adapt(i - oldi, out, oldi == 0); 29607 29608 // `i` was supposed to wrap around from `out` to `0`, 29609 // incrementing `n` each time, so we'll fix that now: 29610 if (floor(i / out) > maxInt - n) { 29611 error('overflow'); 29612 } 29613 29614 n += floor(i / out); 29615 i %= out; 29616 29617 // Insert `n` at position `i` of the output 29618 output.splice(i++, 0, n); 29619 29620 } 29621 29622 return ucs2encode(output); 29623 } 29624 29625 /** 29626 * Converts a string of Unicode symbols (e.g. a domain name label) to a 29627 * Punycode string of ASCII-only symbols. 29628 * @memberOf punycode 29629 * @param {String} input The string of Unicode symbols. 29630 * @returns {String} The resulting Punycode string of ASCII-only symbols. 29631 */ 29632 function encode(input) { 29633 var n, 29634 delta, 29635 handledCPCount, 29636 basicLength, 29637 bias, 29638 j, 29639 m, 29640 q, 29641 k, 29642 t, 29643 currentValue, 29644 output = [], 29645 /** `inputLength` will hold the number of code points in `input`. */ 29646 inputLength, 29647 /** Cached calculation results */ 29648 handledCPCountPlusOne, 29649 baseMinusT, 29650 qMinusT; 29651 29652 // Convert the input in UCS-2 to Unicode 29653 input = ucs2decode(input); 29654 29655 // Cache the length 29656 inputLength = input.length; 29657 29658 // Initialize the state 29659 n = initialN; 29660 delta = 0; 29661 bias = initialBias; 29662 29663 // Handle the basic code points 29664 for (j = 0; j < inputLength; ++j) { 29665 currentValue = input[j]; 29666 if (currentValue < 0x80) { 29667 output.push(stringFromCharCode(currentValue)); 29668 } 29669 } 29670 29671 handledCPCount = basicLength = output.length; 29672 29673 // `handledCPCount` is the number of code points that have been handled; 29674 // `basicLength` is the number of basic code points. 29675 29676 // Finish the basic string - if it is not empty - with a delimiter 29677 if (basicLength) { 29678 output.push(delimiter); 29679 } 29680 29681 // Main encoding loop: 29682 while (handledCPCount < inputLength) { 29683 29684 // All non-basic code points < n have been handled already. Find the next 29685 // larger one: 29686 for (m = maxInt, j = 0; j < inputLength; ++j) { 29687 currentValue = input[j]; 29688 if (currentValue >= n && currentValue < m) { 29689 m = currentValue; 29690 } 29691 } 29692 29693 // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, 29694 // but guard against overflow 29695 handledCPCountPlusOne = handledCPCount + 1; 29696 if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { 29697 error('overflow'); 29698 } 29699 29700 delta += (m - n) * handledCPCountPlusOne; 29701 n = m; 29702 29703 for (j = 0; j < inputLength; ++j) { 29704 currentValue = input[j]; 29705 29706 if (currentValue < n && ++delta > maxInt) { 29707 error('overflow'); 29708 } 29709 29710 if (currentValue == n) { 29711 // Represent delta as a generalized variable-length integer 29712 for (q = delta, k = base; /* no condition */; k += base) { 29713 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); 29714 if (q < t) { 29715 break; 29716 } 29717 qMinusT = q - t; 29718 baseMinusT = base - t; 29719 output.push( 29720 stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) 29721 ); 29722 q = floor(qMinusT / baseMinusT); 29723 } 29724 29725 output.push(stringFromCharCode(digitToBasic(q, 0))); 29726 bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); 29727 delta = 0; 29728 ++handledCPCount; 29729 } 29730 } 29731 29732 ++delta; 29733 ++n; 29734 29735 } 29736 return output.join(''); 29737 } 29738 29739 /** 29740 * Converts a Punycode string representing a domain name or an email address 29741 * to Unicode. Only the Punycoded parts of the input will be converted, i.e. 29742 * it doesn't matter if you call it on a string that has already been 29743 * converted to Unicode. 29744 * @memberOf punycode 29745 * @param {String} input The Punycoded domain name or email address to 29746 * convert to Unicode. 29747 * @returns {String} The Unicode representation of the given Punycode 29748 * string. 29749 */ 29750 function toUnicode(input) { 29751 return mapDomain(input, function(string) { 29752 return regexPunycode.test(string) 29753 ? decode(string.slice(4).toLowerCase()) 29754 : string; 29755 }); 29756 } 29757 29758 /** 29759 * Converts a Unicode string representing a domain name or an email address to 29760 * Punycode. Only the non-ASCII parts of the domain name will be converted, 29761 * i.e. it doesn't matter if you call it with a domain that's already in 29762 * ASCII. 29763 * @memberOf punycode 29764 * @param {String} input The domain name or email address to convert, as a 29765 * Unicode string. 29766 * @returns {String} The Punycode representation of the given domain name or 29767 * email address. 29768 */ 29769 function toASCII(input) { 29770 return mapDomain(input, function(string) { 29771 return regexNonASCII.test(string) 29772 ? 'xn--' + encode(string) 29773 : string; 29774 }); 29775 } 29776 29777 /*--------------------------------------------------------------------------*/ 29778 29779 /** Define the public API */ 29780 punycode = { 29781 /** 29782 * A string representing the current Punycode.js version number. 29783 * @memberOf punycode 29784 * @type String 29785 */ 29786 'version': '1.
297864.1', 29787 /** 29788 * An object of methods to convert from JavaScript's internal character 29789 * representation (UCS-2) to Unicode code points, and back. 29790 * @see <https://mathiasbynens.be/notes/javascript-encoding> 29791 * @memberOf punycode 29792 * @type Object 29793 */ 29794 'ucs2': { 29795 'decode': ucs2decode, 29796 'encode': ucs2encode 29797 }, 29798 'decode': decode, 29799 'encode': encode, 29800 'toASCII': toASCII, 29801 'toUnicode': toUnicode 29802 }; 29803 29804 /** Expose `punycode` */ 29805 // Some AMD build optimizers, like r.js, check for specific condition patterns 29806 // like the following: 29807 if ( 29808 true 29809 ) { 29810 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { 29811 return punycode; 29812 }).call(exports, __webpack_require__, exports, module), 29813 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 29814 } else {} 29815 29816}(this)); 29817 29818/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(186)(module), __webpack_require__(34))) 29819 29820/***/ }), 29821/* 473 */, 29822/* 474 */, 29823/* 475 */, 29824/* 476 */, 29825/* 477 */ 29826/***/ (function(module, exports, __webpack_require__) { 29827 29828var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) { 29829 if (true) { 29830 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, module], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 29831 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 29832 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 29833 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 29834 } else { var mod; } 29835})(this, function (exports, module) { 29836 'use strict'; 29837 29838 var defaultOptions = { 29839 timeout: 5000, 29840 jsonpCallback: 'callback', 29841 jsonpCallbackFunction: null 29842 }; 29843 29844 function generateCallbackFunction() { 29845 return 'jsonp_' + Date.now() + '_' + Math.ceil(Math.random() * 100000); 29846 } 29847 29848 function clearFunction(functionName) { 29849 // IE8 throws an exception when you try to delete a property on window 29850 // http://stackoverflow.com/a/1824228/751089 29851 try { 29852 delete window[functionName]; 29853 } catch (e) { 29854 window[functionName] = undefined; 29855 } 29856 } 29857 29858 function removeScript(scriptId) { 29859 var script = document.getElementById(scriptId); 29860 if (script) { 29861 document.getElementsByTagName('head')[0].removeChild(script); 29862 } 29863 } 29864 29865 function fetchJsonp(_url) { 29866 var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; 29867 29868 // to avoid param reassign 29869 var url = _url; 29870 var timeout = options.timeout || defaultOptions.timeout; 29871 var jsonpCallback = options.jsonpCallback || defaultOptions.jsonpCallback; 29872 29873 var timeoutId = undefined; 29874 29875 return new Promise(function (resolve, reject) { 29876 var callbackFunction = options.jsonpCallbackFunction || generateCallbackFunction(); 29877 var scriptId = jsonpCallback + '_' + callbackFunction; 29878 29879 window[callbackFunction] = function (response) { 29880 resolve({ 29881 ok: true, 29882 // keep consistent with fetch API 29883 json: function json() { 29884 return Promise.resolve(response); 29885 } 29886 }); 29887 29888 if (timeoutId) clearTimeout(timeoutId); 29889 29890 removeScript(scriptId); 29891 29892 clearFunction(callbackFunction); 29893 }; 29894 29895 // Check if the user set their own params, and if not add a ? to start a list of params 29896 url += url.indexOf('?') === -1 ? '?' : '&'; 29897 29898 var jsonpScript = document.createElement('script'); 29899 jsonpScript.setAttribute('src', '' + url + jsonpCallback + '=' + callbackFunction); 29900 if (options.charset) { 29901 jsonpScript.setAttribute('charset', options.charset); 29902 } 29903 if (options.nonce) { 29904 jsonpScript.setAttribute('nonce', options.nonce); 29905 } 29906 if (options.referrerPolicy) { 29907 jsonpScript.setAttribute('referrerPolicy', options.referrerPolicy); 29908 } 29909 jsonpScript.id = scriptId; 29910 document.getElementsByTagName('head')[0].appendChild(jsonpScript); 29911 29912 timeoutId = setTimeout(function () { 29913 reject(new Error('JSONP request to ' + _url + ' timed out')); 29914 29915 clearFunction(callbackFunction); 29916 removeScript(scriptId); 29917 window[callbackFunction] = function () { 29918 clearFunction(callbackFunction); 29919 }; 29920 }, timeout); 29921 29922 // Caught if got 404/500 29923 jsonpScript.onerror = function () { 29924 reject(new Error('JSONP request to ' + _url + ' failed')); 29925 29926 clearFunction(callbackFunction); 29927 removeScript(scriptId); 29928 if (timeoutId) clearTimeout(timeoutId); 29929 }; 29930 }); 29931 } 29932 29933 // export as global function 29934 /* 29935 let local; 29936 if (typeof global !== 'undefined') { 29937 local = global; 29938 } else if (typeof self !== 'undefined') { 29939 local = self; 29940 } else { 29941 try { 29942 local = Function('return this')(); 29943 } catch (e) { 29944 throw new Error('polyfill failed because global object is unavailable in this environment'); 29945 } 29946 } 29947 local.fetchJsonp = fetchJsonp; 29948 */ 29949 29950 module.exports = fetchJsonp; 29951}); 29952 29953/***/ }), 29954/* 478 */ 29955/***/ (function(module, __webpack_exports__, __webpack_require__) { 29956 29957"use strict"; 29958/* unused harmony export makeURL */ 29959/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return init; }); 29960/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75); 29961/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 29962/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); 29963/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__); 29964/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60); 29965/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2__); 29966/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); 29967/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__); 29968/* harmony import */ var _fetchTimeout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(127); 29969/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10); 29970 29971 29972 29973 29974 29975 29976var makeURL = function makeURL(id) { 29977 var mapiUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "./"; 29978 return "".concat(mapiUrl, "public/service/").concat(id); 29979}; 29980var init = /*#__PURE__*/function () { 29981 var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(id, fallback, mapiUrl, returnWithoutStreams) { 29982 var request, response; 29983 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) { 29984 while (1) { 29985 switch (_context.prev = _context.next) { 29986 case 0: 29987 _context.prev = 0; 29988 _context.next = 3; 29989 return Object(_fetchTimeout__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(makeURL(id, mapiUrl), {}, 3000); 29990 29991 case 3: 29992 request = _context.sent; 29993 _context.next = 6; 29994 return request.json(); 29995 29996 case 6: 29997 response = _context.sent; 29998 return _context.abrupt("return", response); 29999 30000 case 10: 30001 _context.prev = 10; 30002 _context.t0 = _context["catch"](0); 30003 Object(_logger__WEBPACK_IMPORTED_MODULE_5__[/* warn */ "e"])("Init error", _context.t0); 30004 30005 case 13: 30006 return _context.abrupt("return", { 30007 id: id, 30008 streams: fallback 30009 }); 30010 30011 case 14: 30012 case "end": 30013 return _context.stop(); 30014 } 30015 } 30016 }, _callee, null, [[0, 10]]); 30017 })); 30018 30019 return function init(_x, _x2, _x3, _x4) { 30020 return _ref.apply(this, arguments); 30021 }; 30022}(); 30023 30024/***/ }), 30025/* 479 */ 30026/***/ (function(module, exports, __webpack_require__) { 30027 30028"use strict"; 30029 30030 30031var _require = __webpack_require__(774), 30032 ConsentString = _require.ConsentString; 30033 30034var _require2 = __webpack_require__(467), 30035 decodeConsentString = _require2.decodeConsentString; 30036 30037var _require3 = __webpack_require__(464), 30038 encodeConsentString = _require3.encodeConsentString; 30039 30040module.exports = { 30041 ConsentString: ConsentString, 30042 decodeConsentString: decodeConsentString, 30043 encodeConsentString: encodeConsentString 30044}; 30045 30046/***/ }), 30047/* 480 */ 30048/***/ (function(module, exports, __webpack_require__) { 30049 30050"use strict"; 30051/* WEBPACK VAR INJECTION */(function(Buffer) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; 30052 30053(function (root, factory) { 30054 if (true) { 30055 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 30056 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 30057 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
30058 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 30059 } else {} 30060}(typeof self === "undefined" ? this : self, function () { 30061 var decodeBinary = function (string) { 30062 var result = ""; 30063 30064 for (var index = 0, length = string.length; index < length; index += 1) { 30065 var bits = string.charCodeAt(index).toString(2); 30066 var pad = "00000000".slice(0, 8 - bits.length); 30067 result += pad + bits; 30068 } 30069 30070 return result; 30071 }; 30072 30073 var decodeBase64 = function (string) { 30074 if (typeof atob === "function") { 30075 var stringFixed = string. 30076 replace(/_/g, "/"). 30077 replace(/-/g, "+"); 30078 30079 try { 30080 return atob(stringFixed); 30081 } catch (error) { 30082 throw new Error("Unable to decode transparency and consent string"); 30083 } 30084 } 30085 30086 if (typeof Buffer === "function") { 30087 return Buffer.from(string, "base64").toString("binary"); 30088 } 30089 30090 throw new Error("Unable to detect base64 decoder"); 30091 }; 30092 30093 var decodeInt = function (bits) { 30094 return parseInt(bits, 2) || 0; 30095 }; 30096 30097 var decodeDate = function (bits) { 30098 return decodeInt(bits) * 100; 30099 }; 30100 30101 var decodeString = function (bits) { 30102 var charOffset = "A".charCodeAt(); 30103 var items = bits.match(/.{6}/g) || []; 30104 var result = ""; 30105 30106 for (var index = 0, length = items.length; index < length; index += 1) { 30107 var charCode = decodeInt(items[index]) + charOffset; 30108 result += String.fromCharCode(charCode); 30109 } 30110 30111 return result; 30112 }; 30113 30114 var decodeBoolean = function (bit) { 30115 return Boolean(Number(bit)); 30116 }; 30117 30118 var decodeFlags = function (bits) { 30119 var items = bits.split(""); 30120 var result = {}; 30121 30122 for (var index = 0, length = items.length; index < length; index += 1) { 30123 if (decodeBoolean(items[index])) { 30124 result[index + 1] = true; 30125 } 30126 } 30127 30128 return result; 30129 }; 30130 30131 var getSegments = function (string) { 30132 if (typeof string !== "string") { 30133 throw new Error("Invalid transparency and consent string specified"); 30134 } 30135 30136 var stringBlocks = string.split("."); 30137 var result = []; 30138 30139 for (var index = 0, length = stringBlocks.length; index < length; index += 1) { 30140 result.push(decodeBinary(decodeBase64(stringBlocks[index]))); 30141 } 30142 30143 var version = decodeInt(result[0].slice(0, 6)); 30144 if (version !== 2) { 30145 throw new Error("Unsupported transparency and consent string version â" + version + "â"); 30146 } 30147 30148 return result; 30149 }; 30150 30151 var getQueue = function (segments) { 30152 var queuePurposes = [{ 30153 key: "purposeConsents", 30154 size: 24, 30155 decoder: decodeFlags 30156 }, { 30157 key: "purposeLegitimateInterests", 30158 size: 24, 30159 decoder: decodeFlags 30160 }]; 30161 30162 var queueVendors = [{ 30163 key: "maxVendorId", 30164 size: 16 30165 }, { 30166 key: "isRangeEncoding", 30167 size: 1, 30168 decoder: decodeBoolean 30169 }]; 30170 30171 var queueCore = [{ 30172 key: "version", 30173 size: 6 30174 }, { 30175 key: "created", 30176 size: 36, 30177 decoder: decodeDate 30178 }, { 30179 key: "lastUpdated", 30180 size: 36, 30181 decoder: decodeDate 30182 }, { 30183 key: "cmpId", 30184 size: 12 30185 }, { 30186 key: "cmpVersion", 30187 size: 12 30188 }, { 30189 key: "consentScreen", 30190 size: 6 30191 }, { 30192 key: "consentLanguage", 30193 size: 12, 30194 decoder: decodeString 30195 }, { 30196 key: "vendorListVersion", 30197 size: 12 30198 }, { 30199 key: "policyVersion", 30200 size: 6 30201 }, { 30202 key: "isServiceSpecified", 30203 size: 1, 30204 decoder: decodeBoolean 30205 }, { 30206 key: "useNonStandardStacks", 30207 size: 1, 30208 decoder: decodeBoolean 30209 }, { 30210 key: "specialFeatureOptins", 30211 size: 12, 30212 decoder: decodeFlags 30213 }].concat(queuePurposes).concat({ 30214 key: "purposeOneTreatment", 30215 size: 1, 30216 decoder: decodeBoolean 30217 }, { 30218 key: "publisherCountryCode", 30219 size: 12, 30220 decoder: decodeString 30221 }, { 30222 key: "vendorConsents", 30223 queue: [{ 30224 key: "maxVendorId", 30225 size: 16 30226 }, { 30227 key: "isRangeEncoding", 30228 size: 1, 30229 decoder: decodeBoolean 30230 }] 30231 }, { 30232 key: "vendorLegitimateInterests", 30233 queue: queueVendors 30234 }, { 30235 key: "publisherRestrictions", 30236 queue: [{ 30237 key: "numPubRestrictions", 30238 size: 12 30239 }] 30240 }); 30241 30242 var queueSegment = [{ 30243 size: 3 30244 }]; 30245 30246 var queueDisclosedVendors = []. 30247 concat(queueSegment). 30248 concat(queueVendors); 30249 30250 var queueAllowedVendors = []. 30251 concat(queueSegment). 30252 concat(queueVendors); 30253 30254 var queuePublisherTC = []. 30255 concat(queueSegment). 30256 concat(queuePurposes). 30257 concat({ 30258 key: "numCustomPurposes", 30259 size: 6 30260 }); 30261 30262 var result = [{ 30263 key: "core", 30264 queue: queueCore 30265 }]; 30266 30267 for (var index = 1; index < segments.length; index += 1) { 30268 var segment = segments[index]; 30269 30270 var type = decodeInt(segment.slice(0, 3)); 30271 30272 if (type === 1) { 30273 result.push({ 30274 key: "disclosedVendors", 30275 queue: queueDisclosedVendors 30276 }); 30277 } else 30278 30279 if (type === 2) { 30280 result.push({ 30281 key: "allowedVendors", 30282 queue: queueAllowedVendors 30283 }); 30284 } else 30285 30286 if (type === 3) { 30287 result.push({ 30288 key: "publisherTC", 30289 queue: queuePublisherTC 30290 }); 30291 } 30292 } 30293 30294 return result; 30295 }; 30296 30297 return function (string) { 30298 var reduceQueue = function (queue, schema, value, result) { 30299 var reduceNumPubEntries = function () { 30300 if (result.pubRestrictionEntry && result.rangeEntry
30300) { 30301 for (var key in result.rangeEntry) { 30302 if (Object.prototype.hasOwnProperty.call(result.rangeEntry, key)) { 30303 result.pubRestrictionEntry[key] = (result.pubRestrictionEntry[key] || []). 30304 concat(result.rangeEntry[key]); 30305 } 30306 } 30307 } 30308 30309 if (result.numPubRestrictions) { 30310 result.numPubRestrictions -= 1; 30311 30312 queue.push({ 30313 key: "purposeId", 30314 size: 6 30315 }, { 30316 key: "restrictionType", 30317 size: 2 30318 }, { 30319 key: "numEntries", 30320 size: 12 30321 }); 30322 } 30323 }; 30324 30325 var reduceNumEntries = function () { 30326 if (result.numEntries) { 30327 result.numEntries -= 1; 30328 30329 queue.push({ 30330 key: "isRange", 30331 size: 1, 30332 decoder: decodeBoolean 30333 }, { 30334 key: "startVendorId", 30335 size: 16 30336 }); 30337 } else { 30338 reduceNumPubEntries(); 30339 } 30340 }; 30341 30342 var getRangeResult = function () { 30343 if (result.purposeId) { 30344 return [{ 30345 purpose: result.purposeId, 30346 isAllowed: result.restrictionType !== 0, 30347 isConsentRequired: result.restrictionType === 1, 30348 isLegitimateInterestRequired: result.restrictionType === 2 30349 }]; 30350 } 30351 30352 return true; 30353 }; 30354 30355 if (schema.key === "isRangeEncoding") { 30356 queue.push(value ? { 30357 key: "numEntries", 30358 size: 12 30359 } : { 30360 key: "bitField", 30361 size: result.maxVendorId, 30362 decoder: decodeFlags 30363 }); 30364 } else 30365 30366 if (schema.key === "numEntries") { 30367 result.rangeEntry = {}; 30368 reduceNumEntries(); 30369 } else 30370 30371 if (schema.key === "isRange") { 30372 if (value) { 30373 queue.push({ 30374 key: "endVendorId", 30375 size: 16 30376 }); 30377 } 30378 } else 30379 30380 if (schema.key === "startVendorId") { 30381 if (!result.isRange) { 30382 result.rangeEntry[value] = getRangeResult(); 30383 reduceNumEntries(); 30384 } 30385 } else 30386 30387 if (schema.key === "endVendorId") { 30388 for (var vendorId = result.startVendorId; vendorId <= result.endVendorId; vendorId += 1) { 30389 result.rangeEntry[vendorId] = getRangeResult(); 30390 } 30391 reduceNumEntries(); 30392 } else 30393 30394 if (schema.key === "numCustomPurposes") { 30395 queue.push({ 30396 key: "customPurposeConsents", 30397 size: result.numCustomPurposes, 30398 decoder: decodeFlags 30399 }, { 30400 key: "customPurposeLegitimateInterests", 30401 size: result.numCustomPurposes, 30402 decoder: decodeFlags 30403 }); 30404 } else 30405 30406 if (schema.key === "numPubRestrictions") { 30407 result.pubRestrictionEntry = {}; 30408 reduceNumPubEntries(); 30409 } 30410 }; 30411 30412 var reduceResult = function (result) { 30413 return result.pubRestrictionEntry || result.rangeEntry || result.bitField || result; 30414 }; 30415 30416 var offset = 0; 30417 30418 var getSchemaResult = function (schema, bits) { 30419 var value = bits.slice(offset, offset + schema.size); 30420 offset += schema.size; 30421 return (schema.decoder || decodeInt)(value); 30422 }; 30423 30424 var getSectionResult = function (sectionSchema, bits) { 30425 if (!sectionSchema.queue) { 30426 return getSchemaResult(sectionSchema, bits); 30427 } 30428 30429 var result = {}; 30430 30431 for (var index = 0; index < sectionSchema.queue.length; index += 1) { 30432 var schema = sectionSchema.queue[index]; 30433 30434 var value = getSchemaResult(schema, bits); 30435 if (schema.key) { 30436 result[schema.key] = value; 30437 } 30438 30439 reduceQueue(sectionSchema.queue, schema, value, result); 30440 } 30441 30442 return reduceResult(result); 30443 }; 30444 30445 var getBlockResult = function (blockSchema, bits) { 30446 var result = {}; 30447 30448 for (var index = 0; index < blockSchema.queue.length; index += 1) { 30449 var schema = blockSchema.queue[index]; 30450 30451 var value = getSectionResult(schema, bits); 30452 if (schema.key) { 30453 result[schema.key] = value; 30454 } 30455 30456 reduceQueue(blockSchema.queue, schema, value, result); 30457 } 30458 30459 return reduceResult(result); 30460 }; 30461 30462 var getResult = function () { 30463 var segments = getSegments(string); 30464 var queue = getQueue(segments); 30465 30466 var result = {}; 30467 30468 for (var index = 0; index < queue.length; index += 1) { 30469 var schema = queue[index]; 30470 var bits = segments[index]; 30471 30472 var value = getBlockResult(schema, bits); 30473 if (schema.key) { 30474 result[schema.key] = value; 30475 } 30476 30477 offset = 0; 30478 } 30479 30480 return result; 30481 }; 30482 30483 return getResult(); 30484 }; 30485})); 30486 30487/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113).Buffer)) 30488
30489/***/ }), 30490/* 481 */, 30491/* 482 */ 30492/***/ (function(module, __webpack_exports__, __webpack_require__) { 30493 30494"use strict"; 30495 30496// EXPORTS 30497__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ IconSheetbabel_target_legacy_IconSheet; }); 30498 30499// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 30500var preact_modulebabel_target_legacy = __webpack_require__(1); 30501 30502// CONCATENATED MODULE: ./src/components/IconSheet/IconSheet.tsx?babel-target=legacy 30503 30504var IconSheetbabel_target_legacy_IconSheet = function IconSheet() { 30505 return Object(preact_modulebabel_target_legacy["h"])("svg", { 30506 width: "32", 30507 height: "32", 30508 style: { 30509 display: "none" 30510 }, 30511 xmlns: "http://www.w3.org/2000/svg" 30512 }, Object(preact_modulebabel_target_legacy["h"])("symbol", { 30513 id: "icon-fave-set", 30514 viewBox: "0 0 32 32" 30515 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30516 fill: "currentColor", 30517 fillRule: "evenodd", 30518 d: "M24.383 8.635a5.481 5.481 0 0 0-7.81 0 5.508 5.508 0 0 0-.573.68 5.677 5.677 0 0 0-.573-.68 5.482 5.482 0 0 0-7.81 0 5.624 5.624 0 0 0 0 7.893L16 25l8.383-8.472a5.624 5.624 0 0 0 0-7.893" 30519 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30520 id: "icon-fave-unset", 30521 viewBox: "0 0 32 32" 30522 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30523 fill: "currentColor", 30524 fillRule: "evenodd", 30525 d: "M22.281 15.215l-6.283 6.034-6.282-6.034a3.212 3.212 0 0 1-.995-2.307c0-.867.353-1.69.995-2.307a3.444 3.444 0 0 1 2.402-.955c.908 0 1.69.282 2.478.805.222.146 1.402 1.057 1.402 1.057s1.176-.911 1.403-1.057c.793-.523 1.57-.805 2.478-.805.908 0 1.762.34 2.402.955.636.61.995 1.44.995 2.307 0 .868-.35 1.687-.995 2.307m2.004-6.538A5.925 5.925 0 0 0 20.142 7a5.883 5.883 0 0 0-4.149 1.697A5.878 5.878 0 0 0 11.846 7c-1.5 0-2.988.558-4.128 1.677-2.292 2.24-2.347 5.864.176 8.345 2.816 2.773 7.313 7.207 8.105 7.978.787-.775 5.288-5.21 8.104-7.978 2.524-2.48 2.473-6.096.182-8.345" 30526 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30527 id: "icon-small-play-circle", 30528 viewBox: "0 0 32 32" 30529 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30530 fill: "currentColor", 30531 fillRule: "evenodd", 30532 d: "M16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0zm8.08 16.066l-2.4-1.637v3.274l2.4-1.637zm-4.2 2.863v-5.726l-1.8-1.229v8.182l1.8-1.227zm-3.6 2.455V10.748l-1.8-1.228v13.09l1.8-1.226zm-3.6 2.16V8.588l-1.8-1.228v17.41l1.8-1.226z" 30533 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30534 id: "icon-small-play", 30535 viewBox: "0 0 32 32" 30536 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30537 fill: "currentColor", 30538 fillRule: "evenodd", 30539 d: "M24.08 16.066l-2.4 1.637V14.43l2.4 1.637zm-4.2 2.863l-1.8 1.227v-8.182l1.8 1.229v5.726zm-3.6 2.455l-1.8 1.226V9.52l1.8 1.228v10.636zm-3.6 2.16l-1.8 1.226V7.36l1.8 1.228v14.956z" 30540 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30541 id: "icon-songaction-add", 30542 viewBox: "0 0 24 24" 30543 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30544 fill: "currentColor", 30545 fillRule: "evenodd", 30546 d: "M10.71 4v6.71H4v2.58h6.71V20h2.58v-6.71H20v-2.58h-6.71V4z" 30547 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30548 id: "icon-songaction-download", 30549 viewBox: "0 0 24 24" 30550 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30551 fill: "currentColor", 30552 fillRule: "evenodd", 30553 d: "M10.5 4v10.72l-4.609-4.61L4.001 12 11 19H5v-3H4v4h7.983l.01-.009.008.007V20L20 12l-1.89-1.89-4.61 4.61V4zM18.546 15.636v2.91h-3.879l-.97.97h5.819v-3.88z" 30554 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30555 id: "icon-songaction-info", 30556 viewBox: "0 0 24 24" 30557 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30558 fill: "currentColor", 30559 fillRule: "evenodd", 30560 d: "M16.571 16.714c-.944 0-1.714-.769-1.714-1.714s.77-1.714 1.714-1.714c.946 0 1.715.769 1.715 1.714s-.77 1.714-1.715 1.714zM7.43 19.571c-.945 0-1.715-.769-1.715-1.714s.77-1.714 1.715-1.714c.945 0 1.714.769 1.714 1.714s-.77 1.714-1.714 1.714zM9.714 6.79v8.518a3.41 3.41 0 0 0-2.285-.878 3.43 3.43 0 1 0 3.428 3.428v-6.502l8-3.01v4.105a3.41 3.41 0 0 0-2.286-.879A3.43 3.43 0 1 0 20 15V3L9.714 6.79z" 30561 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30562 id: "icon-songaction-rate",
30563 viewBox: "0 0 24 24" 30564 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30565 fill: "currentColor", 30566 fillRule: "evenodd", 30567 d: "M11.704 4l-1 2.61-3.079 4.89H6v7.2h1.77L9.5 20H17l1.09-1.105v-1.56l-.2-.205.5-.5v-1.565l-.195-.2.5-.5V12.8l-.195-.2.5-.5v-1.57l-1.03-1.045h-3.8l-.1-.185.63-2.3-.255-3h-2.74zM8.23 17.33l.144-4.454 3.5-5.585.741-1.921h.59l.125 1.5-.696 2.615.74 1.38h3.931l.35.36v.56l-.35.36H16.15l1.2 1.226v.574l-.35.36h-1.15l1.2 1.226v.574l-.35.36h-1.145l1.205 1.22v.585l-.35.36H9.94l-1.71-1.3z" 30568 })), Object(preact_modulebabel_target_legacy["h"])("symbol", { 30569 id: "icon-songaction-buy", 30570 viewBox: "0 0 24 24" 30571 }, Object(preact_modulebabel_target_legacy["h"])("path", { 30572 fill: "currentColor", 30573 fillRule: "evenodd", 30574 d: "M15.5 17.934l-.5.535-.5-.535v-4.82l.5-.536.5.536v4.82zm-2 0l-.5.535-.5-.535v-4.82l.5-.536.5.536v4.82zm-2 0l-.5.535-.5-.535v-4.82l.5-.536.5.536v4.82zm-2 0l-.5.535-.5-.535v-4.82l.5-.536.5.536v4.82zm2.32-12.585c.415 0 .75.36.75.803 0 .443-.335.803-.75.803-.414 0-.75-.36-.75-.803 0-.444.336-.803.75-.803zm0 2.945c.37 0 .713-.153 1.01-.341l2.784 2.943H8.027l2.783-2.943c.297.188.64.341 1.01.341zm7.5 2.602h-2.293l-3.49-3.7c.175-.319.283-.667.283-1.063 0-1.183-.895-2.133-2-2.133-1.104 0-2 .964-2 2.147 0 .396.107.728.283 1.046l-3.49 3.703H4.32l-.32.611v1.071l.32.46h.5l1 6.962h12l1-6.962h.5l.68-.46v-1.07l-.68-.612z" 30575 }))); 30576}; 30577/* harmony default export */ var IconSheetbabel_target_legacy = (IconSheetbabel_target_legacy_IconSheet); 30578// CONCATENATED MODULE: ./src/components/IconSheet/index.ts?babel-target=legacy 30579 30580 30581/***/ }), 30582/* 483 */, 30583/* 484 */, 30584/* 485 */ 30585/***/ (function(module, exports, __webpack_require__) { 30586 30587"use strict"; 30588var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; 30589 30590(function (root, factory) { 30591 if (true) { 30592 // AMD. Register as an anonymous module. 30593 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 30594 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 30595 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 30596 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 30597 } else {} 30598}(this, function () { 30599 30600 var STATE_OUTPUT = 0, 30601 STATE_HTML = 1, 30602 STATE_PRE_COMMENT = 2, 30603 STATE_COMMENT = 3, 30604 WHITESPACE = /\s/, 30605 ALLOWED_TAGS_REGEX = /<(\w*)>/g; 30606 30607 function striptags(html, allowableTags, tagReplacement) { 30608 var html = html || '', 30609 state = STATE_OUTPUT, 30610 depth = 0, 30611 output = '', 30612 tagBuffer = '', 30613 inQuote = false, 30614 i, length, c; 30615 30616 if (typeof allowableTags === 'string') { 30617 // Parse the string into an array of tags 30618 allowableTags = parseAllowableTags(allowableTags); 30619 } else if (!Array.isArray(allowableTags)) { 30620 // If it is not an array, explicitly set to null 30621 allowableTags = null; 30622 } 30623 30624 for (i = 0, length = html.length; i < length; i++) { 30625 c = html[i]; 30626 30627 switch (c) { 30628 case '<': { 30629 // ignore '<' if inside a quote 30630 if (inQuote) { 30631 break; 30632 } 30633 30634 // '<' followed by a space is not a valid tag, continue 30635 if (html[i + 1] == ' ') { 30636 consumeCharacter(c); 30637 break; 30638 } 30639 30640 // change to STATE_HTML 30641 if (state == STATE_OUTPUT) { 30642 state = STATE_HTML; 30643 30644 consumeCharacter(c); 30645 break; 30646 } 30647 30648 // ignore additional '<' characters when inside a tag 30649 if (state == STATE_HTML) { 30650 depth++; 30651 break; 30652 } 30653 30654 consumeCharacter(c); 30655 break; 30656 } 30657 30658 case '>': { 30659 // something like this is happening: '<<>>' 30660 if (depth) { 30661 depth--; 30662 break; 30663 } 30664 30665 // ignore '>' if inside a quote 30666 if (inQuote) { 30667 break; 30668 } 30669 30670 // an HTML tag was closed 30671 if (state == STATE_HTML) { 30672 inQuote = state = 0; 30673 30674 if (allowableTags) { 30675 tagBuffer += '>'; 30676 flushTagBuffer(); 30677 } 30678 30679 break; 30680 } 30681 30682 // '<!' met its ending '>' 30683 if (state == STATE_PRE_COMMENT) { 30684 inQuote = state = 0; 30685 tagBuffer = ''; 30686 break; 30687 } 30688 30689 // if last two characters were '--', then end comment 30690 if (state == STATE_COMMENT &&
30691 html[i - 1] == '-' && 30692 html[i - 2] == '-') { 30693 30694 inQuote = state = 0; 30695 tagBuffer = ''; 30696 break; 30697 } 30698 30699 consumeCharacter(c); 30700 break; 30701 } 30702 30703 // catch both single and double quotes 30704 case '"': 30705 case '\'': { 30706 if (state == STATE_HTML) { 30707 if (inQuote == c) { 30708 // end quote found 30709 inQuote = false; 30710 } else if (!inQuote) { 30711 // start quote only if not already in one 30712 inQuote = c; 30713 } 30714 } 30715 30716 consumeCharacter(c); 30717 break; 30718 } 30719 30720 case '!': { 30721 if (state == STATE_HTML && 30722 html[i - 1] == '<') { 30723 30724 // looks like we might be starting a comment 30725 state = STATE_PRE_COMMENT; 30726 break; 30727 } 30728 30729 consumeCharacter(c); 30730 break; 30731 } 30732 30733 case '-': { 30734 // if the previous two characters were '!-', this is a comment 30735 if (state == STATE_PRE_COMMENT &&
30736 html[i - 1] == '-' && 30737 html[i - 2] == '!') { 30738 30739 state = STATE_COMMENT; 30740 break; 30741 } 30742 30743 consumeCharacter(c); 30744 break; 30745 } 30746 30747 case 'E': 30748 case 'e': { 30749 // check for DOCTYPE, because it looks like a comment and isn't 30750 if (state == STATE_PRE_COMMENT && 30751 html.substr(i - 6, 7).toLowerCase() == 'doctype') { 30752 30753 state = STATE_HTML; 30754 break; 30755 } 30756 30757 consumeCharacter(c); 30758 break; 30759 } 30760 30761 default: { 30762 consumeCharacter(c); 30763 } 30764 } 30765 } 30766 30767 function consumeCharacter(c) { 30768 if (state == STATE_OUTPUT) { 30769 output += c; 30770 } else if (allowableTags && state == STATE_HTML) { 30771 tagBuffer += c; 30772 } 30773 } 30774 30775 function flushTagBuffer() { 30776 var normalized = '', 30777 nonWhitespaceSeen = false, 30778 i, length, c; 30779 30780 normalizeTagBuffer: 30781 for (i = 0, length = tagBuffer.length; i < length; i++) { 30782 c = tagBuffer[i].toLowerCase(); 30783 30784 switch (c) { 30785 case '<': { 30786 break; 30787 } 30788 30789 case '>': { 30790 break normalizeTagBuffer; 30791 } 30792 30793 case '/': { 30794 nonWhitespaceSeen = true; 30795 break; 30796 } 30797 30798 default: { 30799 if (!c.match(WHITESPACE)) { 30800 nonWhitespaceSeen = true; 30801 normalized += c; 30802 } else if (nonWhitespaceSeen) { 30803 break normalizeTagBuffer; 30804 } 30805 } 30806 } 30807 } 30808 30809 if (allowableTags.indexOf(normalized) !== -1) { 30810 output += tagBuffer; 30811 } else if (tagReplacement) { 30812 output += tagReplacement; 30813 } 30814 30815 tagBuffer = ''; 30816 } 30817 30818 return output; 30819 } 30820 30821 /** 30822 * Return an array containing tags that are allowed to pass through the 30823 * algorithm. 30824 * 30825 * @param string allowableTags A string of tags to allow (e.g. "<b><strong>"). 30826 * @return array|null An array of allowed tags or null if none. 30827 */ 30828 function parseAllowableTags(allowableTags) { 30829 var tagsArray = [], 30830 match; 30831 30832 while ((match = ALLOWED_TAGS_REGEX.exec(allowableTags)) !== null) { 30833 tagsArray.push(match[1]); 30834 } 30835 30836 return tagsArray.length !== 0 ? tagsArray : null; 30837 } 30838 30839 return striptags; 30840})); 30841 30842 30843/***/ }), 30844/* 486 */ 30845/***/ (function(module, exports, __webpack_require__) { 30846 30847"use strict"; 30848 30849 30850exports.URL = __webpack_require__(923).interface; 30851exports.serializeURL = __webpack_require__(180).serializeURL; 30852exports.serializeURLOrigin = __webpack_require__(180).serializeURLOrigin; 30853exports.basicURLParse = __webpack_require__(180).basicURLParse; 30854exports.setTheUsername = __webpack_require__(180).setTheUsername; 30855exports.setThePassword = __webpack_require__(180).setThePassword; 30856exports.serializeHost = __webpack_require__(180).serializeHost; 30857exports.serializeInteger = __webpack_require__(180).serializeInteger; 30858exports.parseURL = __webpack_require__(180).parseURL; 30859 30860 30861/***/ }), 30862/* 487 */, 30863/* 488 */ 30864/***/ (function(module, __webpack_exports__, __webpack_require__) { 30865 30866"use strict"; 30867 30868// EXPORTS 30869__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ ToggleSwitchbabel_target_legacy_ToggleSwitch; }); 30870 30871// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 30872var es_function_namebabel_target_legacy = __webpack_require__(123); 30873 30874// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 30875var definePropertybabel_target_legacy = __webpack_require__(15); 30876var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 30877 30878// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 30879var preact_modulebabel_target_legacy = __webpack_require__(1); 30880 30881// EXTERNAL MODULE: ./src/components/ToggleSwitch/ToggleSwitch.module.scss 30882var ToggleSwitch_module = __webpack_require__(242); 30883var ToggleSwitch_module_default = /*#__PURE__*/__webpack_require__.n(ToggleSwitch_module); 30884 30885// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 30886var classnames_babel_target_legacy = __webpack_require__(27); 30887var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 30888 30889// CONCATENATED MODULE: ./src/components/ToggleSwitch/ToggleSwitch.tsx?babel-target=legacy 30890 30891 30892 30893 30894 30895var ToggleSwitchbabel_target_legacy_ToggleSwitch = function ToggleSwitch(_ref) { 30896 var enabled = _ref.enabled, 30897 _onChange = _ref.onChange, 30898 _ref$name = _ref.name, 30899 name = _ref$name === void 0 ? "Toggle" : _ref$name; 30900 return Object(preact_modulebabel_target_legacy["h"])("label", { 30901 className: classnames_babel_target_legacy_default()(ToggleSwitch_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, ToggleSwitch_module_default.a.checked, enabled)) 30902 }, Object(preact_modulebabel_target_legacy["h"])("input", { 30903 type: "checkbox", 30904 checked: enabled, 30905 onChange: function onChange() { 30906 return _onChange(!enabled); 30907 } 30908 }), name); 30909}; 30910/* harmony default export */ var ToggleSwitchbabel_target_legacy = (ToggleSwitchbabel_target_legacy_ToggleSwitch); 30911// CONCATENATED MODULE: ./src/components/ToggleSwitch/index.ts?babel-target=legacy 30912 30913 30914/***/ }), 30915/* 489 */ 30916/***/ (function(module, exports, __webpack_require__) { 30917 30918// extracted by mini-css-extract-plugin 30919module.exports = {"videoAdOverlay":"Player-module__videoAdOverlay--8yrfp","videowrap":"Player-module__videowrap--1eKQD","video":"Player-module__video--huMPq","flex":"Player-module__flex--3JnQo","hidden":"Player-module__hidden--EL7ds"}; 30920 30921/***/ }), 30922/* 490 */, 30923/* 491 */, 30924/* 492 */ 30925/***/ (function(module, exports, __webpack_require__) { 30926 30927"use strict"; 30928 30929var $ = __webpack_require__(2); 30930var fails = __webpack_require__(11); 30931var ArrayBufferModule = __webpack_require__(230); 30932var anObject = __webpack_require__(20); 30933var toAbsoluteIndex = __webpack_require__(114);
30934var toLength = __webpack_require__(28); 30935var speciesConstructor = __webpack_require__(103); 30936 30937var ArrayBuffer = ArrayBufferModule.ArrayBuffer; 30938var DataView = ArrayBufferModule.DataView; 30939var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; 30940 30941var INCORRECT_SLICE = fails(function () { 30942 return !new ArrayBuffer(2).slice(1, undefined).byteLength; 30943}); 30944 30945// `ArrayBuffer.prototype.slice` method 30946// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice 30947$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { 30948 slice: function slice(start, end) { 30949 if (nativeArrayBufferSlice !== undefined && end === undefined) { 30950 return nativeArrayBufferSlice.call(anObject(this), start); // FF fix 30951 } 30952 var length = anObject(this).byteLength; 30953 var first = toAbsoluteIndex(start, length); 30954 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 30955 var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); 30956 var viewSource = new DataView(this); 30957 var viewTarget = new DataView(result); 30958 var index = 0; 30959 while (first < fin) { 30960 viewTarget.setUint8(index++, viewSource.getUint8(first++)); 30961 } return result; 30962 } 30963}); 30964 30965 30966/***/ }), 30967/* 493 */ 30968/***/ (function(module, exports, __webpack_require__) { 30969 30970var createTypedArrayConstructor = __webpack_require__(104); 30971 30972// `Uint8Array` constructor 30973// https://tc39.github.io/ecma262/#sec-typedarray-objects 30974createTypedArrayConstructor('Uint8', function (init) { 30975 return function Uint8Array(data, byteOffset, length) { 30976 return init(this, data, byteOffset, length); 30977 }; 30978}); 30979 30980 30981/***/ }), 30982/* 494 */ 30983/***/ (function(module, exports, __webpack_require__) { 30984 30985"use strict"; 30986 30987var ArrayBufferViewCore = __webpack_require__(29); 30988var $copyWithin = __webpack_require__(367); 30989 30990var aTypedArray = ArrayBufferViewCore.aTypedArray; 30991var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 30992 30993// `%TypedArray%.prototype.copyWithin` method 30994// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin 30995exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { 30996 return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 30997}); 30998 30999 31000/***/ }), 31001/* 495 */ 31002/***/ (function(module, exports, __webpack_require__) { 31003 31004"use strict"; 31005 31006var ArrayBufferViewCore = __webpack_require__(29); 31007var $every = __webpack_require__(46).every; 31008 31009var aTypedArray = ArrayBufferViewCore.aTypedArray; 31010var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31011 31012// `%TypedArray%.prototype.every` method 31013// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every 31014exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { 31015 return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 31016}); 31017 31018 31019/***/ }), 31020/* 496 */ 31021/***/ (function(module, exports, __webpack_require__) { 31022 31023"use strict"; 31024 31025var ArrayBufferViewCore = __webpack_require__(29); 31026var $fill = __webpack_require__(286); 31027 31028var aTypedArray = ArrayBufferViewCore.aTypedArray; 31029var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31030 31031// `%TypedArray%.prototype.fill` method 31032// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill 31033// eslint-disable-next-line no-unused-vars 31034exportTypedArrayMethod('fill', function fill(value /* , start, end */) { 31035 return $fill.apply(aTypedArray(this), arguments); 31036}); 31037 31038 31039/***/ }), 31040/* 497 */ 31041/***/ (function(module, exports, __webpack_require__) { 31042 31043"use strict"; 31044 31045var ArrayBufferViewCore = __webpack_require__(29); 31046var $filter = __webpack_require__(46).filter; 31047var speciesConstructor = __webpack_require__(103); 31048 31049var aTypedArray = ArrayBufferViewCore.aTypedArray; 31050var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 31051var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31052 31053// `%TypedArray%.prototype.filter` method 31054// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter 31055exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { 31056 var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 31057 var C = speciesConstructor(this, this.constructor); 31058 var index = 0; 31059 var length = list.length; 31060 var result = new (aTypedArrayConstructor(C))(length); 31061 while (length > index) result[index] = list[index++]; 31062 return result; 31063}); 31064 31065 31066/***/ }), 31067/* 498 */ 31068/***/ (function(module, exports, __webpack_require__) { 31069 31070"use strict"; 31071 31072var ArrayBufferViewCore = __webpack_require__(29); 31073var $find = __webpack_require__(46).find; 31074 31075var aTypedArray = ArrayBufferViewCore.aTypedArray; 31076var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31077 31078// `%TypedArray%.prototype.find` method 31079// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find 31080exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { 31081 return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 31082}); 31083 31084 31085/***/ }), 31086/* 499 */ 31087/***/ (function(module, exports, __webpack_require__) { 31088 31089"use strict"; 31090 31091var ArrayBufferViewCore = __webpack_require__(29); 31092var $findIndex = __webpack_require__(46).findIndex; 31093 31094var aTypedArray = ArrayBufferViewCore.aTypedArray; 31095var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31096 31097// `%TypedArray%.prototype.findIndex` method 31098// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex 31099exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { 31100 return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 31101}); 31102 31103 31104/***/ }), 31105/* 500 */ 31106/***/ (function(module, exports, __webpack_require__) { 31107 31108"use strict"; 31109 31110var ArrayBufferViewCore = __webpack_require__(29);
31111var $forEach = __webpack_require__(46).forEach; 31112 31113var aTypedArray = ArrayBufferViewCore.aTypedArray; 31114var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31115 31116// `%TypedArray%.prototype.forEach` method 31117// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach 31118exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { 31119 $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 31120}); 31121 31122 31123/***/ }), 31124/* 501 */ 31125/***/ (function(module, exports, __webpack_require__) { 31126 31127"use strict"; 31128 31129var ArrayBufferViewCore = __webpack_require__(29); 31130var $includes = __webpack_require__(168).includes; 31131 31132var aTypedArray = ArrayBufferViewCore.aTypedArray; 31133var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31134 31135// `%TypedArray%.prototype.includes` method 31136// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes 31137exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { 31138 return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 31139}); 31140 31141 31142/***/ }), 31143/* 502 */ 31144/***/ (function(module, exports, __webpack_require__) { 31145 31146"use strict"; 31147 31148var ArrayBufferViewCore = __webpack_require__(29); 31149var $indexOf = __webpack_require__(168).indexOf; 31150 31151var aTypedArray = ArrayBufferViewCore.aTypedArray; 31152var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31153 31154// `%TypedArray%.prototype.indexOf` method 31155// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof 31156exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { 31157 return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 31158}); 31159 31160 31161/***/ }), 31162/* 503 */ 31163/***/ (function(module, exports, __webpack_require__) { 31164 31165"use strict"; 31166 31167var global = __webpack_require__(16); 31168var ArrayBufferViewCore = __webpack_require__(29); 31169var ArrayIterators = __webpack_require__(138); 31170var wellKnownSymbol = __webpack_require__(23); 31171 31172var ITERATOR = wellKnownSymbol('iterator'); 31173var Uint8Array = global.Uint8Array; 31174var arrayValues = ArrayIterators.values; 31175var arrayKeys = ArrayIterators.keys; 31176var arrayEntries = ArrayIterators.entries; 31177var aTypedArray = ArrayBufferViewCore.aTypedArray; 31178var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31179var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; 31180 31181var CORRECT_ITER_NAME = !!nativeTypedArrayIterator 31182 && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); 31183 31184var typedArrayValues = function values() { 31185 return arrayValues.call(aTypedArray(this)); 31186}; 31187 31188// `%TypedArray%.prototype.entries` method 31189// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries 31190exportTypedArrayMethod('entries', function entries() { 31191 return arrayEntries.call(aTypedArray(this)); 31192}); 31193// `%TypedArray%.prototype.keys` method 31194// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys 31195exportTypedArrayMethod('keys', function keys() { 31196 return arrayKeys.call(aTypedArray(this)); 31197}); 31198// `%TypedArray%.prototype.values` method 31199// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values 31200exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME); 31201// `%TypedArray%.prototype[@@iterator]` method 31202// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator 31203exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); 31204 31205 31206/***/ }), 31207/* 504 */ 31208/***/ (function(module, exports, __webpack_require__) { 31209 31210"use strict"; 31211 31212var ArrayBufferViewCore = __webpack_require__(29); 31213 31214var aTypedArray = ArrayBufferViewCore.aTypedArray; 31215var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31216var $join = [].join; 31217 31218// `%TypedArray%.prototype.join` method 31219// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join 31220// eslint-disable-next-line no-unused-vars 31221exportTypedArrayMethod('join', function join(separator) { 31222 return $join.apply(aTypedArray(this), arguments); 31223}); 31224 31225 31226/***/ }), 31227/* 505 */ 31228/***/ (function(module, exports, __webpack_require__) { 31229 31230"use strict"; 31231 31232var ArrayBufferViewCore = __webpack_require__(29); 31233var $lastIndexOf = __webpack_require__(370); 31234 31235var aTypedArray = ArrayBufferViewCore.aTypedArray; 31236var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31237 31238// `%TypedArray%.prototype.lastIndexOf` method 31239// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof 31240// eslint-disable-next-line no-unused-vars 31241exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { 31242 return $lastIndexOf.apply(aTypedArray(this), arguments); 31243}); 31244 31245 31246/***/ }), 31247/* 506 */ 31248/***/ (function(module, exports, __webpack_require__) { 31249 31250"use strict"; 31251 31252var ArrayBufferViewCore = __webpack_require__(29); 31253var $map = __webpack_require__(46).map; 31254var speciesConstructor = __webpack_require__(103); 31255 31256var aTypedArray = ArrayBufferViewCore.aTypedArray; 31257var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 31258var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31259 31260// `%TypedArray%.prototype.map` method 31261// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map 31262exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { 31263 return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { 31264 return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); 31265 }); 31266}); 31267 31268 31269/***/ }), 31270/* 507 */ 31271/***/ (function(module, exports, __webpack_require__) { 31272 31273"use strict"; 31274 31275var ArrayBufferViewCore = __webpack_require__(29); 31276var $reduce = __webpack_require__(217).left; 31277 31278var aTypedArray = ArrayBufferViewCore.aTypedArray; 31279var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31280 31281// `%TypedArray%.prototype.reduce` method 31282// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce 31283exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { 31284 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 31285}); 31286 31287 31288/***/ }), 31289/* 508 */ 31290/***/ (function(module, exports, __webpack_require__) { 31291 31292"use strict"; 31293 31294var ArrayBufferViewCore = __webpack_require__(29); 31295var $reduceRight = __webpack_require__(217).right; 31296 31297var aTypedArray = ArrayBufferViewCore.aTypedArray; 31298var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31299 31300// `%TypedArray%.prototype.reduceRicht` method 31301// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright 31302exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { 31303 return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 31304}); 31305 31306 31307/***/ }), 31308/* 509 */ 31309/***/ (function(module, exports, __webpack_require__) { 31310 31311"use strict"; 31312 31313var ArrayBufferViewCore = __webpack_require__(29); 31314 31315var aTypedArray = ArrayBufferViewCore.aTypedArray; 31316var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31317var floor = Math.floor; 31318 31319// `%TypedArray%.prototype.reverse` method 31320// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse 31321exportTypedArrayMethod('reverse', function reverse() { 31322 var that = this; 31323 var length = aTypedArray(that).length; 31324 var middle = floor(length / 2); 31325 var index = 0; 31326 var value; 31327 while (index < middle) { 31328 value = that[index]; 31329 that[index++] = that[--length]; 31330 that[length] = value; 31331 } return that; 31332}); 31333 31334 31335/***/ }), 31336/* 510 */ 31337/***/ (function(module, exports, __webpack_require__) { 31338 31339"use strict"; 31340 31341var ArrayBufferViewCore = __webpack_require__(29);
31342var toLength = __webpack_require__(28); 31343var toOffset = __webpack_require__(389); 31344var toObject = __webpack_require__(33); 31345var fails = __webpack_require__(11); 31346 31347var aTypedArray = ArrayBufferViewCore.aTypedArray; 31348var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31349 31350var FORCED = fails(function () { 31351 // eslint-disable-next-line no-undef 31352 new Int8Array(1).set({}); 31353}); 31354 31355// `%TypedArray%.prototype.set` method 31356// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set 31357exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { 31358 aTypedArray(this); 31359 var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); 31360 var length = this.length; 31361 var src = toObject(arrayLike); 31362 var len = toLength(src.length); 31363 var index = 0; 31364 if (len + offset > length) throw RangeError('Wrong length'); 31365 while (index < len) this[offset + index] = src[index++]; 31366}, FORCED); 31367 31368 31369/***/ }), 31370/* 511 */ 31371/***/ (function(module, exports, __webpack_require__) { 31372 31373"use strict"; 31374 31375var ArrayBufferViewCore = __webpack_require__(29); 31376var speciesConstructor = __webpack_require__(103); 31377var fails = __webpack_require__(11); 31378 31379var aTypedArray = ArrayBufferViewCore.aTypedArray; 31380var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 31381var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31382var $slice = [].slice; 31383 31384var FORCED = fails(function () { 31385 // eslint-disable-next-line no-undef 31386 new Int8Array(1).slice(); 31387}); 31388 31389// `%TypedArray%.prototype.slice` method 31390// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice 31391exportTypedArrayMethod('slice', function slice(start, end) { 31392 var list = $slice.call(aTypedArray(this), start, end); 31393 var C = speciesConstructor(this, this.constructor); 31394 var index = 0; 31395 var length = list.length; 31396 var result = new (aTypedArrayConstructor(C))(length); 31397 while (length > index) result[index] = list[index++]; 31398 return result; 31399}, FORCED); 31400 31401 31402/***/ }), 31403/* 512 */ 31404/***/ (function(module, exports, __webpack_require__) { 31405 31406"use strict"; 31407 31408var ArrayBufferViewCore = __webpack_require__(29); 31409var $some = __webpack_require__(46).some; 31410 31411var aTypedArray = ArrayBufferViewCore.aTypedArray; 31412var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31413 31414// `%TypedArray%.prototype.some` method 31415// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some 31416exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { 31417 return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 31418}); 31419 31420 31421/***/ }), 31422/* 513 */ 31423/***/ (function(module, exports, __webpack_require__) { 31424 31425"use strict"; 31426 31427var ArrayBufferViewCore = __webpack_require__(29); 31428 31429var aTypedArray = ArrayBufferViewCore.aTypedArray; 31430var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31431var $sort = [].sort; 31432 31433// `%TypedArray%.prototype.sort` method 31434// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort 31435exportTypedArrayMethod('sort', function sort(comparefn) { 31436 return $sort.call(aTypedArray(this), comparefn); 31437}); 31438 31439 31440/***/ }), 31441/* 514 */ 31442/***/ (function(module, exports, __webpack_require__) { 31443 31444"use strict"; 31445 31446var ArrayBufferViewCore = __webpack_require__(29); 31447var toLength = __webpack_require__(28); 31448var toAbsoluteIndex = __webpack_require__(114); 31449var speciesConstructor = __webpack_require__(103); 31450 31451var aTypedArray = ArrayBufferViewCore.aTypedArray; 31452var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 31453 31454// `%TypedArray%.prototype.subarray` method 31455// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray 31456exportTypedArrayMethod('subarray', function subarray(begin, end) { 31457 var O = aTypedArray(this); 31458 var length = O.length; 31459 var beginIndex = toAbsoluteIndex(begin, length); 31460 return new (speciesConstructor(O, O.constructor))( 31461 O.buffer, 31462 O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, 31463 toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) 31464 ); 31465}); 31466 31467 31468/***/ }), 31469/* 515 */ 31470/***/ (function(module, exports, __webpack_require__) { 31471 31472"use strict"; 31473 31474var global = __webpack_require__(16); 31475var ArrayBufferViewCore = __webpack_require__(29); 31476var fails = __webpack_require__(11); 31477 31478var Int8Array = global.Int8Array; 31479var aTypedArray = ArrayBufferViewCore.aTypedArray; 31480var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
31481var $toLocaleString = [].toLocaleString; 31482var $slice = [].slice; 31483 31484// iOS Safari 6.x fails here 31485var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { 31486 $toLocaleString.call(new Int8Array(1)); 31487}); 31488 31489var FORCED = fails(function () { 31490 return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); 31491}) || !fails(function () { 31492 Int8Array.prototype.toLocaleString.call([1, 2]); 31493}); 31494 31495// `%TypedArray%.prototype.toLocaleString` method 31496// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring 31497exportTypedArrayMethod('toLocaleString', function toLocaleString() { 31498 return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); 31499}, FORCED); 31500 31501 31502/***/ }), 31503/* 516 */ 31504/***/ (function(module, exports, __webpack_require__) { 31505 31506"use strict"; 31507 31508var exportTypedArrayMethod = __webpack_require__(29).exportTypedArrayMethod; 31509var fails = __webpack_require__(11); 31510var global = __webpack_require__(16); 31511 31512var Uint8Array = global.Uint8Array; 31513var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; 31514var arrayToString = [].toString; 31515var arrayJoin = [].join; 31516 31517if (fails(function () { arrayToString.call({}); })) { 31518 arrayToString = function toString() { 31519 return arrayJoin.call(this); 31520 }; 31521} 31522 31523var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; 31524 31525// `%TypedArray%.prototype.toString` method 31526// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring 31527exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); 31528 31529 31530/***/ }), 31531/* 517 */, 31532/* 518 */, 31533/* 519 */, 31534/* 520 */, 31535/* 521 */, 31536/* 522 */ 31537/***/ (function(module, exports, __webpack_require__) { 31538 31539__webpack_require__(539); 31540__webpack_require__(691); 31541var path = __webpack_require__(167); 31542 31543module.exports = path; 31544 31545 31546/***/ }), 31547/* 523 */ 31548/***/ (function(module, exports, __webpack_require__) { 31549 31550"use strict"; 31551 31552var $ = __webpack_require__(2); 31553var createHTML = __webpack_require__(68); 31554var forcedStringHTMLMethod = __webpack_require__(69); 31555 31556// `String.prototype.small` method 31557// https://tc39.github.io/ecma262/#sec-string.prototype.small 31558$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { 31559 small: function small() { 31560 return createHTML(this, 'small', '', ''); 31561 } 31562}); 31563 31564 31565/***/ }), 31566/* 524 */, 31567/* 525 */ 31568/***/ (function(module, __webpack_exports__, __webpack_require__) { 31569 31570"use strict"; 31571/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return tcWaitTimeout; }); 31572/* unused harmony export reducer */ 31573/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return APIProvider; }); 31574/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71); 31575/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__); 31576/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70); 31577/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__); 31578/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87); 31579/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__); 31580/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98); 31581/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__); 31582/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(99); 31583/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_4__); 31584/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89); 31585/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_5__); 31586/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(88); 31587/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_6__); 31588/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6); 31589/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7__); 31590/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(60); 31591/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_8__); 31592/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(13); 31593/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_9__); 31594/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8); 31595/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10__); 31596/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(15); 31597/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_11__); 31598/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1); 31599/* harmony import */ var _APIContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(402); 31600/* harmony import */ var _APIManager__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(32); 31601/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(4); 31602/* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(205); 31603/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(10); 31604 31605 31606 31607 31608 31609 31610 31611 31612 31613 31614 31615 31616 31617function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 31618 31619function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_11___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
31619 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 31620 31621 31622 31623 31624 31625 31626 31627/** 31628 * Note: Also used by Player.tsx 31629 */ 31630 31631var tcWaitTimeout = 3000; 31632var reducer = function reducer(state, action) { 31633 return Object(immer__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(state, function (draft) { 31634 switch (action.type) { 31635 case "ADD_FAVE": 31636 draft.faves = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* addFave */ "a"])(action.payload, draft.faves, state.cookieManagerUrl, state.hideFavTip); 31637 return draft; 31638 31639 case "REMOVE_FAVE": 31640 draft.faves = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* removeFave */ "t"])(action.payload, draft.faves, state.cookieManagerUrl); 31641 return draft; 31642 31643 case "HIDE_FAVE_TIP": 31644 draft.hideFavTip = true; 31645 return draft; 31646 31647 case "DISPLAY_FAVE_NOTIFICATION": 31648 draft.displayFaveNotification = true; 31649 return draft; 31650 31651 case "SET_SEARCH_TERM": 31652 draft.searchHistory = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* addSearchTerm */ "b"])(action.payload, draft.searchHistory, state.cookieManagerUrl); 31653 return draft; 31654 31655 case "SET_PREFIX": 31656 draft.cookie = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* setStationListPrefix */ "y"])(action.payload, draft.cookie, state.cookieManagerUrl); 31657 return draft; 31658 31659 case "SET_VOLUME": 31660 draft.cookie = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* setVolumeCookie */ "z"])(action.payload, draft.cookie, state.cookieManagerUrl); 31661 return draft; 31662 31663 case "SET_STATIONLIST": 31664 draft.stationlist = action.payload; 31665 return draft; 31666 31667 case "SET_RECOMMENDATIONS": 31668 draft.recommendations = action.payload; 31669 return draft; 31670 31671 case "HIDE_ANNOUNCEMENT": 31672 draft.cookie.announcement = undefined; 31673 Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* hideAnnouncement */ "k"])(state.cookieManagerUrl); 31674 return draft; 31675 31676 case "INIT": 31677 /* Workaround to ensure tcString is never overriden after it was set. 31678 Details: 31679 getCookie() is executed twice on console startup on some player configurations 31680 (depending on whether CMP and/or Ad providers used). 31681 This leads to: 31682 1. getCookie() executes, sets tcString to true. 31683 2. tcString set to consent string received from TCF API. (e.g. "CPf9mIAPf9mIAAKAsAENCiCsAP_..."). 31684 3. getCookie() executes again, sets tcString to true. Value from TCF API is now lost. 31685 Trace via breakpoints for case "INIT" and case "SET_TC_STRING". 31686 */ 31687 if (typeof draft.tcString === "string") { 31688 return _objectSpread(_objectSpread({}, action.state), {}, { 31689 tcString: draft.tcString 31690 }); 31691 } else { 31692 return action.state; 31693 } 31694 31695 case "SET_COOKIE_POLICY": 31696 draft.cookie = Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* setCookiePolicy */ "x"])(action.payload, draft.cookie, state.cookieManagerUrl, state.bbcCookies); 31697 return draft; 31698 31699 case "SET_TC_STRING": 31700 draft.tcString = action.tcString; 31701 return draft; 31702 31703 case "SET_CMP_FAIL": 31704 draft.cmpConsentFailed = true; 31705 draft.tcString = false; 31706 return draft; 31707 31708 default: 31709 console.log("Unhandled action in APIProvider reducer:", action); 31710 return draft; 31711 } 31712 }); 31713}; 31714var APIProvider = function APIProvider(_ref) { 31715 var rpId = _ref.rpId, 31716 children = _ref.children, 31717 tracking = _ref.tracking, 31718 _ref$mapiUrl = _ref.mapiUrl, 31719 mapiUrl = _ref$mapiUrl === void 0 ? "" : _ref$mapiUrl, 31720 _ref$cookieManagerUrl = _ref.cookieManagerUrl, 31721 cookieManagerUrl = _ref$cookieManagerUrl === void 0 ? "" : _ref$cookieManagerUrl, 31722 _ref$cmp = _ref.cmp, 31723 cmp = _ref$cmp === void 0 ? null : _ref$cmp, 31724 _ref$nowPlayingUrl = _ref.nowPlayingUrl, 31725 nowPlayingUrl = _ref$nowPlayingUrl === void 0 ? "" : _ref$nowPlayingUrl, 31726 _ref$queryProxyUrl = _ref.queryProxyUrl, 31727 queryProxyUrl = _ref$queryProxyUrl === void 0 ? "" : _ref$queryProxyUrl,
31728 _ref$bbcCookies = _ref.bbcCookies, 31729 bbcCookies = _ref$bbcCookies === void 0 ? false : _ref$bbcCookies, 31730 _ref$disableCookieBan = _ref.disableCookieBanner, 31731 disableCookieBanner = _ref$disableCookieBan === void 0 ? false : _ref$disableCookieBan; 31732 31733 var _useReducer = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_15__[/* useReducer */ "h"])(reducer, { 31734 cookie: {}, 31735 faves: [], 31736 hideFavTip: false, 31737 displayFaveNotification: false, 31738 searchHistory: [], 31739 mapiUrl: mapiUrl, 31740 cookieManagerUrl: cookieManagerUrl, 31741 queryProxyUrl: queryProxyUrl, 31742 stationlist: {}, 31743 nowPlayingUrl: nowPlayingUrl, 31744 rpId: rpId, 31745 bbcCookies: bbcCookies, 31746 disableCookieBanner: disableCookieBanner, 31747 tcString: !!cmp, 31748 cmpConsentFailed: false 31749 }), 31750 _useReducer2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_10___default()(_useReducer, 2), 31751 state = _useReducer2[0], 31752 dispatch = _useReducer2[1]; 31753 31754 var tcString = state.tcString; 31755 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_15__[/* useEffect */ "d"])(function () { 31756 var getCookie = /*#__PURE__*/function () { 31757 var _ref2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_9___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.mark(function _callee() { 31758 var state; 31759 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_7___default.a.wrap(function _callee$(_context) { 31760 while (1) { 31761 switch (_context.prev = _context.next) { 31762 case 0: 31763 _context.next = 2; 31764 return Object(_APIManager__WEBPACK_IMPORTED_MODULE_14__[/* initCookies */ "l"])(rpId, mapiUrl, nowPlayingUrl, cookieManagerUrl, queryProxyUrl, bbcCookies, cmp, tracking); 31765 31766 case 2: 31767 state = _context.sent; 31768 31769 if (state) { 31770 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])({ 31771 state: state 31772 }); 31773 dispatch({ 31774 type: "INIT", 31775 state: state 31776 }); 31777 } 31778 31779 case 4: 31780 case "end": 31781 return _context.stop(); 31782 } 31783 } 31784 }, _callee); 31785 })); 31786 31787 return function getCookie() { 31788 return _ref2.apply(this, arguments); 31789 }; 31790 }(); 31791 31792 getCookie(); 31793 }, [rpId, mapiUrl, nowPlayingUrl, cookieManagerUrl, queryProxyUrl, bbcCookies, cmp, tracking]); 31794 31795 var onTcStringChange = function onTcStringChange(tcData, success) { 31796 if (success && tcData.eventStatus === "useractioncomplete" || tcData.eventStatus === "tcloaded") { 31797 dispatch({ 31798 type: "SET_TC_STRING", 31799 tcString: tcData.tcString || true 31800 }); 31801 } 31802 }; 31803 31804 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_15__[/* useEffect */ "d"])(function () { 31805 if (cmp && window.__tcfapi) { 31806 __tcfapi("addEventListener", 2, onTcStringChange); 31807 } 31808 31809 return function () { 31810 if (window.__tcfapi) { 31811 __tcfapi("removeEventListener", 2, onTcStringChange); 31812 } 31813 }; 31814 }, [cmp]); 31815 var consentTimer = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_15__[/* useRef */ "i"])(); 31816 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_15__[/* useEffect */ "d"])(function () { 31817 var tcStringFallback = function tcStringFallback() { 31818 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Expected consent string not arrived. Checking manually."); 31819 31820 if (window.__tcfapi) { 31821 __tcfapi("getTCData", 2, function (tcData, success) { 31822 if (success) { 31823 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Consent string received, updating stream url"); 31824 dispatch({ 31825 type: "SET_TC_STRING", 31826 tcString: tcData.tcString || true 31827 }); 31828 } else { 31829 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Unable to communicate with CMP, assume no consent provided"); 31830 dispatch({ 31831 type: "SET_CMP_FAIL" 31832 }); 31833 } 31834 }, [1, 2, 3]); 31835 } else { 31836 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("TCF API Failed to initialise, assume no consent provided"); 31837 dispatch({ 31838 type: "SET_CMP_FAIL" 31839 }); 31840 } 31841 }; 31842 31843 if (tcString === true) { 31844 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Expecting consent string, attempt to collect manually if listeners fail"); 31845 consentTimer.current = setTimeout(tcStringFallback, tcWaitTimeout); 31846 } else if (typeof tcString === "string") { 31847 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Consent string received, clear fallback handler"); 31848 clearTimeout(consentTimer.current); 31849 } 31850 31851 return function () { 31852 Object(_logger__WEBPACK_IMPORTED_MODULE_17__[/* log */ "c"])("Clear consent timer"); 31853 clearTimeout(consentTimer.current); 31854 }; 31855 }, [tcString]); 31856 return Object(preact__WEBPACK_IMPORTED_MODULE_12__["h"])(_APIContext__WEBPACK_IMPORTED_MODULE_13__[/* APIContext */ "a"].Provider, { 31857 value: [state, dispatch] 31858 }, children); 31859}; 31860/* unused harmony default export */ var _unused_webpack_default_export = (APIProvider); 31861 31862/***/ }), 31863/* 526 */, 31864/* 527 */, 31865/* 528 */ 31866/***/ (function(module, __webpack_exports__, __webpack_require__) { 31867 31868"use strict"; 31869 31870// EXPORTS 31871__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ VolumeControlbabel_target_legacy_VolumeControl; }); 31872 31873// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 31874var es_array_mapbabel_target_legacy = __webpack_require__(77); 31875 31876// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 31877var toConsumableArraybabel_target_legacy = __webpack_require__(37); 31878var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 31879
31880// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 31881var definePropertybabel_target_legacy = __webpack_require__(15); 31882var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 31883 31884// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 31885var slicedToArraybabel_target_legacy = __webpack_require__(8); 31886var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 31887 31888// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 31889var classnames_babel_target_legacy = __webpack_require__(27); 31890var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 31891 31892// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 31893var preact_modulebabel_target_legacy = __webpack_require__(1); 31894 31895// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 31896var hooks_modulebabel_target_legacy = __webpack_require__(4); 31897 31898// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 31899var RPIconbabel_target_legacy = __webpack_require__(42); 31900 31901// EXTERNAL MODULE: ./src/components/VolumeControl/VolumeControl.module.scss 31902var VolumeControl_module = __webpack_require__(56); 31903var VolumeControl_module_default = /*#__PURE__*/__webpack_require__.n(VolumeControl_module); 31904 31905// CONCATENATED MODULE: ./src/components/VolumeControl/VolumeControl.tsx?babel-target=legacy 31906 31907 31908 31909 31910 31911 31912 31913 31914 31915var bars = [__webpack_require__(888), __webpack_require__(889), __webpack_require__(890), __webpack_require__(891), __webpack_require__(892)]; 31916var VolumeControlbabel_target_legacy_VolumeControl = function VolumeControl(_ref) { 31917 var colour = _ref.colour, 31918 volume = _ref.volume, 31919 setVolume = _ref.setVolume, 31920 darkTheme = _ref.darkTheme, 31921 _ref$showMobile = _ref.showMobile, 31922 showMobile = _ref$showMobile === void 0 ? false : _ref$showMobile; 31923 31924 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(volume), 31925 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 31926 visibleVolume = _useState2[0], 31927 setVisibleVolume = _useState2[1]; 31928 31929 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 31930 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 31931 mouseIsOver = _useState4[0], 31932 setMouseIsOver = _useState4[1]; 31933 31934 var handleKeyDown = function handleKeyDown(e) { 31935 // Arrow up 31936 if (e.keyCode === 38) { 31937 var incrementVolume = volume + 0.2; 31938 setVolume(incrementVolume > 1 ? 1 : incrementVolume); 31939 } // Arrow down 31940 31941 31942 if (e.keyCode === 40) { 31943 var decreaseVolume = volume - 0.2; 31944 setVolume(decreaseVolume < 0 ? 0 : decreaseVolume); 31945 } 31946 }; 31947 31948 var volumeHover = function volumeHover(num) { 31949 setVisibleVolume(num); 31950 }; 31951 31952 var volumeClick = function volumeClick(num) { 31953 if (setVolume) { 31954 setVolume(num / 5); 31955 } 31956 }; 31957 31958 var mouseOver = function mouseOver() { 31959 setMouseIsOver(true); 31960 }; 31961 31962 var mouseOut = function mouseOut() { 31963 setMouseIsOver(false); 31964 }; 31965 31966 var displayVolume = mouseIsOver ? visibleVolume : Math.round(volume * 5); 31967 var defaultColour = colour || "currentColor"; 31968 var hoverColour = darkTheme ? "#606060" : "#BBBBBA"; 31969 return Object(preact_modulebabel_target_legacy["h"])("div", { 31970 tabIndex: 0, 31971 onKeyDown: handleKeyDown, 31972 className: showMobile ? VolumeControl_module_default.a.outermobile : VolumeControl_module_default.a.outer, 31973 "aria-label": "Use arrow keys to change volume" 31974 }, Object(preact_modulebabel_target_legacy["h"])("div", { 31975 className: classnames_babel_target_legacy_default()(VolumeControl_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, VolumeControl_module_default.a.dark, darkTheme)), 31976 onMouseEnter: mouseOver, 31977 onMouseLeave: mouseOut 31978 }, Object(preact_modulebabel_target_legacy["h"])("picture", { 31979 className: VolumeControl_module_default.a.pic 31980 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 31981 colour: defaultColour, 31982 src: __webpack_require__(893) 31983 })), displayVolume === 0 ? Object(preact_modulebabel_target_legacy["h"])("picture", { 31984 className: classnames_babel_target_legacy_default()(VolumeControl_module_default.a.pic, VolumeControl_module_default.a.shift) 31985 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 31986 src: __webpack_require__(894), 31987 colour: defaultColour 31988 })) : bars.map(function (bar, idx) { 31989 return Object(preact_modulebabel_target_legacy["h"])("picture", { 31990 key: idx, 31991 className: classnames_babel_target_legacy_default()(VolumeControl_module_default.a.pic, VolumeControl_module_default.a.shift) 31992 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 31993 src: bar, 31994 colour: idx < displayVolume ? defaultColour : hoverColour 31995 })); 31996 }), Object(preact_modulebabel_target_legacy["h"])("div", { 31997 className: VolumeControl_module_default.a.overlay 31998 }, Object(preact_modulebabel_target_legacy["h"])("div", { 31999 className: VolumeControl_module_default.a.wide, 32000 onMouseEnter: function onMouseEnter() { 32001 return volumeHover(0); 32002 }, 32003 onClick: function onClick() { 32004 return volumeClick(volume === 0 ? 4 : 0); 32005 } 32006 }), toConsumableArraybabel_target_legacy_default()(new Array(5)).map(function (o, idx) { 32007 return Object(preact_modulebabel_target_legacy["h"])("div", { 32008 key: idx, 32009 className: VolumeControl_module_default.a.narrow, 32010 onMouseEnter: function onMouseEnter() { 32011 return volumeHover(idx + 1); 32012 }, 32013 onClick: function onClick() { 32014 return volumeClick(idx + 1); 32015 } 32016 }); 32017 })))); 32018}; 32019/* harmony default export */ var VolumeControlbabel_target_legacy = (VolumeControlbabel_target_legacy_VolumeControl); 32020// CONCATENATED MODULE: ./src/components/VolumeControl/index.ts?babel-target=legacy 32021 32022 32023/***/ }), 32024/* 529 */ 32025/***/ (function(module, __webpack_exports__, __webpack_require__) { 32026 32027"use strict"; 32028 32029// EXPORTS 32030__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ StationLogobabel_target_legacy_StationLogo; }); 32031 32032// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 32033var preact_modulebabel_target_legacy = __webpack_require__(1); 32034 32035// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 32036var utilsbabel_target_legacy = __webpack_require__(48); 32037 32038// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 32039var es_babel_target_legacy = __webpack_require__(25); 32040 32041// EXTERNAL MODULE: ./src/components/StationLogo/StationLogo.module.scss 32042var StationLogo_module = __webpack_require__(244); 32043var StationLogo_module_default = /*#__PURE__*/__webpack_require__.n(StationLogo_module); 32044 32045// CONCATENATED MODULE: ./src/components/StationLogo/StationLogo.tsx?babel-target=legacy 32046 32047 32048 32049 32050var StationLogobabel_target_legacy_StationLogo = function StationLogo(_ref) { 32051 var stationName = _ref.stationName, 32052 stationUrl = _ref.stationUrl, 32053 _ref$variant = _ref.variant, 32054 variant = _ref$variant === void 0 ? "large" : _ref$variant, 32055 _ref$logo = _ref.logo, 32056 logo = _ref$logo === void 0 ? __webpack_require__(895) : _ref$logo; 32057 32058 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 32059 t = _useTranslation.t; 32060 32061 var nameAsId = Object(utilsbabel_target_legacy["j" /* kebabify */])(stationName); 32062 var imageNode = Object(preact_modulebabel_target_legacy["h"])("picture", { 32063 className: variant === "large" ? StationLogo_module_default.a.logo : StationLogo_module_default.a.logoSmall 32064 }, Object(preact_modulebabel_target_legacy["h"])("img", { 32065 src: logo,
32066 alt: stationUrl ? "" : stationName, 32067 id: nameAsId, 32068 tabIndex: -1, 32069 "aria-labelledby": "station-name-label" 32070 })); 32071 32072 if (stationUrl) { 32073 return Object(preact_modulebabel_target_legacy["h"])("a", { 32074 id: "station-name-label", 32075 href: stationUrl, 32076 target: "_blank", 32077 rel: "noopener noreferrer", 32078 "aria-label": t("ARIA_VISIT_STATION", { 32079 serviceName: stationName 32080 }) 32081 }, imageNode); 32082 } 32083 32084 return imageNode; 32085}; 32086// CONCATENATED MODULE: ./src/components/StationLogo/index.ts?babel-target=legacy 32087 32088 32089/***/ }), 32090/* 530 */, 32091/* 531 */, 32092/* 532 */, 32093/* 533 */, 32094/* 534 */, 32095/* 535 */, 32096/* 536 */, 32097/* 537 */, 32098/* 538 */, 32099/* 539 */ 32100/***/ (function(module, exports, __webpack_require__) { 32101 32102__webpack_require__(71); 32103__webpack_require__(540); 32104__webpack_require__(199); 32105__webpack_require__(541); 32106__webpack_require__(542); 32107__webpack_require__(458); 32108__webpack_require__(543); 32109__webpack_require__(544); 32110__webpack_require__(545); 32111__webpack_require__(546); 32112__webpack_require__(547); 32113__webpack_require__(548); 32114__webpack_require__(549); 32115__webpack_require__(550); 32116__webpack_require__(551); 32117__webpack_require__(552); 32118__webpack_require__(459); 32119__webpack_require__(554); 32120__webpack_require__(555); 32121__webpack_require__(75); 32122__webpack_require__(556); 32123__webpack_require__(425); 32124__webpack_require__(557); 32125__webpack_require__(70); 32126__webpack_require__(182); 32127__webpack_require__(343); 32128__webpack_require__(558); 32129__webpack_require__(559); 32130__webpack_require__(87); 32131__webpack_require__(124); 32132__webpack_require__(265); 32133__webpack_require__(160); 32134__webpack_require__(560); 32135__webpack_require__(77); 32136__webpack_require__(162); 32137__webpack_require__(561); 32138__webpack_require__(562); 32139__webpack_require__(177); 32140__webpack_require__(563); 32141__webpack_require__(564); 32142__webpack_require__(410); 32143__webpack_require__(565); 32144__webpack_require__(566); 32145__webpack_require__(567); 32146__webpack_require__(138); 32147__webpack_require__(568); 32148__webpack_require__(123); 32149__webpack_require__(569); 32150__webpack_require__(570); 32151__webpack_require__(406); 32152__webpack_require__(571); 32153__webpack_require__(572); 32154__webpack_require__(573); 32155__webpack_require__(574); 32156__webpack_require__(575); 32157__webpack_require__(576); 32158__webpack_require__(98); 32159__webpack_require__(99); 32160__webpack_require__(577); 32161__webpack_require__(578); 32162__webpack_require__(579); 32163__webpack_require__(580); 32164__webpack_require__(581); 32165__webpack_require__(582); 32166__webpack_require__(89); 32167__webpack_require__(583); 32168__webpack_require__(584); 32169__webpack_require__(585); 32170__webpack_require__(328); 32171__webpack_require__(105); 32172__webpack_require__(587); 32173__webpack_require__(588); 32174__webpack_require__(589); 32175__webpack_require__(590); 32176__webpack_require__(460); 32177__webpack_require__(591); 32178__webpack_require__(592); 32179__webpack_require__(266); 32180__webpack_require__(140); 32181__webpack_require__(302); 32182__webpack_require__(593); 32183__webpack_require__(594); 32184__webpack_require__(595); 32185__webpack_require__(596); 32186__webpack_require__(269); 32187__webpack_require__(254); 32188__webpack_require__(252); 32189__webpack_require__(461); 32190__webpack_require__(303); 32191__webpack_require__(597); 32192__webpack_require__(598); 32193__webpack_require__(237); 32194__webpack_require__(599); 32195__webpack_require__(600); 32196__webpack_require__(601); 32197__webpack_require__(602); 32198__webpack_require__(603); 32199__webpack_require__(604); 32200__webpack_require__(605); 32201__webpack_require__(606); 32202__webpack_require__(426); 32203__webpack_require__(523); 32204__webpack_require__(607); 32205__webpack_require__(344); 32206__webpack_require__(608); 32207__webpack_require__(609); 32208__webpack_require__(427); 32209__webpack_require__(93); 32210__webpack_require__(610); 32211__webpack_require__(611); 32212__webpack_require__(612); 32213__webpack_require__(156); 32214__webpack_require__(613); 32215__webpack_require__(614); 32216__webpack_require__(411); 32217__webpack_require__(615); 32218__webpack_require__(616); 32219__webpack_require__(618); 32220__webpack_require__(619); 32221__webpack_require__(620); 32222__webpack_require__(621); 32223__webpack_require__(622); 32224__webpack_require__(623); 32225__webpack_require__(624); 32226__webpack_require__(625); 32227__webpack_require__(626); 32228__webpack_require__(627); 32229__webpack_require__(628); 32230__webpack_require__(629); 32231__webpack_require__(630); 32232__webpack_require__(631); 32233__webpack_require__(632); 32234__webpack_require__(633); 32235__webpack_require__(634); 32236__webpack_require__(636); 32237__webpack_require__(637); 32238__webpack_require__(638); 32239__webpack_require__(639); 32240__webpack_require__(640); 32241__webpack_require__(641); 32242__webpack_require__(642); 32243__webpack_require__(643); 32244__webpack_require__(644); 32245__webpack_require__(645); 32246__webpack_require__(646); 32247__webpack_require__(647); 32248__webpack_require__(648); 32249__webpack_require__(650); 32250__webpack_require__(651); 32251__webpack_require__(653); 32252__webpack_require__(654); 32253__webpack_require__(187); 32254__webpack_require__(656); 32255__webpack_require__(657); 32256__webpack_require__(658); 32257__webpack_require__(659); 32258__webpack_require__(660); 32259__webpack_require__(661); 32260__webpack_require__(662); 32261__webpack_require__(663); 32262__webpack_require__(665); 32263__webpack_require__(492); 32264__webpack_require__(666); 32265__webpack_require__(667); 32266__webpack_require__(493); 32267__webpack_require__(669); 32268__webpack_require__(670); 32269__webpack_require__(671); 32270__webpack_require__(672); 32271__webpack_require__(673); 32272__webpack_require__(674); 32273__webpack_require__(675); 32274__webpack_require__(676); 32275__webpack_require__(677); 32276__webpack_require__(494); 32277__webpack_require__(495); 32278__webpack_require__(496); 32279__webpack_require__(497); 32280__webpack_require__(498); 32281__webpack_require__(499); 32282__webpack_require__(500); 32283__webpack_require__(501); 32284__webpack_require__(502); 32285__webpack_require__(503); 32286__webpack_require__(504); 32287__webpack_require__(505); 32288__webpack_require__(506); 32289__webpack_require__(507); 32290__webpack_require__(508); 32291__webpack_require__(509); 32292__webpack_require__(510); 32293__webpack_require__(511); 32294__webpack_require__(512); 32295__webpack_require__(513); 32296__webpack_require__(514); 32297__webpack_require__(515); 32298__webpack_require__(516); 32299__webpack_require__(678); 32300__webpack_require__(462); 32301__webpack_require__(679); 32302__webpack_require__(680); 32303__webpack_require__(681); 32304__webpack_require__(682); 32305__webpack_require__(683); 32306__webpack_require__(684); 32307__webpack_require__(685); 32308__webpack_require__(686); 32309__webpack_require__(687); 32310__webpack_require__(688); 32311__webpack_require__(689); 32312__webpack_require__(690); 32313var path = __webpack_require__(167); 32314 32315module.exports = path; 32316 32317 32318/***/ }), 32319/* 540 */ 32320/***/ (function(module, exports, __webpack_require__) { 32321 32322var defineWellKnownSymbol = __webpack_require__(62); 32323 32324// `Symbol.asyncIterator` well-known symbol 32325// https://tc39.github.io/ecma262/#sec-symbol.asynciterator 32326defineWellKnownSymbol('asyncIterator'); 32327 32328 32329/***/ }), 32330/* 541 */ 32331/***/ (function(module, exports, __webpack_require__) { 32332 32333var defineWellKnownSymbol = __webpack_require__(62); 32334 32335// `Symbol.hasInstance` well-known symbol 32336// https://tc39.github.io/ecma262/#sec-symbol.hasinstance 32337defineWellKnownSymbol('hasInstance'); 32338 32339
32340/***/ }), 32341/* 542 */ 32342/***/ (function(module, exports, __webpack_require__) { 32343 32344var defineWellKnownSymbol = __webpack_require__(62); 32345 32346// `Symbol.isConcatSpreadable` well-known symbol 32347// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable 32348defineWellKnownSymbol('isConcatSpreadable'); 32349 32350 32351/***/ }), 32352/* 543 */ 32353/***/ (function(module, exports, __webpack_require__) { 32354 32355var defineWellKnownSymbol = __webpack_require__(62); 32356 32357// `Symbol.match` well-known symbol 32358// https://tc39.github.io/ecma262/#sec-symbol.match 32359defineWellKnownSymbol('match'); 32360 32361 32362/***/ }), 32363/* 544 */ 32364/***/ (function(module, exports, __webpack_require__) { 32365 32366var defineWellKnownSymbol = __webpack_require__(62); 32367 32368// `Symbol.matchAll` well-known symbol 32369defineWellKnownSymbol('matchAll'); 32370 32371 32372/***/ }), 32373/* 545 */ 32374/***/ (function(module, exports, __webpack_require__) { 32375 32376var defineWellKnownSymbol = __webpack_require__(62); 32377 32378// `Symbol.replace` well-known symbol 32379// https://tc39.github.io/ecma262/#sec-symbol.replace 32380defineWellKnownSymbol('replace'); 32381 32382 32383/***/ }), 32384/* 546 */ 32385/***/ (function(module, exports, __webpack_require__) { 32386 32387var defineWellKnownSymbol = __webpack_require__(62); 32388 32389// `Symbol.search` well-known symbol 32390// https://tc39.github.io/ecma262/#sec-symbol.search 32391defineWellKnownSymbol('search'); 32392 32393 32394/***/ }), 32395/* 547 */ 32396/***/ (function(module, exports, __webpack_require__) { 32397 32398var defineWellKnownSymbol = __webpack_require__(62); 32399 32400// `Symbol.species` well-known symbol 32401// https://tc39.github.io/ecma262/#sec-symbol.species 32402defineWellKnownSymbol('species'); 32403 32404 32405/***/ }), 32406/* 548 */ 32407/***/ (function(module, exports, __webpack_require__) { 32408 32409var defineWellKnownSymbol = __webpack_require__(62); 32410 32411// `Symbol.split` well-known symbol 32412// https://tc39.github.io/ecma262/#sec-symbol.split 32413defineWellKnownSymbol('split'); 32414 32415 32416/***/ }), 32417/* 549 */ 32418/***/ (function(module, exports, __webpack_require__) { 32419 32420var defineWellKnownSymbol = __webpack_require__(62); 32421 32422// `Symbol.toPrimitive` well-known symbol 32423// https://tc39.github.io/ecma262/#sec-symbol.toprimitive 32424defineWellKnownSymbol('toPrimitive'); 32425 32426 32427/***/ }), 32428/* 550 */ 32429/***/ (function(module, exports, __webpack_require__) { 32430 32431var defineWellKnownSymbol = __webpack_require__(62); 32432 32433// `Symbol.toStringTag` well-known symbol 32434// https://tc39.github.io/ecma262/#sec-symbol.tostringtag 32435defineWellKnownSymbol('toStringTag'); 32436 32437 32438/***/ }), 32439/* 551 */ 32440/***/ (function(module, exports, __webpack_require__) { 32441 32442var defineWellKnownSymbol = __webpack_require__(62); 32443 32444// `Symbol.unscopables` well-known symbol 32445// https://tc39.github.io/ecma262/#sec-symbol.unscopables 32446defineWellKnownSymbol('unscopables'); 32447 32448 32449/***/ }), 32450/* 552 */ 32451/***/ (function(module, exports, __webpack_require__) { 32452 32453"use strict"; 32454 32455var $ = __webpack_require__(2); 32456var getPrototypeOf = __webpack_require__(74); 32457var setPrototypeOf = __webpack_require__(116); 32458var create = __webpack_require__(92); 32459var createNonEnumerableProperty = __webpack_require__(53); 32460var createPropertyDescriptor = __webpack_require__(100); 32461var iterate = __webpack_require__(117); 32462 32463var $AggregateError = function AggregateError(errors, message) { 32464 var that = this; 32465 if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); 32466 if (setPrototypeOf) { 32467 that = setPrototypeOf(new Error(undefined), getPrototypeOf(that)); 32468 } 32469 if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message)); 32470 var errorsArray = []; 32471 iterate(errors, errorsArray.push, { that: errorsArray }); 32472 createNonEnumerableProperty(that, 'errors', errorsArray); 32473 return that; 32474}; 32475 32476$AggregateError.prototype = create(Error.prototype, { 32477 constructor: createPropertyDescriptor(5, $AggregateError), 32478 message: createPropertyDescriptor(5, ''), 32479 name: createPropertyDescriptor(5, 'AggregateError') 32480}); 32481 32482$({ global: true }, { 32483 AggregateError: $AggregateError 32484}); 32485 32486 32487/***/ }), 32488/* 553 */ 32489/***/ (function(module, exports, __webpack_require__) { 32490 32491var anObject = __webpack_require__(20); 32492var iteratorClose = __webpack_require__(365); 32493 32494// call something on iterator step with safe closing on error 32495module.exports = function (iterator, fn, value, ENTRIES) { 32496 try { 32497 return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); 32498 // 7.4.6 IteratorClose(iterator, completion) 32499 } catch (error) { 32500 iteratorClose(iterator); 32501 throw error; 32502 } 32503}; 32504 32505 32506/***/ }), 32507/* 554 */ 32508/***/ (function(module, exports, __webpack_require__) { 32509 32510var $ = __webpack_require__(2); 32511var isArray = __webpack_require__(133); 32512 32513// `Array.isArray` method 32514// https://tc39.github.io/ecma262/#sec-array.isarray 32515$({ target: 'Array', stat: true }, {
32516 isArray: isArray 32517}); 32518 32519 32520/***/ }), 32521/* 555 */ 32522/***/ (function(module, exports, __webpack_require__) { 32523 32524"use strict"; 32525 32526var $ = __webpack_require__(2); 32527var fails = __webpack_require__(11); 32528var createProperty = __webpack_require__(134); 32529 32530var ISNT_GENERIC = fails(function () { 32531 function F() { /* empty */ } 32532 return !(Array.of.call(F) instanceof F); 32533}); 32534 32535// `Array.of` method 32536// https://tc39.github.io/ecma262/#sec-array.of 32537// WebKit Array.of isn't generic 32538$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { 32539 of: function of(/* ...args */) { 32540 var index = 0; 32541 var argumentsLength = arguments.length; 32542 var result = new (typeof this == 'function' ? this : Array)(argumentsLength); 32543 while (argumentsLength > index) createProperty(result, index, arguments[index++]); 32544 result.length = argumentsLength; 32545 return result; 32546 } 32547}); 32548 32549 32550/***/ }), 32551/* 556 */ 32552/***/ (function(module, exports, __webpack_require__) { 32553 32554var $ = __webpack_require__(2); 32555var copyWithin = __webpack_require__(367); 32556var addToUnscopables = __webpack_require__(118); 32557 32558// `Array.prototype.copyWithin` method 32559// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin 32560$({ target: 'Array', proto: true }, { 32561 copyWithin: copyWithin 32562}); 32563 32564// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 32565addToUnscopables('copyWithin'); 32566 32567 32568/***/ }), 32569/* 557 */ 32570/***/ (function(module, exports, __webpack_require__) { 32571 32572var $ = __webpack_require__(2); 32573var fill = __webpack_require__(286); 32574var addToUnscopables = __webpack_require__(118); 32575 32576// `Array.prototype.fill` method 32577// https://tc39.github.io/ecma262/#sec-array.prototype.fill 32578$({ target: 'Array', proto: true }, { 32579 fill: fill 32580}); 32581 32582// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 32583addToUnscopables('fill'); 32584 32585 32586/***/ }), 32587/* 558 */ 32588/***/ (function(module, exports, __webpack_require__) { 32589 32590"use strict"; 32591 32592var $ = __webpack_require__(2); 32593var flattenIntoArray = __webpack_require__(368); 32594var toObject = __webpack_require__(33); 32595var toLength = __webpack_require__(28); 32596var toInteger = __webpack_require__(73); 32597var arraySpeciesCreate = __webpack_require__(171); 32598 32599// `Array.prototype.flat` method 32600// https://github.com/tc39/proposal-flatMap 32601$({ target: 'Array', proto: true }, { 32602 flat: function flat(/* depthArg = 1 */) { 32603 var depthArg = arguments.length ? arguments[0] : undefined; 32604 var O = toObject(this); 32605 var sourceLen = toLength(O.length); 32606 var A = arraySpeciesCreate(O, 0); 32607 A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); 32608 return A; 32609 } 32610}); 32611 32612 32613/***/ }), 32614/* 559 */ 32615/***/ (function(module, exports, __webpack_require__) { 32616 32617"use strict"; 32618 32619var $ = __webpack_require__(2); 32620var flattenIntoArray = __webpack_require__(368); 32621var toObject = __webpack_require__(33); 32622var toLength = __webpack_require__(28); 32623var aFunction = __webpack_require__(59); 32624var arraySpeciesCreate = __webpack_require__(171); 32625 32626// `Array.prototype.flatMap` method 32627// https://github.com/tc39/proposal-flatMap 32628$({ target: 'Array', proto: true }, { 32629 flatMap: function flatMap(callbackfn /* , thisArg */) { 32630 var O = toObject(this); 32631 var sourceLen = toLength(O.length); 32632 var A; 32633 aFunction(callbackfn); 32634 A = arraySpeciesCreate(O, 0); 32635 A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 32636 return A; 32637 } 32638}); 32639 32640 32641/***/ }), 32642/* 560 */ 32643/***/ (function(module, exports, __webpack_require__) { 32644 32645var $ = __webpack_require__(2); 32646var lastIndexOf = __webpack_require__(370); 32647 32648// `Array.prototype.lastIndexOf` method 32649// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof 32650$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { 32651 lastIndexOf: lastIndexOf 32652}); 32653 32654 32655/***/ }), 32656/* 561 */ 32657/***/ (function(module, exports, __webpack_require__) { 32658 32659"use strict"; 32660 32661var $ = __webpack_require__(2); 32662var $reduceRight = __webpack_require__(217).right; 32663var arrayMethodIsStrict = __webpack_require__(102); 32664var arrayMethodUsesToLength = __webpack_require__(63); 32665var CHROME_VERSION = __webpack_require__(176); 32666var IS_NODE = __webpack_require__(146); 32667 32668var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); 32669// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method 32670var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); 32671// Chrome 80-82 has a critical bug 32672// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 32673var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 32674 32675// `Array.prototype.reduceRight` method 32676// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright 32677$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
vendor: 14,221 bytes, lines 32678-33191
32678 reduceRight: function reduceRight(callbackfn /* , initialValue */) { 32679 return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 32680 } 32681}); 32682 32683 32684/***/ }), 32685/* 562 */ 32686/***/ (function(module, exports, __webpack_require__) { 32687 32688"use strict"; 32689 32690var $ = __webpack_require__(2); 32691var isArray = __webpack_require__(133); 32692 32693var nativeReverse = [].reverse; 32694var test = [1, 2]; 32695 32696// `Array.prototype.reverse` method 32697// https://tc39.github.io/ecma262/#sec-array.prototype.reverse 32698// fix for Safari 12.0 bug 32699// https://bugs.webkit.org/show_bug.cgi?id=188794 32700$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { 32701 reverse: function reverse() { 32702 // eslint-disable-next-line no-self-assign 32703 if (isArray(this)) this.length = this.length; 32704 return nativeReverse.call(this); 32705 } 32706}); 32707 32708 32709/***/ }), 32710/* 563 */ 32711/***/ (function(module, exports, __webpack_require__) { 32712 32713"use strict"; 32714 32715var $ = __webpack_require__(2); 32716var $some = __webpack_require__(46).some; 32717var arrayMethodIsStrict = __webpack_require__(102); 32718var arrayMethodUsesToLength = __webpack_require__(63); 32719 32720var STRICT_METHOD = arrayMethodIsStrict('some'); 32721var USES_TO_LENGTH = arrayMethodUsesToLength('some'); 32722 32723// `Array.prototype.some` method 32724// https://tc39.github.io/ecma262/#sec-array.prototype.some 32725$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { 32726 some: function some(callbackfn /* , thisArg */) { 32727 return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 32728 } 32729}); 32730 32731 32732/***/ }), 32733/* 564 */ 32734/***/ (function(module, exports, __webpack_require__) { 32735 32736"use strict"; 32737 32738var $ = __webpack_require__(2); 32739var aFunction = __webpack_require__(59); 32740var toObject = __webpack_require__(33); 32741var fails = __webpack_require__(11); 32742var arrayMethodIsStrict = __webpack_require__(102); 32743 32744var test = []; 32745var nativeSort = test.sort; 32746 32747// IE8- 32748var FAILS_ON_UNDEFINED = fails(function () { 32749 test.sort(undefined); 32750}); 32751// V8 bug 32752var FAILS_ON_NULL = fails(function () { 32753 test.sort(null); 32754}); 32755// Old WebKit 32756var STRICT_METHOD = arrayMethodIsStrict('sort'); 32757 32758var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD; 32759 32760// `Array.prototype.sort` method 32761// https://tc39.github.io/ecma262/#sec-array.prototype.sort 32762$({ target: 'Array', proto: true, forced: FORCED }, { 32763 sort: function sort(comparefn) { 32764 return comparefn === undefined 32765 ? nativeSort.call(toObject(this)) 32766 : nativeSort.call(toObject(this), aFunction(comparefn)); 32767 } 32768}); 32769 32770 32771/***/ }), 32772/* 565 */ 32773/***/ (function(module, exports, __webpack_require__) { 32774 32775var setSpecies = __webpack_require__(147); 32776 32777// `Array[@@species]` getter 32778// https://tc39.github.io/ecma262/#sec-get-array-@@species 32779setSpecies('Array'); 32780 32781 32782/***/ }), 32783/* 566 */ 32784/***/ (function(module, exports, __webpack_require__) { 32785 32786// this method was added to unscopables after implementation 32787// in popular engines, so it's moved to a separate module 32788var addToUnscopables = __webpack_require__(118); 32789 32790addToUnscopables('flat'); 32791 32792 32793/***/ }), 32794/* 567 */ 32795/***/ (function(module, exports, __webpack_require__) { 32796 32797// this method was added to unscopables after implementation 32798// in popular engines, so it's moved to a separate module 32799var addToUnscopables = __webpack_require__(118); 32800 32801addToUnscopables('flatMap'); 32802 32803 32804/***/ }), 32805/* 568 */ 32806/***/ (function(module, exports, __webpack_require__) { 32807 32808var $ = __webpack_require__(2); 32809var bind = __webpack_require__(372); 32810 32811// `Function.prototype.bind` method 32812// https://tc39.github.io/ecma262/#sec-function.prototype.bind 32813$({ target: 'Function', proto: true }, { 32814 bind: bind 32815}); 32816 32817 32818/***/ }), 32819/* 569 */ 32820/***/ (function(module, exports, __webpack_require__) { 32821 32822"use strict"; 32823 32824var isObject = __webpack_require__(19); 32825var definePropertyModule = __webpack_require__(30); 32826var getPrototypeOf = __webpack_require__(74); 32827var wellKnownSymbol = __webpack_require__(23); 32828 32829var HAS_INSTANCE = wellKnownSymbol('hasInstance'); 32830var FunctionPrototype = Function.prototype; 32831 32832// `Function.prototype[@@hasInstance]` method 32833// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance 32834if (!(HAS_INSTANCE in FunctionPrototype)) { 32835 definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { 32836 if (typeof this != 'function' || !isObject(O)) return false; 32837 if (!isObject(this.prototype)) return O instanceof this; 32838 // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: 32839 while (O = getPrototypeOf(O)) if (this.prototype === O) return true; 32840 return false; 32841 } }); 32842} 32843 32844 32845/***/ }), 32846/* 570 */ 32847/***/ (function(module, exports, __webpack_require__) { 32848 32849var $ = __webpack_require__(2); 32850var global = __webpack_require__(16); 32851 32852// `globalThis` object 32853// https://github.com/tc39/proposal-global 32854$({ global: true }, { 32855 globalThis: global 32856}); 32857 32858 32859/***/ }), 32860/* 571 */ 32861/***/ (function(module, exports, __webpack_require__) { 32862 32863var $ = __webpack_require__(2); 32864var DESCRIPTORS = __webpack_require__(21); 32865var create = __webpack_require__(92); 32866 32867// `Object.create` method 32868// https://tc39.github.io/ecma262/#sec-object.create 32869$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { 32870 create: create 32871}); 32872 32873 32874/***/ }), 32875/* 572 */ 32876/***/ (function(module, exports, __webpack_require__) { 32877 32878var $ = __webpack_require__(2); 32879var DESCRIPTORS = __webpack_require__(21); 32880var objectDefinePropertyModile = __webpack_require__(30); 32881 32882// `Object.defineProperty` method 32883// https://tc39.github.io/ecma262/#sec-object.defineproperty 32884$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { 32885 defineProperty: objectDefinePropertyModile.f 32886}); 32887 32888 32889/***/ }), 32890/* 573 */ 32891/***/ (function(module, exports, __webpack_require__) { 32892 32893var $ = __webpack_require__(2); 32894var DESCRIPTORS = __webpack_require__(21); 32895var defineProperties = __webpack_require__(282); 32896 32897// `Object.defineProperties` method 32898// https://tc39.github.io/ecma262/#sec-object.defineproperties 32899$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { 32900 defineProperties: defineProperties 32901}); 32902 32903 32904/***/ }), 32905/* 574 */ 32906/***/ (function(module, exports, __webpack_require__) { 32907 32908var $ = __webpack_require__(2); 32909var $entries = __webpack_require__(374).entries; 32910 32911// `Object.entries` method 32912// https://tc39.github.io/ecma262/#sec-object.entries 32913$({ target: 'Object', stat: true }, { 32914 entries: function entries(O) { 32915 return $entries(O); 32916 } 32917}); 32918 32919 32920/***/ }), 32921/* 575 */ 32922/***/ (function(module, exports, __webpack_require__) { 32923 32924var $ = __webpack_require__(2); 32925var FREEZING = __webpack_require__(178); 32926var fails = __webpack_require__(11); 32927var isObject = __webpack_require__(19); 32928var onFreeze = __webpack_require__(135).onFreeze; 32929 32930var nativeFreeze = Object.freeze; 32931var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); 32932 32933// `Object.freeze` method 32934// https://tc39.github.io/ecma262/#sec-object.freeze 32935$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 32936 freeze: function freeze(it) { 32937 return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; 32938 } 32939}); 32940 32941 32942/***/ }), 32943/* 576 */ 32944/***/ (function(module, exports, __webpack_require__) { 32945 32946var $ = __webpack_require__(2); 32947var iterate = __webpack_require__(117); 32948var createProperty = __webpack_require__(134); 32949 32950// `Object.fromEntries` method 32951// https://github.com/tc39/proposal-object-from-entries 32952$({ target: 'Object', stat: true }, { 32953 fromEntries: function fromEntries(iterable) { 32954 var obj = {}; 32955 iterate(iterable, function (k, v) { 32956 createProperty(obj, k, v); 32957 }, { AS_ENTRIES: true }); 32958 return obj; 32959 } 32960}); 32961 32962 32963/***/ }), 32964/* 577 */ 32965/***/ (function(module, exports, __webpack_require__) { 32966 32967var $ = __webpack_require__(2); 32968var fails = __webpack_require__(11); 32969var nativeGetOwnPropertyNames = __webpack_require__(362).f; 32970 32971var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); 32972 32973// `Object.getOwnPropertyNames` method 32974// https://tc39.github.io/ecma262/#sec-object.getownpropertynames 32975$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 32976 getOwnPropertyNames: nativeGetOwnPropertyNames 32977}); 32978 32979 32980/***/ }), 32981/* 578 */ 32982/***/ (function(module, exports, __webpack_require__) { 32983 32984var $ = __webpack_require__(2); 32985var fails = __webpack_require__(11); 32986var toObject = __webpack_require__(33); 32987var nativeGetPrototypeOf = __webpack_require__(74); 32988var CORRECT_PROTOTYPE_GETTER = __webpack_require__(283); 32989 32990var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); 32991 32992// `Object.getPrototypeOf` method 32993// https://tc39.github.io/ecma262/#sec-object.getprototypeof 32994$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { 32995 getPrototypeOf: function getPrototypeOf(it) { 32996 return nativeGetPrototypeOf(toObject(it)); 32997 } 32998}); 32999 33000 33001 33002/***/ }), 33003/* 579 */ 33004/***/ (function(module, exports, __webpack_require__) { 33005 33006var $ = __webpack_require__(2); 33007var is = __webpack_require__(375); 33008 33009// `Object.is` method 33010// https://tc39.github.io/ecma262/#sec-object.is 33011$({ target: 'Object', stat: true }, { 33012 is: is 33013}); 33014 33015 33016/***/ }), 33017/* 580 */ 33018/***/ (function(module, exports, __webpack_require__) { 33019 33020var $ = __webpack_require__(2); 33021var fails = __webpack_require__(11); 33022var isObject = __webpack_require__(19); 33023 33024var nativeIsExtensible = Object.isExtensible; 33025var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); }); 33026 33027// `Object.isExtensible` method 33028// https://tc39.github.io/ecma262/#sec-object.isextensible 33029$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 33030 isExtensible: function isExtensible(it) { 33031 return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; 33032 } 33033}); 33034 33035 33036/***/ }), 33037/* 581 */ 33038/***/ (function(module, exports, __webpack_require__) { 33039 33040var $ = __webpack_require__(2); 33041var fails = __webpack_require__(11); 33042var isObject = __webpack_require__(19); 33043 33044var nativeIsFrozen = Object.isFrozen; 33045var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); }); 33046 33047// `Object.isFrozen` method 33048// https://tc39.github.io/ecma262/#sec-object.isfrozen 33049$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 33050 isFrozen: function isFrozen(it) { 33051 return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; 33052 } 33053}); 33054 33055 33056/***/ }), 33057/* 582 */ 33058/***/ (function(module, exports, __webpack_require__) { 33059 33060var $ = __webpack_require__(2); 33061var fails = __webpack_require__(11); 33062var isObject = __webpack_require__(19); 33063 33064var nativeIsSealed = Object.isSealed; 33065var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); }); 33066 33067// `Object.isSealed` method 33068// https://tc39.github.io/ecma262/#sec-object.issealed 33069$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 33070 isSealed: function isSealed(it) { 33071 return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; 33072 } 33073}); 33074 33075 33076/***/ }), 33077/* 583 */ 33078/***/ (function(module, exports, __webpack_require__) { 33079 33080var $ = __webpack_require__(2); 33081var isObject = __webpack_require__(19); 33082var onFreeze = __webpack_require__(135).onFreeze; 33083var FREEZING = __webpack_require__(178); 33084var fails = __webpack_require__(11); 33085 33086var nativePreventExtensions = Object.preventExtensions; 33087var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); }); 33088 33089// `Object.preventExtensions` method 33090// https://tc39.github.io/ecma262/#sec-object.preventextensions 33091$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 33092 preventExtensions: function preventExtensions(it) { 33093 return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; 33094 } 33095}); 33096 33097 33098/***/ }), 33099/* 584 */ 33100/***/ (function(module, exports, __webpack_require__) { 33101 33102var $ = __webpack_require__(2); 33103var isObject = __webpack_require__(19); 33104var onFreeze = __webpack_require__(135).onFreeze; 33105var FREEZING = __webpack_require__(178); 33106var fails = __webpack_require__(11); 33107 33108var nativeSeal = Object.seal; 33109var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); }); 33110 33111// `Object.seal` method 33112// https://tc39.github.io/ecma262/#sec-object.seal 33113$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 33114 seal: function seal(it) { 33115 return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; 33116 } 33117}); 33118 33119 33120/***/ }), 33121/* 585 */ 33122/***/ (function(module, exports, __webpack_require__) { 33123 33124var $ = __webpack_require__(2); 33125var setPrototypeOf = __webpack_require__(116); 33126 33127// `Object.setPrototypeOf` method 33128// https://tc39.github.io/ecma262/#sec-object.setprototypeof 33129$({ target: 'Object', stat: true }, { 33130 setPrototypeOf: setPrototypeOf 33131}); 33132 33133 33134/***/ }), 33135/* 586 */ 33136/***/ (function(module, exports, __webpack_require__) { 33137 33138"use strict"; 33139 33140var TO_STRING_TAG_SUPPORT = __webpack_require__(285); 33141var classof = __webpack_require__(174); 33142 33143// `Object.prototype.toString` method implementation 33144// https://tc39.github.io/ecma262/#sec-object.prototype.tostring 33145module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 33146 return '[object ' + classof(this) + ']'; 33147}; 33148 33149 33150/***/ }), 33151/* 587 */ 33152/***/ (function(module, exports, __webpack_require__) { 33153 33154"use strict"; 33155 33156var $ = __webpack_require__(2); 33157var DESCRIPTORS = __webpack_require__(21); 33158var FORCED = __webpack_require__(218); 33159var toObject = __webpack_require__(33); 33160var aFunction = __webpack_require__(59); 33161var definePropertyModule = __webpack_require__(30); 33162 33163// `Object.prototype.__defineGetter__` method 33164// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ 33165if (DESCRIPTORS) { 33166 $({ target: 'Object', proto: true, forced: FORCED }, { 33167 __defineGetter__: function __defineGetter__(P, getter) { 33168 definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); 33169 } 33170 }); 33171} 33172 33173 33174/***/ }), 33175/* 588 */ 33176/***/ (function(module, exports, __webpack_require__) { 33177 33178"use strict"; 33179 33180var $ = __webpack_require__(2); 33181var DESCRIPTORS = __webpack_require__(21); 33182var FORCED = __webpack_require__(218); 33183var toObject = __webpack_require__(33); 33184var aFunction = __webpack_require__(59); 33185var definePropertyModule = __webpack_require__(30); 33186 33187// `Object.prototype.__defineSetter__` method 33188// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ 33189if (DESCRIPTORS) { 33190 $({ target: 'Object', proto: true, forced: FORCED }, { 33191 __defineSetter__: function __defineSetter__(P, setter) {
33192 definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); 33193 } 33194 }); 33195} 33196 33197 33198/***/ }), 33199/* 589 */ 33200/***/ (function(module, exports, __webpack_require__) { 33201 33202"use strict"; 33203 33204var $ = __webpack_require__(2); 33205var DESCRIPTORS = __webpack_require__(21); 33206var FORCED = __webpack_require__(218); 33207var toObject = __webpack_require__(33); 33208var toPrimitive = __webpack_require__(79); 33209var getPrototypeOf = __webpack_require__(74); 33210var getOwnPropertyDescriptor = __webpack_require__(51).f; 33211 33212// `Object.prototype.__lookupGetter__` method 33213// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ 33214if (DESCRIPTORS) { 33215 $({ target: 'Object', proto: true, forced: FORCED }, { 33216 __lookupGetter__: function __lookupGetter__(P) { 33217 var O = toObject(this); 33218 var key = toPrimitive(P, true); 33219 var desc; 33220 do { 33221 if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; 33222 } while (O = getPrototypeOf(O)); 33223 } 33224 }); 33225} 33226 33227 33228/***/ }), 33229/* 590 */ 33230/***/ (function(module, exports, __webpack_require__) { 33231 33232"use strict"; 33233 33234var $ = __webpack_require__(2); 33235var DESCRIPTORS = __webpack_require__(21); 33236var FORCED = __webpack_require__(218); 33237var toObject = __webpack_require__(33); 33238var toPrimitive = __webpack_require__(79); 33239var getPrototypeOf = __webpack_require__(74); 33240var getOwnPropertyDescriptor = __webpack_require__(51).f; 33241 33242// `Object.prototype.__lookupSetter__` method 33243// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ 33244if (DESCRIPTORS) { 33245 $({ target: 'Object', proto: true, forced: FORCED }, { 33246 __lookupSetter__: function __lookupSetter__(P) { 33247 var O = toObject(this); 33248 var key = toPrimitive(P, true); 33249 var desc; 33250 do { 33251 if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; 33252 } while (O = getPrototypeOf(O)); 33253 } 33254 }); 33255} 33256 33257 33258/***/ }), 33259/* 591 */ 33260/***/ (function(module, exports, __webpack_require__) { 33261 33262var $ = __webpack_require__(2); 33263var toIndexedObject = __webpack_require__(66); 33264var toLength = __webpack_require__(28); 33265 33266// `String.raw` method 33267// https://tc39.github.io/ecma262/#sec-string.raw 33268$({ target: 'String', stat: true }, { 33269 raw: function raw(template) { 33270 var rawTemplate = toIndexedObject(template.raw); 33271 var literalSegments = toLength(rawTemplate.length); 33272 var argumentsLength = arguments.length; 33273 var elements = []; 33274 var i = 0; 33275 while (literalSegments > i) { 33276 elements.push(String(rawTemplate[i++])); 33277 if (i < argumentsLength) elements.push(String(arguments[i])); 33278 } return elements.join(''); 33279 } 33280}); 33281 33282 33283/***/ }), 33284/* 592 */ 33285/***/ (function(module, exports, __webpack_require__) { 33286 33287"use strict"; 33288 33289var $ = __webpack_require__(2); 33290var codeAt = __webpack_require__(219).codeAt; 33291 33292// `String.prototype.codePointAt` method 33293// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat 33294$({ target: 'String', proto: true }, { 33295 codePointAt: function codePointAt(pos) { 33296 return codeAt(this, pos); 33297 } 33298}); 33299 33300 33301/***/ }), 33302/* 593 */ 33303/***/ (function(module, exports, __webpack_require__) { 33304 33305"use strict"; 33306 33307var $ = __webpack_require__(2); 33308var createIteratorConstructor = __webpack_require__(288); 33309var requireObjectCoercible = __webpack_require__(52); 33310var toLength = __webpack_require__(28); 33311var aFunction = __webpack_require__(59); 33312var anObject = __webpack_require__(20); 33313var classof = __webpack_require__(101); 33314var isRegExp = __webpack_require__(179); 33315var getRegExpFlags = __webpack_require__(148); 33316var createNonEnumerableProperty = __webpack_require__(53); 33317var fails = __webpack_require__(11); 33318var wellKnownSymbol = __webpack_require__(23); 33319var speciesConstructor = __webpack_require__(103); 33320var advanceStringIndex = __webpack_require__(223); 33321var InternalStateModule = __webpack_require__(58); 33322var IS_PURE = __webpack_require__(72); 33323 33324var MATCH_ALL = wellKnownSymbol('matchAll'); 33325var REGEXP_STRING = 'RegExp String'; 33326var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; 33327var setInternalState = InternalStateModule.set; 33328var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); 33329var RegExpPrototype = RegExp.prototype; 33330var regExpBuiltinExec = RegExpPrototype.exec; 33331var nativeMatchAll = ''.matchAll; 33332 33333var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { 33334 'a'.matchAll(/./); 33335}); 33336 33337var regExpExec = function (R, S) { 33338 var exec = R.exec; 33339 var result; 33340 if (typeof exec == 'function') { 33341 result = exec.call(R, S); 33342 if (typeof result != 'object') throw TypeError('Incorrect exec result'); 33343 return result; 33344 } return regExpBuiltinExec.call(R, S); 33345}; 33346 33347// eslint-disable-next-line max-len 33348var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { 33349 setInternalState(this, { 33350 type: REGEXP_STRING_ITERATOR, 33351 regexp: regexp, 33352 string: string, 33353 global: global, 33354 unicode: fullUnicode, 33355 done: false 33356 }); 33357}, REGEXP_STRING, function next() { 33358 var state = getInternalState(this); 33359 if (state.done) return { value: undefined, done: true }; 33360 var R = state.regexp; 33361 var S = state.string; 33362 var match = regExpExec(R, S); 33363 if (match === null) return { value: undefined, done: state.done = true }; 33364 if (state.global) { 33365 if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLe
33365ngth(R.lastIndex), state.unicode); 33366 return { value: match, done: false }; 33367 } 33368 state.done = true; 33369 return { value: match, done: false }; 33370}); 33371 33372var $matchAll = function (string) { 33373 var R = anObject(this); 33374 var S = String(string); 33375 var C, flagsValue, flags, matcher, global, fullUnicode; 33376 C = speciesConstructor(R, RegExp); 33377 flagsValue = R.flags; 33378 if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { 33379 flagsValue = getRegExpFlags.call(R); 33380 } 33381 flags = flagsValue === undefined ? '' : String(flagsValue); 33382 matcher = new C(C === RegExp ? R.source : R, flags); 33383 global = !!~flags.indexOf('g'); 33384 fullUnicode = !!~flags.indexOf('u'); 33385 matcher.lastIndex = toLength(R.lastIndex); 33386 return new $RegExpStringIterator(matcher, S, global, fullUnicode); 33387}; 33388 33389// `String.prototype.matchAll` method 33390// https://github.com/tc39/proposal-string-matchall 33391$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { 33392 matchAll: function matchAll(regexp) { 33393 var O = requireObjectCoercible(this); 33394 var flags, S, matcher, rx; 33395 if (regexp != null) { 33396 if (isRegExp(regexp)) { 33397 flags = String(requireObjectCoercible('flags' in RegExpPrototype 33398 ? regexp.flags 33399 : getRegExpFlags.call(regexp) 33400 )); 33401 if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes'); 33402 } 33403 if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); 33404 matcher = regexp[MATCH_ALL]; 33405 if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll; 33406 if (matcher != null) return aFunction(matcher).call(regexp, O); 33407 } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); 33408 S = String(O); 33409 rx = new RegExp(regexp, 'g'); 33410 return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S); 33411 } 33412}); 33413 33414IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); 33415 33416 33417/***/ }), 33418/* 594 */ 33419/***/ (function(module, exports, __webpack_require__) { 33420 33421"use strict"; 33422 33423var $ = __webpack_require__(2); 33424var $padEnd = __webpack_require__(291).end; 33425var WEBKIT_BUG = __webpack_require__(376); 33426 33427// `String.prototype.padEnd` method 33428// https://tc39.github.io/ecma262/#sec-string.prototype.padend 33429$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { 33430 padEnd: function padEnd(maxLength /* , fillString = ' ' */) { 33431 return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 33432 } 33433}); 33434 33435 33436/***/ }), 33437/* 595 */ 33438/***/ (function(module, exports, __webpack_require__) { 33439 33440"use strict"; 33441 33442var $ = __webpack_require__(2); 33443var $padStart = __webpack_require__(291).start; 33444var WEBKIT_BUG = __webpack_require__(376); 33445 33446// `String.prototype.padStart` method 33447// https://tc39.github.io/ecma262/#sec-string.prototype.padstart 33448$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { 33449 padStart: function padStart(maxLength /* , fillString = ' ' */) { 33450 return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 33451 } 33452}); 33453 33454 33455/***/ }), 33456/* 596 */ 33457/***/ (function(module, exports, __webpack_require__) { 33458 33459var $ = __webpack_require__(2); 33460var repeat = __webpack_require__(292); 33461 33462// `String.prototype.repeat` method 33463// https://tc39.github.io/ecma262/#sec-string.prototype.repeat 33464$({ target: 'String', proto: true }, { 33465 repeat: repeat 33466}); 33467 33468 33469/***/ }), 33470/* 597 */ 33471/***/ (function(module, exports, __webpack_require__) { 33472 33473"use strict"; 33474 33475var $ = __webpack_require__(2); 33476var $trimStart = __webpack_require__(149).start; 33477var forcedStringTrimMethod = __webpack_require__(293); 33478 33479var FORCED = forcedStringTrimMethod('trimStart'); 33480 33481var trimStart = FORCED ? function trimStart() { 33482 return $trimStart(this); 33483} : ''.trimStart; 33484 33485// `String.prototype.{ trimStart, trimLeft }` methods 33486// https://github.com/tc39/ecmascript-string-left-right-trim 33487$({ target: 'String', proto: true, forced: FORCED }, { 33488 trimStart: trimStart, 33489 trimLeft: trimStart 33490}); 33491 33492 33493/***/ }), 33494/* 598 */ 33495/***/ (function(module, exports, __webpack_require__) { 33496 33497"use strict"; 33498 33499var $ = __webpack_require__(2); 33500var $trimEnd = __webpack_require__(149).end; 33501var forcedStringTrimMethod = __webpack_require__(293); 33502 33503var FORCED = forcedStringTrimMethod('trimEnd'); 33504 33505var trimEnd = FORCED ? function trimEnd() { 33506 return $trimEnd(this); 33507} : ''.trimEnd; 33508 33509// `String.prototype.{ trimEnd, trimRight }` methods 33510// https://github.com/tc39/ecmascript-string-left-right-trim 33511$({ target: 'String', proto: true, forced: FORCED }, { 33512 trimEnd: trimEnd, 33513 trimRight: trimEnd 33514}); 33515 33516 33517/***/ }), 33518/* 599 */ 33519/***/ (function(module, exports, __webpack_require__) { 33520 33521"use strict"; 33522 33523var $ = __webpack_require__(2); 33524var createHTML = __webpack_require__(68); 33525var forcedStringHTMLMethod = __webpack_require__(69); 33526 33527// `String.prototype.anchor` method 33528// https://tc39.github.io/ecma262/#sec-string.prototype.anchor 33529$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { 33530 anchor: function anchor(name) { 33531 return createHTML(this, 'a', 'name', name); 33532 } 33533}); 33534 33535 33536/***/ }), 33537/* 600 */ 33538/***/ (function(module, exports, __webpack_require__) { 33539 33540"use strict"; 33541 33542var $ = __webpack_require__(2); 33543var createHTML = __webpack_require__(68); 33544var forcedStringHTMLMethod = __webpack_require__(69); 33545 33546// `String.prototype.big` method 33547// https://tc39.github.io/ecma262/#sec-string.prototype.big 33548$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { 33549 big: function big() { 33550 return createHTML(this, 'big', '', ''); 33551 } 33552}); 33553 33554 33555/***/ }), 33556/* 601 */ 33557/***/ (function(module, exports, __webpack_require__) { 33558 33559"use strict"; 33560 33561var $ = __webpack_require__(2); 33562var createHTML = __webpack_require__(68); 33563var forcedStringHTMLMethod = __webpack_require__(69); 33564 33565// `String.prototype.blink` method 33566// https://tc39.github.io/ecma262/#sec-string.prototype.blink 33567$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { 33568 blink: function blink() { 33569 return createHTML(this, 'blink', '', ''); 33570 } 33571}); 33572 33573 33574/***/ }), 33575/* 602 */ 33576/***/ (function(module, exports, __webpack_require__) { 33577 33578"use strict"; 33579 33580var $ = __webpack_require__(2); 33581var createHTML = __webpack_require__(68); 33582var forcedStringHTMLMethod = __webpack_require__(69); 33583 33584// `String.prototype.bold` method 33585// https://tc39.github.io/ecma262/#sec-string.prototype.bold 33586$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { 33587 bold: function bold() { 33588 return createHTML(this, 'b', '', ''); 33589 } 33590}); 33591 33592 33593/***/ }), 33594/* 603 */ 33595/***/ (function(module, exports, __webpack_require__) { 33596 33597"use strict"; 33598 33599var $ = __webpack_require__(2); 33600var createHTML = __webpack_require__(68); 33601var forcedStringHTMLMethod = __webpack_require__(69); 33602 33603// `String.prototype.fixed` method 33604// https://tc39.github.io/ecma262/#sec-string.prototype.fixed 33605$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { 33606 fixed: function fixed() { 33607 return createHTML(this, 'tt', '', ''); 33608 } 33609}); 33610 33611 33612/***/ }), 33613/* 604 */ 33614/***/ (function(module, exports, __webpack_require__) { 33615 33616"use strict"; 33617 33618var $ = __webpack_require__(2); 33619var createHTML = __webpack_require__(68); 33620var forcedStringHTMLMethod = __webpack_require__(69); 33621 33622// `String.prototype.fontcolor` method 33623// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor 33624$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, {
33625 fontcolor: function fontcolor(color) { 33626 return createHTML(this, 'font', 'color', color); 33627 } 33628}); 33629 33630 33631/***/ }), 33632/* 605 */ 33633/***/ (function(module, exports, __webpack_require__) { 33634 33635"use strict"; 33636 33637var $ = __webpack_require__(2); 33638var createHTML = __webpack_require__(68); 33639var forcedStringHTMLMethod = __webpack_require__(69); 33640 33641// `String.prototype.fontsize` method 33642// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize 33643$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { 33644 fontsize: function fontsize(size) { 33645 return createHTML(this, 'font', 'size', size); 33646 } 33647}); 33648 33649 33650/***/ }), 33651/* 606 */ 33652/***/ (function(module, exports, __webpack_require__) { 33653 33654"use strict"; 33655 33656var $ = __webpack_require__(2); 33657var createHTML = __webpack_require__(68); 33658var forcedStringHTMLMethod = __webpack_require__(69); 33659 33660// `String.prototype.italics` method 33661// https://tc39.github.io/ecma262/#sec-string.prototype.italics 33662$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { 33663 italics: function italics() { 33664 return createHTML(this, 'i', '', ''); 33665 } 33666}); 33667 33668 33669/***/ }), 33670/* 607 */ 33671/***/ (function(module, exports, __webpack_require__) { 33672 33673"use strict"; 33674 33675var $ = __webpack_require__(2); 33676var createHTML = __webpack_require__(68); 33677var forcedStringHTMLMethod = __webpack_require__(69); 33678 33679// `String.prototype.strike` method 33680// https://tc39.github.io/ecma262/#sec-string.prototype.strike 33681$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { 33682 strike: function strike() { 33683 return createHTML(this, 'strike', '', ''); 33684 } 33685}); 33686 33687 33688/***/ }), 33689/* 608 */ 33690/***/ (function(module, exports, __webpack_require__) { 33691 33692"use strict"; 33693 33694var $ = __webpack_require__(2); 33695var createHTML = __webpack_require__(68); 33696var forcedStringHTMLMethod = __webpack_require__(69); 33697 33698// `String.prototype.sup` method 33699// https://tc39.github.io/ecma262/#sec-string.prototype.sup 33700$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { 33701 sup: function sup() { 33702 return createHTML(this, 'sup', '', ''); 33703 } 33704}); 33705 33706 33707/***/ }), 33708/* 609 */ 33709/***/ (function(module, exports, __webpack_require__) { 33710 33711"use strict"; 33712 33713var $ = __webpack_require__(2); 33714var requireObjectCoercible = __webpack_require__(52); 33715var isRegExp = __webpack_require__(179); 33716var getRegExpFlags = __webpack_require__(148); 33717var wellKnownSymbol = __webpack_require__(23); 33718var IS_PURE = __webpack_require__(72); 33719 33720var REPLACE = wellKnownSymbol('replace'); 33721var RegExpPrototype = RegExp.prototype; 33722 33723// `String.prototype.replaceAll` method 33724// https://github.com/tc39/proposal-string-replace-all 33725$({ target: 'String', proto: true }, { 33726 replaceAll: function replaceAll(searchValue, replaceValue) { 33727 var O = requireObjectCoercible(this); 33728 var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index; 33729 if (searchValue != null) { 33730 IS_REG_EXP = isRegExp(searchValue); 33731 if (IS_REG_EXP) { 33732 flags = String(requireObjectCoercible('flags' in RegExpPrototype 33733 ? searchValue.flags 33734 : getRegExpFlags.call(searchValue) 33735 )); 33736 if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); 33737 } 33738 replacer = searchValue[REPLACE]; 33739 if (replacer !== undefined) { 33740 return replacer.call(searchValue, O, replaceValue); 33741 } else if (IS_PURE && IS_REG_EXP) { 33742 return String(O).replace(searchValue, replaceValue); 33743 } 33744 } 33745 string = String(O); 33746 searchString = String(searchValue); 33747 if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue); 33748 template = string.split(searchString); 33749 if (typeof replaceValue !== 'function') { 33750 return template.join(String(replaceValue)); 33751 } 33752 result = template[0]; 33753 position = result.length; 33754 for (index = 1; index < template.length; index++) { 33755 result += String(replaceValue(searchString, position, string)); 33756 position += searchString.length + template[index].length; 33757 result += template[index]; 33758 } 33759 return result; 33760 } 33761}); 33762 33763 33764/***/ }), 33765/* 610 */ 33766/***/ (function(module, exports, __webpack_require__) { 33767 33768var DESCRIPTORS = __webpack_require__(21); 33769var objectDefinePropertyModule = __webpack_require__(30); 33770var regExpFlags = __webpack_require__(148); 33771var UNSUPPORTED_Y = __webpack_require__(222).UNSUPPORTED_Y; 33772 33773// `RegExp.prototype.flags` getter 33774// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags 33775if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) { 33776 objectDefinePropertyModule.f(RegExp.prototype, 'flags', { 33777 configurable: true, 33778 get: regExpFlags 33779 }); 33780} 33781 33782 33783/***/ }), 33784/* 611 */ 33785/***/ (function(module, exports, __webpack_require__) { 33786 33787var DESCRIPTORS = __webpack_require__(21); 33788var UNSUPPORTED_Y = __webpack_require__(222).UNSUPPORTED_Y; 33789var defineProperty = __webpack_require__(30).f; 33790var getInternalState = __webpack_require__(58).get; 33791var RegExpPrototype = RegExp.prototype; 33792 33793// `RegExp.prototype.sticky` getter 33794if (DESCRIPTORS && UNSUPPORTED_Y) { 33795 defineProperty(RegExp.prototype, 'sticky', { 33796 configurable: true, 33797 get: function () { 33798 if (this === RegExpPrototype) return undefined; 33799 // We can't use InternalStateModule.getterFor because 33800 // we don't add metadata for regexps created by a literal. 33801 if (this instanceof RegExp) { 33802 return !!getInternalState(this).sticky; 33803 } 33804 throw TypeError('Incompatible receiver, RegExp required'); 33805 } 33806 }); 33807} 33808 33809 33810/***/ }), 33811/* 612 */ 33812/***/ (function(module, exports, __webpack_require__) { 33813 33814"use strict"; 33815 33816// TODO: Remove from `core-js@4` since it's moved to entry points 33817__webpack_require__(93); 33818var $ = __webpack_require__(2); 33819var isObject = __webpack_require__(19); 33820 33821var DELEGATES_TO_EXEC = function () { 33822 var execCalled = false;
33823 var re = /[ac]/; 33824 re.exec = function () { 33825 execCalled = true; 33826 return /./.exec.apply(this, arguments); 33827 }; 33828 return re.test('abc') === true && execCalled; 33829}(); 33830 33831var nativeTest = /./.test; 33832 33833$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { 33834 test: function (str) { 33835 if (typeof this.exec !== 'function') { 33836 return nativeTest.call(this, str); 33837 } 33838 var result = this.exec(str); 33839 if (result !== null && !isObject(result)) { 33840 throw new Error('RegExp exec method returned something other than an Object or null'); 33841 } 33842 return !!result; 33843 } 33844}); 33845 33846 33847/***/ }), 33848/* 613 */ 33849/***/ (function(module, exports, __webpack_require__) { 33850 33851var $ = __webpack_require__(2); 33852var parseIntImplementation = __webpack_require__(377); 33853 33854// `parseInt` method 33855// https://tc39.github.io/ecma262/#sec-parseint-string-radix 33856$({ global: true, forced: parseInt != parseIntImplementation }, { 33857 parseInt: parseIntImplementation 33858}); 33859 33860 33861/***/ }), 33862/* 614 */ 33863/***/ (function(module, exports, __webpack_require__) { 33864 33865var $ = __webpack_require__(2); 33866var parseFloatImplementation = __webpack_require__(378); 33867 33868// `parseFloat` method 33869// https://tc39.github.io/ecma262/#sec-parsefloat-string 33870$({ global: true, forced: parseFloat != parseFloatImplementation }, { 33871 parseFloat: parseFloatImplementation 33872}); 33873 33874 33875/***/ }), 33876/* 615 */ 33877/***/ (function(module, exports, __webpack_require__) { 33878 33879var $ = __webpack_require__(2); 33880 33881// `Number.EPSILON` constant 33882// https://tc39.github.io/ecma262/#sec-number.epsilon 33883$({ target: 'Number', stat: true }, { 33884 EPSILON: Math.pow(2, -52) 33885}); 33886 33887 33888/***/ }), 33889/* 616 */ 33890/***/ (function(module, exports, __webpack_require__) { 33891 33892var $ = __webpack_require__(2); 33893var numberIsFinite = __webpack_require__(617); 33894 33895// `Number.isFinite` method 33896// https://tc39.github.io/ecma262/#sec-number.isfinite 33897$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); 33898 33899 33900/***/ }), 33901/* 617 */ 33902/***/ (function(module, exports, __webpack_require__) { 33903 33904var global = __webpack_require__(16); 33905 33906var globalIsFinite = global.isFinite; 33907 33908// `Number.isFinite` method 33909// https://tc39.github.io/ecma262/#sec-number.isfinite 33910module.exports = Number.isFinite || function isFinite(it) { 33911 return typeof it == 'number' && globalIsFinite(it); 33912}; 33913 33914 33915/***/ }), 33916/* 618 */ 33917/***/ (function(module, exports, __webpack_require__) { 33918 33919var $ = __webpack_require__(2); 33920var isInteger = __webpack_require__(379); 33921 33922// `Number.isInteger` method 33923// https://tc39.github.io/ecma262/#sec-number.isinteger 33924$({ target: 'Number', stat: true }, { 33925 isInteger: isInteger 33926}); 33927 33928 33929/***/ }), 33930/* 619 */ 33931/***/ (function(module, exports, __webpack_require__) { 33932 33933var $ = __webpack_require__(2); 33934 33935// `Number.isNaN` method 33936// https://tc39.github.io/ecma262/#sec-number.isnan 33937$({ target: 'Number', stat: true }, { 33938 isNaN: function isNaN(number) { 33939 // eslint-disable-next-line no-self-compare 33940 return number != number; 33941 } 33942}); 33943 33944 33945/***/ }), 33946/* 620 */ 33947/***/ (function(module, exports, __webpack_require__) { 33948 33949var $ = __webpack_require__(2); 33950var isInteger = __webpack_require__(379); 33951 33952var abs = Math.abs; 33953 33954// `Number.isSafeInteger` method 33955// https://tc39.github.io/ecma262/#sec-number.issafeinteger 33956$({ target: 'Number', stat: true }, { 33957 isSafeInteger: function isSafeInteger(number) { 33958 return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; 33959 } 33960}); 33961 33962 33963/***/ }), 33964/* 621 */ 33965/***/ (function(module, exports, __webpack_require__) { 33966 33967var $ = __webpack_require__(2); 33968 33969// `Number.MAX_SAFE_INTEGER` constant 33970// https://tc39.github.io/ecma262/#sec-number.max_safe_integer 33971$({ target: 'Number', stat: true }, { 33972 MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF 33973}); 33974 33975 33976/***/ }), 33977/* 622 */ 33978/***/ (function(module, exports, __webpack_require__) { 33979 33980var $ = __webpack_require__(2); 33981 33982// `Number.MIN_SAFE_INTEGER` constant 33983// https://tc39.github.io/ecma262/#sec-number.min_safe_integer 33984$({ target: 'Number', stat: true }, { 33985 MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF 33986}); 33987 33988 33989/***/ }), 33990/* 623 */ 33991/***/ (function(module, exports, __webpack_require__) { 33992 33993var $ = __webpack_require__(2); 33994var parseFloat = __webpack_require__(378); 33995 33996// `Number.parseFloat` method 33997// https://tc39.github.io/ecma262/#sec-number.parseFloat 33998$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, { 33999 parseFloat: parseFloat 34000}); 34001 34002 34003/***/ }), 34004/* 624 */ 34005/***/ (function(module, exports, __webpack_require__) { 34006 34007var $ = __webpack_require__(2); 34008var parseInt = __webpack_require__(377); 34009 34010// `Number.parseInt` method 34011// https://tc39.github.io/ecma262/#sec-number.parseint 34012$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {
34013 parseInt: parseInt 34014}); 34015 34016 34017/***/ }), 34018/* 625 */ 34019/***/ (function(module, exports, __webpack_require__) { 34020 34021"use strict"; 34022 34023var $ = __webpack_require__(2); 34024var toInteger = __webpack_require__(73); 34025var thisNumberValue = __webpack_require__(380); 34026var repeat = __webpack_require__(292); 34027var fails = __webpack_require__(11); 34028 34029var nativeToFixed = 1.0.toFixed; 34030var floor = Math.floor; 34031 34032var pow = function (x, n, acc) { 34033 return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); 34034}; 34035 34036var log = function (x) { 34037 var n = 0; 34038 var x2 = x; 34039 while (x2 >= 4096) { 34040 n += 12; 34041 x2 /= 4096; 34042 } 34043 while (x2 >= 2) { 34044 n += 1; 34045 x2 /= 2; 34046 } return n; 34047}; 34048 34049var FORCED = nativeToFixed && ( 34050 0.00008.toFixed(3) !== '0.000' || 34051 0.9.toFixed(0) !== '1' || 34052 1.255.toFixed(2) !== '1.25' || 34053 1000000000000000128.0.toFixed(0) !== '1000000000000000128' 34054) || !fails(function () { 34055 // V8 ~ Android 4.3- 34056 nativeToFixed.call({}); 34057}); 34058 34059// `Number.prototype.toFixed` method 34060// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed 34061$({ target: 'Number', proto: true, forced: FORCED }, { 34062 // eslint-disable-next-line max-statements 34063 toFixed: function toFixed(fractionDigits) { 34064 var number = thisNumberValue(this); 34065 var fractDigits = toInteger(fractionDigits); 34066 var data = [0, 0, 0, 0, 0, 0]; 34067 var sign = ''; 34068 var result = '0'; 34069 var e, z, j, k; 34070 34071 var multiply = function (n, c) { 34072 var index = -1; 34073 var c2 = c; 34074 while (++index < 6) { 34075 c2 += n * data[index]; 34076 data[index] = c2 % 1e7; 34077 c2 = floor(c2 / 1e7); 34078 } 34079 }; 34080 34081 var divide = function (n) { 34082 var index = 6; 34083 var c = 0; 34084 while (--index >= 0) { 34085 c += data[index]; 34086 data[index] = floor(c / n); 34087 c = (c % n) * 1e7; 34088 } 34089 }; 34090 34091 var dataToString = function () { 34092 var index = 6; 34093 var s = ''; 34094 while (--index >= 0) { 34095 if (s !== '' || index === 0 || data[index] !== 0) { 34096 var t = String(data[index]); 34097 s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; 34098 } 34099 } return s; 34100 }; 34101 34102 if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); 34103 // eslint-disable-next-line no-self-compare 34104 if (number != number) return 'NaN'; 34105 if (number <= -1e21 || number >= 1e21) return String(number); 34106 if (number < 0) { 34107 sign = '-'; 34108 number = -number; 34109 } 34110 if (number > 1e-21) { 34111 e = log(number * pow(2, 69, 1)) - 69; 34112 z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); 34113 z *= 0x10000000000000; 34114 e = 52 - e; 34115 if (e > 0) { 34116 multiply(0, z); 34117 j = fractDigits; 34118 while (j >= 7) { 34119 multiply(1e7, 0); 34120 j -= 7; 34121 } 34122 multiply(pow(10, j, 1), 0); 34123 j = e - 1; 34124 while (j >= 23) { 34125 divide(1 << 23); 34126 j -= 23; 34127 } 34128 divide(1 << j); 34129 multiply(1, 1); 34130 divide(2); 34131 result = dataToString(); 34132 } else { 34133 multiply(0, z); 34134 multiply(1 << -e, 0); 34135 result = dataToString() + repeat.call('0', fractDigits); 34136 } 34137 } 34138 if (fractDigits > 0) { 34139 k = result.length; 34140 result = sign + (k <= fractDigits 34141 ? '0.' + repeat.call('0', fractDigits - k) + result 34142 : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); 34143 } else { 34144 result = sign + result; 34145 } return result; 34146 } 34147}); 34148 34149 34150/***/ }), 34151/* 626 */ 34152/***/ (function(module, exports, __webpack_require__) { 34153 34154"use strict"; 34155 34156var $ = __webpack_require__(2); 34157var fails = __webpack_require__(11); 34158var thisNumberValue = __webpack_require__(380); 34159 34160var nativeToPrecision = 1.0.toPrecision; 34161 34162var FORCED = fails(function () { 34163 // IE7- 34164 return nativeToPrecision.call(1, undefined) !== '1'; 34165}) || !fails(function () { 34166 // V8 ~ Android 4.3- 34167 nativeToPrecision.call({}); 34168}); 34169 34170// `Number.prototype.toPrecision` method 34171// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision 34172$({ target: 'Number', proto: true, forced: FORCED }, { 34173 toPrecision: function toPrecision(precision) { 34174 return precision === undefined 34175 ? nativeToPrecision.call(thisNumberValue(this)) 34176 : nativeToPrecision.call(thisNumberValue(this), precision); 34177 } 34178}); 34179 34180 34181/***/ }), 34182/* 627 */ 34183/***/ (function(module, exports, __webpack_require__) { 34184 34185var $ = __webpack_require__(2); 34186var log1p = __webpack_require__(381); 34187 34188var nativeAcosh = Math.acosh; 34189var log = Math.log; 34190var sqrt = Math.sqrt; 34191var LN2 = Math.LN2; 34192 34193var FORCED = !nativeAcosh 34194 // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 34195 || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 34196 // Tor Browser bug: Math.acosh(Infinity) -> NaN 34197 || nativeAcosh(Infinity) != Infinity; 34198 34199// `Math.acosh` method 34200// https://tc39.github.io/ecma262/#sec-math.acosh 34201$({ target: 'Math', stat: true, forced: FORCED }, { 34202 acosh: function acosh(x) { 34203 return (x = +x) < 1 ? NaN : x > 94906265.62425156 34204 ? log(x) + LN2 34205 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); 34206 } 34207}); 34208 34209 34210/***/ }), 34211/* 628 */ 34212/***/ (function(module, exports, __webpack_require__) { 34213 34214var $ = __webpack_require__(2); 34215 34216var nativeAsinh = Math.asinh; 34217var log = Math.log; 34218var sqrt = Math.sqrt; 34219 34220function asinh(x) { 34221 return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); 34222} 34223 34224// `Math.asinh` method 34225// https://tc39.github.io/ecma262/#sec-math.asinh 34226// Tor Browser bug: Math.asinh(0) -> -0 34227$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { 34228 asinh: asinh 34229}); 34230 34231 34232/***/ }), 34233/* 629 */ 34234/***/ (function(module, exports, __webpack_require__) { 34235 34236var $ = __webpack_require__(2); 34237 34238var nativeAtanh = Math.atanh; 34239var log = Math.log; 34240 34241// `Math.atanh` method 34242// https://tc39.github.io/ecma262/#sec-math.atanh 34243// Tor Browser bug: Math.atanh(-0) -> 0 34244$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { 34245 atanh: function atanh(x) { 34246 return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; 34247 } 34248}); 34249 34250 34251/***/ }), 34252/* 630 */ 34253/***/ (function(module, exports, __webpack_require__) { 34254 34255var $ = __webpack_require__(2); 34256var sign = __webpack_require__(294); 34257 34258var abs = Math.abs; 34259var pow = Math.pow; 34260 34261// `Math.cbrt` method 34262// https://tc39.github.io/ecma262/#sec-math.cbrt 34263$({ target: 'Math', stat: true }, {
34264 cbrt: function cbrt(x) { 34265 return sign(x = +x) * pow(abs(x), 1 / 3); 34266 } 34267}); 34268 34269 34270/***/ }), 34271/* 631 */ 34272/***/ (function(module, exports, __webpack_require__) { 34273 34274var $ = __webpack_require__(2); 34275 34276var floor = Math.floor; 34277var log = Math.log; 34278var LOG2E = Math.LOG2E; 34279 34280// `Math.clz32` method 34281// https://tc39.github.io/ecma262/#sec-math.clz32 34282$({ target: 'Math', stat: true }, { 34283 clz32: function clz32(x) { 34284 return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; 34285 } 34286}); 34287 34288 34289/***/ }), 34290/* 632 */ 34291/***/ (function(module, exports, __webpack_require__) { 34292 34293var $ = __webpack_require__(2); 34294var expm1 = __webpack_require__(227); 34295 34296var nativeCosh = Math.cosh; 34297var abs = Math.abs; 34298var E = Math.E; 34299 34300// `Math.cosh` method 34301// https://tc39.github.io/ecma262/#sec-math.cosh 34302$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { 34303 cosh: function cosh(x) { 34304 var t = expm1(abs(x) - 1) + 1; 34305 return (t + 1 / (t * E * E)) * (E / 2); 34306 } 34307}); 34308 34309 34310/***/ }), 34311/* 633 */ 34312/***/ (function(module, exports, __webpack_require__) { 34313 34314var $ = __webpack_require__(2); 34315var expm1 = __webpack_require__(227); 34316 34317// `Math.expm1` method 34318// https://tc39.github.io/ecma262/#sec-math.expm1 34319$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 }); 34320 34321 34322/***/ }), 34323/* 634 */ 34324/***/ (function(module, exports, __webpack_require__) { 34325 34326var $ = __webpack_require__(2); 34327var fround = __webpack_require__(635); 34328 34329// `Math.fround` method 34330// https://tc39.github.io/ecma262/#sec-math.fround 34331$({ target: 'Math', stat: true }, { fround: fround }); 34332 34333 34334/***/ }), 34335/* 635 */ 34336/***/ (function(module, exports, __webpack_require__) { 34337 34338var sign = __webpack_require__(294); 34339 34340var abs = Math.abs; 34341var pow = Math.pow; 34342var EPSILON = pow(2, -52); 34343var EPSILON32 = pow(2, -23); 34344var MAX32 = pow(2, 127) * (2 - EPSILON32); 34345var MIN32 = pow(2, -126); 34346 34347var roundTiesToEven = function (n) { 34348 return n + 1 / EPSILON - 1 / EPSILON; 34349}; 34350 34351// `Math.fround` method implementation 34352// https://tc39.github.io/ecma262/#sec-math.fround 34353module.exports = Math.fround || function fround(x) { 34354 var $abs = abs(x); 34355 var $sign = sign(x); 34356 var a, result; 34357 if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; 34358 a = (1 + EPSILON32 / EPSILON) * $abs; 34359 result = a - (a - $abs); 34360 // eslint-disable-next-line no-self-compare 34361 if (result > MAX32 || result != result) return $sign * Infinity; 34362 return $sign * result; 34363}; 34364 34365 34366/***/ }), 34367/* 636 */ 34368/***/ (function(module, exports, __webpack_require__) { 34369 34370var $ = __webpack_require__(2); 34371 34372var $hypot = Math.hypot; 34373var abs = Math.abs; 34374var sqrt = Math.sqrt; 34375 34376// Chrome 77 bug 34377// https://bugs.chromium.org/p/v8/issues/detail?id=9546 34378var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; 34379 34380// `Math.hypot` method 34381// https://tc39.github.io/ecma262/#sec-math.hypot 34382$({ target: 'Math', stat: true, forced: BUGGY }, { 34383 hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars 34384 var sum = 0; 34385 var i = 0; 34386 var aLen = arguments.length; 34387 var larg = 0; 34388 var arg, div; 34389 while (i < aLen) { 34390 arg = abs(arguments[i++]); 34391 if (larg < arg) { 34392 div = larg / arg; 34393 sum = sum * div * div + 1; 34394 larg = arg; 34395 } else if (arg > 0) { 34396 div = arg / larg; 34397 sum += div * div; 34398 } else sum += arg; 34399 } 34400 return larg === Infinity ? Infinity : larg * sqrt(sum); 34401 } 34402}); 34403 34404 34405/***/ }), 34406/* 637 */ 34407/***/ (function(module, exports, __webpack_require__) { 34408 34409var $ = __webpack_require__(2); 34410var fails = __webpack_require__(11); 34411 34412var nativeImul = Math.imul; 34413 34414var FORCED = fails(function () { 34415 return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; 34416}); 34417 34418// `Math.imul` method 34419// https://tc39.github.io/ecma262/#sec-math.imul 34420// some WebKit versions fails with big numbers, some has wrong arity 34421$({ target: 'Math', stat: true, forced: FORCED }, { 34422 imul: function imul(x, y) { 34423 var UINT16 = 0xFFFF; 34424 var xn = +x; 34425 var yn = +y; 34426 var xl = UINT16 & xn; 34427 var yl = UINT16 & yn; 34428 return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); 34429 } 34430}); 34431 34432 34433/***/ }), 34434/* 638 */ 34435/***/ (function(module, exports, __webpack_require__) { 34436 34437var $ = __webpack_require__(2); 34438 34439var log = Math.log; 34440var LOG10E = Math.LOG10E; 34441 34442// `Math.log10` method 34443// https://tc39.github.io/ecma262/#sec-math.log10 34444$({ target: 'Math', stat: true }, {
34445 log10: function log10(x) { 34446 return log(x) * LOG10E; 34447 } 34448}); 34449 34450 34451/***/ }), 34452/* 639 */ 34453/***/ (function(module, exports, __webpack_require__) { 34454 34455var $ = __webpack_require__(2); 34456var log1p = __webpack_require__(381); 34457 34458// `Math.log1p` method 34459// https://tc39.github.io/ecma262/#sec-math.log1p 34460$({ target: 'Math', stat: true }, { log1p: log1p }); 34461 34462 34463/***/ }), 34464/* 640 */ 34465/***/ (function(module, exports, __webpack_require__) { 34466 34467var $ = __webpack_require__(2); 34468 34469var log = Math.log; 34470var LN2 = Math.LN2; 34471 34472// `Math.log2` method 34473// https://tc39.github.io/ecma262/#sec-math.log2 34474$({ target: 'Math', stat: true }, { 34475 log2: function log2(x) { 34476 return log(x) / LN2; 34477 } 34478}); 34479 34480 34481/***/ }), 34482/* 641 */ 34483/***/ (function(module, exports, __webpack_require__) { 34484 34485var $ = __webpack_require__(2); 34486var sign = __webpack_require__(294); 34487 34488// `Math.sign` method 34489// https://tc39.github.io/ecma262/#sec-math.sign 34490$({ target: 'Math', stat: true }, { 34491 sign: sign 34492}); 34493 34494 34495/***/ }), 34496/* 642 */ 34497/***/ (function(module, exports, __webpack_require__) { 34498 34499var $ = __webpack_require__(2); 34500var fails = __webpack_require__(11); 34501var expm1 = __webpack_require__(227); 34502 34503var abs = Math.abs; 34504var exp = Math.exp; 34505var E = Math.E; 34506 34507var FORCED = fails(function () { 34508 return Math.sinh(-2e-17) != -2e-17; 34509}); 34510 34511// `Math.sinh` method 34512// https://tc39.github.io/ecma262/#sec-math.sinh 34513// V8 near Chromium 38 has a problem with very small numbers 34514$({ target: 'Math', stat: true, forced: FORCED }, { 34515 sinh: function sinh(x) { 34516 return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); 34517 } 34518}); 34519 34520 34521/***/ }), 34522/* 643 */ 34523/***/ (function(module, exports, __webpack_require__) { 34524 34525var $ = __webpack_require__(2); 34526var expm1 = __webpack_require__(227); 34527 34528var exp = Math.exp; 34529 34530// `Math.tanh` method 34531// https://tc39.github.io/ecma262/#sec-math.tanh 34532$({ target: 'Math', stat: true }, { 34533 tanh: function tanh(x) { 34534 var a = expm1(x = +x); 34535 var b = expm1(-x); 34536 return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); 34537 } 34538}); 34539 34540 34541/***/ }), 34542/* 644 */ 34543/***/ (function(module, exports, __webpack_require__) { 34544 34545var setToStringTag = __webpack_require__(80); 34546 34547// Math[@@toStringTag] property 34548// https://tc39.github.io/ecma262/#sec-math-@@tostringtag 34549setToStringTag(Math, 'Math', true); 34550 34551 34552/***/ }), 34553/* 645 */ 34554/***/ (function(module, exports, __webpack_require__) { 34555 34556var $ = __webpack_require__(2); 34557 34558var ceil = Math.ceil; 34559var floor = Math.floor; 34560 34561// `Math.trunc` method 34562// https://tc39.github.io/ecma262/#sec-math.trunc 34563$({ target: 'Math', stat: true }, { 34564 trunc: function trunc(it) { 34565 return (it > 0 ? floor : ceil)(it); 34566 } 34567}); 34568 34569 34570/***/ }), 34571/* 646 */ 34572/***/ (function(module, exports, __webpack_require__) { 34573 34574var $ = __webpack_require__(2); 34575 34576// `Date.now` method 34577// https://tc39.github.io/ecma262/#sec-date.now 34578$({ target: 'Date', stat: true }, { 34579 now: function now() { 34580 return new Date().getTime(); 34581 } 34582}); 34583 34584 34585/***/ }), 34586/* 647 */ 34587/***/ (function(module, exports, __webpack_require__) { 34588 34589"use strict"; 34590 34591var $ = __webpack_require__(2); 34592var fails = __webpack_require__(11); 34593var toObject = __webpack_require__(33); 34594var toPrimitive = __webpack_require__(79); 34595 34596var FORCED = fails(function () { 34597 return new Date(NaN).toJSON() !== null 34598 || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; 34599}); 34600 34601// `Date.prototype.toJSON` method 34602// https://tc39.github.io/ecma262/#sec-date.prototype.tojson 34603$({ target: 'Date', proto: true, forced: FORCED }, { 34604 // eslint-disable-next-line no-unused-vars 34605 toJSON: function toJSON(key) { 34606 var O = toObject(this); 34607 var pv = toPrimitive(O); 34608 return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); 34609 } 34610}); 34611 34612 34613/***/ }), 34614/* 648 */ 34615/***/ (function(module, exports, __webpack_require__) { 34616 34617var $ = __webpack_require__(2); 34618var toISOString = __webpack_require__(649); 34619 34620// `Date.prototype.toISOString` method 34621// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring 34622// PhantomJS / old WebKit has a broken implementations 34623$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { 34624 toISOString: toISOString 34625}); 34626 34627 34628/***/ }), 34629/* 649 */ 34630/***/ (function(module, exports, __webpack_require__) { 34631 34632"use strict"; 34633 34634var fails = __webpack_require__(11); 34635var padStart = __webpack_require__(291).start; 34636 34637var abs = Math.abs; 34638var DatePrototype = Date.prototype; 34639var getTime = DatePrototype.getTime; 34640var nativeDateToISOString = DatePrototype.toISOString; 34641 34642// `Date.prototype.toISOString` method implementation 34643// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring 34644// PhantomJS / old WebKit fails here: 34645module.exports = (fails(function () { 34646 return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; 34647}) || !fails(function () { 34648 nativeDateToISOString.call(new Date(NaN)); 34649})) ? function toISOString() { 34650 if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); 34651 var date = this; 34652 var year = date.getUTCFullYear(); 34653 var milliseconds = date.getUTCMilliseconds(); 34654 var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; 34655 return sign + padStart(abs(year), sign ? 6 : 4, 0) + 34656 '-' + padStart(date.getUTCMonth() + 1, 2, 0) + 34657 '-' + padStart(date.getUTCDate(), 2, 0) +
34658 'T' + padStart(date.getUTCHours(), 2, 0) + 34659 ':' + padStart(date.getUTCMinutes(), 2, 0) + 34660 ':' + padStart(date.getUTCSeconds(), 2, 0) + 34661 '.' + padStart(milliseconds, 3, 0) + 34662 'Z'; 34663} : nativeDateToISOString; 34664 34665 34666/***/ }), 34667/* 650 */ 34668/***/ (function(module, exports, __webpack_require__) { 34669 34670var redefine = __webpack_require__(54); 34671 34672var DatePrototype = Date.prototype; 34673var INVALID_DATE = 'Invalid Date'; 34674var TO_STRING = 'toString'; 34675var nativeDateToString = DatePrototype[TO_STRING]; 34676var getTime = DatePrototype.getTime; 34677 34678// `Date.prototype.toString` method 34679// https://tc39.github.io/ecma262/#sec-date.prototype.tostring 34680if (new Date(NaN) + '' != INVALID_DATE) { 34681 redefine(DatePrototype, TO_STRING, function toString() { 34682 var value = getTime.call(this); 34683 // eslint-disable-next-line no-self-compare 34684 return value === value ? nativeDateToString.call(this) : INVALID_DATE; 34685 }); 34686} 34687 34688 34689/***/ }), 34690/* 651 */ 34691/***/ (function(module, exports, __webpack_require__) { 34692 34693var createNonEnumerableProperty = __webpack_require__(53); 34694var dateToPrimitive = __webpack_require__(652); 34695var wellKnownSymbol = __webpack_require__(23); 34696 34697var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 34698var DatePrototype = Date.prototype; 34699 34700// `Date.prototype[@@toPrimitive]` method 34701// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive 34702if (!(TO_PRIMITIVE in DatePrototype)) { 34703 createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); 34704} 34705 34706 34707/***/ }), 34708/* 652 */ 34709/***/ (function(module, exports, __webpack_require__) { 34710 34711"use strict"; 34712 34713var anObject = __webpack_require__(20); 34714var toPrimitive = __webpack_require__(79); 34715 34716module.exports = function (hint) { 34717 if (hint !== 'string' && hint !== 'number' && hint !== 'default') { 34718 throw TypeError('Incorrect hint'); 34719 } return toPrimitive(anObject(this), hint !== 'number'); 34720}; 34721 34722 34723/***/ }), 34724/* 653 */ 34725/***/ (function(module, exports, __webpack_require__) { 34726 34727var $ = __webpack_require__(2); 34728var getBuiltIn = __webpack_require__(67); 34729var fails = __webpack_require__(11); 34730 34731var $stringify = getBuiltIn('JSON', 'stringify'); 34732var re = /[\uD800-\uDFFF]/g; 34733var low = /^[\uD800-\uDBFF]$/; 34734var hi = /^[\uDC00-\uDFFF]$/; 34735 34736var fix = function (match, offset, string) { 34737 var prev = string.charAt(offset - 1); 34738 var next = string.charAt(offset + 1); 34739 if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) { 34740 return '\\u' + match.charCodeAt(0).toString(16); 34741 } return match; 34742}; 34743 34744var FORCED = fails(function () { 34745 return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' 34746 || $stringify('\uDEAD') !== '"\\udead"'; 34747}); 34748 34749if ($stringify) { 34750 // https://github.com/tc39/proposal-well-formed-stringify 34751 $({ target: 'JSON', stat: true, forced: FORCED }, { 34752 // eslint-disable-next-line no-unused-vars 34753 stringify: function stringify(it, replacer, space) { 34754 var result = $stringify.apply(null, arguments); 34755 return typeof result == 'string' ? result.replace(re, fix) : result; 34756 } 34757 }); 34758} 34759 34760 34761/***/ }), 34762/* 654 */ 34763/***/ (function(module, exports, __webpack_require__) { 34764 34765var global = __webpack_require__(16); 34766var setToStringTag = __webpack_require__(80); 34767 34768// JSON[@@toStringTag] property 34769// https://tc39.github.io/ecma262/#sec-json-@@tostringtag 34770setToStringTag(global.JSON, 'JSON', true); 34771 34772 34773/***/ }), 34774/* 655 */ 34775/***/ (function(module, exports, __webpack_require__) { 34776 34777var global = __webpack_require__(16); 34778 34779module.exports = function (a, b) { 34780 var console = global.console; 34781 if (console && console.error) { 34782 arguments.length === 1 ? console.error(a) : console.error(a, b); 34783 } 34784}; 34785 34786 34787/***/ }), 34788/* 656 */ 34789/***/ (function(module, exports, __webpack_require__) { 34790 34791"use strict"; 34792 34793var $ = __webpack_require__(2); 34794var aFunction = __webpack_require__(59); 34795var newPromiseCapabilityModule = __webpack_require__(228); 34796var perform = __webpack_require__(296); 34797var iterate = __webpack_require__(117); 34798 34799// `Promise.allSettled` method 34800// https://github.com/tc39/proposal-promise-allSettled 34801$({ target: 'Promise', stat: true }, { 34802 allSettled: function allSettled(iterable) { 34803 var C = this; 34804 var capability = newPromiseCapabilityModule.f(C); 34805 var resolve = capability.resolve; 34806 var reject = capability.reject; 34807 var result = perform(function () { 34808 var promiseResolve = aFunction(C.resolve); 34809 var values = []; 34810 var counter = 0; 34811 var remaining = 1; 34812 iterate(iterable, function (promise) { 34813 var index = counter++; 34814 var alreadyCalled = false;
vendor: 5,634 bytes, lines 34815-34993
34815 values.push(undefined); 34816 remaining++; 34817 promiseResolve.call(C, promise).then(function (value) { 34818 if (alreadyCalled) return; 34819 alreadyCalled = true; 34820 values[index] = { status: 'fulfilled', value: value }; 34821 --remaining || resolve(values); 34822 }, function (error) { 34823 if (alreadyCalled) return; 34824 alreadyCalled = true; 34825 values[index] = { status: 'rejected', reason: error }; 34826 --remaining || resolve(values); 34827 }); 34828 }); 34829 --remaining || resolve(values); 34830 }); 34831 if (result.error) reject(result.value); 34832 return capability.promise; 34833 } 34834}); 34835 34836 34837/***/ }), 34838/* 657 */ 34839/***/ (function(module, exports, __webpack_require__) { 34840 34841"use strict"; 34842 34843var $ = __webpack_require__(2); 34844var aFunction = __webpack_require__(59); 34845var getBuiltIn = __webpack_require__(67); 34846var newPromiseCapabilityModule = __webpack_require__(228); 34847var perform = __webpack_require__(296); 34848var iterate = __webpack_require__(117); 34849 34850var PROMISE_ANY_ERROR = 'No one promise resolved'; 34851 34852// `Promise.any` method 34853// https://github.com/tc39/proposal-promise-any 34854$({ target: 'Promise', stat: true }, { 34855 any: function any(iterable) { 34856 var C = this; 34857 var capability = newPromiseCapabilityModule.f(C); 34858 var resolve = capability.resolve; 34859 var reject = capability.reject; 34860 var result = perform(function () { 34861 var promiseResolve = aFunction(C.resolve); 34862 var errors = []; 34863 var counter = 0; 34864 var remaining = 1; 34865 var alreadyResolved = false; 34866 iterate(iterable, function (promise) { 34867 var index = counter++; 34868 var alreadyRejected = false; 34869 errors.push(undefined); 34870 remaining++; 34871 promiseResolve.call(C, promise).then(function (value) { 34872 if (alreadyRejected || alreadyResolved) return; 34873 alreadyResolved = true; 34874 resolve(value); 34875 }, function (error) { 34876 if (alreadyRejected || alreadyResolved) return; 34877 alreadyRejected = true; 34878 errors[index] = error; 34879 --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); 34880 }); 34881 }); 34882 --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); 34883 }); 34884 if (result.error) reject(result.value); 34885 return capability.promise; 34886 } 34887}); 34888 34889 34890/***/ }), 34891/* 658 */ 34892/***/ (function(module, exports, __webpack_require__) { 34893 34894"use strict"; 34895 34896var $ = __webpack_require__(2); 34897var IS_PURE = __webpack_require__(72); 34898var NativePromise = __webpack_require__(382); 34899var fails = __webpack_require__(11); 34900var getBuiltIn = __webpack_require__(67); 34901var speciesConstructor = __webpack_require__(103); 34902var promiseResolve = __webpack_require__(385); 34903var redefine = __webpack_require__(54); 34904 34905// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 34906var NON_GENERIC = !!NativePromise && fails(function () { 34907 NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); 34908}); 34909 34910// `Promise.prototype.finally` method 34911// https://tc39.github.io/ecma262/#sec-promise.prototype.finally 34912$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { 34913 'finally': function (onFinally) { 34914 var C = speciesConstructor(this, getBuiltIn('Promise')); 34915 var isFunction = typeof onFinally == 'function'; 34916 return this.then( 34917 isFunction ? function (x) { 34918 return promiseResolve(C, onFinally()).then(function () { return x; }); 34919 } : onFinally, 34920 isFunction ? function (e) { 34921 return promiseResolve(C, onFinally()).then(function () { throw e; }); 34922 } : onFinally 34923 ); 34924 } 34925}); 34926 34927// patch native Promise.prototype for native async functions 34928if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { 34929 redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); 34930} 34931 34932 34933/***/ }), 34934/* 659 */ 34935/***/ (function(module, exports, __webpack_require__) { 34936 34937"use strict"; 34938 34939var collection = __webpack_require__(229); 34940var collectionStrong = __webpack_require__(386); 34941 34942// `Map` constructor 34943// https://tc39.github.io/ecma262/#sec-map-objects 34944module.exports = collection('Map', function (init) { 34945 return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; 34946}, collectionStrong); 34947 34948 34949/***/ }), 34950/* 660 */ 34951/***/ (function(module, exports, __webpack_require__) { 34952 34953"use strict"; 34954 34955var collection = __webpack_require__(229); 34956var collectionStrong = __webpack_require__(386); 34957 34958// `Set` constructor 34959// https://tc39.github.io/ecma262/#sec-set-objects 34960module.exports = collection('Set', function (init) { 34961 return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; 34962}, collectionStrong); 34963 34964 34965/***/ }), 34966/* 661 */ 34967/***/ (function(module, exports, __webpack_require__) { 34968 34969"use strict"; 34970 34971var global = __webpack_require__(16); 34972var redefineAll = __webpack_require__(150); 34973var InternalMetadataModule = __webpack_require__(135); 34974var collection = __webpack_require__(229); 34975var collectionWeak = __webpack_require__(387); 34976var isObject = __webpack_require__(19); 34977var enforceIternalState = __webpack_require__(58).enforce; 34978var NATIVE_WEAK_MAP = __webpack_require__(357); 34979 34980var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; 34981var isExtensible = Object.isExtensible; 34982var InternalWeakMap; 34983 34984var wrapper = function (init) { 34985 return function WeakMap() { 34986 return init(this, arguments.length ? arguments[0] : undefined); 34987 }; 34988}; 34989 34990// `WeakMap` constructor 34991// https://tc39.github.io/ecma262/#sec-weakmap-constructor 34992var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); 34993
34994// IE11 WeakMap frozen keys fix 34995// We can't use feature detection because it crash some old IE builds 34996// https://github.com/zloirock/core-js/issues/485 34997if (NATIVE_WEAK_MAP && IS_IE11) { 34998 InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); 34999 InternalMetadataModule.REQUIRED = true; 35000 var WeakMapPrototype = $WeakMap.prototype; 35001 var nativeDelete = WeakMapPrototype['delete']; 35002 var nativeHas = WeakMapPrototype.has; 35003 var nativeGet = WeakMapPrototype.get; 35004 var nativeSet = WeakMapPrototype.set; 35005 redefineAll(WeakMapPrototype, { 35006 'delete': function (key) { 35007 if (isObject(key) && !isExtensible(key)) { 35008 var state = enforceIternalState(this); 35009 if (!state.frozen) state.frozen = new InternalWeakMap(); 35010 return nativeDelete.call(this, key) || state.frozen['delete'](key); 35011 } return nativeDelete.call(this, key); 35012 }, 35013 has: function has(key) { 35014 if (isObject(key) && !isExtensible(key)) { 35015 var state = enforceIternalState(this); 35016 if (!state.frozen) state.frozen = new InternalWeakMap(); 35017 return nativeHas.call(this, key) || state.frozen.has(key); 35018 } return nativeHas.call(this, key); 35019 }, 35020 get: function get(key) { 35021 if (isObject(key) && !isExtensible(key)) { 35022 var state = enforceIternalState(this); 35023 if (!state.frozen) state.frozen = new InternalWeakMap(); 35024 return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); 35025 } return nativeGet.call(this, key); 35026 }, 35027 set: function set(key, value) { 35028 if (isObject(key) && !isExtensible(key)) { 35029 var state = enforceIternalState(this); 35030 if (!state.frozen) state.frozen = new InternalWeakMap(); 35031 nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); 35032 } else nativeSet.call(this, key, value); 35033 return this; 35034 } 35035 }); 35036} 35037 35038 35039/***/ }), 35040/* 662 */ 35041/***/ (function(module, exports, __webpack_require__) { 35042 35043"use strict"; 35044 35045var collection = __webpack_require__(229); 35046var collectionWeak = __webpack_require__(387); 35047 35048// `WeakSet` constructor 35049// https://tc39.github.io/ecma262/#sec-weakset-constructor 35050collection('WeakSet', function (init) { 35051 return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; 35052}, collectionWeak); 35053 35054 35055/***/ }), 35056/* 663 */ 35057/***/ (function(module, exports, __webpack_require__) { 35058 35059"use strict"; 35060 35061var $ = __webpack_require__(2); 35062var global = __webpack_require__(16); 35063var arrayBufferModule = __webpack_require__(230); 35064var setSpecies = __webpack_require__(147); 35065 35066var ARRAY_BUFFER = 'ArrayBuffer'; 35067var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; 35068var NativeArrayBuffer = global[ARRAY_BUFFER]; 35069 35070// `ArrayBuffer` constructor 35071// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor 35072$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { 35073 ArrayBuffer: ArrayBuffer 35074}); 35075 35076setSpecies(ARRAY_BUFFER); 35077 35078 35079/***/ }), 35080/* 664 */ 35081/***/ (function(module, exports) { 35082 35083// IEEE754 conversions based on https://github.com/feross/ieee754 35084// eslint-disable-next-line no-shadow-restricted-names 35085var Infinity = 1 / 0; 35086var abs = Math.abs; 35087var pow = Math.pow; 35088var floor = Math.floor; 35089var log = Math.log; 35090var LN2 = Math.LN2; 35091 35092var pack = function (number, mantissaLength, bytes) { 35093 var buffer = new Array(bytes); 35094 var exponentLength = bytes * 8 - mantissaLength - 1; 35095 var eMax = (1 << exponentLength) - 1; 35096 var eBias = eMax >> 1; 35097 var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; 35098 var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; 35099 var index = 0; 35100 var exponent, mantissa, c; 35101 number = abs(number); 35102 // eslint-disable-next-line no-self-compare 35103 if (number != number || number === Infinity) { 35104 // eslint-disable-next-line no-self-compare 35105 mantissa = number != number ? 1 : 0; 35106 exponent = eMax; 35107 } else { 35108 exponent = floor(log(number) / LN2); 35109 if (number * (c = pow(2, -exponent)) < 1) { 35110 exponent--; 35111 c *= 2; 35112 } 35113 if (exponent + eBias >= 1) { 35114 number += rt / c; 35115 } else { 35116 number += rt * pow(2, 1 - eBias); 35117 } 35118 if (number * c >= 2) { 35119 exponent++; 35120 c /= 2; 35121 } 35122 if (exponent + eBias >= eMax) { 35123 mantissa = 0; 35124 exponent = eMax; 35125 } else if (exponent + eBias >= 1) { 35126 mantissa = (number * c - 1) * pow(2, mantissaLength); 35127 exponent = exponent + eBias; 35128 } else { 35129 mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); 35130 exponent = 0; 35131 } 35132 } 35133 for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); 35134 exponent = exponent << mantissaLength | mantissa; 35135 exponentLength += mantissaLength; 35136 for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); 35137 buffer[--index] |= sign * 128; 35138 return buffer; 35139}; 35140 35141var unpack = function (buffer, mantissaLength) { 35142 var bytes = buffer.length; 35143 var exponentLength = bytes * 8 - mantissaLength - 1; 35144 var eMax = (1 << exponentLength) - 1; 35145 var eBias = eMax >> 1;
35146 var nBits = exponentLength - 7; 35147 var index = bytes - 1; 35148 var sign = buffer[index--]; 35149 var exponent = sign & 127; 35150 var mantissa; 35151 sign >>= 7; 35152 for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); 35153 mantissa = exponent & (1 << -nBits) - 1; 35154 exponent >>= -nBits; 35155 nBits += mantissaLength; 35156 for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); 35157 if (exponent === 0) { 35158 exponent = 1 - eBias; 35159 } else if (exponent === eMax) { 35160 return mantissa ? NaN : sign ? -Infinity : Infinity; 35161 } else { 35162 mantissa = mantissa + pow(2, mantissaLength); 35163 exponent = exponent - eBias; 35164 } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); 35165}; 35166 35167module.exports = { 35168 pack: pack, 35169 unpack: unpack 35170}; 35171 35172 35173/***/ }), 35174/* 665 */ 35175/***/ (function(module, exports, __webpack_require__) { 35176 35177var $ = __webpack_require__(2); 35178var ArrayBufferViewCore = __webpack_require__(29); 35179 35180var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; 35181 35182// `ArrayBuffer.isView` method 35183// https://tc39.github.io/ecma262/#sec-arraybuffer.isview 35184$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { 35185 isView: ArrayBufferViewCore.isView 35186}); 35187 35188 35189/***/ }), 35190/* 666 */ 35191/***/ (function(module, exports, __webpack_require__) { 35192 35193var $ = __webpack_require__(2); 35194var ArrayBufferModule = __webpack_require__(230); 35195var NATIVE_ARRAY_BUFFER = __webpack_require__(297); 35196 35197// `DataView` constructor 35198// https://tc39.github.io/ecma262/#sec-dataview-constructor 35199$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, { 35200 DataView: ArrayBufferModule.DataView 35201}); 35202 35203 35204/***/ }), 35205/* 667 */ 35206/***/ (function(module, exports, __webpack_require__) { 35207 35208var createTypedArrayConstructor = __webpack_require__(104); 35209 35210// `Int8Array` constructor 35211// https://tc39.github.io/ecma262/#sec-typedarray-objects 35212createTypedArrayConstructor('Int8', function (init) { 35213 return function Int8Array(data, byteOffset, length) { 35214 return init(this, data, byteOffset, length); 35215 }; 35216}); 35217 35218 35219/***/ }), 35220/* 668 */ 35221/***/ (function(module, exports, __webpack_require__) { 35222 35223var toInteger = __webpack_require__(73); 35224 35225module.exports = function (it) { 35226 var result = toInteger(it); 35227 if (result < 0) throw RangeError("The argument can't be less than 0"); 35228 return result; 35229}; 35230 35231 35232/***/ }), 35233/* 669 */ 35234/***/ (function(module, exports, __webpack_require__) { 35235 35236var createTypedArrayConstructor = __webpack_require__(104); 35237 35238// `Uint8ClampedArray` constructor 35239// https://tc39.github.io/ecma262/#sec-typedarray-objects 35240createTypedArrayConstructor('Uint8', function (init) { 35241 return function Uint8ClampedArray(data, byteOffset, length) { 35242 return init(this, data, byteOffset, length); 35243 }; 35244}, true); 35245 35246 35247/***/ }), 35248/* 670 */ 35249/***/ (function(module, exports, __webpack_require__) { 35250 35251var createTypedArrayConstructor = __webpack_require__(104); 35252 35253// `Int16Array` constructor 35254// https://tc39.github.io/ecma262/#sec-typedarray-objects 35255createTypedArrayConstructor('Int16', function (init) { 35256 return function Int16Array(data, byteOffset, length) { 35257 return init(this, data, byteOffset, length); 35258 }; 35259}); 35260 35261 35262/***/ }), 35263/* 671 */ 35264/***/ (function(module, exports, __webpack_require__) { 35265 35266var createTypedArrayConstructor = __webpack_require__(104); 35267 35268// `Uint16Array` constructor 35269// https://tc39.github.io/ecma262/#sec-typedarray-objects 35270createTypedArrayConstructor('Uint16', function (init) { 35271 return function Uint16Array(data, byteOffset, length) { 35272 return init(this, data, byteOffset, length); 35273 }; 35274}); 35275 35276 35277/***/ }), 35278/* 672 */ 35279/***/ (function(module, exports, __webpack_require__) { 35280 35281var createTypedArrayConstructor = __webpack_require__(104); 35282 35283// `Int32Array` constructor 35284// https://tc39.github.io/ecma262/#sec-typedarray-objects 35285createTypedArrayConstructor('Int32', function (init) { 35286 return function Int32Array(data, byteOffset, length) { 35287 return init(this, data, byteOffset, length); 35288 }; 35289}); 35290 35291 35292/***/ }), 35293/* 673 */ 35294/***/ (function(module, exports, __webpack_require__) { 35295 35296var createTypedArrayConstructor = __webpack_require__(104); 35297 35298// `Uint32Array` constructor 35299// https://tc39.github.io/ecma262/#sec-typedarray-objects 35300createTypedArrayConstructor('Uint32', function (init) { 35301 return function Uint32Array(data, byteOffset, length) { 35302 return init(this, data, byteOffset, length); 35303 }; 35304}); 35305 35306 35307/***/ }), 35308/* 674 */ 35309/***/ (function(module, exports, __webpack_require__) { 35310 35311var createTypedArrayConstructor = __webpack_require__(104); 35312 35313// `Float32Array` constructor 35314// https://tc39.github.io/ecma262/#sec-typedarray-objects 35315createTypedArrayConstructor('Float32', function (init) { 35316 return function Float32Array(data, byteOffset, length) { 35317 return init(this, data, byteOffset, length); 35318 }; 35319}); 35320 35321 35322/***/ }), 35323/* 675 */ 35324/***/ (function(module, exports, __webpack_require__) { 35325 35326var createTypedArrayConstructor = __webpack_require__(104); 35327 35328// `Float64Array` constructor 35329// https://tc39.github.io/ecma262/#sec-typedarray-objects 35330createTypedArrayConstructor('Float64', function (init) { 35331 return function Float64Array(data, byteOffset, length) { 35332 return init(this, data, byteOffset, length); 35333 }; 35334}); 35335 35336 35337/***/ }), 35338/* 676 */ 35339/***/ (function(module, exports, __webpack_require__) { 35340 35341"use strict"; 35342 35343var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(298); 35344var exportTypedArrayStaticMethod = __webpack_require__(29).exportTypedArrayStaticMethod; 35345var typedArrayFrom = __webpack_require__(390); 35346 35347// `%TypedArray%.from` method 35348// https://tc39.github.io/ecma262/#sec-%typedarray%.from 35349exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); 35350 35351 35352/***/ }), 35353/* 677 */ 35354/***/ (function(module, exports, __webpack_require__) { 35355 35356"use strict"; 35357 35358var ArrayBufferViewCore = __webpack_require__(29); 35359var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(298); 35360 35361var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 35362var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; 35363 35364// `%TypedArray%.of` method 35365// https://tc39.github.io/ecma262/#sec-%typedarray%.of 35366exportTypedArrayStaticMethod('of', function of(/* ...items */) { 35367 var index = 0; 35368 var length = arguments.length; 35369 var result = new (aTypedArrayConstructor(this))(length); 35370 while (length > index) result[index] = arguments[index++]; 35371 return result; 35372}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); 35373 35374 35375/***/ }), 35376/* 678 */ 35377/***/ (function(module, exports, __webpack_require__) { 35378 35379var $ = __webpack_require__(2); 35380var getBuiltIn = __webpack_require__(67); 35381var aFunction = __webpack_require__(59); 35382var anObject = __webpack_require__(20); 35383var fails = __webpack_require__(11); 35384 35385var nativeApply = getBuiltIn('Reflect', 'apply'); 35386var functionApply = Function.apply; 35387
35388// MS Edge argumentsList argument is optional 35389var OPTIONAL_ARGUMENTS_LIST = !fails(function () { 35390 nativeApply(function () { /* empty */ }); 35391}); 35392 35393// `Reflect.apply` method 35394// https://tc39.github.io/ecma262/#sec-reflect.apply 35395$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { 35396 apply: function apply(target, thisArgument, argumentsList) { 35397 aFunction(target); 35398 anObject(argumentsList); 35399 return nativeApply 35400 ? nativeApply(target, thisArgument, argumentsList) 35401 : functionApply.call(target, thisArgument, argumentsList); 35402 } 35403}); 35404 35405 35406/***/ }), 35407/* 679 */ 35408/***/ (function(module, exports, __webpack_require__) { 35409 35410var $ = __webpack_require__(2); 35411var DESCRIPTORS = __webpack_require__(21); 35412var anObject = __webpack_require__(20); 35413var toPrimitive = __webpack_require__(79); 35414var definePropertyModule = __webpack_require__(30); 35415var fails = __webpack_require__(11); 35416 35417// MS Edge has broken Reflect.defineProperty - throwing instead of returning false 35418var ERROR_INSTEAD_OF_FALSE = fails(function () { 35419 // eslint-disable-next-line no-undef 35420 Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); 35421}); 35422 35423// `Reflect.defineProperty` method 35424// https://tc39.github.io/ecma262/#sec-reflect.defineproperty 35425$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { 35426 defineProperty: function defineProperty(target, propertyKey, attributes) { 35427 anObject(target); 35428 var key = toPrimitive(propertyKey, true); 35429 anObject(attributes); 35430 try { 35431 definePropertyModule.f(target, key, attributes); 35432 return true; 35433 } catch (error) { 35434 return false; 35435 } 35436 } 35437}); 35438 35439 35440/***/ }), 35441/* 680 */ 35442/***/ (function(module, exports, __webpack_require__) { 35443 35444var $ = __webpack_require__(2); 35445var anObject = __webpack_require__(20); 35446var getOwnPropertyDescriptor = __webpack_require__(51).f; 35447 35448// `Reflect.deleteProperty` method 35449// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty 35450$({ target: 'Reflect', stat: true }, { 35451 deleteProperty: function deleteProperty(target, propertyKey) { 35452 var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); 35453 return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; 35454 } 35455}); 35456 35457 35458/***/ }), 35459/* 681 */ 35460/***/ (function(module, exports, __webpack_require__) { 35461 35462var $ = __webpack_require__(2); 35463var isObject = __webpack_require__(19); 35464var anObject = __webpack_require__(20); 35465var has = __webpack_require__(35); 35466var getOwnPropertyDescriptorModule = __webpack_require__(51); 35467var getPrototypeOf = __webpack_require__(74); 35468 35469// `Reflect.get` method 35470// https://tc39.github.io/ecma262/#sec-reflect.get 35471function get(target, propertyKey /* , receiver */) { 35472 var receiver = arguments.length < 3 ? target : arguments[2]; 35473 var descriptor, prototype; 35474 if (anObject(target) === receiver) return target[propertyKey]; 35475 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') 35476 ? descriptor.value 35477 : descriptor.get === undefined 35478 ? undefined 35479 : descriptor.get.call(receiver); 35480 if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); 35481} 35482 35483$({ target: 'Reflect', stat: true }, { 35484 get: get 35485}); 35486 35487 35488/***/ }), 35489/* 682 */ 35490/***/ (function(module, exports, __webpack_require__) { 35491 35492var $ = __webpack_require__(2); 35493var DESCRIPTORS = __webpack_require__(21); 35494var anObject = __webpack_require__(20); 35495var getOwnPropertyDescriptorModule = __webpack_require__(51); 35496 35497// `Reflect.getOwnPropertyDescriptor` method 35498// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor 35499$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { 35500 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { 35501 return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); 35502 } 35503}); 35504 35505 35506/***/ }), 35507/* 683 */ 35508/***/ (function(module, exports, __webpack_require__) { 35509 35510var $ = __webpack_require__(2); 35511var anObject = __webpack_require__(20); 35512var objectGetPrototypeOf = __webpack_require__(74); 35513var CORRECT_PROTOTYPE_GETTER = __webpack_require__(283); 35514 35515// `Reflect.getPrototypeOf` method 35516// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof 35517$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { 35518 getPrototypeOf: function getPrototypeOf(target) { 35519 return objectGetPrototypeOf(anObject(target)); 35520 } 35521}); 35522 35523 35524/***/ }), 35525/* 684 */ 35526/***/ (function(module, exports, __webpack_require__) { 35527 35528var $ = __webpack_require__(2); 35529 35530// `Reflect.has` method 35531// https://tc39.github.io/ecma262/#sec-reflect.has 35532$({ target: 'Reflect', stat: true }, {
35533 has: function has(target, propertyKey) { 35534 return propertyKey in target; 35535 } 35536}); 35537 35538 35539/***/ }), 35540/* 685 */ 35541/***/ (function(module, exports, __webpack_require__) { 35542 35543var $ = __webpack_require__(2); 35544var anObject = __webpack_require__(20); 35545 35546var objectIsExtensible = Object.isExtensible; 35547 35548// `Reflect.isExtensible` method 35549// https://tc39.github.io/ecma262/#sec-reflect.isextensible 35550$({ target: 'Reflect', stat: true }, { 35551 isExtensible: function isExtensible(target) { 35552 anObject(target); 35553 return objectIsExtensible ? objectIsExtensible(target) : true; 35554 } 35555}); 35556 35557 35558/***/ }), 35559/* 686 */ 35560/***/ (function(module, exports, __webpack_require__) { 35561 35562var $ = __webpack_require__(2); 35563var ownKeys = __webpack_require__(278); 35564 35565// `Reflect.ownKeys` method 35566// https://tc39.github.io/ecma262/#sec-reflect.ownkeys 35567$({ target: 'Reflect', stat: true }, { 35568 ownKeys: ownKeys 35569}); 35570 35571 35572/***/ }), 35573/* 687 */ 35574/***/ (function(module, exports, __webpack_require__) { 35575 35576var $ = __webpack_require__(2); 35577var getBuiltIn = __webpack_require__(67); 35578var anObject = __webpack_require__(20); 35579var FREEZING = __webpack_require__(178); 35580 35581// `Reflect.preventExtensions` method 35582// https://tc39.github.io/ecma262/#sec-reflect.preventextensions 35583$({ target: 'Reflect', stat: true, sham: !FREEZING }, { 35584 preventExtensions: function preventExtensions(target) { 35585 anObject(target); 35586 try { 35587 var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); 35588 if (objectPreventExtensions) objectPreventExtensions(target); 35589 return true; 35590 } catch (error) { 35591 return false; 35592 } 35593 } 35594}); 35595 35596 35597/***/ }), 35598/* 688 */ 35599/***/ (function(module, exports, __webpack_require__) { 35600 35601var $ = __webpack_require__(2); 35602var anObject = __webpack_require__(20); 35603var isObject = __webpack_require__(19); 35604var has = __webpack_require__(35); 35605var fails = __webpack_require__(11); 35606var definePropertyModule = __webpack_require__(30); 35607var getOwnPropertyDescriptorModule = __webpack_require__(51); 35608var getPrototypeOf = __webpack_require__(74); 35609var createPropertyDescriptor = __webpack_require__(100); 35610 35611// `Reflect.set` method 35612// https://tc39.github.io/ecma262/#sec-reflect.set 35613function set(target, propertyKey, V /* , receiver */) { 35614 var receiver = arguments.length < 4 ? target : arguments[3]; 35615 var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); 35616 var existingDescriptor, prototype; 35617 if (!ownDescriptor) { 35618 if (isObject(prototype = getPrototypeOf(target))) { 35619 return set(prototype, propertyKey, V, receiver); 35620 } 35621 ownDescriptor = createPropertyDescriptor(0); 35622 } 35623 if (has(ownDescriptor, 'value')) { 35624 if (ownDescriptor.writable === false || !isObject(receiver)) return false; 35625 if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { 35626 if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; 35627 existingDescriptor.value = V; 35628 definePropertyModule.f(receiver, propertyKey, existingDescriptor); 35629 } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); 35630 return true; 35631 } 35632 return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); 35633} 35634 35635// MS Edge 17-18 Reflect.set allows setting the property to object 35636// with non-writable property on the prototype 35637var MS_EDGE_BUG = fails(function () { 35638 var Constructor = function () { /* empty */ }; 35639 var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); 35640 // eslint-disable-next-line no-undef 35641 return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; 35642}); 35643 35644$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { 35645 set: set 35646}); 35647 35648 35649/***/ }), 35650/* 689 */ 35651/***/ (function(module, exports, __webpack_require__) { 35652 35653var $ = __webpack_require__(2); 35654var anObject = __webpack_require__(20); 35655var aPossiblePrototype = __webpack_require__(364); 35656var objectSetPrototypeOf = __webpack_require__(116); 35657 35658// `Reflect.setPrototypeOf` method 35659// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof 35660if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { 35661 setPrototypeOf: function setPrototypeOf(target, proto) { 35662 anObject(target); 35663 aPossiblePrototype(proto); 35664 try { 35665 objectSetPrototypeOf(target, proto); 35666 return true; 35667 } catch (error) { 35668 return false;
35669 } 35670 } 35671}); 35672 35673 35674/***/ }), 35675/* 690 */ 35676/***/ (function(module, exports, __webpack_require__) { 35677 35678var $ = __webpack_require__(2); 35679var global = __webpack_require__(16); 35680var setToStringTag = __webpack_require__(80); 35681 35682$({ global: true }, { Reflect: {} }); 35683 35684// Reflect[@@toStringTag] property 35685// https://tc39.es/ecma262/#sec-reflect-@@tostringtag 35686setToStringTag(global.Reflect, 'Reflect', true); 35687 35688 35689/***/ }), 35690/* 691 */ 35691/***/ (function(module, exports, __webpack_require__) { 35692 35693__webpack_require__(88); 35694__webpack_require__(257); 35695__webpack_require__(692); 35696__webpack_require__(693); 35697__webpack_require__(694); 35698__webpack_require__(349); 35699__webpack_require__(697); 35700__webpack_require__(393); 35701var path = __webpack_require__(167); 35702 35703module.exports = path; 35704 35705 35706/***/ }), 35707/* 692 */ 35708/***/ (function(module, exports, __webpack_require__) { 35709 35710var $ = __webpack_require__(2); 35711var global = __webpack_require__(16); 35712var task = __webpack_require__(295); 35713 35714var FORCED = !global.setImmediate || !global.clearImmediate; 35715 35716// http://w3c.github.io/setImmediate/ 35717$({ global: true, bind: true, enumerable: true, forced: FORCED }, { 35718 // `setImmediate` method 35719 // http://w3c.github.io/setImmediate/#si-setImmediate 35720 setImmediate: task.set, 35721 // `clearImmediate` method 35722 // http://w3c.github.io/setImmediate/#si-clearImmediate 35723 clearImmediate: task.clear 35724}); 35725 35726 35727/***/ }), 35728/* 693 */ 35729/***/ (function(module, exports, __webpack_require__) { 35730 35731var $ = __webpack_require__(2); 35732var global = __webpack_require__(16); 35733var microtask = __webpack_require__(384); 35734var IS_NODE = __webpack_require__(146); 35735 35736var process = global.process; 35737 35738// `queueMicrotask` method 35739// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask 35740$({ global: true, enumerable: true, noTargetGet: true }, { 35741 queueMicrotask: function queueMicrotask(fn) { 35742 var domain = IS_NODE && process.domain; 35743 microtask(domain ? domain.bind(fn) : fn); 35744 } 35745}); 35746 35747 35748/***/ }), 35749/* 694 */ 35750/***/ (function(module, exports, __webpack_require__) { 35751 35752var $ = __webpack_require__(2); 35753var global = __webpack_require__(16); 35754var userAgent = __webpack_require__(216); 35755 35756var slice = [].slice; 35757var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check 35758 35759var wrap = function (scheduler) { 35760 return function (handler, timeout /* , ...arguments */) { 35761 var boundArgs = arguments.length > 2; 35762 var args = boundArgs ? slice.call(arguments, 2) : undefined; 35763 return scheduler(boundArgs ? function () { 35764 // eslint-disable-next-line no-new-func 35765 (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); 35766 } : handler, timeout); 35767 }; 35768}; 35769 35770// ie9- setTimeout & setInterval additional parameters fix 35771// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers 35772$({ global: true, bind: true, forced: MSIE }, { 35773 // `setTimeout` method 35774 // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout 35775 setTimeout: wrap(global.setTimeout), 35776 // `setInterval` method 35777 // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval 35778 setInterval: wrap(global.setInterval) 35779}); 35780 35781 35782/***/ }), 35783/* 695 */ 35784/***/ (function(module, exports, __webpack_require__) { 35785 35786"use strict"; 35787 35788// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js 35789var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 35790var base = 36; 35791var tMin = 1; 35792var tMax = 26; 35793var skew = 38; 35794var damp = 700; 35795var initialBias = 72; 35796var initialN = 128; // 0x80 35797var delimiter = '-'; // '\x2D' 35798var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars 35799var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators 35800var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; 35801var baseMinusTMin = base - tMin; 35802var floor = Math.floor; 35803var stringFromCharCode = String.fromCharCode; 35804 35805/** 35806 * Creates an array containing the numeric code points of each Unicode 35807 * character in the string. While JavaScript uses UCS-2 internally, 35808 * this function will convert a pair of surrogate halves (each of which 35809 * UCS-2 exposes as separate characters) into a single code point, 35810 * matching UTF-16. 35811 */ 35812var ucs2decode = function (string) { 35813 var output = []; 35814 var counter = 0; 35815 var length = string.length; 35816 while (counter < length) { 35817 var value = string.charCodeAt(counter++); 35818 if (value >= 0xD800 && value <= 0xDBFF && counter < length) { 35819 // It's a high surrogate, and there is a next character. 35820 var extra = string.charCodeAt(counter++); 35821 if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
35822 output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); 35823 } else { 35824 // It's an unmatched surrogate; only append this code unit, in case the 35825 // next code unit is the high surrogate of a surrogate pair. 35826 output.push(value); 35827 counter--; 35828 } 35829 } else { 35830 output.push(value); 35831 } 35832 } 35833 return output; 35834}; 35835 35836/** 35837 * Converts a digit/integer into a basic code point. 35838 */ 35839var digitToBasic = function (digit) { 35840 // 0..25 map to ASCII a..z or A..Z 35841 // 26..35 map to ASCII 0..9 35842 return digit + 22 + 75 * (digit < 26); 35843}; 35844 35845/** 35846 * Bias adaptation function as per section 3.4 of RFC 3492. 35847 * https://tools.ietf.org/html/rfc3492#section-3.4 35848 */ 35849var adapt = function (delta, numPoints, firstTime) { 35850 var k = 0; 35851 delta = firstTime ? floor(delta / damp) : delta >> 1; 35852 delta += floor(delta / numPoints); 35853 for (; delta > baseMinusTMin * tMax >> 1; k += base) { 35854 delta = floor(delta / baseMinusTMin); 35855 } 35856 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); 35857}; 35858 35859/** 35860 * Converts a string of Unicode symbols (e.g. a domain name label) to a 35861 * Punycode string of ASCII-only symbols. 35862 */ 35863// eslint-disable-next-line max-statements 35864var encode = function (input) { 35865 var output = []; 35866 35867 // Convert the input in UCS-2 to an array of Unicode code points. 35868 input = ucs2decode(input); 35869 35870 // Cache the length. 35871 var inputLength = input.length; 35872 35873 // Initialize the state. 35874 var n = initialN; 35875 var delta = 0; 35876 var bias = initialBias; 35877 var i, currentValue; 35878 35879 // Handle the basic code points. 35880 for (i = 0; i < input.length; i++) { 35881 currentValue = input[i]; 35882 if (currentValue < 0x80) { 35883 output.push(stringFromCharCode(currentValue)); 35884 } 35885 } 35886 35887 var basicLength = output.length; // number of basic code points. 35888 var handledCPCount = basicLength; // number of code points that have been handled; 35889 35890 // Finish the basic string with a delimiter unless it's empty. 35891 if (basicLength) { 35892 output.push(delimiter); 35893 } 35894 35895 // Main encoding loop: 35896 while (handledCPCount < inputLength) { 35897 // All non-basic code points < n have been handled already. Find the next larger one: 35898 var m = maxInt; 35899 for (i = 0; i < input.length; i++) { 35900 currentValue = input[i]; 35901 if (currentValue >= n && currentValue < m) { 35902 m = currentValue; 35903 } 35904 } 35905 35906 // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. 35907 var handledCPCountPlusOne = handledCPCount + 1; 35908 if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { 35909 throw RangeError(OVERFLOW_ERROR); 35910 } 35911 35912 delta += (m - n) * handledCPCountPlusOne; 35913 n = m; 35914 35915 for (i = 0; i < input.length; i++) { 35916 currentValue = input[i]; 35917 if (currentValue < n && ++delta > maxInt) { 35918 throw RangeError(OVERFLOW_ERROR); 35919 } 35920 if (currentValue == n) { 35921 // Represent delta as a generalized variable-length integer. 35922 var q = delta; 35923 for (var k = base; /* no condition */; k += base) { 35924 var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); 35925 if (q < t) break; 35926 var qMinusT = q - t; 35927 var baseMinusT = base - t; 35928 output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); 35929 q = floor(qMinusT / baseMinusT); 35930 } 35931 35932 output.push(stringFromCharCode(digitToBasic(q))); 35933 bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); 35934 delta = 0; 35935 ++handledCPCount; 35936 } 35937 } 35938 35939 ++delta; 35940 ++n; 35941 } 35942 return output.join(''); 35943}; 35944 35945module.exports = function (input) { 35946 var encoded = []; 35947 var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); 35948 var i, label; 35949 for (i = 0; i < labels.length; i++) { 35950 label = labels[i]; 35951 encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); 35952 } 35953 return encoded.join('.'); 35954}; 35955 35956 35957/***/ }), 35958/* 696 */ 35959/***/ (function(module, exports, __webpack_require__) { 35960 35961var anObject = __webpack_require__(20); 35962var getIteratorMethod = __webpack_require__(173); 35963 35964module.exports = function (it) { 35965 var iteratorMethod = getIteratorMethod(it); 35966 if (typeof iteratorMethod != 'function') { 35967 throw TypeError(String(it) + ' is not iterable'); 35968 } return anObject(iteratorMethod.call(it)); 35969}; 35970 35971 35972/***/ }), 35973/* 697 */ 35974/***/ (function(module, exports, __webpack_require__) { 35975 35976"use strict"; 35977 35978var $ = __webpack_require__(2); 35979 35980// `URL.prototype.toJSON` method 35981// https://url.spec.whatwg.org/#dom-url-tojson 35982$({ target: 'URL', proto: true, enumerable: true }, {
35983 toJSON: function toJSON() { 35984 return URL.prototype.toString.call(this); 35985 } 35986}); 35987 35988 35989/***/ }), 35990/* 698 */ 35991/***/ (function(module, exports) { 35992 35993function _arrayWithHoles(arr) { 35994 if (Array.isArray(arr)) return arr; 35995} 35996 35997module.exports = _arrayWithHoles; 35998 35999/***/ }), 36000/* 699 */ 36001/***/ (function(module, exports) { 36002 36003function _nonIterableRest() { 36004 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 36005} 36006 36007module.exports = _nonIterableRest; 36008 36009/***/ }), 36010/* 700 */ 36011/***/ (function(module, exports) { 36012 36013function _iterableToArray(iter) { 36014 if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); 36015} 36016 36017module.exports = _iterableToArray; 36018 36019/***/ }), 36020/* 701 */, 36021/* 702 */, 36022/* 703 */, 36023/* 704 */ 36024/***/ (function(module, exports, __webpack_require__) { 36025 36026// extracted by mini-css-extract-plugin 36027module.exports = {"wrap":"IframeWidget-module__wrap--S1PNo","frame":"IframeWidget-module__frame--3Z0Ym","narrow":"IframeWidget-module__narrow--W9hH5"}; 36028 36029/***/ }), 36030/* 705 */ 36031/***/ (function(module, __webpack_exports__, __webpack_require__) { 36032 36033"use strict"; 36034/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return adsBlocked; }); 36035/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return adsBlockedSync; }); 36036/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105); 36037/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__); 36038/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(187); 36039/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1__); 36040/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6); 36041/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__); 36042/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60); 36043/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__); 36044/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13); 36045/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__); 36046/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10); 36047 36048 36049 36050 36051 36052 36053var adsBlocked = /*#__PURE__*/function () { 36054 var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee() { 36055 var _yield$import, adsAllowed; 36056 36057 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee$(_context) { 36058 while (1) { 36059 switch (_context.prev = _context.next) { 36060 case 0: 36061 _context.prev = 0; 36062 _context.next = 3; 36063 return __webpack_require__.e(/* import() | dfp.legacy */ 7).then(__webpack_require__.bind(null, 1055)); 36064 36065 case 3: 36066 _yield$import = _context.sent; 36067 adsAllowed = _yield$import.adsAllowed; 36068 return _context.abrupt("return", !adsAllowed); 36069 36070 case 8: 36071 _context.prev = 8; 36072 _context.t0 = _context["catch"](0); 36073 Object(_logger__WEBPACK_IMPORTED_MODULE_5__[/* warn */ "e"])("Ads blocked"); 36074 return _context.abrupt("return", true); 36075 36076 case 12: 36077 case "end": 36078 return _context.stop(); 36079 } 36080 } 36081 }, _callee, null, [[0, 8]]); 36082 })); 36083 36084 return function adsBlocked() { 36085 return _ref.apply(this, arguments); 36086 }; 36087}(); 36088/** 36089 * Synchronous version of adsBlocked 36090 */ 36091 36092var adsBlockedSync = function adsBlockedSync() { 36093 try { 36094 // eslint-disable-next-line @typescript-eslint/no-var-requires 36095 var adsAllowed = __webpack_require__( 36096 /* webpackChunkName: "dfp" */ 36097 1004); // Generates a file called "dfp.js", which is blocked by all adblockers 36098 36099 36100 return !adsAllowed; 36101 } catch (err) { 36102 Object(_logger__WEBPACK_IMPORTED_MODULE_5__[/* warn */ "e"])("Ads blocked"); 36103 return true; 36104 } 36105}; 36106 36107/***/ }), 36108/* 706 */, 36109/* 707 */, 36110/* 708 */, 36111/* 709 */, 36112/* 710 */, 36113/* 711 */, 36114/* 712 */, 36115/* 713 */, 36116/* 714 */, 36117/* 715 */, 36118/* 716 */, 36119/* 717 */, 36120/* 718 */, 36121/* 719 */, 36122/* 720 */, 36123/* 721 */, 36124/* 722 */, 36125/* 723 */, 36126/* 724 */, 36127/* 725 */, 36128/* 726 */, 36129/* 727 */, 36130/* 728 */, 36131/* 729 */, 36132/* 730 */
36133/***/ (function(module, exports) { 36134 36135module.exports = "<svg width=\"32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22.232 8L16 14.232 9.768 8 8 9.768 14.232 16 8 22.233 9.768 24 16 17.768 22.232 24 24 22.233 17.767 16 24 9.768z\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 36136 36137/***/ }), 36138/* 731 */ 36139/***/ (function(module, exports) { 36140 36141module.exports = "<svg width=\"46px\" height=\"46px\" viewBox=\"0 0 46 46\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><title>icon_big_pause</title><g id=\"icon_big_pause\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"Group-18\" fill=\"currentColor\"><path d=\"M23,0 C35.7025492,0 46,10.2974508 46,23 C46,35.7025492 35.7025492,46 23,46 C10.2974508,46 0,35.7025492 0,23 C0,10.2974508 10.2974508,0 23,0 Z M21.1791667,15.3333333 L16.8666667,15.3333333 L16.8666667,30.6666667 L21.1791667,30.6666667 L21.1791667,15.3333333 Z M29.325,15.3333333 L25.0125,15.3333333 L25.0125,30.6666667 L29.325,30.6666667 L29.325,15.3333333 Z\" id=\"Combined-Shape\"></path></g></g></svg>" 36142 36143/***/ }), 36144/* 732 */ 36145/***/ (function(module, exports, __webpack_require__) { 36146 36147"use strict"; 36148/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. 36149// 36150// Permission is hereby granted, free of charge, to any person obtaining a 36151// copy of this software and associated documentation files (the 36152// "Software"), to deal in the Software without restriction, including 36153// without limitation the rights to use, copy, modify, merge, publish, 36154// distribute, sublicense, and/or sell copies of the Software, and to permit 36155// persons to whom the Software is furnished to do so, subject to the 36156// following conditions: 36157// 36158// The above copyright notice and this permission notice shall be included 36159// in all copies or substantial portions of the Software. 36160// 36161// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 36162// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 36163// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 36164// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 36165// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 36166// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 36167// USE OR OTHER DEALINGS IN THE SOFTWARE. 36168 36169 36170 36171/*<replacement>*/ 36172 36173var pna = __webpack_require__(394); 36174/*</replacement>*/ 36175 36176module.exports = Readable; 36177 36178/*<replacement>*/ 36179var isArray = __webpack_require__(733); 36180/*</replacement>*/ 36181 36182/*<replacement>*/ 36183var Duplex; 36184/*</replacement>*/ 36185 36186Readable.ReadableState = ReadableState; 36187 36188/*<replacement>*/ 36189var EE = __webpack_require__(469).EventEmitter; 36190 36191var EElistenerCount = function (emitter, type) { 36192 return emitter.listeners(type).length; 36193}; 36194/*</replacement>*/ 36195 36196/*<replacement>*/ 36197var Stream = __webpack_require__(734); 36198/*</replacement>*/ 36199 36200/*<replacement>*/ 36201 36202var Buffer = __webpack_require__(470).Buffer; 36203var OurUint8Array = global.Uint8Array || function () {}; 36204function _uint8ArrayToBuffer(chunk) { 36205 return Buffer.from(chunk); 36206} 36207function _isUint8Array(obj) { 36208 return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; 36209} 36210 36211/*</replacement>*/ 36212 36213/*<replacement>*/ 36214var util = Object.create(__webpack_require__(314)); 36215util.inherits = __webpack_require__(200); 36216/*</replacement>*/ 36217 36218/*<replacement>*/ 36219var debugUtil = __webpack_require__(905); 36220var debug = void 0; 36221if (debugUtil && debugUtil.debuglog) { 36222 debug = debugUtil.debuglog('stream'); 36223} else { 36224 debug = function () {}; 36225} 36226/*</replacement>*/ 36227 36228var BufferList = __webpack_require__(906); 36229var destroyImpl = __webpack_require__(735); 36230var StringDecoder; 36231 36232util.inherits(Readable, Stream); 36233 36234var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; 36235 36236function prependListener(emitter, event, fn) { 36237 // Sadly this is not cacheable as some libraries bundle their own 36238 // event emitter implementation with them. 36239 if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); 36240 36241 // This is a hack to make sure that our error handler is attached before any 36242 // userland ones. NEVER DO THIS. This is here only because this code needs 36243 // to continue to work with older versions of Node.js that do not include 36244 // the prependListener() method. The goal is to eventually remove this hack. 36245 if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
vendor: 7,639 bytes, lines 36245-36475
36245else emitter._events[event] = [fn, emitter._events[event]]; 36246} 36247 36248function ReadableState(options, stream) { 36249 Duplex = Duplex || __webpack_require__(240); 36250 36251 options = options || {}; 36252 36253 // Duplex streams are both readable and writable, but share 36254 // the same options object. 36255 // However, some cases require setting options to different 36256 // values for the readable and the writable sides of the duplex stream. 36257 // These options can be provided separately as readableXXX and writableXXX. 36258 var isDuplex = stream instanceof Duplex; 36259 36260 // object stream flag. Used to make read(n) ignore n and to 36261 // make all the buffer merging and length checks go away 36262 this.objectMode = !!options.objectMode; 36263 36264 if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; 36265 36266 // the point at which it stops calling _read() to fill the buffer 36267 // Note: 0 is a valid value, means "don't call _read preemptively ever" 36268 var hwm = options.highWaterMark; 36269 var readableHwm = options.readableHighWaterMark; 36270 var defaultHwm = this.objectMode ? 16 : 16 * 1024; 36271 36272 if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm; 36273 36274 // cast to ints. 36275 this.highWaterMark = Math.floor(this.highWaterMark); 36276 36277 // A linked list is used to store data chunks instead of an array because the 36278 // linked list can remove elements from the beginning faster than 36279 // array.shift() 36280 this.buffer = new BufferList(); 36281 this.length = 0; 36282 this.pipes = null; 36283 this.pipesCount = 0; 36284 this.flowing = null; 36285 this.ended = false; 36286 this.endEmitted = false; 36287 this.reading = false; 36288 36289 // a flag to be able to tell if the event 'readable'/'data' is emitted 36290 // immediately, or on a later tick. We set this to true at first, because 36291 // any actions that shouldn't happen until "later" should generally also 36292 // not happen before the first read call. 36293 this.sync = true; 36294 36295 // whenever we return null, then we set a flag to say 36296 // that we're awaiting a 'readable' event emission. 36297 this.needReadable = false; 36298 this.emittedReadable = false; 36299 this.readableListening = false; 36300 this.resumeScheduled = false; 36301 36302 // has it been destroyed 36303 this.destroyed = false; 36304 36305 // Crypto is kind of old and crusty. Historically, its default string 36306 // encoding is 'binary' so we have to make this configurable. 36307 // Everything else in the universe uses 'utf8', though. 36308 this.defaultEncoding = options.defaultEncoding || 'utf8'; 36309 36310 // the number of writers that are awaiting a drain event in .pipe()s 36311 this.awaitDrain = 0; 36312 36313 // if true, a maybeReadMore has been scheduled 36314 this.readingMore = false; 36315 36316 this.decoder = null; 36317 this.encoding = null; 36318 if (options.encoding) { 36319 if (!StringDecoder) StringDecoder = __webpack_require__(736).StringDecoder; 36320 this.decoder = new StringDecoder(options.encoding); 36321 this.encoding = options.encoding; 36322 } 36323} 36324 36325function Readable(options) { 36326 Duplex = Duplex || __webpack_require__(240); 36327 36328 if (!(this instanceof Readable)) return new Readable(options); 36329 36330 this._readableState = new ReadableState(options, this); 36331 36332 // legacy 36333 this.readable = true; 36334 36335 if (options) { 36336 if (typeof options.read === 'function') this._read = options.read; 36337 36338 if (typeof options.destroy === 'function') this._destroy = options.destroy; 36339 } 36340 36341 Stream.call(this); 36342} 36343 36344Object.defineProperty(Readable.prototype, 'destroyed', { 36345 get: function () { 36346 if (this._readableState === undefined) { 36347 return false; 36348 } 36349 return this._readableState.destroyed; 36350 }, 36351 set: function (value) { 36352 // we ignore the value if the stream 36353 // has not been initialized yet 36354 if (!this._readableState) { 36355 return; 36356 } 36357 36358 // backward compatibility, the user is explicitly 36359 // managing destroyed 36360 this._readableState.destroyed = value; 36361 } 36362}); 36363 36364Readable.prototype.destroy = destroyImpl.destroy; 36365Readable.prototype._undestroy = destroyImpl.undestroy; 36366Readable.prototype._destroy = function (err, cb) { 36367 this.push(null); 36368 cb(err); 36369}; 36370 36371// Manually shove something into the read() buffer. 36372// This returns true if the highWaterMark has not been hit yet, 36373// similar to how Writable.write() returns true if you should 36374// write() some more. 36375Readable.prototype.push = function (chunk, encoding) { 36376 var state = this._readableState; 36377 var skipChunkCheck; 36378 36379 if (!state.objectMode) { 36380 if (typeof chunk === 'string') { 36381 encoding = encoding || state.defaultEncoding; 36382 if (encoding !== state.encoding) { 36383 chunk = Buffer.from(chunk, encoding); 36384 encoding = ''; 36385 } 36386 skipChunkCheck = true; 36387 } 36388 } else { 36389 skipChunkCheck = true; 36390 } 36391 36392 return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); 36393}; 36394 36395// Unshift should *always* be something directly out of read() 36396Readable.prototype.unshift = function (chunk) { 36397 return readableAddChunk(this, chunk, null, true, false); 36398}; 36399 36400function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { 36401 var state = stream._readableState; 36402 if (chunk === null) { 36403 state.reading = false; 36404 onEofChunk(stream, state); 36405 } else { 36406 var er; 36407 if (!skipChunkCheck) er = chunkInvalid(state, chunk); 36408 if (er) { 36409 stream.emit('error', er); 36410 } else if (state.objectMode || chunk && chunk.length > 0) { 36411 if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { 36412 chunk = _uint8ArrayToBuffer(chunk); 36413 } 36414 36415 if (addToFront) { 36416 if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); 36417 } else if (state.ended) { 36418 stream.emit('error', new Error('stream.push() after EOF')); 36419 } else { 36420 state.reading = false; 36421 if (state.decoder && !encoding) { 36422 chunk = state.decoder.write(chunk); 36423 if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); 36424 } else { 36425 addChunk(stream, state, chunk, false); 36426 } 36427 } 36428 } else if (!addToFront) { 36429 state.reading = false; 36430 } 36431 } 36432 36433 return needMoreData(state); 36434} 36435 36436function addChunk(stream, state, chunk, addToFront) { 36437 if (state.flowing && state.length === 0 && !state.sync) { 36438 stream.emit('data', chunk); 36439 stream.read(0); 36440 } else { 36441 // update the buffer info. 36442 state.length += state.objectMode ? 1 : chunk.length; 36443 if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); 36444 36445 if (state.needReadable) emitReadable(stream); 36446 } 36447 maybeReadMore(stream, state); 36448} 36449 36450function chunkInvalid(state, chunk) { 36451 var er; 36452 if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { 36453 er = new TypeError('Invalid non-string/buffer chunk'); 36454 } 36455 return er; 36456} 36457 36458// if it's past the high water mark, we can push in some more. 36459// Also, if we have no data yet, we can stand some 36460// more bytes. This is to work around cases where hwm=0, 36461// such as the repl. Also, if the push() triggered a 36462// readable event, and the user called read(largeNumber) such that 36463// needReadable was set, then we ought to push more, so that another 36464// 'readable' event will be triggered. 36465function needMoreData(state) { 36466 return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); 36467} 36468 36469Readable.prototype.isPaused = function () { 36470 return this._readableState.flowing === false; 36471}; 36472 36473// backwards compatibility. 36474Readable.prototype.setEncoding = function (enc) { 36475 if (!StringDecoder) StringDecoder = __webpack_require__(736
vendor: 9,953 bytes, lines 36475-36773
36475).StringDecoder; 36476 this._readableState.decoder = new StringDecoder(enc); 36477 this._readableState.encoding = enc; 36478 return this; 36479}; 36480 36481// Don't raise the hwm > 8MB 36482var MAX_HWM = 0x800000; 36483function computeNewHighWaterMark(n) { 36484 if (n >= MAX_HWM) { 36485 n = MAX_HWM; 36486 } else { 36487 // Get the next highest power of 2 to prevent increasing hwm excessively in 36488 // tiny amounts 36489 n--; 36490 n |= n >>> 1; 36491 n |= n >>> 2; 36492 n |= n >>> 4; 36493 n |= n >>> 8; 36494 n |= n >>> 16; 36495 n++; 36496 } 36497 return n; 36498} 36499 36500// This function is designed to be inlinable, so please take care when making 36501// changes to the function body. 36502function howMuchToRead(n, state) { 36503 if (n <= 0 || state.length === 0 && state.ended) return 0; 36504 if (state.objectMode) return 1; 36505 if (n !== n) { 36506 // Only flow one buffer at a time 36507 if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; 36508 } 36509 // If we're asking for more than the current hwm, then raise the hwm. 36510 if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); 36511 if (n <= state.length) return n; 36512 // Don't have enough 36513 if (!state.ended) { 36514 state.needReadable = true; 36515 return 0; 36516 } 36517 return state.length; 36518} 36519 36520// you can override either this method, or the async _read(n) below. 36521Readable.prototype.read = function (n) { 36522 debug('read', n); 36523 n = parseInt(n, 10); 36524 var state = this._readableState; 36525 var nOrig = n; 36526 36527 if (n !== 0) state.emittedReadable = false; 36528 36529 // if we're doing read(0) to trigger a readable event, but we 36530 // already have a bunch of data in the buffer, then just trigger 36531 // the 'readable' event and move on. 36532 if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { 36533 debug('read: emitReadable', state.length, state.ended); 36534 if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); 36535 return null; 36536 } 36537 36538 n = howMuchToRead(n, state); 36539 36540 // if we've ended, and we're now clear, then finish it up. 36541 if (n === 0 && state.ended) { 36542 if (state.length === 0) endReadable(this); 36543 return null; 36544 } 36545 36546 // All the actual chunk generation logic needs to be 36547 // *below* the call to _read. The reason is that in certain 36548 // synthetic stream cases, such as passthrough streams, _read 36549 // may be a completely synchronous operation which may change 36550 // the state of the read buffer, providing enough data when 36551 // before there was *not* enough. 36552 // 36553 // So, the steps are: 36554 // 1. Figure out what the state of things will be after we do 36555 // a read from the buffer. 36556 // 36557 // 2. If that resulting state will trigger a _read, then call _read. 36558 // Note that this may be asynchronous, or synchronous. Yes, it is 36559 // deeply ugly to write APIs this way, but that still doesn't mean 36560 // that the Readable class should behave improperly, as streams are 36561 // designed to be sync/async agnostic. 36562 // Take note if the _read call is sync or async (ie, if the read call 36563 // has returned yet), so that we know whether or not it's safe to emit 36564 // 'readable' etc. 36565 // 36566 // 3. Actually pull the requested chunks out of the buffer and return. 36567 36568 // if we need a readable event, then we need to do some reading. 36569 var doRead = state.needReadable; 36570 debug('need readable', doRead); 36571 36572 // if we currently have less than the highWaterMark, then also read some 36573 if (state.length === 0 || state.length - n < state.highWaterMark) { 36574 doRead = true; 36575 debug('length less than watermark', doRead); 36576 } 36577 36578 // however, if we've ended, then there's no point, and if we're already 36579 // reading, then it's unnecessary. 36580 if (state.ended || state.reading) { 36581 doRead = false; 36582 debug('reading or ended', doRead); 36583 } else if (doRead) { 36584 debug('do read'); 36585 state.reading = true; 36586 state.sync = true; 36587 // if the length is currently zero, then we *need* a readable event. 36588 if (state.length === 0) state.needReadable = true; 36589 // call internal read method 36590 this._read(state.highWaterMark); 36591 state.sync = false; 36592 // If _read pushed data synchronously, then `reading` will be false, 36593 // and we need to re-evaluate how much data we can return to the user. 36594 if (!state.reading) n = howMuchToRead(nOrig, state); 36595 } 36596 36597 var ret; 36598 if (n > 0) ret = fromList(n, state);else ret = null; 36599 36600 if (ret === null) { 36601 state.needReadable = true; 36602 n = 0; 36603 } else { 36604 state.length -= n; 36605 } 36606 36607 if (state.length === 0) { 36608 // If we have nothing in the buffer, then we want to know 36609 // as soon as we *do* get something into the buffer. 36610 if (!state.ended) state.needReadable = true; 36611 36612 // If we tried to read() past the EOF, then emit end on the next tick. 36613 if (nOrig !== n && state.ended) endReadable(this); 36614 } 36615 36616 if (ret !== null) this.emit('data', ret); 36617 36618 return ret; 36619}; 36620 36621function onEofChunk(stream, state) { 36622 if (state.ended) return; 36623 if (state.decoder) { 36624 var chunk = state.decoder.end(); 36625 if (chunk && chunk.length) { 36626 state.buffer.push(chunk); 36627 state.length += state.objectMode ? 1 : chunk.length; 36628 } 36629 } 36630 state.ended = true; 36631 36632 // emit 'readable' now to make sure it gets picked up. 36633 emitReadable(stream); 36634} 36635 36636// Don't emit readable right away in sync mode, because this can trigger 36637// another read() call => stack overflow. This way, it might trigger 36638// a nextTick recursion warning, but that's not so bad. 36639function emitReadable(stream) { 36640 var state = stream._readableState; 36641 state.needReadable = false; 36642 if (!state.emittedReadable) { 36643 debug('emitReadable', state.flowing); 36644 state.emittedReadable = true; 36645 if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream); 36646 } 36647} 36648 36649function emitReadable_(stream) { 36650 debug('emit readable'); 36651 stream.emit('readable'); 36652 flow(stream); 36653} 36654 36655// at this point, the user has presumably seen the 'readable' event, 36656// and called read() to consume some data. that may have triggered 36657// in turn another _read(n) call, in which case reading = true if 36658// it's in progress. 36659// However, if we're not ended, or reading, and the length < hwm, 36660// then go ahead and try to read some more preemptively. 36661function maybeReadMore(stream, state) { 36662 if (!state.readingMore) { 36663 state.readingMore = true; 36664 pna.nextTick(maybeReadMore_, stream, state); 36665 } 36666} 36667 36668function maybeReadMore_(stream, state) { 36669 var len = state.length; 36670 while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { 36671 debug('maybeReadMore read 0'); 36672 stream.read(0); 36673 if (len === state.length) 36674 // didn't get any data, stop spinning. 36675 break;else len = state.length; 36676 } 36677 state.readingMore = false; 36678} 36679 36680// abstract method. to be overridden in specific implementation classes. 36681// call cb(er, data) where data is <= n in length. 36682// for virtual (non-string, non-buffer) streams, "length" is somewhat 36683// arbitrary, and perhaps not very meaningful. 36684Readable.prototype._read = function (n) { 36685 this.emit('error', new Error('_read() is not implemented')); 36686}; 36687 36688Readable.prototype.pipe = function (dest, pipeOpts) { 36689 var src = this; 36690 var state = this._readableState; 36691 36692 switch (state.pipesCount) { 36693 case 0: 36694 state.pipes = dest; 36695 break; 36696 case 1: 36697 state.pipes = [state.pipes, dest]; 36698 break; 36699 default: 36700 state.pipes.push(dest); 36701 break; 36702 } 36703 state.pipesCount += 1; 36704 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); 36705 36706 var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; 36707 36708 var endFn = doEnd ? onend : unpipe; 36709 if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn); 36710 36711 dest.on('unpipe', onunpipe); 36712 function onunpipe(readable, unpipeInfo) { 36713 debug('onunpipe'); 36714 if (readable === src) { 36715 if (unpipeInfo && unpipeInfo.hasUnpiped === false) { 36716 unpipeInfo.hasUnpiped = true; 36717 cleanup(); 36718 } 36719 } 36720 } 36721 36722 function onend() { 36723 debug('onend'); 36724 dest.end(); 36725 } 36726 36727 // when the dest drains, it reduces the awaitDrain counter 36728 // on the source. This would be more elegant with a .once() 36729 // handler in flow(), but adding and removing repeatedly is 36730 // too slow. 36731 var ondrain = pipeOnDrain(src); 36732 dest.on('drain', ondrain); 36733 36734 var cleanedUp = false; 36735 function cleanup() { 36736 debug('cleanup'); 36737 // cleanup event handlers once the pipe is broken 36738 dest.removeListener('close', onclose); 36739 dest.removeListener('finish', onfinish); 36740 dest.removeListener('drain', ondrain); 36741 dest.removeListener('error', onerror); 36742 dest.removeListener('unpipe', onunpipe); 36743 src.removeListener('end', onend); 36744 src.removeListener('end', unpipe); 36745 src.removeListener('data', ondata); 36746 36747 cleanedUp = true; 36748 36749 // if the reader is waiting for a drain event from this 36750 // specific writer, then it would cause it to never start 36751 // flowing again. 36752 // So, if this is awaiting a drain, then we just call it now. 36753 // If we don't know, then assume that we are waiting for one. 36754 if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); 36755 } 36756 36757 // If the user pushes more data while we're writing to dest then we'll end up 36758 // in ondata again. However, we only want to increase awaitDrain once because 36759 // dest will only emit one 'drain' event for the multiple writes. 36760 // => Introduce a guard on increasing awaitDrain. 36761 var increasedAwaitDrain = false; 36762 src.on('data', ondata); 36763 function ondata(chunk) { 36764 debug('ondata'); 36765 increasedAwaitDrain = false; 36766 var ret = dest.write(chunk); 36767 if (false === ret && !increasedAwaitDrain) { 36768 // If the user unpiped during `dest.write()`, it is possible 36769 // to get stuck in a permanently paused state if that write 36770 // also returned false. 36771 // => Check whether `dest` is still a piping destination. 36772 if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { 36773 debug('false write response, pause', s
vendor: 2,380 bytes, lines 36773-36868
36773rc._readableState.awaitDrain); 36774 src._readableState.awaitDrain++; 36775 increasedAwaitDrain = true; 36776 } 36777 src.pause(); 36778 } 36779 } 36780 36781 // if the dest has an error, then stop piping into it. 36782 // however, don't suppress the throwing behavior for this. 36783 function onerror(er) { 36784 debug('onerror', er); 36785 unpipe(); 36786 dest.removeListener('error', onerror); 36787 if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); 36788 } 36789 36790 // Make sure our error handler is attached before userland ones. 36791 prependListener(dest, 'error', onerror); 36792 36793 // Both close and finish should trigger unpipe, but only once. 36794 function onclose() { 36795 dest.removeListener('finish', onfinish); 36796 unpipe(); 36797 } 36798 dest.once('close', onclose); 36799 function onfinish() { 36800 debug('onfinish'); 36801 dest.removeListener('close', onclose); 36802 unpipe(); 36803 } 36804 dest.once('finish', onfinish); 36805 36806 function unpipe() { 36807 debug('unpipe'); 36808 src.unpipe(dest); 36809 } 36810 36811 // tell the dest that it's being piped to 36812 dest.emit('pipe', src); 36813 36814 // start the flow if it hasn't been started already. 36815 if (!state.flowing) { 36816 debug('pipe resume'); 36817 src.resume(); 36818 } 36819 36820 return dest; 36821}; 36822 36823function pipeOnDrain(src) { 36824 return function () { 36825 var state = src._readableState; 36826 debug('pipeOnDrain', state.awaitDrain); 36827 if (state.awaitDrain) state.awaitDrain--; 36828 if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { 36829 state.flowing = true; 36830 flow(src); 36831 } 36832 }; 36833} 36834 36835Readable.prototype.unpipe = function (dest) { 36836 var state = this._readableState; 36837 var unpipeInfo = { hasUnpiped: false }; 36838 36839 // if we're not piping anywhere, then do nothing. 36840 if (state.pipesCount === 0) return this; 36841 36842 // just one destination. most common case. 36843 if (state.pipesCount === 1) { 36844 // passed in one, but it's not the right one. 36845 if (dest && dest !== state.pipes) return this; 36846 36847 if (!dest) dest = state.pipes; 36848 36849 // got a match. 36850 state.pipes = null; 36851 state.pipesCount = 0; 36852 state.flowing = false; 36853 if (dest) dest.emit('unpipe', this, unpipeInfo); 36854 return this; 36855 } 36856 36857 // slow case. multiple pipe destinations. 36858 36859 if (!dest) { 36860 // remove all. 36861 var dests = state.pipes; 36862 var len = state.pipesCount; 36863 state.pipes = null; 36864 state.pipesCount = 0; 36865 state.flowing = false; 36866 36867 for (var i = 0; i < len; i++) { 36868 dests[i].emit('unpipe', this, unpipeInfo
vendor: 8,062 bytes, lines 36868-37166
36868); 36869 }return this; 36870 } 36871 36872 // try to find the right one. 36873 var index = indexOf(state.pipes, dest); 36874 if (index === -1) return this; 36875 36876 state.pipes.splice(index, 1); 36877 state.pipesCount -= 1; 36878 if (state.pipesCount === 1) state.pipes = state.pipes[0]; 36879 36880 dest.emit('unpipe', this, unpipeInfo); 36881 36882 return this; 36883}; 36884 36885// set up data events if they are asked for 36886// Ensure readable listeners eventually get something 36887Readable.prototype.on = function (ev, fn) { 36888 var res = Stream.prototype.on.call(this, ev, fn); 36889 36890 if (ev === 'data') { 36891 // Start flowing on next tick if stream isn't explicitly paused 36892 if (this._readableState.flowing !== false) this.resume(); 36893 } else if (ev === 'readable') { 36894 var state = this._readableState; 36895 if (!state.endEmitted && !state.readableListening) { 36896 state.readableListening = state.needReadable = true; 36897 state.emittedReadable = false; 36898 if (!state.reading) { 36899 pna.nextTick(nReadingNextTick, this); 36900 } else if (state.length) { 36901 emitReadable(this); 36902 } 36903 } 36904 } 36905 36906 return res; 36907}; 36908Readable.prototype.addListener = Readable.prototype.on; 36909 36910function nReadingNextTick(self) { 36911 debug('readable nexttick read 0'); 36912 self.read(0); 36913} 36914 36915// pause() and resume() are remnants of the legacy readable stream API 36916// If the user uses them, then switch into old mode. 36917Readable.prototype.resume = function () { 36918 var state = this._readableState; 36919 if (!state.flowing) { 36920 debug('resume'); 36921 state.flowing = true; 36922 resume(this, state); 36923 } 36924 return this; 36925}; 36926 36927function resume(stream, state) { 36928 if (!state.resumeScheduled) { 36929 state.resumeScheduled = true; 36930 pna.nextTick(resume_, stream, state); 36931 } 36932} 36933 36934function resume_(stream, state) { 36935 if (!state.reading) { 36936 debug('resume read 0'); 36937 stream.read(0); 36938 } 36939 36940 state.resumeScheduled = false; 36941 state.awaitDrain = 0; 36942 stream.emit('resume'); 36943 flow(stream); 36944 if (state.flowing && !state.reading) stream.read(0); 36945} 36946 36947Readable.prototype.pause = function () { 36948 debug('call pause flowing=%j', this._readableState.flowing); 36949 if (false !== this._readableState.flowing) { 36950 debug('pause'); 36951 this._readableState.flowing = false; 36952 this.emit('pause'); 36953 } 36954 return this; 36955}; 36956 36957function flow(stream) { 36958 var state = stream._readableState; 36959 debug('flow', state.flowing); 36960 while (state.flowing && stream.read() !== null) {} 36961} 36962 36963// wrap an old-style stream as the async data source. 36964// This is *not* part of the readable stream interface. 36965// It is an ugly unfortunate mess of history. 36966Readable.prototype.wrap = function (stream) { 36967 var _this = this; 36968 36969 var state = this._readableState; 36970 var paused = false; 36971 36972 stream.on('end', function () { 36973 debug('wrapped end'); 36974 if (state.decoder && !state.ended) { 36975 var chunk = state.decoder.end(); 36976 if (chunk && chunk.length) _this.push(chunk); 36977 } 36978 36979 _this.push(null); 36980 }); 36981 36982 stream.on('data', function (chunk) { 36983 debug('wrapped data'); 36984 if (state.decoder) chunk = state.decoder.write(chunk); 36985 36986 // don't skip over falsy values in objectMode 36987 if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; 36988 36989 var ret = _this.push(chunk); 36990 if (!ret) { 36991 paused = true; 36992 stream.pause(); 36993 } 36994 }); 36995 36996 // proxy all the other methods. 36997 // important when wrapping filters and duplexes. 36998 for (var i in stream) { 36999 if (this[i] === undefined && typeof stream[i] === 'function') { 37000 this[i] = function (method) { 37001 return function () { 37002 return stream[method].apply(stream, arguments); 37003 }; 37004 }(i); 37005 } 37006 } 37007 37008 // proxy certain important events. 37009 for (var n = 0; n < kProxyEvents.length; n++) { 37010 stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); 37011 } 37012 37013 // when we try to consume some more bytes, simply unpause the 37014 // underlying stream. 37015 this._read = function (n) { 37016 debug('wrapped _read', n); 37017 if (paused) { 37018 paused = false; 37019 stream.resume(); 37020 } 37021 }; 37022 37023 return this; 37024}; 37025 37026Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { 37027 // making it explicit this property is not enumerable 37028 // because otherwise some prototype manipulation in 37029 // userland will fail 37030 enumerable: false, 37031 get: function () { 37032 return this._readableState.highWaterMark; 37033 } 37034}); 37035 37036// exposed for testing purposes only. 37037Readable._fromList = fromList; 37038 37039// Pluck off n bytes from an array of buffers. 37040// Length is the combined lengths of all the buffers in the list. 37041// This function is designed to be inlinable, so please take care when making 37042// changes to the function body. 37043function fromList(n, state) { 37044 // nothing buffered 37045 if (state.length === 0) return null; 37046 37047 var ret; 37048 if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { 37049 // read it all, truncate the list 37050 if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); 37051 state.buffer.clear(); 37052 } else { 37053 // read part of list 37054 ret = fromListPartial(n, state.buffer, state.decoder); 37055 } 37056 37057 return ret; 37058} 37059 37060// Extracts only enough buffered data to satisfy the amount requested. 37061// This function is designed to be inlinable, so please take care when making 37062// changes to the function body. 37063function fromListPartial(n, list, hasStrings) { 37064 var ret; 37065 if (n < list.head.data.length) { 37066 // slice is the same for buffers and strings 37067 ret = list.head.data.slice(0, n); 37068 list.head.data = list.head.data.slice(n); 37069 } else if (n === list.head.data.length) { 37070 // first chunk is a perfect match 37071 ret = list.shift(); 37072 } else { 37073 // result spans more than one buffer 37074 ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); 37075 } 37076 return ret; 37077} 37078 37079// Copies a specified amount of characters from the list of buffered data 37080// chunks. 37081// This function is designed to be inlinable, so please take care when making 37082// changes to the function body. 37083function copyFromBufferString(n, list) { 37084 var p = list.head; 37085 var c = 1; 37086 var ret = p.data; 37087 n -= ret.length; 37088 while (p = p.next) { 37089 var str = p.data; 37090 var nb = n > str.length ? str.length : n; 37091 if (nb === str.length) ret += str;else ret += str.slice(0, n); 37092 n -= nb; 37093 if (n === 0) { 37094 if (nb === str.length) { 37095 ++c; 37096 if (p.next) list.head = p.next;else list.head = list.tail = null; 37097 } else { 37098 list.head = p; 37099 p.data = str.slice(nb); 37100 } 37101 break; 37102 } 37103 ++c; 37104 } 37105 list.length -= c; 37106 return ret; 37107} 37108 37109// Copies a specified amount of bytes from the list of buffered data chunks. 37110// This function is designed to be inlinable, so please take care when making 37111// changes to the function body. 37112function copyFromBuffer(n, list) { 37113 var ret = Buffer.allocUnsafe(n); 37114 var p = list.head; 37115 var c = 1; 37116 p.data.copy(ret); 37117 n -= p.data.length; 37118 while (p = p.next) { 37119 var buf = p.data; 37120 var nb = n > buf.length ? buf.length : n; 37121 buf.copy(ret, ret.length - n, 0, nb); 37122 n -= nb; 37123 if (n === 0) { 37124 if (nb === buf.length) { 37125 ++c; 37126 if (p.next) list.head = p.next;else list.head = list.tail = null; 37127 } else { 37128 list.head = p; 37129 p.data = buf.slice(nb); 37130 } 37131 break; 37132 } 37133 ++c; 37134 } 37135 list.length -= c; 37136 return ret; 37137} 37138 37139function endReadable(stream) { 37140 var state = stream._readableState; 37141 37142 // If we get here before consuming all the bytes, then that is a 37143 // bug in node. Should never happen. 37144 if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); 37145 37146 if (!state.endEmitted) { 37147 state.ended = true; 37148 pna.nextTick(endReadableNT, state, stream); 37149 } 37150} 37151 37152function endReadableNT(state, stream) { 37153 // Check that we didn't get one last unshift. 37154 if (!state.endEmitted && state.length === 0) { 37155 state.endEmitted = true; 37156 stream.readable = false; 37157 stream.emit('end'); 37158 } 37159} 37160 37161function indexOf(xs, x) { 37162 for (var i = 0, l = xs.length; i < l; i++) { 37163 if (xs[i] === x) return i; 37164 } 37165 return -1; 37166}
vendor: 2,430 bytes, lines 37167-37271
37167/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34), __webpack_require__(57))) 37168 37169/***/ }), 37170/* 733 */ 37171/***/ (function(module, exports) { 37172 37173var toString = {}.toString; 37174 37175module.exports = Array.isArray || function (arr) { 37176 return toString.call(arr) == '[object Array]'; 37177}; 37178 37179 37180/***/ }), 37181/* 734 */ 37182/***/ (function(module, exports, __webpack_require__) { 37183 37184module.exports = __webpack_require__(469).EventEmitter; 37185 37186 37187/***/ }), 37188/* 735 */ 37189/***/ (function(module, exports, __webpack_require__) { 37190 37191"use strict"; 37192 37193 37194/*<replacement>*/ 37195 37196var pna = __webpack_require__(394); 37197/*</replacement>*/ 37198 37199// undocumented cb() API, needed for core, not for public API 37200function destroy(err, cb) { 37201 var _this = this; 37202 37203 var readableDestroyed = this._readableState && this._readableState.destroyed; 37204 var writableDestroyed = this._writableState && this._writableState.destroyed; 37205 37206 if (readableDestroyed || writableDestroyed) { 37207 if (cb) { 37208 cb(err); 37209 } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { 37210 pna.nextTick(emitErrorNT, this, err); 37211 } 37212 return this; 37213 } 37214 37215 // we set destroyed to true before firing error callbacks in order 37216 // to make it re-entrance safe in case destroy() is called within callbacks 37217 37218 if (this._readableState) { 37219 this._readableState.destroyed = true; 37220 } 37221 37222 // if this is a duplex stream mark the writable part as destroyed as well 37223 if (this._writableState) { 37224 this._writableState.destroyed = true; 37225 } 37226 37227 this._destroy(err || null, function (err) { 37228 if (!cb && err) { 37229 pna.nextTick(emitErrorNT, _this, err); 37230 if (_this._writableState) { 37231 _this._writableState.errorEmitted = true; 37232 } 37233 } else if (cb) { 37234 cb(err); 37235 } 37236 }); 37237 37238 return this; 37239} 37240 37241function undestroy() { 37242 if (this._readableState) { 37243 this._readableState.destroyed = false; 37244 this._readableState.reading = false; 37245 this._readableState.ended = false; 37246 this._readableState.endEmitted = false; 37247 } 37248 37249 if (this._writableState) { 37250 this._writableState.destroyed = false; 37251 this._writableState.ended = false; 37252 this._writableState.ending = false; 37253 this._writableState.finished = false; 37254 this._writableState.errorEmitted = false; 37255 } 37256} 37257 37258function emitErrorNT(self, err) { 37259 self.emit('error', err); 37260} 37261 37262module.exports = { 37263 destroy: destroy, 37264 undestroy: undestroy 37265}; 37266 37267/***/ }), 37268/* 736 */ 37269/***/ (function(module, exports, __webpack_require__) { 37270 37271"use strict";
vendor: 2,205 bytes, lines 37272-37338
37272// Copyright Joyent, Inc. and other Node contributors. 37273// 37274// Permission is hereby granted, free of charge, to any person obtaining a 37275// copy of this software and associated documentation files (the 37276// "Software"), to deal in the Software without restriction, including 37277// without limitation the rights to use, copy, modify, merge, publish, 37278// distribute, sublicense, and/or sell copies of the Software, and to permit 37279// persons to whom the Software is furnished to do so, subject to the 37280// following conditions: 37281// 37282// The above copyright notice and this permission notice shall be included 37283// in all copies or substantial portions of the Software. 37284// 37285// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 37286// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 37287// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 37288// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 37289// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 37290// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 37291// USE OR OTHER DEALINGS IN THE SOFTWARE. 37292 37293 37294 37295/*<replacement>*/ 37296 37297var Buffer = __webpack_require__(909).Buffer; 37298/*</replacement>*/ 37299 37300var isEncoding = Buffer.isEncoding || function (encoding) { 37301 encoding = '' + encoding; 37302 switch (encoding && encoding.toLowerCase()) { 37303 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': 37304 return true; 37305 default: 37306 return false; 37307 } 37308}; 37309 37310function _normalizeEncoding(enc) { 37311 if (!enc) return 'utf8'; 37312 var retried; 37313 while (true) { 37314 switch (enc) { 37315 case 'utf8': 37316 case 'utf-8': 37317 return 'utf8'; 37318 case 'ucs2': 37319 case 'ucs-2': 37320 case 'utf16le': 37321 case 'utf-16le': 37322 return 'utf16le'; 37323 case 'latin1': 37324 case 'binary': 37325 return 'latin1'; 37326 case 'base64': 37327 case 'ascii': 37328 case 'hex': 37329 return enc; 37330 default: 37331 if (retried) return; // undefined 37332 enc = ('' + enc).toLowerCase(); 37333 retried = true; 37334 } 37335 } 37336}; 37337 37338// Do not cache `Buffer.isEncoding` when checking encoding names as some
vendor: 7,342 bytes, lines 37339-37573
37339// modules monkey-patch it to support additional encodings 37340function normalizeEncoding(enc) { 37341 var nenc = _normalizeEncoding(enc); 37342 if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); 37343 return nenc || enc; 37344} 37345 37346// StringDecoder provides an interface for efficiently splitting a series of 37347// buffers into a series of JS strings without breaking apart multi-byte 37348// characters. 37349exports.StringDecoder = StringDecoder; 37350function StringDecoder(encoding) { 37351 this.encoding = normalizeEncoding(encoding); 37352 var nb; 37353 switch (this.encoding) { 37354 case 'utf16le': 37355 this.text = utf16Text; 37356 this.end = utf16End; 37357 nb = 4; 37358 break; 37359 case 'utf8': 37360 this.fillLast = utf8FillLast; 37361 nb = 4; 37362 break; 37363 case 'base64': 37364 this.text = base64Text; 37365 this.end = base64End; 37366 nb = 3; 37367 break; 37368 default: 37369 this.write = simpleWrite; 37370 this.end = simpleEnd; 37371 return; 37372 } 37373 this.lastNeed = 0; 37374 this.lastTotal = 0; 37375 this.lastChar = Buffer.allocUnsafe(nb); 37376} 37377 37378StringDecoder.prototype.write = function (buf) { 37379 if (buf.length === 0) return ''; 37380 var r; 37381 var i; 37382 if (this.lastNeed) { 37383 r = this.fillLast(buf); 37384 if (r === undefined) return ''; 37385 i = this.lastNeed; 37386 this.lastNeed = 0; 37387 } else { 37388 i = 0; 37389 } 37390 if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); 37391 return r || ''; 37392}; 37393 37394StringDecoder.prototype.end = utf8End; 37395 37396// Returns only complete characters in a Buffer 37397StringDecoder.prototype.text = utf8Text; 37398 37399// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer 37400StringDecoder.prototype.fillLast = function (buf) { 37401 if (this.lastNeed <= buf.length) { 37402 buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); 37403 return this.lastChar.toString(this.encoding, 0, this.lastTotal); 37404 } 37405 buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); 37406 this.lastNeed -= buf.length; 37407}; 37408 37409// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a 37410// continuation byte. If an invalid byte is detected, -2 is returned. 37411function utf8CheckByte(byte) { 37412 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; 37413 return byte >> 6 === 0x02 ? -1 : -2; 37414} 37415 37416// Checks at most 3 bytes at the end of a Buffer in order to detect an 37417// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) 37418// needed to complete the UTF-8 character (if applicable) are returned. 37419function utf8CheckIncomplete(self, buf, i) { 37420 var j = buf.length - 1; 37421 if (j < i) return 0; 37422 var nb = utf8CheckByte(buf[j]); 37423 if (nb >= 0) { 37424 if (nb > 0) self.lastNeed = nb - 1; 37425 return nb; 37426 } 37427 if (--j < i || nb === -2) return 0; 37428 nb = utf8CheckByte(buf[j]); 37429 if (nb >= 0) { 37430 if (nb > 0) self.lastNeed = nb - 2; 37431 return nb; 37432 } 37433 if (--j < i || nb === -2) return 0; 37434 nb = utf8CheckByte(buf[j]); 37435 if (nb >= 0) { 37436 if (nb > 0) { 37437 if (nb === 2) nb = 0;else self.lastNeed = nb - 3; 37438 } 37439 return nb; 37440 } 37441 return 0; 37442} 37443 37444// Validates as many continuation bytes for a multi-byte UTF-8 character as 37445// needed or are available. If we see a non-continuation byte where we expect 37446// one, we "replace" the validated continuation bytes we've seen so far with 37447// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding 37448// behavior. The continuation byte check is included three times in the case 37449// where all of the continuation bytes for a character exist in the same buffer. 37450// It is also done this way as a slight performance increase instead of using a 37451// loop. 37452function utf8CheckExtraBytes(self, buf, p) { 37453 if ((buf[0] & 0xC0) !== 0x80) { 37454 self.lastNeed = 0; 37455 return '\ufffd'; 37456 } 37457 if (self.lastNeed > 1 && buf.length > 1) { 37458 if ((buf[1] & 0xC0) !== 0x80) { 37459 self.lastNeed = 1; 37460 return '\ufffd'; 37461 } 37462 if (self.lastNeed > 2 && buf.length > 2) { 37463 if ((buf[2] & 0xC0) !== 0x80) { 37464 self.lastNeed = 2; 37465 return '\ufffd'; 37466 } 37467 } 37468 } 37469} 37470 37471// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. 37472function utf8FillLast(buf) { 37473 var p = this.lastTotal - this.lastNeed; 37474 var r = utf8CheckExtraBytes(this, buf, p); 37475 if (r !== undefined) return r; 37476 if (this.lastNeed <= buf.length) { 37477 buf.copy(this.lastChar, p, 0, this.lastNeed); 37478 return this.lastChar.toString(this.encoding, 0, this.lastTotal); 37479 } 37480 buf.copy(this.lastChar, p, 0, buf.length); 37481 this.lastNeed -= buf.length; 37482} 37483 37484// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a 37485// partial character, the character's bytes are buffered until the required 37486// number of bytes are available. 37487function utf8Text(buf, i) { 37488 var total = utf8CheckIncomplete(this, buf, i); 37489 if (!this.lastNeed) return buf.toString('utf8', i); 37490 this.lastTotal = total; 37491 var end = buf.length - (total - this.lastNeed); 37492 buf.copy(this.lastChar, 0, end); 37493 return buf.toString('utf8', i, end); 37494} 37495 37496// For UTF-8, a replacement character is added when ending on a partial 37497// character. 37498function utf8End(buf) { 37499 var r = buf && buf.length ? this.write(buf) : ''; 37500 if (this.lastNeed) return r + '\ufffd'; 37501 return r; 37502} 37503 37504// UTF-16LE typically needs two bytes per character, but even if we have an even 37505// number of bytes available, we need to check if we end on a leading/high 37506// surrogate. In that case, we need to wait for the next two bytes in order to 37507// decode the last character properly. 37508function utf16Text(buf, i) { 37509 if ((buf.length - i) % 2 === 0) { 37510 var r = buf.toString('utf16le', i); 37511 if (r) { 37512 var c = r.charCodeAt(r.length - 1); 37513 if (c >= 0xD800 && c <= 0xDBFF) { 37514 this.lastNeed = 2; 37515 this.lastTotal = 4; 37516 this.lastChar[0] = buf[buf.length - 2]; 37517 this.lastChar[1] = buf[buf.length - 1]; 37518 return r.slice(0, -1); 37519 } 37520 } 37521 return r; 37522 } 37523 this.lastNeed = 1; 37524 this.lastTotal = 2; 37525 this.lastChar[0] = buf[buf.length - 1]; 37526 return buf.toString('utf16le', i, buf.length - 1); 37527} 37528 37529// For UTF-16LE we do not explicitly append special replacement characters if we 37530// end on a partial character, we simply let v8 handle that. 37531function utf16End(buf) { 37532 var r = buf && buf.length ? this.write(buf) : ''; 37533 if (this.lastNeed) { 37534 var end = this.lastTotal - this.lastNeed; 37535 return r + this.lastChar.toString('utf16le', 0, end); 37536 } 37537 return r; 37538} 37539 37540function base64Text(buf, i) { 37541 var n = (buf.length - i) % 3; 37542 if (n === 0) return buf.toString('base64', i); 37543 this.lastNeed = 3 - n; 37544 this.lastTotal = 3; 37545 if (n === 1) { 37546 this.lastChar[0] = buf[buf.length - 1]; 37547 } else { 37548 this.lastChar[0] = buf[buf.length - 2]; 37549 this.lastChar[1] = buf[buf.length - 1]; 37550 } 37551 return buf.toString('base64', i, buf.length - n); 37552} 37553 37554function base64End(buf) { 37555 var r = buf && buf.length ? this.write(buf) : ''; 37556 if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); 37557 return r; 37558} 37559 37560// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) 37561function simpleWrite(buf) { 37562 return buf.toString(this.encoding); 37563} 37564 37565function simpleEnd(buf) { 37566 return buf && buf.length ? this.write(buf) : ''; 37567} 37568 37569/***/ }), 37570/* 737 */ 37571/***/ (function(module, exports, __webpack_require__) { 37572 37573"use strict";
37574// Copyright Joyent, Inc. and other Node contributors. 37575// 37576// Permission is hereby granted, free of charge, to any person obtaining a 37577// copy of this software and associated documentation files (the 37578// "Software"), to deal in the Software without restriction, including 37579// without limitation the rights to use, copy, modify, merge, publish, 37580// distribute, sublicense, and/or sell copies of the Software, and to permit 37581// persons to whom the Software is furnished to do so, subject to the 37582// following conditions: 37583// 37584// The above copyright notice and this permission notice shall be included 37585// in all copies or substantial portions of the Software. 37586// 37587// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 37588// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 37589// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 37590// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 37591// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 37592// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 37593// USE OR OTHER DEALINGS IN THE SOFTWARE. 37594 37595// a transform stream is a readable/writable stream where you do 37596// something with the data. Sometimes it's called a "filter", 37597// but that's not a great name for it, since that implies a thing where 37598// some bits pass through, and others are simply ignored. (That would 37599// be a valid example of a transform, of course.) 37600// 37601// While the output is causally related to the input, it's not a 37602// necessarily symmetric or synchronous transformation. For example, 37603// a zlib stream might take multiple plain-text writes(), and then 37604// emit a single compressed chunk some time in the future. 37605// 37606// Here's how this works: 37607// 37608// The Transform stream has all the aspects of the readable and writable 37609// stream classes. When you write(chunk), that calls _write(chunk,cb) 37610// internally, and returns false if there's a lot of pending writes 37611// buffered up. When you call read(), that calls _read(n) until 37612// there's enough pending readable data buffered up. 37613// 37614// In a transform stream, the written data is placed in a buffer. When 37615// _read(n) is called, it transforms the queued up data, calling the 37616// buffered _write cb's as it consumes chunks. If consuming a single 37617// written chunk would result in multiple output chunks, then the first 37618// outputted bit calls the readcb, and subsequent chunks just go into 37619// the read buffer, and will cause it to emit 'readable' if necessary. 37620// 37621// This way, back-pressure is actually determined by the reading side, 37622// since _read has to be called to start processing a new chunk. However, 37623// a pathological inflate type of transform can cause excessive buffering 37624// here. For example, imagine a stream where every byte of input is 37625// interpreted as an integer from 0-255, and then results in that many 37626// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in 37627// 1kb of data being output. In this case, you could write a very small 37628// amount of input, and end up with a very large amount of output. In 37629// such a pathological inflating mechanism, there'd be no way to tell 37630// the system to stop doing the transform. A single 4MB write could 37631// cause the system to run out of memory. 37632// 37633// However, even in such a pathological case, only a single written chunk 37634// would be consumed, and then the rest would wait (un-transformed) until 37635// the results of the previous transformed chunk were consumed. 37636 37637 37638 37639module.exports = Transform; 37640 37641var Duplex = __webpack_require__(240); 37642 37643/*<replacement>*/ 37644var util = Object.create(__webpack_require__(314)); 37645util.inherits = __webpack_require__(200); 37646/*</replacement>*/ 37647 37648util.inherits(Transform, Duplex); 37649 37650function afterTransform(er, data) { 37651 var ts = this._transformState; 37652 ts.transforming = false; 37653 37654 var cb = ts.writecb; 37655 37656 if (!cb) { 37657 return this.emit('error', new Error('write callback called multiple times')); 37658 } 37659 37660 ts.writechunk = null; 37661 ts.writecb = null; 37662 37663 if (data != null) // single equals check for both `null` and `undefined` 37664 this.push(data); 37665 37666 cb(er); 37667 37668 var rs = this._readableState; 37669 rs.reading = false;
vendor: 4,781 bytes, lines 37670-37829
37670 if (rs.needReadable || rs.length < rs.highWaterMark) { 37671 this._read(rs.highWaterMark); 37672 } 37673} 37674 37675function Transform(options) { 37676 if (!(this instanceof Transform)) return new Transform(options); 37677 37678 Duplex.call(this, options); 37679 37680 this._transformState = { 37681 afterTransform: afterTransform.bind(this), 37682 needTransform: false, 37683 transforming: false, 37684 writecb: null, 37685 writechunk: null, 37686 writeencoding: null 37687 }; 37688 37689 // start out asking for a readable event once data is transformed. 37690 this._readableState.needReadable = true; 37691 37692 // we have implemented the _read method, and done the other things 37693 // that Readable wants before the first _read call, so unset the 37694 // sync guard flag. 37695 this._readableState.sync = false; 37696 37697 if (options) { 37698 if (typeof options.transform === 'function') this._transform = options.transform; 37699 37700 if (typeof options.flush === 'function') this._flush = options.flush; 37701 } 37702 37703 // When the writable side finishes, then flush out anything remaining. 37704 this.on('prefinish', prefinish); 37705} 37706 37707function prefinish() { 37708 var _this = this; 37709 37710 if (typeof this._flush === 'function') { 37711 this._flush(function (er, data) { 37712 done(_this, er, data); 37713 }); 37714 } else { 37715 done(this, null, null); 37716 } 37717} 37718 37719Transform.prototype.push = function (chunk, encoding) { 37720 this._transformState.needTransform = false; 37721 return Duplex.prototype.push.call(this, chunk, encoding); 37722}; 37723 37724// This is the part where you do stuff! 37725// override this function in implementation classes. 37726// 'chunk' is an input chunk. 37727// 37728// Call `push(newChunk)` to pass along transformed output 37729// to the readable side. You may call 'push' zero or more times. 37730// 37731// Call `cb(err)` when you are done with this chunk. If you pass 37732// an error, then that'll put the hurt on the whole operation. If you 37733// never call cb(), then you'll never get another chunk. 37734Transform.prototype._transform = function (chunk, encoding, cb) { 37735 throw new Error('_transform() is not implemented'); 37736}; 37737 37738Transform.prototype._write = function (chunk, encoding, cb) { 37739 var ts = this._transformState; 37740 ts.writecb = cb; 37741 ts.writechunk = chunk; 37742 ts.writeencoding = encoding; 37743 if (!ts.transforming) { 37744 var rs = this._readableState; 37745 if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); 37746 } 37747}; 37748 37749// Doesn't matter what the args are here. 37750// _transform does all the work. 37751// That we got here means that the readable side wants more data. 37752Transform.prototype._read = function (n) { 37753 var ts = this._transformState; 37754 37755 if (ts.writechunk !== null && ts.writecb && !ts.transforming) { 37756 ts.transforming = true; 37757 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); 37758 } else { 37759 // mark that we need a transform, so that any data that comes in 37760 // will get processed, now that we've asked for it. 37761 ts.needTransform = true; 37762 } 37763}; 37764 37765Transform.prototype._destroy = function (err, cb) { 37766 var _this2 = this; 37767 37768 Duplex.prototype._destroy.call(this, err, function (err2) { 37769 cb(err2); 37770 _this2.emit('close'); 37771 }); 37772}; 37773 37774function done(stream, er, data) { 37775 if (er) return stream.emit('error', er); 37776 37777 if (data != null) // single equals check for both `null` and `undefined` 37778 stream.push(data); 37779 37780 // if there's nothing in the write buffer, then that means 37781 // that nothing more will ever be provided 37782 if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0'); 37783 37784 if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming'); 37785 37786 return stream.push(null); 37787} 37788 37789/***/ }), 37790/* 738 */ 37791/***/ (function(module, exports, __webpack_require__) { 37792 37793/* WEBPACK VAR INJECTION */(function(global) {exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream) 37794 37795exports.writableStream = isFunction(global.WritableStream) 37796 37797exports.abortController = isFunction(global.AbortController) 37798 37799exports.blobConstructor = false 37800try { 37801 new Blob([new ArrayBuffer(1)]) 37802 exports.blobConstructor = true 37803} catch (e) {} 37804 37805// The xhr request to example.com may violate some restrictive CSP configurations, 37806// so if we're running in a browser that supports `fetch`, avoid calling getXHR() 37807// and assume support for certain features below. 37808var xhr 37809function getXHR () { 37810 // Cache the xhr value 37811 if (xhr !== undefined) return xhr 37812 37813 if (global.XMLHttpRequest) { 37814 xhr = new global.XMLHttpRequest() 37815 // If XDomainRequest is available (ie only, where xhr might not work 37816 // cross domain), use the page location. Otherwise use example.com 37817 // Note: this doesn't actually make an http request. 37818 try { 37819 xhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com') 37820 } catch(e) { 37821 xhr = null 37822 } 37823 } else { 37824 // Service workers don't have XHR 37825 xhr = null 37826 } 37827 return xhr 37828} 37829
37830function checkTypeSupport (type) { 37831 var xhr = getXHR() 37832 if (!xhr) return false 37833 try { 37834 xhr.responseType = type 37835 return xhr.responseType === type 37836 } catch (e) {} 37837 return false 37838} 37839 37840// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'. 37841// Safari 7.1 appears to have fixed this bug. 37842var haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined' 37843var haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice) 37844 37845// If fetch is supported, then arraybuffer will be supported too. Skip calling 37846// checkTypeSupport(), since that calls getXHR(). 37847exports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer')) 37848 37849// These next two tests unavoidably show warnings in Chrome. Since fetch will always 37850// be used if it's available, just return false for these to avoid the warnings. 37851exports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream') 37852exports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer && 37853 checkTypeSupport('moz-chunked-arraybuffer') 37854 37855// If fetch is supported, then overrideMimeType will be supported too. Skip calling 37856// getXHR(). 37857exports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false) 37858 37859exports.vbArray = isFunction(global.VBArray) 37860 37861function isFunction (value) { 37862 return typeof value === 'function' 37863} 37864 37865xhr = null // Help gc 37866 37867/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 37868 37869/***/ }), 37870/* 739 */ 37871/***/ (function(module, exports, __webpack_require__) { 37872 37873/* WEBPACK VAR INJECTION */(function(process, Buffer, global) {var capability = __webpack_require__(738) 37874var inherits = __webpack_require__(200) 37875var stream = __webpack_require__(312) 37876
37877var rStates = exports.readyStates = { 37878 UNSENT: 0, 37879 OPENED: 1, 37880 HEADERS_RECEIVED: 2, 37881 LOADING: 3, 37882 DONE: 4 37883} 37884 37885var IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) { 37886 var self = this 37887 stream.Readable.call(self) 37888 37889 self._mode = mode 37890 self.headers = {} 37891 self.rawHeaders = [] 37892 self.trailers = {} 37893 self.rawTrailers = [] 37894 37895 // Fake the 'close' event, but only once 'end' fires 37896 self.on('end', function () { 37897 // The nextTick is necessary to prevent the 'request' module from causing an infinite loop 37898 process.nextTick(function () { 37899 self.emit('close') 37900 }) 37901 }) 37902 37903 if (mode === 'fetch') { 37904 self._fetchResponse = response 37905 37906 self.url = response.url 37907 self.statusCode = response.status 37908 self.statusMessage = response.statusText 37909 37910 response.headers.forEach(function (header, key){ 37911 self.headers[key.toLowerCase()] = header 37912 self.rawHeaders.push(key, header) 37913 }) 37914 37915 if (capability.writableStream) { 37916 var writable = new WritableStream({ 37917 write: function (chunk) { 37918 return new Promise(function (resolve, reject) { 37919 if (self._destroyed) { 37920 reject() 37921 } else if(self.push(new Buffer(chunk))) { 37922 resolve() 37923 } else { 37924 self._resumeFetch = resolve 37925 } 37926 }) 37927 }, 37928 close: function () { 37929 global.clearTimeout(fetchTimer) 37930 if (!self._destroyed) 37931 self.push(null) 37932 }, 37933 abort: function (err) { 37934 if (!self._destroyed) 37935 self.emit('error', err) 37936 } 37937 }) 37938 37939 try { 37940 response.body.pipeTo(writable).catch(function (err) { 37941 global.clearTimeout(fetchTimer) 37942 if (!self._destroyed) 37943 self.emit('error', err) 37944 }) 37945 return 37946 } catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this 37947 } 37948 // fallback for when writableStream or pipeTo aren't available 37949 var reader = response.body.getReader() 37950 function read () { 37951 reader.read().then(function (result) { 37952 if (self._destroyed) 37953 return 37954 if (result.done) { 37955 global.clearTimeout(fetchTimer) 37956 self.push(null) 37957 return 37958 } 37959 self.push(new Buffer(result.value)) 37960 read() 37961 }).catch(function (err) { 37962 global.clearTimeout(fetchTimer) 37963 if (!self._destroyed) 37964 self.emit('error', err) 37965 }) 37966 } 37967 read() 37968 } else { 37969 self._xhr = xhr 37970 self._pos = 0 37971 37972 self.url = xhr.responseURL 37973 self.statusCode = xhr.status 37974 self.statusMessage = xhr.statusText 37975 var headers = xhr.getAllResponseHeaders().split(/\r?\n/) 37976 headers.forEach(function (header) { 37977 var matches = header.match(/^([^:]+):\s*(.*)/) 37978 if (matches) { 37979 var key = matches[1].toLowerCase() 37980 if (key === 'set-cookie') { 37981 if (self.headers[key] === undefined) { 37982 self.headers[key] = [] 37983 } 37984 self.headers[key].push(matches[2]) 37985 } else if (self.headers[key] !== undefined) { 37986 self.headers[key] += ', ' + matches[2] 37987 } else { 37988 self.headers[key] = matches[2] 37989 } 37990 self.rawHeaders.push(matches[1], matches[2]) 37991 } 37992 }) 37993 37994 self._charset = 'x-user-defined' 37995 if (!capability.overrideMimeType) { 37996 var mimeType = self.rawHeaders['mime-type'] 37997 if (mimeType) { 37998 var charsetMatch = mimeType.match(/;\s*charset=([^;])(;|$)/) 37999 if (charsetMatch) { 38000 self._charset = charsetMatch[1].toLowerCase() 38001 } 38002 } 38003 if (!self._charset) 38004 self._charset = 'utf-8' // best guess 38005 } 38006 } 38007} 38008 38009inherits(IncomingMessage, stream.Readable) 38010 38011IncomingMessage.prototype._read = function () { 38012 var self = this 38013 38014 var resolve = self._resumeFetch 38015 if (resolve) { 38016 self._resumeFetch = null 38017 resolve() 38018 } 38019} 38020 38021IncomingMessage.prototype._onXHRProgress = function () { 38022 var self = this 38023 38024 var xhr = self._xhr 38025 38026 var response = null 38027 switch (self._mode) { 38028 case 'text:vbarray': // For IE9 38029 if (xhr.readyState !== rStates.DONE) 38030 break 38031 try { 38032 // This fails in IE8 38033 response = new global.VBArray(xhr.responseBody).toArray() 38034 } catch (e) {} 38035 if (response !== null) { 38036 self.push(new Buffer(response)) 38037 break 38038 } 38039 // Falls through in IE8 38040 case 'text': 38041 try { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4 38042 response = xhr.responseText 38043 } catch (e) { 38044 self._mode = 'text:vbarray' 38045 break 38046 } 38047 if (response.length > self._pos) { 38048 var newData = response.substr(self._pos)
38049 if (self._charset === 'x-user-defined') { 38050 var buffer = new Buffer(newData.length) 38051 for (var i = 0; i < newData.length; i++) 38052 buffer[i] = newData.charCodeAt(i) & 0xff 38053 38054 self.push(buffer) 38055 } else { 38056 self.push(newData, self._charset) 38057 } 38058 self._pos = response.length 38059 } 38060 break 38061 case 'arraybuffer': 38062 if (xhr.readyState !== rStates.DONE || !xhr.response) 38063 break 38064 response = xhr.response 38065 self.push(new Buffer(new Uint8Array(response))) 38066 break 38067 case 'moz-chunked-arraybuffer': // take whole 38068 response = xhr.response 38069 if (xhr.readyState !== rStates.LOADING || !response) 38070 break 38071 self.push(new Buffer(new Uint8Array(response))) 38072 break 38073 case 'ms-stream': 38074 response = xhr.response 38075 if (xhr.readyState !== rStates.LOADING) 38076 break 38077 var reader = new global.MSStreamReader() 38078 reader.onprogress = function () { 38079 if (reader.result.byteLength > self._pos) { 38080 self.push(new Buffer(new Uint8Array(reader.result.slice(self._pos)))) 38081 self._pos = reader.result.byteLength 38082 } 38083 } 38084 reader.onload = function () { 38085 self.push(null) 38086 } 38087 // reader.onerror = ??? // TODO: this 38088 reader.readAsArrayBuffer(response) 38089 break 38090 } 38091 38092 // The ms-stream case handles end separately in reader.onload() 38093 if (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') { 38094 self.push(null) 38095 } 38096} 38097 38098/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57), __webpack_require__(113).Buffer, __webpack_require__(34))) 38099 38100/***/ }), 38101/* 740 */ 38102/***/ (function(module, exports, __webpack_require__) { 38103 38104"use strict"; 38105/* WEBPACK VAR INJECTION */(function(global) { 38106 38107var objectAssign = __webpack_require__(930); 38108 38109// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js 38110// original notice: 38111 38112/*! 38113 * The buffer module from node.js, for the browser. 38114 * 38115 * @author Feross Aboukhadijeh <[email protected]> <http://feross.org> 38116 * @license MIT 38117 */ 38118function compare(a, b) { 38119 if (a === b) { 38120 return 0; 38121 } 38122 38123 var x = a.length; 38124 var y = b.length; 38125 38126 for (var i = 0, len = Math.min(x, y); i < len; ++i) { 38127 if (a[i] !== b[i]) { 38128 x = a[i]; 38129 y = b[i]; 38130 break; 38131 } 38132 } 38133 38134 if (x < y) { 38135 return -1; 38136 } 38137 if (y < x) { 38138 return 1; 38139 } 38140 return 0; 38141} 38142function isBuffer(b) { 38143 if (global.Buffer && typeof global.Buffer.isBuffer === 'function') { 38144 return global.Buffer.isBuffer(b); 38145 } 38146 return !!(b != null && b._isBuffer); 38147} 38148 38149// based on node assert, original notice: 38150// NB: The URL to the CommonJS spec is kept just for tradition. 38151// node-assert has evolved a lot since then, both in API and behavior. 38152 38153// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 38154// 38155// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! 38156// 38157// Originally from narwhal.js (http://narwhaljs.org) 38158// Copyright (c) 2009 Thomas Robinson <280north.com> 38159// 38160// Permission is hereby granted, free of charge, to any person obtaining a copy 38161// of this software and associated documentation files (the 'Software'), to 38162// deal in the Software without restriction, including without limitation the 38163// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 38164// sell copies of the Software, and to permit persons to whom the Software is 38165// furnished to do so, subject to the following conditions: 38166// 38167// The above copyright notice and this permission notice shall be included in 38168// all copies or substantial portions of the Software. 38169// 38170// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 38171// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38172// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 38173// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 38174// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 38175// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 38176 38177var util = __webpack_require__(311); 38178var hasOwn = Object.prototype.hasOwnProperty; 38179var pSlice = Array.prototype.slice; 38180var functionsHaveNames = (function () { 38181 return function foo() {}.name === 'foo'; 38182}()); 38183function pToString (obj) { 38184 return Object.prototype.toString.call(obj); 38185} 38186function isView(arrbuf) { 38187 if (isBuffer(arrbuf)) { 38188 return false;
vendor: 13,065 bytes, lines 38189-38598
38189 } 38190 if (typeof global.ArrayBuffer !== 'function') { 38191 return false; 38192 } 38193 if (typeof ArrayBuffer.isView === 'function') { 38194 return ArrayBuffer.isView(arrbuf); 38195 } 38196 if (!arrbuf) { 38197 return false; 38198 } 38199 if (arrbuf instanceof DataView) { 38200 return true; 38201 } 38202 if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) { 38203 return true; 38204 } 38205 return false; 38206} 38207// 1. The assert module provides functions that throw 38208// AssertionError's when particular conditions are not met. The 38209// assert module must conform to the following interface. 38210 38211var assert = module.exports = ok; 38212 38213// 2. The AssertionError is defined in assert. 38214// new assert.AssertionError({ message: message, 38215// actual: actual, 38216// expected: expected }) 38217 38218var regex = /\s*function\s+([^\(\s]*)\s*/; 38219// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js 38220function getName(func) { 38221 if (!util.isFunction(func)) { 38222 return; 38223 } 38224 if (functionsHaveNames) { 38225 return func.name; 38226 } 38227 var str = func.toString(); 38228 var match = str.match(regex); 38229 return match && match[1]; 38230} 38231assert.AssertionError = function AssertionError(options) { 38232 this.name = 'AssertionError'; 38233 this.actual = options.actual; 38234 this.expected = options.expected; 38235 this.operator = options.operator; 38236 if (options.message) { 38237 this.message = options.message; 38238 this.generatedMessage = false; 38239 } else { 38240 this.message = getMessage(this); 38241 this.generatedMessage = true; 38242 } 38243 var stackStartFunction = options.stackStartFunction || fail; 38244 if (Error.captureStackTrace) { 38245 Error.captureStackTrace(this, stackStartFunction); 38246 } else { 38247 // non v8 browsers so we can have a stacktrace 38248 var err = new Error(); 38249 if (err.stack) { 38250 var out = err.stack; 38251 38252 // try to strip useless frames 38253 var fn_name = getName(stackStartFunction); 38254 var idx = out.indexOf('\n' + fn_name); 38255 if (idx >= 0) { 38256 // once we have located the function frame 38257 // we need to strip out everything before it (and its line) 38258 var next_line = out.indexOf('\n', idx + 1); 38259 out = out.substring(next_line + 1); 38260 } 38261 38262 this.stack = out; 38263 } 38264 } 38265}; 38266 38267// assert.AssertionError instanceof Error 38268util.inherits(assert.AssertionError, Error); 38269 38270function truncate(s, n) { 38271 if (typeof s === 'string') { 38272 return s.length < n ? s : s.slice(0, n); 38273 } else { 38274 return s; 38275 } 38276} 38277function inspect(something) { 38278 if (functionsHaveNames || !util.isFunction(something)) { 38279 return util.inspect(something); 38280 } 38281 var rawname = getName(something); 38282 var name = rawname ? ': ' + rawname : ''; 38283 return '[Function' + name + ']'; 38284} 38285function getMessage(self) { 38286 return truncate(inspect(self.actual), 128) + ' ' + 38287 self.operator + ' ' + 38288 truncate(inspect(self.expected), 128); 38289} 38290 38291// At present only the three keys mentioned above are used and 38292// understood by the spec. Implementations or sub modules can pass 38293// other keys to the AssertionError's constructor - they will be 38294// ignored. 38295 38296// 3. All of the following functions must throw an AssertionError 38297// when a corresponding condition is not met, with a message that 38298// may be undefined if not provided. All assertion methods provide 38299// both the actual and expected values to the assertion error for 38300// display purposes. 38301 38302function fail(actual, expected, message, operator, stackStartFunction) { 38303 throw new assert.AssertionError({ 38304 message: message, 38305 actual: actual, 38306 expected: expected, 38307 operator: operator, 38308 stackStartFunction: stackStartFunction 38309 }); 38310} 38311 38312// EXTENSION! allows for well behaved errors defined elsewhere. 38313assert.fail = fail; 38314 38315// 4. Pure assertion tests whether a value is truthy, as determined 38316// by !!guard. 38317// assert.ok(guard, message_opt); 38318// This statement is equivalent to assert.equal(true, !!guard, 38319// message_opt);. To test strictly for the value true, use 38320// assert.strictEqual(true, guard, message_opt);. 38321 38322function ok(value, message) { 38323 if (!value) fail(value, true, message, '==', assert.ok); 38324} 38325assert.ok = ok; 38326 38327// 5. The equality assertion tests shallow, coercive equality with 38328// ==. 38329// assert.equal(actual, expected, message_opt); 38330 38331assert.equal = function equal(actual, expected, message) { 38332 if (actual != expected) fail(actual, expected, message, '==', assert.equal); 38333}; 38334 38335// 6. The non-equality assertion tests for whether two objects are not equal 38336// with != assert.notEqual(actual, expected, message_opt); 38337 38338assert.notEqual = function notEqual(actual, expected, message) { 38339 if (actual == expected) { 38340 fail(actual, expected, message, '!=', assert.notEqual); 38341 } 38342}; 38343 38344// 7. The equivalence assertion tests a deep equality relation. 38345// assert.deepEqual(actual, expected, message_opt); 38346 38347assert.deepEqual = function deepEqual(actual, expected, message) { 38348 if (!_deepEqual(actual, expected, false)) { 38349 fail(actual, expected, message, 'deepEqual', assert.deepEqual); 38350 } 38351}; 38352 38353assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) { 38354 if (!_deepEqual(actual, expected, true)) { 38355 fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual); 38356 } 38357}; 38358 38359function _deepEqual(actual, expected, strict, memos) { 38360 // 7.1. All identical values are equivalent, as determined by ===. 38361 if (actual === expected) { 38362 return true; 38363 } else if (isBuffer(actual) && isBuffer(expected)) { 38364 return compare(actual, expected) === 0; 38365 38366 // 7.2. If the expected value is a Date object, the actual value is 38367 // equivalent if it is also a Date object that refers to the same time. 38368 } else if (util.isDate(actual) && util.isDate(expected)) { 38369 return actual.getTime() === expected.getTime(); 38370 38371 // 7.3 If the expected value is a RegExp object, the actual value is 38372 // equivalent if it is also a RegExp object with the same source and 38373 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). 38374 } else if (util.isRegExp(actual) && util.isRegExp(expected)) { 38375 return actual.source === expected.source && 38376 actual.global === expected.global && 38377 actual.multiline === expected.multiline && 38378 actual.lastIndex === expected.lastIndex && 38379 actual.ignoreCase === expected.ignoreCase; 38380 38381 // 7.4. Other pairs that do not both pass typeof value == 'object', 38382 // equivalence is determined by ==. 38383 } else if ((actual === null || typeof actual !== 'object') && 38384 (expected === null || typeof expected !== 'object')) { 38385 return strict ? actual === expected : actual == expected; 38386 38387 // If both values are instances of typed arrays, wrap their underlying 38388 // ArrayBuffers in a Buffer each to increase performance 38389 // This optimization requires the arrays to have the same type as checked by 38390 // Object.prototype.toString (aka pToString). Never perform binary 38391 // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their 38392 // bit patterns are not identical. 38393 } else if (isView(actual) && isView(expected) && 38394 pToString(actual) === pToString(expected) && 38395 !(actual instanceof Float32Array || 38396 actual instanceof Float64Array)) { 38397 return compare(new Uint8Array(actual.buffer), 38398 new Uint8Array(expected.buffer)) === 0; 38399 38400 // 7.5 For all other Object pairs, including Array objects, equivalence is 38401 // determined by having the same number of owned properties (as verified 38402 // with Object.prototype.hasOwnProperty.call), the same set of keys 38403 // (although not necessarily the same order), equivalent values for every 38404 // corresponding key, and an identical 'prototype' property. Note: this 38405 // accounts for both named and indexed properties on Arrays. 38406 } else if (isBuffer(actual) !== isBuffer(expected)) { 38407 return false; 38408 } else { 38409 memos = memos || {actual: [], expected: []}; 38410 38411 var actualIndex = memos.actual.indexOf(actual); 38412 if (actualIndex !== -1) { 38413 if (actualIndex === memos.expected.indexOf(expected)) { 38414 return true; 38415 } 38416 } 38417 38418 memos.actual.push(actual); 38419 memos.expected.push(expected); 38420 38421 return objEquiv(actual, expected, strict, memos); 38422 } 38423} 38424 38425function isArguments(object) { 38426 return Object.prototype.toString.call(object) == '[object Arguments]'; 38427} 38428 38429function objEquiv(a, b, strict, actualVisitedObjects) { 38430 if (a === null || a === undefined || b === null || b === undefined) 38431 return false; 38432 // if one is a primitive, the other must be same 38433 if (util.isPrimitive(a) || util.isPrimitive(b)) 38434 return a === b; 38435 if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) 38436 return false; 38437 var aIsArgs = isArguments(a); 38438 var bIsArgs = isArguments(b); 38439 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) 38440 return false; 38441 if (aIsArgs) { 38442 a = pSlice.call(a); 38443 b = pSlice.call(b); 38444 return _deepEqual(a, b, strict); 38445 } 38446 var ka = objectKeys(a); 38447 var kb = objectKeys(b); 38448 var key, i; 38449 // having the same number of owned properties (keys incorporates 38450 // hasOwnProperty) 38451 if (ka.length !== kb.length) 38452 return false; 38453 //the same set of keys (although not necessarily the same order), 38454 ka.sort(); 38455 kb.sort(); 38456 //~~~cheap key test 38457 for (i = ka.length - 1; i >= 0; i--) { 38458 if (ka[i] !== kb[i]) 38459 return false; 38460 } 38461 //equivalent values for every corresponding key, and 38462 //~~~possibly expensive deep test 38463 for (i = ka.length - 1; i >= 0; i--) { 38464 key = ka[i]; 38465 if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) 38466 return false; 38467 } 38468 return true; 38469} 38470 38471// 8. The non-equivalence assertion tests for any deep inequality. 38472// assert.notDeepEqual(actual, expected, message_opt); 38473 38474assert.notDeepEqual = function notDeepEqual(actual, expected, message) { 38475 if (_deepEqual(actual, expected, false)) { 38476 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); 38477 } 38478}; 38479 38480assert.notDeepStrictEqual = notDeepStrictEqual; 38481function notDeepStrictEqual(actual, expected, message) { 38482 if (_deepEqual(actual, expected, true)) { 38483 fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual); 38484 } 38485} 38486 38487 38488// 9. The strict equality assertion tests strict equality, as determined by ===. 38489// assert.strictEqual(actual, expected, message_opt); 38490 38491assert.strictEqual = function strictEqual(actual, expected, message) { 38492 if (actual !== expected) { 38493 fail(actual, expected, message, '===', assert.strictEqual); 38494 } 38495}; 38496 38497// 10. The strict non-equality assertion tests for strict inequality, as 38498// determined by !==. assert.notStrictEqual(actual, expected, message_opt); 38499 38500assert.notStrictEqual = function notStrictEqual(actual, expected, message) { 38501 if (actual === expected) { 38502 fail(actual, expected, message, '!==', assert.notStrictEqual); 38503 } 38504}; 38505 38506function expectedException(actual, expected) { 38507 if (!actual || !expected) { 38508 return false; 38509 } 38510 38511 if (Object.prototype.toString.call(expected) == '[object RegExp]') { 38512 return expected.test(actual); 38513 } 38514 38515 try { 38516 if (actual instanceof expected) { 38517 return true; 38518 } 38519 } catch (e) { 38520 // Ignore. The instanceof check doesn't work for arrow functions. 38521 } 38522 38523 if (Error.isPrototypeOf(expected)) { 38524 return false; 38525 } 38526 38527 return expected.call({}, actual) === true; 38528} 38529 38530function _tryBlock(block) { 38531 var error; 38532 try { 38533 block(); 38534 } catch (e) { 38535 error = e; 38536 } 38537 return error; 38538} 38539 38540function _throws(shouldThrow, block, expected, message) { 38541 var actual; 38542 38543 if (typeof block !== 'function') { 38544 throw new TypeError('"block" argument must be a function'); 38545 } 38546 38547 if (typeof expected === 'string') { 38548 message = expected; 38549 expected = null; 38550 } 38551 38552 actual = _tryBlock(block); 38553 38554 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + 38555 (message ? ' ' + message : '.'); 38556 38557 if (shouldThrow && !actual) { 38558 fail(actual, expected, 'Missing expected exception' + message); 38559 } 38560 38561 var userProvidedMessage = typeof message === 'string'; 38562 var isUnwantedException = !shouldThrow && util.isError(actual); 38563 var isUnexpectedException = !shouldThrow && actual && !expected; 38564 38565 if ((isUnwantedException && 38566 userProvidedMessage && 38567 expectedException(actual, expected)) || 38568 isUnexpectedException) { 38569 fail(actual, expected, 'Got unwanted exception' + message); 38570 } 38571 38572 if ((shouldThrow && actual && expected && 38573 !expectedException(actual, expected)) || (!shouldThrow && actual)) { 38574 throw actual; 38575 } 38576} 38577 38578// 11. Expected to throw an error: 38579// assert.throws(block, Error_opt, message_opt); 38580 38581assert.throws = function(block, /*optional*/error, /*optional*/message) { 38582 _throws(true, block, error, message); 38583}; 38584 38585// EXTENSION! This is annoying to write outside this module. 38586assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) { 38587 _throws(false, block, error, message); 38588}; 38589 38590assert.ifError = function(err) { if (err) throw err; }; 38591 38592// Expose a strict only variant of assert 38593function strict(value, message) { 38594 if (!value) fail(value, true, message, '==', strict); 38595} 38596assert.strict = objectAssign(strict, assert, { 38597 equal: assert.strictEqual, 38598 deepEqual: assert.deepStrictEqual,
38599 notEqual: assert.notStrictEqual, 38600 notDeepEqual: assert.notDeepStrictEqual 38601}); 38602assert.strict.strict = assert.strict; 38603 38604var objectKeys = Object.keys || function (obj) { 38605 var keys = []; 38606 for (var key in obj) { 38607 if (hasOwn.call(obj, key)) keys.push(key); 38608 } 38609 return keys; 38610}; 38611 38612/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 38613 38614/***/ }), 38615/* 741 */ 38616/***/ (function(module, exports, __webpack_require__) { 38617 38618"use strict"; 38619 38620 38621// Note: adler32 takes 12% for level 0 and 2% for level 6. 38622// It isn't worth it to make additional optimizations as in original. 38623// Small size is preferable. 38624 38625// (C) 1995-2013 Jean-loup Gailly and Mark Adler 38626// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 38627// 38628// This software is provided 'as-is', without any express or implied 38629// warranty. In no event will the authors be held liable for any damages 38630// arising from the use of this software. 38631// 38632// Permission is granted to anyone to use this software for any purpose, 38633// including commercial applications, and to alter it and redistribute it 38634// freely, subject to the following restrictions: 38635// 38636// 1. The origin of this software must not be misrepresented; you must not 38637// claim that you wrote the original software. If you use this software 38638// in a product, an acknowledgment in the product documentation would be 38639// appreciated but is not required. 38640// 2. Altered source versions must be plainly marked as such, and must not be 38641// misrepresented as being the original software. 38642// 3. This notice may not be removed or altered from any source distribution. 38643 38644function adler32(adler, buf, len, pos) { 38645 var s1 = (adler & 0xffff) |0, 38646 s2 = ((adler >>> 16) & 0xffff) |0, 38647 n = 0; 38648 38649 while (len !== 0) { 38650 // Set limit ~ twice less than 5552, to keep 38651 // s2 in 31-bits, because we force signed ints. 38652 // in other case %= will fail. 38653 n = len > 2000 ? 2000 : len; 38654 len -= n; 38655 38656 do { 38657 s1 = (s1 + buf[pos++]) |0; 38658 s2 = (s2 + s1) |0; 38659 } while (--n); 38660 38661 s1 %= 65521; 38662 s2 %= 65521; 38663 } 38664 38665 return (s1 | (s2 << 16)) |0; 38666} 38667 38668 38669module.exports = adler32; 38670 38671 38672/***/ }), 38673/* 742 */ 38674/***/ (function(module, exports, __webpack_require__) { 38675 38676"use strict"; 38677 38678 38679// Note: we can't get significant speed boost here. 38680// So write code to minimize size - no pregenerated tables 38681// and array tools dependencies. 38682 38683// (C) 1995-2013 Jean-loup Gailly and Mark Adler 38684// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 38685// 38686// This software is provided 'as-is', without any express or implied 38687// warranty. In no event will the authors be held liable for any damages 38688// arising from the use of this software. 38689// 38690// Permission is granted to anyone to use this software for any purpose, 38691// including commercial applications, and to alter it and redistribute it 38692// freely, subject to the following restrictions: 38693// 38694// 1. The origin of this software must not be misrepresented; you must not 38695// claim that you wrote the original software. If you use this software 38696// in a product, an acknowledgment in the product documentation would be 38697// appreciated but is not required. 38698// 2. Altered source versions must be plainly marked as such, and must not be 38699// misrepresented as being the original software. 38700// 3. This notice may not be removed or altered from any source distribution. 38701 38702// Use ordinary array, since untyped makes no boost here 38703function makeTable() { 38704 var c, table = []; 38705 38706 for (var n = 0; n < 256; n++) { 38707 c = n; 38708 for (var k = 0; k < 8; k++) { 38709 c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); 38710 } 38711 table[n] = c; 38712 } 38713 38714 return table; 38715} 38716 38717// Create table on load. Just 255 signed longs. Not a problem. 38718var crcTable = makeTable(); 38719 38720 38721function crc32(crc, buf, len, pos) { 38722 var t = crcTable, 38723 end = pos + len; 38724 38725 crc ^= -1; 38726 38727 for (var i = pos; i < end; i++) { 38728 crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; 38729 } 38730 38731 return (crc ^ (-1)); // >>> 0; 38732} 38733 38734 38735module.exports = crc32; 38736 38737 38738/***/ }), 38739/* 743 */, 38740/* 744 */, 38741/* 745 */, 38742/* 746 */, 38743/* 747 */, 38744/* 748 */, 38745/* 749 */, 38746/* 750 */, 38747/* 751 */ 38748/***/ (function(module, __webpack_exports__, __webpack_require__) { 38749 38750"use strict"; 38751/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useVolume; }); 38752/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); 38753/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__); 38754/* harmony import */ var _APIManager_useAPI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44); 38755/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); 38756/* harmony import */ var _APIManager_APIManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32); 38757/* harmony import */ var _EventBus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(152); 38758 38759 38760 38761 38762 38763var useVolume = function useVolume() { 38764 var _useAPI = Object(_APIManager_useAPI__WEBPACK_IMPORTED_MODULE_1__[/* useAPI */ "a"])(), 38765 _useAPI2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useAPI, 2), 38766 state = _useAPI2[0], 38767 dispatch = _useAPI2[1]; 38768 38769 var _useEventBus = Object(_EventBus__WEBPACK_IMPORTED_MODULE_4__[/* useEventBus */ "b"])(), 38770 emit = _useEventBus.emit, 38771 emitter = _useEventBus.emitter; 38772 38773 var volume = Object(_APIManager_APIManager__WEBPACK_IMPORTED_MODULE_3__[/* getVolume */ "j"])(state.cookie); 38774 var setVolume = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_2__[/* useCallback */ "a"])(function (vol) { 38775 emit("setvolume", vol); 38776 dispatch({
38777 type: "SET_VOLUME", 38778 payload: vol 38779 }); 38780 }, [dispatch, emit]); 38781 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_2__[/* useEffect */ "d"])(function () { 38782 if (!emitter) { 38783 return; 38784 } 38785 38786 emitter.on("requestvolume", setVolume); 38787 return function () { 38788 return emitter.off("requestvolume", setVolume); 38789 }; 38790 }, [emit, emitter, setVolume, volume]); 38791 return [volume, setVolume]; 38792}; 38793 38794/***/ }), 38795/* 752 */ 38796/***/ (function(module, __webpack_exports__, __webpack_require__) { 38797 38798"use strict"; 38799/* harmony import */ var _SearchHistory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(431); 38800/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _SearchHistory__WEBPACK_IMPORTED_MODULE_0__["a"]; }); 38801 38802 38803 38804/***/ }), 38805/* 753 */ 38806/***/ (function(module, __webpack_exports__, __webpack_require__) { 38807 38808"use strict"; 38809/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useIdleTimeout; }); 38810/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 38811 38812var useIdleTimeout = function useIdleTimeout(callback) { 38813 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 30; 38814 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useEffect */ "d"])(function () { 38815 // Listen to user activity 38816 var timeoutId; 38817 38818 var resetTimer = function resetTimer() { 38819 window.clearTimeout(timeoutId); 38820 timeoutId = window.setTimeout(function () { 38821 callback(); 38822 }, timeout * 1000); 38823 }; 38824 38825 document.addEventListener("mousemove", resetTimer, false); 38826 document.addEventListener("mousedown", resetTimer, false); 38827 document.addEventListener("wheel", resetTimer, false); 38828 document.addEventListener("keyup", resetTimer, false); 38829 document.addEventListener("touchstart", resetTimer, false); 38830 document.addEventListener("touchmove", resetTimer, false); // Initial timer 38831 38832 resetTimer(); 38833 return function () { 38834 document.removeEventListener("mousemove", resetTimer, false); 38835 document.removeEventListener("mousedown", resetTimer, false); 38836 document.removeEventListener("wheel", resetTimer, false); 38837 document.removeEventListener("keyup", resetTimer, false); 38838 document.removeEventListener("touchstart", resetTimer, false); 38839 document.removeEventListener("touchmove", resetTimer, false); 38840 window.clearTimeout(timeoutId); 38841 }; 38842 }, [callback, timeout]); 38843}; 38844 38845/***/ }), 38846/* 754 */ 38847/***/ (function(module, __webpack_exports__, __webpack_require__) { 38848 38849"use strict"; 38850/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(319); 38851/* harmony import */ var _getFetch_cjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(405); 38852/* harmony import */ var _getFetch_cjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_getFetch_cjs__WEBPACK_IMPORTED_MODULE_1__); 38853function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } 38854function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } 38855function _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; } 38856function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } 38857function _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); } 38858function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 38859 38860 38861var fetchApi; 38862if (typeof fetch === 'function') { 38863 if (typeof global !== 'undefined' && global.fetch) { 38864 fetchApi = global.fetch; 38865 } else if (typeof window !== 'undefined' && window.fetch) { 38866 fetchApi = window.fetch; 38867 } else { 38868 fetchApi = fetch; 38869 } 38870} 38871var XmlHttpRequestApi; 38872if (Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[/* hasXMLHttpRequest */ "a"])()) { 38873 if (typeof global !== 'undefined' && global.XMLHttpRequest) { 38874 XmlHttpRequestApi = global.XMLHttpRequest; 38875 } else if (typeof window !== 'undefined' && window.XMLHttpRequest) { 38876 XmlHttpRequestApi = window.XMLHttpRequest; 38877 } 38878} 38879var ActiveXObjectApi; 38880if (typeof ActiveXObject === 'function') { 38881 if (typeof global !== 'undefined' && global.ActiveXObject) { 38882 ActiveXObjectApi = global.ActiveXObject; 38883 } else if (typeof window !== 'undefined' && window.ActiveXObject) { 38884 ActiveXObjectApi = window.ActiveXObject; 38885 } 38886} 38887if (!fetchApi && _getFetch_cjs__WEBPACK_IMPORTED_MODULE_1__ && !XmlHttpRequestApi && !Active
38887XObjectApi) fetchApi = _getFetch_cjs__WEBPACK_IMPORTED_MODULE_1___default.a || _getFetch_cjs__WEBPACK_IMPORTED_MODULE_1__; 38888if (typeof fetchApi !== 'function') fetchApi = undefined; 38889var addQueryString = function addQueryString(url, params) { 38890 if (params && _typeof(params) === 'object') { 38891 var queryString = ''; 38892 for (var paramName in params) { 38893 queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]); 38894 } 38895 if (!queryString) return url; 38896 url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1); 38897 } 38898 return url; 38899}; 38900var fetchIt = function fetchIt(url, fetchOptions, callback) { 38901 var resolver = function resolver(response) { 38902 if (!response.ok) return callback(response.statusText || 'Error', { 38903 status: response.status 38904 }); 38905 response.text().then(function (data) { 38906 callback(null, { 38907 status: response.status, 38908 data: data 38909 }); 38910 }).catch(callback); 38911 }; 38912 if (typeof fetch === 'function') { 38913 fetch(url, fetchOptions).then(resolver).catch(callback); 38914 } else { 38915 fetchApi(url, fetchOptions).then(resolver).catch(callback); 38916 } 38917}; 38918var omitFetchOptions = false; 38919var requestWithFetch = function requestWithFetch(options, url, payload, callback) { 38920 if (options.queryStringParams) { 38921 url = addQueryString(url, options.queryStringParams); 38922 } 38923 var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders); 38924 if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) { 38925 headers['User-Agent'] = "i18next-http-backend (node/".concat(global.process.version, "; ").concat(global.process.platform, " ").concat(global.process.arch, ")"); 38926 } 38927 if (payload) headers['Content-Type'] = 'application/json'; 38928 var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions; 38929 var fetchOptions = _objectSpread({ 38930 method: payload ? 'POST' : 'GET', 38931 body: payload ? options.stringify(payload) : undefined, 38932 headers: headers 38933 }, omitFetchOptions ? {} : reqOptions); 38934 try { 38935 fetchIt(url, fetchOptions, callback); 38936 } catch (e) { 38937 if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) { 38938 return callback(e); 38939 } 38940 try { 38941 Object.keys(reqOptions).forEach(function (opt) { 38942 delete fetchOptions[opt]; 38943 }); 38944 fetchIt(url, fetchOptions, callback); 38945 omitFetchOptions = true; 38946 } catch (err) { 38947 callback(err); 38948 } 38949 } 38950}; 38951var requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) { 38952 if (payload && _typeof(payload) === 'object') { 38953 payload = addQueryString('', payload).slice(1); 38954 } 38955 if (options.queryStringParams) { 38956 url = addQueryString(url, options.queryStringParams); 38957 } 38958 try { 38959 var x; 38960 if (XmlHttpRequestApi) { 38961 x = new XmlHttpRequestApi(); 38962 } else { 38963 x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0'); 38964 } 38965 x.open(payload ? 'POST' : 'GET', url, 1); 38966 if (!options.crossDomain) { 38967 x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 38968 } 38969 x.withCredentials = !!options.withCredentials; 38970 if (payload) { 38971 x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 38972 } 38973 if (x.overrideMimeType) { 38974 x.overrideMimeType('application/json'); 38975 } 38976 var h = options.customHeaders; 38977 h = typeof h === 'function' ? h() : h; 38978 if (h) { 38979 for (var i in h) { 38980 x.setRequestHeader(i, h[i]); 38981 } 38982 } 38983 x.onreadystatechange = function () { 38984 x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, { 38985 status: x.status, 38986 data: x.responseText 38987 }); 38988 }; 38989 x.send(payload); 38990 } catch (e) { 38991 console && console.log(e); 38992 } 38993}; 38994var request = function request(options, url, payload, callback) { 38995 if (typeof payload === 'function') { 38996 callback = payload; 38997 payload = undefined; 38998 } 38999 callback = callback || function () {}; 39000 if (fetchApi && url.indexOf('file:') !== 0) { 39001 return requestWithFetch(options, url, payload, callback); 39002 } 39003 if (Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[/* hasXMLHttpRequest */ "a"])() || typeof ActiveXObject === 'function') { 39004 return requestWithXmlHttpRequest(options, url, payload, callback); 39005 } 39006 callback(new Error('No fetch and no xhr implementation found!')); 39007}; 39008/* harmony default export */ __webpack_exports__["a"] = (request);
39009/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34))) 39010 39011/***/ }), 39012/* 755 */ 39013/***/ (function(module, exports, __webpack_require__) { 39014 39015var http = __webpack_require__(317) 39016var url = __webpack_require__(246) 39017 39018var https = module.exports 39019 39020for (var key in http) { 39021 if (http.hasOwnProperty(key)) https[key] = http[key] 39022} 39023 39024https.request = function (params, cb) { 39025 params = validateParams(params) 39026 return http.request.call(this, params, cb) 39027} 39028 39029https.get = function (params, cb) { 39030 params = validateParams(params) 39031 return http.get.call(this, params, cb) 39032} 39033 39034function validateParams (params) { 39035 if (typeof params === 'string') { 39036 params = url.parse(params) 39037 } 39038 if (!params.protocol) { 39039 params.protocol = 'https:' 39040 } 39041 if (params.protocol !== 'https:') { 39042 throw new Error('Protocol "' + params.protocol + '" not supported. Expected "https:"') 39043 } 39044 return params 39045} 39046 39047 39048/***/ }), 39049/* 756 */ 39050/***/ (function(module, __webpack_exports__, __webpack_require__) { 39051 39052"use strict"; 39053/* unused harmony export useMappedEndpoints */ 39054/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(124); 39055/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__); 39056/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8); 39057/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__); 39058/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6); 39059/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__); 39060/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60); 39061/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__); 39062/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13); 39063/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__); 39064/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4); 39065/* harmony import */ var _lib_fetchTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(127); 39066 39067 39068 39069 39070 39071 39072 39073 39074var initMapEndpoint = /*#__PURE__*/function () { 39075 var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee() { 39076 var res, endpoints; 39077 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee$(_context) { 39078 while (1) { 39079 switch (_context.prev = _context.next) { 39080 case 0: 39081 _context.next = 2; 39082 return Object(_lib_fetchTimeout__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])("https://mapi.radioplayer.cloud/mappings/console-api-mappings.json", { 39083 method: "GET", 39084 headers: { 39085 "Content-Type": "application/json", 39086 mode: "cors" 39087 } 39088 }, 3000); 39089 39090 case 2: 39091 res = _context.sent; 39092 endpoints = {}; // adding 403 to the status to ignore as the s3 bucket is not entirely public 39093 39094 if (!(!res.ok && ![403, 404].includes(res.status))) { 39095 _context.next = 6; 39096 break; 39097 } 39098 39099 throw new Error("Failed to fetch console-api-mappings.json: ".concat(res.statusText)); 39100 39101 case 6: 39102 if (!res.ok) { 39103 _context.next = 10; 39104 break; 39105 } 39106 39107 _context.next = 9; 39108 return res.json(); 39109 39110 case 9: 39111 endpoints = _context.sent; 39112 39113 case 10: 39114 return _context.abrupt("return", function (endpoint) { 39115 if (!endpoint) { 39116 return undefined; 39117 } 39118 39119 return endpoints[endpoint] || endpoint; 39120 }); 39121 39122 case 11: 39123 case "end": 39124 return _context.stop(); 39125 } 39126 } 39127 }, _callee); 39128 })); 39129 39130 return function initMapEndpoint() { 39131 return _ref.apply(this, arguments); 39132 }; 39133}(); 39134 39135var useMappedEndpoints = function useMappedEndpoints(_ref2) { 39136 var $qp = _ref2.$qp, 39137 $cm = _ref2.$cm, 39138 $np = _ref2.$np; 39139 39140 // undefined on intial render so requests aren't made to both 39141 // the previous endpoint and the new one 39142 var _useState = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useState */ "j"])(undefined), 39143 _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2), 39144 qp = _useState2[0], 39145 setQp = _useState2[1]; 39146 39147 var _useState3 = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useState */ "j"])(undefined), 39148 _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2), 39149 cm = _useState4[0], 39150 setCm = _useState4[1]; 39151 39152 var _useState5 = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useState */ "j"])(undefined), 39153 _useState6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState5, 2), 39154 np = _useState6[0], 39155 setNp = _useState6[1]; 39156 39157 var _useState7 = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useState */ "j"])(null), 39158 _useState8 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState7, 2), 39159 mapEndpoint = _useState8[0], 39160 setMapEndpoint = _useState8[1]; 39161 39162 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useEffect */ "d"])(function () { 39163 if (!mapEndpoint) { 39164 _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee2() { 39165 var mapEndpoint; 39166 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee2$(_context2) { 39167 while (1) { 39168 switch (_context2.prev = _context2.next) { 39169 case 0: 39170 _context2.next = 2; 39171 return initMapEndpoint(); 39172 39173 case 2: 39174 mapEndpoint = _context2.sent; 39175 setMapEndpoint(function () { 39176 return mapEndpoint; 39177 }); 39178 39179 case 4: 39180 case "end": 39181 return _context2.stop(); 39182 } 39183 } 39184 }, _callee2); 39185 }))(); 39186 } 39187 39188 if (!mapEndpoint) { 39189 return; 39190 } 39191 39192 var mappedQp = mapEndpoint($qp); 39193 setQp(mappedQp); 39194 var mappedCm = mapEndpoint($cm); 39195 setCm(mappedCm); 39196 var mappedNp = mapEndpoint($np); 39197 setNp(mappedNp); 39198 }, [mapEndpoint, $qp, $cm, $np]); 39199 return { 39200 qp: qp, 39201 cm: cm, 39202 np: np 39203 }; 39204}; 39205/* harmony default export */ __webpack_exports__["a"] = (useMappedEndpoints); 39206 39207/***/ }), 39208/* 757 */ 39209/***/ (function(module, __webpack_exports__, __webpack_require__) { 39210 39211"use strict"; 39212/* harmony import */ var _APIProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(525); 39213/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _APIProvider__WEBPACK_IMPORTED_MODULE_0__["a"]; }); 39214 39215 39216 39217/***/ }), 39218/* 758 */, 39219/* 759 */ 39220/***/ (function(module, __webpack_exports__, __webpack_require__) { 39221 39222"use strict"; 39223 39224// EXPORTS 39225__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ setupCustomTrackingbabel_target_legacy_setupCustomTracking; }); 39226
39227// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 39228var es_array_concatbabel_target_legacy = __webpack_require__(75); 39229 39230// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 39231var es_array_filterbabel_target_legacy = __webpack_require__(70); 39232 39233// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 39234var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 39235 39236// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 39237var es_array_mapbabel_target_legacy = __webpack_require__(77); 39238 39239// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 39240var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 39241 39242// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 39243var toConsumableArraybabel_target_legacy = __webpack_require__(37); 39244var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 39245 39246// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 39247var regenerator_babel_target_legacy = __webpack_require__(6); 39248var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 39249 39250// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 39251var runtimebabel_target_legacy = __webpack_require__(60); 39252 39253// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 39254var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 39255var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 39256 39257// CONCATENATED MODULE: ./src/lib/CustomTracking/quantyooData.ts?babel-target=legacy 39258 39259 39260 39261 39262var sendQuantyooEvent = /*#__PURE__*/function () { 39263 var _ref = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee(eventType, payloadFields) { 39264 var _window$Qyjs, _window; 39265 39266 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 39267 while (1) { 39268 switch (_context.prev = _context.next) { 39269 case 0: 39270 (_window$Qyjs = (_window = window).Qyjs) === null || _window$Qyjs === void 0 ? void 0 : _window$Qyjs.call(_window, "tracking.track", "fix:stream:".concat(eventType), payloadFields); 39271 39272 case 1: 39273 case "end": 39274 return _context.stop(); 39275 } 39276 } 39277 }, _callee); 39278 })); 39279 39280 return function sendQuantyooEvent(_x, _x2) { 39281 return _ref.apply(this, arguments); 39282 }; 39283}(); 39284 39285var quantyooData = { 39286 modern: "https://qyp.radioplayer.de/qyjs/63d41b8e-2440-4cf7-b5e1-5640d229dd15/modern.js", 39287 legacy: "https://qyp.radioplayer.de/qyjs/63d41b8e-2440-4cf7-b5e1-5640d229dd15/legacy.js", 39288 eventHandlers: { 39289 start: function () { 39290 var _start = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2(identifier) { 39291 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 39292 while (1) { 39293 switch (_context2.prev = _context2.next) { 39294 case 0: 39295 _context2.next = 2; 39296 return sendQuantyooEvent("start", { 39297 identifier: identifier 39298 }); 39299 39300 case 2: 39301 case "end": 39302 return _context2.stop(); 39303 } 39304 } 39305 }, _callee2); 39306 })); 39307 39308 function start(_x3) { 39309 return _start.apply(this, arguments); 39310 } 39311 39312 return start; 39313 }(), 39314 stop: function () { 39315 var _stop = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee3(identifier) { 39316 return regenerator_babel_target_legacy_default.a.wrap(function _callee3$(_context3) { 39317 while (1) { 39318 switch (_context3.prev = _context3.next) { 39319 case 0: 39320 _context3.next = 2; 39321 return sendQuantyooEvent("stop", { 39322 identifier: identifier 39323 }); 39324 39325 case 2: 39326 case "end": 39327 return _context3.stop(); 39328 } 39329 } 39330 }, _callee3); 39331 })); 39332 39333 function stop(_x4) { 39334 return _stop.apply(this, arguments); 39335 } 39336 39337 return stop; 39338 }(), 39339 mute: function () { 39340 var _mute = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee4(identifier) { 39341 return regenerator_babel_target_legacy_default.a.wrap(function _callee4$(_context4) { 39342 while (1) { 39343 switch (_context4.prev = _context4.next) { 39344 case 0: 39345 _context4.next = 2; 39346 return sendQuantyooEvent("setting", { 39347 identifier: identifier, 39348 type: "volume", 39349 value: 0 39350 }); 39351 39352 case 2: 39353 case "end": 39354 return _context4.stop(); 39355 } 39356 } 39357 }, _callee4); 39358 })); 39359 39360 function mute(_x5) { 39361 return _mute.apply(this, arguments); 39362 } 39363 39364 return mute; 39365 }(), 39366 unmute: function () { 39367 var _unmute = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee5(identifier, _ref2) { 39368 var volume; 39369 return regenerator_babel_target_legacy_default.a.wrap(function _callee5$(_context5) { 39370 while (1) { 39371 switch (_context5.prev = _context5.next) { 39372 case 0: 39373 volume = _ref2.volume; 39374 _context5.next = 3; 39375 return sendQuantyooEvent("setting", { 39376 identifier: identifier, 39377 type: "volume", 39378 value: typeof volume === "number" ? volume : 1 39379 }); 39380 39381 case 3: 39382 case "end": 39383 return _context5.stop(); 39384 } 39385 } 39386 }, _callee5); 39387 })); 39388 39389 function unmute(_x6, _x7) { 39390 return _unmute.apply(this, arguments); 39391 } 39392 39393 return unmute; 39394 }() 39395 } 39396}; 39397/* harmony default export */ var quantyooDatababel_target_legacy = (quantyooData); 39398// CONCATENATED MODULE: ./src/lib/CustomTracking/defaultData.ts?babel-target=legacy 39399 39400var trackedEvents = ["mute", "unmute", "start", "stop"]; 39401var defaultDatababel_target_legacy_trackingProviders = { 39402 quantyoo: quantyooDatababel_target_legacy 39403}; 39404// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 39405var es_function_namebabel_target_legacy = __webpack_require__(123); 39406 39407// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 39408var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 39409 39410// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js?babel-target=legacy 39411var es_promisebabel_target_legacy = __webpack_require__(187); 39412 39413// CONCATENATED MODULE: ./src/lib/domUtils.ts?babel-target=legacy 39414 39415 39416 39417 39418 39419 39420/** 39421 * Append a script tag to the end of the document.body 39422 * @returns a promise 39423 * @param src url of the file 39424 * @param id optional, value for script tag id attribute 39425 * @param type defaults to "text/javascript", value for script tag type attribute 39426 */ 39427var addScriptToDom = function addScriptToDom(_ref) { 39428 var src = _ref.src, 39429 id = _ref.id, 39430 _ref$type = _ref.type, 39431 type = _ref$type === void 0 ? "text/javascript" : _ref$type, 39432 _ref$dataAttributes = _ref.dataAttributes, 39433 dataAttributes = _ref$dataAttributes === void 0 ? [] : _ref$dataAttributes; 39434 return new Promise(function (resolve, reject) { 39435 var script = document.createElement("script"); 39436 document.body.appendChild(script); 39437 script.onload = resolve; 39438 script.onerror = reject; 39439 script.type = type; 39440 script.id = id || ""; 39441 script.src = src;
39442 dataAttributes.forEach(function (_ref2) { 39443 var name = _ref2.name, 39444 val = _ref2.val; 39445 script.setAttribute(name, val); 39446 }); 39447 }); 39448}; 39449// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find-index.js?babel-target=legacy 39450var es_array_find_indexbabel_target_legacy = __webpack_require__(343); 39451 39452// CONCATENATED MODULE: ./src/lib/arrayUtils.ts?babel-target=legacy 39453 39454 39455/** 39456 * @returns true if needle exists in haystack, false if needle doesnt exist in haystack or haystack isn't an array 39457 * @param haystack the array to search in 39458 * @param needle the item to search for 39459 */ 39460var existsInArray = function existsInArray(haystack, needle) { 39461 if (!haystack || !haystack.length) { 39462 return false; 39463 } 39464 39465 return haystack.findIndex(function (i) { 39466 return i === needle; 39467 }) !== -1; 39468}; 39469// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 39470var es_symbolbabel_target_legacy = __webpack_require__(71); 39471 39472// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js?babel-target=legacy 39473var es_array_joinbabel_target_legacy = __webpack_require__(160); 39474 39475// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 39476var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 39477 39478// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 39479var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 39480 39481// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 39482var es_object_keysbabel_target_legacy = __webpack_require__(89); 39483 39484// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 39485var definePropertybabel_target_legacy = __webpack_require__(15); 39486var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 39487 39488// CONCATENATED MODULE: ./src/lib/CustomTracking/propValidation.ts?babel-target=legacy 39489 39490 39491 39492 39493 39494 39495 39496 39497 39498 39499function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 39500 39501function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 39502 39503 39504var propValidationbabel_target_legacy_validateTracking = function validateTracking(cmpValid, trackingVal) { 39505 if (!trackingVal) return undefined; 39506 39507 if (!cmpValid) { 39508 console.error("Value passed for \"tracking\" will be ignored as no Consent Management Platform is configured or the CMP is not configured correctly."); 39509 return undefined; 39510 } 39511 39512 if (!defaultDatababel_target_legacy_trackingProviders[trackingVal.type]) { 39513 console.error("The value of tracking.type is invalid. Supported tracking types are \"".concat(Object.keys(defaultDatababel_target_legacy_trackingProviders).join('", "'), "\".")); 39514 return undefined; 39515 } 39516 39517 return _objectSpread(_objectSpread({}, defaultDatababel_target_legacy_trackingProviders[trackingVal.type]), trackingVal); 39518}; 39519// CONCATENATED MODULE: ./src/lib/CustomTracking/setupCustomTracking.ts?babel-target=legacy 39520 39521 39522 39523 39524 39525 39526 39527 39528 39529 39530 39531 39532 39533var observers = []; 39534 39535var supportsES6 = function () { 39536 try { 39537 // eslint-disable-next-line no-new-func 39538 new Function("(a = 0) => a"); 39539 return true; 39540 } catch (err) { 39541 return false; 39542 } 39543}(); 39544 39545var setupCustomTrackingbabel_target_legacy_notifyTrackingObservers = function notifyTrackingObservers(eventType, rpId, additionalData) { 39546 if (!rpId || !existsInArray(trackedEvents, eventType)) { 39547 return; 39548 } 39549
39550 observers.forEach(function (observer) { 39551 observer.eventHandlers[eventType](rpId, additionalData || {}); 39552 }); 39553}; 39554 39555var initQuantYooConfig = /*#__PURE__*/function () { 39556 var _ref = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee(tracking) { 39557 var _window; 39558 39559 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 39560 while (1) { 39561 switch (_context.prev = _context.next) { 39562 case 0: 39563 if (tracking.type === "quantyoo") { 39564 // eslint-disable-next-line @typescript-eslint/camelcase 39565 window.qy_config = ((_window = window) === null || _window === void 0 ? void 0 : _window.qy_config) || {}; // set base url for radioplayer proxy (with trailing slash) 39566 39567 window.qy_config.proxy_base_url = "https://".concat(tracking.trackingBaseUrl || "qyp.radioplayer.de", "/qyproxy/"); 39568 39569 window.Qyjs = function () { 39570 // eslint-disable-next-line prefer-rest-params 39571 (window.QyQ = window.QyQ || []).push(arguments); 39572 }; // dynamically set Quantyoo platformkey as querystring here 39573 39574 39575 if (tracking.pk) window.qy_config.proxy_query_string = "&platformkey=".concat(tracking.pk);else console.warn("Radioplay::Quantyoo: Unable to configure Quantyoo query proxy string - no platformkey linked to domain"); 39576 } 39577 39578 case 1: 39579 case "end": 39580 return _context.stop(); 39581 } 39582 } 39583 }, _callee); 39584 })); 39585 39586 return function initQuantYooConfig(_x) { 39587 return _ref.apply(this, arguments); 39588 }; 39589}(); 39590 39591var setupCustomTrackingbabel_target_legacy_createTrackingObservers = function createTrackingObservers(tracking, cmpValid) { 39592 if (!tracking) return []; 39593 var normalised = tracking.length ? toConsumableArraybabel_target_legacy_default()(tracking) : [tracking]; // Initialise Quantyoo config before js files are called 39594 39595 normalised.forEach(initQuantYooConfig); 39596 return normalised.map(function (tc) { 39597 return propValidationbabel_target_legacy_validateTracking(cmpValid, tc); 39598 }).filter(function (i) { 39599 return i !== undefined; 39600 }); 39601}; 39602 39603var setupCustomTrackingbabel_target_legacy_addTrackingJsFiles = function addTrackingJsFiles(createdObservers, trackingConfig) { 39604 createdObservers.forEach(function (_ref2) { 39605 var pk = _ref2.pk; 39606 // Determine if tracking config is an array of TrackingConfig, if so use the first item. 39607 var tracking = (trackingConfig === null || trackingConfig === void 0 ? void 0 : trackingConfig[0]) || trackingConfig; 39608 var modernScriptProps = { 39609 // Use the provided tracking config url 39610 src: "https://".concat((tracking === null || tracking === void 0 ? void 0 : tracking.trackingBaseUrl) || // or fall back to the .de version to ensure existing implementations do not break 39611 "qyp.radioplayer.de", "/qyjs/").concat(pk, "/modern.js"), 39612 dataAttributes: [{ 39613 name: "async", 39614 val: "async" 39615 }, { 39616 name: "type", 39617 val: "module" 39618 }] 39619 }; 39620 var legacyScriptProps = { 39621 // Use the provided tracking config url 39622 src: "https://".concat((tracking === null || tracking === void 0 ? void 0 : tracking.trackingBaseUrl) || "qyp.radioplayer.de", "/qyjs/").concat(pk, "/legacy.js"), 39623 // or fall back to the .de version to ensure existing implementations do not break 39624 dataAttributes: [{ 39625 name: "async", 39626 val: "async" 39627 }, { 39628 name: "nomodule", 39629 val: "nomodule" 39630 }] 39631 }; 39632 addScriptToDom(supportsES6 ? modernScriptProps : legacyScriptProps); 39633 }); 39634}; 39635 39636var setupCustomTrackingbabel_target_legacy_setupCustomTracking = function setupCustomTracking(cmp, tracking) { 39637 var trackingProviders = setupCustomTrackingbabel_target_legacy_createTrackingObservers(tracking, !!cmp); 39638 setupCustomTrackingbabel_target_legacy_addTrackingJsFiles(trackingProviders, tracking); 39639 observers.length = 0; // just incase this is regenerated 39640 39641 observers.push.apply(observers, toConsumableArraybabel_target_legacy_default()(trackingProviders)); 39642 return { 39643 trackingProviders: trackingProviders, 39644 notifyTrackingObservers: setupCustomTrackingbabel_target_legacy_notifyTrackingObservers 39645 }; 39646}; 39647 39648/***/ }), 39649/* 760 */, 39650/* 761 */, 39651/* 762 */, 39652/* 763 */, 39653/* 764 */, 39654/* 765 */, 39655/* 766 */, 39656/* 767 */, 39657/* 768 */ 39658/***/ (function(module, exports, __webpack_require__) { 39659 39660// extracted by mini-css-extract-plugin 39661 39662/***/ }), 39663/* 769 */, 39664/* 770 */
39665/***/ (function(module, exports) { 39666 39667function _iterableToArrayLimit(arr, i) { 39668 if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; 39669 var _arr = []; 39670 var _n = true; 39671 var _d = false; 39672 var _e = undefined; 39673 39674 try { 39675 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 39676 _arr.push(_s.value); 39677 39678 if (i && _arr.length === i) break; 39679 } 39680 } catch (err) { 39681 _d = true; 39682 _e = err; 39683 } finally { 39684 try { 39685 if (!_n && _i["return"] != null) _i["return"](); 39686 } finally { 39687 if (_d) throw _e; 39688 } 39689 } 39690 39691 return _arr; 39692} 39693 39694module.exports = _iterableToArrayLimit; 39695 39696/***/ }), 39697/* 771 */ 39698/***/ (function(module, exports) { 39699 39700function _objectWithoutPropertiesLoose(source, excluded) { 39701 if (source == null) return {}; 39702 var target = {}; 39703 var sourceKeys = Object.keys(source); 39704 var key, i; 39705 39706 for (i = 0; i < sourceKeys.length; i++) { 39707 key = sourceKeys[i]; 39708 if (excluded.indexOf(key) >= 0) continue; 39709 target[key] = source[key]; 39710 } 39711 39712 return target; 39713} 39714 39715module.exports = _objectWithoutPropertiesLoose; 39716 39717/***/ }), 39718/* 772 */ 39719/***/ (function(module, exports, __webpack_require__) { 39720 39721var arrayLikeToArray = __webpack_require__(463); 39722 39723function _arrayWithoutHoles(arr) { 39724 if (Array.isArray(arr)) return arrayLikeToArray(arr); 39725} 39726 39727module.exports = _arrayWithoutHoles; 39728 39729/***/ }), 39730/* 773 */ 39731/***/ (function(module, exports) { 39732 39733function _nonIterableSpread() { 39734 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 39735} 39736 39737module.exports = _nonIterableSpread; 39738 39739/***/ }), 39740/* 774 */ 39741/***/ (function(module, exports, __webpack_require__) { 39742 39743"use strict"; 39744 39745 39746var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 39747 39748var _createClass = function () { function 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 39749 39750function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 39751 39752var _require = __webpack_require__(464), 39753 encodeConsentString = _require.encodeConsentString, 39754 _getMaxVendorId = _require.getMaxVendorId, 39755 encodeVendorIdsToBits = _require.encodeVendorIdsToBits, 39756 encodePurposeIdsToBits = _require.encodePurposeIdsToBits; 39757 39758var _require2 = __webpack_require__(467), 39759 decodeConsentString = _require2.decodeConsentString; 39760 39761var _require3 = __webpack_require__(466), 39762 vendorVersionMap = _require3.vendorVersionMap; 39763/** 39764 * Regular expression for validating 39765 */ 39766 39767 39768var consentLanguageRegexp = /^[a-z]{2}$/; 39769var cachedString = void 0; 39770 39771var ConsentString = function () { 39772 function ConsentString() { 39773 var baseString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 39774 39775 _classCallCheck(this, ConsentString); 39776 39777 this.maxVendorId = 0; 39778 this.created = new Date(); 39779 this.lastUpdated = new Date(); 39780 this.version = 1; 39781 this.vendorList = null; 39782 this.vendorListVersion = null; 39783 this.cmpId = null; 39784 this.cmpVersion = null; 39785 this.consentScreen = null; 39786 this.consentLanguage = null; 39787 this.allowedPurposeIds = []; 39788 this.allowedVendorIds = []; 39789 39790 // Decode the base string 39791 if (baseString) { 39792 cachedString = baseString; 39793 Object.assign(this, decodeConsentString(baseString)); 39794 } 39795 } 39796 39797 _createClass(ConsentString, [{ 39798 key: 'getConsentString', 39799 value: function getConsentString() { 39800 var updateDate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; 39801 39802 var retr = void 0; 39803 39804 /** 39805 * check for cached string that was passed in. This avoids having to 39806 * decode the consent string and even to have a vendorlist 39807 */ 39808 if (cachedString && !updateDate) { 39809 retr = cachedString; 39810 } else { 39811 if (!this.vendorList) { 39812 throw new Error('ConsentString - A vendor list is required to encode a consent string'); 39813 } 39814 39815 if (updateDate === true) { 39816 this.lastUpdated = new Date(); 39817 } 39818 39819 retr = encodeConsentString({ 39820 version: this.getVersion(), 39821 vendorList: this.vendorList, 39822 allowedPurposeIds: this.allowedPurposeIds, 39823 allowedVendorIds: this.allowedVendorIds, 39824 created: this.created,
39825 lastUpdated: this.lastUpdated, 39826 cmpId: this.cmpId, 39827 cmpVersion: this.cmpVersion, 39828 consentScreen: this.consentScreen, 39829 consentLanguage: this.consentLanguage, 39830 vendorListVersion: this.vendorListVersion 39831 }); 39832 39833 cachedString = retr; 39834 } 39835 return retr; 39836 } 39837 }, { 39838 key: 'getLastUpdated', 39839 value: function getLastUpdated() { 39840 return this.lastUpdated; 39841 } 39842 }, { 39843 key: 'setLastUpdated', 39844 value: function setLastUpdated() { 39845 var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 39846 39847 cachedString = ''; 39848 if (date) { 39849 this.lastUpdated = new Date(date); 39850 } else { 39851 this.lastUpdated = new Date(); 39852 } 39853 } 39854 }, { 39855 key: 'getCreated', 39856 value: function getCreated() { 39857 return this.created; 39858 } 39859 }, { 39860 key: 'setCreated', 39861 value: function setCreated() { 39862 var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 39863 39864 cachedString = ''; 39865 if (date) { 39866 this.created = new Date(date); 39867 } else { 39868 this.created = new Date(); 39869 } 39870 } 39871 }, { 39872 key: 'getMaxVendorId', 39873 value: function getMaxVendorId() { 39874 if (!this.maxVendorId) { 39875 if (this.vendorList) { 39876 this.maxVendorId = _getMaxVendorId(this.vendorList.vendors); 39877 } 39878 } 39879 return this.maxVendorId; 39880 } 39881 }, { 39882 key: 'getParsedVendorConsents', 39883 value: function getParsedVendorConsents() { 39884 return encodeVendorIdsToBits(_getMaxVendorId(this.vendorList.vendors), this.allowedVendorIds); 39885 } 39886 }, { 39887 key: 'getParsedPurposeConsents', 39888 value: function getParsedPurposeConsents() { 39889 return encodePurposeIdsToBits(this.vendorList.purposes, this.allowedPurposeIds); 39890 } 39891 }, { 39892 key: 'getMetadataString', 39893 value: function getMetadataString() { 39894 return encodeConsentString({ 39895 version: this.getVersion(), 39896 created: this.created, 39897 lastUpdated: this.lastUpdated, 39898 cmpId: this.cmpId, 39899 cmpVersion: this.cmpVersion, 39900 consentScreen: this.consentScreen, 39901 vendorListVersion: this.vendorListVersion 39902 }); 39903 } 39904 }, { 39905 key: 'getVersion', 39906 value: function getVersion() { 39907 return this.version; 39908 } 39909 }, { 39910 key: 'getVendorListVersion', 39911 value: function getVendorListVersion() { 39912 return this.vendorListVersion; 39913 } 39914 }, { 39915 key: 'setGlobalVendorList', 39916 value: function setGlobalVendorList(vendorList) { 39917 if ((typeof vendorList === 'undefined' ? 'undefined' : _typeof(vendorList)) !== 'object') { 39918 throw new Error('ConsentString - You must provide an object when setting the global vendor list'); 39919 } 39920 39921 if (!vendorList.vendorListVersion || !Array.isArray(vendorList.purposes) || !Array.isArray(vendorList.vendors)) { 39922 // The provided vendor list does not look valid 39923 throw new Error('ConsentString - The provided vendor list does not respect the schema from the IAB EUâs GDPR Consent and Transparency Framework'); 39924 } 39925 39926 // does a vendorList already exist and is it a different version 39927 if (!this.vendorList || this.vendorListVersion !== vendorList.vendorListVersion) { 39928 cachedString = ''; 39929 // Cloning the GVL 39930 // It's important as we might transform it and don't want to modify objects that we do not own 39931 this.vendorList = { 39932 vendorListVersion: vendorList.vendorListVersion, 39933 lastUpdated: vendorList.lastUpdated, 39934 purposes: vendorList.purposes, 39935 features: vendorList.features, 39936 39937 // Clone the list and sort the vendors by ID (it breaks our range generation algorithm if they are not sorted) 39938 vendors: vendorList.vendors.slice(0).sort(function (firstVendor, secondVendor) { 39939 return firstVendor.id < secondVendor.id ? -1 : 1; 39940 }) 39941 }; 39942 this.vendorListVersion = vendorList.vendorListVersion; 39943 } 39944 } 39945 }, { 39946 key: 'getGlobalVendorList', 39947 value: function getGlobalVendorList() { 39948 return this.vendorList; 39949 } 39950 }, { 39951 key: 'setCmpId', 39952 value: function setCmpId(id) { 39953 if (id !== this.cmpId) { 39954 cachedString = ''; 39955 this.cmpId = id; 39956 } 39957 } 39958 }, { 39959 key: 'getCmpId', 39960 value: function getCmpId() { 39961 return this.cmpId; 39962 } 39963 }, { 39964 key: 'setCmpVersion', 39965 value: function setCmpVersion(version) { 39966 if (version !== this.cmpVersion) { 39967 cachedString = ''; 39968 this.cmpVersion = version; 39969 } 39970 } 39971 }, { 39972 key: 'getCmpVersion', 39973 value: function getCmpVersion() { 39974 return this.cmpVersion; 39975 } 39976 }, { 39977 key: 'setConsentScreen', 39978 value: function setConsentScreen(screenId) { 39979 if (screenId !== this.consentScreen) { 39980 cachedString = ''; 39981 this.consentScreen = screenId; 39982 } 39983 } 39984 }, { 39985 key: 'getConsentScreen', 39986 value: function getConsentScreen() { 39987 return this.consentScreen; 39988 } 39989 }, { 39990 key: 'setConsentLanguage', 39991 value: function setConsentLanguage(language) { 39992 if (consentLanguageRegexp.test(language) === false) { 39993 throw new Error('ConsentString - The consent language must be a two-letter ISO639-1 code (en, fr, de, etc.)'); 39994 } 39995 39996 if (language !== this.consentLanguage) { 39997 cachedString = ''; 39998 this.consentLanguage = language; 39999 } 40000 } 40001 }, { 40002 key: 'getConsentLanguage', 40003 value: function getConsentLanguage() { 40004 return this.consentLanguage; 40005 } 40006 }, { 40007 key: 'setPurposesAllowed', 40008 value: function setPurposesAllowed(purposeIds) { 40009 cachedString = ''; 40010 this.allowedPurposeIds = purposeIds; 40011 } 40012 }, { 40013 key: 'getPurposesAllowed', 40014 value: function getPurposesAllowed() { 40015 return this.allowedPurposeIds; 40016 } 40017 }, { 40018 key: 'setPurposeAllowed', 40019 value: function setPurposeAllowed(purposeId, value) { 40020 var purposeIndex = this.allowedPurposeIds.indexOf(purposeId); 40021 40022 cachedString = ''; 40023 40024 if (value === true) { 40025 if (purposeIndex === -1) { 40026 this.allowedPurposeIds.push(purposeId); 40027 } 40028 } else if (value === false) { 40029 if (purposeIndex !== -1) { 40030 this.allowedPurposeIds.splice(purposeIndex, 1); 40031 } 40032 } 40033 } 40034 }, { 40035 key: 'isPurposeAllowed', 40036 value: function isPurposeAllowed(purposeId) { 40037 return this.allowedPurposeIds.indexOf(purposeId) !== -1; 40038 } 40039 }, { 40040 key: 'setVendorsAllowed', 40041 value: function setVendorsAllowed(vendorIds) { 40042 cachedString = ''; 40043 this.allowedVendorIds = vendorIds; 40044 } 40045 }, { 40046 key: 'getVendorsAllowed', 40047 value: function getVendorsAllowed() { 40048 return this.allowedVendorIds; 40049 } 40050 }, { 40051 key: 'setVendorAllowed', 40052 value: function setVendorAllowed(vendorId, value) { 40053 var vendorIndex = this.allowedVendorIds.indexOf(vendorId); 40054 40055 cachedString = ''; 40056 if (value === true) { 40057 if (vendorIndex === -1) { 40058 this.allowedVendorIds.push(vendorId); 40059 } 40060 } else if (value === false) { 40061 if (vendorIndex !== -1) { 40062 this.allowedVendorIds.splice(vendorIndex, 1); 40063 } 40064 } 40065 } 40066 }, { 40067 key: 'isVendorAllowed', 40068 value: function isVendorAllowed(vendorId) { 40069 return this.allowedVendorIds.indexOf(vendorId) !== -1; 40070 } 40071 }], [{ 40072 key: 'decodeMetadataString', 40073 value: function decodeMetadataString(encodedMetadata) { 40074 var decodedString = decodeConsentString(encodedMetadata); 40075 var metadata = {}; 40076 vendorVersionMap[decodedString.version].metadataFields.forEach(function (field) { 40077 metadata[field] = decodedString[field]; 40078 }); 40079 return metadata; 40080 } 40081 }]); 40082 40083 return ConsentString; 40084}(); 40085 40086module.exports = { 40087 ConsentString: ConsentString 40088}; 40089 40090/***/ }), 40091/* 775 */ 40092/***/ (function(module, exports, __webpack_require__) { 40093 40094/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! http://mths.be/base64 v0.1.0 by @mathias | MIT license */ 40095;(function(root) { 40096 40097 // Detect free variables `exports`. 40098 var freeExports = true && exports; 40099 40100 // Detect free variable `module`. 40101 var freeModule = true && module && 40102 module.exports == freeExports && module; 40103 40104 // Detect free variable `global`, from Node.js or Browserified code, and use 40105 // it as `root`. 40106 var freeGlobal = typeof global == 'object' && global; 40107 if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { 40108 root = freeGlobal; 40109 } 40110 40111 /*--------------------------------------------------------------------------*/ 40112 40113 var InvalidCharacterError = function(message) { 40114 this.message = message; 40115 }; 40116 InvalidCharacterError.prototype = new Error; 40117 InvalidCharacterError.prototype.name = 'InvalidCharacterError'; 40118 40119 var error = function(message) { 40120 // Note: the error messages used throughout this file match those used by 40121 // the native `atob`/`btoa` implementation in Chromium. 40122 throw new InvalidCharacterError(message); 40123 }; 40124 40125 var TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
40125+/'; 40126 // http://whatwg.org/html/common-microsyntaxes.html#space-character 40127 var REGEX_SPACE_CHARACTERS = /[\t\n\f\r ]/g; 40128 40129 // `decode` is designed to be fully compatible with `atob` as described in the 40130 // HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob 40131 // The optimized base64-decoding algorithm used is based on @atkâs excellent 40132 // implementation. https://gist.github.com/atk/1020396 40133 var decode = function(input) { 40134 input = String(input) 40135 .replace(REGEX_SPACE_CHARACTERS, ''); 40136 var length = input.length; 40137 if (length % 4 == 0) { 40138 input = input.replace(/==?$/, ''); 40139 length = input.length; 40140 } 40141 if ( 40142 length % 4 == 1 || 40143 // http://whatwg.org/C#alphanumeric-ascii-characters 40144 /[^+a-zA-Z0-9/]/.test(input) 40145 ) { 40146 error( 40147 'Invalid character: the string to be decoded is not correctly encoded.' 40148 ); 40149 } 40150 var bitCounter = 0; 40151 var bitStorage; 40152 var buffer; 40153 var output = ''; 40154 var position = -1; 40155 while (++position < length) { 40156 buffer = TABLE.indexOf(input.charAt(position)); 40157 bitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer; 40158 // Unless this is the first of a group of 4 characters⦠40159 if (bitCounter++ % 4) { 40160 // â¦convert the first 8 bits to a single ASCII character. 40161 output += String.fromCharCode( 40162 0xFF & bitStorage >> (-2 * bitCounter & 6) 40163 ); 40164 } 40165 } 40166 return output; 40167 }; 40168 40169 // `encode` is designed to be fully compatible with `btoa` as described in the 40170 // HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa 40171 var encode = function(input) { 40172 input = String(input); 40173 if (/[^\0-\xFF]/.test(input)) { 40174 // Note: no need to special-case astral symbols here, as surrogates are 40175 // matched, and the input is supposed to only contain ASCII anyway. 40176 error( 40177 'The string to be encoded contains characters outside of the ' + 40178 'Latin1 range.' 40179 ); 40180 } 40181 var padding = input.length % 3; 40182 var output = ''; 40183 var position = -1; 40184 var a; 40185 var b; 40186 var c; 40187 var d; 40188 var buffer; 40189 // Make sure any padding is handled outside of the loop. 40190 var length = input.length - padding; 40191 40192 while (++position < length) { 40193 // Read three bytes, i.e. 24 bits. 40194 a = input.charCodeAt(position) << 16; 40195 b = input.charCodeAt(++position) << 8; 40196 c = input.charCodeAt(++position); 40197 buffer = a + b + c; 40198 // Turn the 24 bits into four chunks of 6 bits each, and append the 40199 // matching character for each of them to the output. 40200 output += ( 40201 TABLE.charAt(buffer >> 18 & 0x3F) + 40202 TABLE.charAt(buffer >> 12 & 0x3F) + 40203 TABLE.charAt(buffer >> 6 & 0x3F) + 40204 TABLE.charAt(buffer & 0x3F) 40205 ); 40206 } 40207 40208 if (padding == 2) { 40209 a = input.charCodeAt(position) << 8; 40210 b = input.charCodeAt(++position); 40211 buffer = a + b; 40212 output += ( 40213 TABLE.charAt(buffer >> 10) + 40214 TABLE.charAt((buffer >> 4) & 0x3F) + 40215 TABLE.charAt((buffer << 2) & 0x3F) + 40216 '=' 40217 ); 40218 } else if (padding == 1) { 40219 buffer = input.charCodeAt(position); 40220 output += ( 40221 TABLE.charAt(buffer >> 2) + 40222 TABLE.charAt((buffer << 4) & 0x3F) + 40223 '==' 40224 ); 40225 } 40226 40227 return output; 40228 }; 40229 40230 var base64 = { 40231 'encode': encode, 40232 'decode': decode, 40233 'version': '0.1.0' 40234 }; 40235 40236 // Some AMD build optimizers, like r.js, check for specific condition patterns 40237 // like the following: 40238 if ( 40239 true 40240 ) { 40241 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { 40242 return base64; 40243 }).call(exports, __webpack_require__, exports, module), 40244 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 40245 } else { var key; } 40246 40247}(this)); 40248 40249/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(186)(module), __webpack_require__(34))) 40250 40251/***/ }), 40252/* 776 */, 40253/* 777 */, 40254/* 778 */, 40255/* 779 */ 40256/***/ (function(module, __webpack_exports__, __webpack_require__) { 40257 40258"use strict"; 40259/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBackgrounded; }); 40260/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(124); 40261/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__); 40262/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(140); 40263/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_1__); 40264/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); 40265/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__); 40266/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); 40267/* harmony import */ var _lib_logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10); 40268 40269 40270 40271 40272
40273var useBackgrounded = function useBackgrounded() { 40274 var _useState = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_3__[/* useState */ "j"])(false), 40275 _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2___default()(_useState, 2), 40276 backgrounded = _useState2[0], 40277 setBackgrounded = _useState2[1]; 40278 40279 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_3__[/* useEffect */ "d"])(function () { 40280 var ua = window.navigator.userAgent; 40281 var isIE = ua.includes("MSIE ") || ua.includes("Trident/"); 40282 var blur = isIE ? "focusout" : "blur"; 40283 var focus = isIE ? "focusin" : "focus"; 40284 40285 var onBlur = function onBlur() { 40286 Object(_lib_logger__WEBPACK_IMPORTED_MODULE_4__[/* log */ "c"])("Blur"); 40287 setBackgrounded(true); 40288 }; 40289 40290 var onFocus = function onFocus() { 40291 Object(_lib_logger__WEBPACK_IMPORTED_MODULE_4__[/* log */ "c"])("Focus"); 40292 setBackgrounded(false); 40293 }; 40294 40295 window.addEventListener(blur, onBlur); 40296 window.addEventListener(focus, onFocus); 40297 return function () { 40298 window.removeEventListener(blur, onBlur); 40299 window.removeEventListener(focus, onFocus); 40300 }; 40301 }, [setBackgrounded]); 40302 return backgrounded; 40303}; 40304 40305/***/ }), 40306/* 780 */ 40307/***/ (function(module, exports, __webpack_require__) { 40308 40309var arrayWithHoles = __webpack_require__(698); 40310 40311var iterableToArray = __webpack_require__(700); 40312 40313var unsupportedIterableToArray = __webpack_require__(412); 40314 40315var nonIterableRest = __webpack_require__(699); 40316 40317function _toArray(arr) { 40318 return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); 40319} 40320 40321module.exports = _toArray; 40322 40323/***/ }), 40324/* 781 */, 40325/* 782 */ 40326/***/ (function(module, __webpack_exports__, __webpack_require__) { 40327 40328"use strict"; 40329 40330// EXPORTS 40331__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ Scrubberbabel_target_legacy_Scrubber; }); 40332 40333// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 40334var definePropertybabel_target_legacy = __webpack_require__(15); 40335var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 40336 40337// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 40338var slicedToArraybabel_target_legacy = __webpack_require__(8); 40339var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 40340 40341// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 40342var preact_modulebabel_target_legacy = __webpack_require__(1); 40343 40344// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js?babel-target=legacy
vendor: 10,118 bytes, lines 40344-40564
40344 40345/*! ***************************************************************************** 40346Copyright (c) Microsoft Corporation. 40347 40348Permission to use, copy, modify, and/or distribute this software for any 40349purpose with or without fee is hereby granted. 40350 40351THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 40352REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 40353AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 40354INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 40355LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 40356OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 40357PERFORMANCE OF THIS SOFTWARE. 40358***************************************************************************** */ 40359/* global Reflect, Promise */ 40360 40361var extendStatics = function(d, b) { 40362 extendStatics = Object.setPrototypeOf || 40363 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 40364 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; 40365 return extendStatics(d, b); 40366}; 40367 40368function __extends(d, b) { 40369 extendStatics(d, b); 40370 function __() { this.constructor = d; } 40371 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 40372} 40373 40374var __assign = function() { 40375 __assign = Object.assign || function __assign(t) { 40376 for (var s, i = 1, n = arguments.length; i < n; i++) { 40377 s = arguments[i]; 40378 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 40379 } 40380 return t; 40381 } 40382 return __assign.apply(this, arguments); 40383} 40384 40385function __rest(s, e) { 40386 var t = {}; 40387 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 40388 t[p] = s[p]; 40389 if (s != null && typeof Object.getOwnPropertySymbols === "function") 40390 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 40391 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 40392 t[p[i]] = s[p[i]]; 40393 } 40394 return t; 40395} 40396 40397function __decorate(decorators, target, key, desc) { 40398 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 40399 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 40400 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 40401 return c > 3 && r && Object.defineProperty(target, key, r), r; 40402} 40403 40404function __param(paramIndex, decorator) { 40405 return function (target, key) { decorator(target, key, paramIndex); } 40406} 40407 40408function __metadata(metadataKey, metadataValue) { 40409 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); 40410} 40411 40412function __awaiter(thisArg, _arguments, P, generator) { 40413 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 40414 return new (P || (P = Promise))(function (resolve, reject) { 40415 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 40416 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 40417 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 40418 step((generator = generator.apply(thisArg, _arguments || [])).next()); 40419 }); 40420} 40421 40422function __generator(thisArg, body) { 40423 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; 40424 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; 40425 function verb(n) { return function (v) { return step([n, v]); }; } 40426 function step(op) { 40427 if (f) throw new TypeError("Generator is already executing."); 40428 while (_) try { 40429 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; 40430 if (y = 0, t) op = [op[0] & 2, t.value]; 40431 switch (op[0]) { 40432 case 0: case 1: t = op; break; 40433 case 4: _.label++; return { value: op[1], done: false }; 40434 case 5: _.label++; y = op[1]; op = [0]; continue; 40435 case 7: op = _.ops.pop(); _.trys.pop(); continue; 40436 default: 40437 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } 40438 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } 40439 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } 40440 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } 40441 if (t[2]) _.ops.pop(); 40442 _.trys.pop(); continue; 40443 } 40444 op = body.call(thisArg, _); 40445 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } 40446 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; 40447 } 40448} 40449 40450function __createBinding(o, m, k, k2) { 40451 if (k2 === undefined) k2 = k; 40452 o[k2] = m[k]; 40453} 40454 40455function __exportStar(m, exports) { 40456 for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p]; 40457} 40458 40459function __values(o) { 40460 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; 40461 if (m) return m.call(o); 40462 if (o && typeof o.length === "number") return { 40463 next: function () { 40464 if (o && i >= o.length) o = void 0; 40465 return { value: o && o[i++], done: !o }; 40466 } 40467 }; 40468 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); 40469} 40470 40471function __read(o, n) { 40472 var m = typeof Symbol === "function" && o[Symbol.iterator]; 40473 if (!m) return o; 40474 var i = m.call(o), r, ar = [], e; 40475 try { 40476 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); 40477 } 40478 catch (error) { e = { error: error }; } 40479 finally { 40480 try { 40481 if (r && !r.done && (m = i["return"])) m.call(i); 40482 } 40483 finally { if (e) throw e.error; } 40484 } 40485 return ar; 40486} 40487 40488function __spread() { 40489 for (var ar = [], i = 0; i < arguments.length; i++) 40490 ar = ar.concat(__read(arguments[i])); 40491 return ar; 40492} 40493 40494function __spreadArrays() { 40495 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 40496 for (var r = Array(s), k = 0, i = 0; i < il; i++) 40497 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 40498 r[k] = a[j]; 40499 return r; 40500}; 40501 40502function __await(v) { 40503 return this instanceof __await ? (this.v = v, this) : new __await(v); 40504} 40505 40506function __asyncGenerator(thisArg, _arguments, generator) { 40507 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 40508 var g = generator.apply(thisArg, _arguments || []), i, q = []; 40509 return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; 40510 function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } 40511 function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } 40512 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } 40513 function fulfill(value) { resume("next", value); } 40514 function reject(value) { resume("throw", value); } 40515 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } 40516} 40517 40518function __asyncDelegator(o) { 40519 var i, p; 40520 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; 40521 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } 40522} 40523 40524function __asyncValues(o) { 40525 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 40526 var m = o[Symbol.asyncIterator], i; 40527 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); 40528 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } 40529 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } 40530} 40531 40532function __makeTemplateObject(cooked, raw) { 40533 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 40534 return cooked; 40535}; 40536 40537function __importStar(mod) { 40538 if (mod && mod.__esModule) return mod; 40539 var result = {}; 40540 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; 40541 result.default = mod; 40542 return result; 40543} 40544 40545function __importDefault(mod) { 40546 return (mod && mod.__esModule) ? mod : { default: mod }; 40547} 40548 40549function __classPrivateFieldGet(receiver, privateMap) { 40550 if (!privateMap.has(receiver)) { 40551 throw new TypeError("attempted to get private field on non-instance"); 40552 } 40553 return privateMap.get(receiver); 40554} 40555 40556function __classPrivateFieldSet(receiver, privateMap, value) { 40557 if (!privateMap.has(receiver)) { 40558 throw new TypeError("attempted to set private field on non-instance"); 40559 } 40560 privateMap.set(receiver, value); 40561 return value; 40562} 40563 40564//
40564CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/utils.js?babel-target=legacy 40565function noop() { 40566 var _rest = []; 40567 for (var _i = 0; _i < arguments.length; _i++) { 40568 _rest[_i] = arguments[_i]; 40569 } 40570} 40571function clampValue(value, _a) { 40572 var min = _a.min, max = _a.max; 40573 if (value <= min) { 40574 return min; 40575 } 40576 if (value >= max) { 40577 return max; 40578 } 40579 return value; 40580} 40581function isValueOutOfRange(value, _a) { 40582 var min = _a.min, max = _a.max; 40583 return ((value < min) 40584 || (value > max)); 40585} 40586function getPrecision(step) { 40587 var stepString = step.toString(); 40588 var dotIndex = stepString.indexOf('.'); 40589 var precision = 0; 40590 if (dotIndex !== -1) { 40591 precision = stepString.length - dotIndex - 1; 40592 } 40593 return precision; 40594} 40595function clampValueToSurroundingHandles(value, _a, _b) { 40596 var allowCross = _a.allowCross; 40597 var handle = _b.handle, bounds = _b.bounds; 40598 if (!allowCross 40599 && (handle != null)) { 40600 if ((handle > 0) 40601 && (value <= bounds[handle - 1])) { 40602 return bounds[handle - 1]; 40603 } 40604 if ((handle < (bounds.length - 1)) 40605 && (value >= bounds[handle + 1])) { 40606 return bounds[handle + 1]; 40607 } 40608 } 40609 return value; 40610} 40611function getClosestPoint(value, _a) { 40612 var marks = _a.marks, step = _a.step, min = _a.min; 40613 var points = Object.keys(marks).map(Number); 40614 if ((step != null) 40615 && (step > 0)) { 40616 var closestStep = Math.round((value - min) / step) * step + min; 40617 points.push(closestStep); 40618 } 40619 var diffs = points.map(function (point) { return Math.abs(value - point); }); 40620 return (points[diffs.indexOf(Math.min.apply(Math, diffs))] 40621 || min); 40622} 40623function alignValue(value, props) { 40624 var step = props.step; 40625 var closestPoint = getClosestPoint(value, props); 40626 return (((step == null) 40627 || (step <= 0)) 40628 ? closestPoint 40629 : Number(closestPoint.toFixed(getPrecision(step)))); 40630} 40631function getHandleCenterPosition(vertical, handle) { 40632 var coords = handle.getBoundingClientRect(); 40633 return (vertical 40634 ? coords.top + (coords.height / 2) 40635 : coords.left + (coords.width / 2)); 40636} 40637function getMousePosition(vertical, event) { 40638 return (vertical ? event.clientY : event.pageX); 40639} 40640function getTouchPosition(vertical, event) { 40641 return (vertical ? event.touches[0].clientY : event.touches[0].pageX); 40642} 40643function isEventFromHandle(event, handles) { 40644 return (handles.some(function (handle) { return event.target === handle; })); 40645} 40646function isNotCorrectTouchEvent(event) { 40647 return ((event.touches.length > 1) 40648 || ((event.type.toLowerCase() === 'touchend') 40649 && (event.touches.length > 0))); 40650} 40651function killEvent(event) { 40652 event.stopPropagation(); 40653 event.preventDefault(); 40654} 40655 40656var ONEHOUR = 3600; 40657var zeroPad = function (num) { 40658 return num >= 100 ? "" + Math.floor(num) : ("00" + Math.floor(num)).slice(-2); 40659}; 40660var formatTime = function (seconds) { 40661 if (isNaN(seconds) || seconds === Infinity) { 40662 return ''; 40663 } 40664 if (seconds > 604800) { 40665 var date = new Date(seconds * 1000); 40666 return (zeroPad(date.getHours()) + 40667 ':' + 40668 zeroPad(date.getMinutes()) + 40669 ':' + 40670 zeroPad(date.getSeconds())); 40671 } 40672 var sign = ''; 40673 if (seconds < 0) { 40674 seconds = Math.abs(seconds); 40675 sign = '-'; 40676 } 40677 if (seconds < ONEHOUR) { 40678 return sign + zeroPad(seconds / 60) + ':' + zeroPad(seconds % 60); 40679 } 40680 var formatted = Math.floor(seconds / ONEHOUR) + 40681 ':' + 40682 zeroPad((seconds % ONEHOUR) / 60) + 40683 ':' + 40684 zeroPad(seconds % 60); 40685 return "" + sign + formatted; 40686}; 40687//# sourceMappingURL=utils.js.map 40688// CONCATENATED MODULE: ./node_modules/classjoin/es5-esm?babel-target=legacy 40689function classJoin(withConditions, withoutConditions) { 40690 var classes = []; 40691 var keys = Object.keys(withConditions); 40692 for (var i = 0, n = keys.length; i < n; i++) { 40693 var key = keys[i]; 40694 if (withConditions[key]) { 40695 classes.push(key); 40696 } 40697 } 40698 if (withoutConditions) { 40699 classes = withoutConditions.concat(classes); 40700 } 40701 return classes.join(' '); 40702} 40703 40704//# sourceMappingURL=index.js.map 40705// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/Marks.js?babel-target=legacy 40706 40707 40708function Marks(_a) { 40709 var min = _a.min, max = _a.max, lowerBound = _a.lowerBound, upperBound = _a.upperBound, marks = _a.marks, included = _a.included, vertical = _a.vertical, classesPrefix = _a.classesPrefix; 40710 var marksKeys = Object.keys(marks); 40711 var marksCount = marksKeys.length; 40712 var unit = 100 / (marksCount - 1); 40713 var markWidth = unit * 0.9; 40714 var range = max - min; 40715 var elements = marksKeys.map(Number) 40716 .sort(function (a, b) { return a - b; }) 40717 .map(function (point) { 40718 var _a; 40719 var active = ((!included 40720 && (point === upperBound)) 40721 || (included 40722 && (point <= upperBound) 40723 && (point >= lowerBound))); 40724 var classes = classJoin((_a = {}, 40725 _a[classesPrefix + 'active'] = active, 40726 _a), [classesPrefix + 'text']); 40727 var style = (vertical 40728 ? { 40729 marginBottom: '-50%', 40730 bottom: ((point - min) / range * 100) + '%', 40731 } 40732 : { 40733 width: markWidth + '%', 40734 marginLeft: (-markWidth / 2) + '%', 40735 left: ((point - min) / range * 100) + '%', 40736 }); 40737 var markPoint = marks[point]; 40738 return (Object(preact_modulebabel_target_legacy["h"])("span", { class: classes, style: style, key: String(point) }, markPoint)); 40739 }); 40740 return (Object(preact_modulebabel_target_legacy["h"])("div", { class: classesPrefix + 'marks' }, elements)); 40741} 40742 40743//# sourceMappingURL=Marks.js.map 40744// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/Steps.js?babel-target=legacy 40745 40746 40747function Steps(_a) { 40748 var min = _a.min, max = _a.max, step = _a.step, lowerBound = _a.lowerBound, upperBound = _a.upperBound, marks = _a.marks, dots = _a.dots, included = _a.included, vertical = _a.vertical, classesPrefix = _a.classesPrefix; 40749 var range = max - min; 40750 var elements = calcPoints(marks, dots, step, min, max).map(function (point) { 40751 var _a; 40752 var offset = (Math.abs(point - min) / range * 100) + '%'; 40753 var style = (vertical 40754 ? { bottom: offset } 40755 : { left: offset }); 40756 var active = ((!included 40757 && (point === upperBound)) 40758 || (included 40759 && (point <= upperBound) 40760 && (point >= lowerBound))); 40761 var classes = classJoin((_a = {}, 40762 _a[classesPrefix + 'active'] = active, 40763 _a), [classesPrefix + 'dot']); 40764 return (Object(preact_modulebabel_target_legacy["h"])("span", { class: classes, style: style, key: String(point) })); 40765 }); 40766 return (Object(preact_modulebabel_target_legacy["h"])("div", { class: classesPrefix + 'steps' }, elements)); 40767} 40768function calcPoints(marks, dots, step, min, max) { 40769 var points = Object.keys(marks).map(Number); 40770 if (dots && (step > 0)) { 40771 for (var i = min; i <= max; i = i + step) { 40772 if (points.indexOf(i) === -1) { 40773 points.push(i); 40774 } 40775 } 40776 } 40777 return points; 40778} 40779 40780//# sourceMappingURL=Steps.js.map 40781// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/AbstractSlider.js?babel-target=legacy 40782 40783 40784 40785 40786 40787 40788var MouseButtons; 40789(function (MouseButtons) {
40790 MouseButtons[MouseButtons["LEFT"] = 0] = "LEFT"; 40791 MouseButtons[MouseButtons["MIDDLE"] = 1] = "MIDDLE"; 40792 MouseButtons[MouseButtons["RIGHT"] = 2] = "RIGHT"; 40793 MouseButtons[MouseButtons["BACK"] = 3] = "BACK"; 40794 MouseButtons[MouseButtons["FORWARD"] = 4] = "FORWARD"; 40795})(MouseButtons || (MouseButtons = {})); 40796var AbstractSliderbabel_target_legacy_AbstractSlider = (function (_super) { 40797 __extends(AbstractSlider, _super); 40798 function AbstractSlider() { 40799 var _this = _super !== null && _super.apply(this, arguments) || this; 40800 _this.dragOffset = 0; 40801 _this.handlesRefs = []; 40802 _this.saveSlider = function (element) { 40803 _this.sliderRef = element; 40804 }; 40805 _this.saveHandle = function (component, index) { 40806 if (index === void 0) { index = 0; } 40807 if (component == null || component.base === undefined) { 40808 delete _this.handlesRefs[index]; 40809 } 40810 else { 40811 _this.handlesRefs[index] = component.base; 40812 } 40813 }; 40814 _this.calcMinValue = function (value, seekable) { 40815 return seekable && seekable > value ? seekable : value; 40816 }; 40817 _this.calcMaxValue = function (value, seekable) { 40818 return seekable && seekable < value ? seekable : value; 40819 }; 40820 _this.onMouseDown = function (event) { 40821 if (event.button !== MouseButtons.LEFT) { 40822 return; 40823 } 40824 var vertical = _this.props.vertical; 40825 var position = getMousePosition(vertical, event); 40826 if (isEventFromHandle(event, _this.handlesRefs)) { 40827 var handlePosition = getHandleCenterPosition(vertical, event.target); 40828 _this.dragOffset = position - handlePosition; 40829 position = handlePosition; 40830 } 40831 else { 40832 _this.dragOffset = 0; 40833 } 40834 _this.onStart(position); 40835 _this.addDocumentMouseEvents(); 40836 killEvent(event); 40837 }; 40838 _this.onTouchStart = function (event) { 40839 if (isNotCorrectTouchEvent(event)) { 40840 return; 40841 } 40842 var vertical = _this.props.vertical; 40843 var position = getTouchPosition(vertical, event); 40844 if (isEventFromHandle(event, _this.handlesRefs)) { 40845 var handlePosition = getHandleCenterPosition(vertical, event.target); 40846 _this.dragOffset = position - handlePosition; 40847 position = handlePosition; 40848 } 40849 else { 40850 _this.dragOffset = 0; 40851 } 40852 _this.onStart(position); 40853 _this.addDocumentTouchEvents(); 40854 killEvent(event); 40855 }; 40856 _this.onDocumentMouseMove = function (event) { 40857 if (!_this.sliderRef) { 40858 _this.onEnd(); 40859 return; 40860 } 40861 var position = getMousePosition(_this.props.vertical, event); 40862 _this.onMove(position - _this.dragOffset); 40863 killEvent(event); 40864 }; 40865 _this.onSliderMouseMove = function (event) { 40866 if (!_this.sliderRef) { 40867 _this.onEnd(); 40868 return; 40869 } 40870 var position = getMousePosition(_this.props.vertical, event); 40871 _this.onHover(position - _this.dragOffset); 40872 killEvent(event); 40873 }; 40874 _this.onSliderMouseLeave = function () { 40875 _this.setState({ 40876 toolTipDisplay: _this.state.dragging, 40877 }); 40878 }; 40879 _this.onTouchMove = function (event) { 40880 if (!_this.sliderRef 40881 || isNotCorrectTouchEvent(event)) { 40882 _this.onEnd(); 40883 return; 40884 } 40885 var position = getTouchPosition(_this.props.vertical, event); 40886 _this.onMove(position - _this.dragOffset); 40887 killEvent(event); 40888 }; 40889 _this.onEventEnd = function () { 40890 _this.removeDocumentEvents(); 40891 _this.onEnd(); 40892 _this.props.onAfterChange(_this.getValue()); 40893 }; 40894 return _this; 40895 } 40896 AbstractSlider.prototype.componentWillUnmount = function () { 40897 this.removeDocumentEvents(); 40898 this.removeElementEvents(); 40899 }; 40900 AbstractSlider.prototype.renderBase = function (tracks, handles) { 40901 var _a; 40902 var _b = this.props, min = _b.min, max = _b.max, step = _b.step, marks = _b.marks, dots = _b.dots, included = _b.included, vertical = _b.vertical, disabled = _b.disabled, className = _b.className, classesPrefix = _b.classesPrefix, children = _b.children, minSeekable = _b.minSeekable, maxSeekable = _b.maxSeekable; 40903 var lowerBound = this.getLowerBound(); 40904 var upperBound = this.getUpperBound(); 40905 var classes = classJoin((_a = {}, 40906 _a[classesPrefix + 'with-marks'] = Object.keys(marks).length, 40907 _a[classesPrefix + 'vertical'] = vertical,
40908 _a[classesPrefix + 'disabled'] = disabled, 40909 _a[classesPrefix + 'minSeekable'] = minSeekable && (minSeekable > min), 40910 _a[classesPrefix + 'maxSeekable'] = maxSeekable && (maxSeekable < max), 40911 _a), [className]); 40912 var unSeekableStyles = function () { 40913 var marginLeft = minSeekable && (minSeekable > min) ? ((minSeekable - min) / (max - min)) * 100 : 0; 40914 var marginRight = maxSeekable && (maxSeekable < max) ? ((max - maxSeekable) / (max - min)) * 100 : 0; 40915 var scrubberWidth = 100 - (marginRight + marginLeft); 40916 return { 40917 margin: "0 " + marginRight + "% 0 " + marginLeft + "%", 40918 width: scrubberWidth + "%", 40919 }; 40920 }; 40921 var maxValue = this.calcMaxValue(max, maxSeekable); 40922 var minValue = this.calcMinValue(min, minSeekable); 40923 return (Object(preact_modulebabel_target_legacy["h"])("div", { class: 'slider-container' }, 40924 Object(preact_modulebabel_target_legacy["h"])("div", { class: classes, ref: this.saveSlider, onTouchStart: disabled ? noop : this.onTouchStart, onMouseDown: disabled ? noop : this.onMouseDown, onMouseMove: disabled ? noop : this.onSliderMouseMove, onMouseLeave: disabled ? noop : this.onSliderMouseLeave, style: unSeekableStyles() }, 40925 Object(preact_modulebabel_target_legacy["h"])("div", { class: classesPrefix + 'rail' }), 40926 tracks, 40927 Object(preact_modulebabel_target_legacy["h"])(Steps, { vertical: vertical, marks: marks, dots: dots, step: step, included: included, lowerBound: lowerBound, upperBound: upperBound, max: maxValue, min: minValue, classesPrefix: classesPrefix }), 40928 handles, 40929 Object(preact_modulebabel_target_legacy["h"])(Marks, { vertical: vertical, marks: marks, included: included, lowerBound: lowerBound, upperBound: upperBound, max: maxValue, min: minValue, classesPrefix: classesPrefix }), 40930 children, 40931 this.state.toolTipDisplay && 40932 Object(preact_modulebabel_target_legacy["h"])("span", { class: classesPrefix + "tip\n\t\t\t\t\t\t\t" + classesPrefix + "tip-dragging-" + this.state.dragging + "\n\t\t\t\t\t\t\t" + classesPrefix + "tip-display-" + true, style: { left: this.calcOffset(this.state.toolTipValue) + "%" } }, 40933 formatTime(this.state.toolTipValue | 0), 40934 !this.state.dragging && Object(preact_modulebabel_target_legacy["h"])("span", { className: "tip-indicator" }))))); 40935 }; 40936 AbstractSlider.prototype.getSliderStart = function () { 40937 var slider = this.sliderRef; 40938 if (!slider) { 40939 return 0; 40940 } 40941 var rect = slider.getBoundingClientRect(); 40942 return (this.props.vertical 40943 ? rect.top 40944 : rect.left); 40945 }; 40946 AbstractSlider.prototype.getSliderLength = function () { 40947 var slider = this.sliderRef; 40948 if (!slider) { 40949 return 0; 40950 } 40951 return (this.props.vertical 40952 ? slider.clientHeight 40953 : slider.clientWidth); 40954 }; 40955 AbstractSlider.prototype.calcValue = function (offset) { 40956 var _a = this.props, vertical = _a.vertical, min = _a.min, max = _a.max, minSeekable = _a.minSeekable, maxSeekable = _a.maxSeekable; 40957 var minValue = this.calcMinValue(min, minSeekable); 40958 var maxValue = this.calcMaxValue(max, maxSeekable); 40959 var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength()); 40960 var value = (vertical 40961 ? ((1 - ratio) * (maxValue - minValue) + minValue) 40962 : (ratio * (maxValue - minValue) + minValue)); 40963 return maxSeekable ? value <= maxSeekable ? value : maxSeekable : value; 40964 }; 40965 AbstractSlider.prototype.calcValueByPos = function (position) { 40966 var pixelOffset = position - this.getSliderStart(); 40967 var nextValue = this.clampAlignValue(this.calcValue(pixelOffset)); 40968 return nextValue; 40969 }; 40970 AbstractSlider.prototype.calcOffset = function (value) { 40971 var _a = this.props, min = _a.min, max = _a.max, minSeekable = _a.minSeekable, maxSeekable = _a.maxSeekable; 40972 var minValue = this.calcMinValue(min, minSeekable); 40973 var maxValue = this.calcMaxValue(max, maxSeekable); 40974 var ratio = (value - minValue) / (maxValue - minValue); 40975 return ratio * 100; 40976 }; 40977 AbstractSlider.prototype.addDocumentMouseEvents = function () { 40978 document.addEventListener('mousemove', this.onDocumentMouseMove); 40979 document.addEventListener('mouseup', this.onEventEnd); 40980 }; 40981 AbstractSlider.prototype.addDocumentTouchEvents = function () { 40982 document.addEventListener('touchmove', this.onTouchMove); 40983 document.addEventListener('touchend', this.onEventEnd); 40984 }; 40985 AbstractSlider.prototype.removeDocumentEvents = function () { 40986 document.removeEventListener('mousemove', this.onDocumentMouseMove); 40987 document.removeEventListener('mouseup', this.onEventEnd); 40988 document.removeEventListener('touchmove', this.onTouchMove); 40989 document.removeEventListener('touchend', this.onEventEnd); 40990 }; 40991 AbstractSlider.prototype.removeElementEvents = function () { 40992 var slider = this.sliderRef; 40993 if (slider) { 40994 slider.removeEventListener('touchstart', this.onTouchStart); 40995 slider.removeEventListener('mousedown', this.onMouseDown); 40996 slider.removeEventListener('mousemove', this.onSliderMouseMove); 40997 slider.removeEventListener('mouseleave', this.onSliderMouseLeave); 40998 } 40999 }; 41000 AbstractSlider.defaultProps = { 41001 min: 0, 41002 max: 100, 41003 step: 1, 41004 marks: {}, 41005 dots: false, 41006 included: true, 41007 vertical: false, 41008 disabled: false, 41009 className: 'range-slider', 41010 classesPrefix: '', 41011 onBeforeChange: noop, 41012 onChange: noop, 41013 onAfterChange: noop, 41014 tipFormatter: String, 41015 minSeekable: undefined, 41016 maxSeekable: undefined, 41017 }; 41018 AbstractSlider.getDerivedStateFromProps = function (_props, _state) { return ({}); }; 41019 return AbstractSlider; 41020}(preact_modulebabel_target_legacy["Component"])); 41021 41022//# sourceMappingURL=AbstractSlider.js.map 41023// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/Handle.js?babel-target=legacy 41024 41025 41026 41027var Handlebabel_target_legacy_Handle = (function (_super) { 41028 __extends(Handle, _super); 41029 function Handle() { 41030 var _this = _super !== null && _super.apply(this, arguments) || this; 41031 _this.saveElement = function (element) { 41032 _this.elementRef = element; 41033 }; 41034 return _this; 41035 } 41036 Handle.prototype.render = function (_a) { 41037 var min = _a.min, max = _a.max, value = _a.value, vertical = _a.vertical, disabled = _a.disabled, dragging = _a.dragging, index = _a.index, offset = _a.offset, classesPrefix = _a.classesPrefix; 41038 var _b; 41039 var style = (vertical 41040 ? { 41041 bottom: offset + '%', 41042 } 41043 : { 41044 left: offset + '%', 41045 }); 41046 if (dragging && this.elementRef) { 41047 this.elementRef.focus(); 41048 } 41049 var classes = classJoin((_b = {}, 41050 _b[classesPrefix + 'dragging'] = dragging, 41051 _b), [ 41052 classesPrefix + 'handle', 41053 classesPrefix + "handle-" + index, 41054 ]); 41055 return (Object(preact_modulebabel_target_legacy["h"])("div", { class: classes, style: style, role: "slider", tabIndex: disabled ? undefined : 0, "aria-orientation": vertical ? 'vertical' : 'horizontal', "aria-disabled": String(disabled), "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, ref: this.saveElement })); 41056 }; 41057 return Handle; 41058}(preact_modulebabel_target_legacy["Component"])); 41059 41060//# sourceMappingURL=Handle.js.map 41061// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/Track.js?babel-target=legacy 41062 41063 41064var Trackbabel_target_legacy_Track = (function (_super) { 41065 __extends(Track, _super); 41066 function Track() { 41067 return _super !== null && _super.apply(this, arguments) || this; 41068 } 41069 Track.prototype.render = function (_a) { 41070 var vertical = _a.vertical, included = _a.included, index = _a.index, offset = _a.offset, length = _a.length, classesPrefix = _a.classesPrefix; 41071 var style = {}; 41072 if (!included) { 41073 style.visibility = 'hidden'; 41074 } 41075 if (vertical) { 41076 style.bottom = offset + '%'; 41077 style.height = length + '%'; 41078 } 41079 else { 41080 style.left = offset + '%'; 41081 style.width = length + '%'; 41082 } 41083 return (Object(preact_modulebabel_target_legacy["h"])("div", { class: classesPrefix + "track " + classesPrefix + "track-" + index, style: style })); 41084 }; 41085 return Track; 41086}(preact_modulebabel_target_legacy["Component"])); 41087 41088//# sourceMappingURL=Track.js.map 41089// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/Slider.js?babel-target=legacy 41090 41091 41092 41093 41094 41095 41096var Sliderbabel_target_legacy_Slider = (function (_super) { 41097 __extends(Slider, _super); 41098 function Slider(props) { 41099 var _this = _super.call(this, props) || this; 41100 var value = ((props.value != null) 41101 ? props.value 41102 : ((props.defaultValue != null) 41103 ? props.defaultValue 41104 : props.min)); 41105 _this.state = { 41106 dragging: false, 41107 value: _this.clampAlignValue(value), 41108 toolTipDisplay: false, 41109 toolTipValue: _this.clampAlignValue(value), 41110 }; 41111 return _this; 41112 } 41113 Slider.prototype.render = function (_a, _b) { 41114 var min = _a.min, max = _a.max, vertical = _a.vertical, included = _a.included, disabled = _a.disabled, classesPrefix = _a.classesPrefix; 41115 var value = _b.value, dragging = _b.dragging; 41116 var offset = this.calcOffset(value); 41117 var handle = (Object(preact_modulebabel_target_legacy["h"])(Handlebabel_target_legacy_Handle, { vertical: vertical, disabled: disabled, dragging: dragging, min: min, max: max, value: value, index: 1, offset: offset, classesPrefix: classesPrefix, ref: this.saveHandle, key: 'handle-0' })); 41118 var track = (Object(preact_modulebabel_target_legacy["h"])(Trackbabel_target_legacy_Track, { vertical: vertical, included: included, index: 1, offset: 0, length: offset, classesPrefix: classesPrefix, key: 'track-0' })); 41119 return this.renderBase(track, handle); 41120 }; 41121 Slider.prototype.getValue = function () { 41122 return this.state.value; 41123 }; 41124 Slider.prototype.getLowerBound = function () { 41125 return this.props.min; 41126 }; 41127 Slider.prototype.getUpperBound = function () { 41128 return this.state.value; 41129 }; 41130 Slider.prototype.onChange = function (state) { 41131 var _this = this; 41132 var props = this.props; 41133 var isControlled = ('value' in props); 41134 var hasValue = function (s) { 41135 return typeof s.value !== 'undefined'; 41136 }; 41137 if (isControlled && hasValue(state)) { 41138 props.onChange(state.value); 41139 return; 41140 } 41141 this.setState(state, function () { return props.onChange(_this.state.value); }); 41142 }; 41143 Slider.prototype.onStart = function (position) { 41144 this.setState({ dragging: true }); 41145 var prevValue = this.getValue(); 41146 this.props.onBeforeChange(prevValue); 41147 var value = this.calcValueByPos(position); 41148 if (value === prevValue) { 41149 return; 41150 } 41151 this.setState({ 41152 toolTipDisplay: true, 41153 toolTipValue: value, 41154 }); 41155 this.onChange({ value: value }); 41156 }; 41157 Slider.prototype.onMove = function (position) { 41158 var value = this.calcValueByPos(position); 41159 var oldValue = this.state.value; 41160 if (value === oldValue) { 41161 return; 41162 } 41163 this.setState({ 41164 toolTipDisplay: true, 41165 toolTipValue: value, 41166 }); 41167 this.onChange({ value: value }); 41168 }; 41169 Slider.prototype.onHover = function (position) { 41170 var value = this.calcValueByPos(position); 41171 var oldValue = this.state.value; 41172 if (value === oldValue) { 41173 return; 41174 } 41175 this.setState({ 41176 toolTipDisplay: true, 41177 toolTipValue: value, 41178 }); 41179 if (this.state.dragging) { 41180 this.onChange({ value: value }); 41181 } 41182 }; 41183 Slider.prototype.onEnd = function () { 41184 this.setState({ 41185 toolTipDisplay: false, 41186 dragging: false, 41187 }); 41188 }; 41189 Slider.prototype.clampAlignValue = function (value, nextProps) { 41190 if (nextProps === void 0) { nextProps = {}; } 41191 var mergedProps = __assign({}, this.props, nextProps); 41192 return alignValue(clampValue(value, mergedProps), mergedProps); 41193 }; 41194 Slider.getDerivedStateFromProps = function (props, state) { 41195 var nextProps = props; 41196 var prevState = state; 41197 if (!(('value' in nextProps) 41198 || ('min' in nextProps) 41199 || ('max' in nextProps))) { 41200 return {}; 41201 } 41202 var prevValue = prevState.value; 41203 var value = ((nextProps.value == null) 41204 ? prevValue 41205 : nextProps.value); 41206 var nextValue = alignValue(clampValue(value, nextProps), nextProps);
41207 if (nextValue === prevValue) { 41208 return {}; 41209 } 41210 if (isValueOutOfRange(value, nextProps)) { 41211 nextProps.onChange(nextValue); 41212 } 41213 return { value: nextValue }; 41214 }; 41215 return Slider; 41216}(AbstractSliderbabel_target_legacy_AbstractSlider)); 41217 41218//# sourceMappingURL=Slider.js.map 41219// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm/components/MultiSlider.js?babel-target=legacy 41220 41221 41222 41223 41224 41225 41226var MultiSliderbabel_target_legacy_MultiSlider = (function (_super) { 41227 __extends(MultiSlider, _super); 41228 function MultiSlider(props) { 41229 var _this = _super.call(this, props) || this; 41230 var count = props.count, min = props.min, max = props.max; 41231 var initialValue = Array(count + 1).slice().map(function () { return min; }); 41232 var values = ((props.value != null) 41233 ? props.value 41234 : ((props.defaultValue != null) 41235 ? props.defaultValue 41236 : initialValue)); 41237 var bounds = values.map(function (value) { return _this.clampAlignValue(value); }); 41238 var recent = ((bounds[0] === max) 41239 ? 0 41240 : bounds.length - 1); 41241 _this.state = { 41242 handle: null, 41243 recent: recent, 41244 bounds: bounds, 41245 dragging: false, 41246 value: 0, 41247 toolTipDisplay: false, 41248 toolTipValue: 0, 41249 }; 41250 return _this; 41251 } 41252 MultiSlider.prototype.render = function (_a, _b) { 41253 var _this = this; 41254 var min = _a.min, max = _a.max, vertical = _a.vertical, included = _a.included, disabled = _a.disabled, classesPrefix = _a.classesPrefix; 41255 var handle = _b.handle, bounds = _b.bounds; 41256 var offsets = bounds.map(function (value) { return _this.calcOffset(value); }); 41257 var handles = bounds.map(function (value, index) { return (Object(preact_modulebabel_target_legacy["h"])(Handlebabel_target_legacy_Handle, { vertical: vertical, disabled: disabled, dragging: handle === index, min: min, max: max, value: value, index: index + 1, offset: offsets[index], classesPrefix: classesPrefix, ref: function (component) { return _this.saveHandle(component, index); }, key: "handle-" + index })); }); 41258 var tracks = bounds.slice(0, -1).map(function (_value, index) { 41259 var nextIndex = index + 1; 41260 return (Object(preact_modulebabel_target_legacy["h"])(Trackbabel_target_legacy_Track, { vertical: vertical, included: included, index: nextIndex, offset: offsets[index], length: offsets[nextIndex] - offsets[index], classesPrefix: classesPrefix, key: "track-" + index })); 41261 }); 41262 return this.renderBase(tracks, handles); 41263 }; 41264 MultiSlider.prototype.getValue = function () { 41265 return this.state.bounds; 41266 }; 41267 MultiSlider.prototype.getLowerBound = function () { 41268 return this.state.bounds[0]; 41269 }; 41270 MultiSlider.prototype.getUpperBound = function () { 41271 var bounds = this.state.bounds; 41272 return bounds[bounds.length - 1]; 41273 }; 41274 MultiSlider.prototype.onChange = function (state) { 41275 var props = this.props; 41276 var isNotControlled = !('value' in props); 41277 var hasHandle = function (s) { 41278 return typeof s.handle !== 'undefined'; 41279 }; 41280 if (isNotControlled) { 41281 this.setState(state); 41282 } 41283 else if (hasHandle(state)) { 41284 this.setState({ handle: state.handle }); 41285 } 41286 var data = __assign({}, this.state, state); 41287 props.onChange(data.bounds); 41288 }; 41289 MultiSlider.prototype.onStart = function (position) { 41290 var props = this.props; 41291 var state = this.state; 41292 var bounds = this.getValue(); 41293 props.onBeforeChange(bounds); 41294 var value = this.calcValueByPos(position); 41295 var closestBound = this.getClosestBound(value); 41296 var boundNeedMoving = this.getBoundNeedMoving(value, closestBound); 41297 this.setState({ 41298 handle: boundNeedMoving, 41299 recent: boundNeedMoving, 41300 }); 41301 var prevValue = bounds[boundNeedMoving]; 41302 if (value === prevValue) { 41303 return; 41304 } 41305 var nextBounds = state.bounds.slice(); 41306 nextBounds[boundNeedMoving] = value; 41307 this.onChange({ bounds: nextBounds }); 41308 }; 41309 MultiSlider.prototype.onHover = function (position) { 41310 var value = this.calcValueByPos(position); 41311 this.setState({ 41312 toolTipValue: value, 41313 toolTipDisplay: false, 41314 }); 41315 }; 41316 MultiSlider.prototype.onMove = function (position) { 41317 var props = this.props; 41318 var state = this.state; 41319 if (state.handle == null) { 41320 return; 41321 } 41322 var value = this.calcValueByPos(position); 41323 var oldValue = state.bounds[state.handle]; 41324 if (value === oldValue) { 41325 return; 41326 } 41327 var nextBounds = state.bounds.slice(); 41328 nextBounds[state.handle] = value; 41329 var nextHandle = state.handle; 41330 if (props.pushable !== false) { 41331 var originalValue = state.bounds[nextHandle]; 41332 this.pushSurroundingHandles(nextBounds, nextHandle, originalValue); 41333 } 41334 else if (props.allowCross) { 41335 nextBounds.sort(function (a, b) { return a - b; }); 41336 nextHandle = nextBounds.indexOf(value); 41337 } 41338 this.onChange({ 41339 handle: nextHandle, 41340 bounds: nextBounds, 41341 }); 41342 }; 41343 MultiSlider.prototype.onEnd = function () { 41344 this.setState({ handle: null }); 41345 }; 41346 MultiSlider.prototype.clampAlignValue = function (value, nextProps) { 41347 if (nextProps === void 0) { nextProps = {}; } 41348 var mergedProps = __assign({}, this.props, nextProps); 41349 return alignValue(this.clampValueToSurroundingHandles(clampValue(value, mergedProps), mergedProps), mergedProps); 41350 }; 41351 MultiSlider.prototype.getClosestBound = function (value) { 41352 var bounds = this.state.bounds; 41353 var closestBound = 0; 41354 for (var i = 1, n = bounds.length - 1; i < n; i++) { 41355 if (value > bounds[i]) { 41356 closestBound = i; 41357 } 41358 } 41359 if (Math.abs(bounds[closestBound + 1] - value) 41360 < Math.abs(bounds[closestBound] - value)) { 41361 closestBound += 1; 41362 } 41363 return closestBound; 41364 }; 41365 MultiSlider.prototype.getBoundNeedMoving = function (value, closestBound) { 41366 var _a = this.state, bounds = _a.bounds, recent = _a.recent; 41367 var boundNeedMoving = closestBound; 41368 var nextBound = closestBound + 1;
41369 var atTheSamePoint = (bounds[nextBound] === bounds[closestBound]); 41370 if (atTheSamePoint) { 41371 if (bounds[recent] === bounds[closestBound]) { 41372 boundNeedMoving = recent; 41373 } 41374 else { 41375 boundNeedMoving = nextBound; 41376 } 41377 if (value !== bounds[nextBound]) { 41378 boundNeedMoving = ((value < bounds[nextBound]) 41379 ? closestBound 41380 : nextBound); 41381 } 41382 } 41383 return boundNeedMoving; 41384 }; 41385 MultiSlider.prototype.pushSurroundingHandles = function (bounds, handle, originalValue) { 41386 var threshold = Number(this.props.pushable); 41387 var value = bounds[handle]; 41388 var direction = 0; 41389 if ((bounds[handle + 1] - value) < threshold) { 41390 direction = +1; 41391 } 41392 if ((value - bounds[handle - 1]) < threshold) { 41393 direction = -1; 41394 } 41395 if (direction === 0) { 41396 return; 41397 } 41398 var nextHandle = handle + direction; 41399 var diffToNext = direction * (bounds[nextHandle] - value); 41400 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) { 41401 bounds[handle] = originalValue; 41402 } 41403 }; 41404 MultiSlider.prototype.pushHandle = function (bounds, handle, direction, amount) { 41405 var originalValue = bounds[handle]; 41406 var currentValue = bounds[handle]; 41407 while ((direction * (currentValue - originalValue)) < amount) { 41408 if (!this.pushHandleOnePoint(bounds, handle, direction)) { 41409 bounds[handle] = originalValue; 41410 return false; 41411 } 41412 currentValue = bounds[handle]; 41413 } 41414 return true; 41415 }; 41416 MultiSlider.prototype.pushHandleOnePoint = function (bounds, handle, direction) { 41417 var points = this.getPoints(); 41418 var pointIndex = points.indexOf(bounds[handle]); 41419 var nextPointIndex = pointIndex + direction; 41420 if ((nextPointIndex >= points.length) 41421 || (nextPointIndex < 0)) { 41422 return false; 41423 } 41424 var nextHandle = handle + direction; 41425 var nextValue = points[nextPointIndex]; 41426 var threshold = Number(this.props.pushable); 41427 var diffToNext = direction * (bounds[nextHandle] - nextValue); 41428 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) { 41429 return false; 41430 } 41431 bounds[handle] = nextValue; 41432 return true; 41433 }; 41434 MultiSlider.prototype.getPoints = function () { 41435 var _a = this.props, marks = _a.marks, step = _a.step, min = _a.min, max = _a.max; 41436 var cache = this.pointsCache; 41437 if (!cache 41438 || (cache.marks !== marks) 41439 || (cache.step !== step)) { 41440 var pointsObject = __assign({}, marks); 41441 if ((step != null) 41442 && (step > 0)) { 41443 for (var point = min; point <= max; point += step) { 41444 pointsObject[point] = String(point); 41445 } 41446 } 41447 var points = Object.keys(pointsObject).map(Number); 41448 points.sort(function (a, b) { return a - b; }); 41449 this.pointsCache = { marks: marks, step: step, points: points }; 41450 } 41451 return this.pointsCache.points; 41452 }; 41453 MultiSlider.prototype.clampValueToSurroundingHandles = function (value, props) { 41454 return clampValueToSurroundingHandles(value, props, this.state); 41455 }; 41456 MultiSlider.defaultProps = __assign({}, AbstractSliderbabel_target_legacy_AbstractSlider.defaultProps, { count: 1, allowCross: true, pushable: false }); 41457 MultiSlider.getDerivedStateFromProps = function (nextProps, prevState) { 41458 if (!(('value' in nextProps) 41459 || ('min' in nextProps) 41460 || ('max' in nextProps))) { 41461 return {}; 41462 } 41463 var props = nextProps; 41464 var state = prevState; 41465 var bounds = state.bounds; 41466 var value = props.value || bounds; 41467 var nextBounds = value.map(function (singleValue) { return alignValue(clampValueToSurroundingHandles(clampValue(singleValue, props), props, state), props); });
41468 if ((nextBounds.length === bounds.length) 41469 && nextBounds.every(function (singleValue, index) { return (singleValue === bounds[index]); })) { 41470 return {}; 41471 } 41472 if (bounds.some(function (singleValue) { return isValueOutOfRange(singleValue, props); })) { 41473 props.onChange(nextBounds); 41474 } 41475 return { bounds: nextBounds }; 41476 }; 41477 return MultiSlider; 41478}(AbstractSliderbabel_target_legacy_AbstractSlider)); 41479 41480//# sourceMappingURL=MultiSlider.js.map 41481// CONCATENATED MODULE: ./node_modules/@aerian/preact-range-slider/es5-esm?babel-target=legacy 41482 41483 41484//# sourceMappingURL=index.js.map 41485// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 41486var hooks_modulebabel_target_legacy = __webpack_require__(4); 41487 41488// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 41489var es_array_concatbabel_target_legacy = __webpack_require__(75); 41490 41491// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 41492var es_array_mapbabel_target_legacy = __webpack_require__(77); 41493 41494// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js?babel-target=legacy 41495var es_array_slicebabel_target_legacy = __webpack_require__(177); 41496 41497// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.from-code-point.js?babel-target=legacy 41498var es_string_from_code_pointbabel_target_legacy = __webpack_require__(460); 41499 41500// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 41501var toConsumableArraybabel_target_legacy = __webpack_require__(37); 41502var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 41503 41504// CONCATENATED MODULE: ./src/lib/number.ts?babel-target=legacy 41505 41506 41507 41508 41509 41510var numberbabel_target_legacy_ONEHOUR = 3600; 41511var ONEWEEK = 604800; 41512var numberbabel_target_legacy_zeroPad = function zeroPad(num) { 41513 return num >= 100 ? "".concat(Math.floor(num)) : "00".concat(Math.floor(num)).slice(-2); 41514}; 41515var numberbabel_target_legacy_formatTime = function formatTime(seconds) { 41516 if (isNaN(seconds) || seconds === Infinity) { 41517 return ""; 41518 } 41519 41520 if (seconds > ONEWEEK) { 41521 var date = new Date(seconds * 1000); 41522 return "".concat(numberbabel_target_legacy_zeroPad(date.getHours()), ":").concat(numberbabel_target_legacy_zeroPad(date.getMinutes()), ":").concat(numberbabel_target_legacy_zeroPad(date.getSeconds())); 41523 } 41524 41525 var sign = ""; 41526 41527 if (seconds < 0) { 41528 seconds = Math.abs(seconds); 41529 sign = "-"; 41530 } 41531 41532 if (seconds < numberbabel_target_legacy_ONEHOUR) { 41533 return "".concat(sign + numberbabel_target_legacy_zeroPad(seconds / 60), ":").concat(numberbabel_target_legacy_zeroPad(seconds % 60)); 41534 } 41535 41536 var formatted = "".concat(Math.floor(seconds / numberbabel_target_legacy_ONEHOUR), ":").concat(numberbabel_target_legacy_zeroPad(seconds % numberbabel_target_legacy_ONEHOUR / 60), ":").concat(numberbabel_target_legacy_zeroPad(seconds % 60)); 41537 return "".concat(sign).concat(formatted); 41538}; 41539var OFFSET = 127397; 41540var numberbabel_target_legacy_flag = function flag(countryCode) { 41541 return /^[A-Z]{2}$/.test(countryCode) ? String.fromCodePoint.apply(String, toConsumableArraybabel_target_legacy_default()(toConsumableArraybabel_target_legacy_default()(countryCode).map(function (c) { 41542 return c.charCodeAt(0) + OFFSET; 41543 }))) : ""; 41544}; 41545// EXTERNAL MODULE: ./src/components/Scrubber/Slider.scss 41546var Scrubber_Slider = __webpack_require__(768); 41547 41548// EXTERNAL MODULE: ./src/components/Scrubber/Scrubber.module.scss 41549var Scrubber_module = __webpack_require__(299); 41550 41551// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 41552var classnames_babel_target_legacy = __webpack_require__(27); 41553var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 41554 41555// EXTERNAL MODULE: ./src/components/LiveIcon/index.ts?babel-target=legacy + 1 modules 41556var LiveIconbabel_target_legacy = __webpack_require__(305); 41557 41558// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 41559var es_babel_target_legacy = __webpack_require__(25); 41560 41561// CONCATENATED MODULE: ./src/components/Scrubber/Scrubber.tsx?babel-target=legacy 41562 41563 41564 41565 41566 41567 41568 41569 41570 41571 41572 41573var Scrubberbabel_target_legacy_Scrubber = function Scrubber(_ref) { 41574 var secondaryColor = _ref.secondaryColor, 41575 min = _ref.min, 41576 max = _ref.max, 41577 value = _ref.value, 41578 disabled = _ref.disabled, 41579 onValueChange = _ref.onValueChange, 41580 minSeekable = _ref.minSeekable, 41581 maxSeekable = _ref.maxSeekable, 41582 live = _ref.live, 41583 darkTheme = _ref.darkTheme; 41584 41585 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 41586 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 41587 sliderValue = _useState2[0], 41588 setSliderValue = _useState2[1]; 41589 41590 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 41591 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 41592 scrubbing = _useState4[0], 41593 setScrubbing = _useState4[1]; 41594 41595 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41596 t = _useTranslation.t; 41597 41598 var startDrag = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 41599 setScrubbing(true); 41600 }, []); 41601 var endDrag = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 41602 setScrubbing(false); 41603 onValueChange(sliderValue); 41604 }, [sliderValue, onValueChange]); 41605 41606 var onChange = function onChange(val) { 41607 setSliderValue(val); 41608 }; 41609 41610 var displayValue = scrubbing ? sliderValue : value; 41611 41612 if (disabled) { 41613 maxSeekable = displayValue; 41614 } 41615 41616 return Object(preact_modulebabel_target_legacy["h"])("div", { 41617 className: classnames_babel_target_legacy_default()(Scrubber_module["wrap"], definePropertybabel_target_legacy_default()({}, Scrubber_module["dark"], darkTheme)), 41618 style: { 41619 color: secondaryColor 41620 } 41621 }, Object(preact_modulebabel_target_legacy["h"])(Sliderbabel_target_legacy_Slider, { 41622 min: min, 41623 max: max, 41624 defaultValue: displayValue, 41625 value: displayValue, 41626 disabled: disabled, 41627 onChange: onChange, 41628 onBeforeChange: startDrag, 41629 onAfterChange: endDrag, 41630 tipFormatter: numberbabel_target_legacy_formatTime, 41631 minSeekable: minSeekable, 41632 maxSeekable: maxSeekable 41633 }), Object(preact_modulebabel_target_legacy["h"])("div", { 41634 className: Scrubber_module["labels"], 41635 style: { 41636 color: secondaryColor 41637 } 41638 }, Object(preact_modulebabel_target_legacy["h"])("label", null, !disabled && numberbabel_target_legacy_formatTime(
41638displayValue)), Object(preact_modulebabel_target_legacy["h"])("label", null, live ? [Object(preact_modulebabel_target_legacy["h"])(LiveIconbabel_target_legacy["a" /* LiveIcon */], { 41639 animate: true, 41640 key: "icon" 41641 }), t("LABEL_LIVE")] : numberbabel_target_legacy_formatTime(max)))); 41642}; 41643// CONCATENATED MODULE: ./src/components/Scrubber/index.ts?babel-target=legacy 41644 41645 41646/***/ }), 41647/* 783 */, 41648/* 784 */ 41649/***/ (function(module, __webpack_exports__, __webpack_require__) { 41650 41651"use strict"; 41652 41653// EXPORTS 41654__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ TransportControlsbabel_target_legacy_TransportControls; }); 41655 41656// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 41657var definePropertybabel_target_legacy = __webpack_require__(15); 41658var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 41659 41660// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 41661var preact_modulebabel_target_legacy = __webpack_require__(1); 41662 41663// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 41664var classnames_babel_target_legacy = __webpack_require__(27); 41665var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 41666 41667// EXTERNAL MODULE: ./src/components/PlayButton/index.ts?babel-target=legacy + 1 modules 41668var PlayButtonbabel_target_legacy = __webpack_require__(433); 41669 41670// EXTERNAL MODULE: ./src/components/Scrubber/index.ts?babel-target=legacy + 13 modules 41671var Scrubberbabel_target_legacy = __webpack_require__(782); 41672 41673// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 41674var extendsbabel_target_legacy = __webpack_require__(50); 41675var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 41676 41677// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 41678var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 41679var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 41680 41681// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 41682var slicedToArraybabel_target_legacy = __webpack_require__(8); 41683var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 41684 41685// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 41686var hooks_modulebabel_target_legacy = __webpack_require__(4); 41687 41688// CONCATENATED MODULE: ./src/components/AnimatingButton/AnimatingButton.tsx?babel-target=legacy 41689 41690 41691 41692 41693 41694 41695 41696var AnimatingButtonbabel_target_legacy_AnimatingButton = function AnimatingButton(_ref) { 41697 var _ref$mouseDownClassNa = _ref.mouseDownClassName, 41698 mouseDownClassName = _ref$mouseDownClassNa === void 0 ? "mousedown" : _ref$mouseDownClassNa, 41699 className = _ref.className, 41700 children = _ref.children, 41701 delay = _ref.delay, 41702 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["mouseDownClassName", "className", "children", "delay"]); 41703 41704 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 41705 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 41706 mouseIsDown = _useState2[0], 41707 setMouseIsDown = _useState2[1]; 41708 41709 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(undefined), 41710 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 41711 timeout = _useState4[0], 41712 setTimeout = _useState4[1]; 41713 41714 var mousedown = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 41715 setMouseIsDown(true); 41716 }, []); 41717 var mouseup = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 41718 if (timeout) { 41719 window.clearTimeout(timeout); 41720 } 41721 41722 if (delay) { 41723 setTimeout(window.setTimeout(function () { 41724 setMouseIsDown(false); 41725 setTimeout(undefined); 41726 }, delay)); 41727 return; 41728 } 41729 41730 setMouseIsDown(false); 41731 }, [timeout, delay]); 41732 return Object(preact_modulebabel_target_legacy["h"])("button", extendsbabel_target_legacy_default()({}, props, { 41733 onMouseDown: mousedown, 41734 onTouchStart: mousedown, 41735 onMouseUp: mouseup, 41736 onMouseLeave: mouseup, 41737 onTouchCancel: mouseup, 41738 onTouchEnd: mouseup, 41739 className: classnames_babel_target_legacy_default()(className, definePropertybabel_target_legacy_default()({}, mouseDownClassName, mouseIsDown)) 41740 }), children); 41741}; 41742/* harmony default export */ var AnimatingButtonbabel_target_legacy = (AnimatingButtonbabel_target_legacy_AnimatingButton); 41743// CONCATENATED MODULE: ./src/components/AnimatingButton/index.ts?babel-target=legacy 41744 41745// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 41746var RPIconbabel_target_legacy = __webpack_require__(42); 41747 41748// EXTERNAL MODULE: ./src/components/SkipBackButton/SkipBackButton.module.scss 41749var SkipBackButton_module = __webpack_require__(193); 41750var SkipBackButton_module_default = /*#__PURE__*/__webpack_require__.n(SkipBackButton_module); 41751 41752// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 41753var es_babel_target_legacy = __webpack_require__(25); 41754 41755// CONCATENATED MODULE: ./src/components/SkipBackButton/SkipBackButton.tsx?babel-target=legacy 41756 41757 41758 41759 41760 41761 41762 41763 41764
41765var SkipBackButtonbabel_target_legacy_SkipBackButton = function SkipBackButton(_ref) { 41766 var darkTheme = _ref.darkTheme, 41767 className = _ref.className, 41768 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["darkTheme", "className"]); 41769 41770 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41771 t = _useTranslation.t; 41772 41773 return Object(preact_modulebabel_target_legacy["h"])(AnimatingButtonbabel_target_legacy_AnimatingButton, extendsbabel_target_legacy_default()({}, props, { 41774 mouseDownClassName: SkipBackButton_module_default.a.rotate, 41775 className: classnames_babel_target_legacy_default()(className, SkipBackButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, SkipBackButton_module_default.a.dark, darkTheme)), 41776 "aria-label": t("ARIA_SKIP_BACK_10") 41777 }), Object(preact_modulebabel_target_legacy["h"])("picture", { 41778 className: SkipBackButton_module_default.a.arrow 41779 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41780 src: __webpack_require__(1007), 41781 colour: "currentColor" 41782 })), Object(preact_modulebabel_target_legacy["h"])("picture", { 41783 className: SkipBackButton_module_default.a.text 41784 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41785 src: __webpack_require__(1008), 41786 colour: "currentColor" 41787 }))); 41788}; 41789/* harmony default export */ var SkipBackButtonbabel_target_legacy = (SkipBackButtonbabel_target_legacy_SkipBackButton); 41790// CONCATENATED MODULE: ./src/components/SkipBackButton/index.ts?babel-target=legacy 41791 41792// EXTERNAL MODULE: ./src/components/SkipForwardButton/SkipForwardButton.module.scss 41793var SkipForwardButton_module = __webpack_require__(194); 41794var SkipForwardButton_module_default = /*#__PURE__*/__webpack_require__.n(SkipForwardButton_module); 41795 41796// CONCATENATED MODULE: ./src/components/SkipForwardButton/SkipForwardButton.tsx?babel-target=legacy 41797 41798 41799 41800 41801 41802 41803 41804 41805 41806var SkipForwardButtonbabel_target_legacy_SkipForwardButton = function SkipForwardButton(_ref) { 41807 var darkTheme = _ref.darkTheme, 41808 className = _ref.className, 41809 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["darkTheme", "className"]); 41810 41811 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41812 t = _useTranslation.t; 41813 41814 return Object(preact_modulebabel_target_legacy["h"])(AnimatingButtonbabel_target_legacy_AnimatingButton, extendsbabel_target_legacy_default()({}, props, { 41815 mouseDownClassName: SkipForwardButton_module_default.a.rotate, 41816 className: classnames_babel_target_legacy_default()(className, SkipForwardButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, SkipForwardButton_module_default.a.dark, darkTheme)), 41817 "aria-label": t("ARIA_SKIP_FORWARD_30") 41818 }), Object(preact_modulebabel_target_legacy["h"])("picture", { 41819 className: SkipForwardButton_module_default.a.arrow 41820 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41821 src: __webpack_require__(1009), 41822 colour: "currentColor" 41823 })), Object(preact_modulebabel_target_legacy["h"])("picture", { 41824 className: SkipForwardButton_module_default.a.text 41825 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41826 src: __webpack_require__(1010), 41827 colour: "currentColor" 41828 }))); 41829}; 41830/* harmony default export */ var SkipForwardButtonbabel_target_legacy = (SkipForwardButtonbabel_target_legacy_SkipForwardButton); 41831// CONCATENATED MODULE: ./src/components/SkipForwardButton/index.ts?babel-target=legacy 41832 41833// EXTERNAL MODULE: ./src/components/SkipToLiveButton/SkipToLiveButton.module.scss 41834var SkipToLiveButton_module = __webpack_require__(195); 41835var SkipToLiveButton_module_default = /*#__PURE__*/__webpack_require__.n(SkipToLiveButton_module); 41836 41837// CONCATENATED MODULE: ./src/components/SkipToLiveButton/SkipToLiveButton.tsx?babel-target=legacy 41838 41839 41840 41841 41842 41843 41844 41845 41846 41847var SkipToLiveButtonbabel_target_legacy_SkipToLiveButton = function SkipToLiveButton(_ref) { 41848 var darkTheme = _ref.darkTheme, 41849 className = _ref.className, 41850 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["darkTheme", "className"]); 41851 41852 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41853 t = _useTranslation.t; 41854 41855 return Object(preact_modulebabel_target_legacy["h"])(AnimatingButtonbabel_target_legacy_AnimatingButton, extendsbabel_target_legacy_default()({}, props, { 41856 mouseDownClassName: SkipToLiveButton_module_default.a.rotate, 41857 className: classnames_babel_target_legacy_default()(className, SkipToLiveButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, SkipToLiveButton_module_default.a.dark, darkTheme)), 41858 delay: 500, 41859 "aria-label": t("ARIA_SKIP_TO_LIVE") 41860 }), Object(preact_modulebabel_target_legacy["h"])("span", { 41861 className: SkipToLiveButton_module_default.a.arrow, 41862 "aria-hidden": "true" 41863 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41864 src: __webpack_require__(1011), 41865 colour: "currentColor" 41866 })), Object(preact_modulebabel_target_legacy["h"])("span", { 41867 className: SkipToLiveButton_module_default.a.text, 41868 "aria-hidden": "true" 41869 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41870 src: __webpack_require__(1012), 41871 colour: "currentColor" 41872 }))); 41873}; 41874/* harmony default export */ var SkipToLiveButtonbabel_target_legacy = (SkipToLiveButtonbabel_target_legacy_SkipToLiveButton); 41875// CONCATENATED MODULE: ./src/components/SkipToLiveButton/index.ts?babel-target=legacy 41876 41877// EXTERNAL MODULE: ./src/components/SkipToStartButton/SkipToStartButton.module.scss 41878var SkipToStartButton_module = __webpack_require__(196); 41879var SkipToStartButton_module_default = /*#__PURE__*/__webpack_require__.n(SkipToStartButton_module); 41880 41881// CONCATENATED MODULE: ./src/components/SkipToStartButton/SkipToStartButton.tsx?babel-target=legacy 41882 41883 41884 41885 41886 41887 41888 41889 41890 41891var SkipToStartButtonbabel_target_legacy_SkipToStartButton = function Ski
41891pToStartButton(_ref) { 41892 var darkTheme = _ref.darkTheme, 41893 className = _ref.className, 41894 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["darkTheme", "className"]); 41895 41896 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41897 t = _useTranslation.t; 41898 41899 return Object(preact_modulebabel_target_legacy["h"])(AnimatingButtonbabel_target_legacy_AnimatingButton, extendsbabel_target_legacy_default()({}, props, { 41900 mouseDownClassName: SkipToStartButton_module_default.a.rotate, 41901 className: classnames_babel_target_legacy_default()(className, SkipToStartButton_module_default.a.button, definePropertybabel_target_legacy_default()({}, SkipToStartButton_module_default.a.dark, darkTheme)), 41902 delay: 500, 41903 "aria-label": t("ARIA_RESTART_SHOW") 41904 }), Object(preact_modulebabel_target_legacy["h"])("span", { 41905 className: SkipToStartButton_module_default.a.arrow, 41906 "aria-hidden": "true" 41907 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41908 src: __webpack_require__(1013), 41909 colour: "currentColor" 41910 })), Object(preact_modulebabel_target_legacy["h"])("span", { 41911 className: SkipToStartButton_module_default.a.text, 41912 "aria-hidden": "true" 41913 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 41914 src: __webpack_require__(1014), 41915 colour: "currentColor" 41916 }))); 41917}; 41918/* harmony default export */ var SkipToStartButtonbabel_target_legacy = (SkipToStartButtonbabel_target_legacy_SkipToStartButton); 41919// CONCATENATED MODULE: ./src/components/SkipToStartButton/index.ts?babel-target=legacy 41920 41921// EXTERNAL MODULE: ./src/components/Spinner/index.ts?babel-target=legacy + 1 modules 41922var Spinnerbabel_target_legacy = __webpack_require__(236); 41923 41924// EXTERNAL MODULE: ./src/components/VolumeControl/index.ts?babel-target=legacy + 1 modules 41925var VolumeControlbabel_target_legacy = __webpack_require__(528); 41926 41927// EXTERNAL MODULE: ./src/components/TransportControls/TransportControls.module.scss 41928var TransportControls_module = __webpack_require__(91); 41929var TransportControls_module_default = /*#__PURE__*/__webpack_require__.n(TransportControls_module); 41930 41931// EXTERNAL MODULE: ./src/components/FaveButton/index.ts?babel-target=legacy + 3 modules 41932var FaveButtonbabel_target_legacy = __webpack_require__(330); 41933 41934// EXTERNAL MODULE: ./src/components/StationLogo/index.ts?babel-target=legacy + 1 modules 41935var StationLogobabel_target_legacy = __webpack_require__(529); 41936 41937// CONCATENATED MODULE: ./src/components/TransportControls/TransportControls.tsx?babel-target=legacy 41938 41939 41940 41941 41942 41943 41944 41945 41946 41947 41948 41949 41950 41951 41952 41953var TransportControlsbabel_target_legacy_TransportControls = function TransportControls(_ref) { 41954 var _classNames; 41955 41956 var darkTheme = _ref.darkTheme, 41957 live = _ref.live, 41958 seekable = _ref.seekable, 41959 paused = _ref.paused, 41960 time = _ref.time, 41961 showStart = _ref.showStart, 41962 showEnd = _ref.showEnd, 41963 start = _ref.start, 41964 end = _ref.end, 41965 requestSeek = _ref.requestSeek, 41966 stalled = _ref.stalled, 41967 showPlayButton = _ref.showPlayButton, 41968 requestPlay = _ref.requestPlay, 41969 skipBack = _ref.skipBack, 41970 skipForward = _ref.skipForward, 41971 skipToLive = _ref.skipToLive, 41972 skipToStart = _ref.skipToStart, 41973 _ref$volume = _ref.volume, 41974 volume = _ref$volume === void 0 ? 0 : _ref$volume, 41975 setVolume = _ref.setVolume, 41976 rpId = _ref.rpId, 41977 disabled = _ref.disabled, 41978 attention = _ref.attention, 41979 disablePlaybackButtons = _ref.disablePlaybackButtons, 41980 disableScrubber = _ref.disableScrubber, 41981 logo = _ref.logo, 41982 stationUrl = _ref.stationUrl, 41983 stationName = _ref.stationName; 41984 var min = typeof showStart !== "undefined" ? showStart : start; 41985 var max = typeof showEnd !== "undefined" ? showEnd : end; 41986 41987 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 41988 t = _useTranslation.t; 41989 41990 return Object(preact_modulebabel_target_legacy["h"])("div", { 41991 className: classnames_babel_target_legacy_default()(TransportControls_module_default.a.wrapper, (_classNames = {}, definePropertybabel_target_legacy_default()(_classNames, TransportControls_module_default.a.dark, darkTheme), definePropertybabel_target_legacy_default()(_classNames, TransportControls_module_default.a.compact, disablePlaybackButtons), _classNames)) 41992 }, disableScrubber || Object(preact_modulebabel_target_legacy["h"])(Scrubberbabel_target_legacy["a" /* Scrubber */], { 41993 min: min, 41994 max: max, 41995 minSeekable: start, 41996 maxSeekable: end, 41997 value: time, 41998 onValueChange: requestSeek, 41999 live: live, 42000 darkTheme: darkTheme, 42001 disabled: !seekable || disabled 42002 }), disablePlaybackButtons || Object(preact_modulebabel_target_legacy["h"])("div", { 42003 className: classnames_babel_target_legacy_default()(TransportControls_module_default.a.body, definePropertybabel_target_legacy_default()({}, TransportControls_module_default.a.noscrubs, disableScrubber)) 42004 }, Object(preact_modulebabel_target_legacy["h"])(StationLogobabel_target_legacy["a" /* StationLogo */], { 42005 stationName: stationName, 42006 stationUrl: stationUrl, 42007 logo: logo 42008 }), Object(preact_modulebabel_target_legacy["h"])("div", { 42009 className: TransportControls_module_default.a.buttonsouter 42010 }, attention && showPlayButton ? Object(preact_modulebabel_target_legacy["h"])("p", { 42011 className: TransportControls_module_default.a.prompt 42012 }, t("LABEL_START_PROMPT")) : [!showPlayButton && Object(preact_modulebabel_target_legacy["h"])("p", { 42013 className: TransportControls_module_default.a.prompt 42014 }, t("LABEL_LOADING"))], Object(preact_modulebabel_target_legacy["h"])("div", { 42015 className: TransportControls_module_default.a.buttons 42016 }, Object(preact_modulebabel_target_legacy["h"])("div", null, !stalled && seekable && live && !disabled && !attention && Object(preact_modulebabel_target_legacy["h"])(SkipToStartButtonbabel_target_legacy_SkipToStartButton, { 42017 darkTheme: darkTheme, 42018 onClick: skipToStart 42019 })), Object(preact_modulebabel_target_legacy["h"])("div", null, !stalled && seekable && !disabled && !attention && Object(preact_modulebabel_target_legacy["h"])(SkipBackButtonbabel_target_legacy_SkipB
42019ackButton, { 42020 darkTheme: darkTheme, 42021 onClick: function onClick() { 42022 return skipBack(10); 42023 } 42024 })), Object(preact_modulebabel_target_legacy["h"])("div", null, stalled || !showPlayButton ? Object(preact_modulebabel_target_legacy["h"])("div", { 42025 className: TransportControls_module_default.a.stalled 42026 }, Object(preact_modulebabel_target_legacy["h"])(Spinnerbabel_target_legacy["a" /* Spinner */], null)) : !disabled && Object(preact_modulebabel_target_legacy["h"])(PlayButtonbabel_target_legacy["a" /* PlayButton */], { 42027 onPressPlay: requestPlay, 42028 type: paused ? "play" : seekable ? "pause" : "stop", 42029 pulsate: attention 42030 })), Object(preact_modulebabel_target_legacy["h"])("div", null, !stalled && seekable && !disabled && !attention && Object(preact_modulebabel_target_legacy["h"])(SkipForwardButtonbabel_target_legacy_SkipForwardButton, { 42031 darkTheme: darkTheme, 42032 onClick: function onClick() { 42033 return skipForward(30); 42034 } 42035 })), Object(preact_modulebabel_target_legacy["h"])("div", null, !stalled && seekable && live && !disabled && !attention && Object(preact_modulebabel_target_legacy["h"])(SkipToLiveButtonbabel_target_legacy_SkipToLiveButton, { 42036 darkTheme: darkTheme, 42037 onClick: skipToLive 42038 })))), Object(preact_modulebabel_target_legacy["h"])("div", { 42039 className: TransportControls_module_default.a.meta 42040 }, rpId && Object(preact_modulebabel_target_legacy["h"])(FaveButtonbabel_target_legacy["a" /* FaveButton */], { 42041 id: rpId, 42042 className: TransportControls_module_default.a.fave, 42043 darkTheme: darkTheme, 42044 tip: true 42045 }), Object(preact_modulebabel_target_legacy["h"])(VolumeControlbabel_target_legacy["a" /* VolumeControl */], { 42046 volume: volume, 42047 setVolume: setVolume, 42048 darkTheme: darkTheme 42049 }))), Object(preact_modulebabel_target_legacy["h"])("span", null)); 42050}; 42051/* harmony default export */ var TransportControlsbabel_target_legacy = (TransportControlsbabel_target_legacy_TransportControls); 42052// CONCATENATED MODULE: ./src/components/TransportControls/index.ts?babel-target=legacy 42053 42054 42055/***/ }), 42056/* 785 */, 42057/* 786 */ 42058/***/ (function(module, __webpack_exports__, __webpack_require__) { 42059 42060"use strict"; 42061 42062// EXPORTS 42063__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ GptWrapperbabel_target_legacy_GptWrapper; }); 42064 42065// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 42066var es_array_mapbabel_target_legacy = __webpack_require__(77); 42067 42068// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 42069var es_object_keysbabel_target_legacy = __webpack_require__(89); 42070 42071// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 42072var regenerator_babel_target_legacy = __webpack_require__(6); 42073var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 42074 42075// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 42076var runtimebabel_target_legacy = __webpack_require__(60); 42077 42078// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 42079var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 42080var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 42081 42082// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 42083var slicedToArraybabel_target_legacy = __webpack_require__(8); 42084var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 42085 42086// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 42087var preact_modulebabel_target_legacy = __webpack_require__(1); 42088 42089// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 42090var hooks_modulebabel_target_legacy = __webpack_require__(4); 42091 42092// EXTERNAL MODULE: ./node_modules/@alugha/ima/lib/esm?babel-target=legacy + 2 modules 42093var esm_babel_target_legacy = __webpack_require__(334); 42094 42095// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 42096var loggerbabel_target_legacy = __webpack_require__(10); 42097 42098// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 42099var useAPIbabel_target_legacy = __webpack_require__(44); 42100 42101// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 42102var APIManagerbabel_target_legacy = __webpack_require__(32); 42103 42104// CONCATENATED MODULE: ./src/components/GptWrapper/GptWrapper.tsx?babel-target=legacy 42105 42106 42107 42108 42109 42110 42111 42112 42113 42114 42115 42116 42117var GptWrapperbabel_target_legacy_GptWrapper = function GptWrapper(_ref) {
42118 var adUnitPath = _ref.adUnitPath, 42119 _ref$slotSize = _ref.slotSize, 42120 slotSize = _ref$slotSize === void 0 ? [300, 250] : _ref$slotSize, 42121 refreshInterval = _ref.refreshInterval, 42122 targeting = _ref.targeting, 42123 _ref$style = _ref.style, 42124 style = _ref$style === void 0 ? { 42125 "margin-top": "0" 42126 } : _ref$style, 42127 _ref$advertId = _ref.advertId, 42128 advertId = _ref$advertId === void 0 ? 0 : _ref$advertId; 42129 42130 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 42131 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 42132 state = _useAPI2[0]; 42133 42134 var tcString = state.tcString; 42135 42136 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(advertId), 42137 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 1), 42138 adId = _useState2[0]; 42139 42140 var id = "gpt-".concat(adId); 42141 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 42142 var load = /*#__PURE__*/function () { 42143 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 42144 var decoded, w; 42145 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 42146 while (1) { 42147 switch (_context.prev = _context.next) { 42148 case 0: 42149 if (!(tcString === true)) { 42150 _context.next = 2; 42151 break; 42152 } 42153 42154 return _context.abrupt("return"); 42155 42156 case 2: 42157 if (!tcString) { 42158 _context.next = 8; 42159 break; 42160 } 42161 42162 _context.next = 5; 42163 return Object(APIManagerbabel_target_legacy["d" /* decodeConsent */])(tcString, 2); 42164 42165 case 5: 42166 decoded = _context.sent; 42167 42168 if (decoded.core.vendorConsents[755]) { 42169 _context.next = 8; 42170 break; 42171 } 42172 42173 return _context.abrupt("return"); 42174 42175 case 8: 42176 // otherwise we are not using a CMP 42177 // For why we're using `globalThis` see 42178 // https://github.com/microsoft/TypeScript/issues/33128 42179 w = window; 42180 42181 if (!w.googletag) { 42182 Object(esm_babel_target_legacy["b" /* loadScript */])("https://securepubads.g.doubleclick.net/tag/js/gpt.js"); 42183 } 42184 42185 w.googletag = w.googletag || {}; 42186 w.googletag.cmd = googletag.cmd || []; 42187 w.googletag.cmd.push(function () { 42188 var slot = googletag.defineSlot(adUnitPath, slotSize, id); 42189 var pub = googletag.pubads(); 42190 42191 if (slot) { 42192 slot.addService(pub); 42193 pub.collapseEmptyDivs(); 42194 42195 if (targeting) { 42196 Object.keys(targeting).map(function (key) { 42197 return pub.setTargeting(key, targeting[key]); 42198 }); 42199 } 42200 42201 googletag.enableServices(); 42202 googletag.display(id); 42203 } 42204 }); 42205 42206 case 13: 42207 case "end": 42208 return _context.stop(); 42209 } 42210 } 42211 }, _callee); 42212 })); 42213 42214 return function load() { 42215 return _ref2.apply(this, arguments); 42216 }; 42217 }(); 42218 42219 if (adUnitPath) { 42220 load(); 42221 } 42222 }, [adUnitPath, id, slotSize, targeting, tcString]); 42223 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 42224 var refresh = function refresh() { 42225 var googletag = window.googletag; 42226 42227 if (googletag && googletag.apiReady) { 42228 Object(loggerbabel_target_legacy["c" /* log */])("Refreshing ads"); 42229 googletag.pubads().refresh(); 42230 } 42231 }; 42232 42233 if (refreshInterval) { 42234 window.setInterval(refresh, refreshInterval * 1000); 42235 return function () { 42236 return window.clearInterval(refreshInterval); 42237 }; 42238 } 42239 }, [refreshInterval]); 42240 return Object(preact_modulebabel_target_legacy["h"])("div", { 42241 id: id, 42242 style: style 42243 }); 42244}; 42245/* harmony default export */ var GptWrapperbabel_target_legacy = (GptWrapperbabel_target_legacy_GptWrapper); 42246// CONCATENATED MODULE: ./src/components/GptWrapper/index.ts?babel-target=legacy 42247 42248 42249/***/ }), 42250/* 787 */, 42251/* 788 */ 42252/***/ (function(module, __webpack_exports__, __webpack_require__) { 42253 42254"use strict"; 42255 42256// EXPORTS 42257__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ StationErrorbabel_target_legacy_StationError; }); 42258 42259// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.link.js?babel-target=legacy 42260var es_string_linkbabel_target_legacy = __webpack_require__(426); 42261 42262// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 42263var preact_modulebabel_target_legacy = __webpack_require__(1); 42264 42265// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 42266var RPIconbabel_target_legacy = __webpack_require__(42); 42267 42268// EXTERNAL MODULE: ./src/components/StationError/StationError.module.scss 42269var StationError_module = __webpack_require__(142); 42270var StationError_module_default = /*#__PURE__*/__webpack_require__.n(StationError_module); 42271 42272// EXTERNAL MODULE: ./src/lib/Trans/Trans.js?babel-target=legacy + 2 modules 42273var Transbabel_target_legacy = __webpack_require__(333); 42274 42275// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 42276var es_babel_target_legacy = __webpack_require__(25); 42277 42278// CONCATENATED MODULE: ./src/components/StationError/StationError.tsx?babel-target=legacy 42279 42280 42281/* eslint-disable react/jsx-no-literals */ 42282 42283 42284 42285 42286 42287var StationErrorbabel_target_legacy_StationError = function StationError() { 42288 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 42289 t = _useTranslation.t, 42290 i18n = _useTranslation.i18n; 42291 42292 return Object(preact_modulebabel_target_legacy["h"])("div", { 42293 className: StationError_module_default.a.background 42294 }, Object(preact_modulebabel_target_legacy["h"])("section", { 42295 className: StationError_module_default.a.container 42296 }, Object(preact_modulebabel_target_legacy["h"])("div", { 42297 className: StationError_module_default.a.icon 42298 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 42299 src: __webpack_require__(974) 42300 })), Object(preact_modulebabel_target_legacy["h"])("p", { 42301 className: StationError_module_default.a.lyrics 42302 }, t("STATION_ERROR_LYRIC")), Object(preact_modulebabel_target_legacy["h"])("h1", { 42303 className: StationError_module_default.a.title 42304 }, t("STATION_ERROR_TITLE")), Object(preact_modulebabel_target_legacy["h"])("div", { 42305 className: StationError_module_default.a.copyContainer 42306 }, Object(preact_modulebabel_target_legacy["h"])("p", null, t("STATION_ERROR_COPY")), Object(preact_modulebabel_target_legacy["h"])("p", null, Object(preact_modulebabel_target_legacy["h"])(Transbabel_target_legacy["a" /* Trans */], { 42307 i18nKey: "STATION_ERROR_LINK", 42308 i18n: i18n 42309 }, "Don't worry though, you can discover more great UK radio by searching or browsing recommendations in the menu above. Alternatively, visit", " ", Object(preact_modulebabel_target_legacy["h"])("a", { 42310 href: t("STATION_ERROR_URL"), 42311 target: "_blank", 42312 rel: "noopener noreferrer", 42313 className: StationError_module_default.a.link 42314 }, "the Radioplayer website"), " ", "to listen in other ways.")))
42314)); 42315}; 42316// CONCATENATED MODULE: ./src/components/StationError/index.ts?babel-target=legacy 42317 42318 42319/***/ }), 42320/* 789 */, 42321/* 790 */, 42322/* 791 */ 42323/***/ (function(module, exports) { 42324 42325function _getPrototypeOf(o) { 42326 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 42327 return o.__proto__ || Object.getPrototypeOf(o); 42328 }; 42329 return _getPrototypeOf(o); 42330} 42331 42332module.exports = _getPrototypeOf; 42333 42334/***/ }), 42335/* 792 */ 42336/***/ (function(module, exports, __webpack_require__) { 42337 42338var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.2 42339// https://github.com/bgrins/TinyColor 42340// Brian Grinstead, MIT License 42341 42342(function(Math) { 42343 42344var trimLeft = /^\s+/, 42345 trimRight = /\s+$/, 42346 tinyCounter = 0, 42347 mathRound = Math.round, 42348 mathMin = Math.min, 42349 mathMax = Math.max, 42350 mathRandom = Math.random; 42351 42352function tinycolor (color, opts) { 42353 42354 color = (color) ? color : ''; 42355 opts = opts || { }; 42356 42357 // If input is already a tinycolor, return itself 42358 if (color instanceof tinycolor) { 42359 return color; 42360 } 42361 // If we are called as a function, call using new instead 42362 if (!(this instanceof tinycolor)) { 42363 return new tinycolor(color, opts); 42364 } 42365 42366 var rgb = inputToRGB(color); 42367 this._originalInput = color, 42368 this._r = rgb.r, 42369 this._g = rgb.g, 42370 this._b = rgb.b, 42371 this._a = rgb.a, 42372 this._roundA = mathRound(100*this._a) / 100, 42373 this._format = opts.format || rgb.format; 42374 this._gradientType = opts.gradientType; 42375 42376 // Don't let the range of [0,255] come back in [0,1]. 42377 // Potentially lose a little bit of precision here, but will fix issues where 42378 // .5 gets interpreted as half of the total, instead of half of 1 42379 // If it was supposed to be 128, this was already taken care of by `inputToRgb` 42380 if (this._r < 1) { this._r = mathRound(this._r); } 42381 if (this._g < 1) { this._g = mathRound(this._g); } 42382 if (this._b < 1) { this._b = mathRound(this._b); } 42383 42384 this._ok = rgb.ok; 42385 this._tc_id = tinyCounter++; 42386} 42387 42388tinycolor.prototype = { 42389 isDark: function() { 42390 return this.getBrightness() < 128; 42391 }, 42392 isLight: function() { 42393 return !this.isDark(); 42394 }, 42395 isValid: function() { 42396 return this._ok; 42397 }, 42398 getOriginalInput: function() { 42399 return this._originalInput; 42400 }, 42401 getFormat: function() { 42402 return this._format; 42403 }, 42404 getAlpha: function() { 42405 return this._a; 42406 }, 42407 getBrightness: function() { 42408 //http://www.w3.org/TR/AERT#color-contrast 42409 var rgb = this.toRgb(); 42410 return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; 42411 }, 42412 getLuminance: function() { 42413 //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef 42414 var rgb = this.toRgb(); 42415 var RsRGB, GsRGB, BsRGB, R, G, B; 42416 RsRGB = rgb.r/255; 42417 GsRGB = rgb.g/255; 42418 BsRGB = rgb.b/255; 42419 42420 if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} 42421 if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} 42422 if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} 42423 return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); 42424 }, 42425 setAlpha: function(value) { 42426 this._a = boundAlpha(value); 42427 this._roundA = mathRound(100*this._a) / 100; 42428 return this; 42429 }, 42430 toHsv: function() { 42431 var hsv = rgbToHsv(this._r, this._g, this._b); 42432 return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; 42433 }, 42434 toHsvString: function() { 42435 var hsv = rgbToHsv(this._r, this._g, this._b); 42436 var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); 42437 return (this._a == 1) ? 42438 "hsv(" + h + ", " + s + "%, " + v + "%)" : 42439 "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; 42440 }, 42441 toHsl: function() { 42442 var hsl = rgbToHsl(this._r, this._g, this._b); 42443 return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; 42444 }, 42445 toHslString: function() { 42446 var hsl = rgbToHsl(this._r, this._g, this._b); 42447 var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); 42448 return (this._a == 1) ? 42449 "hsl(" + h + ", " + s + "%, " + l + "%)" : 42450 "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; 42451 }, 42452 toHex: function(allow3Char) { 42453 return rgbToHex(this._r, this._g, this._b, allow3Char); 42454 }, 42455 toHexString: function(allow3Char) { 42456 return '#' + this.toHex(allow3Char); 42457 }, 42458 toHex8: function(allow4Char) { 42459 return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); 42460 }, 42461 toHex8String: function(allow4Char) { 42462 return '#' + this.toHex8(allow4Char); 42463 }, 42464 toRgb: function() { 42465 return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; 42466 }, 42467 toRgbString: function() { 42468 return (this._a == 1) ? 42469 "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : 42470 "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; 42471 }, 42472 toPercentageRgb: function() { 42473 return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; 42474 }, 42475 toPercentageRgbString: function() { 42476 return (this._a == 1) ? 42477 "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : 42478 "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; 42479 }, 42480 toName: function() { 42481 if (this._a === 0) { 42482 return "transparent";
vendor: 12,442 bytes, lines 42483-42906
42483 } 42484 42485 if (this._a < 1) { 42486 return false; 42487 } 42488 42489 return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; 42490 }, 42491 toFilter: function(secondColor) { 42492 var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); 42493 var secondHex8String = hex8String; 42494 var gradientType = this._gradientType ? "GradientType = 1, " : ""; 42495 42496 if (secondColor) { 42497 var s = tinycolor(secondColor); 42498 secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); 42499 } 42500 42501 return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; 42502 }, 42503 toString: function(format) { 42504 var formatSet = !!format; 42505 format = format || this._format; 42506 42507 var formattedString = false; 42508 var hasAlpha = this._a < 1 && this._a >= 0; 42509 var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); 42510 42511 if (needsAlphaFormat) { 42512 // Special case for "transparent", all other non-alpha formats 42513 // will return rgba when there is transparency. 42514 if (format === "name" && this._a === 0) { 42515 return this.toName(); 42516 } 42517 return this.toRgbString(); 42518 } 42519 if (format === "rgb") { 42520 formattedString = this.toRgbString(); 42521 } 42522 if (format === "prgb") { 42523 formattedString = this.toPercentageRgbString(); 42524 } 42525 if (format === "hex" || format === "hex6") { 42526 formattedString = this.toHexString(); 42527 } 42528 if (format === "hex3") { 42529 formattedString = this.toHexString(true); 42530 } 42531 if (format === "hex4") { 42532 formattedString = this.toHex8String(true); 42533 } 42534 if (format === "hex8") { 42535 formattedString = this.toHex8String(); 42536 } 42537 if (format === "name") { 42538 formattedString = this.toName(); 42539 } 42540 if (format === "hsl") { 42541 formattedString = this.toHslString(); 42542 } 42543 if (format === "hsv") { 42544 formattedString = this.toHsvString(); 42545 } 42546 42547 return formattedString || this.toHexString(); 42548 }, 42549 clone: function() { 42550 return tinycolor(this.toString()); 42551 }, 42552 42553 _applyModification: function(fn, args) { 42554 var color = fn.apply(null, [this].concat([].slice.call(args))); 42555 this._r = color._r; 42556 this._g = color._g; 42557 this._b = color._b; 42558 this.setAlpha(color._a); 42559 return this; 42560 }, 42561 lighten: function() { 42562 return this._applyModification(lighten, arguments); 42563 }, 42564 brighten: function() { 42565 return this._applyModification(brighten, arguments); 42566 }, 42567 darken: function() { 42568 return this._applyModification(darken, arguments); 42569 }, 42570 desaturate: function() { 42571 return this._applyModification(desaturate, arguments); 42572 }, 42573 saturate: function() { 42574 return this._applyModification(saturate, arguments); 42575 }, 42576 greyscale: function() { 42577 return this._applyModification(greyscale, arguments); 42578 }, 42579 spin: function() { 42580 return this._applyModification(spin, arguments); 42581 }, 42582 42583 _applyCombination: function(fn, args) { 42584 return fn.apply(null, [this].concat([].slice.call(args))); 42585 }, 42586 analogous: function() { 42587 return this._applyCombination(analogous, arguments); 42588 }, 42589 complement: function() { 42590 return this._applyCombination(complement, arguments); 42591 }, 42592 monochromatic: function() { 42593 return this._applyCombination(monochromatic, arguments); 42594 }, 42595 splitcomplement: function() { 42596 return this._applyCombination(splitcomplement, arguments); 42597 }, 42598 triad: function() { 42599 return this._applyCombination(triad, arguments); 42600 }, 42601 tetrad: function() { 42602 return this._applyCombination(tetrad, arguments); 42603 } 42604}; 42605 42606// If input is an object, force 1 into "1.0" to handle ratios properly 42607// String input requires "1.0" as input, so 1 will be treated as 1 42608tinycolor.fromRatio = function(color, opts) { 42609 if (typeof color == "object") { 42610 var newColor = {}; 42611 for (var i in color) { 42612 if (color.hasOwnProperty(i)) { 42613 if (i === "a") { 42614 newColor[i] = color[i]; 42615 } 42616 else { 42617 newColor[i] = convertToPercentage(color[i]); 42618 } 42619 } 42620 } 42621 color = newColor; 42622 } 42623 42624 return tinycolor(color, opts); 42625}; 42626 42627// Given a string or object, convert that input to RGB 42628// Possible string inputs: 42629// 42630// "red" 42631// "#f00" or "f00" 42632// "#ff0000" or "ff0000" 42633// "#ff000000" or "ff000000" 42634// "rgb 255 0 0" or "rgb (255, 0, 0)" 42635// "rgb 1.0 0 0" or "rgb (1, 0, 0)" 42636// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" 42637// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" 42638// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" 42639// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" 42640// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" 42641// 42642function inputToRGB(color) { 42643 42644 var rgb = { r: 0, g: 0, b: 0 }; 42645 var a = 1; 42646 var s = null; 42647 var v = null; 42648 var l = null; 42649 var ok = false; 42650 var format = false; 42651 42652 if (typeof color == "string") { 42653 color = stringInputToObject(color); 42654 } 42655 42656 if (typeof color == "object") { 42657 if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { 42658 rgb = rgbToRgb(color.r, color.g, color.b); 42659 ok = true; 42660 format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; 42661 } 42662 else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { 42663 s = convertToPercentage(color.s); 42664 v = convertToPercentage(color.v); 42665 rgb = hsvToRgb(color.h, s, v); 42666 ok = true; 42667 format = "hsv"; 42668 } 42669 else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { 42670 s = convertToPercentage(color.s); 42671 l = convertToPercentage(color.l); 42672 rgb = hslToRgb(color.h, s, l); 42673 ok = true; 42674 format = "hsl"; 42675 } 42676 42677 if (color.hasOwnProperty("a")) { 42678 a = color.a; 42679 } 42680 } 42681 42682 a = boundAlpha(a); 42683 42684 return { 42685 ok: ok, 42686 format: color.format || format, 42687 r: mathMin(255, mathMax(rgb.r, 0)), 42688 g: mathMin(255, mathMax(rgb.g, 0)), 42689 b: mathMin(255, mathMax(rgb.b, 0)), 42690 a: a 42691 }; 42692} 42693 42694 42695// Conversion Functions 42696// -------------------- 42697 42698// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: 42699// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript> 42700 42701// `rgbToRgb` 42702// Handle bounds / percentage checking to conform to CSS color spec 42703// <http://www.w3.org/TR/css3-color/> 42704// *Assumes:* r, g, b in [0, 255] or [0, 1] 42705// *Returns:* { r, g, b } in [0, 255] 42706function rgbToRgb(r, g, b){ 42707 return { 42708 r: bound01(r, 255) * 255, 42709 g: bound01(g, 255) * 255, 42710 b: bound01(b, 255) * 255 42711 }; 42712} 42713 42714// `rgbToHsl` 42715// Converts an RGB color value to HSL. 42716// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] 42717// *Returns:* { h, s, l } in [0,1] 42718function rgbToHsl(r, g, b) { 42719 42720 r = bound01(r, 255); 42721 g = bound01(g, 255); 42722 b = bound01(b, 255); 42723 42724 var max = mathMax(r, g, b), min = mathMin(r, g, b); 42725 var h, s, l = (max + min) / 2; 42726 42727 if(max == min) { 42728 h = s = 0; // achromatic 42729 } 42730 else { 42731 var d = max - min; 42732 s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 42733 switch(max) { 42734 case r: h = (g - b) / d + (g < b ? 6 : 0); break; 42735 case g: h = (b - r) / d + 2; break; 42736 case b: h = (r - g) / d + 4; break; 42737 } 42738 42739 h /= 6; 42740 } 42741 42742 return { h: h, s: s, l: l }; 42743} 42744 42745// `hslToRgb` 42746// Converts an HSL color value to RGB. 42747// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] 42748// *Returns:* { r, g, b } in the set [0, 255] 42749function hslToRgb(h, s, l) { 42750 var r, g, b; 42751 42752 h = bound01(h, 360); 42753 s = bound01(s, 100); 42754 l = bound01(l, 100); 42755 42756 function hue2rgb(p, q, t) { 42757 if(t < 0) t += 1; 42758 if(t > 1) t -= 1; 42759 if(t < 1/6) return p + (q - p) * 6 * t; 42760 if(t < 1/2) return q; 42761 if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; 42762 return p; 42763 } 42764 42765 if(s === 0) { 42766 r = g = b = l; // achromatic 42767 } 42768 else { 42769 var q = l < 0.5 ? l * (1 + s) : l + s - l * s; 42770 var p = 2 * l - q; 42771 r = hue2rgb(p, q, h + 1/3); 42772 g = hue2rgb(p, q, h); 42773 b = hue2rgb(p, q, h - 1/3); 42774 } 42775 42776 return { r: r * 255, g: g * 255, b: b * 255 }; 42777} 42778 42779// `rgbToHsv` 42780// Converts an RGB color value to HSV 42781// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] 42782// *Returns:* { h, s, v } in [0,1] 42783function rgbToHsv(r, g, b) { 42784 42785 r = bound01(r, 255); 42786 g = bound01(g, 255); 42787 b = bound01(b, 255); 42788 42789 var max = mathMax(r, g, b), min = mathMin(r, g, b); 42790 var h, s, v = max; 42791 42792 var d = max - min; 42793 s = max === 0 ? 0 : d / max; 42794 42795 if(max == min) { 42796 h = 0; // achromatic 42797 } 42798 else { 42799 switch(max) { 42800 case r: h = (g - b) / d + (g < b ? 6 : 0); break; 42801 case g: h = (b - r) / d + 2; break; 42802 case b: h = (r - g) / d + 4; break; 42803 } 42804 h /= 6; 42805 } 42806 return { h: h, s: s, v: v }; 42807} 42808 42809// `hsvToRgb` 42810// Converts an HSV color value to RGB. 42811// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] 42812// *Returns:* { r, g, b } in the set [0, 255] 42813 function hsvToRgb(h, s, v) { 42814 42815 h = bound01(h, 360) * 6; 42816 s = bound01(s, 100); 42817 v = bound01(v, 100); 42818 42819 var i = Math.floor(h), 42820 f = h - i, 42821 p = v * (1 - s), 42822 q = v * (1 - f * s), 42823 t = v * (1 - (1 - f) * s), 42824 mod = i % 6, 42825 r = [v, q, p, p, t, v][mod], 42826 g = [t, v, v, q, p, p][mod], 42827 b = [p, p, t, v, v, q][mod]; 42828 42829 return { r: r * 255, g: g * 255, b: b * 255 }; 42830} 42831 42832// `rgbToHex` 42833// Converts an RGB color to hex 42834// Assumes r, g, and b are contained in the set [0, 255] 42835// Returns a 3 or 6 character hex 42836function rgbToHex(r, g, b, allow3Char) { 42837 42838 var hex = [ 42839 pad2(mathRound(r).toString(16)), 42840 pad2(mathRound(g).toString(16)), 42841 pad2(mathRound(b).toString(16)) 42842 ]; 42843 42844 // Return a 3 character hex if possible 42845 if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { 42846 return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); 42847 } 42848 42849 return hex.join(""); 42850} 42851 42852// `rgbaToHex` 42853// Converts an RGBA color plus alpha transparency to hex 42854// Assumes r, g, b are contained in the set [0, 255] and 42855// a in [0, 1]. Returns a 4 or 8 character rgba hex 42856function rgbaToHex(r, g, b, a, allow4Char) { 42857 42858 var hex = [ 42859 pad2(mathRound(r).toString(16)), 42860 pad2(mathRound(g).toString(16)), 42861 pad2(mathRound(b).toString(16)), 42862 pad2(convertDecimalToHex(a)) 42863 ]; 42864 42865 // Return a 4 character hex if possible 42866 if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { 42867 return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); 42868 } 42869 42870 return hex.join(""); 42871} 42872 42873// `rgbaToArgbHex` 42874// Converts an RGBA color to an ARGB Hex8 string 42875// Rarely used, but required for "toFilter()" 42876function rgbaToArgbHex(r, g, b, a) { 42877 42878 var hex = [ 42879 pad2(convertDecimalToHex(a)), 42880 pad2(mathRound(r).toString(16)), 42881 pad2(mathRound(g).toString(16)), 42882 pad2(mathRound(b).toString(16)) 42883 ]; 42884 42885 return hex.join(""); 42886} 42887 42888// `equals` 42889// Can be called with any tinycolor input 42890tinycolor.equals = function (color1, color2) { 42891 if (!color1 || !color2) { return false; } 42892 return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); 42893}; 42894 42895tinycolor.random = function() { 42896 return tinycolor.fromRatio({ 42897 r: mathRandom(), 42898 g: mathRandom(), 42899 b: mathRandom() 42900 }); 42901}; 42902 42903 42904// Modification Functions 42905// ---------------------- 42906// Thanks to less.js for some of the basics here
42907// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js> 42908 42909function desaturate(color, amount) { 42910 amount = (amount === 0) ? 0 : (amount || 10); 42911 var hsl = tinycolor(color).toHsl(); 42912 hsl.s -= amount / 100; 42913 hsl.s = clamp01(hsl.s); 42914 return tinycolor(hsl); 42915} 42916 42917function saturate(color, amount) { 42918 amount = (amount === 0) ? 0 : (amount || 10); 42919 var hsl = tinycolor(color).toHsl(); 42920 hsl.s += amount / 100; 42921 hsl.s = clamp01(hsl.s); 42922 return tinycolor(hsl); 42923} 42924 42925function greyscale(color) { 42926 return tinycolor(color).desaturate(100); 42927} 42928 42929function lighten (color, amount) { 42930 amount = (amount === 0) ? 0 : (amount || 10); 42931 var hsl = tinycolor(color).toHsl(); 42932 hsl.l += amount / 100; 42933 hsl.l = clamp01(hsl.l); 42934 return tinycolor(hsl); 42935} 42936 42937function brighten(color, amount) { 42938 amount = (amount === 0) ? 0 : (amount || 10); 42939 var rgb = tinycolor(color).toRgb(); 42940 rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); 42941 rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); 42942 rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); 42943 return tinycolor(rgb); 42944} 42945 42946function darken (color, amount) { 42947 amount = (amount === 0) ? 0 : (amount || 10); 42948 var hsl = tinycolor(color).toHsl(); 42949 hsl.l -= amount / 100; 42950 hsl.l = clamp01(hsl.l); 42951 return tinycolor(hsl); 42952} 42953 42954// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. 42955// Values outside of this range will be wrapped into this range. 42956function spin(color, amount) { 42957 var hsl = tinycolor(color).toHsl(); 42958 var hue = (hsl.h + amount) % 360; 42959 hsl.h = hue < 0 ? 360 + hue : hue; 42960 return tinycolor(hsl); 42961} 42962 42963// Combination Functions 42964// --------------------- 42965// Thanks to jQuery xColor for some of the ideas behind these 42966// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js> 42967 42968function complement(color) { 42969 var hsl = tinycolor(color).toHsl(); 42970 hsl.h = (hsl.h + 180) % 360; 42971 return tinycolor(hsl); 42972} 42973 42974function triad(color) { 42975 var hsl = tinycolor(color).toHsl(); 42976 var h = hsl.h; 42977 return [ 42978 tinycolor(color), 42979 tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), 42980 tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) 42981 ]; 42982} 42983 42984function tetrad(color) { 42985 var hsl = tinycolor(color).toHsl(); 42986 var h = hsl.h; 42987 return [ 42988 tinycolor(color), 42989 tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), 42990 tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), 42991 tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) 42992 ]; 42993} 42994 42995function splitcomplement(color) { 42996 var hsl = tinycolor(color).toHsl(); 42997 var h = hsl.h; 42998 return [ 42999 tinycolor(color), 43000 tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), 43001 tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) 43002 ]; 43003} 43004 43005function analogous(color, results, slices) { 43006 results = results || 6; 43007 slices = slices || 30; 43008 43009 var hsl = tinycolor(color).toHsl(); 43010 var part = 360 / slices; 43011 var ret = [tinycolor(color)]; 43012 43013 for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { 43014 hsl.h = (hsl.h + part) % 360; 43015 ret.push(tinycolor(hsl)); 43016 } 43017 return ret; 43018} 43019 43020function monochromatic(color, results) { 43021 results = results || 6; 43022 var hsv = tinycolor(color).toHsv(); 43023 var h = hsv.h, s = hsv.s, v = hsv.v; 43024 var ret = []; 43025 var modification = 1 / results; 43026 43027 while (results--) { 43028 ret.push(tinycolor({ h: h, s: s, v: v})); 43029 v = (v + modification) % 1; 43030 } 43031 43032 return ret; 43033} 43034 43035// Utility Functions 43036// --------------------- 43037 43038tinycolor.mix = function(color1, color2, amount) { 43039 amount = (amount === 0) ? 0 : (amount || 50); 43040 43041 var rgb1 = tinycolor(color1).toRgb(); 43042 var rgb2 = tinycolor(color2).toRgb(); 43043 43044 var p = amount / 100; 43045 43046 var rgba = { 43047 r: ((rgb2.r - rgb1.r) * p) + rgb1.r, 43048 g: ((rgb2.g - rgb1.g) * p) + rgb1.g, 43049 b: ((rgb2.b - rgb1.b) * p) + rgb1.b, 43050 a: ((rgb2.a - rgb1.a) * p) + rgb1.a 43051 }; 43052 43053 return tinycolor(rgba); 43054}; 43055 43056 43057// Readability Functions 43058// --------------------- 43059// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2) 43060 43061// `contrast` 43062// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2) 43063tinycolor.readability = function(color1, color2) { 43064 var c1 = tinycolor(color1); 43065 var c2 = tinycolor(color2); 43066 return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05); 43067}; 43068 43069// `isReadable` 43070// Ensure that foreground and background color combinations meet WCAG2 guidelines. 43071// The third argument is an optional Object. 43072// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA'; 43073// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'. 43074// If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}. 43075 43076// *Example* 43077// tinycolor.isReadable("#000", "#111") => false 43078// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false 43079tinycolor.isReadable = function(color1, color2, wcag2) { 43080 var readability = tinycolor.readability(color1, color2); 43081 var wcag2Parms, out; 43082 43083 out = false;
vendor: 4,209 bytes, lines 43084-43225
43084 43085 wcag2Parms = validateWCAG2Parms(wcag2); 43086 switch (wcag2Parms.level + wcag2Parms.size) { 43087 case "AAsmall": 43088 case "AAAlarge": 43089 out = readability >= 4.5; 43090 break; 43091 case "AAlarge": 43092 out = readability >= 3; 43093 break; 43094 case "AAAsmall": 43095 out = readability >= 7; 43096 break; 43097 } 43098 return out; 43099 43100}; 43101 43102// `mostReadable` 43103// Given a base color and a list of possible foreground or background 43104// colors for that base, returns the most readable color. 43105// Optionally returns Black or White if the most readable color is unreadable. 43106// *Example* 43107// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" 43108// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" 43109// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" 43110// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" 43111tinycolor.mostReadable = function(baseColor, colorList, args) { 43112 var bestColor = null; 43113 var bestScore = 0; 43114 var readability; 43115 var includeFallbackColors, level, size ; 43116 args = args || {}; 43117 includeFallbackColors = args.includeFallbackColors ; 43118 level = args.level; 43119 size = args.size; 43120 43121 for (var i= 0; i < colorList.length ; i++) { 43122 readability = tinycolor.readability(baseColor, colorList[i]); 43123 if (readability > bestScore) { 43124 bestScore = readability; 43125 bestColor = tinycolor(colorList[i]); 43126 } 43127 } 43128 43129 if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { 43130 return bestColor; 43131 } 43132 else { 43133 args.includeFallbackColors=false; 43134 return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); 43135 } 43136}; 43137 43138 43139// Big List of Colors 43140// ------------------ 43141// <http://www.w3.org/TR/css3-color/#svg-color> 43142var names = tinycolor.names = { 43143 aliceblue: "f0f8ff", 43144 antiquewhite: "faebd7", 43145 aqua: "0ff", 43146 aquamarine: "7fffd4", 43147 azure: "f0ffff", 43148 beige: "f5f5dc", 43149 bisque: "ffe4c4", 43150 black: "000", 43151 blanchedalmond: "ffebcd", 43152 blue: "00f", 43153 blueviolet: "8a2be2", 43154 brown: "a52a2a", 43155 burlywood: "deb887", 43156 burntsienna: "ea7e5d", 43157 cadetblue: "5f9ea0", 43158 chartreuse: "7fff00", 43159 chocolate: "d2691e", 43160 coral: "ff7f50", 43161 cornflowerblue: "6495ed", 43162 cornsilk: "fff8dc", 43163 crimson: "dc143c", 43164 cyan: "0ff", 43165 darkblue: "00008b", 43166 darkcyan: "008b8b", 43167 darkgoldenrod: "b8860b", 43168 darkgray: "a9a9a9", 43169 darkgreen: "006400", 43170 darkgrey: "a9a9a9", 43171 darkkhaki: "bdb76b", 43172 darkmagenta: "8b008b", 43173 darkolivegreen: "556b2f", 43174 darkorange: "ff8c00", 43175 darkorchid: "9932cc", 43176 darkred: "8b0000", 43177 darksalmon: "e9967a", 43178 darkseagreen: "8fbc8f", 43179 darkslateblue: "483d8b", 43180 darkslategray: "2f4f4f", 43181 darkslategrey: "2f4f4f", 43182 darkturquoise: "00ced1", 43183 darkviolet: "9400d3", 43184 deeppink: "ff1493", 43185 deepskyblue: "00bfff", 43186 dimgray: "696969", 43187 dimgrey: "696969", 43188 dodgerblue: "1e90ff", 43189 firebrick: "b22222", 43190 floralwhite: "fffaf0", 43191 forestgreen: "228b22", 43192 fuchsia: "f0f", 43193 gainsboro: "dcdcdc", 43194 ghostwhite: "f8f8ff", 43195 gold: "ffd700", 43196 goldenrod: "daa520", 43197 gray: "808080", 43198 green: "008000", 43199 greenyellow: "adff2f", 43200 grey: "808080", 43201 honeydew: "f0fff0", 43202 hotpink: "ff69b4", 43203 indianred: "cd5c5c", 43204 indigo: "4b0082", 43205 ivory: "fffff0", 43206 khaki: "f0e68c", 43207 lavender: "e6e6fa", 43208 lavenderblush: "fff0f5", 43209 lawngreen: "7cfc00", 43210 lemonchiffon: "fffacd", 43211 lightblue: "add8e6", 43212 lightcoral: "f08080", 43213 lightcyan: "e0ffff", 43214 lightgoldenrodyellow: "fafad2", 43215 lightgray: "d3d3d3", 43216 lightgreen: "90ee90", 43217 lightgrey: "d3d3d3", 43218 lightpink: "ffb6c1", 43219 lightsalmon: "ffa07a", 43220 lightseagreen: "20b2aa", 43221 lightskyblue: "87cefa", 43222 lightslategray: "789", 43223 lightslategrey: "789", 43224 lightsteelblue: "b0c4de", 43225 lightyellow: "ffffe0",
vendor: 5,423 bytes, lines 43226-43420
43226 lime: "0f0", 43227 limegreen: "32cd32", 43228 linen: "faf0e6", 43229 magenta: "f0f", 43230 maroon: "800000", 43231 mediumaquamarine: "66cdaa", 43232 mediumblue: "0000cd", 43233 mediumorchid: "ba55d3", 43234 mediumpurple: "9370db", 43235 mediumseagreen: "3cb371", 43236 mediumslateblue: "7b68ee", 43237 mediumspringgreen: "00fa9a", 43238 mediumturquoise: "48d1cc", 43239 mediumvioletred: "c71585", 43240 midnightblue: "191970", 43241 mintcream: "f5fffa", 43242 mistyrose: "ffe4e1", 43243 moccasin: "ffe4b5", 43244 navajowhite: "ffdead", 43245 navy: "000080", 43246 oldlace: "fdf5e6", 43247 olive: "808000", 43248 olivedrab: "6b8e23", 43249 orange: "ffa500", 43250 orangered: "ff4500", 43251 orchid: "da70d6", 43252 palegoldenrod: "eee8aa", 43253 palegreen: "98fb98", 43254 paleturquoise: "afeeee", 43255 palevioletred: "db7093", 43256 papayawhip: "ffefd5", 43257 peachpuff: "ffdab9", 43258 peru: "cd853f", 43259 pink: "ffc0cb", 43260 plum: "dda0dd", 43261 powderblue: "b0e0e6", 43262 purple: "800080", 43263 rebeccapurple: "663399", 43264 red: "f00", 43265 rosybrown: "bc8f8f", 43266 royalblue: "4169e1", 43267 saddlebrown: "8b4513", 43268 salmon: "fa8072", 43269 sandybrown: "f4a460", 43270 seagreen: "2e8b57", 43271 seashell: "fff5ee", 43272 sienna: "a0522d", 43273 silver: "c0c0c0", 43274 skyblue: "87ceeb", 43275 slateblue: "6a5acd", 43276 slategray: "708090", 43277 slategrey: "708090", 43278 snow: "fffafa", 43279 springgreen: "00ff7f", 43280 steelblue: "4682b4", 43281 tan: "d2b48c", 43282 teal: "008080", 43283 thistle: "d8bfd8", 43284 tomato: "ff6347", 43285 turquoise: "40e0d0", 43286 violet: "ee82ee", 43287 wheat: "f5deb3", 43288 white: "fff", 43289 whitesmoke: "f5f5f5", 43290 yellow: "ff0", 43291 yellowgreen: "9acd32" 43292}; 43293 43294// Make it easy to access colors via `hexNames[hex]` 43295var hexNames = tinycolor.hexNames = flip(names); 43296 43297 43298// Utilities 43299// --------- 43300 43301// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }` 43302function flip(o) { 43303 var flipped = { }; 43304 for (var i in o) { 43305 if (o.hasOwnProperty(i)) { 43306 flipped[o[i]] = i; 43307 } 43308 } 43309 return flipped; 43310} 43311 43312// Return a valid alpha value [0,1] with all invalid values being set to 1 43313function boundAlpha(a) { 43314 a = parseFloat(a); 43315 43316 if (isNaN(a) || a < 0 || a > 1) { 43317 a = 1; 43318 } 43319 43320 return a; 43321} 43322 43323// Take input from [0, n] and return it as [0, 1] 43324function bound01(n, max) { 43325 if (isOnePointZero(n)) { n = "100%"; } 43326 43327 var processPercent = isPercentage(n); 43328 n = mathMin(max, mathMax(0, parseFloat(n))); 43329 43330 // Automatically convert percentage into number 43331 if (processPercent) { 43332 n = parseInt(n * max, 10) / 100; 43333 } 43334 43335 // Handle floating point rounding errors 43336 if ((Math.abs(n - max) < 0.000001)) { 43337 return 1; 43338 } 43339 43340 // Convert into [0, 1] range if it isn't already 43341 return (n % max) / parseFloat(max); 43342} 43343 43344// Force a number between 0 and 1 43345function clamp01(val) { 43346 return mathMin(1, mathMax(0, val)); 43347} 43348 43349// Parse a base-16 hex value into a base-10 integer 43350function parseIntFromHex(val) { 43351 return parseInt(val, 16); 43352} 43353 43354// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 43355// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> 43356function isOnePointZero(n) { 43357 return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; 43358} 43359 43360// Check to see if string passed in is a percentage 43361function isPercentage(n) { 43362 return typeof n === "string" && n.indexOf('%') != -1; 43363} 43364 43365// Force a hex value to have 2 characters 43366function pad2(c) { 43367 return c.length == 1 ? '0' + c : '' + c; 43368} 43369 43370// Replace a decimal with it's percentage value 43371function convertToPercentage(n) { 43372 if (n <= 1) { 43373 n = (n * 100) + "%"; 43374 } 43375 43376 return n; 43377} 43378 43379// Converts a decimal to a hex value 43380function convertDecimalToHex(d) { 43381 return Math.round(parseFloat(d) * 255).toString(16); 43382} 43383// Converts a hex value to a decimal 43384function convertHexToDecimal(h) { 43385 return (parseIntFromHex(h) / 255); 43386} 43387 43388var matchers = (function() { 43389 43390 // <http://www.w3.org/TR/css3-values/#integers> 43391 var CSS_INTEGER = "[-\\+]?\\d+%?"; 43392 43393 // <http://www.w3.org/TR/css3-values/#number-value> 43394 var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; 43395 43396 // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. 43397 var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; 43398 43399 // Actual matching. 43400 // Parentheses and commas are optional, but not required. 43401 // Whitespace can take the place of commas or opening paren 43402 var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; 43403 var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; 43404 43405 return { 43406 CSS_UNIT: new RegExp(CSS_UNIT), 43407 rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), 43408 rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), 43409 hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), 43410 hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), 43411 hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), 43412 hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), 43413 hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, 43414 hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, 43415 hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, 43416 hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ 43417 }; 43418})(); 43419 43420// `isValidCSSUnit`
43421// Take in a single string / number and check to see if it looks like a CSS unit 43422// (see `matchers` above for definition). 43423function isValidCSSUnit(color) { 43424 return !!matchers.CSS_UNIT.exec(color); 43425} 43426 43427// `stringInputToObject` 43428// Permissive string parsing. Take in a number of formats, and output an object 43429// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` 43430function stringInputToObject(color) { 43431 43432 color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase(); 43433 var named = false; 43434 if (names[color]) { 43435 color = names[color]; 43436 named = true; 43437 } 43438 else if (color == 'transparent') { 43439 return { r: 0, g: 0, b: 0, a: 0, format: "name" }; 43440 } 43441 43442 // Try to match string input using regular expressions. 43443 // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] 43444 // Just return an object and let the conversion functions handle that. 43445 // This way the result will be the same whether the tinycolor is initialized with string or object. 43446 var match; 43447 if ((match = matchers.rgb.exec(color))) { 43448 return { r: match[1], g: match[2], b: match[3] }; 43449 } 43450 if ((match = matchers.rgba.exec(color))) { 43451 return { r: match[1], g: match[2], b: match[3], a: match[4] }; 43452 } 43453 if ((match = matchers.hsl.exec(color))) { 43454 return { h: match[1], s: match[2], l: match[3] }; 43455 } 43456 if ((match = matchers.hsla.exec(color))) { 43457 return { h: match[1], s: match[2], l: match[3], a: match[4] }; 43458 } 43459 if ((match = matchers.hsv.exec(color))) { 43460 return { h: match[1], s: match[2], v: match[3] }; 43461 } 43462 if ((match = matchers.hsva.exec(color))) { 43463 return { h: match[1], s: match[2], v: match[3], a: match[4] }; 43464 } 43465 if ((match = matchers.hex8.exec(color))) { 43466 return { 43467 r: parseIntFromHex(match[1]), 43468 g: parseIntFromHex(match[2]), 43469 b: parseIntFromHex(match[3]), 43470 a: convertHexToDecimal(match[4]), 43471 format: named ? "name" : "hex8" 43472 }; 43473 } 43474 if ((match = matchers.hex6.exec(color))) { 43475 return { 43476 r: parseIntFromHex(match[1]), 43477 g: parseIntFromHex(match[2]), 43478 b: parseIntFromHex(match[3]), 43479 format: named ? "name" : "hex" 43480 }; 43481 } 43482 if ((match = matchers.hex4.exec(color))) { 43483 return { 43484 r: parseIntFromHex(match[1] + '' + match[1]), 43485 g: parseIntFromHex(match[2] + '' + match[2]), 43486 b: parseIntFromHex(match[3] + '' + match[3]), 43487 a: convertHexToDecimal(match[4] + '' + match[4]), 43488 format: named ? "name" : "hex8" 43489 }; 43490 } 43491 if ((match = matchers.hex3.exec(color))) { 43492 return { 43493 r: parseIntFromHex(match[1] + '' + match[1]), 43494 g: parseIntFromHex(match[2] + '' + match[2]), 43495 b: parseIntFromHex(match[3] + '' + match[3]), 43496 format: named ? "name" : "hex" 43497 }; 43498 } 43499 43500 return false; 43501} 43502 43503function validateWCAG2Parms(parms) { 43504 // return valid WCAG2 parms for isReadable. 43505 // If input parms are invalid, return {"level":"AA", "size":"small"} 43506 var level, size; 43507 parms = parms || {"level":"AA", "size":"small"}; 43508 level = (parms.level || "AA").toUpperCase(); 43509 size = (parms.size || "small").toLowerCase(); 43510 if (level !== "AA" && level !== "AAA") { 43511 level = "AA"; 43512 } 43513 if (size !== "small" && size !== "large") { 43514 size = "small"; 43515 } 43516 return {"level":level, "size":size}; 43517} 43518 43519// Node: Export function 43520if ( true && module.exports) { 43521 module.exports = tinycolor; 43522} 43523// AMD/requirejs: Define the module 43524else if (true) { 43525 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module), 43526 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 43527} 43528// Browser: Expose to window 43529else {} 43530 43531})(Math); 43532 43533 43534/***/ }), 43535/* 793 */, 43536/* 794 */, 43537/* 795 */, 43538/* 796 */, 43539/* 797 */, 43540/* 798 */, 43541/* 799 */, 43542/* 800 */, 43543/* 801 */, 43544/* 802 */, 43545/* 803 */, 43546/* 804 */, 43547/* 805 */, 43548/* 806 */, 43549/* 807 */, 43550/* 808 */, 43551/* 809 */, 43552/* 810 */, 43553/* 811 */, 43554/* 812 */, 43555/* 813 */, 43556/* 814 */, 43557/* 815 */, 43558/* 816 */, 43559/* 817 */, 43560/* 818 */, 43561/* 819 */, 43562/* 820 */, 43563/* 821 */, 43564/* 822 */, 43565/* 823 */, 43566/* 824 */, 43567/* 825 */, 43568/* 826 */, 43569/* 827 */, 43570/* 828 */, 43571/* 829 */, 43572/* 830 */, 43573/* 831 */, 43574/* 832 */, 43575/* 833 */, 43576/* 834 */, 43577/* 835 */, 43578/* 836 */, 43579/* 837 */, 43580/* 838 */, 43581/* 839 */, 43582/* 840 */, 43583/* 841 */, 43584/* 842 */, 43585/* 843 */, 43586/* 844 */, 43587/* 845 */, 43588/* 846 */, 43589/* 847 */, 43590/* 848 */, 43591/* 849 */, 43592/* 850 */, 43593/* 851 */, 43594/* 852 */, 43595/* 853 */, 43596/* 854 */, 43597/* 855 */, 43598/* 856 */, 43599/* 857 */, 43600/* 858 */, 43601/* 859 */, 43602/* 860 */, 43603/* 861 */, 43604/* 862 */, 43605/* 863 */, 43606/* 864 */, 43607/* 865 */, 43608/* 866 */, 43609/* 867 */, 43610/* 868 */, 43611/* 869 */, 43612/* 870 */, 43613/* 871 */, 43614/* 872 */, 43615/* 873 */, 43616/* 874 */, 43617/* 875 */, 43618/* 876 */, 43619/* 877 */, 43620/* 878 */ 43621/***/ (function(module, exports, __webpack_require__) { 43622 43623/*jshint -W030 */ 43624var tagRE = /(?:<!--[\S\s]*?-->|<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>)/g; 43625var parseTag = __webpack_require__(879); 43626// re-used obj for quick lookups of components 43627var empty = Object.create ? Object.create(null) : {}; 43628// common logic for pushing a child node onto a list 43629function pushTextNode(list, html, level, start, ignoreWhitespace) { 43630 // calculate correct end of the content slice in case there's 43631 // no tag after the text node. 43632 var end = html.indexOf('<', start); 43633 var content = html.slice(start, end === -1 ? undefined : end); 43634 // if a node is nothing but whitespace, collapse it as the spec states:
43635 // https://www.w3.org/TR/html4/struct/text.html#h-9.1 43636 if (/^\s*$/.test(content)) { 43637 content = ' '; 43638 } 43639 // don't add whitespace-only text nodes if they would be trailing text nodes 43640 // or if they would be leading whitespace-only text nodes: 43641 // * end > -1 indicates this is not a trailing text node 43642 // * leading node is when level is -1 and list has length 0 43643 if ((!ignoreWhitespace && end > -1 && level + list.length >= 0) || content !== ' ') { 43644 list.push({ 43645 type: 'text', 43646 content: content 43647 }); 43648 } 43649} 43650 43651module.exports = function parse(html, options) { 43652 options || (options = {}); 43653 options.components || (options.components = empty); 43654 var result = []; 43655 var current; 43656 var level = -1; 43657 var arr = []; 43658 var byTag = {}; 43659 var inComponent = false; 43660 43661 html.replace(tagRE, function (tag, index) { 43662 if (inComponent) { 43663 if (tag !== ('</' + current.name + '>')) { 43664 return; 43665 } else { 43666 inComponent = false; 43667 } 43668 } 43669 43670 var isOpen = tag.charAt(1) !== '/'; 43671 var isComment = tag.indexOf('<!--') === 0; 43672 var start = index + tag.length; 43673 var nextChar = html.charAt(start); 43674 var parent; 43675 43676 if (isOpen && !isComment) { 43677 level++; 43678 43679 current = parseTag(tag); 43680 if (current.type === 'tag' && options.components[current.name]) { 43681 current.type = 'component'; 43682 inComponent = true; 43683 } 43684 43685 if (!current.voidElement && !inComponent && nextChar && nextChar !== '<') { 43686 pushTextNode(current.children, html, level, start, options.ignoreWhitespace); 43687 } 43688 43689 byTag[current.tagName] = current; 43690 43691 // if we're at root, push new base node 43692 if (level === 0) { 43693 result.push(current); 43694 } 43695 43696 parent = arr[level - 1]; 43697 43698 if (parent) { 43699 parent.children.push(current); 43700 } 43701 43702 arr[level] = current; 43703 } 43704 43705 if (isComment || !isOpen || current.voidElement) { 43706 if (!isComment) { 43707 level--; 43708 } 43709 if (!inComponent && nextChar !== '<' && nextChar) { 43710 // trailing text node 43711 // if we're at the root, push a base text node. otherwise add as 43712 // a child to the current node. 43713 parent = level === -1 ? result : arr[level].children; 43714 pushTextNode(parent, html, level, start, options.ignoreWhitespace); 43715 } 43716 } 43717 }); 43718 43719 // If the "html" passed isn't actually html, add it as a text node. 43720 if (!result.length && html.length) { 43721 pushTextNode(result, html, 0, 0, options.ignoreWhitespace); 43722 } 43723 43724 return result; 43725}; 43726 43727 43728/***/ }), 43729/* 879 */ 43730/***/ (function(module, exports, __webpack_require__) { 43731 43732var attrRE = /([\w-]+)|=|(['"])([.\s\S]*?)\2/g; 43733var voidElements = __webpack_require__(880); 43734 43735module.exports = function (tag) { 43736 var i = 0; 43737 var key; 43738 var expectingValueAfterEquals = true; 43739 var res = { 43740 type: 'tag', 43741 name: '', 43742 voidElement: false, 43743 attrs: {}, 43744 children: [] 43745 }; 43746 43747 tag.replace(attrRE, function (match) { 43748 if (match === '=') { 43749 expectingValueAfterEquals = true; 43750 i++; 43751 return; 43752 } 43753 43754 if (!expectingValueAfterEquals) { 43755 if (key) { 43756 res.attrs[key] = key; // boolean attribute 43757 } 43758 key=match; 43759 } else { 43760 if (i === 0) { 43761 if (voidElements[match] || tag.charAt(tag.length - 2) === '/') { 43762 res.voidElement = true; 43763 } 43764 res.name = match; 43765 } else { 43766 res.attrs[key] = match.replace(/^['"]|['"]$/g, ''); 43767 key=undefined; 43768 } 43769 } 43770 i++; 43771 expectingValueAfterEquals = false; 43772 }); 43773 43774 return res; 43775}; 43776 43777 43778/***/ }), 43779/* 880 */ 43780/***/ (function(module, exports) { 43781 43782/** 43783 * This file automatically generated from `pre-publish.js`. 43784 * Do not manually edit. 43785 */ 43786 43787module.exports = { 43788 "area": true, 43789 "base": true, 43790 "br": true, 43791 "col": true, 43792 "embed": true, 43793 "hr": true, 43794 "img": true, 43795 "input": true, 43796 "keygen": true, 43797 "link": true, 43798 "menuitem": true, 43799 "meta": true, 43800 "param": true, 43801 "source": true, 43802 "track": true, 43803 "wbr": true 43804}; 43805 43806 43807/***/ }), 43808/* 881 */
43809/***/ (function(module, exports) { 43810 43811function attrString(attrs) { 43812 var buff = []; 43813 for (var key in attrs) { 43814 buff.push(key + '="' + attrs[key] + '"'); 43815 } 43816 if (!buff.length) { 43817 return ''; 43818 } 43819 return ' ' + buff.join(' '); 43820} 43821 43822function stringify(buff, doc) { 43823 switch (doc.type) { 43824 case 'text': 43825 return buff + doc.content; 43826 case 'tag': 43827 buff += '<' + doc.name + (doc.attrs ? attrString(doc.attrs) : '') + (doc.voidElement ? '/>' : '>'); 43828 if (doc.voidElement) { 43829 return buff; 43830 } 43831 return buff + doc.children.reduce(stringify, '') + '</' + doc.name + '>'; 43832 } 43833} 43834 43835module.exports = function (doc) { 43836 return doc.reduce(function (token, rootEl) { 43837 return token + stringify('', rootEl); 43838 }, ''); 43839}; 43840 43841 43842/***/ }), 43843/* 882 */ 43844/***/ (function(module, exports) { 43845 43846module.exports = "<svg width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M14.075 1l-7.944 9.47-4.518-3.787L0 8.606l6.44 5.404L16 2.616z\" fill-rule=\"evenodd\"></path></svg>" 43847 43848/***/ }), 43849/* 883 */ 43850/***/ (function(module, exports) { 43851 43852module.exports = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.232 0L8 6.232L1.768 0L0 1.768L6.232 8L0 14.233L1.768 16L8 9.768L14.232 16L16 14.233L9.767 8L16 1.768L14.232 0Z\" fill=\"currentColor\"></path></svg>" 43853 43854/***/ }), 43855/* 884 */ 43856/***/ (function(module, exports) { 43857 43858module.exports = "<svg width=\"60\" height=\"60\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><defs><path d=\"M45 30.571l-4.364 2.858v-5.715L45 30.571zm-7.636 5.202L34.09 38V23.143l3.273 2.23v10.4zm-6.546 4.55l-3.273 2.248v-24l3.273 2.253v19.5zm-6.545 3.423L21 46V14l3.273 2.258v27.488z\" id=\"a\"></path></defs><g fill=\"none\" fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"30\" cy=\"30\" r=\"30\"></circle><use fill=\"#FFF\" xlink:href=\"#a\"></use></g></svg>" 43859 43860/***/ }), 43861/* 885 */ 43862/***/ (function(module, exports) { 43863 43864module.exports = "<svg width=\"60\" height=\"60\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"none\" fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"30\" cy=\"30\" r=\"30\"></circle><path d=\"M22 40V20h5.625v20H22zm10.625 0V20h5.625v20h-5.625z\" fill=\"#FFF\"></path></g></svg>" 43865 43866/***/ }), 43867/* 886 */ 43868/***/ (function(module, exports) { 43869 43870module.exports = "<svg width=\"60\" height=\"60\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"none\" fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"30\" cy=\"30\" r=\"30\"></circle><path fill=\"#FFF\" d=\"M20 40h20V20H20z\"></path></g></svg>" 43871 43872/***/ }), 43873/* 887 */ 43874/***/ (function(module, exports) { 43875 43876module.exports = "<svg width=\"46px\" height=\"46px\" viewBox=\"0 0 46 46\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><title>icon_big_play</title><defs><path d=\"M23,46 C35.7025492,46 46,35.7025492 46,23 C46,10.2974508 35.7025492,0 23,0 C10.2974508,0 0,10.2974508 0,23 C0,35.7025492 10.2974508,46 23,46 Z M16.56,11.04 L19.0688869,12.7522421 L19.0688869,33.5993598 L16.56,35.3087694 L16.56,11.04 Z M21.5782076,14.0509245 L24.0870945,15.7631666 L24.0870945,30.5884353 L21.5782076,32.2978448 L21.5782076,14.0509245 Z M26.5963355,17.4722221 L29.1052224,19.1844641 L29.1052224,27.1671377 L26.5963355,28.8765473 L26.5963355,17.4722221 Z M31.6144634,20.8938737 L34.96,23.1758009 L31.6144634,25.4577281 L31.6144634,20.8938737 Z\" id=\"path-1\"></path></defs><g id=\"icon_big_play\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"Play-Control\"><mask id=\"mask-2\" fill=\"white\"><use xlink:href=\"#path-1\"></use></mask><use id=\"Combined-Shape\" fill=\"currentColor\" xlink:href=\"#path-1\"></use></g></g></svg>" 43877 43878/***/ }), 43879/* 888 */ 43880/***/ (function(module, exports) { 43881 43882module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19.117 20.005c0 1.362-.567 2.599-1.484 3.495l1.242 1.212a6.563 6.563 0 0 0 1.997-4.707c0-1.843-.767-3.51-2.006-4.717l-1.243 1.211a4.875 4.875 0 0 1 1.494 3.506\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 43883 43884/***/ }), 43885/* 889 */
vendor: 9,807 bytes, lines 43886-44185
43886/***/ (function(module, exports) { 43887 43888module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.904 20.005a9.657 9.657 0 0 1-2.845 6.837l1.245 1.213c2.073-2.07 3.355-4.911 3.355-8.05 0-3.145-1.286-5.99-3.363-8.06l-1.244 1.212c1.76 1.763 2.852 4.18 2.852 6.848\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 43889 43890/***/ }), 43891/* 890 */ 43892/***/ (function(module, exports) { 43893 43894module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M28.77 20.005c0 3.975-1.627 7.58-4.253 10.21l1.246 1.214c2.942-2.937 4.762-6.97 4.762-11.424 0-4.46-1.824-8.497-4.77-11.434l-1.246 1.215c2.632 2.629 4.26 6.238 4.26 10.219\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 43895 43896/***/ }), 43897/* 891 */ 43898/***/ (function(module, exports) { 43899 43900module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M33.48 20.005c0 5.247-2.145 10.006-5.613 13.475l1.247 1.216c3.783-3.775 6.121-8.964 6.121-14.691 0-5.733-2.34-10.925-6.13-14.702L27.859 6.52c3.474 3.47 5.622 8.232 5.622 13.485\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 43901 43902/***/ }), 43903/* 892 */ 43904/***/ (function(module, exports) { 43905 43906module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M32.502 38C37.137 33.376 40 27.02 40 20.005 40 12.984 37.134 6.625 32.493 2l-1.249 1.217c4.326 4.32 7.001 10.25 7.001 16.788 0 6.533-2.672 12.46-6.992 16.777L32.502 38z\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 43907 43908/***/ }), 43909/* 893 */ 43910/***/ (function(module, exports) { 43911 43912module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M8.505 14.635H0v10.268h8.505l5.533 5.36V9.728z\" fill-rule=\"evenodd\"></path></svg>" 43913 43914/***/ }), 43915/* 894 */ 43916/***/ (function(module, exports) { 43917 43918module.exports = "<svg width=\"40\" height=\"40\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M32.453 13L27 18.453 21.547 13 20 14.547 25.453 20 20 25.453 21.547 27 27 21.547 32.453 27 34 25.453 28.547 20 34 14.547z\" fill-rule=\"evenodd\"></path></svg>" 43919 43920/***/ }), 43921/* 895 */ 43922/***/ (function(module, exports) { 43923 43924module.exports = "assets/radioplayer-c905599.svg"; 43925 43926/***/ }), 43927/* 896 */ 43928/***/ (function(module, exports) { 43929 43930module.exports = "<svg width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M7.992 3L0 11.002l2.095 2.099L7.96 7.278l5.84 5.81L16 10.992z\" fill-rule=\"evenodd\"></path></svg>" 43931 43932/***/ }), 43933/* 897 */ 43934/***/ (function(module, exports, __webpack_require__) { 43935 43936const nodeFetch = __webpack_require__(898) 43937const realFetch = nodeFetch.default || nodeFetch 43938 43939const fetch = function (url, options) { 43940 // Support schemaless URIs on the server for parity with the browser. 43941 // Ex: //github.com/ -> https://github.com/ 43942 if (/^\/\//.test(url)) { 43943 url = 'https:' + url 43944 } 43945 return realFetch.call(this, url, options) 43946} 43947 43948fetch.ponyfill = true 43949 43950module.exports = exports = fetch 43951exports.fetch = fetch 43952exports.Headers = nodeFetch.Headers 43953exports.Request = nodeFetch.Request 43954exports.Response = nodeFetch.Response 43955 43956// Needed for TypeScript consumers without esModuleInterop. 43957exports.default = fetch 43958 43959 43960/***/ }), 43961/* 898 */ 43962/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { 43963 43964"use strict"; 43965__webpack_require__.r(__webpack_exports__); 43966/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Headers", function() { return Headers; }); 43967/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Request", function() { return Request; }); 43968/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Response", function() { return Response; }); 43969/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FetchError", function() { return FetchError; }); 43970/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AbortError", function() { return AbortError; }); 43971/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(129); 43972/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(317); 43973/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(246); 43974/* harmony import */ var whatwg_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(486); 43975/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(755); 43976/* harmony import */ var zlib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(202); 43977 43978 43979 43980 43981 43982 43983 43984// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js 43985 43986// fix for "Readable" isn't a named export issue 43987const Readable = stream__WEBPACK_IMPORTED_MODULE_0__.Readable; 43988 43989const BUFFER = Symbol('buffer'); 43990const TYPE = Symbol('type'); 43991 43992class Blob { 43993 constructor() { 43994 this[TYPE] = ''; 43995 43996 const blobParts = arguments[0]; 43997 const options = arguments[1]; 43998 43999 const buffers = []; 44000 let size = 0; 44001 44002 if (blobParts) { 44003 const a = blobParts; 44004 const length = Number(a.length); 44005 for (let i = 0; i < length; i++) { 44006 const element = a[i]; 44007 let buffer; 44008 if (element instanceof Buffer) { 44009 buffer = element; 44010 } else if (ArrayBuffer.isView(element)) { 44011 buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); 44012 } else if (element instanceof ArrayBuffer) { 44013 buffer = Buffer.from(element); 44014 } else if (element instanceof Blob) { 44015 buffer = element[BUFFER]; 44016 } else { 44017 buffer = Buffer.from(typeof element === 'string' ? element : String(element)); 44018 } 44019 size += buffer.length; 44020 buffers.push(buffer); 44021 } 44022 } 44023 44024 this[BUFFER] = Buffer.concat(buffers); 44025 44026 let type = options && options.type !== undefined && String(options.type).toLowerCase(); 44027 if (type && !/[^\u0020-\u007E]/.test(type)) { 44028 this[TYPE] = type; 44029 } 44030 } 44031 get size() { 44032 return this[BUFFER].length; 44033 } 44034 get type() { 44035 return this[TYPE]; 44036 } 44037 text() { 44038 return Promise.resolve(this[BUFFER].toString()); 44039 } 44040 arrayBuffer() { 44041 const buf = this[BUFFER]; 44042 const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); 44043 return Promise.resolve(ab); 44044 } 44045 stream() { 44046 const readable = new Readable(); 44047 readable._read = function () {}; 44048 readable.push(this[BUFFER]); 44049 readable.push(null); 44050 return readable; 44051 } 44052 toString() { 44053 return '[object Blob]'; 44054 } 44055 slice() { 44056 const size = this.size; 44057 44058 const start = arguments[0]; 44059 const end = arguments[1]; 44060 let relativeStart, relativeEnd; 44061 if (start === undefined) { 44062 relativeStart = 0; 44063 } else if (start < 0) { 44064 relativeStart = Math.max(size + start, 0); 44065 } else { 44066 relativeStart = Math.min(start, size); 44067 } 44068 if (end === undefined) { 44069 relativeEnd = size; 44070 } else if (end < 0) { 44071 relativeEnd = Math.max(size + end, 0); 44072 } else { 44073 relativeEnd = Math.min(end, size); 44074 } 44075 const span = Math.max(relativeEnd - relativeStart, 0); 44076 44077 const buffer = this[BUFFER]; 44078 const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); 44079 const blob = new Blob([], { type: arguments[2] }); 44080 blob[BUFFER] = slicedBuffer; 44081 return blob; 44082 } 44083} 44084 44085Object.defineProperties(Blob.prototype, { 44086 size: { enumerable: true }, 44087 type: { enumerable: true }, 44088 slice: { enumerable: true } 44089}); 44090 44091Object.defineProperty(Blob.prototype, Symbol.toStringTag, { 44092 value: 'Blob', 44093 writable: false, 44094 enumerable: false, 44095 configurable: true 44096}); 44097 44098/** 44099 * fetch-error.js 44100 * 44101 * FetchError interface for operational errors 44102 */ 44103 44104/** 44105 * Create FetchError instance 44106 * 44107 * @param String message Error message for human 44108 * @param String type Error type for machine 44109 * @param String systemError For Node.js system error 44110 * @return FetchError 44111 */ 44112function FetchError(message, type, systemError) { 44113 Error.call(this, message); 44114 44115 this.message = message; 44116 this.type = type; 44117 44118 // when err.type is `system`, err.code contains system error code 44119 if (systemError) { 44120 this.code = this.errno = systemError.code; 44121 } 44122 44123 // hide custom error implementation details from end-users 44124 Error.captureStackTrace(this, this.constructor); 44125} 44126 44127FetchError.prototype = Object.create(Error.prototype); 44128FetchError.prototype.constructor = FetchError; 44129FetchError.prototype.name = 'FetchError'; 44130 44131let convert; 44132try { 44133 convert = require('encoding').convert; 44134} catch (e) {} 44135 44136const INTERNALS = Symbol('Body internals'); 44137 44138// fix an issue where "PassThrough" isn't a named export for node <10 44139const PassThrough = stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough; 44140 44141/** 44142 * Body mixin 44143 * 44144 * Ref: https://fetch.spec.whatwg.org/#body 44145 * 44146 * @param Stream body Readable stream 44147 * @param Object opts Response options 44148 * @return Void 44149 */ 44150function Body(body) { 44151 var _this = this; 44152 44153 var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, 44154 _ref$size = _ref.size; 44155 44156 let size = _ref$size === undefined ? 0 : _ref$size; 44157 var _ref$timeout = _ref.timeout; 44158 let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; 44159 44160 if (body == null) { 44161 // body is undefined or null 44162 body = null; 44163 } else if (isURLSearchParams(body)) { 44164 // body is a URLSearchParams 44165 body = Buffer.from(body.toString()); 44166 } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { 44167 // body is ArrayBuffer 44168 body = Buffer.from(body); 44169 } else if (ArrayBuffer.isView(body)) { 44170 // body is ArrayBufferView 44171 body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); 44172 } else if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__) ; else { 44173 // none of the above 44174 // coerce to string then buffer 44175 body = Buffer.from(String(body)); 44176 } 44177 this[INTERNALS] = { 44178 body, 44179 disturbed: false, 44180 error: null 44181 }; 44182 this.size = size; 44183 this.timeout = timeout; 44184 44185 if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__
vendor: 3,269 bytes, lines 44185-44341
44185) { 44186 body.on('error', function (err) { 44187 const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); 44188 _this[INTERNALS].error = error; 44189 }); 44190 } 44191} 44192 44193Body.prototype = { 44194 get body() { 44195 return this[INTERNALS].body; 44196 }, 44197 44198 get bodyUsed() { 44199 return this[INTERNALS].disturbed; 44200 }, 44201 44202 /** 44203 * Decode response as ArrayBuffer 44204 * 44205 * @return Promise 44206 */ 44207 arrayBuffer() { 44208 return consumeBody.call(this).then(function (buf) { 44209 return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); 44210 }); 44211 }, 44212 44213 /** 44214 * Return raw response as Blob 44215 * 44216 * @return Promise 44217 */ 44218 blob() { 44219 let ct = this.headers && this.headers.get('content-type') || ''; 44220 return consumeBody.call(this).then(function (buf) { 44221 return Object.assign( 44222 // Prevent copying 44223 new Blob([], { 44224 type: ct.toLowerCase() 44225 }), { 44226 [BUFFER]: buf 44227 }); 44228 }); 44229 }, 44230 44231 /** 44232 * Decode response as json 44233 * 44234 * @return Promise 44235 */ 44236 json() { 44237 var _this2 = this; 44238 44239 return consumeBody.call(this).then(function (buffer) { 44240 try { 44241 return JSON.parse(buffer.toString()); 44242 } catch (err) { 44243 return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); 44244 } 44245 }); 44246 }, 44247 44248 /** 44249 * Decode response as text 44250 * 44251 * @return Promise 44252 */ 44253 text() { 44254 return consumeBody.call(this).then(function (buffer) { 44255 return buffer.toString(); 44256 }); 44257 }, 44258 44259 /** 44260 * Decode response as buffer (non-spec api) 44261 * 44262 * @return Promise 44263 */ 44264 buffer() { 44265 return consumeBody.call(this); 44266 }, 44267 44268 /** 44269 * Decode response as text, while automatically detecting the encoding and 44270 * trying to decode to UTF-8 (non-spec api) 44271 * 44272 * @return Promise 44273 */ 44274 textConverted() { 44275 var _this3 = this; 44276 44277 return consumeBody.call(this).then(function (buffer) { 44278 return convertBody(buffer, _this3.headers); 44279 }); 44280 } 44281}; 44282 44283// In browsers, all properties are enumerable. 44284Object.defineProperties(Body.prototype, { 44285 body: { enumerable: true }, 44286 bodyUsed: { enumerable: true }, 44287 arrayBuffer: { enumerable: true }, 44288 blob: { enumerable: true }, 44289 json: { enumerable: true }, 44290 text: { enumerable: true } 44291}); 44292 44293Body.mixIn = function (proto) { 44294 for (const name of Object.getOwnPropertyNames(Body.prototype)) { 44295 // istanbul ignore else: future proof 44296 if (!(name in proto)) { 44297 const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); 44298 Object.defineProperty(proto, name, desc); 44299 } 44300 } 44301}; 44302 44303/** 44304 * Consume and convert an entire Body to a Buffer. 44305 * 44306 * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body 44307 * 44308 * @return Promise 44309 */ 44310function consumeBody() { 44311 var _this4 = this; 44312 44313 if (this[INTERNALS].disturbed) { 44314 return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); 44315 } 44316 44317 this[INTERNALS].disturbed = true; 44318 44319 if (this[INTERNALS].error) { 44320 return Body.Promise.reject(this[INTERNALS].error); 44321 } 44322 44323 let body = this.body; 44324 44325 // body is null 44326 if (body === null) { 44327 return Body.Promise.resolve(Buffer.alloc(0)); 44328 } 44329 44330 // body is blob 44331 if (isBlob(body)) { 44332 body = body.stream(); 44333 } 44334 44335 // body is buffer 44336 if (Buffer.isBuffer(body)) { 44337 return Body.Promise.resolve(body); 44338 } 44339 44340 // istanbul ignore if: should never happen 44341 if (!(body instanceof
vendor: 6,497 bytes, lines 44341-44562
44341stream__WEBPACK_IMPORTED_MODULE_0__)) { 44342 return Body.Promise.resolve(Buffer.alloc(0)); 44343 } 44344 44345 // body is stream 44346 // get ready to actually consume the body 44347 let accum = []; 44348 let accumBytes = 0; 44349 let abort = false; 44350 44351 return new Body.Promise(function (resolve, reject) { 44352 let resTimeout; 44353 44354 // allow timeout on slow response body 44355 if (_this4.timeout) { 44356 resTimeout = setTimeout(function () { 44357 abort = true; 44358 reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); 44359 }, _this4.timeout); 44360 } 44361 44362 // handle stream errors 44363 body.on('error', function (err) { 44364 if (err.name === 'AbortError') { 44365 // if the request was aborted, reject with this Error 44366 abort = true; 44367 reject(err); 44368 } else { 44369 // other errors, such as incorrect content-encoding 44370 reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); 44371 } 44372 }); 44373 44374 body.on('data', function (chunk) { 44375 if (abort || chunk === null) { 44376 return; 44377 } 44378 44379 if (_this4.size && accumBytes + chunk.length > _this4.size) { 44380 abort = true; 44381 reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); 44382 return; 44383 } 44384 44385 accumBytes += chunk.length; 44386 accum.push(chunk); 44387 }); 44388 44389 body.on('end', function () { 44390 if (abort) { 44391 return; 44392 } 44393 44394 clearTimeout(resTimeout); 44395 44396 try { 44397 resolve(Buffer.concat(accum, accumBytes)); 44398 } catch (err) { 44399 // handle streams that have accumulated too much data (issue #414) 44400 reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); 44401 } 44402 }); 44403 }); 44404} 44405 44406/** 44407 * Detect buffer encoding and convert to target encoding 44408 * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding 44409 * 44410 * @param Buffer buffer Incoming buffer 44411 * @param String encoding Target encoding 44412 * @return String 44413 */ 44414function convertBody(buffer, headers) { 44415 if (typeof convert !== 'function') { 44416 throw new Error('The package `encoding` must be installed to use the textConverted() function'); 44417 } 44418 44419 const ct = headers.get('content-type'); 44420 let charset = 'utf-8'; 44421 let res, str; 44422 44423 // header 44424 if (ct) { 44425 res = /charset=([^;]*)/i.exec(ct); 44426 } 44427 44428 // no charset in content type, peek at response body for at most 1024 bytes 44429 str = buffer.slice(0, 1024).toString(); 44430 44431 // html5 44432 if (!res && str) { 44433 res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str); 44434 } 44435 44436 // html4 44437 if (!res && str) { 44438 res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str); 44439 if (!res) { 44440 res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str); 44441 if (res) { 44442 res.pop(); // drop last quote 44443 } 44444 } 44445 44446 if (res) { 44447 res = /charset=(.*)/i.exec(res.pop()); 44448 } 44449 } 44450 44451 // xml 44452 if (!res && str) { 44453 res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str); 44454 } 44455 44456 // found charset 44457 if (res) { 44458 charset = res.pop(); 44459 44460 // prevent decode issues when sites use incorrect encoding 44461 // ref: https://hsivonen.fi/encoding-menu/ 44462 if (charset === 'gb2312' || charset === 'gbk') { 44463 charset = 'gb18030'; 44464 } 44465 } 44466 44467 // turn raw buffers into a single utf-8 buffer 44468 return convert(buffer, 'UTF-8', charset).toString(); 44469} 44470 44471/** 44472 * Detect a URLSearchParams object 44473 * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143 44474 * 44475 * @param Object obj Object to detect by type or brand 44476 * @return String 44477 */ 44478function isURLSearchParams(obj) { 44479 // Duck-typing as a necessary condition. 44480 if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') { 44481 return false; 44482 } 44483 44484 // Brand-checking and more duck-typing as optional condition. 44485 return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function'; 44486} 44487 44488/** 44489 * Check if `obj` is a W3C `Blob` object (which `File` inherits from) 44490 * @param {*} obj 44491 * @return {boolean} 44492 */ 44493function isBlob(obj) { 44494 return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); 44495} 44496 44497/** 44498 * Clone body given Res/Req instance 44499 * 44500 * @param Mixed instance Response or Request instance 44501 * @return Mixed 44502 */ 44503function clone(instance) { 44504 let p1, p2; 44505 let body = instance.body; 44506 44507 // don't allow cloning a used body 44508 if (instance.bodyUsed) { 44509 throw new Error('cannot clone body after it is used'); 44510 } 44511 44512 // check that body is a stream and not form-data object 44513 // note: we can't clone the form-data object without having it as a dependency 44514 if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__ && typeof body.getBoundary !== 'function') { 44515 // tee instance body 44516 p1 = new PassThrough(); 44517 p2 = new PassThrough(); 44518 body.pipe(p1); 44519 body.pipe(p2); 44520 // set instance body to teed body and return the other teed body 44521 instance[INTERNALS].body = p1; 44522 body = p2; 44523 } 44524 44525 return body; 44526} 44527 44528/** 44529 * Performs the operation "extract a `Content-Type` value from |object|" as 44530 * specified in the specification: 44531 * https://fetch.spec.whatwg.org/#concept-bodyinit-extract 44532 * 44533 * This function assumes that instance.body is present. 44534 * 44535 * @param Mixed instance Any options.body input 44536 */ 44537function extractContentType(body) { 44538 if (body === null) { 44539 // body is null 44540 return null; 44541 } else if (typeof body === 'string') { 44542 // body is string 44543 return 'text/plain;charset=UTF-8'; 44544 } else if (isURLSearchParams(body)) { 44545 // body is a URLSearchParams 44546 return 'application/x-www-form-urlencoded;charset=UTF-8'; 44547 } else if (isBlob(body)) { 44548 // body is blob 44549 return body.type || null; 44550 } else if (Buffer.isBuffer(body)) { 44551 // body is buffer 44552 return null; 44553 } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { 44554 // body is ArrayBuffer 44555 return null; 44556 } else if (ArrayBuffer.isView(body)) { 44557 // body is ArrayBufferView 44558 return null; 44559 } else if (typeof body.getBoundary === 'function') { 44560 // detect form data input from form-data module 44561 return `multipart/form-data;boundary=${body.getBoundary()}`; 44562 } else if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__
vendor: 10,309 bytes, lines 44562-45016
44562) { 44563 // body is stream 44564 // can't really do much about this 44565 return null; 44566 } else { 44567 // Body constructor defaults other things to string 44568 return 'text/plain;charset=UTF-8'; 44569 } 44570} 44571 44572/** 44573 * The Fetch Standard treats this as if "total bytes" is a property on the body. 44574 * For us, we have to explicitly get it with a function. 44575 * 44576 * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes 44577 * 44578 * @param Body instance Instance of Body 44579 * @return Number? Number of bytes, or null if not possible 44580 */ 44581function getTotalBytes(instance) { 44582 const body = instance.body; 44583 44584 44585 if (body === null) { 44586 // body is null 44587 return 0; 44588 } else if (isBlob(body)) { 44589 return body.size; 44590 } else if (Buffer.isBuffer(body)) { 44591 // body is buffer 44592 return body.length; 44593 } else if (body && typeof body.getLengthSync === 'function') { 44594 // detect form data input from form-data module 44595 if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x 44596 body.hasKnownLength && body.hasKnownLength()) { 44597 // 2.x 44598 return body.getLengthSync(); 44599 } 44600 return null; 44601 } else { 44602 // body is stream 44603 return null; 44604 } 44605} 44606 44607/** 44608 * Write a Body to a Node.js WritableStream (e.g. http.Request) object. 44609 * 44610 * @param Body instance Instance of Body 44611 * @return Void 44612 */ 44613function writeToStream(dest, instance) { 44614 const body = instance.body; 44615 44616 44617 if (body === null) { 44618 // body is null 44619 dest.end(); 44620 } else if (isBlob(body)) { 44621 body.stream().pipe(dest); 44622 } else if (Buffer.isBuffer(body)) { 44623 // body is buffer 44624 dest.write(body); 44625 dest.end(); 44626 } else { 44627 // body is stream 44628 body.pipe(dest); 44629 } 44630} 44631 44632// expose Promise 44633Body.Promise = global.Promise; 44634 44635/** 44636 * headers.js 44637 * 44638 * Headers class offers convenient helpers 44639 */ 44640 44641const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; 44642const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; 44643 44644function validateName(name) { 44645 name = `${name}`; 44646 if (invalidTokenRegex.test(name) || name === '') { 44647 throw new TypeError(`${name} is not a legal HTTP header name`); 44648 } 44649} 44650 44651function validateValue(value) { 44652 value = `${value}`; 44653 if (invalidHeaderCharRegex.test(value)) { 44654 throw new TypeError(`${value} is not a legal HTTP header value`); 44655 } 44656} 44657 44658/** 44659 * Find the key in the map object given a header name. 44660 * 44661 * Returns undefined if not found. 44662 * 44663 * @param String name Header name 44664 * @return String|Undefined 44665 */ 44666function find(map, name) { 44667 name = name.toLowerCase(); 44668 for (const key in map) { 44669 if (key.toLowerCase() === name) { 44670 return key; 44671 } 44672 } 44673 return undefined; 44674} 44675 44676const MAP = Symbol('map'); 44677class Headers { 44678 /** 44679 * Headers class 44680 * 44681 * @param Object headers Response headers 44682 * @return Void 44683 */ 44684 constructor() { 44685 let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; 44686 44687 this[MAP] = Object.create(null); 44688 44689 if (init instanceof Headers) { 44690 const rawHeaders = init.raw(); 44691 const headerNames = Object.keys(rawHeaders); 44692 44693 for (const headerName of headerNames) { 44694 for (const value of rawHeaders[headerName]) { 44695 this.append(headerName, value); 44696 } 44697 } 44698 44699 return; 44700 } 44701 44702 // We don't worry about converting prop to ByteString here as append() 44703 // will handle it. 44704 if (init == null) ; else if (typeof init === 'object') { 44705 const method = init[Symbol.iterator]; 44706 if (method != null) { 44707 if (typeof method !== 'function') { 44708 throw new TypeError('Header pairs must be iterable'); 44709 } 44710 44711 // sequence<sequence<ByteString>> 44712 // Note: per spec we have to first exhaust the lists then process them 44713 const pairs = []; 44714 for (const pair of init) { 44715 if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { 44716 throw new TypeError('Each header pair must be iterable'); 44717 } 44718 pairs.push(Array.from(pair)); 44719 } 44720 44721 for (const pair of pairs) { 44722 if (pair.length !== 2) { 44723 throw new TypeError('Each header pair must be a name/value tuple'); 44724 } 44725 this.append(pair[0], pair[1]); 44726 } 44727 } else { 44728 // record<ByteString, ByteString> 44729 for (const key of Object.keys(init)) { 44730 const value = init[key]; 44731 this.append(key, value); 44732 } 44733 } 44734 } else { 44735 throw new TypeError('Provided initializer must be an object'); 44736 } 44737 } 44738 44739 /** 44740 * Return combined header value given name 44741 * 44742 * @param String name Header name 44743 * @return Mixed 44744 */ 44745 get(name) { 44746 name = `${name}`; 44747 validateName(name); 44748 const key = find(this[MAP], name); 44749 if (key === undefined) { 44750 return null; 44751 } 44752 44753 return this[MAP][key].join(', '); 44754 } 44755 44756 /** 44757 * Iterate over all headers 44758 * 44759 * @param Function callback Executed for each item with parameters (value, name, thisArg) 44760 * @param Boolean thisArg `this` context for callback function 44761 * @return Void 44762 */ 44763 forEach(callback) { 44764 let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; 44765 44766 let pairs = getHeaders(this); 44767 let i = 0; 44768 while (i < pairs.length) { 44769 var _pairs$i = pairs[i]; 44770 const name = _pairs$i[0], 44771 value = _pairs$i[1]; 44772 44773 callback.call(thisArg, value, name, this); 44774 pairs = getHeaders(this); 44775 i++; 44776 } 44777 } 44778 44779 /** 44780 * Overwrite header values given name 44781 * 44782 * @param String name Header name 44783 * @param String value Header value 44784 * @return Void 44785 */ 44786 set(name, value) { 44787 name = `${name}`; 44788 value = `${value}`; 44789 validateName(name); 44790 validateValue(value); 44791 const key = find(this[MAP], name); 44792 this[MAP][key !== undefined ? key : name] = [value]; 44793 } 44794 44795 /** 44796 * Append a value onto existing header 44797 * 44798 * @param String name Header name 44799 * @param String value Header value 44800 * @return Void 44801 */ 44802 append(name, value) { 44803 name = `${name}`; 44804 value = `${value}`; 44805 validateName(name); 44806 validateValue(value); 44807 const key = find(this[MAP], name); 44808 if (key !== undefined) { 44809 this[MAP][key].push(value); 44810 } else { 44811 this[MAP][name] = [value]; 44812 } 44813 } 44814 44815 /** 44816 * Check for header name existence 44817 * 44818 * @param String name Header name 44819 * @return Boolean 44820 */ 44821 has(name) { 44822 name = `${name}`; 44823 validateName(name); 44824 return find(this[MAP], name) !== undefined; 44825 } 44826 44827 /** 44828 * Delete all header values given name 44829 * 44830 * @param String name Header name 44831 * @return Void 44832 */ 44833 delete(name) { 44834 name = `${name}`; 44835 validateName(name); 44836 const key = find(this[MAP], name); 44837 if (key !== undefined) { 44838 delete this[MAP][key]; 44839 } 44840 } 44841 44842 /** 44843 * Return raw headers (non-spec api) 44844 * 44845 * @return Object 44846 */ 44847 raw() { 44848 return this[MAP]; 44849 } 44850 44851 /** 44852 * Get an iterator on keys. 44853 * 44854 * @return Iterator 44855 */ 44856 keys() { 44857 return createHeadersIterator(this, 'key'); 44858 } 44859 44860 /** 44861 * Get an iterator on values. 44862 * 44863 * @return Iterator 44864 */ 44865 values() { 44866 return createHeadersIterator(this, 'value'); 44867 } 44868 44869 /** 44870 * Get an iterator on entries. 44871 * 44872 * This is the default iterator of the Headers object. 44873 * 44874 * @return Iterator 44875 */ 44876 [Symbol.iterator]() { 44877 return createHeadersIterator(this, 'key+value'); 44878 } 44879} 44880Headers.prototype.entries = Headers.prototype[Symbol.iterator]; 44881 44882Object.defineProperty(Headers.prototype, Symbol.toStringTag, { 44883 value: 'Headers', 44884 writable: false, 44885 enumerable: false, 44886 configurable: true 44887}); 44888 44889Object.defineProperties(Headers.prototype, { 44890 get: { enumerable: true }, 44891 forEach: { enumerable: true }, 44892 set: { enumerable: true }, 44893 append: { enumerable: true }, 44894 has: { enumerable: true }, 44895 delete: { enumerable: true }, 44896 keys: { enumerable: true }, 44897 values: { enumerable: true }, 44898 entries: { enumerable: true } 44899}); 44900 44901function getHeaders(headers) { 44902 let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; 44903 44904 const keys = Object.keys(headers[MAP]).sort(); 44905 return keys.map(kind === 'key' ? function (k) { 44906 return k.toLowerCase(); 44907 } : kind === 'value' ? function (k) { 44908 return headers[MAP][k].join(', '); 44909 } : function (k) { 44910 return [k.toLowerCase(), headers[MAP][k].join(', ')]; 44911 }); 44912} 44913 44914const INTERNAL = Symbol('internal'); 44915 44916function createHeadersIterator(target, kind) { 44917 const iterator = Object.create(HeadersIteratorPrototype); 44918 iterator[INTERNAL] = { 44919 target, 44920 kind, 44921 index: 0 44922 }; 44923 return iterator; 44924} 44925 44926const HeadersIteratorPrototype = Object.setPrototypeOf({ 44927 next() { 44928 // istanbul ignore if 44929 if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { 44930 throw new TypeError('Value of `this` is not a HeadersIterator'); 44931 } 44932 44933 var _INTERNAL = this[INTERNAL]; 44934 const target = _INTERNAL.target, 44935 kind = _INTERNAL.kind, 44936 index = _INTERNAL.index; 44937 44938 const values = getHeaders(target, kind); 44939 const len = values.length; 44940 if (index >= len) { 44941 return { 44942 value: undefined, 44943 done: true 44944 }; 44945 } 44946 44947 this[INTERNAL].index = index + 1; 44948 44949 return { 44950 value: values[index], 44951 done: false 44952 }; 44953 } 44954}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); 44955 44956Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { 44957 value: 'HeadersIterator', 44958 writable: false, 44959 enumerable: false, 44960 configurable: true 44961}); 44962 44963/** 44964 * Export the Headers object in a form that Node.js can consume. 44965 * 44966 * @param Headers headers 44967 * @return Object 44968 */ 44969function exportNodeCompatibleHeaders(headers) { 44970 const obj = Object.assign({ __proto__: null }, headers[MAP]); 44971 44972 // http.request() only supports string as Host header. This hack makes 44973 // specifying custom Host header possible. 44974 const hostHeaderKey = find(headers[MAP], 'Host'); 44975 if (hostHeaderKey !== undefined) { 44976 obj[hostHeaderKey] = obj[hostHeaderKey][0]; 44977 } 44978 44979 return obj; 44980} 44981 44982/** 44983 * Create a Headers object from an object of headers, ignoring those that do 44984 * not conform to HTTP grammar productions. 44985 * 44986 * @param Object obj Object of headers 44987 * @return Headers 44988 */ 44989function createHeadersLenient(obj) { 44990 const headers = new Headers(); 44991 for (const name of Object.keys(obj)) { 44992 if (invalidTokenRegex.test(name)) { 44993 continue; 44994 } 44995 if (Array.isArray(obj[name])) { 44996 for (const val of obj[name]) { 44997 if (invalidHeaderCharRegex.test(val)) { 44998 continue; 44999 } 45000 if (headers[MAP][name] === undefined) { 45001 headers[MAP][name] = [val]; 45002 } else { 45003 headers[MAP][name].push(val); 45004 } 45005 } 45006 } else if (!invalidHeaderCharRegex.test(obj[name])) { 45007 headers[MAP][name] = [obj[name]]; 45008 } 45009 } 45010 return headers; 45011} 45012 45013const INTERNALS$1 = Symbol('Response internals'); 45014 45015// fix an issue where "STATUS_CODES" aren't a named export for node <10 45016const STATUS_CODES = http
vendor: 8,434 bytes, lines 45016-45353
45016__WEBPACK_IMPORTED_MODULE_1__.STATUS_CODES; 45017 45018/** 45019 * Response class 45020 * 45021 * @param Stream body Readable stream 45022 * @param Object opts Response options 45023 * @return Void 45024 */ 45025class Response { 45026 constructor() { 45027 let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 45028 let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 45029 45030 Body.call(this, body, opts); 45031 45032 const status = opts.status || 200; 45033 const headers = new Headers(opts.headers); 45034 45035 if (body != null && !headers.has('Content-Type')) { 45036 const contentType = extractContentType(body); 45037 if (contentType) { 45038 headers.append('Content-Type', contentType); 45039 } 45040 } 45041 45042 this[INTERNALS$1] = { 45043 url: opts.url, 45044 status, 45045 statusText: opts.statusText || STATUS_CODES[status], 45046 headers, 45047 counter: opts.counter 45048 }; 45049 } 45050 45051 get url() { 45052 return this[INTERNALS$1].url || ''; 45053 } 45054 45055 get status() { 45056 return this[INTERNALS$1].status; 45057 } 45058 45059 /** 45060 * Convenience property representing if the request ended normally 45061 */ 45062 get ok() { 45063 return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; 45064 } 45065 45066 get redirected() { 45067 return this[INTERNALS$1].counter > 0; 45068 } 45069 45070 get statusText() { 45071 return this[INTERNALS$1].statusText; 45072 } 45073 45074 get headers() { 45075 return this[INTERNALS$1].headers; 45076 } 45077 45078 /** 45079 * Clone this response 45080 * 45081 * @return Response 45082 */ 45083 clone() { 45084 return new Response(clone(this), { 45085 url: this.url, 45086 status: this.status, 45087 statusText: this.statusText, 45088 headers: this.headers, 45089 ok: this.ok, 45090 redirected: this.redirected 45091 }); 45092 } 45093} 45094 45095Body.mixIn(Response.prototype); 45096 45097Object.defineProperties(Response.prototype, { 45098 url: { enumerable: true }, 45099 status: { enumerable: true }, 45100 ok: { enumerable: true }, 45101 redirected: { enumerable: true }, 45102 statusText: { enumerable: true }, 45103 headers: { enumerable: true }, 45104 clone: { enumerable: true } 45105}); 45106 45107Object.defineProperty(Response.prototype, Symbol.toStringTag, { 45108 value: 'Response', 45109 writable: false, 45110 enumerable: false, 45111 configurable: true 45112}); 45113 45114const INTERNALS$2 = Symbol('Request internals'); 45115const URL = url__WEBPACK_IMPORTED_MODULE_2__.URL || whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL; 45116 45117// fix an issue where "format", "parse" aren't a named export for node <10 45118const parse_url = url__WEBPACK_IMPORTED_MODULE_2__.parse; 45119const format_url = url__WEBPACK_IMPORTED_MODULE_2__.format; 45120 45121/** 45122 * Wrapper around `new URL` to handle arbitrary URLs 45123 * 45124 * @param {string} urlStr 45125 * @return {void} 45126 */ 45127function parseURL(urlStr) { 45128 /* 45129 Check whether the URL is absolute or not 45130 Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 45131 Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 45132 */ 45133 if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { 45134 urlStr = new URL(urlStr).toString(); 45135 } 45136 45137 // Fallback to old implementation for arbitrary URLs 45138 return parse_url(urlStr); 45139} 45140 45141const streamDestructionSupported = 'destroy' in stream__WEBPACK_IMPORTED_MODULE_0__.Readable.prototype; 45142 45143/** 45144 * Check if a value is an instance of Request. 45145 * 45146 * @param Mixed input 45147 * @return Boolean 45148 */ 45149function isRequest(input) { 45150 return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; 45151} 45152 45153function isAbortSignal(signal) { 45154 const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); 45155 return !!(proto && proto.constructor.name === 'AbortSignal'); 45156} 45157 45158/** 45159 * Request class 45160 * 45161 * @param Mixed input Url or Request instance 45162 * @param Object init Custom options 45163 * @return Void 45164 */ 45165class Request { 45166 constructor(input) { 45167 let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 45168 45169 let parsedURL; 45170 45171 // normalize input 45172 if (!isRequest(input)) { 45173 if (input && input.href) { 45174 // in order to support Node.js' Url objects; though WHATWG's URL objects 45175 // will fall into this branch also (since their `toString()` will return 45176 // `href` property anyway) 45177 parsedURL = parseURL(input.href); 45178 } else { 45179 // coerce input to a string before attempting to parse 45180 parsedURL = parseURL(`${input}`); 45181 } 45182 input = {}; 45183 } else { 45184 parsedURL = parseURL(input.url); 45185 } 45186 45187 let method = init.method || input.method || 'GET'; 45188 method = method.toUpperCase(); 45189 45190 if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { 45191 throw new TypeError('Request with GET/HEAD method cannot have body'); 45192 } 45193 45194 let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; 45195 45196 Body.call(this, inputBody, { 45197 timeout: init.timeout || input.timeout || 0, 45198 size: init.size || input.size || 0 45199 }); 45200 45201 const headers = new Headers(init.headers || input.headers || {}); 45202 45203 if (inputBody != null && !headers.has('Content-Type')) { 45204 const contentType = extractContentType(inputBody); 45205 if (contentType) { 45206 headers.append('Content-Type', contentType); 45207 } 45208 } 45209 45210 let signal = isRequest(input) ? input.signal : null; 45211 if ('signal' in init) signal = init.signal; 45212 45213 if (signal != null && !isAbortSignal(signal)) { 45214 throw new TypeError('Expected signal to be an instanceof AbortSignal'); 45215 } 45216 45217 this[INTERNALS$2] = { 45218 method, 45219 redirect: init.redirect || input.redirect || 'follow', 45220 headers, 45221 parsedURL, 45222 signal 45223 }; 45224 45225 // node-fetch-only options 45226 this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; 45227 this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; 45228 this.counter = init.counter || input.counter || 0; 45229 this.agent = init.agent || input.agent; 45230 } 45231 45232 get method() { 45233 return this[INTERNALS$2].method; 45234 } 45235 45236 get url() { 45237 return format_url(this[INTERNALS$2].parsedURL); 45238 } 45239 45240 get headers() { 45241 return this[INTERNALS$2].headers; 45242 } 45243 45244 get redirect() { 45245 return this[INTERNALS$2].redirect; 45246 } 45247 45248 get signal() { 45249 return this[INTERNALS$2].signal; 45250 } 45251 45252 /** 45253 * Clone this request 45254 * 45255 * @return Request 45256 */ 45257 clone() { 45258 return new Request(this); 45259 } 45260} 45261 45262Body.mixIn(Request.prototype); 45263 45264Object.defineProperty(Request.prototype, Symbol.toStringTag, { 45265 value: 'Request', 45266 writable: false, 45267 enumerable: false, 45268 configurable: true 45269}); 45270 45271Object.defineProperties(Request.prototype, { 45272 method: { enumerable: true }, 45273 url: { enumerable: true }, 45274 headers: { enumerable: true }, 45275 redirect: { enumerable: true }, 45276 clone: { enumerable: true }, 45277 signal: { enumerable: true } 45278}); 45279 45280/** 45281 * Convert a Request to Node.js http request options. 45282 * 45283 * @param Request A Request instance 45284 * @return Object The options object to be passed to http.request 45285 */ 45286function getNodeRequestOptions(request) { 45287 const parsedURL = request[INTERNALS$2].parsedURL; 45288 const headers = new Headers(request[INTERNALS$2].headers); 45289 45290 // fetch step 1.3 45291 if (!headers.has('Accept')) { 45292 headers.set('Accept', '*/*'); 45293 } 45294 45295 // Basic fetch 45296 if (!parsedURL.protocol || !parsedURL.hostname) { 45297 throw new TypeError('Only absolute URLs are supported'); 45298 } 45299 45300 if (!/^https?:$/.test(parsedURL.protocol)) { 45301 throw new TypeError('Only HTTP(S) protocols are supported'); 45302 } 45303 45304 if (request.signal && request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable && !streamDestructionSupported) { 45305 throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); 45306 } 45307 45308 // HTTP-network-or-cache fetch steps 2.4-2.7 45309 let contentLengthValue = null; 45310 if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { 45311 contentLengthValue = '0'; 45312 } 45313 if (request.body != null) { 45314 const totalBytes = getTotalBytes(request); 45315 if (typeof totalBytes === 'number') { 45316 contentLengthValue = String(totalBytes); 45317 } 45318 } 45319 if (contentLengthValue) { 45320 headers.set('Content-Length', contentLengthValue); 45321 } 45322 45323 // HTTP-network-or-cache fetch step 2.11 45324 if (!headers.has('User-Agent')) { 45325 headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); 45326 } 45327 45328 // HTTP-network-or-cache fetch step 2.15 45329 if (request.compress && !headers.has('Accept-Encoding')) { 45330 headers.set('Accept-Encoding', 'gzip,deflate'); 45331 } 45332 45333 let agent = request.agent; 45334 if (typeof agent === 'function') { 45335 agent = agent(parsedURL); 45336 } 45337 45338 // HTTP-network fetch step 4.2 45339 // chunked encoding is handled by Node.js 45340 45341 return Object.assign({}, parsedURL, { 45342 method: request.method, 45343 headers: exportNodeCompatibleHeaders(headers), 45344 agent 45345 }); 45346} 45347 45348/** 45349 * abort-error.js 45350 * 45351 * AbortError interface for cancelled requests 45352 */ 45353
45354/** 45355 * Create AbortError instance 45356 * 45357 * @param String message Error message for human 45358 * @return AbortError 45359 */ 45360function AbortError(message) { 45361 Error.call(this, message); 45362 45363 this.type = 'aborted'; 45364 this.message = message; 45365 45366 // hide custom error implementation details from end-users 45367 Error.captureStackTrace(this, this.constructor); 45368} 45369 45370AbortError.prototype = Object.create(Error.prototype); 45371AbortError.prototype.constructor = AbortError; 45372AbortError.prototype.name = 'AbortError'; 45373 45374const URL$1 = url__WEBPACK_IMPORTED_MODULE_2__.URL || whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL; 45375 45376// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 45377const PassThrough$1 = stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough; 45378 45379const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { 45380 const orig = new URL$1(original).hostname; 45381 const dest = new URL$1(destination).hostname; 45382 45383 return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); 45384}; 45385 45386/** 45387 * isSameProtocol reports whether the two provided URLs use the same protocol. 45388 * 45389 * Both domains must already be in canonical form. 45390 * @param {string|URL} original 45391 * @param {string|URL} destination 45392 */ 45393const isSameProtocol = function isSameProtocol(destination, original) { 45394 const orig = new URL$1(original).protocol; 45395 const dest = new URL$1(destination).protocol; 45396 45397 return orig === dest; 45398}; 45399 45400/** 45401 * Fetch function 45402 * 45403 * @param Mixed url Absolute url or Request instance 45404 * @param Object opts Fetch options 45405 * @return Promise 45406 */ 45407function fetch(url, opts) { 45408 45409 // allow custom promise 45410 if (!fetch.Promise) { 45411 throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); 45412 } 45413 45414 Body.Promise = fetch.Promise; 45415 45416 // wrap http.request into fetch 45417 return new fetch.Promise(function (resolve, reject) { 45418 // build request object 45419 const request = new Request(url, opts); 45420 const options = getNodeRequestOptions(request); 45421 45422 const send = (options.protocol === 'https:' ? https__WEBPACK_IMPORTED_MODULE_4__ : http__WEBPACK_IMPORTED_MODULE_1__).request; 45423 const signal = request.signal; 45424 45425 let response = null; 45426 45427 const abort = function abort() { 45428 let error = new AbortError('The user aborted a request.'); 45429 reject(error); 45430 if (request.body && request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable) { 45431 destroyStream(request.body, error); 45432 } 45433 if (!response || !response.body) return; 45434 response.body.emit('error', error); 45435 }; 45436 45437 if (signal && signal.aborted) { 45438 abort(); 45439 return; 45440 } 45441 45442 const abortAndFinalize = function abortAndFinalize() { 45443 abort(); 45444 finalize(); 45445 }; 45446 45447 // send request 45448 const req = send(options); 45449 let reqTimeout; 45450 45451 if (signal) { 45452 signal.addEventListener('abort', abortAndFinalize); 45453 } 45454 45455 function finalize() { 45456 req.abort(); 45457 if (signal) signal.removeEventListener('abort', abortAndFinalize); 45458 clearTimeout(reqTimeout); 45459 } 45460 45461 if (request.timeout) { 45462 req.once('socket', function (socket) { 45463 reqTimeout = setTimeout(function () { 45464 reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); 45465 finalize(); 45466 }, request.timeout); 45467 }); 45468 } 45469 45470 req.on('error', function (err) { 45471 reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); 45472 45473 if (response && response.body) { 45474 destroyStream(response.body, err); 45475 } 45476 45477 finalize(); 45478 }); 45479 45480 fixResponseChunkedTransferBadEnding(req, function (err) { 45481 if (signal && signal.aborted) { 45482 return; 45483 } 45484 45485 if (response && response.body) { 45486 destroyStream(response.body, err); 45487 } 45488 }); 45489 45490 /* c8 ignore next 18 */ 45491 if (parseInt(process.version.substring(1)) < 14) { 45492 // Before Node.js 14, pipeline() does not fully support async
45492iterators and does not always 45493 // properly handle when the socket close/end events are out of order. 45494 req.on('socket', function (s) { 45495 s.addListener('close', function (hadError) { 45496 // if a data listener is still present we didn't end cleanly 45497 const hasDataListener = s.listenerCount('data') > 0; 45498 45499 // if end happened before close but the socket didn't emit an error, do it now 45500 if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { 45501 const err = new Error('Premature close'); 45502 err.code = 'ERR_STREAM_PREMATURE_CLOSE'; 45503 response.body.emit('error', err); 45504 } 45505 }); 45506 }); 45507 } 45508 45509 req.on('response', function (res) { 45510 clearTimeout(reqTimeout); 45511 45512 const headers = createHeadersLenient(res.headers); 45513 45514 // HTTP fetch step 5 45515 if (fetch.isRedirect(res.statusCode)) { 45516 // HTTP fetch step 5.2 45517 const location = headers.get('Location'); 45518 45519 // HTTP fetch step 5.3 45520 let locationURL = null; 45521 try { 45522 locationURL = location === null ? null : new URL$1(location, request.url).toString(); 45523 } catch (err) { 45524 // error here can only be invalid URL in Location: header 45525 // do not throw when options.redirect == manual 45526 // let the user extract the errorneous redirect URL 45527 if (request.redirect !== 'manual') { 45528 reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); 45529 finalize(); 45530 return; 45531 } 45532 } 45533 45534 // HTTP fetch step 5.5 45535 switch (request.redirect) { 45536 case 'error': 45537 reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); 45538 finalize(); 45539 return; 45540 case 'manual': 45541 // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. 45542 if (locationURL !== null) { 45543 // handle corrupted header 45544 try { 45545 headers.set('Location', locationURL); 45546 } catch (err) { 45547 // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request 45548 reject(err); 45549 } 45550 } 45551 break; 45552 case 'follow': 45553 // HTTP-redirect fetch step 2 45554 if (locationURL === null) { 45555 break; 45556 } 45557 45558 // HTTP-redirect fetch step 5 45559 if (request.counter >= request.follow) { 45560 reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); 45561 finalize(); 45562 return; 45563 } 45564 45565 // HTTP-redirect fetch step 6 (counter increment) 45566 // Create a new Request object. 45567 const requestOpts = { 45568 headers: new Headers(request.headers), 45569 follow: request.follow, 45570 counter: request.counter + 1, 45571 agent: request.agent, 45572 compress: request.compress, 45573 method: request.method, 45574 body: request.body, 45575 signal: request.signal, 45576 timeout: request.timeout, 45577 size: request.size 45578 }; 45579 45580 if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { 45581 for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { 45582 requestOpts.headers.delete(name); 45583 } 45584 } 45585 45586 // HTTP-redirect fetch step 9 45587 if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { 45588 reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); 45589 finalize(); 45590 return; 45591 } 45592 45593 // HTTP-redirect fetch step 11 45594 if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { 45595 requestOpts.method = 'GET'; 45596 requestOpts.body = undefined; 45597 requestOpts.headers.delete('content-length'); 45598 } 45599 45600 // HTTP-redirect fetch step 15 45601 resolve(fetch(new Request(locationURL, requestOpts))); 45602 finalize(); 45603 return; 45604 } 45605 } 45606 45607 // prepare response 45608 res.once('end', function () { 45609 if (signal) signal.removeEventListener('abort', abortAndFinalize); 45610 }); 45611 let body = res.pipe(new PassThrough$1()); 45612 45613 const response_options = { 45614 url: request.url, 45615 status: res.statusCode, 45616 statusText: res.statusMessage, 45617 headers: headers, 45618 size: request.size, 45619 timeout: request.timeout, 45620 counter: request.counter 45621 }; 45622 45623 // HTTP-network fetch step 12.1.1.3 45624 const codings = headers.get('Content-Encoding'); 45625 45626 // HTTP-network fetch step 12.1.1.4: handle content codings 45627 45628 // in following scenarios we ignore compression support 45629 // 1. compression support is disabled 45630 // 2. HEAD request 45631 // 3. no Content-Encoding header
45632 // 4. no content response (204) 45633 // 5. content not modified response (304) 45634 if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { 45635 response = new Response(body, response_options); 45636 resolve(response); 45637 return; 45638 } 45639 45640 // For Node v6+ 45641 // Be less strict when decoding compressed responses, since sometimes 45642 // servers send slightly invalid responses that are still accepted 45643 // by common browsers. 45644 // Always using Z_SYNC_FLUSH is what cURL does. 45645 const zlibOptions = { 45646 flush: zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH, 45647 finishFlush: zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH 45648 }; 45649 45650 // for gzip 45651 if (codings == 'gzip' || codings == 'x-gzip') { 45652 body = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createGunzip(zlibOptions)); 45653 response = new Response(body, response_options); 45654 resolve(response); 45655 return; 45656 } 45657 45658 // for deflate 45659 if (codings == 'deflate' || codings == 'x-deflate') { 45660 // handle the infamous raw deflate response from old servers 45661 // a hack for old IIS and Apache servers 45662 const raw = res.pipe(new PassThrough$1()); 45663 raw.once('data', function (chunk) { 45664 // see http://stackoverflow.com/questions/37519828 45665 if ((chunk[0] & 0x0F) === 0x08) { 45666 body = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflate()); 45667 } else { 45668 body = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflateRaw()); 45669 } 45670 response = new Response(body, response_options); 45671 resolve(response); 45672 }); 45673 raw.on('end', function () { 45674 // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. 45675 if (!response) { 45676 response = new Response(body, response_options); 45677 resolve(response); 45678 } 45679 }); 45680 return; 45681 } 45682 45683 // for br 45684 if (codings == 'br' && typeof zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress === 'function') { 45685 body = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress()); 45686 response = new Response(body, response_options); 45687 resolve(response); 45688 return; 45689 } 45690 45691 // otherwise, use response as-is 45692 response = new Response(body, response_options); 45693 resolve(response); 45694 }); 45695 45696 writeToStream(req, request); 45697 }); 45698} 45699function fixResponseChunkedTransferBadEnding(request, errorCallback) { 45700 let socket; 45701 45702 request.on('socket', function (s) { 45703 socket = s; 45704 }); 45705 45706 request.on('response', function (response) { 45707 const headers = response.headers; 45708 45709 if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { 45710 response.once('close', function (hadError) { 45711 // tests for socket presence, as in some situations the 45712 // the 'socket' event is not triggered for the request 45713 // (happens in deno), avoids `TypeError` 45714 // if a data listener is still present we didn't end cleanly 45715 const hasDataListener = socket && socket.listenerCount('data') > 0; 45716 45717 if (hasDataListener && !hadError) { 45718 const err = new Error('Premature close'); 45719 err.code = 'ERR_STREAM_PREMATURE_CLOSE'; 45720 errorCallback(err); 45721 } 45722 }); 45723 } 45724 }); 45725} 45726 45727function destroyStream(stream, err) { 45728 if (stream.destroy) { 45729 stream.destroy(err); 45730 } else { 45731 // node < 8 45732 stream.emit('error', err); 45733 stream.end(); 45734 } 45735} 45736 45737/** 45738 * Redirect code matching 45739 * 45740 * @param Number code Status code 45741 * @return Boolean 45742 */ 45743fetch.isRedirect = function (code) { 45744 return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; 45745}; 45746 45747// expose Promise 45748fetch.Promise = global.Promise; 45749 45750/* harmony default export */ __webpack_exports__["default"] = (fetch); 45751 45752 45753 45754/***/ }), 45755/* 899 */ 45756/***/ (function(module, exports) { 45757 45758module.exports = function isBuffer(arg) { 45759 return arg && typeof arg === 'object' 45760 && typeof arg.copy === 'function' 45761 && typeof arg.fill === 'function' 45762 && typeof arg.readUInt8 === 'function'; 45763} 45764 45765/***/ }), 45766/* 900 */ 45767/***/ (function(module, exports, __webpack_require__) { 45768 45769try { 45770 var util = __webpack_require__(311); 45771 if (typeof util.inherits !== 'function') throw ''; 45772 module.exports = util.inherits; 45773} catch (e) { 45774 module.exports = __webpack_require__(901); 45775} 45776 45777 45778/***/ }), 45779/* 901 */
vendor: 10,001 bytes, lines 45780-46182
45780/***/ (function(module, exports) { 45781 45782if (typeof Object.create === 'function') { 45783 // implementation from standard node.js 'util' module 45784 module.exports = function inherits(ctor, superCtor) { 45785 ctor.super_ = superCtor 45786 ctor.prototype = Object.create(superCtor.prototype, { 45787 constructor: { 45788 value: ctor, 45789 enumerable: false, 45790 writable: true, 45791 configurable: true 45792 } 45793 }); 45794 }; 45795} else { 45796 // old school shim for old browsers 45797 module.exports = function inherits(ctor, superCtor) { 45798 ctor.super_ = superCtor 45799 var TempCtor = function () {} 45800 TempCtor.prototype = superCtor.prototype 45801 ctor.prototype = new TempCtor() 45802 ctor.prototype.constructor = ctor 45803 } 45804} 45805 45806 45807/***/ }), 45808/* 902 */ 45809/***/ (function(module, exports) { 45810 45811if (typeof Object.create === 'function') { 45812 // implementation from standard node.js 'util' module 45813 module.exports = function inherits(ctor, superCtor) { 45814 if (superCtor) { 45815 ctor.super_ = superCtor 45816 ctor.prototype = Object.create(superCtor.prototype, { 45817 constructor: { 45818 value: ctor, 45819 enumerable: false, 45820 writable: true, 45821 configurable: true 45822 } 45823 }) 45824 } 45825 }; 45826} else { 45827 // old school shim for old browsers 45828 module.exports = function inherits(ctor, superCtor) { 45829 if (superCtor) { 45830 ctor.super_ = superCtor 45831 var TempCtor = function () {} 45832 TempCtor.prototype = superCtor.prototype 45833 ctor.prototype = new TempCtor() 45834 ctor.prototype.constructor = ctor 45835 } 45836 } 45837} 45838 45839 45840/***/ }), 45841/* 903 */ 45842/***/ (function(module, exports, __webpack_require__) { 45843 45844"use strict"; 45845 45846 45847exports.byteLength = byteLength 45848exports.toByteArray = toByteArray 45849exports.fromByteArray = fromByteArray 45850 45851var lookup = [] 45852var revLookup = [] 45853var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array 45854 45855var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 45856for (var i = 0, len = code.length; i < len; ++i) { 45857 lookup[i] = code[i] 45858 revLookup[code.charCodeAt(i)] = i 45859} 45860 45861// Support decoding URL-safe base64 strings, as Node.js does. 45862// See: https://en.wikipedia.org/wiki/Base64#URL_applications 45863revLookup['-'.charCodeAt(0)] = 62 45864revLookup['_'.charCodeAt(0)] = 63 45865 45866function getLens (b64) { 45867 var len = b64.length 45868 45869 if (len % 4 > 0) { 45870 throw new Error('Invalid string. Length must be a multiple of 4') 45871 } 45872 45873 // Trim off extra bytes after placeholder bytes are found 45874 // See: https://github.com/beatgammit/base64-js/issues/42 45875 var validLen = b64.indexOf('=') 45876 if (validLen === -1) validLen = len 45877 45878 var placeHoldersLen = validLen === len 45879 ? 0 45880 : 4 - (validLen % 4) 45881 45882 return [validLen, placeHoldersLen] 45883} 45884 45885// base64 is 4/3 + up to two characters of the original data 45886function byteLength (b64) { 45887 var lens = getLens(b64) 45888 var validLen = lens[0] 45889 var placeHoldersLen = lens[1] 45890 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 45891} 45892 45893function _byteLength (b64, validLen, placeHoldersLen) { 45894 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 45895} 45896 45897function toByteArray (b64) { 45898 var tmp 45899 var lens = getLens(b64) 45900 var validLen = lens[0] 45901 var placeHoldersLen = lens[1] 45902 45903 var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) 45904 45905 var curByte = 0 45906 45907 // if there are placeholders, only get up to the last complete 4 chars 45908 var len = placeHoldersLen > 0 45909 ? validLen - 4 45910 : validLen 45911 45912 var i 45913 for (i = 0; i < len; i += 4) { 45914 tmp = 45915 (revLookup[b64.charCodeAt(i)] << 18) | 45916 (revLookup[b64.charCodeAt(i + 1)] << 12) | 45917 (revLookup[b64.charCodeAt(i + 2)] << 6) | 45918 revLookup[b64.charCodeAt(i + 3)] 45919 arr[curByte++] = (tmp >> 16) & 0xFF 45920 arr[curByte++] = (tmp >> 8) & 0xFF 45921 arr[curByte++] = tmp & 0xFF 45922 } 45923 45924 if (placeHoldersLen === 2) { 45925 tmp = 45926 (revLookup[b64.charCodeAt(i)] << 2) | 45927 (revLookup[b64.charCodeAt(i + 1)] >> 4) 45928 arr[curByte++] = tmp & 0xFF 45929 } 45930 45931 if (placeHoldersLen === 1) { 45932 tmp = 45933 (revLookup[b64.charCodeAt(i)] << 10) | 45934 (revLookup[b64.charCodeAt(i + 1)] << 4) | 45935 (revLookup[b64.charCodeAt(i + 2)] >> 2) 45936 arr[curByte++] = (tmp >> 8) & 0xFF 45937 arr[curByte++] = tmp & 0xFF 45938 } 45939 45940 return arr 45941} 45942 45943function tripletToBase64 (num) { 45944 return lookup[num >> 18 & 0x3F] + 45945 lookup[num >> 12 & 0x3F] + 45946 lookup[num >> 6 & 0x3F] + 45947 lookup[num & 0x3F] 45948} 45949 45950function encodeChunk (uint8, start, end) { 45951 var tmp 45952 var output = [] 45953 for (var i = start; i < end; i += 3) { 45954 tmp = 45955 ((uint8[i] << 16) & 0xFF0000) + 45956 ((uint8[i + 1] << 8) & 0xFF00) + 45957 (uint8[i + 2] & 0xFF) 45958 output.push(tripletToBase64(tmp)) 45959 } 45960 return output.join('') 45961} 45962 45963function fromByteArray (uint8) { 45964 var tmp 45965 var len = uint8.length 45966 var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes 45967 var parts = [] 45968 var maxChunkLength = 16383 // must be multiple of 3 45969 45970 // go through the array every three bytes, we'll deal with trailing stuff later 45971 for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { 45972 parts.push(encodeChunk( 45973 uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) 45974 )) 45975 } 45976 45977 // pad the end with zeros, but make sure to not forget the extra bytes 45978 if (extraBytes === 1) { 45979 tmp = uint8[len - 1] 45980 parts.push( 45981 lookup[tmp >> 2] + 45982 lookup[(tmp << 4) & 0x3F] + 45983 '==' 45984 ) 45985 } else if (extraBytes === 2) { 45986 tmp = (uint8[len - 2] << 8) + uint8[len - 1] 45987 parts.push( 45988 lookup[tmp >> 10] + 45989 lookup[(tmp >> 4) & 0x3F] + 45990 lookup[(tmp << 2) & 0x3F] + 45991 '=' 45992 ) 45993 } 45994 45995 return parts.join('') 45996} 45997 45998 45999/***/ }), 46000/* 904 */ 46001/***/ (function(module, exports) { 46002 46003/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ 46004exports.read = function (buffer, offset, isLE, mLen, nBytes) { 46005 var e, m 46006 var eLen = (nBytes * 8) - mLen - 1 46007 var eMax = (1 << eLen) - 1 46008 var eBias = eMax >> 1 46009 var nBits = -7 46010 var i = isLE ? (nBytes - 1) : 0 46011 var d = isLE ? -1 : 1 46012 var s = buffer[offset + i] 46013 46014 i += d 46015 46016 e = s & ((1 << (-nBits)) - 1) 46017 s >>= (-nBits) 46018 nBits += eLen 46019 for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} 46020 46021 m = e & ((1 << (-nBits)) - 1) 46022 e >>= (-nBits) 46023 nBits += mLen 46024 for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} 46025 46026 if (e === 0) { 46027 e = 1 - eBias 46028 } else if (e === eMax) { 46029 return m ? NaN : ((s ? -1 : 1) * Infinity) 46030 } else { 46031 m = m + Math.pow(2, mLen) 46032 e = e - eBias 46033 } 46034 return (s ? -1 : 1) * m * Math.pow(2, e - mLen) 46035} 46036 46037exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { 46038 var e, m, c 46039 var eLen = (nBytes * 8) - mLen - 1 46040 var eMax = (1 << eLen) - 1 46041 var eBias = eMax >> 1 46042 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) 46043 var i = isLE ? 0 : (nBytes - 1) 46044 var d = isLE ? 1 : -1 46045 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 46046 46047 value = Math.abs(value) 46048 46049 if (isNaN(value) || value === Infinity) { 46050 m = isNaN(value) ? 1 : 0 46051 e = eMax 46052 } else { 46053 e = Math.floor(Math.log(value) / Math.LN2) 46054 if (value * (c = Math.pow(2, -e)) < 1) { 46055 e-- 46056 c *= 2 46057 } 46058 if (e + eBias >= 1) { 46059 value += rt / c 46060 } else { 46061 value += rt * Math.pow(2, 1 - eBias) 46062 } 46063 if (value * c >= 2) { 46064 e++ 46065 c /= 2 46066 } 46067 46068 if (e + eBias >= eMax) { 46069 m = 0 46070 e = eMax 46071 } else if (e + eBias >= 1) { 46072 m = ((value * c) - 1) * Math.pow(2, mLen) 46073 e = e + eBias 46074 } else { 46075 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) 46076 e = 0 46077 } 46078 } 46079 46080 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} 46081 46082 e = (e << mLen) | m 46083 eLen += mLen 46084 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} 46085 46086 buffer[offset + i - d] |= s * 128 46087} 46088 46089 46090/***/ }), 46091/* 905 */ 46092/***/ (function(module, exports) { 46093 46094/* (ignored) */ 46095 46096/***/ }), 46097/* 906 */ 46098/***/ (function(module, exports, __webpack_require__) { 46099 46100"use strict"; 46101 46102 46103function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 46104 46105var Buffer = __webpack_require__(470).Buffer; 46106var util = __webpack_require__(907); 46107 46108function copyBuffer(src, target, offset) { 46109 src.copy(target, offset); 46110} 46111 46112module.exports = function () { 46113 function BufferList() { 46114 _classCallCheck(this, BufferList); 46115 46116 this.head = null; 46117 this.tail = null; 46118 this.length = 0; 46119 } 46120 46121 BufferList.prototype.push = function push(v) { 46122 var entry = { data: v, next: null }; 46123 if (this.length > 0) this.tail.next = entry;else this.head = entry; 46124 this.tail = entry; 46125 ++this.length; 46126 }; 46127 46128 BufferList.prototype.unshift = function unshift(v) { 46129 var entry = { data: v, next: this.head }; 46130 if (this.length === 0) this.tail = entry; 46131 this.head = entry; 46132 ++this.length; 46133 }; 46134 46135 BufferList.prototype.shift = function shift() { 46136 if (this.length === 0) return; 46137 var ret = this.head.data; 46138 if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; 46139 --this.length; 46140 return ret; 46141 }; 46142 46143 BufferList.prototype.clear = function clear() { 46144 this.head = this.tail = null; 46145 this.length = 0; 46146 }; 46147 46148 BufferList.prototype.join = function join(s) { 46149 if (this.length === 0) return ''; 46150 var p = this.head; 46151 var ret = '' + p.data; 46152 while (p = p.next) { 46153 ret += s + p.data; 46154 }return ret; 46155 }; 46156 46157 BufferList.prototype.concat = function concat(n) { 46158 if (this.length === 0) return Buffer.alloc(0); 46159 if (this.length === 1) return this.head.data; 46160 var ret = Buffer.allocUnsafe(n >>> 0); 46161 var p = this.head; 46162 var i = 0; 46163 while (p) { 46164 copyBuffer(p.data, ret, i); 46165 i += p.data.length; 46166 p = p.next; 46167 } 46168 return ret; 46169 }; 46170 46171 return BufferList; 46172}(); 46173 46174if (util && util.inspect && util.inspect.custom) { 46175 module.exports.prototype[util.inspect.custom] = function () { 46176 var obj = util.inspect({ length: this.length }); 46177 return this.constructor.name + ' ' + obj; 46178 }; 46179} 46180 46181/***/ }), 46182/* 907 */
46183/***/ (function(module, exports) { 46184 46185/* (ignored) */ 46186 46187/***/ }), 46188/* 908 */ 46189/***/ (function(module, exports, __webpack_require__) { 46190 46191 46192/** 46193 * For Node.js, simply re-export the core `util.deprecate` function. 46194 */ 46195 46196module.exports = __webpack_require__(311).deprecate; 46197 46198 46199/***/ }), 46200/* 909 */ 46201/***/ (function(module, exports, __webpack_require__) { 46202 46203/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */ 46204/* eslint-disable node/no-deprecated-api */ 46205var buffer = __webpack_require__(313) 46206var Buffer = buffer.Buffer 46207 46208// alternative to using Object.keys for old browsers 46209function copyProps (src, dst) { 46210 for (var key in src) { 46211 dst[key] = src[key] 46212 } 46213} 46214if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { 46215 module.exports = buffer 46216} else { 46217 // Copy properties from require('buffer') 46218 copyProps(buffer, exports) 46219 exports.Buffer = SafeBuffer 46220} 46221 46222function SafeBuffer (arg, encodingOrOffset, length) { 46223 return Buffer(arg, encodingOrOffset, length) 46224} 46225 46226SafeBuffer.prototype = Object.create(Buffer.prototype) 46227 46228// Copy static methods from Buffer 46229copyProps(Buffer, SafeBuffer) 46230 46231SafeBuffer.from = function (arg, encodingOrOffset, length) { 46232 if (typeof arg === 'number') { 46233 throw new TypeError('Argument must not be a number') 46234 } 46235 return Buffer(arg, encodingOrOffset, length) 46236} 46237 46238SafeBuffer.alloc = function (size, fill, encoding) { 46239 if (typeof size !== 'number') { 46240 throw new TypeError('Argument must be a number') 46241 } 46242 var buf = Buffer(size) 46243 if (fill !== undefined) { 46244 if (typeof encoding === 'string') { 46245 buf.fill(fill, encoding) 46246 } else { 46247 buf.fill(fill) 46248 } 46249 } else { 46250 buf.fill(0) 46251 } 46252 return buf 46253} 46254 46255SafeBuffer.allocUnsafe = function (size) { 46256 if (typeof size !== 'number') { 46257 throw new TypeError('Argument must be a number') 46258 } 46259 return Buffer(size) 46260} 46261 46262SafeBuffer.allocUnsafeSlow = function (size) { 46263 if (typeof size !== 'number') { 46264 throw new TypeError('Argument must be a number') 46265 } 46266 return buffer.SlowBuffer(size) 46267} 46268 46269 46270/***/ }), 46271/* 910 */ 46272/***/ (function(module, exports, __webpack_require__) { 46273 46274"use strict";
46275// Copyright Joyent, Inc. and other Node contributors. 46276// 46277// Permission is hereby granted, free of charge, to any person obtaining a 46278// copy of this software and associated documentation files (the 46279// "Software"), to deal in the Software without restriction, including 46280// without limitation the rights to use, copy, modify, merge, publish, 46281// distribute, sublicense, and/or sell copies of the Software, and to permit 46282// persons to whom the Software is furnished to do so, subject to the 46283// following conditions: 46284// 46285// The above copyright notice and this permission notice shall be included 46286// in all copies or substantial portions of the Software. 46287// 46288// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 46289// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 46290// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 46291// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 46292// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 46293// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 46294// USE OR OTHER DEALINGS IN THE SOFTWARE. 46295 46296// a passthrough stream. 46297// basically just the most minimal sort of Transform stream. 46298// Every written chunk gets output as-is. 46299 46300 46301 46302module.exports = PassThrough; 46303 46304var Transform = __webpack_require__(737); 46305 46306/*<replacement>*/ 46307var util = Object.create(__webpack_require__(314)); 46308util.inherits = __webpack_require__(200); 46309/*</replacement>*/ 46310 46311util.inherits(PassThrough, Transform); 46312 46313function PassThrough(options) { 46314 if (!(this instanceof PassThrough)) return new PassThrough(options); 46315 46316 Transform.call(this, options); 46317} 46318 46319PassThrough.prototype._transform = function (chunk, encoding, cb) { 46320 cb(null, chunk); 46321}; 46322 46323/***/ }), 46324/* 911 */ 46325/***/ (function(module, exports, __webpack_require__) { 46326 46327module.exports = __webpack_require__(471); 46328 46329 46330/***/ }), 46331/* 912 */ 46332/***/ (function(module, exports, __webpack_require__) { 46333 46334module.exports = __webpack_require__(240); 46335 46336 46337/***/ }), 46338/* 913 */ 46339/***/ (function(module, exports, __webpack_require__) { 46340 46341module.exports = __webpack_require__(312).Transform 46342 46343 46344/***/ }), 46345/* 914 */ 46346/***/ (function(module, exports, __webpack_require__) { 46347 46348module.exports = __webpack_require__(312).PassThrough 46349 46350 46351/***/ }), 46352/* 915 */ 46353/***/ (function(module, exports, __webpack_require__) { 46354 46355/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var capability = __webpack_require__(738) 46356var inherits = __webpack_require__(200) 46357var response = __webpack_require__(739) 46358var stream = __webpack_require__(312) 46359var toArrayBuffer = __webpack_require__(916) 46360 46361var IncomingMessage = response.IncomingMessage 46362var rStates = response.readyStates 46363 46364function decideMode (preferBinary, useFetch) { 46365 if (capability.fetch && useFetch) { 46366 return 'fetch' 46367 } else if (capability.mozchunkedarraybuffer) { 46368 return 'moz-chunked-arraybuffer' 46369 } else if (capability.msstream) { 46370 return 'ms-stream' 46371 } else if (capability.arraybuffer && preferBinary) { 46372 return 'arraybuffer' 46373 } else if (capability.vbArray && preferBinary) { 46374 return 'text:vbarray' 46375 } else { 46376 return 'text' 46377 } 46378} 46379 46380var ClientRequest = module.exports = function (opts) { 46381 var self = this 46382 stream.Writable.call(self) 46383 46384 self._opts = opts 46385 self._body = [] 46386 self._headers = {} 46387 if (opts.auth) 46388 self.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64')) 46389 Object.keys(opts.headers).forEach(function (name) { 46390 self.setHeader(name, opts.headers[name]) 46391 }) 46392 46393 var preferBinary 46394 var useFetch = true 46395 if (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) { 46396 // If the use of XHR should be preferred. Not typically needed. 46397 useFetch = false 46398 preferBinary = true 46399 } else if (opts.mode === 'prefer-streaming') { 46400 // If streaming is a high priority but binary compatibility and 46401 // the accuracy of the 'content-type' header aren't 46402 preferBinary = false 46403 } else if (opts.mode === 'allow-wrong-content-type') { 46404 // If streaming is more important than preserving the 'content-type' header 46405 preferBinary = !capability.overrideMimeType 46406 } else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') { 46407 // Use binary if text streaming may corrupt data or the content-type header, or for speed 46408 preferBinary = true 46409 } else { 46410 throw new Error('Invalid value for opts.mode') 46411 } 46412 self._mode = decideMode(preferBinary, useFetch) 46413 self._fetchTimer = null 46414 46415 self.on('finish', function () { 46416 self._onFinish() 46417 }) 46418} 46419 46420inherits(ClientRequest, stream.Writable) 46421 46422ClientRequest.prototype.setHeader = function (name, value) { 46423 var self = this 46424 var lowerName = name.toLowerCase() 46425 // This check is not necessary, but it prevents warnings from browsers about setting unsafe 46426 // headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but 46427 // http-browserify did it, so I will too. 46428 if (unsafeHeaders.indexOf(lowerName) !== -1) 46429 return 46430 46431 self._headers[lowerName] = { 46432 name: name, 46433 value: value 46434 } 46435} 46436 46437ClientRequest.prototype.getHeader = function (name) { 46438 var header = this._headers[name.toLowerCase()] 46439 if (header) 46440 return header.value 46441 return null 46442} 46443 46444ClientRequest.prototype.removeHeader = function (name) { 46445 var self = this 46446 delete self._headers[name.toLowerCase()] 46447} 46448 46449ClientRequest.prototype._onFinish = function () { 46450 var self = this 46451 46452 if (self._destroyed) 46453 return 46454 var opts = self._opts 46455 46456 var headersObj = self._headers 46457 var body = null 46458 if (opts.method !== 'GET' && opts.method !== 'HEAD') { 46459 if (capability.arraybuffer) {
46460 body = toArrayBuffer(Buffer.concat(self._body)) 46461 } else if (capability.blobConstructor) { 46462 body = new global.Blob(self._body.map(function (buffer) { 46463 return toArrayBuffer(buffer) 46464 }), { 46465 type: (headersObj['content-type'] || {}).value || '' 46466 }) 46467 } else { 46468 // get utf8 string 46469 body = Buffer.concat(self._body).toString() 46470 } 46471 } 46472 46473 // create flattened list of headers 46474 var headersList = [] 46475 Object.keys(headersObj).forEach(function (keyName) { 46476 var name = headersObj[keyName].name 46477 var value = headersObj[keyName].value 46478 if (Array.isArray(value)) { 46479 value.forEach(function (v) { 46480 headersList.push([name, v]) 46481 }) 46482 } else { 46483 headersList.push([name, value]) 46484 } 46485 }) 46486 46487 if (self._mode === 'fetch') { 46488 var signal = null 46489 var fetchTimer = null 46490 if (capability.abortController) { 46491 var controller = new AbortController() 46492 signal = controller.signal 46493 self._fetchAbortController = controller 46494 46495 if ('requestTimeout' in opts && opts.requestTimeout !== 0) { 46496 self._fetchTimer = global.setTimeout(function () { 46497 self.emit('requestTimeout') 46498 if (self._fetchAbortController) 46499 self._fetchAbortController.abort() 46500 }, opts.requestTimeout) 46501 } 46502 } 46503 46504 global.fetch(self._opts.url, { 46505 method: self._opts.method, 46506 headers: headersList, 46507 body: body || undefined, 46508 mode: 'cors', 46509 credentials: opts.withCredentials ? 'include' : 'same-origin', 46510 signal: signal 46511 }).then(function (response) { 46512 self._fetchResponse = response 46513 self._connect() 46514 }, function (reason) { 46515 global.clearTimeout(self._fetchTimer) 46516 if (!self._destroyed) 46517 self.emit('error', reason) 46518 }) 46519 } else { 46520 var xhr = self._xhr = new global.XMLHttpRequest() 46521 try { 46522 xhr.open(self._opts.method, self._opts.url, true) 46523 } catch (err) { 46524 process.nextTick(function () { 46525 self.emit('error', err) 46526 }) 46527 return 46528 } 46529 46530 // Can't set responseType on really old browsers 46531 if ('responseType' in xhr) 46532 xhr.responseType = self._mode.split(':')[0] 46533 46534 if ('withCredentials' in xhr) 46535 xhr.withCredentials = !!opts.withCredentials 46536 46537 if (self._mode === 'text' && 'overrideMimeType' in xhr) 46538 xhr.overrideMimeType('text/plain; charset=x-user-defined') 46539 46540 if ('requestTimeout' in opts) { 46541 xhr.timeout = opts.requestTimeout 46542 xhr.ontimeout = function () { 46543 self.emit('requestTimeout') 46544 } 46545 } 46546 46547 headersList.forEach(function (header) { 46548 xhr.setRequestHeader(header[0], header[1]) 46549 }) 46550 46551 self._response = null 46552 xhr.onreadystatechange = function () { 46553 switch (xhr.readyState) { 46554 case rStates.LOADING: 46555 case rStates.DONE: 46556 self._onXHRProgress() 46557 break 46558 } 46559 } 46560 // Necessary for streaming in Firefox, since xhr.response is ONLY defined 46561 // in onprogress, not in onreadystatechange with xhr.readyState = 3 46562 if (self._mode === 'moz-chunked-arraybuffer') { 46563 xhr.onprogress = function () { 46564 self._onXHRProgress() 46565 } 46566 } 46567 46568 xhr.onerror = function () { 46569 if (self._destroyed) 46570 return 46571 self.emit('error', new Error('XHR error')) 46572 } 46573 46574 try { 46575 xhr.send(body) 46576 } catch (err) { 46577 process.nextTick(function () { 46578 self.emit('error', err) 46579 }) 46580 return 46581 } 46582 } 46583} 46584 46585/** 46586 * Checks if xhr.status is readable and non-zero, indicating no error. 46587 * Even though the spec says it should be available in readyState 3, 46588 * accessing it throws an exception in IE8 46589 */ 46590function statusValid (xhr) { 46591 try { 46592 var status = xhr.status 46593 return (status !== null && status !== 0) 46594 } catch (e) { 46595 return false 46596 } 46597} 46598 46599ClientRequest.prototype._onXHRProgress = function () { 46600 var self = this 46601 46602 if (!statusValid(self._xhr) || self._destroyed) 46603 return 46604 46605 if (!self._response) 46606 self._connect() 46607 46608 self._response._onXHRProgress() 46609} 46610 46611ClientRequest.prototype._connect = function () { 46612 var self = this 46613 46614 if (self._destroyed) 46615 return 46616 46617 self._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer) 46618 self._response.on('error', function(err) { 46619 self.emit('error', err) 46620 }) 46621 46622 self.emit('response', self._response) 46623} 46624 46625ClientRequest.prototype._write = function (chunk, encoding, cb) { 46626 var self = this 46627 46628 self._body.push(chunk) 46629 cb() 46630} 46631 46632ClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () { 46633 var self = this 46634 self._destroyed = true 46635 global.clearTimeout(self._fetchTimer) 46636 if (self._response) 46637 self._response._destroyed = true 46638 if (self._xhr) 46639 self._xhr.abort() 46640 else if (self._fetchAbortController) 46641 self._fetchAbortController.abort() 46642} 46643 46644ClientRequest.prototype.end = function (data, encoding, cb) { 46645 var self = this 46646 if (typeof data === 'function') { 46647 cb = data 46648 data = undefined 46649 } 46650 46651 stream.Writable.prototype.end.call(self, data, encoding, cb) 46652} 46653 46654ClientRequest.prototype.flushHeaders = function () {} 46655ClientRequest.prototype.setTimeout = function () {}
46656ClientRequest.prototype.setNoDelay = function () {} 46657ClientRequest.prototype.setSocketKeepAlive = function () {} 46658 46659// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method 46660var unsafeHeaders = [ 46661 'accept-charset', 46662 'accept-encoding', 46663 'access-control-request-headers', 46664 'access-control-request-method', 46665 'connection', 46666 'content-length', 46667 'cookie', 46668 'cookie2', 46669 'date', 46670 'dnt', 46671 'expect', 46672 'host', 46673 'keep-alive', 46674 'origin', 46675 'referer', 46676 'te', 46677 'trailer', 46678 'transfer-encoding', 46679 'upgrade', 46680 'via' 46681] 46682 46683/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113).Buffer, __webpack_require__(34), __webpack_require__(57))) 46684 46685/***/ }), 46686/* 916 */ 46687/***/ (function(module, exports, __webpack_require__) { 46688 46689var Buffer = __webpack_require__(313).Buffer 46690 46691module.exports = function (buf) { 46692 // If the buffer is backed by a Uint8Array, a faster version will work 46693 if (buf instanceof Uint8Array) { 46694 // If the buffer isn't a subarray, return the underlying ArrayBuffer 46695 if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) { 46696 return buf.buffer 46697 } else if (typeof buf.buffer.slice === 'function') { 46698 // Otherwise we need to get a proper copy 46699 return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength) 46700 } 46701 } 46702 46703 if (Buffer.isBuffer(buf)) { 46704 // This is the slow version that will work with any Buffer 46705 // implementation (even in old browsers) 46706 var arrayCopy = new Uint8Array(buf.length) 46707 var len = buf.length 46708 for (var i = 0; i < len; i++) { 46709 arrayCopy[i] = buf[i] 46710 } 46711 return arrayCopy.buffer 46712 } else { 46713 throw new Error('Argument must be a Buffer') 46714 } 46715} 46716 46717 46718/***/ }), 46719/* 917 */ 46720/***/ (function(module, exports) { 46721 46722module.exports = extend 46723 46724var hasOwnProperty = Object.prototype.hasOwnProperty; 46725 46726function extend() { 46727 var target = {} 46728 46729 for (var i = 0; i < arguments.length; i++) { 46730 var source = arguments[i] 46731 46732 for (var key in source) { 46733 if (hasOwnProperty.call(source, key)) { 46734 target[key] = source[key] 46735 } 46736 } 46737 } 46738 46739 return target 46740} 46741 46742 46743/***/ }), 46744/* 918 */ 46745/***/ (function(module, exports, __webpack_require__) { 46746 46747"use strict"; 46748 46749 46750module.exports = __webpack_require__(317).STATUS_CODES 46751 46752 46753/***/ }), 46754/* 919 */ 46755/***/ (function(module, exports, __webpack_require__) { 46756 46757"use strict"; 46758 46759 46760module.exports = { 46761 isString: function(arg) { 46762 return typeof(arg) === 'string'; 46763 }, 46764 isObject: function(arg) { 46765 return typeof(arg) === 'object' && arg !== null; 46766 }, 46767 isNull: function(arg) { 46768 return arg === null; 46769 }, 46770 isNullOrUndefined: function(arg) { 46771 return arg == null; 46772 } 46773}; 46774 46775 46776/***/ }), 46777/* 920 */ 46778/***/ (function(module, exports, __webpack_require__) { 46779 46780"use strict"; 46781 46782 46783exports.decode = exports.parse = __webpack_require__(921); 46784exports.encode = exports.stringify = __webpack_require__(922); 46785 46786 46787/***/ }), 46788/* 921 */ 46789/***/ (function(module, exports, __webpack_require__) { 46790 46791"use strict";
vendor: 2,590 bytes, lines 46792-46882
46792// Copyright Joyent, Inc. and other Node contributors. 46793// 46794// Permission is hereby granted, free of charge, to any person obtaining a 46795// copy of this software and associated documentation files (the 46796// "Software"), to deal in the Software without restriction, including 46797// without limitation the rights to use, copy, modify, merge, publish, 46798// distribute, sublicense, and/or sell copies of the Software, and to permit 46799// persons to whom the Software is furnished to do so, subject to the 46800// following conditions: 46801// 46802// The above copyright notice and this permission notice shall be included 46803// in all copies or substantial portions of the Software. 46804// 46805// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 46806// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 46807// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 46808// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 46809// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 46810// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 46811// USE OR OTHER DEALINGS IN THE SOFTWARE. 46812 46813 46814 46815// If obj.hasOwnProperty has been overridden, then calling 46816// obj.hasOwnProperty(prop) will break. 46817// See: https://github.com/joyent/node/issues/1707 46818function hasOwnProperty(obj, prop) { 46819 return Object.prototype.hasOwnProperty.call(obj, prop); 46820} 46821 46822module.exports = function(qs, sep, eq, options) { 46823 sep = sep || '&'; 46824 eq = eq || '='; 46825 var obj = {}; 46826 46827 if (typeof qs !== 'string' || qs.length === 0) { 46828 return obj; 46829 } 46830 46831 var regexp = /\+/g; 46832 qs = qs.split(sep); 46833 46834 var maxKeys = 1000; 46835 if (options && typeof options.maxKeys === 'number') { 46836 maxKeys = options.maxKeys; 46837 } 46838 46839 var len = qs.length; 46840 // maxKeys <= 0 means that we should not limit keys count 46841 if (maxKeys > 0 && len > maxKeys) { 46842 len = maxKeys; 46843 } 46844 46845 for (var i = 0; i < len; ++i) { 46846 var x = qs[i].replace(regexp, '%20'), 46847 idx = x.indexOf(eq), 46848 kstr, vstr, k, v; 46849 46850 if (idx >= 0) { 46851 kstr = x.substr(0, idx); 46852 vstr = x.substr(idx + 1); 46853 } else { 46854 kstr = x; 46855 vstr = ''; 46856 } 46857 46858 k = decodeURIComponent(kstr); 46859 v = decodeURIComponent(vstr); 46860 46861 if (!hasOwnProperty(obj, k)) { 46862 obj[k] = v; 46863 } else if (isArray(obj[k])) { 46864 obj[k].push(v); 46865 } else { 46866 obj[k] = [obj[k], v]; 46867 } 46868 } 46869 46870 return obj; 46871}; 46872 46873var isArray = Array.isArray || function (xs) { 46874 return Object.prototype.toString.call(xs) === '[object Array]'; 46875}; 46876 46877 46878/***/ }), 46879/* 922 */ 46880/***/ (function(module, exports, __webpack_require__) { 46881 46882"use strict";
vendor: 28,324 bytes, lines 46883-47807
46883// Copyright Joyent, Inc. and other Node contributors. 46884// 46885// Permission is hereby granted, free of charge, to any person obtaining a 46886// copy of this software and associated documentation files (the 46887// "Software"), to deal in the Software without restriction, including 46888// without limitation the rights to use, copy, modify, merge, publish, 46889// distribute, sublicense, and/or sell copies of the Software, and to permit 46890// persons to whom the Software is furnished to do so, subject to the 46891// following conditions: 46892// 46893// The above copyright notice and this permission notice shall be included 46894// in all copies or substantial portions of the Software. 46895// 46896// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 46897// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 46898// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 46899// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 46900// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 46901// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 46902// USE OR OTHER DEALINGS IN THE SOFTWARE. 46903 46904 46905 46906var stringifyPrimitive = function(v) { 46907 switch (typeof v) { 46908 case 'string': 46909 return v; 46910 46911 case 'boolean': 46912 return v ? 'true' : 'false'; 46913 46914 case 'number': 46915 return isFinite(v) ? v : ''; 46916 46917 default: 46918 return ''; 46919 } 46920}; 46921 46922module.exports = function(obj, sep, eq, name) { 46923 sep = sep || '&'; 46924 eq = eq || '='; 46925 if (obj === null) { 46926 obj = undefined; 46927 } 46928 46929 if (typeof obj === 'object') { 46930 return map(objectKeys(obj), function(k) { 46931 var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; 46932 if (isArray(obj[k])) { 46933 return map(obj[k], function(v) { 46934 return ks + encodeURIComponent(stringifyPrimitive(v)); 46935 }).join(sep); 46936 } else { 46937 return ks + encodeURIComponent(stringifyPrimitive(obj[k])); 46938 } 46939 }).join(sep); 46940 46941 } 46942 46943 if (!name) return ''; 46944 return encodeURIComponent(stringifyPrimitive(name)) + eq + 46945 encodeURIComponent(stringifyPrimitive(obj)); 46946}; 46947 46948var isArray = Array.isArray || function (xs) { 46949 return Object.prototype.toString.call(xs) === '[object Array]'; 46950}; 46951 46952function map (xs, f) { 46953 if (xs.map) return xs.map(f); 46954 var res = []; 46955 for (var i = 0; i < xs.length; i++) { 46956 res.push(f(xs[i], i)); 46957 } 46958 return res; 46959} 46960 46961var objectKeys = Object.keys || function (obj) { 46962 var res = []; 46963 for (var key in obj) { 46964 if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); 46965 } 46966 return res; 46967}; 46968 46969 46970/***/ }), 46971/* 923 */ 46972/***/ (function(module, exports, __webpack_require__) { 46973 46974"use strict"; 46975 46976 46977const conversions = __webpack_require__(924); 46978const utils = __webpack_require__(925); 46979const Impl = __webpack_require__(926); 46980 46981const impl = utils.implSymbol; 46982 46983function URL(url) { 46984 if (!this || this[impl] || !(this instanceof URL)) { 46985 throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); 46986 } 46987 if (arguments.length < 1) { 46988 throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); 46989 } 46990 const args = []; 46991 for (let i = 0; i < arguments.length && i < 2; ++i) { 46992 args[i] = arguments[i]; 46993 } 46994 args[0] = conversions["USVString"](args[0]); 46995 if (args[1] !== undefined) { 46996 args[1] = conversions["USVString"](args[1]); 46997 } 46998 46999 module.exports.setup(this, args); 47000} 47001 47002URL.prototype.toJSON = function toJSON() { 47003 if (!this || !module.exports.is(this)) { 47004 throw new TypeError("Illegal invocation"); 47005 } 47006 const args = []; 47007 for (let i = 0; i < arguments.length && i < 0; ++i) { 47008 args[i] = arguments[i]; 47009 } 47010 return this[impl].toJSON.apply(this[impl], args); 47011}; 47012Object.defineProperty(URL.prototype, "href", { 47013 get() { 47014 return this[impl].href; 47015 }, 47016 set(V) { 47017 V = conversions["USVString"](V); 47018 this[impl].href = V; 47019 }, 47020 enumerable: true, 47021 configurable: true 47022}); 47023 47024URL.prototype.toString = function () { 47025 if (!this || !module.exports.is(this)) { 47026 throw new TypeError("Illegal invocation"); 47027 } 47028 return this.href; 47029}; 47030 47031Object.defineProperty(URL.prototype, "origin", { 47032 get() { 47033 return this[impl].origin; 47034 }, 47035 enumerable: true, 47036 configurable: true 47037}); 47038 47039Object.defineProperty(URL.prototype, "protocol", { 47040 get() { 47041 return this[impl].protocol; 47042 }, 47043 set(V) { 47044 V = conversions["USVString"](V); 47045 this[impl].protocol = V; 47046 }, 47047 enumerable: true, 47048 configurable: true 47049}); 47050 47051Object.defineProperty(URL.prototype, "username", { 47052 get() { 47053 return this[impl].username; 47054 }, 47055 set(V) { 47056 V = conversions["USVString"](V); 47057 this[impl].username = V; 47058 }, 47059 enumerable: true, 47060 configurable: true 47061}); 47062 47063Object.defineProperty(URL.prototype, "password", { 47064 get() { 47065 return this[impl].password; 47066 }, 47067 set(V) { 47068 V = conversions["USVString"](V); 47069 this[impl].password = V; 47070 }, 47071 enumerable: true, 47072 configurable: true 47073}); 47074 47075Object.defineProperty(URL.prototype, "host", { 47076 get() { 47077 return this[impl].host; 47078 }, 47079 set(V) { 47080 V = conversions["USVString"](V); 47081 this[impl].host = V; 47082 }, 47083 enumerable: true, 47084 configurable: true 47085}); 47086 47087Object.defineProperty(URL.prototype, "hostname", { 47088 get() { 47089 return this[impl].hostname; 47090 }, 47091 set(V) { 47092 V = conversions["USVString"](V); 47093 this[impl].hostname = V; 47094 }, 47095 enumerable: true, 47096 configurable: true 47097}); 47098 47099Object.defineProperty(URL.prototype, "port", { 47100 get() { 47101 return this[impl].port; 47102 }, 47103 set(V) { 47104 V = conversions["USVString"](V); 47105 this[impl].port = V; 47106 }, 47107 enumerable: true, 47108 configurable: true 47109}); 47110 47111Object.defineProperty(URL.prototype, "pathname", { 47112 get() { 47113 return this[impl].pathname; 47114 }, 47115 set(V) { 47116 V = conversions["USVString"](V); 47117 this[impl].pathname = V; 47118 }, 47119 enumerable: true, 47120 configurable: true 47121}); 47122 47123Object.defineProperty(URL.prototype, "search", { 47124 get() { 47125 return this[impl].search; 47126 }, 47127 set(V) { 47128 V = conversions["USVString"](V); 47129 this[impl].search = V; 47130 }, 47131 enumerable: true, 47132 configurable: true 47133}); 47134 47135Object.defineProperty(URL.prototype, "hash", { 47136 get() { 47137 return this[impl].hash; 47138 }, 47139 set(V) { 47140 V = conversions["USVString"](V); 47141 this[impl].hash = V; 47142 }, 47143 enumerable: true, 47144 configurable: true 47145}); 47146 47147 47148module.exports = { 47149 is(obj) { 47150 return !!obj && obj[impl] instanceof Impl.implementation; 47151 }, 47152 create(constructorArgs, privateData) { 47153 let obj = Object.create(URL.prototype); 47154 this.setup(obj, constructorArgs, privateData); 47155 return obj; 47156 }, 47157 setup(obj, constructorArgs, privateData) { 47158 if (!privateData) privateData = {}; 47159 privateData.wrapper = obj; 47160 47161 obj[impl] = new Impl.implementation(constructorArgs, privateData); 47162 obj[impl][utils.wrapperSymbol] = obj; 47163 }, 47164 interface: URL, 47165 expose: { 47166 Window: { URL: URL }, 47167 Worker: { URL: URL } 47168 } 47169}; 47170 47171 47172 47173/***/ }), 47174/* 924 */ 47175/***/ (function(module, exports, __webpack_require__) { 47176 47177"use strict"; 47178 47179 47180var conversions = {}; 47181module.exports = conversions; 47182 47183function sign(x) { 47184 return x < 0 ? -1 : 1; 47185} 47186 47187function evenRound(x) { 47188 // Round x to the nearest integer, choosing the even integer if it lies halfway between two. 47189 if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) 47190 return Math.floor(x); 47191 } else { 47192 return Math.round(x); 47193 } 47194} 47195 47196function createNumberConversion(bitLength, typeOpts) { 47197 if (!typeOpts.unsigned) { 47198 --bitLength; 47199 } 47200 const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); 47201 const upperBound = Math.pow(2, bitLength) - 1; 47202 47203 const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); 47204 const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); 47205 47206 return function(V, opts) { 47207 if (!opts) opts = {}; 47208 47209 let x = +V; 47210 47211 if (opts.enforceRange) { 47212 if (!Number.isFinite(x)) { 47213 throw new TypeError("Argument is not a finite number"); 47214 } 47215 47216 x = sign(x) * Math.floor(Math.abs(x)); 47217 if (x < lowerBound || x > upperBound) { 47218 throw new TypeError("Argument is not in byte range"); 47219 } 47220 47221 return x; 47222 } 47223 47224 if (!isNaN(x) && opts.clamp) { 47225 x = evenRound(x); 47226 47227 if (x < lowerBound) x = lowerBound; 47228 if (x > upperBound) x = upperBound; 47229 return x; 47230 } 47231 47232 if (!Number.isFinite(x) || x === 0) { 47233 return 0; 47234 } 47235 47236 x = sign(x) * Math.floor(Math.abs(x)); 47237 x = x % moduloVal; 47238 47239 if (!typeOpts.unsigned && x >= moduloBound) { 47240 return x - moduloVal; 47241 } else if (typeOpts.unsigned) { 47242 if (x < 0) { 47243 x += moduloVal; 47244 } else if (x === -0) { // don't return negative zero 47245 return 0; 47246 } 47247 } 47248 47249 return x; 47250 } 47251} 47252 47253conversions["void"] = function () { 47254 return undefined; 47255}; 47256 47257conversions["boolean"] = function (val) { 47258 return !!val; 47259}; 47260 47261conversions["byte"] = createNumberConversion(8, { unsigned: false }); 47262conversions["octet"] = createNumberConversion(8, { unsigned: true }); 47263 47264conversions["short"] = createNumberConversion(16, { unsigned: false }); 47265conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); 47266 47267conversions["long"] = createNumberConversion(32, { unsigned: false }); 47268conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); 47269 47270conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); 47271conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); 47272 47273conversions["double"] = function (V) { 47274 const x = +V; 47275 47276 if (!Number.isFinite(x)) { 47277 throw new TypeError("Argument is not a finite floating-point value"); 47278 } 47279 47280 return x; 47281}; 47282 47283conversions["unrestricted double"] = function (V) { 47284 const x = +V; 47285 47286 if (isNaN(x)) { 47287 throw new TypeError("Argument is NaN"); 47288 } 47289 47290 return x; 47291}; 47292 47293// not quite valid, but good enough for JS 47294conversions["float"] = conversions["double"]; 47295conversions["unrestricted float"] = conversions["unrestricted double"]; 47296 47297conversions["DOMString"] = function (V, opts) { 47298 if (!opts) opts = {}; 47299 47300 if (opts.treatNullAsEmptyString && V === null) { 47301 return ""; 47302 } 47303 47304 return String(V); 47305}; 47306 47307conversions["ByteString"] = function (V, opts) { 47308 const x = String(V); 47309 let c = undefined; 47310 for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { 47311 if (c > 255) { 47312 throw new TypeError("Argument is not a valid bytestring"); 47313 } 47314 } 47315 47316 return x; 47317}; 47318 47319conversions["USVString"] = function (V) { 47320 const S = String(V); 47321 const n = S.length; 47322 const U = []; 47323 for (let i = 0; i < n; ++i) { 47324 const c = S.charCodeAt(i); 47325 if (c < 0xD800 || c > 0xDFFF) { 47326 U.push(String.fromCodePoint(c)); 47327 } else if (0xDC00 <= c && c <= 0xDFFF) { 47328 U.push(String.fromCodePoint(0xFFFD)); 47329 } else { 47330 if (i === n - 1) { 47331 U.push(String.fromCodePoint(0xFFFD)); 47332 } else { 47333 const d = S.charCodeAt(i + 1); 47334 if (0xDC00 <= d && d <= 0xDFFF) { 47335 const a = c & 0x3FF; 47336 const b = d & 0x3FF; 47337 U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); 47338 ++i; 47339 } else { 47340 U.push(String.fromCodePoint(0xFFFD)); 47341 } 47342 } 47343 } 47344 } 47345 47346 return U.join(''); 47347}; 47348 47349conversions["Date"] = function (V, opts) { 47350 if (!(V instanceof Date)) { 47351 throw new TypeError("Argument is not a Date object"); 47352 } 47353 if (isNaN(V)) { 47354 return undefined; 47355 } 47356 47357 return V; 47358}; 47359 47360conversions["RegExp"] = function (V, opts) { 47361 if (!(V instanceof RegExp)) { 47362 V = new RegExp(V); 47363 } 47364 47365 return V; 47366}; 47367 47368 47369/***/ }), 47370/* 925 */ 47371/***/ (function(module, exports, __webpack_require__) { 47372 47373"use strict"; 47374 47375 47376module.exports.mixin = function mixin(target, source) { 47377 const keys = Object.getOwnPropertyNames(source); 47378 for (let i = 0; i < keys.length; ++i) { 47379 Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); 47380 } 47381}; 47382 47383module.exports.wrapperSymbol = Symbol("wrapper"); 47384module.exports.implSymbol = Symbol("impl"); 47385 47386module.exports.wrapperForImpl = function (impl) { 47387 return impl[module.exports.wrapperSymbol]; 47388}; 47389 47390module.exports.implForWrapper = function (wrapper) { 47391 return wrapper[module.exports.implSymbol]; 47392}; 47393 47394 47395 47396/***/ }), 47397/* 926 */ 47398/***/ (function(module, exports, __webpack_require__) { 47399 47400"use strict"; 47401 47402const usm = __webpack_require__(180); 47403 47404exports.implementation = class URLImpl { 47405 constructor(constructorArgs) { 47406 const url = constructorArgs[0]; 47407 const base = constructorArgs[1]; 47408 47409 let parsedBase = null; 47410 if (base !== undefined) { 47411 parsedBase = usm.basicURLParse(base); 47412 if (parsedBase === "failure") { 47413 throw new TypeError("Invalid base URL"); 47414 } 47415 } 47416 47417 const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); 47418 if (parsedURL === "failure") { 47419 throw new TypeError("Invalid URL"); 47420 } 47421 47422 this._url = parsedURL; 47423 47424 // TODO: query stuff 47425 } 47426 47427 get href() { 47428 return usm.serializeURL(this._url); 47429 } 47430 47431 set href(v) { 47432 const parsedURL = usm.basicURLParse(v); 47433 if (parsedURL === "failure") { 47434 throw new TypeError("Invalid URL"); 47435 } 47436 47437 this._url = parsedURL; 47438 } 47439 47440 get origin() { 47441 return usm.serializeURLOrigin(this._url); 47442 } 47443 47444 get protocol() { 47445 return this._url.scheme + ":"; 47446 } 47447 47448 set protocol(v) { 47449 usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); 47450 } 47451 47452 get username() { 47453 return this._url.username; 47454 } 47455 47456 set username(v) { 47457 if (usm.cannotHaveAUsernamePasswordPort(this._url)) { 47458 return; 47459 } 47460 47461 usm.setTheUsername(this._url, v); 47462 } 47463 47464 get password() { 47465 return this._url.password; 47466 } 47467 47468 set password(v) { 47469 if (usm.cannotHaveAUsernamePasswordPort(this._url)) { 47470 return; 47471 } 47472 47473 usm.setThePassword(this._url, v); 47474 } 47475 47476 get host() { 47477 const url = this._url; 47478 47479 if (url.host === null) { 47480 return ""; 47481 } 47482 47483 if (url.port === null) { 47484 return usm.serializeHost(url.host); 47485 } 47486 47487 return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); 47488 } 47489 47490 set host(v) { 47491 if (this._url.cannotBeABaseURL) { 47492 return; 47493 } 47494 47495 usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); 47496 } 47497 47498 get hostname() { 47499 if (this._url.host === null) { 47500 return ""; 47501 } 47502 47503 return usm.serializeHost(this._url.host); 47504 } 47505 47506 set hostname(v) { 47507 if (this._url.cannotBeABaseURL) { 47508 return; 47509 } 47510 47511 usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); 47512 } 47513 47514 get port() { 47515 if (this._url.port === null) { 47516 return ""; 47517 } 47518 47519 return usm.serializeInteger(this._url.port); 47520 } 47521 47522 set port(v) { 47523 if (usm.cannotHaveAUsernamePasswordPort(this._url)) { 47524 return; 47525 } 47526 47527 if (v === "") { 47528 this._url.port = null; 47529 } else { 47530 usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); 47531 } 47532 } 47533 47534 get pathname() { 47535 if (this._url.cannotBeABaseURL) { 47536 return this._url.path[0]; 47537 } 47538 47539 if (this._url.path.length === 0) { 47540 return ""; 47541 } 47542 47543 return "/" + this._url.path.join("/"); 47544 } 47545 47546 set pathname(v) { 47547 if (this._url.cannotBeABaseURL) { 47548 return; 47549 } 47550 47551 this._url.path = []; 47552 usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); 47553 } 47554 47555 get search() { 47556 if (this._url.query === null || this._url.query === "") { 47557 return ""; 47558 } 47559 47560 return "?" + this._url.query; 47561 } 47562 47563 set search(v) { 47564 // TODO: query stuff 47565 47566 const url = this._url; 47567 47568 if (v === "") { 47569 url.query = null; 47570 return; 47571 } 47572 47573 const input = v[0] === "?" ? v.substring(1) : v; 47574 url.query = ""; 47575 usm.basicURLParse(input, { url, stateOverride: "query" }); 47576 } 47577 47578 get hash() { 47579 if (this._url.fragment === null || this._url.fragment === "") { 47580 return ""; 47581 } 47582 47583 return "#" + this._url.fragment; 47584 } 47585 47586 set hash(v) { 47587 if (v === "") { 47588 this._url.fragment = null; 47589 return; 47590 } 47591 47592 const input = v[0] === "#" ? v.substring(1) : v; 47593 this._url.fragment = ""; 47594 usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); 47595 } 47596 47597 toJSON() { 47598 return this.href; 47599 } 47600}; 47601 47602 47603/***/ }), 47604/* 927 */ 47605/***/ (function(module, exports, __webpack_require__) { 47606 47607"use strict"; 47608 47609 47610var punycode = __webpack_require__(472); 47611var mappingTable = __webpack_require__(928); 47612 47613var PROCESSING_OPTIONS = { 47614 TRANSITIONAL: 0, 47615 NONTRANSITIONAL: 1 47616}; 47617 47618function normalize(str) { // fix bug in v8 47619 return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); 47620} 47621 47622function findStatus(val) { 47623 var start = 0; 47624 var end = mappingTable.length - 1; 47625 47626 while (start <= end) { 47627 var mid = Math.floor((start + end) / 2); 47628 47629 var target = mappingTable[mid]; 47630 if (target[0][0] <= val && target[0][1] >= val) { 47631 return target; 47632 } else if (target[0][0] > val) { 47633 end = mid - 1; 47634 } else { 47635 start = mid + 1; 47636 } 47637 } 47638 47639 return null; 47640} 47641 47642var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; 47643 47644function countSymbols(string) { 47645 return string 47646 // replace every surrogate pair with a BMP symbol 47647 .replace(regexAstralSymbols, '_') 47648 // then get the length 47649 .length; 47650} 47651 47652function mapChars(domain_name, useSTD3, processing_option) { 47653 var hasError = false; 47654 var processed = ""; 47655 47656 var len = countSymbols(domain_name); 47657 for (var i = 0; i < len; ++i) { 47658 var codePoint = domain_name.codePointAt(i); 47659 var status = findStatus(codePoint); 47660 47661 switch (status[1]) { 47662 case "disallowed": 47663 hasError = true; 47664 processed += String.fromCodePoint(codePoint); 47665 break; 47666 case "ignored": 47667 break; 47668 case "mapped": 47669 processed += String.fromCodePoint.apply(String, status[2]); 47670 break; 47671 case "deviation": 47672 if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { 47673 processed += String.fromCodePoint.apply(String, status[2]); 47674 } else { 47675 processed += String.fromCodePoint(codePoint); 47676 } 47677 break; 47678 case "valid": 47679 processed += String.fromCodePoint(codePoint); 47680 break; 47681 case "disallowed_STD3_mapped": 47682 if (useSTD3) { 47683 hasError = true; 47684 processed += String.fromCodePoint(codePoint); 47685 } else { 47686 processed += String.fromCodePoint.apply(String, status[2]); 47687 } 47688 break; 47689 case "disallowed_STD3_valid": 47690 if (useSTD3) { 47691 hasError = true; 47692 } 47693 47694 processed += String.fromCodePoint(codePoint); 47695 break; 47696 } 47697 } 47698 47699 return { 47700 string: processed, 47701 error: hasError 47702 }; 47703} 47704 47705var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; 47706 47707function validateLabel(label, processing_option) { 47708 if (label.substr(0, 4) === "xn--") { 47709 label = punycode.toUnicode(label); 47710 processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; 47711 } 47712 47713 var error = false; 47714 47715 if (normalize(label) !== label || 47716 (label[3] === "-" && label[4] === "-") || 47717 label[0] === "-" || label[label.length - 1] === "-" || 47718 label.indexOf(".") !== -1 || 47719 label.search(combiningMarksRegex) === 0) { 47720 error = true; 47721 } 47722 47723 var len = countSymbols(label); 47724 for (var i = 0; i < len; ++i) { 47725 var status = findStatus(label.codePointAt(i)); 47726 if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || 47727 (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && 47728 status[1] !== "valid" && status[1] !== "deviation")) { 47729 error = true; 47730 break; 47731 } 47732 } 47733 47734 return { 47735 label: label, 47736 error: error 47737 }; 47738} 47739 47740function processing(domain_name, useSTD3, processing_option) { 47741 var result = mapChars(domain_name, useSTD3, processing_option); 47742 result.string = normalize(result.string); 47743 47744 var labels = result.string.split("."); 47745 for (var i = 0; i < labels.length; ++i) { 47746 try { 47747 var validation = validateLabel(labels[i]); 47748 labels[i] = validation.label; 47749 result.error = result.error || validation.error; 47750 } catch(e) { 47751 result.error = true; 47752 } 47753 } 47754 47755 return { 47756 string: labels.join("."), 47757 error: result.error 47758 }; 47759} 47760 47761module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { 47762 var result = processing(domain_name, useSTD3, processing_option); 47763 var labels = result.string.split("."); 47764 labels = labels.map(function(l) { 47765 try { 47766 return punycode.toASCII(l); 47767 } catch(e) { 47768 result.error = true; 47769 return l; 47770 } 47771 }); 47772 47773 if (verifyDnsLength) { 47774 var total = labels.slice(0, labels.length - 1).join(".").length; 47775 if (total.length > 253 || total.length === 0) { 47776 result.error = true; 47777 } 47778 47779 for (var i=0; i < labels.length; ++i) { 47780 if (labels.length > 63 || labels.length === 0) { 47781 result.error = true; 47782 break; 47783 } 47784 } 47785 } 47786 47787 if (result.error) return null; 47788 return labels.join("."); 47789}; 47790 47791module.exports.toUnicode = function(domain_name, useSTD3) { 47792 var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); 47793 47794 return { 47795 domain: result.string, 47796 error: result.error 47797 }; 47798}; 47799 47800module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; 47801 47802 47803/***/ }), 47804/* 928 */ 47805/***/ (function(module) { 47806 47807module.exports = JSON.parse("[[[0,44],\"disallowed_STD3_valid\"],[[45,46],\"valid\"],[[47,47],\"disallowed_STD3_valid\"],[[48,57],\"valid\"],[[58,64],\"disallowed_STD3_valid\"],[[65,65],\"mapped\",[97]],[[66,66],\"mapped\",[98]],[[67,67],\"mapped\",[99]],[[68,68],\"mapped\",[100]],[[69,69],\"mapped\",[101]],[[70,70],\"mapped\",[102]],[[71,71],\"mapped\",[103]],[[72,72],\"mapped\",[104]],[[73,73],\"mapped\",[105]],[[74,74],\"mapped\",[106]],[[75,75],\"mapped\",[107]],[[76,76],\"mapped\",[108]],[[77,77],\"mapped\",[109]],[[78,78],\"mapped\",[110]],[[79,79],\"mapped\",[111]],[[80,80],\"mapped\",[112]],[[81,81],\"mapped\",[113]],[[82,82],\"mapped\",[114]],[[83,83],\"mapped\",[115]],[[84,84],\"mapped\",[116]],[[85,85],\"mapped\",[117]],[[86,86],\"mapped\",[118]],[[87,87],\"mapped\",[119]],[[88,88],\"mapped\",[120]],[[89,89],\"mapped\",[121]],[[90,90],\"mapped\",[122]],[[91,96],\"disallowed_STD3_valid\"],[[97,122],\"valid\"],[[123,127],\"disallowed_STD3_valid\"],[[128,159],\"disallowed\"],[[160,160],\"disallowed_STD3_mapped\",[32]],[[161,167],\"valid\",[],\"NV8\"],[[168,168],\"disallowed_STD3_mapped\",[32,776]],[[169,169],\"valid\",[],\"NV8\"],[[170,170],\"mapped\",[97]],[[171,172],\"valid\",[],\"NV8\"],[[173,173],\"ignored\"],[[174,174],\"valid\",[],\"NV8\"],[[175,175],\"disallowed_STD3_mapped\",[32,772]],[[176,177],\"valid\",[],\"NV8\"],[[178,178],\"mapped\",[50]],[[179,179],\"mapped\",[51]],[[180,180],\"disallowed_STD3_mapped\",[32,769]],[[181,181],\"mapped\",[956]],[[182,182],\"valid\",[],\"NV8\"],[[183,183],\"valid\"],[[184,184],\"disallowed_STD3_mapped\",[32,807]],[[185,185],\"mapped\",[49]],[[186,186],\"mapped\",[111]],[[187,187],\"valid\",[],\"NV8\"],[[188,188],\"mapped\",[49,8260,52]],[[189,189],\"mapped\",[49,8260,50]],[[190,190],\"mapped\",[51,8260,52]],[[191,191],\"valid\",[],\"NV8\"],[[192,192],\"mapped\",[224]],[[193,193],\"mapped\",[225]],[[194,194],\"mapped\",[226]],[[195,195],\"mapped\",[227]],[[196,196],\"mapped\",[228]],[[197,197],\"mapped\",[229]],[[198,198],\"mapped\",[230]],[[199,199],\"mapped\",[231]],[[200,200],\"mapped\",[232]],[[201,201],\"mapped\",[233]],[[202,202],\"mapped\",[234]],[[203,203],\"mapped\",[235]],[[204,204],\"mapped\",[236]],[[205,205],\"mapped\",[237]],[[206,206],\"mapped\",[238]],[[207,207],\"mapped\",[239]],[[208,208],\"mapped\",[240]],[[209,209],\"mapped\",[241]],[[210,210],\"mapped\",[242]],[[211,211],\"mapped\",[243]],[[212,212],\"mapped\",[244]],[[213,213],\"mapped\",[245]],[[214,214],\"mapped\",[246]],[[215,215],\"valid\",[],\"NV8\"],[[216,216],\"mapped\",[248]],[[217,217],\"mapped\",[249]],[[218,218],\"mapped\",[250]],[[219,219],\"mapped\",[251]],[[220,220],\"mapped\",[252]],[[221,221],\"mapped\",[253]],[[222,222],\"mapped\",[254]],[[223,223],\"deviation\",[115,115]],[[224,246],\"valid\"],[[247,247],\"valid\",[],\"NV8\"],[[248,255],\"valid\"],[[256,256],\"mapped\",[257]],[[257,257],\"valid\"],[[258,258],\"mapped\",[259]],[[259,259],\"valid\"],[[260,260],\"mapped\",[261]],[[261,261],\"valid\"],[[262,262],\"mapped\",[263]],[[263,263],\"valid\"],[[264,264],\"mapped\",[265]],[[265,265],\"valid\"],[[266,266],\"mapped\",[267]],[[267,267],\"valid\"],[[268,268],\"mapped\",[269]],[[269,269],\"valid\"],[[270,270],\"mapped\",[271]],[[271,271],\"valid\"],[[272,272],\"mapped\",[273]],[[273,273],\"valid\"],[[274,274],\"mapped\",[275]],[[275,275],\"valid\"],[[276,276],\"mapped\",[277]],[[277,277],\"valid\"],[[278,278],\"mapped\",[279]],[[279,279],\"valid\"],[[280,280],\"mapped\",[281]],[[281,281],\"valid\"],[[282,282],\"mapped\",[283]],[[283,283],\"valid\"],[[284,284],\"mapped\",[285]],[[285,285],\"valid\"],[[286,286],\"mapped\",[287]],[[287,287],\"valid\"],[[288,288],\"mapped\",[289]],[[289,289],\"valid\"],[[290,290],\"mapped\",[291]],[[291,291],\"valid\"],[[292,292],\"mapped\",[293]],[[293,293],\"valid\"],[[294,294],\"mapped\",[295]],[[295,295],\"valid\"],[[296,296],\"mapped\",[297]],[[297,297],\"valid\"],[[298,298],\"mapped\",[299]],[[299,299],\"valid\"],[[300,300],\"mapped\",[301]],[[301,301],\"valid\"],[[302,302],\"mapped\",[303]],[[303,303],\"valid\"],[[304,304],\"mapped\",[105,775]],[[305,305],\"valid\"],[[306,307],\"mapped\",[105,106]],[[308,3
4780708],\"mapped\",[309]],[[309,309],\"valid\"],[[310,310],\"mapped\",[311]],[[311,312],\"valid\"],[[313,313],\"mapped\",[314]],[[314,314],\"valid\"],[[315,315],\"mapped\",[316]],[[316,316],\"valid\"],[[317,317],\"mapped\",[318]],[[318,318],\"valid\"],[[319,320],\"mapped\",[108,183]],[[321,321],\"mapped\",[322]],[[322,322],\"valid\"],[[323,323],\"mapped\",[324]],[[324,324],\"valid\"],[[325,325],\"mapped\",[326]],[[326,326],\"valid\"],[[327,327],\"mapped\",[328]],[[328,328],\"valid\"],[[329,329],\"mapped\",[700,110]],[[330,330],\"mapped\",[331]],[[331,331],\"valid\"],[[332,332],\"mapped\",[333]],[[333,333],\"valid\"],[[334,334],\"mapped\",[335]],[[335,335],\"valid\"],[[336,336],\"mapped\",[337]],[[337,337],\"valid\"],[[338,338],\"mapped\",[339]],[[339,339],\"valid\"],[[340,340],\"mapped\",[341]],[[341,341],\"valid\"],[[342,342],\"mapped\",[343]],[[343,343],\"valid\"],[[344,344],\"mapped\",[345]],[[345,345],\"valid\"],[[346,346],\"mapped\",[347]],[[347,347],\"valid\"],[[348,348],\"mapped\",[349]],[[349,349],\"valid\"],[[350,350],\"mapped\",[351]],[[351,351],\"valid\"],[[352,352],\"mapped\",[353]],[[353,353],\"valid\"],[[354,354],\"mapped\",[355]],[[355,355],\"valid\"],[[356,356],\"mapped\",[357]],[[357,357],\"valid\"],[[358,358],\"mapped\",[359]],[[359,359],\"valid\"],[[360,360],\"mapped\",[361]],[[361,361],\"valid\"],[[362,362],\"mapped\",[363]],[[363,363],\"valid\"],[[364,364],\"mapped\",[365]],[[365,365],\"valid\"],[[366,366],\"mapped\",[367]],[[367,367],\"valid\"],[[368,368],\"mapped\",[369]],[[369,369],\"valid\"],[[370,370],\"mapped\",[371]],[[371,371],\"valid\"],[[372,372],\"mapped\",[373]],[[373,373],\"valid\"],[[374,374],\"mapped\",[375]],[[375,375],\"valid\"],[[376,376],\"mapped\",[255]],[[377,377],\"mapped\",[378]],[[378,378],\"valid\"],[[379,379],\"mapped\",[380]],[[380,380],\"valid\"],[[381,381],\"mapped\",[382]],[[382,382],\"valid\"],[[383,383],\"mapped\",[115]],[[384,384],\"valid\"],[[385,385],\"mapped\",[595]],[[386,386],\"mapped\",[387]],[[387,387],\"valid\"],[[388,388],\"mapped\",[389]],[[389,389],\"valid\"],[[390,390],\"mapped\",[596]],[[391,391],\"mapped\",[392]],[[392,392],\"valid\"],[[393,393],\"mapped\",[598]],[[394,394],\"mapped\",[599]],[[395,395],\"mapped\",[396]],[[396,397],\"valid\"],[[398,398],\"mapped\",[477]],[[399,399],\"mapped\",[601]],[[400,400],\"mapped\",[603]],[[401,401],\"mapped\",[402]],[[402,402],\"valid\"],[[403,403],\"mapped\",[608]],[[404,404],\"mapped\",[611]],[[405,405],\"valid\"],[[406,406],\"mapped\",[617]],[[407,407],\"mapped\",[616]],[[408,408],\"mapped\",[409]],[[409,411],\"valid\"],[[412,412],\"mapped\",[623]],[[413,413],\"mapped\",[626]],[[414,414],\"valid\"],[[415,415],\"mapped\",[629]],[[416,416],\"mapped\",[417]],[[417,417],\"valid\"],[[418,418],\"mapped\",[419]],[[419,419],\"valid\"],[[420,420],\"mapped\",[421]],[[421,421],\"valid\"],[[422,422],\"mapped\",[640]],[[423,423],\"mapped\",[424]],[[424,424],\"valid\"],[[425,425],\"mapped\",[643]],[[426,427],\"valid\"],[[428,428],\"mapped\",[429]],[[429,429],\"valid\"],[[430,430],\"mapped\",[648]],[[431,431],\"mapped\",[432]],[[432,432],\"valid\"],[[433,433],\"mapped\",[650]],[[434,434],\"mapped\",[651]],[[435,435],\"mapped\",[436]],[[436,436],\"valid\"],[[437,437],\"mapped\",[438]],[[438,438],\"valid\"],[[439,439],\"mapped\",[658]],[[440,440],\"mapped\",[441]],[[441,443],\"valid\"],[[444,444],\"mapped\",[445]],[[445,451],\"valid\"],[[452,454],\"mapped\",[100,382]],[[455,457],\"mapped\",[108,106]],[[458,460],\"mapped\",[110,106]],[[461,461],\"mapped\",[462]],[[462,462],\"valid\"],[[463,463],\"mapped\",[464]],[[464,464],\"valid\"],[[465,465],\"mapped\",[466]],[[466,466],\"valid\"],[[467,467],\"mapped\",[468]],[[468,468],\"valid\"],[[469,469],\"mapped\",[470]],[[470,470],\"valid\"],[[471,471],\"mapped\",[472]],[[472,472],\"valid\"],[[473,473],\"mapped\",[474]],[[474,474],\"valid\"],[[475,475],\"mapped\",[476]],[[476,477],\"valid\"],[[478,478],\"mapped\",[479]],[[479,479],\"valid\"],[[480,480],\"mapped\",[481]],[[481,481],\"valid\"],[[482,482],\"mapped\",[483]],[[483,483],\"valid\"],[[484,484],\"mapped\",[485]],[[485,485],\"valid\"],[[486,486],\"mapped\",[487]],[[487,487],\"valid\"],[[488,488],\"mapped\",[489]],[[489,489],\"valid\"],[[490,490],\"mapped\",[491]],[[491,491],\"valid\"],[[492,492],\"mapped\",[493]],[[493,493],\"valid\"],[[494,494],\"mapped\",[495]],[[495,496],\"valid\"],[[497,499],\"mapped\",[100,122]],[[500,500],\"mapped\",[501]],[[501,501],\"valid\"],[[502,502],\"mapped\",[405]],[[503,503],\"mapped\",[447]],[[504,504],\"mapped\",[505]],[[505,505],\"valid\"],[[506,506],\"mapped\",[507]],[[507,507],\"valid\"],[[508,508],\"mapped\",[509]],[[509,509],\"valid\"],[[510,510],\"mapped\",[511]],[[511,511],\"valid\"],[[512,512],\"mapped\",[513]],[[513,513],\"valid\"],[[514,514],\"mapped\",[515]],[[515,515],\"valid\"],[[516,516],\"mapped\",[517]],[[517,517],\"valid\"],[[518,518],\"mapped\",[519]],[[519,519],\"valid\"],[[520,520],\"mapped\",[521]],[[521,521],\"valid\"],[[522,522],\"mapped\",[523]],[[523,523],\"valid\"],[[524,524],\"mapped\",[525]],[[525,525],\"valid\"],[[526,526],\"mapped\",[527]],[[527,527],\"valid\"],[[528,528],\"mapped\",[529]],[[529,529],\"valid\"],[[530,530],\"mapped\",[531]],[[531,531],\"valid\"],[[532,532],\"mapped\",[533]],[[533,533],\"valid\"],[[534,534],\"mapped\",[535]],[[535,535],\"valid\"],[[536,536],\"mapped\",[537]],[[537,537],\"valid\"],[[538,538],\"mapped\",[539]],[[539,539],\"valid\"],[[540,540],\"mapped\",[541]],[[541,541],\"valid\"],[[542,542],\"mapped\",[543]],[[543,543],\"valid\"],[[544,544],\"mapped\",[414]],[[545,545],\"valid\"],[[546,546],\"mapped\",[547]],[[547,547],\"valid\"],[[548,548],\"mapped\",[549]],[[549,549],\"valid\"],[[550,550],\"mapped\",[551]],[[551,551],\"valid\"],[[552,552],\"mapped\",[553]],[[553,553],\"valid\"],[[554,554],\"mapped\",[555]],[[555,555],\"valid\"],[[556,556],\"mapped\",[557]],[[557,557],\"valid\"],[[558,558],\"mapped\",[559]],[[559,559],\"valid\"],[[560,560],\"mapped\",[561]],[[561,561],\"valid\"],[[562,562],\"mapped\",[563]],[[563,563],\"valid\"],[[564,566],\"valid\"],[[567,569],\"valid\"],[[570,570],\"mapped\",[11365]],[[571,571],\"mapped\",[572]],[[572,572],\"valid\"],[[573,573],\"mapped\",[410]],[[574,574],\"mapped\",[11366]],[[575,576],\"valid\"],[[577,577],\"mapped\",[578]],[[578,578],\"valid\"],[[579,579],\"mapped\",[384]],[[580,580],\"mapped\",[649]
47807],[[581,581],\"mapped\",[652]],[[582,582],\"mapped\",[583]],[[583,583],\"valid\"],[[584,584],\"mapped\",[585]],[[585,585],\"valid\"],[[586,586],\"mapped\",[587]],[[587,587],\"valid\"],[[588,588],\"mapped\",[589]],[[589,589],\"valid\"],[[590,590],\"mapped\",[591]],[[591,591],\"valid\"],[[592,680],\"valid\"],[[681,685],\"valid\"],[[686,687],\"valid\"],[[688,688],\"mapped\",[104]],[[689,689],\"mapped\",[614]],[[690,690],\"mapped\",[106]],[[691,691],\"mapped\",[114]],[[692,692],\"mapped\",[633]],[[693,693],\"mapped\",[635]],[[694,694],\"mapped\",[641]],[[695,695],\"mapped\",[119]],[[696,696],\"mapped\",[121]],[[697,705],\"valid\"],[[706,709],\"valid\",[],\"NV8\"],[[710,721],\"valid\"],[[722,727],\"valid\",[],\"NV8\"],[[728,728],\"disallowed_STD3_mapped\",[32,774]],[[729,729],\"disallowed_STD3_mapped\",[32,775]],[[730,730],\"disallowed_STD3_mapped\",[32,778]],[[731,731],\"disallowed_STD3_mapped\",[32,808]],[[732,732],\"disallowed_STD3_mapped\",[32,771]],[[733,733],\"disallowed_STD3_mapped\",[32,779]],[[734,734],\"valid\",[],\"NV8\"],[[735,735],\"valid\",[],\"NV8\"],[[736,736],\"mapped\",[611]],[[737,737],\"mapped\",[108]],[[738,738],\"mapped\",[115]],[[739,739],\"mapped\",[120]],[[740,740],\"mapped\",[661]],[[741,745],\"valid\",[],\"NV8\"],[[746,747],\"valid\",[],\"NV8\"],[[748,748],\"valid\"],[[749,749],\"valid\",[],\"NV8\"],[[750,750],\"valid\"],[[751,767],\"valid\",[],\"NV8\"],[[768,831],\"valid\"],[[832,832],\"mapped\",[768]],[[833,833],\"mapped\",[769]],[[834,834],\"valid\"],[[835,835],\"mapped\",[787]],[[836,836],\"mapped\",[776,769]],[[837,837],\"mapped\",[953]],[[838,846],\"valid\"],[[847,847],\"ignored\"],[[848,855],\"valid\"],[[856,860],\"valid\"],[[861,863],\"valid\"],[[864,865],\"valid\"],[[866,866],\"valid\"],[[867,879],\"valid\"],[[880,880],\"mapped\",[881]],[[881,881],\"valid\"],[[882,882],\"mapped\",[883]],[[883,883],\"valid\"],[[884,884],\"mapped\",[697]],[[885,885],\"valid\"],[[886,886],\"mapped\",[887]],[[887,887],\"valid\"],[[888,889],\"disallowed\"],[[890,890],\"disallowed_STD3_mapped\",[32,953]],[[891,893],\"valid\"],[[894,894],\"disallowed_STD3_mapped\",[59]],[[895,895],\"mapped\",[1011]],[[896,899],\"disallowed\"],[[900,900],\"disallowed_STD3_mapped\",[32,769]],[[901,901],\"disallowed_STD3_mapped\",[32,776,769]],[[902,902],\"mapped\",[940]],[[903,903],\"mapped\",[183]],[[904,904],\"mapped\",[941]],[[905,905],\"mapped\",[942]],[[906,906],\"mapped\",[943]],[[907,907],\"disallowed\"],[[908,908],\"mapped\",[972]],[[909,909],\"disallowed\"],[[910,910],\"mapped\",[973]],[[911,911],\"mapped\",[974]],[[912,912],\"valid\"],[[913,913],\"mapped\",[945]],[[914,914],\"mapped\",[946]],[[915,915],\"mapped\",[947]],[[916,916],\"mapped\",[948]],[[917,917],\"mapped\",[949]],[[918,918],\"mapped\",[950]],[[919,919],\"mapped\",[951]],[[920,920],\"mapped\",[952]],[[921,921],\"mapped\",[953]],[[922,922],\"mapped\",[954]],[[923,923],\"mapped\",[955]],[[924,924],\"mapped\",[956]],[[925,925],\"mapped\",[957]],[[926,926],\"mapped\",[958]],[[927,927],\"mapped\",[959]],[[928,928],\"mapped\",[960]],[[929,929],\"mapped\",[961]],[[930,930],\"disallowed\"],[[931,931],\"mapped\",[963]],[[932,932],\"mapped\",[964]],[[933,933],\"mapped\",[965]],[[934,934],\"mapped\",[966]],[[935,935],\"mapped\",[967]],[[936,936],\"mapped\",[968]],[[937,937],\"mapped\",[969]],[[938,938],\"mapped\",[970]],[[939,939],\"mapped\",[971]],[[940,961],\"valid\"],[[962,962],\"deviation\",[963]],[[963,974],\"valid\"],[[975,975],\"mapped\",[983]],[[976,976],\"mapped\",[946]],[[977,977],\"mapped\",[952]],[[978,978],\"mapped\",[965]],[[979,979],\"mapped\",[973]],[[980,980],\"mapped\",[971]],[[981,981],\"mapped\",[966]],[[982,982],\"mapped\",[960]],[[983,983],\"valid\"],[[984,984],\"mapped\",[985]],[[985,985],\"valid\"],[[986,986],\"mapped\",[987]],[[987,987],\"valid\"],[[988,988],\"mapped\",[989]],[[989,989],\"valid\"],[[990,990],\"mapped\",[991]],[[991,991],\"valid\"],[[992,992],\"mapped\",[993]],[[993,993],\"valid\"],[[994,994],\"mapped\",[995]],[[995,995],\"valid\"],[[996,996],\"mapped\",[997]],[[997,997],\"valid\"],[[998,998],\"mapped\",[999]],[[999,999],\"valid\"],[[1000,1000],\"mapped\",[1001]],[[1001,1001],\"valid\"],[[1002,1002],\"mapped\",[1003]],[[1003,1003],\"valid\"],[[1004,1004],\"mapped\",[1005]],[[1005,1005],\"valid\"],[[1006,1006],\"mapped\",[1007]],[[1007,1007],\"valid\"],[[1008,1008],\"mapped\",[954]],[[1009,1009],\"mapped\",[961]],[[1010,1010],\"mapped\",[963]],[[1011,1011],\"valid\"],[[1012,1012],\"mapped\",[952]],[[1013,1013],\"mapped\",[949]],[[1014,1014],\"valid\",[],\"NV8\"],[[1015,1015],\"mapped\",[1016]],[[1016,1016],\"valid\"],[[1017,1017],\"mapped\",[963]],[[1018,1018],\"mapped\",[1019]],[[1019,1019],\"valid\"],[[1020,1020],\"valid\"],[[1021,1021],\"mapped\",[891]],[[1022,1022],\"mapped\",[892]],[[1023,1023],\"mapped\",[893]],[[1024,1024],\"mapped\",[1104]],[[1025,1025],\"mapped\",[1105]],[[1026,1026],\"mapped\",[1106]],[[1027,1027],\"mapped\",[1107]],[[1028,1028],\"mapped\",[1108]],[[1029,1029],\"mapped\",[1109]],[[1030,1030],\"mapped\",[1110]],[[1031,1031],\"mapped\",[1111]],[[1032,1032],\"mapped\",[1112]],[[1033,1033],\"mapped\",[1113]],[[1034,1034],\"mapped\",[1114]],[[1035,1035],\"mapped\",[111
478075]],[[1036,1036],\"mapped\",[1116]],[[1037,1037],\"mapped\",[1117]],[[1038,1038],\"mapped\",[1118]],[[1039,1039],\"mapped\",[1119]],[[1040,1040],\"mapped\",[1072]],[[1041,1041],\"mapped\",[1073]],[[1042,1042],\"mapped\",[1074]],[[1043,1043],\"mapped\",[1075]],[[1044,1044],\"mapped\",[1076]],[[1045,1045],\"mapped\",[1077]],[[1046,1046],\"mapped\",[1078]],[[1047,1047],\"mapped\",[1079]],[[1048,1048],\"mapped\",[1080]],[[1049,1049],\"mapped\",[1081]],[[1050,1050],\"mapped\",[1082]],[[1051,1051],\"mapped\",[1083]],[[1052,1052],\"mapped\",[1084]],[[1053,1053],\"mapped\",[1085]],[[1054,1054],\"mapped\",[1086]],[[1055,1055],\"mapped\",[1087]],[[1056,1056],\"mapped\",[1088]],[[1057,1057],\"mapped\",[1089]],[[1058,1058],\"mapped\",[1090]],[[1059,1059],\"mapped\",[1091]],[[1060,1060],\"mapped\",[1092]],[[1061,1061],\"mapped\",[1093]],[[1062,1062],\"mapped\",[1094]],[[1063,1063],\"mapped\",[1095]],[[1064,1064],\"mapped\",[1096]],[[1065,1065],\"mapped\",[1097]],[[1066,1066],\"mapped\",[1098]],[[1067,1067],\"mapped\",[1099]],[[1068,1068],\"mapped\",[1100]],[[1069,1069],\"mapped\",[1101]],[[1070,1070],\"mapped\",[1102]],[[1071,1071],\"mapped\",[1103]],[[1072,1103],\"valid\"],[[1104,1104],\"valid\"],[[1105,1116],\"valid\"],[[1117,1117],\"valid\"],[[1118,1119],\"valid\"],[[1120,1120],\"mapped\",[1121]],[[1121,1121],\"valid\"],[[1122,1122],\"mapped\",[1123]],[[1123,1123],\"valid\"],[[1124,1124],\"mapped\",[1125]],[[1125,1125],\"valid\"],[[1126,1126],\"mapped\",[1127]],[[1127,1127],\"valid\"],[[1128,1128],\"mapped\",[1129]],[[1129,1129],\"valid\"],[[1130,1130],\"mapped\",[1131]],[[1131,1131],\"valid\"],[[1132,1132],\"mapped\",[1133]],[[1133,1133],\"valid\"],[[1134,1134],\"mapped\",[1135]],[[1135,1135],\"valid\"],[[1136,1136],\"mapped\",[1137]],[[1137,1137],\"valid\"],[[1138,1138],\"mapped\",[1139]],[[1139,1139],\"valid\"],[[1140,1140],\"mapped\",[1141]],[[1141,1141],\"valid\"],[[1142,1142],\"mapped\",[1143]],[[1143,1143],\"valid\"],[[1144,1144],\"mapped\",[1145]],[[1145,1145],\"valid\"],[[1146,1146],\"mapped\",[1147]],[[1147,1147],\"valid\"],[[1148,1148],\"mapped\",[1149]],[[1149,1149],\"valid\"],[[1150,1150],\"mapped\",[1151]],[[1151,1151],\"valid\"],[[1152,1152],\"mapped\",[1153]],[[1153,1153],\"valid\"],[[1154,1154],\"valid\",[],\"NV8\"],[[1155,1158],\"valid\"],[[1159,1159],\"valid\"],[[1160,1161],\"valid\",[],\"NV8\"],[[1162,1162],\"mapped\",[1163]],[[1163,1163],\"valid\"],[[1164,1164],\"mapped\",[1165]],[[1165,1165],\"valid\"],[[1166,1166],\"mapped\",[1167]],[[1167,1167],\"valid\"],[[1168,1168],\"mapped\",[1169]],[[1169,1169],\"valid\"],[[1170,1170],\"mapped\",[1171]],[[1171,1171],\"valid\"],[[1172,1172],\"mapped\",[1173]],[[1173,1173],\"valid\"],[[1174,1174],\"mapped\",[1175]],[[1175,1175],\"valid\"],[[1176,1176],\"mapped\",[1177]],[[1177,1177],\"valid\"],[[1178,1178],\"mapped\",[1179]],[[1179,1179],\"valid\"],[[1180,1180],\"mapped\",[1181]],[[1181,1181],\"valid\"],[[1182,1182],\"mapped\",[1183]],[[1183,1183],\"valid\"],[[1184,1184],\"mapped\",[1185]],[[1185,1185],\"valid\"],[[1186,1186],\"mapped\",[1187]],[[1187,1187],\"valid\"],[[1188,1188],\"mapped\",[1189]],[[1189,1189],\"valid\"],[[1190,1190],\"mapped\",[1191]],[[1191,1191],\"valid\"],[[1192,1192],\"mapped\",[1193]],[[1193,1193],\"valid\"],[[1194,1194],\"mapped\",[1195]],[[1195,1195],\"valid\"],[[1196,1196],\"mapped\",[1197]],[[1197,1197],\"valid\"],[[1198,1198],\"mapped\",[1199]],[[1199,1199],\"valid\"],[[1200,1200],\"mapped\",[1201]],[[1201,1201],\"valid\"],[[1202,1202],\"mapped\",[1203]],[[1203,1203],\"valid\"],[[1204,1204],\"mapped\",[1205]],[[1205,1205],\"valid\"],[[1206,1206],\"mapped\",[1207]],[[1207,1207],\"valid\"],[[1208,1208],\"mapped\",[1209]],[[1209,1209],\"valid\"],[[1210,1210],\"mapped\",[1211]],[[1211,1211],\"valid\"],[[1212,1212],\"mapped\",[1213]],[[1213,1213],\"valid\"],[[1214,1214],\"mapped\",[1215]],[[1215,1215],\"valid\"],[[1216,1216],\"disallowed\"],[[1217,1217],\"mapped\",[1218]],[[1218,1218],\"valid\"],[[1219,1219],\"mapped\",[1220]],[[1220,1220],\"valid\"],[[1221,1221],\"mapped\",[1222]],[[1222,1222],\"valid\"],[[1223,1223],\"mapped\",[1224]],[[1224,1224],\"valid\"],[[1225,1225],\"mapped\",[1226]],[[1226,1226],\"valid\"],[[1227,1227],\"mapped\",[1228]],[[1228,1228],\"valid\"],[[1229,1229],\"mapped\",[1230]],[[1230,1230],\"valid\"],[[1231,1231],\"valid\"],[[1232,1232],\"mapped\",[1233]],[[1233,1233],\"valid\"],[[1234,1234],\"mapped\",[1235]],[[1235,1235],\"valid\"],[[1236,1236],\"mapped\",[1237]],[[1237,1237],\"valid\"],[[1238,1238],\"mapped\",[1239]],[[1239,1239],\"valid\"],[[1240,1240],\"mapped\",[1241]],[[1241,1241],\"valid\"],[[1242,1242],\"mapped\",[1243]],[[1243,1243],\"valid\"],[[1244,1244],\"mapped\",[1245]],[[1245,1245],\"valid\"],[[1246,1246],\"mapped\",[1247]],[[1247,1247],\"valid\"],[[1248,1248],\"mapped\",[1249]],[[1249,1249],\"valid\"],[[1250,1250],\"mapped\",[1251]],[[1251,1251],\"valid\"],[[1252,1252],\"mapped\",[1253]],[[1253,1253],\"valid\"],[[1254,1254],\"mapped\",[1255]],[[1255,1255],\"valid\"],[[1256,1256],\"mapped\",[1257]],[[1257,1257],\"valid\"],[[1258,1258],\"mapped\",[1259]],[[1259,1259],\"valid\"],[[1260,1260],\"mapped\",[1261]],[[1261,1261],\"valid\"],[[1262,1262],\"mapped\",[1263]],[[1263,1263],\"valid\"],[[1264,1264],\"mapped\",[1265]],[[1265,1265],\"valid\"],[[1266,1266],\"mapped\",[1267]],[[1267,1267],\"valid\"],[[1268,1268],\"mapped\",[1269]],[[1269,1269],\"valid\"],[[1270,1270],\"mapped\",[1271]],[[1271,1271],\"valid\"],[[1272,1272],\"mapped\",[1273]],[[1273,1273],\"valid\"],[[1274,1274],\"mapped\",[1275]],[[1275,1275],\"valid\"],[[1276,1276],\"mapped\",[1277]],[[1277,1277],\"valid\"],[[1278,1278],\"mapped\",[1279]],[[1279,1279],\"valid\"],[[1280,1280],\"mapped\",[1281]],[[1281,1281],\"valid\"],[[1282,1282],\"mapped\",[1283]],[[1283,1283],\"valid\"],[[1284,1284],\"mapped\",[1285]],[[1285,1285],\"valid\"],[[1286,1286],\"mapped\",[1287]],[[1287,1287],\"valid\"],[[1288,1288],\"mapped\",[1289]],[[1289,1289],\"valid\"],[[1290,1290],\"mapped\",[1291]],[[1291,1291],\"valid\"],[[1292,1292],\"mapped\",[1293]],[[1293,1293],\"valid\"],[[1294,1294],\"mapped\",[1295]],[[1295,1295],\"valid\"],[[1296,1296],\"mapped\",[1297]],[[1297,1297],\"valid\"],[[1298,1298],\"mapped\",[1299]],[[1299,1299],\"valid\"],[[1300,1300],\"mapped\",[1301]],[[1301,1301],\"valid\"],[[1302,1302],\"mapped\",[1303]],[[1303,1303],\"valid\"],[[1304,1304],\"mapped\",[1305]],[[1305,1305],\"valid\"],[[1306,1306],\"mapped\",[1307]],[[1307,1307],\"valid\"],[[1308,1308],\"mapped\",[1309]],[[1309,1309],\"valid\"],[[1310,1310
47807],\"mapped\",[1311]],[[1311,1311],\"valid\"],[[1312,1312],\"mapped\",[1313]],[[1313,1313],\"valid\"],[[1314,1314],\"mapped\",[1315]],[[1315,1315],\"valid\"],[[1316,1316],\"mapped\",[1317]],[[1317,1317],\"valid\"],[[1318,1318],\"mapped\",[1319]],[[1319,1319],\"valid\"],[[1320,1320],\"mapped\",[1321]],[[1321,1321],\"valid\"],[[1322,1322],\"mapped\",[1323]],[[1323,1323],\"valid\"],[[1324,1324],\"mapped\",[1325]],[[1325,1325],\"valid\"],[[1326,1326],\"mapped\",[1327]],[[1327,1327],\"valid\"],[[1328,1328],\"disallowed\"],[[1329,1329],\"mapped\",[1377]],[[1330,1330],\"mapped\",[1378]],[[1331,1331],\"mapped\",[1379]],[[1332,1332],\"mapped\",[1380]],[[1333,1333],\"mapped\",[1381]],[[1334,1334],\"mapped\",[1382]],[[1335,1335],\"mapped\",[1383]],[[1336,1336],\"mapped\",[1384]],[[1337,1337],\"mapped\",[1385]],[[1338,1338],\"mapped\",[1386]],[[1339,1339],\"mapped\",[1387]],[[1340,1340],\"mapped\",[1388]],[[1341,1341],\"mapped\",[1389]],[[1342,1342],\"mapped\",[1390]],[[1343,1343],\"mapped\",[1391]],[[1344,1344],\"mapped\",[1392]],[[1345,1345],\"mapped\",[1393]],[[1346,1346],\"mapped\",[1394]],[[1347,1347],\"mapped\",[1395]],[[1348,1348],\"mapped\",[1396]],[[1349,1349],\"mapped\",[1397]],[[1350,1350],\"mapped\",[1398]],[[1351,1351],\"mapped\",[1399]],[[1352,1352],\"mapped\",[1400]],[[1353,1353],\"mapped\",[1401]],[[1354,1354],\"mapped\",[1402]],[[1355,1355],\"mapped\",[1403]],[[1356,1356],\"mapped\",[1404]],[[1357,1357],\"mapped\",[1405]],[[1358,1358],\"mapped\",[1406]],[[1359,1359],\"mapped\",[1407]],[[1360,1360],\"mapped\",[1408]],[[1361,1361],\"mapped\",[1409]],[[1362,1362],\"mapped\",[1410]],[[1363,1363],\"mapped\",[1411]],[[1364,1364],\"mapped\",[1412]],[[1365,1365],\"mapped\",[1413]],[[1366,1366],\"mapped\",[1414]],[[1367,1368],\"disallowed\"],[[1369,1369],\"valid\"],[[1370,1375],\"valid\",[],\"NV8\"],[[1376,1376],\"disallowed\"],[[1377,1414],\"valid\"],[[1415,1415],\"mapped\",[1381,1410]],[[1416,1416],\"disallowed\"],[[1417,1417],\"valid\",[],\"NV8\"],[[1418,1418],\"valid\",[],\"NV8\"],[[1419,1420],\"disallowed\"],[[1421,1422],\"valid\",[],\"NV8\"],[[1423,1423],\"valid\",[],\"NV8\"],[[1424,1424],\"disallowed\"],[[1425,1441],\"valid\"],[[1442,1442],\"valid\"],[[1443,1455],\"valid\"],[[1456,1465],\"valid\"],[[1466,1466],\"valid\"],[[1467,1469],\"valid\"],[[1470,1470],\"valid\",[],\"NV8\"],[[1471,1471],\"valid\"],[[1472,1472],\"valid\",[],\"NV8\"],[[1473,1474],\"valid\"],[[1475,1475],\"valid\",[],\"NV8\"],[[1476,1476],\"valid\"],[[1477,1477],\"valid\"],[[1478,1478],\"valid\",[],\"NV8\"],[[1479,1479],\"valid\"],[[1480,1487],\"disallowed\"],[[1488,1514],\"valid\"],[[1515,1519],\"disallowed\"],[[1520,1524],\"valid\"],[[1525,1535],\"disallowed\"],[[1536,1539],\"disallowed\"],[[1540,1540],\"disallowed\"],[[1541,1541],\"disallowed\"],[[1542,1546],\"valid\",[],\"NV8\"],[[1547,1547],\"valid\",[],\"NV8\"],[[1548,1548],\"valid\",[],\"NV8\"],[[1549,1551],\"valid\",[],\"NV8\"],[[1552,1557],\"valid\"],[[1558,1562],\"valid\"],[[1563,1563],\"valid\",[],\"NV8\"],[[1564,1564],\"disallowed\"],[[1565,1565],\"disallowed\"],[[1566,1566],\"valid\",[],\"NV8\"],[[1567,1567],\"valid\",[],\"NV8\"],[[1568,1568],\"valid\"],[[1569,1594],\"valid\"],[[1595,1599],\"valid\"],[[1600,1600],\"valid\",[],\"NV8\"],[[1601,1618],\"valid\"],[[1619,1621],\"valid\"],[[1622,1624],\"valid\"],[[1625,1630],\"valid\"],[[1631,1631],\"valid\"],[[1632,1641],\"valid\"],[[1642,1645],\"valid\",[],\"NV8\"],[[1646,1647],\"valid\"],[[1648,1652],\"valid\"],[[1653,1653],\"mapped\",[1575,1652]],[[1654,1654],\"mapped\",[1608,1652]],[[1655,1655],\"mapped\",[1735,1652]],[[1656,1656],\"mapped\",[1610,1652]],[[1657,1719],\"valid\"],[[1720,1721],\"valid\"],[[1722,1726],\"valid\"],[[1727,1727],\"valid\"],[[1728,1742],\"valid\"],[[1743,1743],\"valid\"],[[1744,1747],\"valid\"],[[1748,1748],\"valid\",[],\"NV8\"],[[1749,1756],\"valid\"],[[1757,1757],\"disallowed\"],[[1758,1758],\"valid\",[],\"NV8\"],[[1759,1768],\"valid\"],[[1769,1769],\"valid\",[],\"NV8\"],[[1770,1773],\"valid\"],[[1774,1775],\"valid\"],[[1776,1785],\"valid\"],[[1786,1790],\"valid\"],[[1791,1791],\"valid\"],[[1792,1805],\"valid\",[],\"NV8\"],[[1806,1806],\"disallowed\"],[[1807,1807],\"disallowed\"],[[1808,1836],\"valid\"],[[1837,1839],\"valid\"],[[1840,1866],\"valid\"],[[1867,1868],\"disallowed\"],[[1869,1871],\"valid\"],[[1872,1901],\"valid\"],[[1902,1919],\"valid\"],[[1920,1968],\"valid\"],[[1969,1969],\"valid\"],[[1970,1983],\"disallowed\"],[[1984,2037],\"valid\"],[[2038,2042],\"valid\",[],\"NV8\"],[[2043,2047],\"disallowed\"],[[2048,2093],\"valid\"],[[2094,2095],\"disallowed\"],[[2096,2110],\"valid\",[],\"NV8\"],[[2111,2111],\"disallowed\"],[[2112,2139],\"valid\"],[[2140,2141],\"disallowed\"],[[2142,2142],\"valid\",[],\"NV8\"],[[2143,2207],\"disallowed\"],[[2208,2208],\"valid\"],[[2209,2209],\"valid\"],[[2210,2220],\"valid\"],[[2221,2226],\"valid\"],[[2227,2228],\"valid\"],[[2229,2274],\"disallowed\"],[[2275,2275],\"valid\"],[[2276,2302],\"valid\"],[[2303,2303],\"valid\"],[[2304,2304],\"valid\"],[[2305,2307],\"valid\"],[[2308,2308],\"valid\"],[[2309,2361],\"valid\"],[[2362,2363],\"valid\"],[[2364,2381],\"valid\"],[[2382,2382],\"valid\"],[[2383,2383],\"valid\"],[[2384,2388],\"valid\"],[[2389,2389],\"valid\"],[[2390,2391],\"valid\"],[[2392,2392],\"mapped\",[2325,2364]],[[2393,2393],\"mapped\",[2326,2364]],[[2394,2394],\"mapped\",[2327,2364]],[[2395,2395],\"mapped\",[2332,2364]],[[2396,2396],\"mapped\",[2337,2364]],[[2397,2397],\"mapped\",[2338,2364]],[[2398,2398],\"mapped\",[2347,2364]],[[2399,2399],\"mapped\",[2351,2364]],[[2400,2403],\"valid\"],[[2404,2405],\"valid\",[],\"NV8\"],[[2406,2415],\"valid\"],[[2416,2416],\"valid\",[],\"NV8\"],[[2417,2418],\"valid\"],[[2419,2423],\"valid\"],[[2424,2424],\"valid\"],[[2425,2426],\"valid\"],[[2427,2428],\"valid\"],[[2429,2429],\"valid\"],[[2430,2431],\"valid\"],[[2432,2432],\"valid\"],[[2433,2435],\"valid\"],[[2436,2436],\"disallowed\"],[[2437,2444],\"valid\"],[[2445,2446],\"disallowed\"],[[2447,2448],\"valid\"],[[2449,2450],\"disallowed\"],[[2451,2472],\"valid\"],[[2473,2473],\"disallowed\"],[[2474,2480],\"valid\"],[[2481,2481],\"disallowed\"],[[2482,2482],\"valid\"],[[2483,2485],\"disallowed\"],[[2486,2489],\"valid\"],[[2490,2491],\"disallowed\"],[[2492,2492],\"valid\"],[[2493,2493],\"valid\"],[[2494,2500],\"valid\"],[[2501,2502],\"disallowed\"],[[2503,2504],\"valid\"],[[2505,2506],\"disallowed\"],[[2507,2509],\"valid\"],[[2510,2510],\"valid\"],[[2511,2518],\"disallowed\"],[[2519,2519],\"valid\"],[[2520,2523],\"disallowed\"],[[2524,2524],\"mapped\",[2465,2492]],[[2525,2525],\"mapped\",[2466,2492]],[[2526,2526],\"disallowed\"],[[2527,2527],\"mapped\",[2479,2492]],[[2528,2531],\"valid\"],[[2532,2533],\"disallowed\"],[[2534,2545],\"valid\"],[[2546,2554],\"valid\",[],\"NV8\"],[[25
4780755,2555],\"valid\",[],\"NV8\"],[[2556,2560],\"disallowed\"],[[2561,2561],\"valid\"],[[2562,2562],\"valid\"],[[2563,2563],\"valid\"],[[2564,2564],\"disallowed\"],[[2565,2570],\"valid\"],[[2571,2574],\"disallowed\"],[[2575,2576],\"valid\"],[[2577,2578],\"disallowed\"],[[2579,2600],\"valid\"],[[2601,2601],\"disallowed\"],[[2602,2608],\"valid\"],[[2609,2609],\"disallowed\"],[[2610,2610],\"valid\"],[[2611,2611],\"mapped\",[2610,2620]],[[2612,2612],\"disallowed\"],[[2613,2613],\"valid\"],[[2614,2614],\"mapped\",[2616,2620]],[[2615,2615],\"disallowed\"],[[2616,2617],\"valid\"],[[2618,2619],\"disallowed\"],[[2620,2620],\"valid\"],[[2621,2621],\"disallowed\"],[[2622,2626],\"valid\"],[[2627,2630],\"disallowed\"],[[2631,2632],\"valid\"],[[2633,2634],\"disallowed\"],[[2635,2637],\"valid\"],[[2638,2640],\"disallowed\"],[[2641,2641],\"valid\"],[[2642,2648],\"disallowed\"],[[2649,2649],\"mapped\",[2582,2620]],[[2650,2650],\"mapped\",[2583,2620]],[[2651,2651],\"mapped\",[2588,2620]],[[2652,2652],\"valid\"],[[2653,2653],\"disallowed\"],[[2654,2654],\"mapped\",[2603,2620]],[[2655,2661],\"disallowed\"],[[2662,2676],\"valid\"],[[2677,2677],\"valid\"],[[2678,2688],\"disallowed\"],[[2689,2691],\"valid\"],[[2692,2692],\"disallowed\"],[[2693,2699],\"valid\"],[[2700,2700],\"valid\"],[[2701,2701],\"valid\"],[[2702,2702],\"disallowed\"],[[2703,2705],\"valid\"],[[2706,2706],\"disallowed\"],[[2707,2728],\"valid\"],[[2729,2729],\"disallowed\"],[[2730,2736],\"valid\"],[[2737,2737],\"disallowed\"],[[2738,2739],\"valid\"],[[2740,2740],\"disallowed\"],[[2741,2745],\"valid\"],[[2746,2747],\"disallowed\"],[[2748,2757],\"valid\"],[[2758,2758],\"disallowed\"],[[2759,2761],\"valid\"],[[2762,2762],\"disallowed\"],[[2763,2765],\"valid\"],[[2766,2767],\"disallowed\"],[[2768,2768],\"valid\"],[[2769,2783],\"disallowed\"],[[2784,2784],\"valid\"],[[2785,2787],\"valid\"],[[2788,2789],\"disallowed\"],[[2790,2799],\"valid\"],[[2800,2800],\"valid\",[],\"NV8\"],[[2801,2801],\"valid\",[],\"NV8\"],[[2802,2808],\"disallowed\"],[[2809,2809],\"valid\"],[[2810,2816],\"disallowed\"],[[2817,2819],\"valid\"],[[2820,2820],\"disallowed\"],[[2821,2828],\"valid\"],[[2829,2830],\"disallowed\"],[[2831,2832],\"valid\"],[[2833,2834],\"disallowed\"],[[2835,2856],\"valid\"],[[2857,2857],\"disallowed\"],[[2858,2864],\"valid\"],[[2865,2865],\"disallowed\"],[[2866,2867],\"valid\"],[[2868,2868],\"disallowed\"],[[2869,2869],\"valid\"],[[2870,2873],\"valid\"],[[2874,2875],\"disallowed\"],[[2876,2883],\"valid\"],[[2884,2884],\"valid\"],[[2885,2886],\"disallowed\"],[[2887,2888],\"valid\"],[[2889,2890],\"disallowed\"],[[2891,2893],\"valid\"],[[2894,2901],\"disallowed\"],[[2902,2903],\"valid\"],[[2904,2907],\"disallowed\"],[[2908,2908],\"mapped\",[2849,2876]],[[2909,2909],\"mapped\",[2850,2876]],[[2910,2910],\"disallowed\"],[[2911,2913],\"valid\"],[[2914,2915],\"valid\"],[[2916,2917],\"disallowed\"],[[2918,2927],\"valid\"],[[2928,2928],\"valid\",[],\"NV8\"],[[2929,2929],\"valid\"],[[2930,2935],\"valid\",[],\"NV8\"],[[2936,2945],\"disallowed\"],[[2946,2947],\"valid\"],[[2948,2948],\"disallowed\"],[[2949,2954],\"valid\"],[[2955,2957],\"disallowed\"],[[2958,2960],\"valid\"],[[2961,2961],\"disallowed\"],[[2962,2965],\"valid\"],[[2966,2968],\"disallowed\"],[[2969,2970],\"valid\"],[[2971,2971],\"disallowed\"],[[2972,2972],\"valid\"],[[2973,2973],\"disallowed\"],[[2974,2975],\"valid\"],[[2976,2978],\"disallowed\"],[[2979,2980],\"valid\"],[[2981,2983],\"disallowed\"],[[2984,2986],\"valid\"],[[2987,2989],\"disallowed\"],[[2990,2997],\"valid\"],[[2998,2998],\"valid\"],[[2999,3001],\"valid\"],[[3002,3005],\"disallowed\"],[[3006,3010],\"valid\"],[[3011,3013],\"disallowed\"],[[3014,3016],\"valid\"],[[3017,3017],\"disallowed\"],[[3018,3021],\"valid\"],[[3022,3023],\"disallowed\"],[[3024,3024],\"valid\"],[[3025,3030],\"disallowed\"],[[3031,3031],\"valid\"],[[3032,3045],\"disallowed\"],[[3046,3046],\"valid\"],[[3047,3055],\"valid\"],[[3056,3058],\"valid\",[],\"NV8\"],[[3059,3066],\"valid\",[],\"NV8\"],[[3067,3071],\"disallowed\"],[[3072,3072],\"valid\"],[[3073,3075],\"valid\"],[[3076,3076],\"disallowed\"],[[3077,3084],\"valid\"],[[3085,3085],\"disallowed\"],[[3086,3088],\"valid\"],[[3089,3089],\"disallowed\"],[[3090,3112],\"valid\"],[[3113,3113],\"disallowed\"],[[3114,3123],\"valid\"],[[3124,3124],\"valid\"],[[3125,3129],\"valid\"],[[3130,3132],\"disallowed\"],[[3133,3133],\"valid\"],[[3134,3140],\"valid\"],[[3141,3141],\"disallowed\"],[[3142,3144],\"valid\"],[[3145,3145],\"disallowed\"],[[3146,3149],\"valid\"],[[3150,3156],\"disallowed\"],[[3157,3158],\"valid\"],[[3159,3159],\"disallowed\"],[[3160,3161],\"valid\"],[[3162,3162],\"valid\"],[[3163,3167],\"disallowed\"],[[3168,3169],\"valid\"],[[3170,3171],\"valid\"],[[3172,3173],\"disallowed\"],[[3174,3183],\"valid\"],[[3184,3191],\"disallowed\"],[[3192,3199],\"valid\",[],\"NV8\"],[[3200,3200],\"disallowed\"],[[3201,3201],\"valid\"],[[3202,3203],\"valid\"],[[3204,3204],\"disallowed\"],[[3205,3212],\"valid\"],[[3213,3213],\"disallowed\"],[[3214,3216],\"valid\"],[[3217,3217],\"disallowed\"],[[3218,3240],\"valid\"],[[3241,3241],\"disallowed\"],[[3242,3251],\"valid\"],[[3252,3252],\"disallowed\"],[[3253,3257],\"valid\"],[[3258,3259],\"disallowed\"],[[3260,3261],\"valid\"],[[3262,3268],\"valid\"],[[3269,3269],\"disallowed\"],[[3270,3272],\"valid\"],[[3273,3273],\"disallowed\"],[[3274,3277],\"valid\"],[[3278,3284],\"disallowed\"],[[3285,3286],\"valid\"],[[3287,3293],\"disallowed\"],[[3294,3294],\"valid\"],[[3295,3295],\"disallowed\"],[[3296,3297],\"valid\"],[[3298,3299],\"valid\"],[[3300,3301],\"disallowed\"],[[3302,3311],\"valid\"],[[3312,3312],\"disallowed\"],[[3313,3314],\"valid\"],[[3315,3328],\"disallowed\"],[[3329,3329],\"valid\"],[[3330,3331],\"valid\"],[[3332,3332],\"disallowed\"],[[3333,3340],\"valid\"],[[3341,3341],\"disallowed\"],[[3342,3344],\"valid\"],[[3345,3345],\"disallowed\"],[[3346,3368],\"valid\"],[[3369,3369],\"valid\"],[[3370,3385],\"valid\"],[[3386,3386],\"valid\"],[[3387,3388],\"disallowed\"],[[3389,3389],\"valid\"],[[3390,3395],\"valid\"],[[339
478076,3396],\"valid\"],[[3397,3397],\"disallowed\"],[[3398,3400],\"valid\"],[[3401,3401],\"disallowed\"],[[3402,3405],\"valid\"],[[3406,3406],\"valid\"],[[3407,3414],\"disallowed\"],[[3415,3415],\"valid\"],[[3416,3422],\"disallowed\"],[[3423,3423],\"valid\"],[[3424,3425],\"valid\"],[[3426,3427],\"valid\"],[[3428,3429],\"disallowed\"],[[3430,3439],\"valid\"],[[3440,3445],\"valid\",[],\"NV8\"],[[3446,3448],\"disallowed\"],[[3449,3449],\"valid\",[],\"NV8\"],[[3450,3455],\"valid\"],[[3456,3457],\"disallowed\"],[[3458,3459],\"valid\"],[[3460,3460],\"disallowed\"],[[3461,3478],\"valid\"],[[3479,3481],\"disallowed\"],[[3482,3505],\"valid\"],[[3506,3506],\"disallowed\"],[[3507,3515],\"valid\"],[[3516,3516],\"disallowed\"],[[3517,3517],\"valid\"],[[3518,3519],\"disallowed\"],[[3520,3526],\"valid\"],[[3527,3529],\"disallowed\"],[[3530,3530],\"valid\"],[[3531,3534],\"disallowed\"],[[3535,3540],\"valid\"],[[3541,3541],\"disallowed\"],[[3542,3542],\"valid\"],[[3543,3543],\"disallowed\"],[[3544,3551],\"valid\"],[[3552,3557],\"disallowed\"],[[3558,3567],\"valid\"],[[3568,3569],\"disallowed\"],[[3570,3571],\"valid\"],[[3572,3572],\"valid\",[],\"NV8\"],[[3573,3584],\"disallowed\"],[[3585,3634],\"valid\"],[[3635,3635],\"mapped\",[3661,3634]],[[3636,3642],\"valid\"],[[3643,3646],\"disallowed\"],[[3647,3647],\"valid\",[],\"NV8\"],[[3648,3662],\"valid\"],[[3663,3663],\"valid\",[],\"NV8\"],[[3664,3673],\"valid\"],[[3674,3675],\"valid\",[],\"NV8\"],[[3676,3712],\"disallowed\"],[[3713,3714],\"valid\"],[[3715,3715],\"disallowed\"],[[3716,3716],\"valid\"],[[3717,3718],\"disallowed\"],[[3719,3720],\"valid\"],[[3721,3721],\"disallowed\"],[[3722,3722],\"valid\"],[[3723,3724],\"disallowed\"],[[3725,3725],\"valid\"],[[3726,3731],\"disallowed\"],[[3732,3735],\"valid\"],[[3736,3736],\"disallowed\"],[[3737,3743],\"valid\"],[[3744,3744],\"disallowed\"],[[3745,3747],\"valid\"],[[3748,3748],\"disallowed\"],[[3749,3749],\"valid\"],[[3750,3750],\"disallowed\"],[[3751,3751],\"valid\"],[[3752,3753],\"disallowed\"],[[3754,3755],\"valid\"],[[3756,3756],\"disallowed\"],[[3757,3762],\"valid\"],[[3763,3763],\"mapped\",[3789,3762]],[[3764,3769],\"valid\"],[[3770,3770],\"disallowed\"],[[3771,3773],\"valid\"],[[3774,3775],\"disallowed\"],[[3776,3780],\"valid\"],[[3781,3781],\"disallowed\"],[[3782,3782],\"valid\"],[[3783,3783],\"disallowed\"],[[3784,3789],\"valid\"],[[3790,3791],\"disallowed\"],[[3792,3801],\"valid\"],[[3802,3803],\"disallowed\"],[[3804,3804],\"mapped\",[3755,3737]],[[3805,3805],\"mapped\",[3755,3745]],[[3806,3807],\"valid\"],[[3808,3839],\"disallowed\"],[[3840,3840],\"valid\"],[[3841,3850],\"valid\",[],\"NV8\"],[[3851,3851],\"valid\"],[[3852,3852],\"mapped\",[3851]],[[3853,3863],\"valid\",[],\"NV8\"],[[3864,3865],\"valid\"],[[3866,3871],\"valid\",[],\"NV8\"],[[3872,3881],\"valid\"],[[3882,3892],\"valid\",[],\"NV8\"],[[3893,3893],\"valid\"],[[3894,3894],\"valid\",[],\"NV8\"],[[3895,3895],\"valid\"],[[3896,3896],\"valid\",[],\"NV8\"],[[3897,3897],\"valid\"],[[3898,3901],\"valid\",[],\"NV8\"],[[3902,3906],\"valid\"],[[3907,3907],\"mapped\",[3906,4023]],[[3908,3911],\"valid\"],[[3912,3912],\"disallowed\"],[[3913,3916],\"valid\"],[[3917,3917],\"mapped\",[3916,4023]],[[3918,3921],\"valid\"],[[3922,3922],\"mapped\",[3921,4023]],[[3923,3926],\"valid\"],[[3927,3927],\"mapped\",[3926,4023]],[[3928,3931],\"valid\"],[[3932,3932],\"mapped\",[3931,4023]],[[3933,3944],\"valid\"],[[3945,3945],\"mapped\",[3904,4021]],[[3946,3946],\"valid\"],[[3947,3948],\"valid\"],[[3949,3952],\"disallowed\"],[[3953,3954],\"valid\"],[[3955,3955],\"mapped\",[3953,3954]],[[3956,3956],\"valid\"],[[3957,3957],\"mapped\",[3953,3956]],[[3958,3958],\"mapped\",[4018,3968]],[[3959,3959],\"mapped\",[4018,3953,3968]],[[3960,3960],\"mapped\",[4019,3968]],[[3961,3961],\"mapped\",[4019,3953,3968]],[[3962,3968],\"valid\"],[[3969,3969],\"mapped\",[3953,3968]],[[3970,3972],\"valid\"],[[3973,3973],\"valid\",[],\"NV8\"],[[3974,3979],\"valid\"],[[3980,3983],\"valid\"],[[3984,3986],\"valid\"],[[3987,3987],\"mapped\",[3986,4023]],[[3988,3989],\"valid\"],[[3990,3990],\"valid\"],[[3991,3991],\"valid\"],[[3992,3992],\"disallowed\"],[[3993,3996],\"valid\"],[[3997,3997],\"mapped\",[3996,4023]],[[3998,4001],\"valid\"],[[4002,4002],\"mapped\",[4001,4023]],[[4003,4006],\"valid\"],[[4007,4007],\"mapped\",[4006,4023]],[[4008,4011],\"valid\"],[[4012,4012],\"mapped\",[4011,4023]],[[4013,4013],\"valid\"],[[4014,4016],\"valid\"],[[4017,4023],\"valid\"],[[4024,4024],\"valid\"],[[4025,4025],\"mapped\",[3984,4021]],[[4026,4028],\"valid\"],[[4029,4029],\"disallowed\"],[[4030,4037],\"valid\",[],\"NV8\"],[[4038,4038],\"valid\"],[[4039,4044],\"valid\",[],\"NV8\"],[[4045,4045],\"disallowed\"],[[4046,4046],\"valid\",[],\"NV8\"],[[4047,4047],\"valid\",[],\"NV8\"],[[4048,4049],\"valid\",[],\"NV8\"],[[4050,4052],\"valid\",[],\"NV8\"],[[4053,4056],\"valid\",[],\"NV8\"],[[4057,4058],\"valid\",[],\"NV8\"],[[4059,4095],\"disallowed\"],[[4096,4129],\"valid\"],[[4130,4130],\"valid\"],[[4131,4135],\"valid\"],[[4136,4136],\"valid\"],[[4137,4138],\"valid\"],[[4139,4139],\"valid\"],[[4140,4146],\"valid\"],[[4147,4149],\"valid\"],[[4150,4153],\"valid\"],[[4154,4159],\"valid\"],[[4160,4169],\"valid\"],[[4170,4175],\"valid\",[],\"NV8\"],[[4176,4185],\"valid\"],[[4186,4249],\"valid\"],[[4250,4253],\"valid\"],[[4254,4255],\"valid\",[],\"NV8\"],[[4256,4293],\"disallowed\"],[[4294,4294],\"disallowed\"],[[4295,4295],\"mapped\",[11559]],[[4296,4300],\"disallowed\"],[[4301,4301],\"mapped\",[11565]],[[4302,4303],\"disallowed\"],[[4304,4342],\"valid\"],[[4343,4344],\"valid\"],[[4345,4346],\"valid\"],[[4347,4347],\"valid\",[],\"NV8\"],[[4348,4348],\"mapped\",[4316]],[[4349,4351],\"valid\"],[[4352,4441],\"valid\",[],\"NV8\"],[[4442,4446],\"valid\",[],\"NV8\"],[[4447,4448],\"disallowed\"],[[4449,4514],\"valid\",[],\"NV8\"],[[4515,4519],\"valid\",[],\"NV8\"],[[4520,4601],\"valid\",[],\"NV8\"],[[4602,4607],\"valid\",[],\"NV8\"],[[4608,4614],\"valid\"],[[4615,4615],\"valid\"],[[4616,4678],\"valid\"],[[4679,4679],\"valid\"],[[4680,4680],\"valid\"],[[4681,4681],\"disallowed\"],[[4682,4685],\"valid\"],[[4686,4687],\"disallowed\"],[[4688,4694],\"valid\"],[[4695,4695],\"disallowed\"],[[4696,4696],\"valid\"],[[4697,4697],\"disallowed\"],[[4698,4701],\"valid\"],[[4702,4703],\"disallowed\"],[[4704,4742],\"valid\"],[[4743,4743],\"valid\"],[[4744,4744],\"valid\"],[[4745,4745],\"disallowed\"],[[4746,4749],\"valid\"],[[4750,4751],\"disallowed\"],[[4752,4782],\"valid\"],[[4783,4783],\"valid\"],[[4784,4784],\"valid\"],[[4785,4785],\"disallowed\"],[[4786,4789],\"valid\"],[[4790,4791],\"disallowed\"],[[4792,4798],\"valid\"],[[4799,4799],\"disallowed\"],[[4800,4800],\"valid\"],[[4801,4801],\"disallowed\"],[[4802,4805],\"valid\"],[[4806,4807],\"disallowed\"],[[4808,4814],\"valid\"],[[4815,48
4780715],\"valid\"],[[4816,4822],\"valid\"],[[4823,4823],\"disallowed\"],[[4824,4846],\"valid\"],[[4847,4847],\"valid\"],[[4848,4878],\"valid\"],[[4879,4879],\"valid\"],[[4880,4880],\"valid\"],[[4881,4881],\"disallowed\"],[[4882,4885],\"valid\"],[[4886,4887],\"disallowed\"],[[4888,4894],\"valid\"],[[4895,4895],\"valid\"],[[4896,4934],\"valid\"],[[4935,4935],\"valid\"],[[4936,4954],\"valid\"],[[4955,4956],\"disallowed\"],[[4957,4958],\"valid\"],[[4959,4959],\"valid\"],[[4960,4960],\"valid\",[],\"NV8\"],[[4961,4988],\"valid\",[],\"NV8\"],[[4989,4991],\"disallowed\"],[[4992,5007],\"valid\"],[[5008,5017],\"valid\",[],\"NV8\"],[[5018,5023],\"disallowed\"],[[5024,5108],\"valid\"],[[5109,5109],\"valid\"],[[5110,5111],\"disallowed\"],[[5112,5112],\"mapped\",[5104]],[[5113,5113],\"mapped\",[5105]],[[5114,5114],\"mapped\",[5106]],[[5115,5115],\"mapped\",[5107]],[[5116,5116],\"mapped\",[5108]],[[5117,5117],\"mapped\",[5109]],[[5118,5119],\"disallowed\"],[[5120,5120],\"valid\",[],\"NV8\"],[[5121,5740],\"valid\"],[[5741,5742],\"valid\",[],\"NV8\"],[[5743,5750],\"valid\"],[[5751,5759],\"valid\"],[[5760,5760],\"disallowed\"],[[5761,5786],\"valid\"],[[5787,5788],\"valid\",[],\"NV8\"],[[5789,5791],\"disallowed\"],[[5792,5866],\"valid\"],[[5867,5872],\"valid\",[],\"NV8\"],[[5873,5880],\"valid\"],[[5881,5887],\"disallowed\"],[[5888,5900],\"valid\"],[[5901,5901],\"disallowed\"],[[5902,5908],\"valid\"],[[5909,5919],\"disallowed\"],[[5920,5940],\"valid\"],[[5941,5942],\"valid\",[],\"NV8\"],[[5943,5951],\"disallowed\"],[[5952,5971],\"valid\"],[[5972,5983],\"disallowed\"],[[5984,5996],\"valid\"],[[5997,5997],\"disallowed\"],[[5998,6000],\"valid\"],[[6001,6001],\"disallowed\"],[[6002,6003],\"valid\"],[[6004,6015],\"disallowed\"],[[6016,6067],\"valid\"],[[6068,6069],\"disallowed\"],[[6070,6099],\"valid\"],[[6100,6102],\"valid\",[],\"NV8\"],[[6103,6103],\"valid\"],[[6104,6107],\"valid\",[],\"NV8\"],[[6108,6108],\"valid\"],[[6109,6109],\"valid\"],[[6110,6111],\"disallowed\"],[[6112,6121],\"valid\"],[[6122,6127],\"disallowed\"],[[6128,6137],\"valid\",[],\"NV8\"],[[6138,6143],\"disallowed\"],[[6144,6149],\"valid\",[],\"NV8\"],[[6150,6150],\"disallowed\"],[[6151,6154],\"valid\",[],\"NV8\"],[[6155,6157],\"ignored\"],[[6158,6158],\"disallowed\"],[[6159,6159],\"disallowed\"],[[6160,6169],\"valid\"],[[6170,6175],\"disallowed\"],[[6176,6263],\"valid\"],[[6264,6271],\"disallowed\"],[[6272,6313],\"valid\"],[[6314,6314],\"valid\"],[[6315,6319],\"disallowed\"],[[6320,6389],\"valid\"],[[6390,6399],\"disallowed\"],[[6400,6428],\"valid\"],[[6429,6430],\"valid\"],[[6431,6431],\"disallowed\"],[[6432,6443],\"valid\"],[[6444,6447],\"disallowed\"],[[6448,6459],\"valid\"],[[6460,6463],\"disallowed\"],[[6464,6464],\"valid\",[],\"NV8\"],[[6465,6467],\"disallowed\"],[[6468,6469],\"valid\",[],\"NV8\"],[[6470,6509],\"valid\"],[[6510,6511],\"disallowed\"],[[6512,6516],\"valid\"],[[6517,6527],\"disallowed\"],[[6528,6569],\"valid\"],[[6570,6571],\"valid\"],[[6572,6575],\"disallowed\"],[[6576,6601],\"valid\"],[[6602,6607],\"disallowed\"],[[6608,6617],\"valid\"],[[6618,6618],\"valid\",[],\"XV8\"],[[6619,6621],\"disallowed\"],[[6622,6623],\"valid\",[],\"NV8\"],[[6624,6655],\"valid\",[],\"NV8\"],[[6656,6683],\"valid\"],[[6684,6685],\"disallowed\"],[[6686,6687],\"valid\",[],\"NV8\"],[[6688,6750],\"valid\"],[[6751,6751],\"disallowed\"],[[6752,6780],\"valid\"],[[6781,6782],\"disallowed\"],[[6783,6793],\"valid\"],[[6794,6799],\"disallowed\"],[[6800,6809],\"valid\"],[[6810,6815],\"disallowed\"],[[6816,6822],\"valid\",[],\"NV8\"],[[6823,6823],\"valid\"],[[6824,6829],\"valid\",[],\"NV8\"],[[6830,6831],\"disallowed\"],[[6832,6845],\"valid\"],[[6846,6846],\"valid\",[],\"NV8\"],[[6847,6911],\"disallowed\"],[[6912,6987],\"valid\"],[[6988,6991],\"disallowed\"],[[6992,7001],\"valid\"],[[7002,7018],\"valid\",[],\"NV8\"],[[7019,7027],\"valid\"],[[7028,7036],\"valid\",[],\"NV8\"],[[7037,7039],\"disallowed\"],[[7040,7082],\"valid\"],[[7083,7085],\"valid\"],[[7086,7097],\"valid\"],[[7098,7103],\"valid\"],[[7104,7155],\"valid\"],[[7156,7163],\"disallowed\"],[[7164,7167],\"valid\",[],\"NV8\"],[[7168,7223],\"valid\"],[[7224,7226],\"disallowed\"],[[7227,7231],\"valid\",[],\"NV8\"],[[7232,7241],\"valid\"],[[7242,7244],\"disallowed\"],[[7245,7293],\"valid\"],[[7294,7295],\"valid\",[],\"NV8\"],[[7296,7359],\"disallowed\"],[[7360,7367],\"valid\",[],\"NV8\"],[[7368,7375],\"disallowed\"],[[7376,7378],\"valid\"],[[7379,7379],\"valid\",[],\"NV8\"],[[7380,7410],\"valid\"],[[7411,7414],\"valid\"],[[7415,7415],\"disallowed\"],[[7416,7417],\"valid\"],[[7418,7423],\"disallowed\"],[[7424,7467],\"valid\"],[[7468,7468],\"mapped\",[97]],[[7469,7469],\"mapped\",[230]],[[7470,7470],\"mapped\",[98]],[[7471,7471],\"valid\"],[[7472,7472],\"mapped\",[100]],[[7473,7473],\"mapped\",[101]],[[7474,7474],\"mapped\",[477]],[[7475,7475],\"mapped\",[103]],[[7476,7476],\"mapped\",[104]],[[7477,7477],\"mapped\",[105]],[[7478,7478],\"mapped\",[106]],[[7479,7479],\"mapped\",[107]],[[7480,7480],\"mapped\",[108]],[[7481,7481],\"mapped\",[109]],[[7482,7482],\"mapped\",[110]],[[7483,7483],\"valid\"],[[7484,7484],\"mapped\",[111]],[[7485,7485],\"mapped\",[547]],[[7486,7486],\"mapped\",[112]],[[7487,7487],\"mapped\",[114]],[[7488,7488],\"mapped\",[116]],[[7489,7489],\"mapped\",[117]],[[7490,7490],\"mapped\",[119]],[[7491,7491],\"mapped\",[97]],[[7492,7492],\"mapped\",[592]],[[7493,7493],\"mapped\",[593]],[[7494,7494],\"mapped\",[7426]],[[7495,7495],\"mapped\",[98]],[[7496,7496],\"mapped\",[100]],[[7497,7497],\"mapped\",[101]],[[7498,7498],\"mapped\",[601]],[[7499,7499],\"mapped\",[603]],[[7500,7500],\"mapped\",[604]],[[7501,7501],\"mapped\",[103]],[[7502,7502],\"valid\"],[[7503,7503],\"mapped\",[107]],[[7504,7504],\"mapped\",[109]],[[7505,7505],\"mapped\",[331]],[[7506,7506],\"mapped\",[111]],[[7507,7507],\"mapped\",[596]],[[7508,7508],\"mapped\",[7446]],[[7509,7
47807509],\"mapped\",[7447]],[[7510,7510],\"mapped\",[112]],[[7511,7511],\"mapped\",[116]],[[7512,7512],\"mapped\",[117]],[[7513,7513],\"mapped\",[7453]],[[7514,7514],\"mapped\",[623]],[[7515,7515],\"mapped\",[118]],[[7516,7516],\"mapped\",[7461]],[[7517,7517],\"mapped\",[946]],[[7518,7518],\"mapped\",[947]],[[7519,7519],\"mapped\",[948]],[[7520,7520],\"mapped\",[966]],[[7521,7521],\"mapped\",[967]],[[7522,7522],\"mapped\",[105]],[[7523,7523],\"mapped\",[114]],[[7524,7524],\"mapped\",[117]],[[7525,7525],\"mapped\",[118]],[[7526,7526],\"mapped\",[946]],[[7527,7527],\"mapped\",[947]],[[7528,7528],\"mapped\",[961]],[[7529,7529],\"mapped\",[966]],[[7530,7530],\"mapped\",[967]],[[7531,7531],\"valid\"],[[7532,7543],\"valid\"],[[7544,7544],\"mapped\",[1085]],[[7545,7578],\"valid\"],[[7579,7579],\"mapped\",[594]],[[7580,7580],\"mapped\",[99]],[[7581,7581],\"mapped\",[597]],[[7582,7582],\"mapped\",[240]],[[7583,7583],\"mapped\",[604]],[[7584,7584],\"mapped\",[102]],[[7585,7585],\"mapped\",[607]],[[7586,7586],\"mapped\",[609]],[[7587,7587],\"mapped\",[613]],[[7588,7588],\"mapped\",[616]],[[7589,7589],\"mapped\",[617]],[[7590,7590],\"mapped\",[618]],[[7591,7591],\"mapped\",[7547]],[[7592,7592],\"mapped\",[669]],[[7593,7593],\"mapped\",[621]],[[7594,7594],\"mapped\",[7557]],[[7595,7595],\"mapped\",[671]],[[7596,7596],\"mapped\",[625]],[[7597,7597],\"mapped\",[624]],[[7598,7598],\"mapped\",[626]],[[7599,7599],\"mapped\",[627]],[[7600,7600],\"mapped\",[628]],[[7601,7601],\"mapped\",[629]],[[7602,7602],\"mapped\",[632]],[[7603,7603],\"mapped\",[642]],[[7604,7604],\"mapped\",[643]],[[7605,7605],\"mapped\",[427]],[[7606,7606],\"mapped\",[649]],[[7607,7607],\"mapped\",[650]],[[7608,7608],\"mapped\",[7452]],[[7609,7609],\"mapped\",[651]],[[7610,7610],\"mapped\",[652]],[[7611,7611],\"mapped\",[122]],[[7612,7612],\"mapped\",[656]],[[7613,7613],\"mapped\",[657]],[[7614,7614],\"mapped\",[658]],[[7615,7615],\"mapped\",[952]],[[7616,7619],\"valid\"],[[7620,7626],\"valid\"],[[7627,7654],\"valid\"],[[7655,7669],\"valid\"],[[7670,7675],\"disallowed\"],[[7676,7676],\"valid\"],[[7677,7677],\"valid\"],[[7678,7679],\"valid\"],[[7680,7680],\"mapped\",[7681]],[[7681,7681],\"valid\"],[[7682,7682],\"mapped\",[7683]],[[7683,7683],\"valid\"],[[7684,7684],\"mapped\",[7685]],[[7685,7685],\"valid\"],[[7686,7686],\"mapped\",[7687]],[[7687,7687],\"valid\"],[[7688,7688],\"mapped\",[7689]],[[7689,7689],\"valid\"],[[7690,7690],\"mapped\",[7691]],[[7691,7691],\"valid\"],[[7692,7692],\"mapped\",[7693]],[[7693,7693],\"valid\"],[[7694,7694],\"mapped\",[7695]],[[7695,7695],\"valid\"],[[7696,7696],\"mapped\",[7697]],[[7697,7697],\"valid\"],[[7698,7698],\"mapped\",[7699]],[[7699,7699],\"valid\"],[[7700,7700],\"mapped\",[7701]],[[7701,7701],\"valid\"],[[7702,7702],\"mapped\",[7703]],[[7703,7703],\"valid\"],[[7704,7704],\"mapped\",[7705]],[[7705,7705],\"valid\"],[[7706,7706],\"mapped\",[7707]],[[7707,7707],\"valid\"],[[7708,7708],\"mapped\",[7709]],[[7709,7709],\"valid\"],[[7710,7710],\"mapped\",[7711]],[[7711,7711],\"valid\"],[[7712,7712],\"mapped\",[7713]],[[7713,7713],\"valid\"],[[7714,7714],\"mapped\",[7715]],[[7715,7715],\"valid\"],[[7716,7716],\"mapped\",[7717]],[[7717,7717],\"valid\"],[[7718,7718],\"mapped\",[7719]],[[7719,7719],\"valid\"],[[7720,7720],\"mapped\",[7721]],[[7721,7721],\"valid\"],[[7722,7722],\"mapped\",[7723]],[[7723,7723],\"valid\"],[[7724,7724],\"mapped\",[7725]],[[7725,7725],\"valid\"],[[7726,7726],\"mapped\",[7727]],[[7727,7727],\"valid\"],[[7728,7728],\"mapped\",[7729]],[[7729,7729],\"valid\"],[[7730,7730],\"mapped\",[7731]],[[7731,7
47807731],\"valid\"],[[7732,7732],\"mapped\",[7733]],[[7733,7733],\"valid\"],[[7734,7734],\"mapped\",[7735]],[[7735,7735],\"valid\"],[[7736,7736],\"mapped\",[7737]],[[7737,7737],\"valid\"],[[7738,7738],\"mapped\",[7739]],[[7739,7739],\"valid\"],[[7740,7740],\"mapped\",[7741]],[[7741,7741],\"valid\"],[[7742,7742],\"mapped\",[7743]],[[7743,7743],\"valid\"],[[7744,7744],\"mapped\",[7745]],[[7745,7745],\"valid\"],[[7746,7746],\"mapped\",[7747]],[[7747,7747],\"valid\"],[[7748,7748],\"mapped\",[7749]],[[7749,7749],\"valid\"],[[7750,7750],\"mapped\",[7751]],[[7751,7751],\"valid\"],[[7752,7752],\"mapped\",[7753]],[[7753,7753],\"valid\"],[[7754,7754],\"mapped\",[7755]],[[7755,7755],\"valid\"],[[7756,7756],\"mapped\",[7757]],[[7757,7757],\"valid\"],[[7758,7758],\"mapped\",[7759]],[[7759,7759],\"valid\"],[[7760,7760],\"mapped\",[7761]],[[7761,7761],\"valid\"],[[7762,7762],\"mapped\",[7763]],[[7763,7763],\"valid\"],[[7764,7764],\"mapped\",[7765]],[[7765,7765],\"valid\"],[[7766,7766],\"mapped\",[7767]],[[7767,7767],\"valid\"],[[7768,7768],\"mapped\",[7769]],[[7769,7769],\"valid\"],[[7770,7770],\"mapped\",[7771]],[[7771,7771],\"valid\"],[[7772,7772],\"mapped\",[7773]],[[7773,7773],\"valid\"],[[7774,7774],\"mapped\",[7775]],[[7775,7775],\"valid\"],[[7776,7776],\"mapped\",[7777]],[[7777,7777],\"valid\"],[[7778,7778],\"mapped\",[7779]],[[7779,7779],\"valid\"],[[7780,7780],\"mapped\",[7781]],[[7781,7781],\"valid\"],[[7782,7782],\"mapped\",[7783]],[[7783,7783],\"valid\"],[[7784,7784],\"mapped\",[7785]],[[7785,7785],\"valid\"],[[7786,7786],\"mapped\",[7787]],[[7787,7787],\"valid\"],[[7788,7788],\"mapped\",[7789]],[[7789,7789],\"valid\"],[[7790,7790],\"mapped\",[7791]],[[7791,7791],\"valid\"],[[7792,7792],\"mapped\",[7793]],[[7793,7793],\"valid\"],[[7794,7794],\"mapped\",[7795]],[[7795,7795],\"valid\"],[[7796,7796],\"mapped\",[7797]],[[7797,7797],\"valid\"],[[7798,7798],\"mapped\",[7799]],[[7799,7799],\"valid\"],[[7800,7800],\"mapped\",[7801]],[[7801,7801],\"valid\"],[[7802,7802],\"mapped\",[7803]],[[7803,7803],\"valid\"],[[7804,7804],\"mapped\",[7805]],[[7805,7805],\"valid\"],[[7806,7806],\"mapped\",[7807]],[[7807,7807],\"valid\"],[[7808,7808],\"mapped\",[7809]],[[7809,7809],\"valid\"],[[7810,7810],\"mapped\",[7811]],[[7811,7811],\"valid\"],[[7812,7812],\"mapped\",[7813]],[[7813,7813],\"valid\"],[[7814,7814],\"mapped\",[7815]],[[7815,7815],\"valid\"],[[7816,7816],\"mapped\",[7817]],[[7817,7817],\"valid\"],[[7818,7818],\"mapped\",[7819]],[[7819,7819],\"valid\"],[[7820,7820],\"mapped\",[7821]],[[7821,7821],\"valid\"],[[7822,7822],\"mapped\",[7823]],[[7823,7823],\"valid\"],[[7824,7824],\"mapped\",[7825]],[[7825,7825],\"valid\"],[[7826,7826],\"mapped\",[7827]],[[7827,7827],\"valid\"],[[7828,7828],\"mapped\",[7829]],[[7829,7833],\"valid\"],[[7834,7834],\"mapped\",[97,702]],[[7835,7835],\"mapped\",[7777]],[[7836,7837],\"valid\"],[[7838,7838],\"mapped\",[115,115]],[[7839,7839],\"valid\"],[[7840,7840],\"mapped\",[7841]],[[7841,7841],\"valid\"],[[7842,7842],\"mapped\",[7843]],[[7843,7843],\"valid\"],[[7844,7844],\"mapped\",[7845]],[[7845,7845],\"valid\"],[[7846,7846],\"mapped\",[7847]],[[7847,7847],\"valid\"],[[7848,7848],\"mapped\",[7849]],[[7849,7849],\"valid\"],[[7850,7850],\"mapped\",[7851]],[[7851,7851],\"valid\"],[[7852,7852],\"mapped\",[7853]],[[7853,7853],\"valid\"],[[7854,7854],\"mapped\",[7855]],[[7855,7855],\"valid\"],[[7856,7856],\"mapped\",[7857]],[[7857,7857],\"valid\"],[[7858,7858],\"mapped\",[7859]],[[7859,7859],\"valid\"],[[7860,7860],\"mapped\",[7861]],[[7861,7861],\"valid\"],[[7862,7862],\"mapped\",[7863]],[[7863,7863],\"valid\"],[[7864,7864],\"mapped\",[7865]],[[7865,7865],\"valid\"],[[7866,7866],\"mapped\",[7867]],[[7867,7867],\"valid\"],[[7868,7868],\"mapped\",[7869]],[[7869,7869],\"valid\"],[[7870,7870],\"mapped\",[7871]],[[7871,7871],\"valid\"],[[7872,7872],\"mapped\",[7873]],[[7873,7873],\"valid\"],[[7874,7874],\"mapped\",[7875]],[[7875,7875],\"valid\"],[[7876,7876],\"mapped\",[7877]],[[7877,7877],\"valid\"],[[7878,7878],\"mapped\",[7879]],[[7879,7879],\"valid\"],[[7880,7880],\"mapped\",[7881]],[[7881,7881],\"valid\"],[[7882,7882],\"mapped\",[7883]],[[7883,7883],\"valid\"],[[7884,7884],\"mapped\",[7885]],[[7885,7885],\"valid\"],[[7886,7886],\"mapped\",[7887]],[[7887,7887],\"valid\"],[[7888,7888],\"mapped\",[7889]],[[7889,7889],\"valid\"],[[7890,7890],\"mapped\",[7891]],[[7891,7891],\"valid\"],[[7892,7892],\"mapped\",[7893]],[[7893,7893],\"valid\"],[[7894,7894],\"mapped\",[7895]],[[7895,7895],\"valid\"],[[7896,7896],\"mapped\",[7897]],[[7897,7897],\"valid\"],[[7898,7898],\"mapped\",[7899]],[[7899,7899],\"valid\"],[[7900,7900],\"mapped\",[7901
47807]],[[7901,7901],\"valid\"],[[7902,7902],\"mapped\",[7903]],[[7903,7903],\"valid\"],[[7904,7904],\"mapped\",[7905]],[[7905,7905],\"valid\"],[[7906,7906],\"mapped\",[7907]],[[7907,7907],\"valid\"],[[7908,7908],\"mapped\",[7909]],[[7909,7909],\"valid\"],[[7910,7910],\"mapped\",[7911]],[[7911,7911],\"valid\"],[[7912,7912],\"mapped\",[7913]],[[7913,7913],\"valid\"],[[7914,7914],\"mapped\",[7915]],[[7915,7915],\"valid\"],[[7916,7916],\"mapped\",[7917]],[[7917,7917],\"valid\"],[[7918,7918],\"mapped\",[7919]],[[7919,7919],\"valid\"],[[7920,7920],\"mapped\",[7921]],[[7921,7921],\"valid\"],[[7922,7922],\"mapped\",[7923]],[[7923,7923],\"valid\"],[[7924,7924],\"mapped\",[7925]],[[7925,7925],\"valid\"],[[7926,7926],\"mapped\",[7927]],[[7927,7927],\"valid\"],[[7928,7928],\"mapped\",[7929]],[[7929,7929],\"valid\"],[[7930,7930],\"mapped\",[7931]],[[7931,7931],\"valid\"],[[7932,7932],\"mapped\",[7933]],[[7933,7933],\"valid\"],[[7934,7934],\"mapped\",[7935]],[[7935,7935],\"valid\"],[[7936,7943],\"valid\"],[[7944,7944],\"mapped\",[7936]],[[7945,7945],\"mapped\",[7937]],[[7946,7946],\"mapped\",[7938]],[[7947,7947],\"mapped\",[7939]],[[7948,7948],\"mapped\",[7940]],[[7949,7949],\"mapped\",[7941]],[[7950,7950],\"mapped\",[7942]],[[7951,7951],\"mapped\",[7943]],[[7952,7957],\"valid\"],[[7958,7959],\"disallowed\"],[[7960,7960],\"mapped\",[7952]],[[7961,7961],\"mapped\",[7953]],[[7962,7962],\"mapped\",[7954]],[[7963,7963],\"mapped\",[7955]],[[7964,7964],\"mapped\",[7956]],[[7965,7965],\"mapped\",[7957]],[[7966,7967],\"disallowed\"],[[7968,7975],\"valid\"],[[7976,7976],\"mapped\",[7968]],[[7977,7977],\"mapped\",[7969]],[[7978,7978],\"mapped\",[7970]],[[7979,7979],\"mapped\",[7971]],[[7980,7980],\"mapped\",[7972]],[[7981,7981],\"mapped\",[7973]],[[7982,7982],\"mapped\",[7974]],[[7983,7983],\"mapped\",[7975]],[[7984,7991],\"valid\"],[[7992,7992],\"mapped\",[7984]],[[7993,7993],\"mapped\",[7985]],[[7994,7994],\"mapped\",[7986]],[[7995,7995],\"mapped\",[7987]],[[7996,7996],\"mapped\",[7988]],[[7997,7997],\"mapped\",[7989]],[[7998,7998],\"mapped\",[7990]],[[7999,7999],\"mapped\",[7991]],[[8000,8005],\"valid\"],[[8006,8007],\"disallowed\"],[[8008,8008],\"mapped\",[8000]],[[8009,8009],\"mapped\",[8001]],[[8010,8010],\"mapped\",[8002]],[[8011,8011],\"mapped\",[8003]],[[8012,8012],\"mapped\",[8004]],[[8013,8013],\"mapped\",[8005]],[[8014,8015],\"disallowed\"],[[8016,8023],\"valid\"],[[8024,8024],\"disallowed\"],[[8025,8025],\"mapped\",[8017]],[[8026,8026],\"disallowed\"],[[8027,8027],\"mapped\",[8019]],[[8028,8028],\"disallowed\"],[[8029,8029],\"mapped\",[8021]],[[8030,8030],\"disallowed\"],[[8031,8031],\"mapped\",[8023]],[[8032,8039],\"valid\"],[[8040,8040],\"mapped\",[8032]],[[8041,8041],\"mapped\",[8033]],[[8042,8042],\"mapped\",[8034]],[[8043,8043],\"mapped\",[8035]],[[8044,8044],\"mapped\",[8036]],[[8045,8045],\"mapped\",[8037]],[[8046,8046],\"mapped\",[8038]],[[8047,8047],\"mapped\",[8039]],[[8048,8048],\"valid\"],[[8049,8049],\"mapped\",[940]],[[8050,8050],\"valid\"],[[8051,8051],\"mapped\",[941]],[[8052,8052],\"valid\"],[[8053,8053],\"mapped\",[942]],[[8054,8054],\"valid\"],[[8055,8055],\"mapped\",[943]],[[8056,8056],\"valid\"],[[8057,8057],\"mapped\",[972]],[[8058,8058],\"valid\"],[[8059,8059],\"mapped\",[973]],[[8060,8060],\"valid\"],[[8061,8061],\"mapped\",[974]],[[8062,8063],\"disallowed\"],[[8064,8064],\"mapped\",[7936,953]],[[8065,8065],\"mapped\",[7937,953]],[[8066,8066],\"mapped\",[7938,953]],[[8067,8067],\"mapped\",[7939,953]],[[8068,8068],\"mapped\",[7940,953]],[[8069,8069],\"mapped\",[7941,953]],[[8070,8070],\"mapped\",[7942,953]],[[8071,8071],\"mapped\",[7943,953]],[[8072,8072],\"mapped\",[7936,953]],[[8073,8073],\"mapped\",[7937,953]],[[8074,8074],\"mapped\",[7938,953]],[[8075,8075],\"mapped\",[7939,953]],[[8076,8076],\"mapped\",[7940,953]],[[8077,8077],\"mapped\",[7941,953]],[[8078,8078],\"mapped\",[7942,953]],[[8079,8079],\"mapped\",[7943,953]],[[8080,8080],\"mapped\",[7968,953]],[[8081,8081],\"mapped\",[7969,953]],[[8082,8082],\"mapped\",[7970,953]],[[8083,8083],\"mapped\",[7971,953]],[[8084,8084],\"mapped\",[7972,953]],[[8085,8085],\"mapped\",[7973,953]],[[8086,8086],\"mapped\",[7974,953]],[[8087,8087],\"mapped\",[7975,953]],[[8088,8088],\"mapped\",[7968,953]],[[8089,8
47807089],\"mapped\",[7969,953]],[[8090,8090],\"mapped\",[7970,953]],[[8091,8091],\"mapped\",[7971,953]],[[8092,8092],\"mapped\",[7972,953]],[[8093,8093],\"mapped\",[7973,953]],[[8094,8094],\"mapped\",[7974,953]],[[8095,8095],\"mapped\",[7975,953]],[[8096,8096],\"mapped\",[8032,953]],[[8097,8097],\"mapped\",[8033,953]],[[8098,8098],\"mapped\",[8034,953]],[[8099,8099],\"mapped\",[8035,953]],[[8100,8100],\"mapped\",[8036,953]],[[8101,8101],\"mapped\",[8037,953]],[[8102,8102],\"mapped\",[8038,953]],[[8103,8103],\"mapped\",[8039,953]],[[8104,8104],\"mapped\",[8032,953]],[[8105,8105],\"mapped\",[8033,953]],[[8106,8106],\"mapped\",[8034,953]],[[8107,8107],\"mapped\",[8035,953]],[[8108,8108],\"mapped\",[8036,953]],[[8109,8109],\"mapped\",[8037,953]],[[8110,8110],\"mapped\",[8038,953]],[[8111,8111],\"mapped\",[8039,953]],[[8112,8113],\"valid\"],[[8114,8114],\"mapped\",[8048,953]],[[8115,8115],\"mapped\",[945,953]],[[8116,8116],\"mapped\",[940,953]],[[8117,8117],\"disallowed\"],[[8118,8118],\"valid\"],[[8119,8119],\"mapped\",[8118,953]],[[8120,8120],\"mapped\",[8112]],[[8121,8121],\"mapped\",[8113]],[[8122,8122],\"mapped\",[8048]],[[8123,8123],\"mapped\",[940]],[[8124,8124],\"mapped\",[945,953]],[[8125,8125],\"disallowed_STD3_mapped\",[32,787]],[[8126,8126],\"mapped\",[953]],[[8127,8127],\"disallowed_STD3_mapped\",[32,787]],[[8128,8128],\"disallowed_STD3_mapped\",[32,834]],[[8129,8129],\"disallowed_STD3_mapped\",[32,776,834]],[[8130,8130],\"mapped\",[8052,953]],[[8131,8131],\"mapped\",[951,953]],[[8132,8132],\"mapped\",[942,953]],[[8133,8133],\"disallowed\"],[[8134,8134],\"valid\"],[[8135,8135],\"mapped\",[8134,953]],[[8136,8136],\"mapped\",[8050]],[[8137,8137],\"mapped\",[941]],[[8138,8138],\"mapped\",[8052]],[[8139,8139],\"mapped\",[942]],[[8140,8140],\"mapped\",[951,953]],[[8141,8141],\"disallowed_STD3_mapped\",[32,787,768]],[[8142,8142],\"disallowed_STD3_mapped\",[32,787,769]],[[8143,8143],\"disallowed_STD3_mapped\",[32,787,834]],[[8144,8146],\"valid\"],[[8147,8147],\"mapped\",[912]],[[8148,8149],\"disallowed\"],[[8150,8151],\"valid\"],[[8152,8152],\"mapped\",[8144]],[[8153,8153],\"mapped\",[8145]],[[8154,8154],\"mapped\",[8054]],[[8155,8155],\"mapped\",[943]],[[8156,8156],\"disallowed\"],[[8157,8157],\"disallowed_STD3_mapped\",[32,788,768]],[[8158,8158],\"disallowed_STD3_mapped\",[32,788,769]],[[8159,8159],\"disallowed_STD3_mapped\",[32,788,834]],[[8160,8162],\"valid\"],[[8163,8163],\"mapped\",[944]],[[8164,8167],\"valid\"],[[8168,8168],\"mapped\",[8160]],[[8169,8169],\"mapped\",[8161]],[[8170,8170],\"mapped\",[8058]],[[8171,8171],\"mapped\",[973]],[[8172,8172],\"mapped\",[8165]],[[8173,8173],\"disallowed_STD3_mapped\",[32,776,768]],[[8174,8174],\"disallowed_STD3_mapped\",[32,776,769]],[[8175,8175],\"disallowed_STD3_mapped\",[96]],[[8176,8177],\"disallowed\"],[[8178,8178],\"mapped\",[8060,953]],[[8179,8179],\"mapped\",[969,953]],[[8180,8180],\"mapped\",[974,953]],[[8181,8181],\"disallowed\"],[[8182,8182],\"valid\"],[[8183,8183],\"mapped\",[8182,953]],[[8184,8184],\"mapped\",[8056]],[[8185,8185],\"mapped\",[972]],[[8186,8186],\"mapped\",[8060]],[[8187,8187],\"mapped\",[974]],[[8188,8188],\"mapped\",[969,953]],[[8189,8189],\"disallowed_STD3_mapped\",[32,769]],[[8190,8190],\"disallowed_STD3_mapped\",[32,788]],[[8191,8191],\"disallowed\"],[[8192,8202],\"disallowed_STD3_mapped\",[32]],[[8203,8203],\"ignored\"],[[8204,8205],\"deviation\",[]],[[8206,8207],\"disallowed\"],[[8208,8208],\"valid\",[],\"NV8\"],[[8209,8209],\"mapped\",[8208]],[[8210,8214],\"valid\",[],\"NV8\"],[[8215,8215],\"disallowed_STD3_mapped\",[32,819]],[[8216,8227],\"valid\",[],\"NV8\"],[[8228,8230],\"disallowed\"],[[8231,8231],\"valid\",[],\"NV8\"],[[8232,8238],\"disallowed\"],[[8239,8239],\"disallowed_STD3_mapped\",[32]],[[8240,8242],\"valid\",[],\"NV8\"],[[8243,8243],\"mapped\",[8242,8242]],[[8244,8244],\"mapped\",[8242,8242,8242]],[[8245,8245],\"valid\",[],\"NV8\"],[[8246,8246],\"mapped\",[8245,8245]],[[8247,8247],\"mapped\",[8245,8245,8245]],[[8248,8251],\"valid\",[],\"NV8\"],[[8252,8252],\"disallowed_STD3_mapped\",[33,33]],[[8253,8253],\"valid\",[],\"NV8\"],[[8254,8254],\"disallowed_STD3_mapped\",[32,773]],[[8255,8262],\"valid\",[],\"NV8\"],[[8263,8263],\"disallowed_STD3_mapped\",[63,63]],[[8264,8264],\"disallowed_STD3_mapped\",[63,33]],[[8265,8265],\"disallowed_STD3_mapped\",[33,63]],[[8266,8269],\"valid\",[],\"NV8\"],[[8270,8274],\"valid\",[],\"NV8\"],[[8275,8276],\"valid\",[],\"NV8\"],[[8277,8278],\"valid\",[],\"NV8\"],[[8279,8279],\"mapped\",[8242,8242,8242,8242]],[[8280,8286],\"valid\",[],\"NV8\"],[[8287,8287],\"disallowed_STD3_mapped\",[32]],[[8288,8288],\"ignored\"],[[8289,8291],\"disallowed\"],[[8292,8292],\"ignored\"],[[8293,8293],\"disallowed\"],[[8294,8297],\"disallowed\"],[[8298,8303],\"disallowed\"],[[8304,8304],\"mapped\",[48]],[[8305,8305],\"mapped\",[105]],[[8306,8307],\"disallowed\"],[[8308,8308],\"mapped\",[52]],[[8309,8309],\"mapped\",[53]],[[8310,8310],\"mapped\",[54]],[[8311,8311],\"mapped\",[55]],[[8312,8312],\"mapped\",[56]],[[8313,8313],\"mapped\",[57]],[[8314,8314],\"disallowed_STD3_mapped\",[43]],[[8315,8315],\"mapped\",[8722]],[[8316,8316],\"disallowed_STD3_mapped\",[61]],[[8317,8317],\"disallowed_STD3_mapped\",[40]],[[8318,8318],\"disallowed_STD3_mapped\",[41]],[[8319,8319],\"mapped\",[110]],[[8320,8320],\"mapped\",[48]],[[8321,8321],\"mapped\",[49]],[[8322,8322],\"mapped\",[50]],[[8323,8323],\"mapped\",[51]],[[8324,8324],\"mapped\",[52]],[[8325,8325],\"mapped\",[53]],[[8326,8326],\"mapped\",[54]],[[8327,8327],\"mapped\",[55]],[[8328,8328],\"mapped\",[56]],[[8329,8329],\"mapped\",[57]],[[8330,8330],\"disallowed_STD3_mapped\",[43]],[[8331,8331],\"mapped\",[8722]],[[8332,8332],\"disallowed_STD3_mapped\",[61]],[[8333,8333],\"disallowed_STD3_mapped\",[40]],[[8334,8334],\"disallowed_STD3_mapped\",[41]],[[8335,8335],\"disallowed\"],[[8336,8336],\"mapped\",[97]],[[8337,8337],\"mapped\",[101]],[[8338,8338],\"mapped\",[111]],[[8339,8339],\"mapped\",[120]],[[8340,8340],\"mapped\",[601]],[[8341,8341],\"mapped\",[104]],[[8342,8342],\"mapped\",[107]],[[8343,8343],\"mapped\",[108]],[[8344,8344],\"mapped\",[109]],[[8345,8345],\"mapped\",[110]],[[8346,8346],\"mapped\",[112]],[[8347,8347],\"mapped\",[115]],[[8348,8348],\"mapped\",[116]],[[8349,8351],\"disallowed\"],[[8352,8359],\"valid\",[],\"NV8\"],[[8360,8360],\"mapped\",[114,115]],[[8361,8362],\"valid\",[],\"NV8\"],[[8363,8363],\"valid\",[],\"NV8\"],[[8364,8364],\"valid\",[],\"NV8\"],[[8365,8367],\"valid\",[],\"NV8\"],[[8368,8369],\"valid\",[],\"NV8\"],[[8370,8373],\"valid\",[],\"NV8\"],[[8374,8376],\"valid\",[],\"NV8\"],[[8377,8377],\"valid\",[],\"NV8\"],[[8378,8378],\"valid\",[],\"NV8\"],[[8379,8381],\"valid\",[],\"NV8\"],[[8382,8382],\"valid\",[],\"NV8\"],[[8383,8399],\"disallowed\"],[[8400,8417],\"valid\",[],\"NV8\"],[[8418,8419],\"valid\",[],\"NV8\"],[[8420,8426],\"valid\",[],\"NV8\"],[[8427,8427],\"valid\",[],\"NV8\"],[[8428,8431],\"valid\",[],\"NV8\"],[[8432,8432],\"valid\",[],\"NV8\"],[[8433,8447],\"disallowed\"],[[8448,8448],\"disallowed_STD3_mapped\",[97,47,99]],[[8449,8449],\"disallowed_STD3_mapped\",[97,47,115]],[[8450,8450],\"mapped\",[99]
47807],[[8451,8451],\"mapped\",[176,99]],[[8452,8452],\"valid\",[],\"NV8\"],[[8453,8453],\"disallowed_STD3_mapped\",[99,47,111]],[[8454,8454],\"disallowed_STD3_mapped\",[99,47,117]],[[8455,8455],\"mapped\",[603]],[[8456,8456],\"valid\",[],\"NV8\"],[[8457,8457],\"mapped\",[176,102]],[[8458,8458],\"mapped\",[103]],[[8459,8462],\"mapped\",[104]],[[8463,8463],\"mapped\",[295]],[[8464,8465],\"mapped\",[105]],[[8466,8467],\"mapped\",[108]],[[8468,8468],\"valid\",[],\"NV8\"],[[8469,8469],\"mapped\",[110]],[[8470,8470],\"mapped\",[110,111]],[[8471,8472],\"valid\",[],\"NV8\"],[[8473,8473],\"mapped\",[112]],[[8474,8474],\"mapped\",[113]],[[8475,8477],\"mapped\",[114]],[[8478,8479],\"valid\",[],\"NV8\"],[[8480,8480],\"mapped\",[115,109]],[[8481,8481],\"mapped\",[116,101,108]],[[8482,8482],\"mapped\",[116,109]],[[8483,8483],\"valid\",[],\"NV8\"],[[8484,8484],\"mapped\",[122]],[[8485,8485],\"valid\",[],\"NV8\"],[[8486,8486],\"mapped\",[969]],[[8487,8487],\"valid\",[],\"NV8\"],[[8488,8488],\"mapped\",[122]],[[8489,8489],\"valid\",[],\"NV8\"],[[8490,8490],\"mapped\",[107]],[[8491,8491],\"mapped\",[229]],[[8492,8492],\"mapped\",[98]],[[8493,8493],\"mapped\",[99]],[[8494,8494],\"valid\",[],\"NV8\"],[[8495,8496],\"mapped\",[101]],[[8497,8497],\"mapped\",[102]],[[8498,8498],\"disallowed\"],[[8499,8499],\"mapped\",[109]],[[8500,8500],\"mapped\",[111]],[[8501,8501],\"mapped\",[1488]],[[8502,8502],\"mapped\",[1489]],[[8503,8503],\"mapped\",[1490]],[[8504,8504],\"mapped\",[1491]],[[8505,8505],\"mapped\",[105]],[[8506,8506],\"valid\",[],\"NV8\"],[[8507,8507],\"mapped\",[102,97,120]],[[8508,8508],\"mapped\",[960]],[[8509,8510],\"mapped\",[947]],[[8511,8511],\"mapped\",[960]],[[8512,8512],\"mapped\",[8721]],[[8513,8516],\"valid\",[],\"NV8\"],[[8517,8518],\"mapped\",[100]],[[8519,8519],\"mapped\",[101]],[[8520,8520],\"mapped\",[105]],[[8521,8521],\"mapped\",[106]],[[8522,8523],\"valid\",[],\"NV8\"],[[8524,8524],\"valid\",[],\"NV8\"],[[8525,8525],\"valid\",[],\"NV8\"],[[8526,8526],\"valid\"],[[8527,8527],\"valid\",[],\"NV8\"],[[8528,8528],\"mapped\",[49,8260,55]],[[8529,8529],\"mapped\",[49,8260,57]],[[8530,8530],\"mapped\",[49,8260,49,48]],[[8531,8531],\"mapped\",[49,8260,51]],[[8532,8532],\"mapped\",[50,8260,51]],[[8533,8533],\"mapped\",[49,8260,53]],[[8534,8534],\"mapped\",[50,8260,53]],[[8535,8535],\"mapped\",[51,8260,53]],[[8536,8536],\"mapped\",[52,8260,53]],[[8537,8537],\"mapped\",[49,8260,54]],[[8538,8538],\"mapped\",[53,8260,54]],[[8539,8539],\"mapped\",[49,8260,56]],[[8540,8540],\"mapped\",[51,8260,56]],[[8541,8541],\"mapped\",[53,8260,56]],[[8542,8542],\"mapped\",[55,8260,56]],[[8543,8543],\"mapped\",[49,8260]],[[8544,8544],\"mapped\",[105]],[[8545,8545],\"mapped\",[105,105]],[[8546,8546],\"mapped\",[105,105,105]],[[8547,8547],\"mapped\",[105,118]],[[8548,8548],\"mapped\",[118]],[[8549,8549],\"mapped\",[118,105]],[[8550,8550],\"mapped\",[118,105,105]],[[8551,8551],\"mapped\",[118,105,105,105]],[[8552,8552],\"mapped\",[105,120]],[[8553,8553],\"mapped\",[120]],[[8554,8554],\"mapped\",[120,105]],[[8555,8555],\"mapped\",[120,105,105]],[[8556,8556],\"mapped\",[108]],[[8557,8557],\"mapped\",[99]],[[8558,8558],\"mapped\",[100]],[[8559,8559],\"mapped\",[109]],[[8560,8560],\"mapped\",[105]],[[8561,8561],\"mapped\",[105,105]],[[8562,8562],\"mapped\",[105,105,105]],[[8563,8563],\"mapped\",[105,118]],[[8564,8564],\"mapped\",[118]],[[8565,8565],\"mapped\",[118,105]],[[8566,8566],\"mapped\",[118,105,105]],[[8567,8567],\"mapped\",[118,105,105,105]],[[8568,8568],\"mapped\",[105,120]],[[8569,8569],\"mapped\",[120]],[[8570,8570],\"mapped\",[120,105]],[[8571,8571],\"mapped\",[120,105,105]],[[8572,8572],\"mapped\",[108]],[[8573,8573],\"mapped\",[99]],[[8574,8574],\"mapped\",[100]],[[8575,8575],\"mapped\",[109]],[[8576,8578],\"valid\",[],\"NV8\"],[[8579,8579],\"disallowed\"],[[8580,8580],\"valid\"],[[8581,8584],\"valid\",[],\"NV8\"],[[8585,8585],\"mapped\",[48,8260,51]],[[8586,8587],\"valid\",[],\"NV8\"],[[8588,8591],\"disallowed\"],[[8592,8682],\"valid\",[],\"NV8\"],[[8683,8691],\"valid\",[],\"NV8\"],[[8692,8703],\"valid\",[],\"NV8\"],[[8704,8747],\"valid\",[],\"NV8\"],[[8748,8748],\"mapped\",[8747,8747]],[[8749,8749],\"mapped\",[8747,8747,8747]],[[8750,8750],\"valid\",[],\"NV8\"],[[8751,8751],\"mapped\",[8750,8750]],[[8752,8752],\"mapped\",[8750,8750,8750]],[[8753,8799],\"valid\",[],\"NV8\"],[[8800,8800],\"disallowed_STD3_valid\"],[[8801,8813],\"valid\",[],\"NV8\"],[[8814,8815],\"disallowed_STD3_valid\"],[[8816,8945],\"valid\",[],\"NV8\"],[[8946,8959],\"valid\",[],\"NV8\"],[[8960,8960],\"valid\",[],\"NV8\"],[[8961,8961],\"valid\",[],\"NV8\"],[[8962,9000],\"valid\",[],\"NV8\"],[[9001,9001],\"mapped\",[12296]],[[9002,9002],\"mapped\",[12297]],[[9003,9082],\"valid\",[],\"NV8\"],[[9083,9083],\"valid\",[],\"NV8\"],[[9084,9084],\"valid\",[],\"NV8\"],[[9085,9114],\"valid\",[],\"NV8\"],[[9115,9166],\"valid\",[],\"NV8\"],[[9167,9168],\"valid\",[],\"NV8\"],[[9169,9179],\"valid\",[],\"NV8\"],[[9180,9191],\"valid\",[],\"NV8\"],[[9192,9192],\"valid\",[],\"NV8\"],[[9193,9203],\"valid\",[],\"NV8\"],[[9204,9210
47807],\"valid\",[],\"NV8\"],[[9211,9215],\"disallowed\"],[[9216,9252],\"valid\",[],\"NV8\"],[[9253,9254],\"valid\",[],\"NV8\"],[[9255,9279],\"disallowed\"],[[9280,9290],\"valid\",[],\"NV8\"],[[9291,9311],\"disallowed\"],[[9312,9312],\"mapped\",[49]],[[9313,9313],\"mapped\",[50]],[[9314,9314],\"mapped\",[51]],[[9315,9315],\"mapped\",[52]],[[9316,9316],\"mapped\",[53]],[[9317,9317],\"mapped\",[54]],[[9318,9318],\"mapped\",[55]],[[9319,9319],\"mapped\",[56]],[[9320,9320],\"mapped\",[57]],[[9321,9321],\"mapped\",[49,48]],[[9322,9322],\"mapped\",[49,49]],[[9323,9323],\"mapped\",[49,50]],[[9324,9324],\"mapped\",[49,51]],[[9325,9325],\"mapped\",[49,52]],[[9326,9326],\"mapped\",[49,53]],[[9327,9327],\"mapped\",[49,54]],[[9328,9328],\"mapped\",[49,55]],[[9329,9329],\"mapped\",[49,56]],[[9330,9330],\"mapped\",[49,57]],[[9331,9331],\"mapped\",[50,48]],[[9332,9332],\"disallowed_STD3_mapped\",[40,49,41]],[[9333,9333],\"disallowed_STD3_mapped\",[40,50,41]],[[9334,9334],\"disallowed_STD3_mapped\",[40,51,41]],[[9335,9335],\"disallowed_STD3_mapped\",[40,52,41]],[[9336,9336],\"disallowed_STD3_mapped\",[40,53,41]],[[9337,9337],\"disallowed_STD3_mapped\",[40,54,41]],[[9338,9338],\"disallowed_STD3_mapped\",[40,55,41]],[[9339,9339],\"disallowed_STD3_mapped\",[40,56,41]],[[9340,9340],\"disallowed_STD3_mapped\",[40,57,41]],[[9341,9341],\"disallowed_STD3_mapped\",[40,49,48,41]],[[9342,9342],\"disallowed_STD3_mapped\",[40,49,49,41]],[[9343,9343],\"disallowed_STD3_mapped\",[40,49,50,41]],[[9344,9344],\"disallowed_STD3_mapped\",[40,49,51,41]],[[9345,9345],\"disallowed_STD3_mapped\",[40,49,52,41]],[[9346,9346],\"disallowed_STD3_mapped\",[40,49,53,41]],[[9347,9347],\"disallowed_STD3_mapped\",[40,49,54,41]],[[9348,9348],\"disallowed_STD3_mapped\",[40,49,55,41]],[[9349,9349],\"disallowed_STD3_mapped\",[40,49,56,41]],[[9350,9350],\"disallowed_STD3_mapped\",[40,49,57,41]],[[9351,9351],\"disallowed_STD3_mapped\",[40,50,48,41]],[[9352,9371],\"disallowed\"],[[9372,9372],\"disallowed_STD3_mapped\",[40,97,41]],[[9373,9373],\"disallowed_STD3_mapped\",[40,98,41]],[[9374,9374],\"disallowed_STD3_mapped\",[40,99,41]],[[9375,9375],\"disallowed_STD3_mapped\",[40,100,41]],[[9376,9376],\"disallowed_STD3_mapped\",[40,101,41]],[[9377,9377],\"disallowed_STD3_mapped\",[40,102,41]],[[9378,9378],\"disallowed_STD3_mapped\",[40,103,41]],[[9379,9379],\"disallowed_STD3_mapped\",[40,104,41]],[[9380,9380],\"disallowed_STD3_mapped\",[40,105,41]],[[9381,9381],\"disallowed_STD3_mapped\",[40,106,41]],[[9382,9382],\"disallowed_STD3_mapped\",[40,107,41]],[[9383,9383],\"disallowed_STD3_mapped\",[40,108,41]],[[9384,9384],\"disallowed_STD3_mapped\",[40,109,41]],[[9385,9385],\"disallowed_STD3_mapped\",[40,110,41]],[[9386,9386],\"disallowed_STD3_mapped\",[40,111,41]],[[9387,9387],\"disallowed_STD3_mapped\",[40,112,41]],[[9388,9388],\"disallowed_STD3_mapped\",[40,113,41]],[[9389,9389],\"disallowed_STD3_mapped\",[40,114,41]],[[9390,9390],\"disallowed_STD3_mapped\",[40,115,41]],[[9391,9391],\"disallowed_STD3_mapped\",[40,116,41]],[[9392,9392],\"disallowed_STD3_mapped\",[40,117,41]],[[9393,9393],\"disallowed_STD3_mapped\",[40,118,41]],[[9394,9394],\"disallowed_STD3_mapped\",[40,119,41]],[[9395,9395],\"disallowed_STD3_mapped\",[40,120,41]],[[9396,9396],\"disallowed_STD3_mapped\",[40,121,41]],[[9397,9397],\"disallowed_STD3_mapped\",[40,122,41]],[[9398,9398],\"mapped\",[97]],[[9399,9399],\"mapped\",[98]],[[9400,9400],\"mapped\",[99]],[[9401,9401],\"mapped\",[100]],[[9402,9402],\"mapped\",[101]],[[9403,9403],\"mapped\",[102]],[[9404,9404],\"mapped\",[103]],[[9405,9405],\"mapped\",[104]],[[9406,9406],\"mapped\",[105]],[[9407,9407],\"mapped\",[106]],[[9408,9408],\"mapped\",[107]],[[9409,9409],\"mapped\",[108]],[[9410,9410],\"mapped\",[109]],[[9411,9411],\"mapped\",[110]],[[9412,9412],\"mapped\",[111]],[[9413,9413],\"mapped\",[112]],[[9414,9414],\"mapped\",[113]],[[9415,9415],\"mapped\",[114]],[[9416,9416],\"mapped\",[115]],[[9417,9417],\"mapped\",[116]],[[9418,9418],\"mapped\",[117]],[[9419,9419],\"mapped\",[118]],[[9420,9420],\"mapped\",[119]],[[9421,9421],\"mapped\",[120]],[[9422,9422],\"mapped\",[121]],[[9423,9423],\"mapped\",[122]],[[9424,9424],\"mapped\",[97]],[[9425,9425],\"mapped\",[98]],[[9426,9426],\"mapped\",[99]
47807],[[9427,9427],\"mapped\",[100]],[[9428,9428],\"mapped\",[101]],[[9429,9429],\"mapped\",[102]],[[9430,9430],\"mapped\",[103]],[[9431,9431],\"mapped\",[104]],[[9432,9432],\"mapped\",[105]],[[9433,9433],\"mapped\",[106]],[[9434,9434],\"mapped\",[107]],[[9435,9435],\"mapped\",[108]],[[9436,9436],\"mapped\",[109]],[[9437,9437],\"mapped\",[110]],[[9438,9438],\"mapped\",[111]],[[9439,9439],\"mapped\",[112]],[[9440,9440],\"mapped\",[113]],[[9441,9441],\"mapped\",[114]],[[9442,9442],\"mapped\",[115]],[[9443,9443],\"mapped\",[116]],[[9444,9444],\"mapped\",[117]],[[9445,9445],\"mapped\",[118]],[[9446,9446],\"mapped\",[119]],[[9447,9447],\"mapped\",[120]],[[9448,9448],\"mapped\",[121]],[[9449,9449],\"mapped\",[122]],[[9450,9450],\"mapped\",[48]],[[9451,9470],\"valid\",[],\"NV8\"],[[9471,9471],\"valid\",[],\"NV8\"],[[9472,9621],\"valid\",[],\"NV8\"],[[9622,9631],\"valid\",[],\"NV8\"],[[9632,9711],\"valid\",[],\"NV8\"],[[9712,9719],\"valid\",[],\"NV8\"],[[9720,9727],\"valid\",[],\"NV8\"],[[9728,9747],\"valid\",[],\"NV8\"],[[9748,9749],\"valid\",[],\"NV8\"],[[9750,9751],\"valid\",[],\"NV8\"],[[9752,9752],\"valid\",[],\"NV8\"],[[9753,9753],\"valid\",[],\"NV8\"],[[9754,9839],\"valid\",[],\"NV8\"],[[9840,9841],\"valid\",[],\"NV8\"],[[9842,9853],\"valid\",[],\"NV8\"],[[9854,9855],\"valid\",[],\"NV8\"],[[9856,9865],\"valid\",[],\"NV8\"],[[9866,9873],\"valid\",[],\"NV8\"],[[9874,9884],\"valid\",[],\"NV8\"],[[9885,9885],\"valid\",[],\"NV8\"],[[9886,9887],\"valid\",[],\"NV8\"],[[9888,9889],\"valid\",[],\"NV8\"],[[9890,9905],\"valid\",[],\"NV8\"],[[9906,9906],\"valid\",[],\"NV8\"],[[9907,9916],\"valid\",[],\"NV8\"],[[9917,9919],\"valid\",[],\"NV8\"],[[9920,9923],\"valid\",[],\"NV8\"],[[9924,9933],\"valid\",[],\"NV8\"],[[9934,9934],\"valid\",[],\"NV8\"],[[9935,9953],\"valid\",[],\"NV8\"],[[9954,9954],\"valid\",[],\"NV8\"],[[9955,9955],\"valid\",[],\"NV8\"],[[9956,9959],\"valid\",[],\"NV8\"],[[9960,9983],\"valid\",[],\"NV8\"],[[9984,9984],\"valid\",[],\"NV8\"],[[9985,9988],\"valid\",[],\"NV8\"],[[9989,9989],\"valid\",[],\"NV8\"],[[9990,9993],\"valid\",[],\"NV8\"],[[9994,9995],\"valid\",[],\"NV8\"],[[9996,10023],\"valid\",[],\"NV8\"],[[10024,10024],\"valid\",[],\"NV8\"],[[10025,10059],\"valid\",[],\"NV8\"],[[10060,10060],\"valid\",[],\"NV8\"],[[10061,10061],\"valid\",[],\"NV8\"],[[10062,10062],\"valid\",[],\"NV8\"],[[10063,10066],\"valid\",[],\"NV8\"],[[10067,10069],\"valid\",[],\"NV8\"],[[10070,10070],\"valid\",[],\"NV8\"],[[10071,10071],\"valid\",[],\"NV8\"],[[10072,10078],\"valid\",[],\"NV8\"],[[10079,10080],\"valid\",[],\"NV8\"],[[10081,10087],\"valid\",[],\"NV8\"],[[10088,10101],\"valid\",[],\"NV8\"],[[10102,10132],\"valid\",[],\"NV8\"],[[10133,10135],\"valid\",[],\"NV8\"],[[10136,10159],\"valid\",[],\"NV8\"],[[10160,10160],\"valid\",[],\"NV8\"],[[10161,10174],\"valid\",[],\"NV8\"],[[10175,10175],\"valid\",[],\"NV8\"],[[10176,10182],\"valid\",[],\"NV8\"],[[10183,10186],\"valid\",[],\"NV8\"],[[10187,10187],\"valid\",[],\"NV8\"],[[10188,10188],\"valid\",[],\"NV8\"],[[10189,10189],\"valid\",[],\"NV8\"],[[10190,10191],\"valid\",[],\"NV8\"],[[10192,10219],\"valid\",[],\"NV8\"],[[10220,10223],\"valid\",[],\"NV8\"],[[10224,10239],\"valid\",[],\"NV8\"],[[10240,10495],\"valid\",[],\"NV8\"],[[10496,10763],\"valid\",[],\"NV8\"],[[10764,10764],\"mapped\",[8747,8747,8747,8747]],[[10765,10867],\"valid\",[],\"NV8\"],[[10868,10868],\"disallowed_STD3_mapped\",[58,58,61]],[[10869,10869],\"disallowed_STD3_mapped\",[61,61]],[[10870,10870],\"disallowed_STD3_mapped\",[61,61,61]],[[10871,10971],\"valid\",[],\"NV8\"],[[10972,10972],\"mapped\",[10973,824]],[[10973,11007],\"valid\",[],\"NV8\"],[[11008,11021],\"valid\",[],\"NV8\"],[[11022,11027],\"valid\",[],\"NV8\"],[[11028,11034],\"valid\",[],\"NV8\"],[[11035,11039],\"valid\",[],\"NV8\"],[[11040,11043],\"valid\",[],\"NV8\"],[[11044,11084],\"valid\",[],\"NV8\"],[[11085,11087],\"valid\",[],\"NV8\"],[[11088,11092],\"valid\",[],\"NV8\"],[[11093,11097],\"valid\",[],\"NV8\"],[[11098,11123],\"valid\",[],\"NV8\"],[[11124,11125],\"disallowed\"],[[11126,11157],\"valid\",[],\"NV8\"],[[11158,11159],\"disallowed\"],[[11160,11193],\"valid\",[],\"NV8\"],[[11194,11196],\"disallowed\"],[[11197,11208],\"valid\",[],\"NV8\"],[[11209,11209],\"disallowed\"],[[11210,11217],\"valid\",[],\"NV8\"],[[11218,11243],\"disallowed\"],[[11244,11247],\"valid\",[],\"NV8\"],[[11248,11263],\"disallowed\"],[[11264,11264],\"mapped\",[11312]],[[11265,11265],\"mapped\",[11313]],[[11266,11266],\"mapped\",[11314]],[[11267,11267],\"mapped\",[11315]],[[11268,11268],\"mapped\",[11316]],[[11269,11269],\"mapped\",[11317]],[[11270,11270],\"mapped\",[11318]],[[11271,11271],\"mapped\",[11319]],[[11272,11272],\"mapped\",[11320]],[[11273,11273],\"mapped\",[11321]],[[11274,11274],\"mapped\",[11322]],[[11275,11275],\"mapped\",[11323]],[[11276,11276],\"mapped\",[11324]],[[11277,11277],\"mapped\",[11325]],[[11278,11278],\"mapped\",[11326]],[[11279,11279],\"mapped\",[11327]],[[11280,11280],\"mapped\",[11328]],[[11281,11281],\"mapped\",[11329]],[[11282,11282],\"mapped\",[11330]],[[11283,11283],\"mapped\",[11331]],[[11284,11284],\"mapped\",[11332]],[[11285,11285],\"mapped\",[11333]],[[11286,11286],\"mapped\",[11334]],[[11287,11287],\"mapped\",[11335]],[[11288,11288],\"mapped\",[11336]],[[11289,11289],\"mapped\",[11337]],[[11290,11290],\"mapped\",[11338]],[[11291,11291],\"mapped\",[11339]],[[11292,11292],\"mapped\",[11340]],[[11293,11293],\"mapped\",[11341]],[[11294,11294],\"mapped\",[11342]],[[11295,11295],\"mapped\",[11343]],[[11296,11296],\"mapped\",[11344]],[[11297,11297],\"mapped\",[11345]],[[11298,11298],\"mapped\",[11346]],[[11299,11299],\"mapped\",[11347]],[[11300,11300],\"mapped\",[11348]
47807],[[11301,11301],\"mapped\",[11349]],[[11302,11302],\"mapped\",[11350]],[[11303,11303],\"mapped\",[11351]],[[11304,11304],\"mapped\",[11352]],[[11305,11305],\"mapped\",[11353]],[[11306,11306],\"mapped\",[11354]],[[11307,11307],\"mapped\",[11355]],[[11308,11308],\"mapped\",[11356]],[[11309,11309],\"mapped\",[11357]],[[11310,11310],\"mapped\",[11358]],[[11311,11311],\"disallowed\"],[[11312,11358],\"valid\"],[[11359,11359],\"disallowed\"],[[11360,11360],\"mapped\",[11361]],[[11361,11361],\"valid\"],[[11362,11362],\"mapped\",[619]],[[11363,11363],\"mapped\",[7549]],[[11364,11364],\"mapped\",[637]],[[11365,11366],\"valid\"],[[11367,11367],\"mapped\",[11368]],[[11368,11368],\"valid\"],[[11369,11369],\"mapped\",[11370]],[[11370,11370],\"valid\"],[[11371,11371],\"mapped\",[11372]],[[11372,11372],\"valid\"],[[11373,11373],\"mapped\",[593]],[[11374,11374],\"mapped\",[625]],[[11375,11375],\"mapped\",[592]],[[11376,11376],\"mapped\",[594]],[[11377,11377],\"valid\"],[[11378,11378],\"mapped\",[11379]],[[11379,11379],\"valid\"],[[11380,11380],\"valid\"],[[11381,11381],\"mapped\",[11382]],[[11382,11383],\"valid\"],[[11384,11387],\"valid\"],[[11388,11388],\"mapped\",[106]],[[11389,11389],\"mapped\",[118]],[[11390,11390],\"mapped\",[575]],[[11391,11391],\"mapped\",[576]],[[11392,11392],\"mapped\",[11393]],[[11393,11393],\"valid\"],[[11394,11394],\"mapped\",[11395]],[[11395,11395],\"valid\"],[[11396,11396],\"mapped\",[11397]],[[11397,11397],\"valid\"],[[11398,11398],\"mapped\",[11399]],[[11399,11399],\"valid\"],[[11400,11400],\"mapped\",[11401]],[[11401,11401],\"valid\"],[[11402,11402],\"mapped\",[11403]],[[11403,11403],\"valid\"],[[11404,11404],\"mapped\",[11405]],[[11405,11405],\"valid\"],[[11406,11406],\"mapped\",[11407]],[[11407,11407],\"valid\"],[[11408,11408],\"mapped\",[11409]],[[11409,11409],\"valid\"],[[11410,11410],\"mapped\",[11411]],[[11411,11411],\"valid\"],[[11412,11412],\"mapped\",[11413]],[[11413,11413],\"valid\"],[[11414,11414],\"mapped\",[11415]],[[11415,11415],\"valid\"],[[11416,11416],\"mapped\",[11417]],[[11417,11417],\"valid\"],[[11418,11418],\"mapped\",[11419]],[[11419,11419],\"valid\"],[[11420,11420],\"mapped\",[11421]],[[11421,11421],\"valid\"],[[11422,11422],\"mapped\",[11423]],[[11423,11423],\"valid\"],[[11424,11424],\"mapped\",[11425]],[[11425,11425],\"valid\"],[[11426,11426],\"mapped\",[11427]],[[11427,11427],\"valid\"],[[11428,11428],\"mapped\",[11429]],[[11429,11429],\"valid\"],[[11430,11430],\"mapped\",[11431]],[[11431,11431],\"valid\"],[[11432,11432],\"mapped\",[11433]],[[11433,11433],\"valid\"],[[11434,11434],\"mapped\",[11435]],[[11435,11435],\"valid\"],[[11436,11436],\"mapped\",[11437]],[[11437,11437],\"valid\"],[[11438,11438],\"mapped\",[11439]],[[11439,11439],\"valid\"],[[11440,11440],\"mapped\",[11441]],[[11441,11441],\"valid\"],[[11442,11442],\"mapped\",[11443]],[[11443,11443],\"valid\"],[[11444,11444],\"mapped\",[11445]],[[11445,11445],\"valid\"],[[11446,11446],\"mapped\",[11447]],[[11447,11447],\"valid\"],[[11448,11448],\"mapped\",[11449]],[[11449,11449],\"valid\"],[[11450,11450],\"mapped\",[11451]],[[11451,11451],\"valid\"],[[11452,11452],\"mapped\",[11453]],[[11453,11453],\"valid\"],[[11454,11454],\"mapped\",[11455]],[[11455,11455],\"valid\"],[[11456,11456],\"mapped\",[11457]],[[11457,11457],\"valid\"],[[11458,11458],\"mapped\",[11459]],[[11459,11459],\"valid\"],[[11460,11460],\"mapped\",[11461]],[[11461,11461],\"valid\"],[[11462,11462],\"mapped\",[11463]],[[11463,11463],\"valid\"],[[11464,11464],\"mapped\",[11465]],[[11465,11465],\"valid\"],[[11466,11466],\"mapped\",[11467]],[[11467,11467],\"valid\"],[[11468,11468],\"mapped\",[11469]],[[11469,11469],\"valid\"],[[11470,11470],\"mapped\",[11471]],[[11471,11471],\"valid\"],[[11472,11472],\"mapped\",[11473]],[[11473,11473],\"valid\"],[[11474,11474],\"mapped\",[11475]],[[11475,11475],\"valid\"],[[11476,11476],\"mapped\",[11477]],[[11477,11477],\"valid\"],[[11478,11478],\"mapped\",[11479]],[[11479,11479],\"valid\"],[[11480,11480],\"mapped\",[11481]],[[11481,11481],\"valid\"],[[11482,11482],\"mapped\",[11483]],[[11483,11483],\"valid\"],[[11484,11484],\"mapped\",[11485]],[[11485,11485],\"valid\"],[[11486,11486],\"mapped\",[11487]],[[11487,11487],\"valid\"],[[11488,11488],\"mapped\",[11489]],[[11489,11489],\"valid\"],[[11490,11490],\"mapped\",[11491]],[[11491,11492],\"valid\"],[[11493,11498],\"valid\",[],\"NV8\"],[[11499,11499],\"mapped\",[11500]],[[11500,11500],\"valid\"],[[11501,11501],\"mapped\",[11502]],[[11502,11505],\"valid\"],[[11506,11506],\"mapped\",[11507]],[[11507,11507],\"valid\"],[[11508,11512],\"disallowed\"],[[11513,11519],\"valid\",[],\"NV8\"],[[11520,11557],\"valid\"],[[11558,11558],\"disallowed\"],[[11559,11559],\"valid\"],[[11560,11564],\"disallowed\"],[[11565,11565],\"valid\"],[[11566,11567],\"disallowed\"],[[11568,11621],\"valid\"],[[11622,11623],\"valid\"],[[11624,11630],\"disallowed\"],[[11631,11631],\"mapped\",[11617]],[[11632,11632],\"valid\",[],\"NV8\"],[[11633,11646],\"disallowed\"],[[11647,11647],\"valid\"],[[11648,11670],\"valid\"],[[11671,11679],\"disallowed\"],[[11680,11686],\"valid\"],[[11687,11687],\"disallowed\"],[[11688,11694],\"valid\"],[[11695,11695],\"disallowed\"],[[11696,11702],\"valid\"],[[11703,11703],\"disallowed\"],[[11704,11710],\"valid\"],[[11711,
4780711711],\"disallowed\"],[[11712,11718],\"valid\"],[[11719,11719],\"disallowed\"],[[11720,11726],\"valid\"],[[11727,11727],\"disallowed\"],[[11728,11734],\"valid\"],[[11735,11735],\"disallowed\"],[[11736,11742],\"valid\"],[[11743,11743],\"disallowed\"],[[11744,11775],\"valid\"],[[11776,11799],\"valid\",[],\"NV8\"],[[11800,11803],\"valid\",[],\"NV8\"],[[11804,11805],\"valid\",[],\"NV8\"],[[11806,11822],\"valid\",[],\"NV8\"],[[11823,11823],\"valid\"],[[11824,11824],\"valid\",[],\"NV8\"],[[11825,11825],\"valid\",[],\"NV8\"],[[11826,11835],\"valid\",[],\"NV8\"],[[11836,11842],\"valid\",[],\"NV8\"],[[11843,11903],\"disallowed\"],[[11904,11929],\"valid\",[],\"NV8\"],[[11930,11930],\"disallowed\"],[[11931,11934],\"valid\",[],\"NV8\"],[[11935,11935],\"mapped\",[27597]],[[11936,12018],\"valid\",[],\"NV8\"],[[12019,12019],\"mapped\",[40863]],[[12020,12031],\"disallowed\"],[[12032,12032],\"mapped\",[19968]],[[12033,12033],\"mapped\",[20008]],[[12034,12034],\"mapped\",[20022]],[[12035,12035],\"mapped\",[20031]],[[12036,12036],\"mapped\",[20057]],[[12037,12037],\"mapped\",[20101]],[[12038,12038],\"mapped\",[20108]],[[12039,12039],\"mapped\",[20128]],[[12040,12040],\"mapped\",[20154]],[[12041,12041],\"mapped\",[20799]],[[12042,12042],\"mapped\",[20837]],[[12043,12043],\"mapped\",[20843]],[[12044,12044],\"mapped\",[20866]],[[12045,12045],\"mapped\",[20886]],[[12046,12046],\"mapped\",[20907]],[[12047,12047],\"mapped\",[20960]],[[12048,12048],\"mapped\",[20981]],[[12049,12049],\"mapped\",[20992]],[[12050,12050],\"mapped\",[21147]],[[12051,12051],\"mapped\",[21241]],[[12052,12052],\"mapped\",[21269]],[[12053,12053],\"mapped\",[21274]],[[12054,12054],\"mapped\",[21304]],[[12055,12055],\"mapped\",[21313]],[[12056,12056],\"mapped\",[21340]],[[12057,12057],\"mapped\",[21353]],[[12058,12058],\"mapped\",[21378]],[[12059,12059],\"mapped\",[21430]],[[12060,12060],\"mapped\",[21448]],[[12061,12061],\"mapped\",[21475]],[[12062,12062],\"mapped\",[22231]],[[12063,12063],\"mapped\",[22303]],[[12064,12064],\"mapped\",[22763]],[[12065,12065],\"mapped\",[22786]],[[12066,12066],\"mapped\",[22794]],[[12067,12067],\"mapped\",[22805]],[[12068,12068],\"mapped\",[22823]],[[12069,12069],\"mapped\",[22899]],[[12070,12070],\"mapped\",[23376]],[[12071,12071],\"mapped\",[23424]],[[12072,12072],\"mapped\",[23544]],[[12073,12073],\"mapped\",[23567]],[[12074,12074],\"mapped\",[23586]],[[12075,12075],\"mapped\",[23608]],[[12076,12076],\"mapped\",[23662]],[[12077,12077],\"mapped\",[23665]],[[12078,12078],\"mapped\",[24027]],[[12079,12079],\"mapped\",[24037]],[[12080,12080],\"mapped\",[24049]],[[12081,12081],\"mapped\",[24062]],[[12082,12082],\"mapped\",[24178]],[[12083,12083],\"mapped\",[24186]],[[12084,12084],\"mapped\",[24191]],[[12085,12085],\"mapped\",[24308]],[[12086,12086],\"mapped\",[24318]],[[12087,12087],\"mapped\",[24331]],[[12088,12088],\"mapped\",[24339]],[[12089,12089],\"mapped\",[24400]],[[12090,12090],\"mapped\",[24417]],[[12091,12091],\"mapped\",[24435]],[[12092,12092],\"mapped\",[24515]],[[12093,12093],\"mapped\",[25096]],[[12094,12094],\"mapped\",[25142]],[[12095,12095],\"mapped\",[25163]],[[12096,12096],\"mapped\",[25903]],[[12097,12097],\"mapped\",[25908]],[[12098,12098],\"mapped\",[25991]],[[12099,12099],\"mapped\",[26007]],[[12100,12100],\"mapped\",[26020]],[[12101,12101],\"mapped\",[26041]],[[12102,12102],\"mapped\",[26080]],[[12103,12103],\"mapped\",[26085]],[[12104,12104],\"mapped\",[26352]],[[12105,12105],\"mapped\",[26376]],[[12106,12106],\"mapped\",[26408]],[[12107,12107],\"mapped\",[27424]],[[12108,12108],\"mapped\",[27490]],[[12109,12109],\"mapped\",[27513]],[[12110,12110],\"mapped\",[27571]],[[12111,12111],\"mapped\",[27595]],[[12112,12112],\"mapped\",[27604]],[[12113,12113],\"mapped\",[27611]],[[12114,12114],\"mapped\",[27663]],[[12115,12115],\"mapped\",[27668]],[[12116,12116],\"mapped\",[27700]],[[12117,12117],\"mapped\",[28779]],[[12118,12118],\"mapped\",[29226]],[[12119,12119],\"mapped\",[29238]],[[12120,12120],\"mapped\",[29243]],[[12121,12121],\"mapped\",[29247]],[[12122,12122],\"mapped\",[29255]],[[12123,12123],\"mapped\",[29273]],[[12124,12124],\"mapped\",[29275]],[[12125,12125],\"mapped\",[29356]],[[12126,12126],\"mapped\",[29572]],[[12127,12127
47807],\"mapped\",[29577]],[[12128,12128],\"mapped\",[29916]],[[12129,12129],\"mapped\",[29926]],[[12130,12130],\"mapped\",[29976]],[[12131,12131],\"mapped\",[29983]],[[12132,12132],\"mapped\",[29992]],[[12133,12133],\"mapped\",[30000]],[[12134,12134],\"mapped\",[30091]],[[12135,12135],\"mapped\",[30098]],[[12136,12136],\"mapped\",[30326]],[[12137,12137],\"mapped\",[30333]],[[12138,12138],\"mapped\",[30382]],[[12139,12139],\"mapped\",[30399]],[[12140,12140],\"mapped\",[30446]],[[12141,12141],\"mapped\",[30683]],[[12142,12142],\"mapped\",[30690]],[[12143,12143],\"mapped\",[30707]],[[12144,12144],\"mapped\",[31034]],[[12145,12145],\"mapped\",[31160]],[[12146,12146],\"mapped\",[31166]],[[12147,12147],\"mapped\",[31348]],[[12148,12148],\"mapped\",[31435]],[[12149,12149],\"mapped\",[31481]],[[12150,12150],\"mapped\",[31859]],[[12151,12151],\"mapped\",[31992]],[[12152,12152],\"mapped\",[32566]],[[12153,12153],\"mapped\",[32593]],[[12154,12154],\"mapped\",[32650]],[[12155,12155],\"mapped\",[32701]],[[12156,12156],\"mapped\",[32769]],[[12157,12157],\"mapped\",[32780]],[[12158,12158],\"mapped\",[32786]],[[12159,12159],\"mapped\",[32819]],[[12160,12160],\"mapped\",[32895]],[[12161,12161],\"mapped\",[32905]],[[12162,12162],\"mapped\",[33251]],[[12163,12163],\"mapped\",[33258]],[[12164,12164],\"mapped\",[33267]],[[12165,12165],\"mapped\",[33276]],[[12166,12166],\"mapped\",[33292]],[[12167,12167],\"mapped\",[33307]],[[12168,12168],\"mapped\",[33311]],[[12169,12169],\"mapped\",[33390]],[[12170,12170],\"mapped\",[33394]],[[12171,12171],\"mapped\",[33400]],[[12172,12172],\"mapped\",[34381]],[[12173,12173],\"mapped\",[34411]],[[12174,12174],\"mapped\",[34880]],[[12175,12175],\"mapped\",[34892]],[[12176,12176],\"mapped\",[34915]],[[12177,12177],\"mapped\",[35198]],[[12178,12178],\"mapped\",[35211]],[[12179,12179],\"mapped\",[35282]],[[12180,12180],\"mapped\",[35328]],[[12181,12181],\"mapped\",[35895]],[[12182,12182],\"mapped\",[35910]],[[12183,12183],\"mapped\",[35925]],[[12184,12184],\"mapped\",[35960]],[[12185,12185],\"mapped\",[35997]],[[12186,12186],\"mapped\",[36196]],[[12187,12187],\"mapped\",[36208]],[[12188,12188],\"mapped\",[36275]],[[12189,12189],\"mapped\",[36523]],[[12190,12190],\"mapped\",[36554]],[[12191,12191],\"mapped\",[36763]],[[12192,12192],\"mapped\",[36784]],[[12193,12193],\"mapped\",[36789]],[[12194,12194],\"mapped\",[37009]],[[12195,12195],\"mapped\",[37193]],[[12196,12196],\"mapped\",[37318]],[[12197,12197],\"mapped\",[37324]],[[12198,12198],\"mapped\",[37329]],[[12199,12199],\"mapped\",[38263]],[[12200,12200],\"mapped\",[38272]],[[12201,12201],\"mapped\",[38428]],[[12202,12202],\"mapped\",[38582]],[[12203,12203],\"mapped\",[38585]],[[12204,12204],\"mapped\",[38632]],[[12205,12205],\"mapped\",[38737]],[[12206,12206],\"mapped\",[38750]],[[12207,12207],\"mapped\",[38754]],[[12208,12208],\"mapped\",[38761]],[[12209,12209],\"mapped\",[38859]],[[12210,12210],\"mapped\",[38893]],[[12211,12211],\"mapped\",[38899]],[[12212,12212],\"mapped\",[38913]],[[12213,12213],\"mapped\",[39080]],[[12214,12214],\"mapped\",[39131]],[[12215,12215],\"mapped\",[39135]],[[12216,12216],\"mapped\",[39318]],[[12217,12217],\"mapped\",[39321]],[[12218,12218],\"mapped\",[39340]],[[12219,12219],\"mapped\",[39592]],[[12220,12220],\"mapped\",[39640]],[[12221,12221],\"mapped\",[39647]],[[12222,12222],\"mapped\",[39717]],[[12223,12223],\"mapped\",[39727]],[[12224,12224],\"mapped\",[39730]],[[12225,12225],\"mapped\",[39740]],[[12226,12226],\"mapped\",[39770]],[[12227,12227],\"mapped\",[40165]],[[12228,12228],\"mapped\",[40565]],[[12229,12229],\"mapped\",[40575]],[[12230,12230],\"mapped\",[40613]],[[12231,12231],\"mapped\",[40635]],[[12232,12232],\"mapped\",[40643]],[[12233,12233],\"mapped\",[40653]],[[12234,12234],\"mapped\",[40657]],[[12235,12235],\"mapped\",[40697]],[[12236,12236],\"mapped\",[40701]],[[12237,12237],\"mapped\",[40718]],[[12238,12238],\"mapped\",[40723]],[[12239,12239],\"mapped\",[40736]],[[12240,12240],\"mapped\",[40763]],[[12241,12241],\"mapped\",[40778]],[[12242,12242],\"mapped\",[40786]],[[12243,12243],\"mapped\",[40845]],[[12244,12244],\"mapped\",[40860]],[[12245,12245],\"mapped\",[40864]],[[12246,12271],\"disallowed\"],[[12272,12283],\"disallowed\"],[[12284,12287],\"disallowed\"],[[12288,12288],\"disallowed_STD3_mapped\",[32]],[[12289,12289],\"valid\",[],\"NV8\"],[[12290,12290],\"mapped\",[46]],[[12291,12292],\"valid\",[],\"NV8\"],[[12293,12295],\"valid\"],[[12296,12329],\"valid\",[],\"NV8\"],[[12330,12333],\"valid\"],[[12334,12341],\"valid\",[],\"NV8\"],[[12342,12342],\"mapped\",[12306]],[[12343,12343],\"valid\",[],\"NV8\"],[[12344,12344],\"mapped\",[21313]],[[12345,12345],\"mapped\",[21316]],[[12346,12346],\"mapped\",[21317]],[[12347,12347],\"valid\",[],\"NV8\"],[[12348,12348],\"valid\"],[[12349,12349],\"valid\",[],\"NV8\"],[[12350,12350],\"valid\",[],\"NV8\"],[[12351,12351],\"valid\",[],\"NV8\"],[[12352,12352],\"disallowed\"],[[12353,12436],\"valid\"],[[12437,12438],\"valid\"],[[12439,12440],\"disallowed\"],[[12441,12442],\"valid\"],[[12443,12443],\"disallowed_STD3_mapped\",[32,12441]],[[12444,12444],\"disallowed_STD3_mapped\",[32,12442]],[[12445,12446],\"valid\"],[[12447,12447],\"mapped\",[12424,12426]],[[12448,12448],\"valid\",[],\"NV8\"],[[12449,12542],\"valid\"],[[12543,12543],\"mapped\",[12467,12488]],[[12544,12548],\"disallowed\"],[[12549,12588],\"valid\"],[[12589,12589],\"valid\"],[[12590,12592],\"disallowed\"],[[12593,12593],\"mapped\",[4352]],[[12594,12594],\"mapped\",[4353]],[[12595,12595],\"mapped\",[4522]],[[12596,12596],\"mapped\",[4354]],[[12597,12597],\"mapped\",[4524]],[[12598,12598],\"mapped\",[4525]],[[12599,12599],\"mapped\",[4355]],[[12600,12600],\"mapped\",[4356]],[[12601,12601],\"mapped\",[4357]],[[12602,12602],\"mapped\",[4528]],[[12603,12603],\"mapped\",[4529]],[[12604,12
47807604],\"mapped\",[4530]],[[12605,12605],\"mapped\",[4531]],[[12606,12606],\"mapped\",[4532]],[[12607,12607],\"mapped\",[4533]],[[12608,12608],\"mapped\",[4378]],[[12609,12609],\"mapped\",[4358]],[[12610,12610],\"mapped\",[4359]],[[12611,12611],\"mapped\",[4360]],[[12612,12612],\"mapped\",[4385]],[[12613,12613],\"mapped\",[4361]],[[12614,12614],\"mapped\",[4362]],[[12615,12615],\"mapped\",[4363]],[[12616,12616],\"mapped\",[4364]],[[12617,12617],\"mapped\",[4365]],[[12618,12618],\"mapped\",[4366]],[[12619,12619],\"mapped\",[4367]],[[12620,12620],\"mapped\",[4368]],[[12621,12621],\"mapped\",[4369]],[[12622,12622],\"mapped\",[4370]],[[12623,12623],\"mapped\",[4449]],[[12624,12624],\"mapped\",[4450]],[[12625,12625],\"mapped\",[4451]],[[12626,12626],\"mapped\",[4452]],[[12627,12627],\"mapped\",[4453]],[[12628,12628],\"mapped\",[4454]],[[12629,12629],\"mapped\",[4455]],[[12630,12630],\"mapped\",[4456]],[[12631,12631],\"mapped\",[4457]],[[12632,12632],\"mapped\",[4458]],[[12633,12633],\"mapped\",[4459]],[[12634,12634],\"mapped\",[4460]],[[12635,12635],\"mapped\",[4461]],[[12636,12636],\"mapped\",[4462]],[[12637,12637],\"mapped\",[4463]],[[12638,12638],\"mapped\",[4464]],[[12639,12639],\"mapped\",[4465]],[[12640,12640],\"mapped\",[4466]],[[12641,12641],\"mapped\",[4467]],[[12642,12642],\"mapped\",[4468]],[[12643,12643],\"mapped\",[4469]],[[12644,12644],\"disallowed\"],[[12645,12645],\"mapped\",[4372]],[[12646,12646],\"mapped\",[4373]],[[12647,12647],\"mapped\",[4551]],[[12648,12648],\"mapped\",[4552]],[[12649,12649],\"mapped\",[4556]],[[12650,12650],\"mapped\",[4558]],[[12651,12651],\"mapped\",[4563]],[[12652,12652],\"mapped\",[4567]],[[12653,12653],\"mapped\",[4569]],[[12654,12654],\"mapped\",[4380]],[[12655,12655],\"mapped\",[4573]],[[12656,12656],\"mapped\",[4575]],[[12657,12657],\"mapped\",[4381]],[[12658,12658],\"mapped\",[4382]],[[12659,12659],\"mapped\",[4384]],[[12660,12660],\"mapped\",[4386]],[[12661,12661],\"mapped\",[4387]],[[12662,12662],\"mapped\",[4391]],[[12663,12663],\"mapped\",[4393]],[[12664,12664],\"mapped\",[4395]],[[12665,12665],\"mapped\",[4396]],[[12666,12666],\"mapped\",[4397]],[[12667,12667],\"mapped\",[4398]],[[12668,12668],\"mapped\",[4399]],[[12669,12669],\"mapped\",[4402]],[[12670,12670],\"mapped\",[4406]],[[12671,12671],\"mapped\",[4416]],[[12672,12672],\"mapped\",[4423]],[[12673,12673],\"mapped\",[4428]],[[12674,12674],\"mapped\",[4593]],[[12675,12675],\"mapped\",[4594]],[[12676,12676],\"mapped\",[4439]],[[12677,12677],\"mapped\",[4440]],[[12678,12678],\"mapped\",[4441]],[[12679,12679],\"mapped\",[4484]],[[12680,12680],\"mapped\",[4485]],[[12681,12681],\"mapped\",[4488]],[[12682,12682],\"mapped\",[4497]],[[12683,12683],\"mapped\",[4498]],[[12684,12684],\"mapped\",[4500]],[[12685,12685],\"mapped\",[4510]],[[12686,12686],\"mapped\",[4513]],[[12687,12687],\"disallowed\"],[[12688,12689],\"valid\",[],\"NV8\"],[[12690,12690],\"mapped\",[19968]],[[12691,12691],\"mapped\",[20108]],[[12692,12692],\"mapped\",[19977]],[[12693,12693],\"mapped\",[22235]],[[12694,12694],\"mapped\",[19978]],[[12695,12695],\"mapped\",[20013]],[[12696,12696],\"mapped\",[19979]],[[12697,12697],\"mapped\",[30002]],[[12698,12698],\"mapped\",[20057]],[[12699,12699],\"mapped\",[19993]],[[12700,12700],\"mapped\",[19969]],[[12701,12701],\"mapped\",[22825]],[[12702,12702],\"mapped\",[22320]],[[12703,12703],\"mapped\",[20154]],[[12704,12727],\"valid\"],[[12728,12730],\"valid\"],[[12731,12735],\"disallowed\"],[[12736,12751],\"valid\",[],\"NV8\"],[[12752,12771],\"valid\",[],\"NV8\"],[[12772,12783],\"disallowed\"],[[12784,12799],\"valid\"],[[12800,12800],\"disallowed_STD3_mapped\",[40,4352,41]],[[12801,12801],\"disallowed_STD3_mapped\",[40,4354,41]],[[12802,12802],\"disallowed_STD3_mapped\",[40,4355,41]],[[12803,12803],\"disallowed_STD3_mapped\",[40,4357,41]],[[12804,12804],\"disallowed_STD3_mapped\",[40,4358,41]],[[12805,12805],\"disallowed_STD3_mapped\",[40,4359,41]],[[12806,12806],\"disallowed_STD3_mapped\",[40,4361,41]],[[12807,12807],\"disallowed_STD3_mapped\",[40,4363,41]],[[12808,12808],\"disallowed_STD3_mapped\",[40,4364,41]],[[12809,12809],\"disallowed_STD3_mapped\",[40,4366,41]],[[12810,12810],\"disallowed_STD3_mapped\",[40,4367,41]],[[12811,12811],\"disallowed_STD3_mapped\",[40,4368,41]],[[12812,12812],\"disallowed_STD3_mapped\",[40,4369,41]],[[12813,12813],\"disallowed_STD3_mapped\",[40,4370,41]],[[12814,12814],\"disallowed_STD3_mapped\",[40,44032,41]],[[12815,12815],\"disallowed_STD3_mapped\",[40,45208,41]],[[12816,12816],\"disallowed_STD3_mapped\",[40,45796,41]],[[12817,12817],\"disallowed_STD3_mapped\",[40,46972,41]],[[12818,12818],\"disallowed_STD3_mapped\",[40,47560,41]],[[12819,12819],\"disallowed_STD3_mapped\",[40,48148,41]],[[12820,12820],\"disallowed_STD3_mapped\",[40,49324,41]],[[12821,12821],\"disallowed_STD3_mapped\",[40,50500,41]],[[12822,12822],\"disallowed_STD3_mapped\",[40,51088,41]],[[12823,12823],\"disallowed_STD3_mapped\",[40,52264,41]],[[12824,12824],\"disallowed_STD3_mapped\",[40,52852,41]],[[12825,12825],\"disallowed_STD3_mapped\",[40,53440,41]],[[12826,12826],\"disallowed_STD3_mapped\",[40,54028,41]],[[12827,12827],\"disallowed_STD3_mapped\",[40,54616,41]],[[12828,12828],\"disallowed_STD3_mapped\",[40,51452,41]],[[12829,12829],\"disallowed_STD3_mapped\",[40,50724,51204,41]],[[12830,12830],\"disallowed_STD3_mapped\",[40,50724,54980,41]],[[12831,12831],\"disallowed\"],[[12832,12832],\"disallowed_STD3_mapped\",[40,19968,41]],[[12833,12833],\"disallowed_STD3_mapped\",[40,20108,41]],[[12834,12834],\"disallowed_STD3_mapped\",[40,19977,41]],[[12835,12835],\"disallowed_STD3_mapped\",[40,22235,41]],[[12836,12836],\"disallowed_STD3_mapped\",[40,20116,41]],[[12837,12837],\"disallowed_STD3_mapped\",[40,20845,41]],[[12838,12838],\"disallowed_STD3_mapped\",[40,19971,41]],[[12839,12839],\"disallowed_STD3_mapped\",[40,20843,41]],[[12840,12840],\"disallowed_STD3_mapped\",[40,20061,41]],[[12841,12841],\"disallowed_STD3_mapped\",[40,21313,41]],[[12842,12842],\"disallowed_STD3_mapped\",[40,26376,41]],[[12843,12843],\"disallowed_STD3_mapped\",[40,28779,41]],[[12844,12844],\"disallowed_STD3_mapped\",[40,27700,41]],[[12845,12845],\"disallowed_STD3_mapped\",[40,26408,41]],[[12846,12846],\"disallowed_STD3_mapped\",[40,37329,41]],[[12847,12847],\"disallowed_STD3_mapped\",[40,22303,41]],[[12848,12848],\"disallowed_STD3_mapped\",[40,26085,41]],[[12849,12849],\"disallowed_STD3_mapped\",[40,26666,41]],[[12850,12850],\"disallowed_STD3_mapped\",[40,26377,41]],[[12851,12851],\"disallowed_STD3_mapped\",[40,31038,41]],[[12852,12852],\"disallowed_STD3_mapped\",[40,21517,41]],[[12853,12853],\"disallowed_STD3_mapped\",[40,29305,41]],[[12854,12854],\"disallowed_STD3_mapped\",[40,36001,41]],[[12855,12855],\"disallowed_STD3_mapped\",[40,31069,41]],[[12856,12856],\"disallowed_STD3_mapped\",[40,21172,41]],[[12857,12857],\"disallowed_STD3_mapped\",[40,20195,41]],[[12858,12858],\"disallowed_STD3_mapped\",[40,21628,41]],[[12859,12859],\"disallowed_STD3_mapped\",[40,23398,41]],[[12860,12860],\"disallowed_STD3_mapped\",[40,30435,41]],[[12861,12861],\"disallowed_STD3_mapped\",[40,20225,41]],[[12862,12862],\"disallowed_STD3_mapped\",[40,36039,41]],[[12863,12863],\"disallowed_STD3_mapped\",[40,21332,41]],[[12864,12864],\"disallowed_STD3_mapped\",[40,31085,41]],[[12865,12865],\"disallowed_STD3_mapped\",[40,20241,41]],[[12866,12866],\"disallowed_STD3_mapped\",[40,33258,41]],[[12867,12867],\"disallowed_STD3_mapped\",[40,33267,41]],[[12868,12868],\"mapped\",[21839]],[[12869,12869],\"mapped\",[24188]],[[12870,12870],\"mapped\",[25991]],[[12871,12871],\"mapped\",[31631]],[[12872,12879],\"valid\",[],\"NV8\"],[[12880,12880],\"mapped\",[112,116,101]],[[12881,12881],\"mapped\",[50,49]],[[12882,12882],\"mapped\",[50,50]],[[12883,12883],\"mapped\",[50,51]],[[12884,12884],\"mapped\",[50,52]],[[12885,12885
47807],\"mapped\",[50,53]],[[12886,12886],\"mapped\",[50,54]],[[12887,12887],\"mapped\",[50,55]],[[12888,12888],\"mapped\",[50,56]],[[12889,12889],\"mapped\",[50,57]],[[12890,12890],\"mapped\",[51,48]],[[12891,12891],\"mapped\",[51,49]],[[12892,12892],\"mapped\",[51,50]],[[12893,12893],\"mapped\",[51,51]],[[12894,12894],\"mapped\",[51,52]],[[12895,12895],\"mapped\",[51,53]],[[12896,12896],\"mapped\",[4352]],[[12897,12897],\"mapped\",[4354]],[[12898,12898],\"mapped\",[4355]],[[12899,12899],\"mapped\",[4357]],[[12900,12900],\"mapped\",[4358]],[[12901,12901],\"mapped\",[4359]],[[12902,12902],\"mapped\",[4361]],[[12903,12903],\"mapped\",[4363]],[[12904,12904],\"mapped\",[4364]],[[12905,12905],\"mapped\",[4366]],[[12906,12906],\"mapped\",[4367]],[[12907,12907],\"mapped\",[4368]],[[12908,12908],\"mapped\",[4369]],[[12909,12909],\"mapped\",[4370]],[[12910,12910],\"mapped\",[44032]],[[12911,12911],\"mapped\",[45208]],[[12912,12912],\"mapped\",[45796]],[[12913,12913],\"mapped\",[46972]],[[12914,12914],\"mapped\",[47560]],[[12915,12915],\"mapped\",[48148]],[[12916,12916],\"mapped\",[49324]],[[12917,12917],\"mapped\",[50500]],[[12918,12918],\"mapped\",[51088]],[[12919,12919],\"mapped\",[52264]],[[12920,12920],\"mapped\",[52852]],[[12921,12921],\"mapped\",[53440]],[[12922,12922],\"mapped\",[54028]],[[12923,12923],\"mapped\",[54616]],[[12924,12924],\"mapped\",[52280,44256]],[[12925,12925],\"mapped\",[51452,51032]],[[12926,12926],\"mapped\",[50864]],[[12927,12927],\"valid\",[],\"NV8\"],[[12928,12928],\"mapped\",[19968]],[[12929,12929],\"mapped\",[20108]],[[12930,12930],\"mapped\",[19977]],[[12931,12931],\"mapped\",[22235]],[[12932,12932],\"mapped\",[20116]],[[12933,12933],\"mapped\",[20845]],[[12934,12934],\"mapped\",[19971]],[[12935,12935],\"mapped\",[20843]],[[12936,12936],\"mapped\",[20061]],[[12937,12937],\"mapped\",[21313]],[[12938,12938],\"mapped\",[26376]],[[12939,12939],\"mapped\",[28779]],[[12940,12940],\"mapped\",[27700]],[[12941,12941],\"mapped\",[26408]],[[12942,12942],\"mapped\",[37329]],[[12943,12943],\"mapped\",[22303]],[[12944,12944],\"mapped\",[26085]],[[12945,12945],\"mapped\",[26666]],[[12946,12946],\"mapped\",[26377]],[[12947,12947],\"mapped\",[31038]],[[12948,12948],\"mapped\",[21517]],[[12949,12949],\"mapped\",[29305]],[[12950,12950],\"mapped\",[36001]],[[12951,12951],\"mapped\",[31069]],[[12952,12952],\"mapped\",[21172]],[[12953,12953],\"mapped\",[31192]],[[12954,12954],\"mapped\",[30007]],[[12955,12955],\"mapped\",[22899]],[[12956,12956],\"mapped\",[36969]],[[12957,12957],\"mapped\",[20778]],[[12958,12958],\"mapped\",[21360]],[[12959,12959],\"mapped\",[27880]],[[12960,12960],\"mapped\",[38917]],[[12961,12961],\"mapped\",[20241]],[[12962,12962],\"mapped\",[20889]],[[12963,12963],\"mapped\",[27491]],[[12964,12964],\"mapped\",[19978]],[[12965,12965],\"mapped\",[20013]],[[12966,12966],\"mapped\",[19979]],[[12967,12967],\"mapped\",[24038]],[[12968,12968],\"mapped\",[21491]],[[12969,12969],\"mapped\",[21307]],[[12970,12970],\"mapped\",[23447]],[[12971,12971],\"mapped\",[23398]],[[12972,12972],\"mapped\",[30435]],[[12973,12973],\"mapped\",[20225]],[[12974,12974],\"mapped\",[36039]],[[12975,12975],\"mapped\",[21332]],[[12976,12976],\"mapped\",[22812]],[[12977,12977],\"mapped\",[51,54]],[[12978,12978],\"mapped\",[51,55]],[[12979,12979],\"mapped\",[51,56]],[[12980,12980],\"mapped\",[51,57]],[[12981,12981],\"mapped\",[52,48]],[[12982,12982],\"mapped\",[52,49]],[[12983,12983],\"mapped\",[52,50]],[[12984,12984],\"mapped\",[52,51]],[[12985,12985],\"mapped\",[52,52]],[[12986,12986],\"mapped\",[52,53]],[[12987,12987],\"mapped\",[52,54]],[[12988,12988],\"mapped\",[52,55]],[[12989,12989],\"mapped\",[52,56]],[[12990,12990],\"mapped\",[52,57]],[[12991,12991],\"mapped\",[53,48]],[[12992,12992],\"mapped\",[49,26376]],[[12993,12993],\"mapped\",[50,26376]],[[12994,12994],\"mapped\",[51,26376]],[[12995,12995],\"mapped\",[52,26376]],[[12996,12996],\"mapped\",[53,26376]],[[12997,12997],\"mapped\",[54,26376]],[[12998,12998],\"mapped\",[55,26376]],[[12999,12999],\"mapped\",[56,26376]],[[13000,13000],\"mapped\",[57,26376]],[[13001,13001],\"mapped\",[49,48,26376]],[[13002,13002],\"mapped\",[49,49,26376]],[[13003,13003],\"mapped\",[49,50,26376]],[[13004,13004],\"mapped\",[104,103]],[[13005,13005],\"mapped\",[101,114,103]],[[13006,
4780713006],\"mapped\",[101,118]],[[13007,13007],\"mapped\",[108,116,100]],[[13008,13008],\"mapped\",[12450]],[[13009,13009],\"mapped\",[12452]],[[13010,13010],\"mapped\",[12454]],[[13011,13011],\"mapped\",[12456]],[[13012,13012],\"mapped\",[12458]],[[13013,13013],\"mapped\",[12459]],[[13014,13014],\"mapped\",[12461]],[[13015,13015],\"mapped\",[12463]],[[13016,13016],\"mapped\",[12465]],[[13017,13017],\"mapped\",[12467]],[[13018,13018],\"mapped\",[12469]],[[13019,13019],\"mapped\",[12471]],[[13020,13020],\"mapped\",[12473]],[[13021,13021],\"mapped\",[12475]],[[13022,13022],\"mapped\",[12477]],[[13023,13023],\"mapped\",[12479]],[[13024,13024],\"mapped\",[12481]],[[13025,13025],\"mapped\",[12484]],[[13026,13026],\"mapped\",[12486]],[[13027,13027],\"mapped\",[12488]],[[13028,13028],\"mapped\",[12490]],[[13029,13029],\"mapped\",[12491]],[[13030,13030],\"mapped\",[12492]],[[13031,13031],\"mapped\",[12493]],[[13032,13032],\"mapped\",[12494]],[[13033,13033],\"mapped\",[12495]],[[13034,13034],\"mapped\",[12498]],[[13035,13035],\"mapped\",[12501]],[[13036,13036],\"mapped\",[12504]],[[13037,13037],\"mapped\",[12507]],[[13038,13038],\"mapped\",[12510]],[[13039,13039],\"mapped\",[12511]],[[13040,13040],\"mapped\",[12512]],[[13041,13041],\"mapped\",[12513]],[[13042,13042],\"mapped\",[12514]],[[13043,13043],\"mapped\",[12516]],[[13044,13044],\"mapped\",[12518]],[[13045,13045],\"mapped\",[12520]],[[13046,13046],\"mapped\",[12521]],[[13047,13047],\"mapped\",[12522]],[[13048,13048],\"mapped\",[12523]],[[13049,13049],\"mapped\",[12524]],[[13050,13050],\"mapped\",[12525]],[[13051,13051],\"mapped\",[12527]],[[13052,13052],\"mapped\",[12528]],[[13053,13053],\"mapped\",[12529]],[[13054,13054],\"mapped\",[12530]],[[13055,13055],\"disallowed\"],[[13056,13056],\"mapped\",[12450,12497,12540,12488]],[[13057,13057],\"mapped\",[12450,12523,12501,12449]],[[13058,13058],\"mapped\",[12450,12531,12506,12450]],[[13059,13059],\"mapped\",[12450,12540,12523]],[[13060,13060],\"mapped\",[12452,12491,12531,12464]],[[13061,13061],\"mapped\",[12452,12531,12481]],[[13062,13062],\"mapped\",[12454,12457,12531]],[[13063,13063],\"mapped\",[12456,12473,12463,12540,12489]],[[13064,13064],\"mapped\",[12456,12540,12459,12540]],[[13065,13065],\"mapped\",[12458,12531,12473]],[[13066,13066],\"mapped\",[12458,12540,12512]],[[13067,13067],\"mapped\",[12459,12452,12522]],[[13068,13068],\"mapped\",[12459,12521,12483,12488]],[[13069,13069],\"mapped\",[12459,12525,12522,12540]],[[13070,13070],\"mapped\",[12460,12525,12531]],[[13071,13071],\"mapped\",[12460,12531,12510]],[[13072,13072],\"mapped\",[12462,12460]],[[13073,13073],\"mapped\",[12462,12491,12540]],[[13074,13074],\"mapped\",[12461,12517,12522,12540]],[[13075,13075],\"mapped\",[12462,12523,12480,12540]],[[13076,13076],\"mapped\",[12461,12525]],[[13077,13077],\"mapped\",[12461,12525,12464,12521,12512]],[[13078,13078],\"mapped\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\"mapped\",[12461,12525,12527,12483,12488]],[[13080,13080],\"mapped\",[12464,12521,12512]],[[13081,13081],\"mapped\",[12464,12521,12512,12488,12531]],[[13082,13082],\"mapped\",[12463,12523,12476,12452,12525]],[[13083,13083],\"mapped\",[12463,12525,12540,12493]],[[13084,13084],\"mapped\",[12465,12540,12473]],[[13085,13085],\"mapped\",[12467,12523,12490]],[[13086,13086],\"mapped\",[12467,12540,12509]],[[13087,13087],\"mapped\",[12469,12452,12463,12523]],[[13088,13088],\"mapped\",[12469,12531,12481,12540,12512]],[[13089,13089],\"mapped\",[12471,12522,12531,12464]],[[13090,13090],\"mapped\",[12475,12531,12481]],[[13091,13091],\"mapped\",[12475,12531,12488]],[[13092,13092],\"mapped\",[12480,12540,12473]],[[13093,13093],\"mapped\",[12487,12471]],[[13094,13094],\"mapped\",[12489,12523]],[[13095,13095],\"mapped\",[12488,12531]],[[13096,13096],\"mapped\",[12490,12494]],[[13097,13097],\"mapped\",[12494,12483,12488]],[[13098,13098],\"mapped\",[12495,12452,12484]],[[13099,13099],\"mapped\",[12497,12540,12475,12531,12488]],[[13100,13100],\"mapped\",[12497,12540,12484]],[[13101,13101],\"mapped\",[12496,12540,12524,12523]],[[13102,13102],\"mapped\",[12500,12450,12473,12488,12523]],[[13103,13103],\"mapped\",[12500,12463,12523]],[[13104,13104],\"mapped\",[12500,12467]],[[13105,13105],\"mapped\",[12499,12523]],[[13106,13106],\"mapped\",[12501,12449,12521,12483,12489]],[[13107,13107],\"mapped\",[12501,12451,12540,12488]],[[13108,13108],\"mapped\",[12502,12483,12471,12455,12523]],[[13109,13109],\"mapped\",[12501,12521,12531]],[[13110,13110],\"mapped\",[12504,12463,12479,12540,12523]],[[13111,13111],\"mapped\",[12506,12477]],[[13112,13112],\"mapped\",[12506,12491,12498]],[[13113,13113],\"mapped\",[12504,12523,12484]],[[13114,13114],\"mapped\",[12506,12531,12473]],[[13115,13115],\"mapped\",[12506,12540,12472]],[[13116,13116],\"mapped\",[12505,12540,12479]],[[13117,13117],\"mapped\",[12509,12452,12531,12488]],[[13118,13118],\"mapped\",[12508,12523,12488]],[[13119,13119],\"mapped\",[12507,12531]],[[13120,13120],\"mapped\",[12509,12531,12489]],[[13121,13121],\"mapped\",[12507,12540,12523]],[[13122,13122],\"mapped\",[12507,12540,12531]],[[13123,13123],\"mapped\",[12510,12452,12463,12525]],[[13124,13124],\"mapped\",[12510,12452,12523]],[[13125,13125],\"mapped\",[12510,12483,12495]],[[13126,13126],\"mapped\",[12510,12523,12463]],[[13127,13127],\"mapped\",[12510,12531,12471,12519,12531]],[[13128,13128],\"mapped\",[12511,12463,12525,12531]],[[13129,13129],\"mapped\",[12511,12522]],[[13130,13130],\"mapped\",[12511,12522,12496,12540,12523]],[[13131,13131],\"mapped\",[12513,12460]],[[13132,13132],\"mapped\",[12513,12460,12488,12531]],[[13133,13133],\"mapped\",[12513,12540,12488,12523]],[[13134,13134],\"mapped\",[12516,12540,12489]],[[13135,13135],\"mapped\",[12516,12540,12523]],[[13136,13136],\"mapped\",[12518,12450,12531]],[[13137,13137],\"mapped\",[12522,12483,12488,12523]],[[13138,13138],\"mapped\",[12522,12521]],[[13139,13139],\"mapped\",[12523,12500,12540]],[[13140,13140],\"mapped\",[12523,12540,12502,12523]],[[13141,13141],\"mapped\",[12524,12512]],[[13142,13142],\"mapped\",[12524,12531,12488,12466,12531]],[[13143,13143],\"mapped\",[12527,12483,12488]],[[13144,13144],\"mapped\",[48,28857]],[[13145,13145],\"mapped\",[49,28857]],[[13146,13146],\"mapped\",[50,28857]],[[13147,13147],\"mapped\",[51,28857]],[[13148,13148],\"mapped\",[52,28857]],[[13149,13149],\"mapped\",[53,28857]],[[13150,13150],\"mapped\",[54,28857]],[[13151,13151],\"mapped\",[55,28857]],[[13152,13152],\"mapped\",[56,28857]],[[13153,13153],\"mapped\",[57,28857]],[[13154,13154],\"mapped\",[49,48,28857]],[[13155,13155],\"mapped\",[49,49,28857]],[[13156,13156],\"mapped\",[49,50,28857]],[[13157,13157],\"mapped\",[49,51,28857]],[[13158,13158],\"mapped\",[49,52,28857]],[[13159,13159],\"mapped\",[49,53,28857]],[[13160,13160],\"mapped\",[49,54,28857]],[[13161,13161],\"mapped\",[49,55,28857]],[[13162,13162],\"mapped\",[49,56,28857]],[[13163,13163],\"mapped\",[49,57,28857]],[[13164,13164],\"mapped\",[50,48,28857]],[[13165,13165],\"mapped\",[50,49,28857]],[[13166,13166],\"mapped\",[50,50,28857]],[[13167,13167],\"mapped\",[50,51,28857]],[[13168,13168],\"mapped\",[50,52,28857]],[[13169,13169],\"mapped\",[104,112,97]],[[13170,13170],\"mapped\",[100,97
47807]],[[13171,13171],\"mapped\",[97,117]],[[13172,13172],\"mapped\",[98,97,114]],[[13173,13173],\"mapped\",[111,118]],[[13174,13174],\"mapped\",[112,99]],[[13175,13175],\"mapped\",[100,109]],[[13176,13176],\"mapped\",[100,109,50]],[[13177,13177],\"mapped\",[100,109,51]],[[13178,13178],\"mapped\",[105,117]],[[13179,13179],\"mapped\",[24179,25104]],[[13180,13180],\"mapped\",[26157,21644]],[[13181,13181],\"mapped\",[22823,27491]],[[13182,13182],\"mapped\",[26126,27835]],[[13183,13183],\"mapped\",[26666,24335,20250,31038]],[[13184,13184],\"mapped\",[112,97]],[[13185,13185],\"mapped\",[110,97]],[[13186,13186],\"mapped\",[956,97]],[[13187,13187],\"mapped\",[109,97]],[[13188,13188],\"mapped\",[107,97]],[[13189,13189],\"mapped\",[107,98]],[[13190,13190],\"mapped\",[109,98]],[[13191,13191],\"mapped\",[103,98]],[[13192,13192],\"mapped\",[99,97,108]],[[13193,13193],\"mapped\",[107,99,97,108]],[[13194,13194],\"mapped\",[112,102]],[[13195,13195],\"mapped\",[110,102]],[[13196,13196],\"mapped\",[956,102]],[[13197,13197],\"mapped\",[956,103]],[[13198,13198],\"mapped\",[109,103]],[[13199,13199],\"mapped\",[107,103]],[[13200,13200],\"mapped\",[104,122]],[[13201,13201],\"mapped\",[107,104,122]],[[13202,13202],\"mapped\",[109,104,122]],[[13203,13203],\"mapped\",[103,104,122]],[[13204,13204],\"mapped\",[116,104,122]],[[13205,13205],\"mapped\",[956,108]],[[13206,13206],\"mapped\",[109,108]],[[13207,13207],\"mapped\",[100,108]],[[13208,13208],\"mapped\",[107,108]],[[13209,13209],\"mapped\",[102,109]],[[13210,13210],\"mapped\",[110,109]],[[13211,13211],\"mapped\",[956,109]],[[13212,13212],\"mapped\",[109,109]],[[13213,13213],\"mapped\",[99,109]],[[13214,13214],\"mapped\",[107,109]],[[13215,13215],\"mapped\",[109,109,50]],[[13216,13216],\"mapped\",[99,109,50]],[[13217,13217],\"mapped\",[109,50]],[[13218,13218],\"mapped\",[107,109,50]],[[13219,13219],\"mapped\",[109,109,51]],[[13220,13220],\"mapped\",[99,109,51]],[[13221,13221],\"mapped\",[109,51]],[[13222,13222],\"mapped\",[107,109,51]],[[13223,13223],\"mapped\",[109,8725,115]],[[13224,13224],\"mapped\",[109,8725,115,50]],[[13225,13225],\"mapped\",[112,97]],[[13226,13226],\"mapped\",[107,112,97]],[[13227,13227],\"mapped\",[109,112,97]],[[13228,13228],\"mapped\",[103,112,97]],[[13229,13229],\"mapped\",[114,97,100]],[[13230,13230],\"mapped\",[114,97,100,8725,115]],[[13231,13231],\"mapped\",[114,97,100,8725,115,50]],[[13232,13232],\"mapped\",[112,115]],[[13233,13233],\"mapped\",[110,115]],[[13234,13234],\"mapped\",[956,115]],[[13235,13235],\"mapped\",[109,115]],[[13236,13236],\"mapped\",[112,118]],[[13237,13237],\"mapped\",[110,118]],[[13238,13238],\"mapped\",[956,118]],[[13239,13239],\"mapped\",[109,118]],[[13240,13240],\"mapped\",[107,118]],[[13241,13241],\"mapped\",[109,118]],[[13242,13242],\"mapped\",[112,119]],[[13243,13243],\"mapped\",[110,119]],[[13244,13244],\"mapped\",[956,119]],[[13245,13245],\"mapped\",[109,119]],[[13246,13246],\"mapped\",[107,119]],[[13247,13247],\"mapped\",[109,119]],[[13248,13248],\"mapped\",[107,969]],[[13249,13249],\"mapped\",[109,969]],[[13250,13250],\"disallowed\"],[[13251,13251],\"mapped\",[98,113]],[[13252,13252],\"mapped\",[99,99]],[[13253,13253],\"mapped\",[99,100]],[[13254,13254],\"mapped\",[99,8725,107,103]],[[13255,13255],\"disallowed\"],[[13256,13256],\"mapped\",[100,98]],[[13257,13257],\"mapped\",[103,121]],[[13258,13258],\"mapped\",[104,97]],[[13259,13259],\"mapped\",[104,112]],[[13260,13260],\"mapped\",[105,110]],[[13261,13261],\"mapped\",[107,107]],[[13262,13262],\"mapped\",[107,109]],[[13263,13263],\"mapped\",[107,116]],[[13264,13264],\"mapped\",[108,109]],[[13265,13265],\"mapped\",[108,110]],[[13266,13266],\"mapped\",[108,111,103]],[[13267,13267],\"mapped\",[108,120]],[[13268,13268],\"mapped\",[109,98]],[[13269,13269],\"mapped\",[109,105,108]],[[13270,13270],\"mapped\",[109,111,108]],[[13271,13271],\"mapped\",[112,104]],[[13272,13272],\"disallowed\"],[[13273,13273],\"mapped\",[112,112,109]],[[13274,13274],\"mapped\",[112,114]],[[13275,13275],\"mapped\",[115,114]],[[13276,13276],\"mapped\",[115,118]],[[13277,13277],\"mapped\",[119,98]],[[13278,13278],\"mapped\",[118,8725,109]],[[13279,13279],\"mapped\",[97,8725,109]],[[13280,13280],\"mapped\",[49,26085]],[[13281,13281],\"mapped\",[50,26085]],[[13282,13282],\"mapped\",[51,26085]],[[13283,13283],\"mapped\",[52,26085]],[[13284,13284],\"mapped\",[53,26085]],[[13285,13285],\"mapped\",[54,26085]],[[13286,13286],\"mapped\",[55,26085]],[[13287,13287],\"mapped\",[56,26085]],[[13288,13288],\"mapped\",[57,26085]],[[13289,13289],\"mapped\",[49,48,26085]],[[13290,13290],\"mapped\",[49,49,26085]],[[13291,13291],\"mapped\",[49,50,26085]],[[13292,13292],\"mapped\",[49,51,26085]],[[13293,13293],\"mapped\",[49,52,26085]],[[13294,13294],\"mapped\",[49,53,26085]],[[13295,13295],\"mapped\",[49,54,26085]],[[13296,13296],\"mapped\",[49,55,26085]],[[13297,13297],\"mapped\",[49,56,26085]],[[13298,13298],\"mapped\",[49,57,26085]],[[13299,13299],\"mapped\",[50,48,26085]],[[13300,13300],\"mapped\",[50,49,26085]],[[13301,13301],\"mapped\",[50,50,26085]],[[13302,13302],\"mapped\",[50,51,26085]],[[13303,13303],\"mapped\",[50,52,26085]],[[13304,13304],\"mapped\",[50,53,26085]],[[13305,13305],\"mapped\",[50,54,26085]],[[13306,13306],\"mapped\",[50,55,26085]],[[13307,13307],\"mapped\",[50,56,26085]],[[13308,13308],\"mapped\",[50,57,26085]],[[13309,13309],\"mapped\",[51,48,26085]],[[13310,13310],\"mapped\",[51,49,26085]],[[13311,13311],\"mapped\",[103,97,108]],[[13312,19893],\"valid\"],[[19894,19903],\"disallowed\"],[[19904,19967],\"valid\",[],\"NV8\"],[[19968,40869],\"valid\"],[[40870,40891],\"valid\"],[[40892,40899],\"valid\"],[[40900,40907],\"valid\"],[[40908,40908],\"valid\"],[[40909,40917],\"valid\"],[[40918,40959],\"disallowed\"],[[40960,42124],\"valid\"],[[42125,42127],\"disallowed\"],[[42128,42145],\"valid\",[],\"NV8\"],[[42146,42147],\"valid\",[],\"NV8\"],[[42148,42163],\"valid\",[],\"NV8\"],[[42164,42164],\"valid\",[],\"NV8\"],[[42165,42176],\"valid\",[],\"NV8\"],[[42177,42177],\"valid\",[],\"NV8\"],[[42178,42180],\"valid\",[],\"NV8\"],[[42181,42181],\"valid\",[],\"NV8\"],[[42182,42182],\"valid\",[],\"NV8\"],[[42183,42191],\"disallowed\"],[[42192,42237],\"valid\"],[[42238,42239],\"valid\",[],\"NV8\"],[[42240,42508],\"valid\"],[[42509,42511],\"valid\",[],\"NV8\"],[[42512,42539],\"valid\"],[[42540,42559],\"disallowed\"],[[42560,42560],\"mapped\",[42561]],[[42561,42561],\"valid\"],[[42562,42562],\"mapped\",[42563]],[[42563,42563],\"valid\"],[[42564,42564],\"mapped\",[42565]],[[42565,42565],\"valid\"],[[42566,42566],\"mapped\",[42567]],[[42567,42567],\"valid\"],[[42568,42568],\"mapped\",[42569]],[[42569,42569],\"valid\"],[[42570,42570],\"mapped\",[42571]],[[42571,42571],\"valid\"],[[42572,42572],\"mapped\",[42573]],[[42573,42573],\"valid\"],[[42574,42574],\"mapped\",[42575]],[[42575,42575],\"valid\"],[[42576,42576],\"mapped\",[42577]],[[42577,42577],\"valid\"],[[42578,42578],\"mapped\",[42579]],[[42579,42579],\"valid\"],[[42580,42580],\"mapped\",[42581]],[[42581,42581],\"valid\"],[[42582,42582],\"mapped\",[42583]],[[42583,42583],\"valid\"],[[42584,42584],\"mapped\",[42585]],[[42585,42585],\"valid\"],[[42586,42586],\"mapped\",[42587]],[[42587,42587],\"valid\"],[[42588,42588],\"mapped\",[42589]],[[42589,42589],\"valid\"],[[42590,42590],\"mapped\",[42591]],[[42591,42591],\"valid\"],[[42592,42592],\"mapped\",[42593]],[[42593,42593],\"valid\"],[[42594,42594],\"mapped\",[42595]],[[42595,42595],\"valid\"],[[42596,42596],\"mapped\",[42597]],[[42597,42597],\"valid\"],[[42598,42598],\"mapped\",[42599]],[[42599,42599],\"valid\"],[[42600,42600],\"mapped\",[42601]],[[42601,42601],\"valid\"],[[42602,42602],\"mapped\",[42603]],[[42603,42603],\"valid\"],[[42604,42604],\"mapped\",[42605]],[[42605,42607],\"valid\"],[[42608,42611],\"valid\",[],\"NV8\"],[[42612,42619],\"valid\"],[[42620,42621],\"valid\"],[[42622,42622],\"valid\",[],\"NV8\"],[[42623,42623],\"valid\"],[[42624,42624],\"mapped\",[42625]],[[42625,42625],\"valid\"],[[42626,42626],\"mapped\",[42627]],[[42627,42627],\"valid\"],[[42628,42628],\"mapped\",[42629]],[[42629,42629],\"valid\"],[[42630,42630],\"mapped\",[42631]],[[42631,42631],\"valid\"],[[42632,42632],\"mapped\",[42633]],[[42633,42633],\"valid\"],[[42634,42634],\"mapped\",[42635]],[[42635,42635],\"valid\"],[[42636,42636],\"mapped\",[42637]],[[42637,42637],\"valid\"],[[42638,42638],\"mapped\",[42639]],[[42639,42639],\"valid\"],[[42640,42640],\"mapped\",[42641]],[[42641,42641],\"valid\"],[[42642,42642],\"mapped\",[42643]],[[42643,42643],\"valid\"],[[42644,42644],\"mapped\",[42645]],[[42645,42645],\"valid\"],[[42646,42646],\"mapped\",[42647]],[[42647,42647],\"valid\"],[[42648,42648],\"mapped\",[42649]
47807],[[42649,42649],\"valid\"],[[42650,42650],\"mapped\",[42651]],[[42651,42651],\"valid\"],[[42652,42652],\"mapped\",[1098]],[[42653,42653],\"mapped\",[1100]],[[42654,42654],\"valid\"],[[42655,42655],\"valid\"],[[42656,42725],\"valid\"],[[42726,42735],\"valid\",[],\"NV8\"],[[42736,42737],\"valid\"],[[42738,42743],\"valid\",[],\"NV8\"],[[42744,42751],\"disallowed\"],[[42752,42774],\"valid\",[],\"NV8\"],[[42775,42778],\"valid\"],[[42779,42783],\"valid\"],[[42784,42785],\"valid\",[],\"NV8\"],[[42786,42786],\"mapped\",[42787]],[[42787,42787],\"valid\"],[[42788,42788],\"mapped\",[42789]],[[42789,42789],\"valid\"],[[42790,42790],\"mapped\",[42791]],[[42791,42791],\"valid\"],[[42792,42792],\"mapped\",[42793]],[[42793,42793],\"valid\"],[[42794,42794],\"mapped\",[42795]],[[42795,42795],\"valid\"],[[42796,42796],\"mapped\",[42797]],[[42797,42797],\"valid\"],[[42798,42798],\"mapped\",[42799]],[[42799,42801],\"valid\"],[[42802,42802],\"mapped\",[42803]],[[42803,42803],\"valid\"],[[42804,42804],\"mapped\",[42805]],[[42805,42805],\"valid\"],[[42806,42806],\"mapped\",[42807]],[[42807,42807],\"valid\"],[[42808,42808],\"mapped\",[42809]],[[42809,42809],\"valid\"],[[42810,42810],\"mapped\",[42811]],[[42811,42811],\"valid\"],[[42812,42812],\"mapped\",[42813]],[[42813,42813],\"valid\"],[[42814,42814],\"mapped\",[42815]],[[42815,42815],\"valid\"],[[42816,42816],\"mapped\",[42817]],[[42817,42817],\"valid\"],[[42818,42818],\"mapped\",[42819]],[[42819,42819],\"valid\"],[[42820,42820],\"mapped\",[42821]],[[42821,42821],\"valid\"],[[42822,42822],\"mapped\",[42823]],[[42823,42823],\"valid\"],[[42824,42824],\"mapped\",[42825]],[[42825,42825],\"valid\"],[[42826,42826],\"mapped\",[42827]],[[42827,42827],\"valid\"],[[42828,42828],\"mapped\",[42829]],[[42829,42829],\"valid\"],[[42830,42830],\"mapped\",[42831]],[[42831,42831],\"valid\"],[[42832,42832],\"mapped\",[42833]],[[42833,42833],\"valid\"],[[42834,42834],\"mapped\",[42835]],[[42835,42835],\"valid\"],[[42836,42836],\"mapped\",[42837]],[[42837,42837],\"valid\"],[[42838,42838],\"mapped\",[42839]],[[42839,42839],\"valid\"],[[42840,42840],\"mapped\",[42841]],[[42841,42841],\"valid\"],[[42842,42842],\"mapped\",[42843]],[[42843,42843],\"valid\"],[[42844,42844],\"mapped\",[42845]],[[42845,42845],\"valid\"],[[42846,42846],\"mapped\",[42847]],[[42847,42847],\"valid\"],[[42848,42848],\"mapped\",[42849]],[[42849,42849],\"valid\"],[[42850,42850],\"mapped\",[42851]],[[42851,42851],\"valid\"],[[42852,42852],\"mapped\",[42853]],[[42853,42853],\"valid\"],[[42854,42854],\"mapped\",[42855]],[[42855,42855],\"valid\"],[[42856,42856],\"mapped\",[42857]],[[42857,42857],\"valid\"],[[42858,42858],\"mapped\",[42859]],[[42859,42859],\"valid\"],[[42860,42860],\"mapped\",[42861]],[[42861,42861],\"valid\"],[[42862,42862],\"mapped\",[42863]],[[42863,42863],\"valid\"],[[42864,42864],\"mapped\",[42863]],[[42865,42872],\"valid\"],[[42873,42873],\"mapped\",[42874]],[[42874,42874],\"valid\"],[[42875,42875],\"mapped\",[42876]],[[42876,42876],\"valid\"],[[42877,42877],\"mapped\",[7545]],[[42878,42878],\"mapped\",[42879]],[[42879,42879],\"valid\"],[[42880,42880],\"mapped\",[42881]],[[42881,42881],\"valid\"],[[42882,42882],\"mapped\",[42883]],[[42883,42883],\"valid\"],[[42884,42884],\"mapped\",[42885]],[[42885,42885],\"valid\"],[[42886,42886],\"mapped\",[42887]],[[42887,42888],\"valid\"],[[42889,42890],\"valid\",[],\"NV8\"],[[42891,42891],\"mapped\",[42892]],[[42892,42892],\"valid\"],[[42893,42893],\"mapped\",[613]],[[42894,42894],\"valid\"],[[42895,42895],\"valid\"],[[42896,42896],\"mapped\",[42897]],[[42897,42897],\"valid\"],[[42898,42898],\"mapped\",[42899]],[[42899,42899],\"valid\"],[[42900,42901],\"valid\"],[[42902,42902],\"mapped\",[42903]],[[42903,42903],\"valid\"],[[42904,42904],\"mapped\",[42905]],[[42905,42905],\"valid\"],[[42906,42906],\"mapped\",[42907]],[[42907,42907],\"valid\"],[[42908,42908],\"mapped\",[42909]],[[42909,42909],\"valid\"],[[42910,42910],\"mapped\",[42911]],[[42911,42911],\"valid\"],[[42912,42912],\"mapped\",[42913]],[[42913,42913],\"valid\"],[[42914,42914],\"mapped\",[42915]],[[42915,42915],\"valid\"],[[42916,42916],\"mapped\",[42917]],[[42917,42917],\"valid\"],[[42918,42918],\"mapped\",[42919]],[[42919,42919],\"valid\"],[[42920,42920],\"mapped\",[42921]],[[42921,42921],\"valid\"],[[42922,42922],\"mapped\",[614]],[[42923,42923],\"mapped\",[604]],[[42924,42924],\"mapped\",[609]],[[42925,42925],\"mapped\",[620]],[[42926,42927],\"disallowed\"],[[42928,42928],\"mapped\",[670]],[[42929,42929],\"mapped\",[647]],[[42930,42930],\"mapped\",[669]],[[42931,42931],\"mapped\",[43859]],[[42932,42932],\"mapped\",[42933]],[[42933,42933],\"valid\"],[[42934,42934],\"mapped\",[42935]],[[42935,42935],\"valid\"],[[42936,42998],\"disallowed\"],[[42999,42999],\"valid\"],[[43000,43000],\"mapped\",[295]],[[43001,43001],\"mapped\",[339]],[[43
47807002,43002],\"valid\"],[[43003,43007],\"valid\"],[[43008,43047],\"valid\"],[[43048,43051],\"valid\",[],\"NV8\"],[[43052,43055],\"disallowed\"],[[43056,43065],\"valid\",[],\"NV8\"],[[43066,43071],\"disallowed\"],[[43072,43123],\"valid\"],[[43124,43127],\"valid\",[],\"NV8\"],[[43128,43135],\"disallowed\"],[[43136,43204],\"valid\"],[[43205,43213],\"disallowed\"],[[43214,43215],\"valid\",[],\"NV8\"],[[43216,43225],\"valid\"],[[43226,43231],\"disallowed\"],[[43232,43255],\"valid\"],[[43256,43258],\"valid\",[],\"NV8\"],[[43259,43259],\"valid\"],[[43260,43260],\"valid\",[],\"NV8\"],[[43261,43261],\"valid\"],[[43262,43263],\"disallowed\"],[[43264,43309],\"valid\"],[[43310,43311],\"valid\",[],\"NV8\"],[[43312,43347],\"valid\"],[[43348,43358],\"disallowed\"],[[43359,43359],\"valid\",[],\"NV8\"],[[43360,43388],\"valid\",[],\"NV8\"],[[43389,43391],\"disallowed\"],[[43392,43456],\"valid\"],[[43457,43469],\"valid\",[],\"NV8\"],[[43470,43470],\"disallowed\"],[[43471,43481],\"valid\"],[[43482,43485],\"disallowed\"],[[43486,43487],\"valid\",[],\"NV8\"],[[43488,43518],\"valid\"],[[43519,43519],\"disallowed\"],[[43520,43574],\"valid\"],[[43575,43583],\"disallowed\"],[[43584,43597],\"valid\"],[[43598,43599],\"disallowed\"],[[43600,43609],\"valid\"],[[43610,43611],\"disallowed\"],[[43612,43615],\"valid\",[],\"NV8\"],[[43616,43638],\"valid\"],[[43639,43641],\"valid\",[],\"NV8\"],[[43642,43643],\"valid\"],[[43644,43647],\"valid\"],[[43648,43714],\"valid\"],[[43715,43738],\"disallowed\"],[[43739,43741],\"valid\"],[[43742,43743],\"valid\",[],\"NV8\"],[[43744,43759],\"valid\"],[[43760,43761],\"valid\",[],\"NV8\"],[[43762,43766],\"valid\"],[[43767,43776],\"disallowed\"],[[43777,43782],\"valid\"],[[43783,43784],\"disallowed\"],[[43785,43790],\"valid\"],[[43791,43792],\"disallowed\"],[[43793,43798],\"valid\"],[[43799,43807],\"disallowed\"],[[43808,43814],\"valid\"],[[43815,43815],\"disallowed\"],[[43816,43822],\"valid\"],[[43823,43823],\"disallowed\"],[[43824,43866],\"valid\"],[[43867,43867],\"valid\",[],\"NV8\"],[[43868,43868],\"mapped\",[42791]],[[43869,43869],\"mapped\",[43831]],[[43870,43870],\"mapped\",[619]],[[43871,43871],\"mapped\",[43858]],[[43872,43875],\"valid\"],[[43876,43877],\"valid\"],[[43878,43887],\"disallowed\"],[[43888,43888],\"mapped\",[5024]],[[43889,43889],\"mapped\",[5025]],[[43890,43890],\"mapped\",[5026]],[[43891,43891],\"mapped\",[5027]],[[43892,43892],\"mapped\",[5028]],[[43893,43893],\"mapped\",[5029]],[[43894,43894],\"mapped\",[5030]],[[43895,43895],\"mapped\",[5031]],[[43896,43896],\"mapped\",[5032]],[[43897,43897],\"mapped\",[5033]],[[43898,43898],\"mapped\",[5034]],[[43899,43899],\"mapped\",[5035]],[[43900,43900],\"mapped\",[5036]],[[43901,43901],\"mapped\",[5037]],[[43902,43902],\"mapped\",[5038]],[[43903,43903],\"mapped\",[5039]],[[43904,43904],\"mapped\",[5040]],[[43905,43905],\"mapped\",[5041]],[[43906,43906],\"mapped\",[5042]],[[43907,43907],\"mapped\",[5043]],[[43908,43908],\"mapped\",[5044]],[[43909,43909],\"mapped\",[5045]],[[43910,43910],\"mapped\",[5046]],[[43911,43911],\"mapped\",[5047]],[[43912,43912],\"mapped\",[5048]],[[43913,43913],\"mapped\",[5049]],[[43914,43914],\"mapped\",[5050]],[[43915,43915],\"mapped\",[5051]],[[43916,43916],\"mapped\",[5052]],[[43917,43917],\"mapped\",[5053]],[[43918,43918],\"mapped\",[5054]],[[43919,43919],\"mapped\",[5055]],[[43920,43920],\"mapped\",[5056]],[[43921,43921],\"mapped\",[5057]],[[43922,43922],\"mapped\",[5058]],[[43923,43923],\"mapped\",[5059]],[[43924,43924],\"mapped\",[5060]],[[43925,43925],\"mapped\",[5061]],[[43926,43926],\"mapped\",[5062]],[[43927,43927],\"mapped\",[5063]],[[43928,43928],\"mapped\",[5064]],[[43929,43929],\"mapped\",[5065]],[[43930,43930],\"mapped\",[5066]],[[43931,43931],\"mapped\",[5067]],[[43932,43932],\"mapped\",[5068]],[[43933,43933],\"mapped\",[5069]],[[43934,43934],\"mapped\",[5070]],[[43935,43935],\"mapped\",[5071]],[[43936,43936],\"mapped\",[5072]],[[43937,43937],\"mapped\",[5073]],[[43938,43938],\"mapped\",[5074]],[[43939,43939],\"mapped\",[5075]],[[43940,43940],\"mapped\",[5076]],[[43941,43941],\"mapped\",[5077]],[[43942,43942],\"mapped\",[5078]],[[43943,43943],\"mapped\",[5079]],[[43944,43944],\"mapped\",[5080]],[[43945,43945],\"mapped\",[5081]],[[43946,43946],\"mapped\",[5082]],[[43947,43947],\"mapped\",[5083]],[[43948,43948],\"mapped\",[5084]],[[43949,43949],\"mapped\",[5085]],[[43950,43950],\"mapped\",[5086]],[[43951,43951],\"mapped\",[5087]],[[43952,43952],\"mapped\",[5088]],[[43953,43953],\"mapped\",[5089]],[[43954,43954],\"mapped\",[5090]],[[43955,43955],\"mapped\",[5091]],[[43956,43956],\"mapped\",[5092]],[[43957,43957],\"mapped\",[5093]],[[43958,43958],\"mapped\",[5094]],[[43959,43959],\"mapped\",[5095]],[[43960,43960],\"mapped\",[5096]],[[43961,43961],\"mapped\",[5097]],[[43962,43962],\"mapped\",[5098]],[[43963,43963],\"mapped\",[5099]],[[43964,43964],\"mapped\",[5100]],[[43965,43965],\"mapped\",[5101]],[[43966,43966],\"mapped\",[5102]],[[43967,43967],\"mapped\",[5103]],[[43968,44010],\"valid\"],[[44011,44011],\"valid\",[],\"NV8\"],[[44012,44013],\"valid\"],[[44014,44015],\"disallowed\"],[[44016,44025],\"valid\"],[[44026,44031],\"disallowed\"],[[44032,55203],\"valid\"],[[55204,55215],\"disallowed\"],[[55216,55238],\"valid\",[],\"NV8\"],[[55239,55242],\"disallowed\"],[[55243,5
478075291],\"valid\",[],\"NV8\"],[[55292,55295],\"disallowed\"],[[55296,57343],\"disallowed\"],[[57344,63743],\"disallowed\"],[[63744,63744],\"mapped\",[35912]],[[63745,63745],\"mapped\",[26356]],[[63746,63746],\"mapped\",[36554]],[[63747,63747],\"mapped\",[36040]],[[63748,63748],\"mapped\",[28369]],[[63749,63749],\"mapped\",[20018]],[[63750,63750],\"mapped\",[21477]],[[63751,63752],\"mapped\",[40860]],[[63753,63753],\"mapped\",[22865]],[[63754,63754],\"mapped\",[37329]],[[63755,63755],\"mapped\",[21895]],[[63756,63756],\"mapped\",[22856]],[[63757,63757],\"mapped\",[25078]],[[63758,63758],\"mapped\",[30313]],[[63759,63759],\"mapped\",[32645]],[[63760,63760],\"mapped\",[34367]],[[63761,63761],\"mapped\",[34746]],[[63762,63762],\"mapped\",[35064]],[[63763,63763],\"mapped\",[37007]],[[63764,63764],\"mapped\",[27138]],[[63765,63765],\"mapped\",[27931]],[[63766,63766],\"mapped\",[28889]],[[63767,63767],\"mapped\",[29662]],[[63768,63768],\"mapped\",[33853]],[[63769,63769],\"mapped\",[37226]],[[63770,63770],\"mapped\",[39409]],[[63771,63771],\"mapped\",[20098]],[[63772,63772],\"mapped\",[21365]],[[63773,63773],\"mapped\",[27396]],[[63774,63774],\"mapped\",[29211]],[[63775,63775],\"mapped\",[34349]],[[63776,63776],\"mapped\",[40478]],[[63777,63777],\"mapped\",[23888]],[[63778,63778],\"mapped\",[28651]],[[63779,63779],\"mapped\",[34253]],[[63780,63780],\"mapped\",[35172]],[[63781,63781],\"mapped\",[25289]],[[63782,63782],\"mapped\",[33240]],[[63783,63783],\"mapped\",[34847]],[[63784,63784],\"mapped\",[24266]],[[63785,63785],\"mapped\",[26391]],[[63786,63786],\"mapped\",[28010]],[[63787,63787],\"mapped\",[29436]],[[63788,63788],\"mapped\",[37070]],[[63789,63789],\"mapped\",[20358]],[[63790,63790],\"mapped\",[20919]],[[63791,63791],\"mapped\",[21214]],[[63792,63792],\"mapped\",[25796]],[[63793,63793],\"mapped\",[27347]],[[63794,63794],\"mapped\",[29200]],[[63795,63795],\"mapped\",[30439]],[[63796,63796],\"mapped\",[32769]],[[63797,63797],\"mapped\",[34310]],[[63798,63798],\"mapped\",[34396]],[[63799,63799],\"mapped\",[36335]],[[63800,63800],\"mapped\",[38706]],[[63801,63801],\"mapped\",[39791]],[[63802,63802],\"mapped\",[40442]],[[63803,63803],\"mapped\",[30860]],[[63804,63804],\"mapped\",[31103]],[[63805,63805],\"mapped\",[32160]],[[63806,63806],\"mapped\",[33737]],[[63807,63807],\"mapped\",[37636]],[[63808,63808],\"mapped\",[40575]],[[63809,63809],\"mapped\",[35542]],[[63810,63810],\"mapped\",[22751]],[[63811,63811],\"mapped\",[24324]],[[63812,63812],\"mapped\",[31840]],[[63813,63813],\"mapped\",[32894]],[[63814,63814],\"mapped\",[29282]],[[63815,63815],\"mapped\",[30922]],[[63816,63816],\"mapped\",[36034]],[[63817,63817],\"mapped\",[38647]],[[63818,63818],\"mapped\",[22744]],[[63819,63819],\"mapped\",[23650]],[[63820,63820],\"mapped\",[27155]],[[63821,63821],\"mapped\",[28122]],[[63822,63822],\"mapped\",[28431]],[[63823,63823],\"mapped\",[32047]],[[63824,63824],\"mapped\",[32311]],[[63825,63825],\"mapped\",[38475]],[[63826,63826],\"mapped\",[21202]],[[63827,63827],\"mapped\",[32907]],[[63828,63828],\"mapped\",[20956]],[[63829,63829],\"mapped\",[20940]],[[63830,63830],\"mapped\",[31260]],[[63831,63831],\"mapped\",[32190]],[[63832,63832],\"mapped\",[33777]],[[63833,63833],\"mapped\",[38517]],[[63834,63834],\"mapped\",[35712]],[[63835,63835],\"mapped\",[25295]],[[63836,63836],\"mapped\",[27138]],[[63837,63837],\"mapped\",[35582]],[[63838,63838],\"mapped\",[20025]],[[63839,63839],\"mapped\",[23527]],[[63840,63840],\"mapped\",[24594]],[[63841,63841],\"mapped\",[29575]],[[63842,63842],\"mapped\",[30064]],[[63843,63843],\"mapped\",[21271]],[[63844,63844],\"mapped\",[30971]],[[63845,63845],\"mapped\",[20415]],[[63846,63846],\"mapped\",[24489]],[[63847,63847],\"mapped\",[19981]],[[63848,63848],\"mapped\",[27852]],[[63849,63849],\"mapped\",[25976]],[[63850,63850],\"mapped\",[32034]],[[63851,63851],\"mapped\",[21443]],[[63852,63852],\"mapped\",[22622]],[[63853,63853],\"mapped\",[30465]],[[63854,63854],\"mapped\",[33865]],[[63855,63855],\"mapped\",[35498]],[[63856,63856],\"mapped\",[27578]],[[63857,63857],\"mapped\",[36784]],[[63858,63858],\"mapped\",[27784]],[[63859,63859],\"mapped\",[25342]],[[63860,63860],\"mapped\",[33509]],[[63861,63861],\"mapped\",[25504]],[[63862,63862],\"mapped\",[30053]],[[63863,63863],\"mapped\",[20142]],[[63864,63864],\"mapped\",[20841]],[[63865,63865],\"mapped\",[20937]],[[63866,63866],\"mapped\",[26753]],[[63867,63867],\"mapped\",[31975]],[[63868,638
4780768],\"mapped\",[33391]],[[63869,63869],\"mapped\",[35538]],[[63870,63870],\"mapped\",[37327]],[[63871,63871],\"mapped\",[21237]],[[63872,63872],\"mapped\",[21570]],[[63873,63873],\"mapped\",[22899]],[[63874,63874],\"mapped\",[24300]],[[63875,63875],\"mapped\",[26053]],[[63876,63876],\"mapped\",[28670]],[[63877,63877],\"mapped\",[31018]],[[63878,63878],\"mapped\",[38317]],[[63879,63879],\"mapped\",[39530]],[[63880,63880],\"mapped\",[40599]],[[63881,63881],\"mapped\",[40654]],[[63882,63882],\"mapped\",[21147]],[[63883,63883],\"mapped\",[26310]],[[63884,63884],\"mapped\",[27511]],[[63885,63885],\"mapped\",[36706]],[[63886,63886],\"mapped\",[24180]],[[63887,63887],\"mapped\",[24976]],[[63888,63888],\"mapped\",[25088]],[[63889,63889],\"mapped\",[25754]],[[63890,63890],\"mapped\",[28451]],[[63891,63891],\"mapped\",[29001]],[[63892,63892],\"mapped\",[29833]],[[63893,63893],\"mapped\",[31178]],[[63894,63894],\"mapped\",[32244]],[[63895,63895],\"mapped\",[32879]],[[63896,63896],\"mapped\",[36646]],[[63897,63897],\"mapped\",[34030]],[[63898,63898],\"mapped\",[36899]],[[63899,63899],\"mapped\",[37706]],[[63900,63900],\"mapped\",[21015]],[[63901,63901],\"mapped\",[21155]],[[63902,63902],\"mapped\",[21693]],[[63903,63903],\"mapped\",[28872]],[[63904,63904],\"mapped\",[35010]],[[63905,63905],\"mapped\",[35498]],[[63906,63906],\"mapped\",[24265]],[[63907,63907],\"mapped\",[24565]],[[63908,63908],\"mapped\",[25467]],[[63909,63909],\"mapped\",[27566]],[[63910,63910],\"mapped\",[31806]],[[63911,63911],\"mapped\",[29557]],[[63912,63912],\"mapped\",[20196]],[[63913,63913],\"mapped\",[22265]],[[63914,63914],\"mapped\",[23527]],[[63915,63915],\"mapped\",[23994]],[[63916,63916],\"mapped\",[24604]],[[63917,63917],\"mapped\",[29618]],[[63918,63918],\"mapped\",[29801]],[[63919,63919],\"mapped\",[32666]],[[63920,63920],\"mapped\",[32838]],[[63921,63921],\"mapped\",[37428]],[[63922,63922],\"mapped\",[38646]],[[63923,63923],\"mapped\",[38728]],[[63924,63924],\"mapped\",[38936]],[[63925,63925],\"mapped\",[20363]],[[63926,63926],\"mapped\",[31150]],[[63927,63927],\"mapped\",[37300]],[[63928,63928],\"mapped\",[38584]],[[63929,63929],\"mapped\",[24801]],[[63930,63930],\"mapped\",[20102]],[[63931,63931],\"mapped\",[20698]],[[63932,63932],\"mapped\",[23534]],[[63933,63933],\"mapped\",[23615]],[[63934,63934],\"mapped\",[26009]],[[63935,63935],\"mapped\",[27138]],[[63936,63936],\"mapped\",[29134]],[[63937,63937],\"mapped\",[30274]],[[63938,63938],\"mapped\",[34044]],[[63939,63939],\"mapped\",[36988]],[[63940,63940],\"mapped\",[40845]],[[63941,63941],\"mapped\",[26248]],[[63942,63942],\"mapped\",[38446]],[[63943,63943],\"mapped\",[21129]],[[63944,63944],\"mapped\",[26491]],[[63945,63945],\"mapped\",[26611]],[[63946,63946],\"mapped\",[27969]],[[63947,63947],\"mapped\",[28316]],[[63948,63948],\"mapped\",[29705]],[[63949,63949],\"mapped\",[30041]],[[63950,63950],\"mapped\",[30827]],[[63951,63951],\"mapped\",[32016]],[[63952,63952],\"mapped\",[39006]],[[63953,63953],\"mapped\",[20845]],[[63954,63954],\"mapped\",[25134]],[[63955,63955],\"mapped\",[38520]],[[63956,63956],\"mapped\",[20523]],[[63957,63957],\"mapped\",[23833]],[[63958,63958],\"mapped\",[28138]],[[63959,63959],\"mapped\",[36650]],[[63960,63960],\"mapped\",[24459]],[[63961,63961],\"mapped\",[24900]],[[63962,63962],\"mapped\",[26647]],[[63963,63963],\"mapped\",[29575]],[[63964,63964],\"mapped\",[38534]],[[63965,63965],\"mapped\",[21033]],[[63966,63966],\"mapped\",[21519]],[[63967,63967],\"mapped\",[23653]],[[63968,63968],\"mapped\",[26131]],[[63969,63969],\"mapped\",[26446]],[[63970,63970],\"mapped\",[26792]],[[63971,63971],\"mapped\",[27877]],[[63972,63972],\"mapped\",[29702]],[[63973,63973],\"mapped\",[30178]],[[63974,63974],\"mapped\",[32633]],[[63975,63975],\"mapped\",[35023]],[[63976,63976],\"mapped\",[35041]],[[63977,63977],\"mapped\",[37324]],[[63978,63978],\"mapped\",[38626]],[[63979,63979],\"mapped\",[21311]],[[63980,63980],\"mapped\",[28346]],[[63981,63981],\"mapped\",[21533]],[[63982,63982],\"mapped\",[29136]],[[63983,63983],\"mapped\",[29848]],[[63984,63984],\"mapped\",[34298]],[[63985,63985],\"mapped\",[38563]],[[63986,63986],\"mapped\",[40023]],[[63987,63987],\"mapped\",[40607]],[[63988,63988],\"mapped\",[26519]],[[63989,63989],\"mapped\",[28107]],[[63990,63990],\"mapped\",[33256]],[[63991,63991],\"mapped\",[31435]],[[63992,63992],\"mapped\",[31520]],[[63993,63993],\"mapped\",[31890]],[[63994,63994],\"mapped\",[29376]],[[63995,63995],\"mapped\",[28825]],[[63996,63996],\"mapped\",[35672]],[[63997,63997],\"mapped\",[20160]],[[63998,63998],\"mapped\",[33590]],[[63999,63999],\"mapped\",[21050]],[[64000,64000],\"mapped\",[20999]],[[64001,64001],\"mapped\",[24230]],[[64002,64002],\"mapped\",[25299]],[[64003,64003],\"mapped\",[31958]],[[64004,64004],\"mapped\",[23429]],[[64005,64005],\"mapped\",[27934]],[[64006,64006],\"mapped\",[26292]],[[64007,64007],\"mapped\",[36667]],[[64008,64008],\"mapped\",[34892]],[[64009,64009],\"mapped\",[38477]],[[64010,64010],\"mapped\",[35211]],[[64011,64011],\"mapped\",[24275]],[[64012,64012],\"mapped\",[20800]],[[64013,64013],\"mapped\",[21952]],[[64014,64015],\"valid\"],[[64016,64016],\"mapped\",[22618]],[[64017,64017],\"valid\"],[[64018,64018],\"mapped\",[26228]],[[64019,64020],\"valid\"],[[64021,64021],\"mapped\",[20958]],[[64022,64022],\"mapped\",[29482]],[[64023,64023],\"mapped\",[30410]],[[64024,64024],\"mapped\",[31036]],[[64025,64025],\"mapped\",[31070]],[[64026,64026],\"mapped\",[31077]],[[64027,64027],\"mapped\",[31119]],[[64028,64028],\"mapped\",[38742]],[[64029,64029],\"mapped\",[31934]],[[64030,64030],\"mapped\",[32701]],[[64031,64031],\"valid\"],[[64032,64032],\"mapped\",[34322]],[[64033,64033],\"valid\"],[[64034,64034],\"mapped\",[35576]],[[64035,64036],\"valid\"],[[64037,64037],\"mapped\",[36920]],[[64038,64038],\"mapped\",[37117]],[[64039,64041],\"valid\"],[[64042,64042],\"mapped\",[39151]],[[64043,64043],\"mapped\",[39164]],[[64044,64044],\"mapped\",[39208]],[[64045,64045],\"mapped\",[40372]],[[64046,64046],\"mapped\",[37086]],[[64047,64047],\"mapped\",[38583]
47807],[[64048,64048],\"mapped\",[20398]],[[64049,64049],\"mapped\",[20711]],[[64050,64050],\"mapped\",[20813]],[[64051,64051],\"mapped\",[21193]],[[64052,64052],\"mapped\",[21220]],[[64053,64053],\"mapped\",[21329]],[[64054,64054],\"mapped\",[21917]],[[64055,64055],\"mapped\",[22022]],[[64056,64056],\"mapped\",[22120]],[[64057,64057],\"mapped\",[22592]],[[64058,64058],\"mapped\",[22696]],[[64059,64059],\"mapped\",[23652]],[[64060,64060],\"mapped\",[23662]],[[64061,64061],\"mapped\",[24724]],[[64062,64062],\"mapped\",[24936]],[[64063,64063],\"mapped\",[24974]],[[64064,64064],\"mapped\",[25074]],[[64065,64065],\"mapped\",[25935]],[[64066,64066],\"mapped\",[26082]],[[64067,64067],\"mapped\",[26257]],[[64068,64068],\"mapped\",[26757]],[[64069,64069],\"mapped\",[28023]],[[64070,64070],\"mapped\",[28186]],[[64071,64071],\"mapped\",[28450]],[[64072,64072],\"mapped\",[29038]],[[64073,64073],\"mapped\",[29227]],[[64074,64074],\"mapped\",[29730]],[[64075,64075],\"mapped\",[30865]],[[64076,64076],\"mapped\",[31038]],[[64077,64077],\"mapped\",[31049]],[[64078,64078],\"mapped\",[31048]],[[64079,64079],\"mapped\",[31056]],[[64080,64080],\"mapped\",[31062]],[[64081,64081],\"mapped\",[31069]],[[64082,64082],\"mapped\",[31117]],[[64083,64083],\"mapped\",[31118]],[[64084,64084],\"mapped\",[31296]],[[64085,64085],\"mapped\",[31361]],[[64086,64086],\"mapped\",[31680]],[[64087,64087],\"mapped\",[32244]],[[64088,64088],\"mapped\",[32265]],[[64089,64089],\"mapped\",[32321]],[[64090,64090],\"mapped\",[32626]],[[64091,64091],\"mapped\",[32773]],[[64092,64092],\"mapped\",[33261]],[[64093,64094],\"mapped\",[33401]],[[64095,64095],\"mapped\",[33879]],[[64096,64096],\"mapped\",[35088]],[[64097,64097],\"mapped\",[35222]],[[64098,64098],\"mapped\",[35585]],[[64099,64099],\"mapped\",[35641]],[[64100,64100],\"mapped\",[36051]],[[64101,64101],\"mapped\",[36104]],[[64102,64102],\"mapped\",[36790]],[[64103,64103],\"mapped\",[36920]],[[64104,64104],\"mapped\",[38627]],[[64105,64105],\"mapped\",[38911]],[[64106,64106],\"mapped\",[38971]],[[64107,64107],\"mapped\",[24693]],[[64108,64108],\"mapped\",[148206]],[[64109,64109],\"mapped\",[33304]],[[64110,64111],\"disallowed\"],[[64112,64112],\"mapped\",[20006]],[[64113,64113],\"mapped\",[20917]],[[64114,64114],\"mapped\",[20840]],[[64115,64115],\"mapped\",[20352]],[[64116,64116],\"mapped\",[20805]],[[64117,64117],\"mapped\",[20864]],[[64118,64118],\"mapped\",[21191]],[[64119,64119],\"mapped\",[21242]],[[64120,64120],\"mapped\",[21917]],[[64121,64121],\"mapped\",[21845]],[[64122,64122],\"mapped\",[21913]],[[64123,64123],\"mapped\",[21986]],[[64124,64124],\"mapped\",[22618]],[[64125,64125],\"mapped\",[22707]],[[64126,64126],\"mapped\",[22852]],[[64127,64127],\"mapped\",[22868]],[[64128,64128],\"mapped\",[23138]],[[64129,64129],\"mapped\",[23336]],[[64130,64130],\"mapped\",[24274]],[[64131,64131],\"mapped\",[24281]],[[64132,64132],\"mapped\",[24425]],[[64133,64133],\"mapped\",[24493]],[[64134,64134],\"mapped\",[24792]],[[64135,64135],\"mapped\",[24910]],[[64136,64136],\"mapped\",[24840]],[[64137,64137],\"mapped\",[24974]],[[64138,64138],\"mapped\",[24928]],[[64139,64139],\"mapped\",[25074]],[[64140,64140],\"mapped\",[25140]],[[64141,64141],\"mapped\",[25540]],[[64142,64142],\"mapped\",[25628]],[[64143,64143],\"mapped\",[25682]],[[64144,64144],\"mapped\",[25942]],[[64145,64145],\"mapped\",[26228]],[[64146,64146],\"mapped\",[26391]],[[64147,64147],\"mapped\",[26395]],[[64148,64148],\"mapped\",[26454]],[[64149,64149],\"mapped\",[27513]],[[64150,64150],\"mapped\",[27578]],[[64151,64151],\"mapped\",[27969]],[[64152,64152],\"mapped\",[28379]],[[64153,64153],\"mapped\",[28363]],[[64154,64154],\"mapped\",[28450]],[[64155,64155],\"mapped\",[28702]],[[64156,64156],\"mapped\",[29038]],[[64157,64157],\"mapped\",[30631]],[[64158,64158],\"mapped\",[29237]],[[64159,64159],\"mapped\",[29359]],[[64160,64160],\"mapped\",[29482]],[[64161,64161],\"mapped\",[29809]],[[64162,64162],\"mapped\",[29958]],[[64163,64163],\"mapped\",[30011]],[[64164,64164],\"mapped\",[30237]],[[64165,64165],\"mapped\",[30239]],[[64166,64166],\"mapped\",[30410]],[[64167,64167],\"mapped\",[30427]],[[64168,64168],\"mapped\",[30452]],[[64169,64169],\"mapped\",[30538]],[[64170,64170],\"mapped\",[30528]],[[64171,64171],\"mapped\",[30924]],[[64172,64172],\"mapped\",[31409]],[[64173,64173],\"mapped\",[31680]],[[64174,64174],\"mapped\",[31867]],[[64175,64175],\"mapped\",[32091]],[[64176,64176],\"mapped\",[32244]],[[64177,64177],\"mapped\",[32574]],[[64178,64178],\"mapped\",[32773]],[[64179,64179],\"mapped\",[33618]],[[64180,64180],\"mapped\",[33775]],[[64181,64181],\"mapped\",[34681]],[[64182,64182],\"mapped\",[35137]],[[64183,64183],\"mapped\",[35206]],[[64184,64184],\"mapped\",[35222]],[[64185,64185],\"mapped\",[35519]],[[64186,64186],\"mapped\",[35576]],[[64187,64187],\"mapped\",[35531]],[[64188,64188],\"mapped\",[35585]],[[64189,64189],\"mapped\",[35582]],[[64190,64190],\"mapped\",[35565]],[[64191,64191],\"mapped\",[35641]],[[64192,64192],\"mapped\",[35722]],[[64193,64193],\"mapped\",[36104]],[[64194,64194],\"mapped\",[36664]],[[64195,64195],\"mapped\",[36978]],[[64196,64196],\"mapped\",[37273]],[[64197,64197],\"mapped\",[37494]],[[64198,64198],\"mapped\",[38524]],[[64199,64199],\"mapped\",[38627]],[[64200,64200
47807],\"mapped\",[38742]],[[64201,64201],\"mapped\",[38875]],[[64202,64202],\"mapped\",[38911]],[[64203,64203],\"mapped\",[38923]],[[64204,64204],\"mapped\",[38971]],[[64205,64205],\"mapped\",[39698]],[[64206,64206],\"mapped\",[40860]],[[64207,64207],\"mapped\",[141386]],[[64208,64208],\"mapped\",[141380]],[[64209,64209],\"mapped\",[144341]],[[64210,64210],\"mapped\",[15261]],[[64211,64211],\"mapped\",[16408]],[[64212,64212],\"mapped\",[16441]],[[64213,64213],\"mapped\",[152137]],[[64214,64214],\"mapped\",[154832]],[[64215,64215],\"mapped\",[163539]],[[64216,64216],\"mapped\",[40771]],[[64217,64217],\"mapped\",[40846]],[[64218,64255],\"disallowed\"],[[64256,64256],\"mapped\",[102,102]],[[64257,64257],\"mapped\",[102,105]],[[64258,64258],\"mapped\",[102,108]],[[64259,64259],\"mapped\",[102,102,105]],[[64260,64260],\"mapped\",[102,102,108]],[[64261,64262],\"mapped\",[115,116]],[[64263,64274],\"disallowed\"],[[64275,64275],\"mapped\",[1396,1398]],[[64276,64276],\"mapped\",[1396,1381]],[[64277,64277],\"mapped\",[1396,1387]],[[64278,64278],\"mapped\",[1406,1398]],[[64279,64279],\"mapped\",[1396,1389]],[[64280,64284],\"disallowed\"],[[64285,64285],\"mapped\",[1497,1460]],[[64286,64286],\"valid\"],[[64287,64287],\"mapped\",[1522,1463]],[[64288,64288],\"mapped\",[1506]],[[64289,64289],\"mapped\",[1488]],[[64290,64290],\"mapped\",[1491]],[[64291,64291],\"mapped\",[1492]],[[64292,64292],\"mapped\",[1499]],[[64293,64293],\"mapped\",[1500]],[[64294,64294],\"mapped\",[1501]],[[64295,64295],\"mapped\",[1512]],[[64296,64296],\"mapped\",[1514]],[[64297,64297],\"disallowed_STD3_mapped\",[43]],[[64298,64298],\"mapped\",[1513,1473]],[[64299,64299],\"mapped\",[1513,1474]],[[64300,64300],\"mapped\",[1513,1468,1473]],[[64301,64301],\"mapped\",[1513,1468,1474]],[[64302,64302],\"mapped\",[1488,1463]],[[64303,64303],\"mapped\",[1488,1464]],[[64304,64304],\"mapped\",[1488,1468]],[[64305,64305],\"mapped\",[1489,1468]],[[64306,64306],\"mapped\",[1490,1468]],[[64307,64307],\"mapped\",[1491,1468]],[[64308,64308],\"mapped\",[1492,1468]],[[64309,64309],\"mapped\",[1493,1468]],[[64310,64310],\"mapped\",[1494,1468]],[[64311,64311],\"disallowed\"],[[64312,64312],\"mapped\",[1496,1468]],[[64313,64313],\"mapped\",[1497,1468]],[[64314,64314],\"mapped\",[1498,1468]],[[64315,64315],\"mapped\",[1499,1468]],[[64316,64316],\"mapped\",[1500,1468]],[[64317,64317],\"disallowed\"],[[64318,64318],\"mapped\",[1502,1468]],[[64319,64319],\"disallowed\"],[[64320,64320],\"mapped\",[1504,1468]],[[64321,64321],\"mapped\",[1505,1468]],[[64322,64322],\"disallowed\"],[[64323,64323],\"mapped\",[1507,1468]],[[64324,64324],\"mapped\",[1508,1468]],[[64325,64325],\"disallowed\"],[[64326,64326],\"mapped\",[1510,1468]],[[64327,64327],\"mapped\",[1511,1468]],[[64328,64328],\"mapped\",[1512,1468]],[[64329,64329],\"mapped\",[1513,1468]],[[64330,64330],\"mapped\",[1514,1468]],[[64331,64331],\"mapped\",[1493,1465]],[[64332,64332],\"mapped\",[1489,1471]],[[64333,64333],\"mapped\",[1499,1471]],[[64334,64334],\"mapped\",[1508,1471]],[[64335,64335],\"mapped\",[1488,1500]],[[64336,64337],\"mapped\",[1649]],[[64338,64341],\"mapped\",[1659]],[[64342,64345],\"mapped\",[1662]],[[64346,64349],\"mapped\",[1664]],[[64350,64353],\"mapped\",[1658]],[[64354,64357],\"mapped\",[1663]],[[64358,64361],\"mapped\",[1657]],[[64362,64365],\"mapped\",[1700]],[[64366,64369],\"mapped\",[1702]],[[64370,64373],\"mapped\",[1668]],[[64374,64377],\"mapped\",[1667]],[[64378,64381],\"mapped\",[1670]],[[64382,64385],\"mapped\",[1671]],[[64386,64387],\"mapped\",[1677]],[[64388,64389],\"mapped\",[1676]],[[64390,64391],\"mapped\",[1678]],[[64392,64393],\"mapped\",[1672]],[[64394,64395],\"mapped\",[1688]],[[64396,64397],\"mapped\",[1681]],[[64398,64401],\"mapped\",[1705]],[[64402,64405],\"mapped\",[1711]],[[64406,64409],\"mapped\",[1715]],[[64410,64413],\"mapped\",[1713]],[[64414,64415],\"mapped\",[1722]],[[64416,64419],\"mapped\",[1723]],[[64420,64421],\"mapped\",[1728]],[[64422,64425],\"mapped\",[1729]],[[64426,64429],\"mapped\",[1726]],[[64430,64431],\"mapped\",[1746]],[[64432,64433],\"mapped\",[1747]],[[64434,64449],\"valid\",[],\"NV8\"],[[64450,64466],\"disallowed\"],[[64467,64470],\"mapped\",[1709]],[[64471,64472],\"mapped\",[1735]],[[64473,64474],\"mapped\",[1734]],[[64475,64476],\"mapped\",[1736]],[[64477,64477],\"mapped\",[1735,1652]],[[64478,64479],\"mapped\",[1739]],[[64480,64481],\"mapped\",[1733]],[[64482,64483],\"mapped\",[1737]],[[64484,64487],\"mapped\",[1744]],[[64488,64489],\"mapped\",[1609]],[[64490,64491],\"mapped\",[1574,1575]],[[64492,64493],\"mapped\",[1574,1749]],[[64494,64495],\"mapped\",[1574,1608]],[[64496,64497],\"mapped\",[1574,1735]],[[64498,64499],\"mapped\",[1574,1734]],[[64500,64501],\"mapped\",[1574,1736]],[[64502,64504],\"mapped\",[1574,1744]],[[6450
478075,64507],\"mapped\",[1574,1609]],[[64508,64511],\"mapped\",[1740]],[[64512,64512],\"mapped\",[1574,1580]],[[64513,64513],\"mapped\",[1574,1581]],[[64514,64514],\"mapped\",[1574,1605]],[[64515,64515],\"mapped\",[1574,1609]],[[64516,64516],\"mapped\",[1574,1610]],[[64517,64517],\"mapped\",[1576,1580]],[[64518,64518],\"mapped\",[1576,1581]],[[64519,64519],\"mapped\",[1576,1582]],[[64520,64520],\"mapped\",[1576,1605]],[[64521,64521],\"mapped\",[1576,1609]],[[64522,64522],\"mapped\",[1576,1610]],[[64523,64523],\"mapped\",[1578,1580]],[[64524,64524],\"mapped\",[1578,1581]],[[64525,64525],\"mapped\",[1578,1582]],[[64526,64526],\"mapped\",[1578,1605]],[[64527,64527],\"mapped\",[1578,1609]],[[64528,64528],\"mapped\",[1578,1610]],[[64529,64529],\"mapped\",[1579,1580]],[[64530,64530],\"mapped\",[1579,1605]],[[64531,64531],\"mapped\",[1579,1609]],[[64532,64532],\"mapped\",[1579,1610]],[[64533,64533],\"mapped\",[1580,1581]],[[64534,64534],\"mapped\",[1580,1605]],[[64535,64535],\"mapped\",[1581,1580]],[[64536,64536],\"mapped\",[1581,1605]],[[64537,64537],\"mapped\",[1582,1580]],[[64538,64538],\"mapped\",[1582,1581]],[[64539,64539],\"mapped\",[1582,1605]],[[64540,64540],\"mapped\",[1587,1580]],[[64541,64541],\"mapped\",[1587,1581]],[[64542,64542],\"mapped\",[1587,1582]],[[64543,64543],\"mapped\",[1587,1605]],[[64544,64544],\"mapped\",[1589,1581]],[[64545,64545],\"mapped\",[1589,1605]],[[64546,64546],\"mapped\",[1590,1580]],[[64547,64547],\"mapped\",[1590,1581]],[[64548,64548],\"mapped\",[1590,1582]],[[64549,64549],\"mapped\",[1590,1605]],[[64550,64550],\"mapped\",[1591,1581]],[[64551,64551],\"mapped\",[1591,1605]],[[64552,64552],\"mapped\",[1592,1605]],[[64553,64553],\"mapped\",[1593,1580]],[[64554,64554],\"mapped\",[1593,1605]],[[64555,64555],\"mapped\",[1594,1580]],[[64556,64556],\"mapped\",[1594,1605]],[[64557,64557],\"mapped\",[1601,1580]],[[64558,64558],\"mapped\",[1601,1581]],[[64559,64559],\"mapped\",[1601,1582]],[[64560,64560],\"mapped\",[1601,1605]],[[64561,64561],\"mapped\",[1601,1609]],[[64562,64562],\"mapped\",[1601,1610]],[[64563,64563],\"mapped\",[1602,1581]],[[64564,64564],\"mapped\",[1602,1605]],[[64565,64565],\"mapped\",[1602,1609]],[[64566,64566],\"mapped\",[1602,1610]],[[64567,64567],\"mapped\",[1603,1575]],[[64568,64568],\"mapped\",[1603,1580]],[[64569,64569],\"mapped\",[1603,1581]],[[64570,64570],\"mapped\",[1603,1582]],[[64571,64571],\"mapped\",[1603,1604]],[[64572,64572],\"mapped\",[1603,1605]],[[64573,64573],\"mapped\",[1603,1609]],[[64574,64574],\"mapped\",[1603,1610]],[[64575,64575],\"mapped\",[1604,1580]],[[64576,64576],\"mapped\",[1604,1581]],[[64577,64577],\"mapped\",[1604,1582]],[[64578,64578],\"mapped\",[1604,1605]],[[64579,64579],\"mapped\",[1604,1609]],[[64580,64580],\"mapped\",[1604,1610]],[[64581,64581],\"mapped\",[1605,1580]],[[64582,64582],\"mapped\",[1605,1581]],[[64583,64583],\"mapped\",[1605,1582]],[[64584,64584],\"mapped\",[1605,1605]],[[64585,64585],\"mapped\",[1605,1609]],[[64586,64586],\"mapped\",[1605,1610]],[[64587,64587],\"mapped\",[1606,1580]],[[64588,64588],\"mapped\",[1606,1581]],[[64589,64589],\"mapped\",[1606,1582]],[[64590,64590],\"mapped\",[1606,1605]],[[64591,64591],\"mapped\",[1606,1609]],[[64592,64592],\"mapped\",[1606,1610]],[[64593,64593],\"mapped\",[1607,1580]],[[64594,64594],\"mapped\",[1607,1605]],[[64595,64595],\"mapped\",[1607,1609]],[[64596,64596],\"mapped\",[1607,1610]],[[64597,64597],\"mapped\",[1610,1580]],[[64598,64598],\"mapped\",[1610,1581]],[[64599,64599],\"mapped\",[1610,1582]],[[64600,64600],\"mapped\",[1610,1605]],[[64601,64601],\"mapped\",[1610,1609]],[[64602,64602],\"mapped\",[1610,1610]],[[64603,64603],\"mapped\",[1584,1648]],[[64604,64604],\"mapped\",[1585,1648]],[[64605,64605],\"mapped\",[1609,1648]],[[64606,64606],\"disallowed_STD3_mapped\",[32,1612,1617]],[[64607,64607],\"disallowed_STD3_mapped\",[32,1613,1617]],[[64608,64608],\"disallowed_STD3_mapped\",[32,1614,1617]],[[64609,64609],\"disallowed_STD3_mapped\",[32,1615,1617]],[[64610,64610],\"disallowed_STD3_mapped\",[32,1616,1617]],[[64611,64611],\"disallowed_STD3_mapped\",[32,1617,1648]],[[64612,64612],\"mapped\",[1574,1585]],[[64613,64613],\"mapped\",[1574,1586]],[[64614,64614],\"mapped\",[1574,1605]],[[64615,64615],\"mapped\",[1574,1606]],[[64616,64616],\"mapped\",[1574,1609]],[[64617,64617],\"mapped\",[1574,1610]],[[64618,64618],\"mapped\",[1576,1585]],[[64619,64619],\"mapped\",[1576,1586]],[[64620,64620],\"mapped\",[1576,1605]],[[64621,64621],\"mapped\",[1576,1606]],[[64622,64622],\"mapped\",[1576,1609]],[[64623,64623],\"mapped\",[1576,1610]],[[64624,64624],\"mapped\",[1578,1585]],[[64625,64625],\"mapped\",[1578,1586]],[[64626,64626],\"mapped\",[1578,1605]],[[64627,64627],\"mapped\",[1578,1606]],[[64628,64628],\"mapped\",[1578,1609]],[[64629,64629],\"mapped\",[1578,1610]],[[64630,64630],\"mapped\",[1579,1585]],[[64631,64631],\"mapped\",[1579,1586]],[[64632,64632],\"mapped\",[1579,1605]],[[64633,64633],\"mapped\",[1579,1606]],[[64634,64634],\"mapped\",[1579,1609]],[[64635,64635],\"mapped\",[1579,1610]],[[64636,64636],\"mapped\",[1601,1609]],[[64637,64637],\"mapped\",[1601,1610]],[[64638,64638],\"mapped\",[1602,1609]],[[64639,64639],\"mapped\",[1602,1610]],[[64640,64640],\"mapped\",[1603,1575]],[[64641,64641],\"mapped\",[1603,1604]],[[64642,64642],\"mapped\",[1603,1605]],[[64643,64643],\"mapped\",[1603,1609]],[[64644,64644],\"mapped\",[1603,1610]],[[64645,64645],\"mapped\",[1604,1605]],[[64646,64646],\"mapped\",[1604,1609]],[[64647,64647],\"mapped\",[1604,1610]],[[64648,64648],\"mapped\",[1605,1575]],[[64649,64649],\"mapped\",[1605,1605]],[[64650,64650],\"mapped\",[1606,1585]],[[64651,64651],\"mapped\",[1606,1586]],[[64652,64652],\"mapped\",[1606,1605]],[[64653,64653],\"mapped\",[1606,1606]],[[64654,64654],\"mapped\",[1606,1609]],[[64655,64655],\"mapped\",[1606,1610]],[[64656,64656],\"mapped\",[1609,1648]],[[64657,64657],\"mapped\",[1610,1585]],[[64658,64658],\"mapped\",[1610,1586]],[[64659,64659],\"mapped\",[1610,1605]],[[64660,64660],\"mapped\",[1610,1606]],[[64661,64661],\"mapped\",[1610,1609]],[[64662,64662],\"mapped\",[1610,1610]],[[64663,64663],\"mapped\",[1574,1580]],[[64664,64664],\"mapped\",[1574,1581]],[[64665,64665],\"mapped\",[1574,1582]],[[64666,64666],\"mapped\",[1574,1605]],[[64667,64667],\"mapped\",[1574,1607]],[[64668,64668],\"mapped\",[1576,1580]],[[64669,64669],\"mapped\",[1576,1581]],[[64670,64670],\"mapped\",[1576,1582]],[[64671,64671],\"mapped\",[1576,1605]],[[64672,64672],\"mapped\",[1576,1607]],[[64673,64673],\"mapped\",[1578,1580]],[[64674,64674],\"mapped\",[1578,1581]],[[64675,64675],\"mapped\",[1578,1582]],[[64676,64676],\"mapped\",[1578,1605]],[[64677,64677],\"mapped\",[1578,1607]],[[64678,64678],\"mapped\",[1579,1605]],[[64679,64679],\"mapped\",[1580,1581]],[[64680,64680],\"mapped\",[1580,1605]],[[64681,64681],\"mapped\",[1581,1580]],[[64682,64682],\"mapped\",[1581,1605]],[[64683,64683],\"mapped\",[1582,1580]],[[64684,64684],\"mapped\",[1582,1605]],[[64685,64685],\"mapped\",[1587,
478071580]],[[64686,64686],\"mapped\",[1587,1581]],[[64687,64687],\"mapped\",[1587,1582]],[[64688,64688],\"mapped\",[1587,1605]],[[64689,64689],\"mapped\",[1589,1581]],[[64690,64690],\"mapped\",[1589,1582]],[[64691,64691],\"mapped\",[1589,1605]],[[64692,64692],\"mapped\",[1590,1580]],[[64693,64693],\"mapped\",[1590,1581]],[[64694,64694],\"mapped\",[1590,1582]],[[64695,64695],\"mapped\",[1590,1605]],[[64696,64696],\"mapped\",[1591,1581]],[[64697,64697],\"mapped\",[1592,1605]],[[64698,64698],\"mapped\",[1593,1580]],[[64699,64699],\"mapped\",[1593,1605]],[[64700,64700],\"mapped\",[1594,1580]],[[64701,64701],\"mapped\",[1594,1605]],[[64702,64702],\"mapped\",[1601,1580]],[[64703,64703],\"mapped\",[1601,1581]],[[64704,64704],\"mapped\",[1601,1582]],[[64705,64705],\"mapped\",[1601,1605]],[[64706,64706],\"mapped\",[1602,1581]],[[64707,64707],\"mapped\",[1602,1605]],[[64708,64708],\"mapped\",[1603,1580]],[[64709,64709],\"mapped\",[1603,1581]],[[64710,64710],\"mapped\",[1603,1582]],[[64711,64711],\"mapped\",[1603,1604]],[[64712,64712],\"mapped\",[1603,1605]],[[64713,64713],\"mapped\",[1604,1580]],[[64714,64714],\"mapped\",[1604,1581]],[[64715,64715],\"mapped\",[1604,1582]],[[64716,64716],\"mapped\",[1604,1605]],[[64717,64717],\"mapped\",[1604,1607]],[[64718,64718],\"mapped\",[1605,1580]],[[64719,64719],\"mapped\",[1605,1581]],[[64720,64720],\"mapped\",[1605,1582]],[[64721,64721],\"mapped\",[1605,1605]],[[64722,64722],\"mapped\",[1606,1580]],[[64723,64723],\"mapped\",[1606,1581]],[[64724,64724],\"mapped\",[1606,1582]],[[64725,64725],\"mapped\",[1606,1605]],[[64726,64726],\"mapped\",[1606,1607]],[[64727,64727],\"mapped\",[1607,1580]],[[64728,64728],\"mapped\",[1607,1605]],[[64729,64729],\"mapped\",[1607,1648]],[[64730,64730],\"mapped\",[1610,1580]],[[64731,64731],\"mapped\",[1610,1581]],[[64732,64732],\"mapped\",[1610,1582]],[[64733,64733],\"mapped\",[1610,1605]],[[64734,64734],\"mapped\",[1610,1607]],[[64735,64735],\"mapped\",[1574,1605]],[[64736,64736],\"mapped\",[1574,1607]],[[64737,64737],\"mapped\",[1576,1605]],[[64738,64738],\"mapped\",[1576,1607]],[[64739,64739],\"mapped\",[1578,1605]],[[64740,64740],\"mapped\",[1578,1607]],[[64741,64741],\"mapped\",[1579,1605]],[[64742,64742],\"mapped\",[1579,1607]],[[64743,64743],\"mapped\",[1587,1605]],[[64744,64744],\"mapped\",[1587,1607]],[[64745,64745],\"mapped\",[1588,1605]],[[64746,64746],\"mapped\",[1588,1607]],[[64747,64747],\"mapped\",[1603,1604]],[[64748,64748],\"mapped\",[1603,1605]],[[64749,64749],\"mapped\",[1604,1605]],[[64750,64750],\"mapped\",[1606,1605]],[[64751,64751],\"mapped\",[1606,1607]],[[64752,64752],\"mapped\",[1610,1605]],[[64753,64753],\"mapped\",[1610,1607]],[[64754,64754],\"mapped\",[1600,1614,1617]],[[64755,64755],\"mapped\",[1600,1615,1617]],[[64756,64756],\"mapped\",[1600,1616,1617]],[[64757,64757],\"mapped\",[1591,1609]],[[64758,64758],\"mapped\",[1591,1610]],[[64759,64759],\"mapped\",[1593,1609]],[[64760,64760],\"mapped\",[1593,1610]],[[64761,64761],\"mapped\",[1594,1609]],[[64762,64762],\"mapped\",[1594,1610]],[[64763,64763],\"mapped\",[1587,1609]],[[64764,64764],\"mapped\",[1587,1610]],[[64765,64765],\"mapped\",[1588,1609]],[[64766,64766],\"mapped\",[1588,1610]],[[64767,64767],\"mapped\",[1581,1609]],[[64768,64768],\"mapped\",[1581,1610]],[[64769,64769],\"mapped\",[1580,1609]],[[64770,64770],\"mapped\",[1580,1610]],[[64771,64771],\"mapped\",[1582,1609]],[[64772,64772],\"mapped\",[1582,1610]],[[64773,64773],\"mapped\",[1589,1609]],[[64774,64774],\"mapped\",[1589,1610]],[[64775,64775],\"mapped\",[1590,1609]],[[64776,64776],\"mapped\",[1590,1610]],[[64777,64777],\"mapped\",[1588,1580]],[[64778,64778],\"mapped\",[1588,1581]],[[64779,64779],\"mapped\",[1588,1582]],[[64780,64780],\"mapped\",[1588,1605]],[[64781,64781],\"mapped\",[1588,1585]],[[64782,64782],\"mapped\",[1587,1585]],[[64783,64783],\"mapped\",[1589,1585]],[[64784,64784],\"mapped\",[1590,1585]],[[64785,64785],\"mapped\",[1591,1609]],[[64786,64786],\"mapped\",[1591,1610]],[[64787,64787],\"mapped\",[1593,1609]],[[64788,64788],\"mapped\",[1593,1610]],[[64789,64789],\"mapped\",[1594,1609]],[[64790,64790],\"mapped\",[1594,1610]],[[64791,64791],\"mapped\",[1587,
478071609]],[[64792,64792],\"mapped\",[1587,1610]],[[64793,64793],\"mapped\",[1588,1609]],[[64794,64794],\"mapped\",[1588,1610]],[[64795,64795],\"mapped\",[1581,1609]],[[64796,64796],\"mapped\",[1581,1610]],[[64797,64797],\"mapped\",[1580,1609]],[[64798,64798],\"mapped\",[1580,1610]],[[64799,64799],\"mapped\",[1582,1609]],[[64800,64800],\"mapped\",[1582,1610]],[[64801,64801],\"mapped\",[1589,1609]],[[64802,64802],\"mapped\",[1589,1610]],[[64803,64803],\"mapped\",[1590,1609]],[[64804,64804],\"mapped\",[1590,1610]],[[64805,64805],\"mapped\",[1588,1580]],[[64806,64806],\"mapped\",[1588,1581]],[[64807,64807],\"mapped\",[1588,1582]],[[64808,64808],\"mapped\",[1588,1605]],[[64809,64809],\"mapped\",[1588,1585]],[[64810,64810],\"mapped\",[1587,1585]],[[64811,64811],\"mapped\",[1589,1585]],[[64812,64812],\"mapped\",[1590,1585]],[[64813,64813],\"mapped\",[1588,1580]],[[64814,64814],\"mapped\",[1588,1581]],[[64815,64815],\"mapped\",[1588,1582]],[[64816,64816],\"mapped\",[1588,1605]],[[64817,64817],\"mapped\",[1587,1607]],[[64818,64818],\"mapped\",[1588,1607]],[[64819,64819],\"mapped\",[1591,1605]],[[64820,64820],\"mapped\",[1587,1580]],[[64821,64821],\"mapped\",[1587,1581]],[[64822,64822],\"mapped\",[1587,1582]],[[64823,64823],\"mapped\",[1588,1580]],[[64824,64824],\"mapped\",[1588,1581]],[[64825,64825],\"mapped\",[1588,1582]],[[64826,64826],\"mapped\",[1591,1605]],[[64827,64827],\"mapped\",[1592,1605]],[[64828,64829],\"mapped\",[1575,1611]],[[64830,64831],\"valid\",[],\"NV8\"],[[64832,64847],\"disallowed\"],[[64848,64848],\"mapped\",[1578,1580,1605]],[[64849,64850],\"mapped\",[1578,1581,1580]],[[64851,64851],\"mapped\",[1578,1581,1605]],[[64852,64852],\"mapped\",[1578,1582,1605]],[[64853,64853],\"mapped\",[1578,1605,1580]],[[64854,64854],\"mapped\",[1578,1605,1581]],[[64855,64855],\"mapped\",[1578,1605,1582]],[[64856,64857],\"mapped\",[1580,1605,1581]],[[64858,64858],\"mapped\",[1581,1605,1610]],[[64859,64859],\"mapped\",[1581,1605,1609]],[[64860,64860],\"mapped\",[1587,1581,1580]],[[64861,64861],\"mapped\",[1587,1580,1581]],[[64862,64862],\"mapped\",[1587,1580,1609]],[[64863,64864],\"mapped\",[1587,1605,1581]],[[64865,64865],\"mapped\",[1587,1605,1580]],[[64866,64867],\"mapped\",[1587,1605,1605]],[[64868,64869],\"mapped\",[1589,1581,1581]],[[64870,64870],\"mapped\",[1589,1605,1605]],[[64871,64872],\"mapped\",[1588,1581,1605]],[[64873,64873],\"mapped\",[1588,1580,1610]],[[64874,64875],\"mapped\",[1588,1605,1582]],[[64876,64877],\"mapped\",[1588,1605,1605]],[[64878,64878],\"mapped\",[1590,1581,1609]],[[64879,64880],\"mapped\",[1590,1582,1605]],[[64881,64882],\"mapped\",[1591,1605,1581]],[[64883,64883],\"mapped\",[1591,1605,1605]],[[64884,64884],\"mapped\",[1591,1605,1610]],[[64885,64885],\"mapped\",[1593,1580,1605]],[[64886,64887],\"mapped\",[1593,1605,1605]],[[64888,64888],\"mapped\",[1593,1605,1609]],[[64889,64889],\"mapped\",[1594,1605,1605]],[[64890,64890],\"mapped\",[1594,1605,1610]],[[64891,64891],\"mapped\",[1594,1605,1609]],[[64892,64893],\"mapped\",[1601,1582,1605]],[[64894,64894],\"mapped\",[1602,1605,1581]],[[64895,64895],\"mapped\",[1602,1605,1605]],[[64896,64896],\"mapped\",[1604,1581,1605]],[[64897,64897],\"mapped\",[1604,1581,1610]],[[64898,64898],\"mapped\",[1604,1581,1609]],[[64899,64900],\"mapped\",[1604,1580,1580]],[[64901,64902],\"mapped\",[1604,1582,1605]],[[64903,64904],\"mapped\",[1604,1605,1581]],[[64905,64905],\"mapped\",[1605,1581,1580]],[[64906,64906],\"mapped\",[1605,1581,1605]],[[64907,64907],\"mapped\",[1605,1581,1610]],[[64908,64908],\"mapped\",[1605,1580,1581]],[[64909,64909],\"mapped\",[1605,1580,1605]],[[64910,64910],\"mapped\",[1605,1582,1580]],[[64911,64911],\"mapped\",[1605,1582,1605]],[[64912,64913],\"disallowed\"],[[64914,64914],\"mapped\",[1605,1580,1582]],[[64915,64915],\"mapped\",[1607,1605,1580]],[[64916,64916],\"mapped\",[1607,1605,1605]],[[64917,64917],\"mapped\",[1606,1581,1605]],[[64918,64918],\"mapped\",[1606,1581,1609]],[[64919,64920],\"mapped\",[1606,1580,1605]],[[64921,64921],\"mapped\",[1606,1580,1609]],[[64922,64922],\"mapped\",[1606,1605,1610]],[[64923,64923],\"mapped\",[1606,1605,1609]],[[64924,64925],\"mapped\",[1610,1605,1605]],[[64926,64926],\"mapped\",[1576,1582,1610]],[[64927,64927],\"mapped\",[1578,1580,1610]],[[64928,64928],\"mapped\",[1578,1580,1609]],[[64929,64929],\"mapped\",[1578,1582,1610]],[[64930,64930],\"mapped\",[1578,1582,1609]],[[64931,64931],\"mapped\",[1578,1605,1610]],[[64932,64932],\"mapped\",[1578,1605,1609]],[[64933,64933],\"mapped\",[1580,1605,1610]],[[64934,64934],\"mapped\",[1580,1581,1609]],[[64935,64935],\"mapped\",[1580,1605,1609]],[[64936,64936],\"mapped\",[1587,
478071582,1609]],[[64937,64937],\"mapped\",[1589,1581,1610]],[[64938,64938],\"mapped\",[1588,1581,1610]],[[64939,64939],\"mapped\",[1590,1581,1610]],[[64940,64940],\"mapped\",[1604,1580,1610]],[[64941,64941],\"mapped\",[1604,1605,1610]],[[64942,64942],\"mapped\",[1610,1581,1610]],[[64943,64943],\"mapped\",[1610,1580,1610]],[[64944,64944],\"mapped\",[1610,1605,1610]],[[64945,64945],\"mapped\",[1605,1605,1610]],[[64946,64946],\"mapped\",[1602,1605,1610]],[[64947,64947],\"mapped\",[1606,1581,1610]],[[64948,64948],\"mapped\",[1602,1605,1581]],[[64949,64949],\"mapped\",[1604,1581,1605]],[[64950,64950],\"mapped\",[1593,1605,1610]],[[64951,64951],\"mapped\",[1603,1605,1610]],[[64952,64952],\"mapped\",[1606,1580,1581]],[[64953,64953],\"mapped\",[1605,1582,1610]],[[64954,64954],\"mapped\",[1604,1580,1605]],[[64955,64955],\"mapped\",[1603,1605,1605]],[[64956,64956],\"mapped\",[1604,1580,1605]],[[64957,64957],\"mapped\",[1606,1580,1581]],[[64958,64958],\"mapped\",[1580,1581,1610]],[[64959,64959],\"mapped\",[1581,1580,1610]],[[64960,64960],\"mapped\",[1605,1580,1610]],[[64961,64961],\"mapped\",[1601,1605,1610]],[[64962,64962],\"mapped\",[1576,1581,1610]],[[64963,64963],\"mapped\",[1603,1605,1605]],[[64964,64964],\"mapped\",[1593,1580,1605]],[[64965,64965],\"mapped\",[1589,1605,1605]],[[64966,64966],\"mapped\",[1587,1582,1610]],[[64967,64967],\"mapped\",[1606,1580,1610]],[[64968,64975],\"disallowed\"],[[64976,65007],\"disallowed\"],[[65008,65008],\"mapped\",[1589,1604,1746]],[[65009,65009],\"mapped\",[1602,1604,1746]],[[65010,65010],\"mapped\",[1575,1604,1604,1607]],[[65011,65011],\"mapped\",[1575,1603,1576,1585]],[[65012,65012],\"mapped\",[1605,1581,1605,1583]],[[65013,65013],\"mapped\",[1589,1604,1593,1605]],[[65014,65014],\"mapped\",[1585,1587,1608,1604]],[[65015,65015],\"mapped\",[1593,1604,1610,1607]],[[65016,65016],\"mapped\",[1608,1587,1604,1605]],[[65017,65017],\"mapped\",[1589,1604,1609]],[[65018,65018],\"disallowed_STD3_mapped\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\"disallowed_STD3_mapped\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\"mapped\",[1585,1740,1575,1604]],[[65021,65021],\"valid\",[],\"NV8\"],[[65022,65023],\"disallowed\"],[[65024,65039],\"ignored\"],[[65040,65040],\"disallowed_STD3_mapped\",[44]],[[65041,65041],\"mapped\",[12289]],[[65042,65042],\"disallowed\"],[[65043,65043],\"disallowed_STD3_mapped\",[58]],[[65044,65044],\"disallowed_STD3_mapped\",[59]],[[65045,65045],\"disallowed_STD3_mapped\",[33]],[[65046,65046],\"disallowed_STD3_mapped\",[63]],[[65047,65047],\"mapped\",[12310]],[[65048,65048],\"mapped\",[12311]],[[65049,65049],\"disallowed\"],[[65050,65055],\"disallowed\"],[[65056,65059],\"valid\"],[[65060,65062],\"valid\"],[[65063,65069],\"valid\"],[[65070,65071],\"valid\"],[[65072,65072],\"disallowed\"],[[65073,65073],\"mapped\",[8212]],[[65074,65074],\"mapped\",[8211]],[[65075,65076],\"disallowed_STD3_mapped\",[95]],[[65077,65077],\"disallowed_STD3_mapped\",[40]],[[65078,65078],\"disallowed_STD3_mapped\",[41]],[[65079,65079],\"disallowed_STD3_mapped\",[123]],[[65080,65080],\"disallowed_STD3_mapped\",[125]],[[65081,65081],\"mapped\",[12308]],[[65082,65082],\"mapped\",[12309]],[[65083,65083],\"mapped\",[12304]],[[65084,65084],\"mapped\",[12305]],[[65085,65085],\"mapped\",[12298]],[[65086,65086],\"mapped\",[12299]],[[65087,65087],\"mapped\",[12296]],[[65088,65088],\"mapped\",[12297]],[[65089,65089],\"mapped\",[12300]],[[65090,65090],\"mapped\",[12301]],[[65091,65091],\"mapped\",[12302]],[[65092,65092],\"mapped\",[12303]],[[65093,65094],\"valid\",[],\"NV8\"],[[65095,65095],\"disallowed_STD3_mapped\",[91]],[[65096,65096],\"disallowed_STD3_mapped\",[93]],[[65097,65100],\"disallowed_STD3_mapped\",[32,773]],[[65101,65103],\"disallowed_STD3_mapped\",[95]],[[65104,65104],\"disallowed_STD3_mapped\",[44]],[[65105,65105],\"mapped\",[12289]],[[65106,65106],\"disallowed\"],[[65107,65107],\"disallowed\"],[[65108,65108],\"disallowed_STD3_mapped\",[59]],[[65109,65109],\"disallowed_STD3_mapped\",[58]],[[65110,65110],\"disallowed_STD3_mapped\",[63]],[[65111,65111],\"disallowed_STD3_mapped\",[33]],[[65112,65112],\"mapped\",[8212]],[[65113,65113],\"disallowed_STD3_mapped\",[40]],[[65114,65114],\"disallowed_STD3_mapped\",[41]],[[65115,65115],\"disallowed_STD3_mapped\",[123]],[[65116,65116],\"disallowed_STD3_mapped\",[125]],[[65117,65117],\"mapped\",[12308]],[[65118,65118],\"mapped\",[12309]],[[65119,65119],\"disallowed_STD3_mapped\",[35]],[[65120,65120],\"disallowed_STD3_mapped\",[38]],[[65121,65121],\"disallowed_STD3_mapped\",[42]],[[65122,65122],\"disallowed_STD3_mapped\",[43]],[[65123,65123],\"mapped\",[45]],[[65124,65124],\"disallowed_STD3_mapped\",[60]],[[65125,65125],\"disallowed_STD3_mapped\",[62]],[[65126,65126],\"disallowed_STD3_mapped\",[61]],[[65127,65127],\"disallowed\"],[[65128,65128],\"disallowed_STD3_mapped\",[92]],[[65129,65129],\"disallowed_STD3_mapped\",[36]],[[65130,65130],\"disallowed_STD3_mapped\",[37]],[[65131,65131],\"disallowed_STD3_mapped\",[64]],[[65132,65135],\"disallowed\"],[[65136,65136],\"disallowed_STD3_mapped\",[32,1611]],[[65137,65137],\"mapped\",[1600,1611]],[[65138,65138],\"disallowed_STD3_mapped\",[32,1612]],[[65139,65139],\"valid\"],[[65140,65140],\"disallowed_STD3_mapped\",[32,1613]],[[65141,65141],\"disallowed\"],[[65142,65142],\"disallowed_STD3_mapped\",[32,1614]],[[65143,65143],\"mapped\",[1600,1614]],[[65144,65144],\"disallowed_STD3_mapped\",[32,1615]],[[65145,65145],\"mapped\",[1600,1615]],[[65146,65146],\"disallowed_STD3_mapped\",[32,1616]],[[65147,65147],\"mapped\",[1600,1616]],[[65148,65148],\"disallowed_STD3_mapped\",[32,1617]],[[65149,65149],\"mapped\",[1600,1617]],[[65150,65150],\"disallowed_STD3_mapped\",[32,1618]],[[65151,65151],\"mapped\",[1600,1618]],[[65152,65152],\"mapped\",[1569]],[[65153,65154],\"mapped\",[1570]],[[65155,65156],\"mapped\",[1571]],[[65157,65158],\"mapped\",[1572]],[[65159,65160],\"mapped\",[1573]],[[65161,65164],\"mapped\",[1574]],[[65165,65166],\"mapped\",[1575]],[[65167,65170],\"mapped\",[1576]],[[65171,65172],\"mapped\",[1577]],[[65173,65176],\"mapped\",[1578]],[[65177,65180],\"mapped\",[1579]],[[65181,65184],\"mapped\",[1580]],[[65185,65188],\"mapped\",[1581]],[[65189,65192],\"mapped\",[1582]],[[65193,65194],\"mapped\",[1583]],[[65195,65196],\"mapped\",[1584]],[[65197,65198],\"mapped\",[1585]],[[65199,65200],\"mapped\",[1586]],[[65201,65204],\"mapped\",[1587]],[[65205,65208],\"mapped\",[1588]],[[65209,65212],\"mapped\",[1589]],[[65213,65216],\"mapped\",[1590]],[[65217,65220],\"mapped\",[1591]],[[65221,65224],\"mapped\",[1592]],[[65225,65228],\"mapped\",[1593]],[[65229,65232],\"mapped\",[1594]],[[65233,65236],\"mapped\",[1601]],[[65237,65240],\"mapped\",[1602]],[[65241,65244],\"mapped\",[1603]],[[65245,65248],\"mapped\",[1604]],[[65249,65252],\"mapped\",[1605]],[[65253,65256],\"mapped\",[1606]],[[65257,65260],\"mapped\",[1607]],[[65261,65262],\"mapped\",[1608]],[[65263,65264],\"mapped\",[1609]],[[65265,652
4780768],\"mapped\",[1610]],[[65269,65270],\"mapped\",[1604,1570]],[[65271,65272],\"mapped\",[1604,1571]],[[65273,65274],\"mapped\",[1604,1573]],[[65275,65276],\"mapped\",[1604,1575]],[[65277,65278],\"disallowed\"],[[65279,65279],\"ignored\"],[[65280,65280],\"disallowed\"],[[65281,65281],\"disallowed_STD3_mapped\",[33]],[[65282,65282],\"disallowed_STD3_mapped\",[34]],[[65283,65283],\"disallowed_STD3_mapped\",[35]],[[65284,65284],\"disallowed_STD3_mapped\",[36]],[[65285,65285],\"disallowed_STD3_mapped\",[37]],[[65286,65286],\"disallowed_STD3_mapped\",[38]],[[65287,65287],\"disallowed_STD3_mapped\",[39]],[[65288,65288],\"disallowed_STD3_mapped\",[40]],[[65289,65289],\"disallowed_STD3_mapped\",[41]],[[65290,65290],\"disallowed_STD3_mapped\",[42]],[[65291,65291],\"disallowed_STD3_mapped\",[43]],[[65292,65292],\"disallowed_STD3_mapped\",[44]],[[65293,65293],\"mapped\",[45]],[[65294,65294],\"mapped\",[46]],[[65295,65295],\"disallowed_STD3_mapped\",[47]],[[65296,65296],\"mapped\",[48]],[[65297,65297],\"mapped\",[49]],[[65298,65298],\"mapped\",[50]],[[65299,65299],\"mapped\",[51]],[[65300,65300],\"mapped\",[52]],[[65301,65301],\"mapped\",[53]],[[65302,65302],\"mapped\",[54]],[[65303,65303],\"mapped\",[55]],[[65304,65304],\"mapped\",[56]],[[65305,65305],\"mapped\",[57]],[[65306,65306],\"disallowed_STD3_mapped\",[58]],[[65307,65307],\"disallowed_STD3_mapped\",[59]],[[65308,65308],\"disallowed_STD3_mapped\",[60]],[[65309,65309],\"disallowed_STD3_mapped\",[61]],[[65310,65310],\"disallowed_STD3_mapped\",[62]],[[65311,65311],\"disallowed_STD3_mapped\",[63]],[[65312,65312],\"disallowed_STD3_mapped\",[64]],[[65313,65313],\"mapped\",[97]],[[65314,65314],\"mapped\",[98]],[[65315,65315],\"mapped\",[99]],[[65316,65316],\"mapped\",[100]],[[65317,65317],\"mapped\",[101]],[[65318,65318],\"mapped\",[102]],[[65319,65319],\"mapped\",[103]],[[65320,65320],\"mapped\",[104]],[[65321,65321],\"mapped\",[105]],[[65322,65322],\"mapped\",[106]],[[65323,65323],\"mapped\",[107]],[[65324,65324],\"mapped\",[108]],[[65325,65325],\"mapped\",[109]],[[65326,65326],\"mapped\",[110]],[[65327,65327],\"mapped\",[111]],[[65328,65328],\"mapped\",[112]],[[65329,65329],\"mapped\",[113]],[[65330,65330],\"mapped\",[114]],[[65331,65331],\"mapped\",[115]],[[65332,65332],\"mapped\",[116]],[[65333,65333],\"mapped\",[117]],[[65334,65334],\"mapped\",[118]],[[65335,65335],\"mapped\",[119]],[[65336,65336],\"mapped\",[120]],[[65337,65337],\"mapped\",[121]],[[65338,65338],\"mapped\",[122]],[[65339,65339],\"disallowed_STD3_mapped\",[91]],[[65340,65340],\"disallowed_STD3_mapped\",[92]],[[65341,65341],\"disallowed_STD3_mapped\",[93]],[[65342,65342],\"disallowed_STD3_mapped\",[94]],[[65343,65343],\"disallowed_STD3_mapped\",[95]],[[65344,65344],\"disallowed_STD3_mapped\",[96]],[[65345,65345],\"mapped\",[97]],[[65346,65346],\"mapped\",[98]],[[65347,65347],\"mapped\",[99]],[[65348,65348],\"mapped\",[100]],[[65349,65349],\"mapped\",[101]],[[65350,65350],\"mapped\",[102]],[[65351,65351],\"mapped\",[103]],[[65352,65352],\"mapped\",[104]],[[65353,65353],\"mapped\",[105]],[[65354,65354],\"mapped\",[106]],[[65355,65355],\"mapped\",[107]],[[65356,65356],\"mapped\",[108]],[[65357,65357],\"mapped\",[109]],[[65358,65358],\"mapped\",[110]],[[65359,65359],\"mapped\",[111]],[[65360,65360],\"mapped\",[112]],[[65361,65361],\"mapped\",[113]],[[65362,65362],\"mapped\",[114]],[[65363,65363],\"mapped\",[115]],[[65364,65364],\"mapped\",[116]],[[65365,65365],\"mapped\",[117]],[[65366,65366],\"mapped\",[118]],[[65367,65367],\"mapped\",[119]],[[65368,65368],\"mapped\",[120]],[[65369,65369],\"mapped\",[121]],[[65370,65370],\"mapped\",[122]],[[65371,65371],\"disallowed_STD3_mapped\",[123]],[[65372,65372],\"disallowed_STD3_mapped\",[124]],[[65373,65373],\"disallowed_STD3_mapped\",[125]],[[65374,65374],\"disallowed_STD3_mapped\",[126]],[[65375,65375],\"mapped\",[10629]],[[65376,65376],\"mapped\",[10630]],[[65377,65377],\"mapped\",[46]],[[65378,65378],\"mapped\",[12300]],[[65379,65379],\"mapped\",[12301]],[[65380,65380],\"mapped\",[12289]],[[65381,65381],\"mapped\",[12539]],[[65382,65382],\"mapped\",[12530]],[[65383,65383],\"mapped\",[12449]],[[65384,65384],\"mapped\",[12451]],[[65385,65385],\"mapped\",[12453]],[[65386,65386],\"mapped\",[12455]],[[65387,65387],\"mapped\",[12457]],[[65388,65388],\"mapped\",[12515]],[[65389,65389],\"mapped\",[12517]],[[65390,65390],\"mapped\",[12519]],[[65391,65391],\"mapped\",[12483]],[[65392,65392],\"mapped\",[12540]],[[65393,65393],\"mapped\",[12450]],[[65394,65394],\"mapped\",[12452]],[[65395,65395],\"mapped\",[12454]],[[65396,65396],\"mapped\",[12456]],[[65397,65397],\"mapped\",[12458]],[[65398,65398],\"mapped\",[12459]],[[65399,65399],\"mapped\",[12461]],[[65400,65400],\"mapped\",[12463]],[[65401,65401],\"mapped\",[12465]],[[65402,65402],\"mapped\",[12467]],[[65403,65403],\"mapped\",[12469]],[[65404,65404],\"mapped\",[12471]],[[65405,65405],\"mapped\",[12473]],[[65406,65406],\"mapped\",[12475]],[[65407,65407],\"mapped\",[12477]],[[65408,65408],\"mapped\",[12479]],[[65409,65409],\"mapped\",[12481]],[[65410,65410],\"mapped\",[12484]],[[65411,65411],\"mapped\",[12486]],[[65412,65412],\"mapped\",[12488]],[[65413,65413],\"mapped\",[12490]],[[65414,65414],\"mapped\",[12491]],[[65415,65415],\"mapped\",[12492]],[[65416,65416],\"mapped\",[12493]],[[65417,65417],\"mapped\",[12494]],[[65418,65418],\"mapped\",[12495]],[[65419,65419],\"mapped\",[12498]],[[65420,65420],\"mapped\",[12501]],[[65421,65421],\"mapped\",[12504]],[[65422,65422],\"mapped\",[12507]],[[65423,65423],\"mapped\",[12510]],[[65424,65424],\"mapped\",[12511]],[[65425,65425],\"mapped\",[12512]],[[65426,65426],\"mapped\",[12513]],[[65427,65427],\"mapped\",[12514]],[[65428,65428],\"mapped\",[12516]],[[65429,65429],\"mapped\",[12518]],[[65430,65430],\"mapped\",[12520]],[[65431,65431],\"mapped\",[12521]],[[65432,65432],\"mapped\",[12522]],[[65433,65433],\"mapped\",[12523]],[[65434,65434],\"mapped\",[12524]],[[65435,65435],\"mapped\",[12525]],[[65436,65436],\"mapped\",[12527]],[[65437,65437],\"mapped\",[12531]],[[65438,65438],\"mapped\",[12441]],[[65439,65439],\"mapped\",[12442]],[[65440,65440],\"disallowed\"],[[65441,65441],\"mapped\",[4352]],[[65442,65442],\"mapped\",[4353]],[[65443,65443],\"mapped\",[4522]],[[65444,65444],\"mapped\",[4354]],[[65445,65445],\"mapped\",[4524]],[[65446,65446],\"mapped\",[4525]],[[65447,65447],\"mapped\",[4355]],[[65448,65448],\"mapped\",[4356]],[[65449,65449],\"mapped\",[4357]],[[65450,65450],\"mapped\",[4528]],[[65451,65451],\"mapped\",[4529]],[[65452,65452],\"mapped\",[4530]],[[65453,65453],\"mapped\",[4531]],[[65454,65454],\"mapped\",[4532]],[[65455,65455],\"mapped\",[4533]],[[65456,65456],\"mapped\",[4378]],[[65457,65457],\"mapped\",[4358]],[[65458,65458],\"mapped\",[4359]],[[65459,65459],\"mapped\",[4360]],[[65460,65460],\"mapped\",[4385]],[[65461,65461],\"mapped\",[4361]],[[65462,65462],\"mapped\",[4362]],[[65463,65463],\"mapped\",[4363]],[[65464,65464],\"mapped\",[4364]],[[65465,65465],\"mapped\",[4365]],[[65466,65466],\"mapped\",[4366]],[[65467,65467],\"mapped\",[4367]],[[65468,65468],\"mapped\",[4368]],[[65469,65469],\"mapped\",[4369]],[[65470,65470],\"mapped\",[4370]],[[65471,65473],\"disallowed\"],[[65474,65474],\"mapped\",[4449]],[[65475,65475],\"mapped\",[4450]],[[65476,65476],\"mapped\",[4451]],[[65477,65477],\"mapped\",[4452]],[[65478,65478],\"mapped\",[4453]],[[65479,65479],\"mapped\",[4454]],[[65480,65481],\"disallowed\"],[[65482,65482],\"mapped\",[4455]],[[65483,65483],\"mapped\",[4456]],[[65484,65484],\"mapped\",[4457]],[[65485,65485],\"mapped\",[4458]],[[65486,65486],\"mapped\",[4459]],[[65487,65487],\"mapped\",[4460]],[[65488,65489],\"disallowed\"],[[65490,65490],\"mapped\",[4461]],[[65491,65491],\"mapped\",[4462]],[[65492,65492],\"mapped\",[4463]],[[65493,65493],\"mapped\",[4464]],[[65494,65494],\"mapped\",[4465]],[[65495,65495],\"mapped\",[4466]],[[65496,65497],\"disallowed\"],[[65498,65498],\"mapped\",[4467]],[[65499,65499],\"mapped\",[4468]],[[65500,65500],\"mapped\",[4469]],[[65501,65503],\"disallowed\"],[[65504,65504],\"mapped\",[162]],[[65505,65505],\"mapped\",[163]],[[65506,65506],\"mapped\",[172]],[[65507,65507],\"disallowed_STD3_mapped\",[32,772]],[[65508,65508],\"mapped\",[166]],[[65509,65509],\"mapped\",[165]],[[65510,65510],\"mapped\",[8361]],[[65511,65511],\"disallowed\"],[[65512,65512],\"mapped\",[9474]
47807],[[65513,65513],\"mapped\",[8592]],[[65514,65514],\"mapped\",[8593]],[[65515,65515],\"mapped\",[8594]],[[65516,65516],\"mapped\",[8595]],[[65517,65517],\"mapped\",[9632]],[[65518,65518],\"mapped\",[9675]],[[65519,65528],\"disallowed\"],[[65529,65531],\"disallowed\"],[[65532,65532],\"disallowed\"],[[65533,65533],\"disallowed\"],[[65534,65535],\"disallowed\"],[[65536,65547],\"valid\"],[[65548,65548],\"disallowed\"],[[65549,65574],\"valid\"],[[65575,65575],\"disallowed\"],[[65576,65594],\"valid\"],[[65595,65595],\"disallowed\"],[[65596,65597],\"valid\"],[[65598,65598],\"disallowed\"],[[65599,65613],\"valid\"],[[65614,65615],\"disallowed\"],[[65616,65629],\"valid\"],[[65630,65663],\"disallowed\"],[[65664,65786],\"valid\"],[[65787,65791],\"disallowed\"],[[65792,65794],\"valid\",[],\"NV8\"],[[65795,65798],\"disallowed\"],[[65799,65843],\"valid\",[],\"NV8\"],[[65844,65846],\"disallowed\"],[[65847,65855],\"valid\",[],\"NV8\"],[[65856,65930],\"valid\",[],\"NV8\"],[[65931,65932],\"valid\",[],\"NV8\"],[[65933,65935],\"disallowed\"],[[65936,65947],\"valid\",[],\"NV8\"],[[65948,65951],\"disallowed\"],[[65952,65952],\"valid\",[],\"NV8\"],[[65953,65999],\"disallowed\"],[[66000,66044],\"valid\",[],\"NV8\"],[[66045,66045],\"valid\"],[[66046,66175],\"disallowed\"],[[66176,66204],\"valid\"],[[66205,66207],\"disallowed\"],[[66208,66256],\"valid\"],[[66257,66271],\"disallowed\"],[[66272,66272],\"valid\"],[[66273,66299],\"valid\",[],\"NV8\"],[[66300,66303],\"disallowed\"],[[66304,66334],\"valid\"],[[66335,66335],\"valid\"],[[66336,66339],\"valid\",[],\"NV8\"],[[66340,66351],\"disallowed\"],[[66352,66368],\"valid\"],[[66369,66369],\"valid\",[],\"NV8\"],[[66370,66377],\"valid\"],[[66378,66378],\"valid\",[],\"NV8\"],[[66379,66383],\"disallowed\"],[[66384,66426],\"valid\"],[[66427,66431],\"disallowed\"],[[66432,66461],\"valid\"],[[66462,66462],\"disallowed\"],[[66463,66463],\"valid\",[],\"NV8\"],[[66464,66499],\"valid\"],[[66500,66503],\"disallowed\"],[[66504,66511],\"valid\"],[[66512,66517],\"valid\",[],\"NV8\"],[[66518,66559],\"disallowed\"],[[66560,66560],\"mapped\",[66600]],[[66561,66561],\"mapped\",[66601]],[[66562,66562],\"mapped\",[66602]],[[66563,66563],\"mapped\",[66603]],[[66564,66564],\"mapped\",[66604]],[[66565,66565],\"mapped\",[66605]],[[66566,66566],\"mapped\",[66606]],[[66567,66567],\"mapped\",[66607]],[[66568,66568],\"mapped\",[66608]],[[66569,66569],\"mapped\",[66609]],[[66570,66570],\"mapped\",[66610]],[[66571,66571],\"mapped\",[66611]],[[66572,66572],\"mapped\",[66612]],[[66573,66573],\"mapped\",[66613]],[[66574,66574],\"mapped\",[66614]],[[66575,66575],\"mapped\",[66615]],[[66576,66576],\"mapped\",[66616]],[[66577,66577],\"mapped\",[66617]],[[66578,66578],\"mapped\",[66618]],[[66579,66579],\"mapped\",[66619]],[[66580,66580],\"mapped\",[66620]],[[66581,66581],\"mapped\",[66621]],[[66582,66582],\"mapped\",[66622]],[[66583,66583],\"mapped\",[66623]],[[66584,66584],\"mapped\",[66624]],[[66585,66585],\"mapped\",[66625]],[[66586,66586],\"mapped\",[66626]],[[66587,66587],\"mapped\",[66627]],[[66588,66588],\"mapped\",[66628]],[[66589,66589],\"mapped\",[66629]],[[66590,66590],\"mapped\",[66630]],[[66591,66591],\"mapped\",[66631]],[[66592,66592],\"mapped\",[66632]],[[66593,66593],\"mapped\",[66633]],[[66594,66594],\"mapped\",[66634]],[[66595,66595],\"mapped\",[66635]],[[66596,66596],\"mapped\",[66636]],[[66597,66597],\"mapped\",[66637]],[[66598,66598],\"mapped\",[66638]],[[66599,66599],\"mapped\",[66639]],[[66600,66637],\"valid\"],[[66638,66717],\"valid\"],[[66718,66719],\"disallowed\"],[[66720,66729],\"valid\"],[[66730,66815],\"disallowed\"],[[66816,66855],\"valid\"],[[66856,66863],\"disallowed\"],[[66864,66915],\"valid\"],[[66916,66926],\"disallowed\"],[[66927,66927],\"valid\",[],\"NV8\"],[[66928,67071],\"disallowed\"],[[67072,67382],\"valid\"],[[67383,67391],\"disallowed\"],[[67392,67413],\"valid\"],[[67414,67423],\"disallowed\"],[[67424,67431],\"valid\"],[[67432,67583],\"disallowed\"],[[67584,67589],\"valid\"],[[67590,67591],\"disallowed\"],[[67592,67592],\"valid\"],[[67593,67593],\"disallowed\"],[[67594,67637],\"valid\"],[[67638,67638],\"disallowed\"],[[67639,67640],\"valid\"],[[67641,67643],\"disallowed\"],[[67644,67644],\"valid\"],[[67645,67646],\"disallowed\"],[[67647,67647],\"valid\"],[[67648,67669],\"valid\"],[[67670,
4780767670],\"disallowed\"],[[67671,67679],\"valid\",[],\"NV8\"],[[67680,67702],\"valid\"],[[67703,67711],\"valid\",[],\"NV8\"],[[67712,67742],\"valid\"],[[67743,67750],\"disallowed\"],[[67751,67759],\"valid\",[],\"NV8\"],[[67760,67807],\"disallowed\"],[[67808,67826],\"valid\"],[[67827,67827],\"disallowed\"],[[67828,67829],\"valid\"],[[67830,67834],\"disallowed\"],[[67835,67839],\"valid\",[],\"NV8\"],[[67840,67861],\"valid\"],[[67862,67865],\"valid\",[],\"NV8\"],[[67866,67867],\"valid\",[],\"NV8\"],[[67868,67870],\"disallowed\"],[[67871,67871],\"valid\",[],\"NV8\"],[[67872,67897],\"valid\"],[[67898,67902],\"disallowed\"],[[67903,67903],\"valid\",[],\"NV8\"],[[67904,67967],\"disallowed\"],[[67968,68023],\"valid\"],[[68024,68027],\"disallowed\"],[[68028,68029],\"valid\",[],\"NV8\"],[[68030,68031],\"valid\"],[[68032,68047],\"valid\",[],\"NV8\"],[[68048,68049],\"disallowed\"],[[68050,68095],\"valid\",[],\"NV8\"],[[68096,68099],\"valid\"],[[68100,68100],\"disallowed\"],[[68101,68102],\"valid\"],[[68103,68107],\"disallowed\"],[[68108,68115],\"valid\"],[[68116,68116],\"disallowed\"],[[68117,68119],\"valid\"],[[68120,68120],\"disallowed\"],[[68121,68147],\"valid\"],[[68148,68151],\"disallowed\"],[[68152,68154],\"valid\"],[[68155,68158],\"disallowed\"],[[68159,68159],\"valid\"],[[68160,68167],\"valid\",[],\"NV8\"],[[68168,68175],\"disallowed\"],[[68176,68184],\"valid\",[],\"NV8\"],[[68185,68191],\"disallowed\"],[[68192,68220],\"valid\"],[[68221,68223],\"valid\",[],\"NV8\"],[[68224,68252],\"valid\"],[[68253,68255],\"valid\",[],\"NV8\"],[[68256,68287],\"disallowed\"],[[68288,68295],\"valid\"],[[68296,68296],\"valid\",[],\"NV8\"],[[68297,68326],\"valid\"],[[68327,68330],\"disallowed\"],[[68331,68342],\"valid\",[],\"NV8\"],[[68343,68351],\"disallowed\"],[[68352,68405],\"valid\"],[[68406,68408],\"disallowed\"],[[68409,68415],\"valid\",[],\"NV8\"],[[68416,68437],\"valid\"],[[68438,68439],\"disallowed\"],[[68440,68447],\"valid\",[],\"NV8\"],[[68448,68466],\"valid\"],[[68467,68471],\"disallowed\"],[[68472,68479],\"valid\",[],\"NV8\"],[[68480,68497],\"valid\"],[[68498,68504],\"disallowed\"],[[68505,68508],\"valid\",[],\"NV8\"],[[68509,68520],\"disallowed\"],[[68521,68527],\"valid\",[],\"NV8\"],[[68528,68607],\"disallowed\"],[[68608,68680],\"valid\"],[[68681,68735],\"disallowed\"],[[68736,68736],\"mapped\",[68800]],[[68737,68737],\"mapped\",[68801]],[[68738,68738],\"mapped\",[68802]],[[68739,68739],\"mapped\",[68803]],[[68740,68740],\"mapped\",[68804]],[[68741,68741],\"mapped\",[68805]],[[68742,68742],\"mapped\",[68806]],[[68743,68743],\"mapped\",[68807]],[[68744,68744],\"mapped\",[68808]],[[68745,68745],\"mapped\",[68809]],[[68746,68746],\"mapped\",[68810]],[[68747,68747],\"mapped\",[68811]],[[68748,68748],\"mapped\",[68812]],[[68749,68749],\"mapped\",[68813]],[[68750,68750],\"mapped\",[68814]],[[68751,68751],\"mapped\",[68815]],[[68752,68752],\"mapped\",[68816]],[[68753,68753],\"mapped\",[68817]],[[68754,68754],\"mapped\",[68818]],[[68755,68755],\"mapped\",[68819]],[[68756,68756],\"mapped\",[68820]],[[68757,68757],\"mapped\",[68821]],[[68758,68758],\"mapped\",[68822]],[[68759,68759],\"mapped\",[68823]],[[68760,68760],\"mapped\",[68824]],[[68761,68761],\"mapped\",[68825]],[[68762,68762],\"mapped\",[68826]],[[68763,68763],\"mapped\",[68827]],[[68764,68764],\"mapped\",[68828]],[[68765,68765],\"mapped\",[68829]],[[68766,68766],\"mapped\",[68830]],[[68767,68767],\"mapped\",[68831]],[[68768,68768],\"mapped\",[68832]],[[68769,68769],\"mapped\",[68833]],[[68770,68770],\"mapped\",[68834]],[[68771,68771],\"mapped\",[68835]],[[68772,68772],\"mapped\",[68836]],[[68773,68773],\"mapped\",[68837]],[[68774,68774],\"mapped\",[68838]],[[68775,68775],\"mapped\",[68839]],[[68776,68776],\"mapped\",[68840]],[[68777,68777],\"mapped\",[68841]],[[68778,68778],\"mapped\",[68842]],[[68779,68779],\"mapped\",[68843]],[[68780,68780],\"mapped\",[68844]],[[68781,68781],\"mapped\",[68845]],[[68782,68782],\"mapped\",[68846]],[[68783,68783],\"mapped\",[68847]],[[68784,68784],\"mapped\",[68848]],[[68785,68785],\"mapped\",[68849]],[[68786,68786],\"mapped\",[68850]],[[68787,68799],\"disallowed\"],[[68800,68850],\"valid\"],[[68851,68857],\"disallowed\"],[[68858,68863],\"valid\",[],\"NV8\"],[[68864,69215],\"disallowed\"],[[69216,69246],\"valid\",[],\"NV8\"],[[69247,69631],\"disallowed\"],[[69632,69702],\"valid\"],[[69703,69709],\"valid\",[],\"NV8\"],[[69710,69713],\"disallowed\"],[[69714,69733],\"valid\",[],\"NV8\"],[[69734,69743],\"valid\"],[[69744,69758],\"disallowed\"],[[69759,69759],\"valid\"],[[69760,69818],\"valid\"],[[69819,69820],\"valid\",[],\"NV8\"],[[69821,69821],\"disallowed\"],[[69822,69825],\"valid\",[],\"NV8\"],[[69826,69839],\"disallowed\"],[[69840,69864],\"valid\"],[[69865,69871],\"disallowed\"],[[69872,69881],\"valid\"],[[69882,69887],\"disallowed\"],[[69888,69940],\"valid\"],[[69941,69941],\"disallowed\"],[[69942,69951],\"valid\"],[[69952,69955],\"valid\",[],\"NV8\"],[[69956,69967],\"disallowed\"],[[69968,70003],\"valid\"],[[70004,70005],\"valid\",[],\"NV8\"],[[70006,70006],\"valid\"],[[70007,70015],\"disallowed\"],[[70016,70084],\"valid\"],[[70085,70088],\"valid\",[],\"NV8\"],[[70089,70089],\"valid\",[],\"NV8\"],[[70090,70092],\"valid\"],[[70093,70093],\"valid\",[],\"NV8\"],[[70094,70095],\"disallowed\"],[[70096,70105],\"valid\"],[[70106,70106],\"valid\"],[[70107,70107],\"valid\",[],\"NV8\"],[[70108,70108],\"valid\"],[[70109,70111],\"valid\",[],\"NV8\"],[[70112,70112],\"disallowed\"],[[70113,70132],\"valid\",[],\"NV8\"],[[70133,70143],\"disallowed\"],[[70144,70161],\"valid\"],[[70162,70162],\"disallowed\"],[[70163,70199],\"valid\"],[[70200,70205],\"valid\",[],\"NV8\"],[[70206,70271],\"disallowed\"],[[70272,70278],\"valid\"],[[70279,70279],\"disallowed\"],[[70280,70280],\"valid\"],[[70281,70281],\"disallowed\"],[[70282,70285],\"valid\"],[[70286,70286],\"disallowed\"],[[70287,70301],\"valid\"],[[70302,70302],\"disallowed\"],[[70303,70312],\"valid\"],[[70313,70313],\"valid\",[],\"NV8\"],[[70314,70319],\"disallowed\"],[[70320,70378],\"valid\"],[[70379,70383],\"disallowed\"],[[70384,70393],\"valid\"],[[70394,70399],\"disallowed\"],[[70400,70400],\"valid\"],[[70401,70403],\"valid\"],[[70404,70404],\"disallowed\"],[[70405,70412],\"valid\"],[[70413,70414],\"disallowed\"],[[70415,70416],\"valid\"],[[70417,70418],\"disallowed\"],[[70419,70440],\"valid\"],[[70441,70441],\"disallowed\"],[[70442,70448],\"valid\"],[[70449,70449],\"disallowed\"],[[70450,70451],\"valid\"],[[70452,70452],\"disallowed\"],[[70453,70457],\"valid\"],[[70458,70459],\"disallowed\"],[[70460,70468],\"valid\"],[[70469,70470],\"disallowed\"],[[70471,70472],\"valid\"],[[70473,70474],\"disallowed\"],[[70475,70477],\"valid\"],[[70478,70479],\"disallowed\"],[[70480,70480],\"valid\"],[[70481,70486],\"disallowed\"],[[70487,70487],\"valid\"],[[70488,70492],\"disallowed\"],[[70493,70499],\"valid\"],[[70500,70501],\"disallowed\"],[[70502,70508],\"valid\"],[[70509,70511],\"disallowed\"],[[70512,70516],\"valid\"],[[70517,70783],\"disallowed\"],[[70784,70853],\"valid\"],[[70854,70854],\"valid\",[],\"NV8\"],[[70855,70855],\"valid\"],[[70856,70863],\"disallowed\"],[[70864,70873],\"valid\"],[[70874,71039],\"disallowed\"],[[71040,71093],\"valid\"],[[71094,71095],\"disallowed\"],[[71096,71104],\"valid\"],[[71105,71113],\"valid\",[],\"NV8\"],[[71114,71127],\"valid\",[],\"NV8\"],[[71128,71133],\"valid\"],[[71134,71167],\"disallowed\"],[[71168,71232],\"valid\"],[[71233,71235],\"valid\",[],\"NV8\"],[[71236,71236],\"valid\"],[[71237,71247],\"disallowed\"],[[71248,71257],\"valid\"],[[71258,71295],\"disallowed\"],[[71296,71351],\"valid\"],[[71352,71359],\"disallowed\"],[[71360,71369],\"valid\"],[[71370,71423],\"disallowed\"],[[71424,71449],\"valid\"],[[71450,71452],\"disallowed\"],[[71453,71467],\"valid\"],[[71468,71471],\"disallowed\"],[[71472,71481],\"valid\"],[[71482,71487],\"valid\",[],\"NV8\"],[[71488,71839],\"disallowed\"],[[71840,71840],\"mapped\",[71872]],[[71841,71841],\"mapped\",[71873]],[[71842,71842],\"mapped\",[71874]],[[71843,71843],\"mapped\",[71875]],[[71844,71844],\"mapped\",[71876]],[[71845,71845],\"mapped\",[71877]],[[71846,71846],\"mapped\",[71878]],[[71847,71847],\"mapped\",[71879]],[[71848,71848],\"mapped\",[71880]],[[71849,71849],\"mapped\",[71881]],[[71850,71850],\"mapped\",[71882]],[[71851,71851],\"mapped\",[71883]],[[71852,71852],\"mapped\",[71884]],[[71853,71853],\"mapped\",[71885]],[[71854,71854],\"mapped\",[71886]],[[71855,71855],\"mapped\",[71887]],[[71856,71856],\"mapped\",[71888]],[[71857,71857],\"mapped\",[71889]],[[71858,71858],\"mapped\",[71890]],[[71859,71859],\"mapped\",[71891]],[[71860,71860],\"mapped\",[71892]],[[71861,71861],\"mapped\",[71893]],[[71862,71862],\"mapped\",[71894]],[[71863,71863],\"mapped\",[71895]],[[71864,71864],\"mapped\",[71896]],[[71865,71865],\"mapped\",[71897]],[[71866,71866],\"mapped\",[71898]],[[71867,71867],\"mapped\",[71899]],[[71868,71868],\"mapped\",[71900]],[[71869,71869],\"mapped\",[71901]],[[71870,71870],\"mapped\",[71902]],[[71871,71871],\"mapped\",[71903]],[[71872,71913],\"valid\"],[[71914,71922],\"valid\",[],\"NV8\"],[[71923,71934],\"disallowed\"],[[71935,71935],\"valid\"],[[71936,72383],\"disallowed\"],[[72384,72440],\"valid\"],[[72441,73727],\"disallowed\"],[[73728,74606],\"valid\"],[[74607,74648],\"valid\"],[[74649,74649],\"valid\"],[[74650,74751],\"disallowed\"],[[74752,74850],\"valid\",[],\"NV8\"],[[74851,74862],\"valid\",[],\"NV8\"],[[74863,74863],\"disallowed\"],[[74864,74867],\"valid\",[],\"NV8\"],[[74868,74868],\"valid\",[],\"NV8\"],[[74869,74879],\"disallowed\"],[[74880,75075],\"valid\"],[[75076,77823],\"disallowed\"],[[77824,78894],\"valid\"],[[78895,82943],\"disallowed\"],[[82944,83526],\"valid\"],[[83527,92159],\"disallowed\"],[[92160,92728],\"valid\"],[[92729,92735],\"disallowed\"],[[92736,92766],\"valid\"],[[92767,92767],\"disallowed\"],[[92768,92777],\"valid\"],[[92778,92781],\"disallowed\"],[[92782,92783],\"valid\",[],\"NV8\"],[[92784,92879],\"disallowed\"],[[92880,92909],\"valid\"],[[92910,92911],\"disallowed\"],[[92912,92916],\"valid\"],[[92917,92917],\"valid\",[],\"NV8\"],[[92918,92927],\"disallowed\"],[[92928,92982],\"valid\"],[[92983,92991],\"valid\",[],\"NV8\"],[[92992,92995],\"valid\"],[[92996,92997],\"valid\",[],\"NV8\"],[[92998,93007],\"disallowed\"],[[93008,93017],\"valid\"],[[93018,93018],\"disallowed\"],[[93019,93025],\"valid\",[],\"NV8\"],[[93026,93026],\"disallowed\"],[[93027,93047],\"valid\"],[[93048,93052],\"disallowed\"],[[93053,93071],\"valid\"],[[93072,93951],\"disallowed\"],[[93952,94020],\"valid\"],[[94021,94031],\"disallowed\"],[[94032,94078],\"valid\"],[[94079,94094],\"disallowed\"],[[94095,94111],\"valid\"],[[94112,110591],\"disallowed\"],[[110592,110
47807593],\"valid\"],[[110594,113663],\"disallowed\"],[[113664,113770],\"valid\"],[[113771,113775],\"disallowed\"],[[113776,113788],\"valid\"],[[113789,113791],\"disallowed\"],[[113792,113800],\"valid\"],[[113801,113807],\"disallowed\"],[[113808,113817],\"valid\"],[[113818,113819],\"disallowed\"],[[113820,113820],\"valid\",[],\"NV8\"],[[113821,113822],\"valid\"],[[113823,113823],\"valid\",[],\"NV8\"],[[113824,113827],\"ignored\"],[[113828,118783],\"disallowed\"],[[118784,119029],\"valid\",[],\"NV8\"],[[119030,119039],\"disallowed\"],[[119040,119078],\"valid\",[],\"NV8\"],[[119079,119080],\"disallowed\"],[[119081,119081],\"valid\",[],\"NV8\"],[[119082,119133],\"valid\",[],\"NV8\"],[[119134,119134],\"mapped\",[119127,119141]],[[119135,119135],\"mapped\",[119128,119141]],[[119136,119136],\"mapped\",[119128,119141,119150]],[[119137,119137],\"mapped\",[119128,119141,119151]],[[119138,119138],\"mapped\",[119128,119141,119152]],[[119139,119139],\"mapped\",[119128,119141,119153]],[[119140,119140],\"mapped\",[119128,119141,119154]],[[119141,119154],\"valid\",[],\"NV8\"],[[119155,119162],\"disallowed\"],[[119163,119226],\"valid\",[],\"NV8\"],[[119227,119227],\"mapped\",[119225,119141]],[[119228,119228],\"mapped\",[119226,119141]],[[119229,119229],\"mapped\",[119225,119141,119150]],[[119230,119230],\"mapped\",[119226,119141,119150]],[[119231,119231],\"mapped\",[119225,119141,119151]],[[119232,119232],\"mapped\",[119226,119141,119151]],[[119233,119261],\"valid\",[],\"NV8\"],[[119262,119272],\"valid\",[],\"NV8\"],[[119273,119295],\"disallowed\"],[[119296,119365],\"valid\",[],\"NV8\"],[[119366,119551],\"disallowed\"],[[119552,119638],\"valid\",[],\"NV8\"],[[119639,119647],\"disallowed\"],[[119648,119665],\"valid\",[],\"NV8\"],[[119666,119807],\"disallowed\"],[[119808,119808],\"mapped\",[97]],[[119809,119809],\"mapped\",[98]],[[119810,119810],\"mapped\",[99]],[[119811,119811],\"mapped\",[100]],[[119812,119812],\"mapped\",[101]],[[119813,119813],\"mapped\",[102]],[[119814,119814],\"mapped\",[103]],[[119815,119815],\"mapped\",[104]],[[119816,119816],\"mapped\",[105]],[[119817,119817],\"mapped\",[106]],[[119818,119818],\"mapped\",[107]],[[119819,119819],\"mapped\",[108]],[[119820,119820],\"mapped\",[109]],[[119821,119821],\"mapped\",[110]],[[119822,119822],\"mapped\",[111]],[[119823,119823],\"mapped\",[112]],[[119824,119824],\"mapped\",[113]],[[119825,119825],\"mapped\",[114]],[[119826,119826],\"mapped\",[115]],[[119827,119827],\"mapped\",[116]],[[119828,119828],\"mapped\",[117]],[[119829,119829],\"mapped\",[118]],[[119830,119830],\"mapped\",[119]],[[119831,119831],\"mapped\",[120]],[[119832,119832],\"mapped\",[121]],[[119833,119833],\"mapped\",[122]],[[119834,119834],\"mapped\",[97]],[[119835,119835],\"mapped\",[98]],[[119836,119836],\"mapped\",[99]],[[119837,119837],\"mapped\",[100]],[[119838,119838],\"mapped\",[101]],[[119839,119839],\"mapped\",[102]],[[119840,119840],\"mapped\",[103]],[[119841,119841],\"mapped\",[104]],[[119842,119842],\"mapped\",[105]],[[119843,119843],\"mapped\",[106]],[[119844,119844],\"mapped\",[107]],[[119845,119845],\"mapped\",[108]],[[119846,119846],\"mapped\",[109]],[[119847,119847],\"mapped\",[110]],[[119848,119848],\"mapped\",[111]],[[119849,119849],\"mapped\",[112]],[[119850,119850],\"mapped\",[113]],[[119851,119851],\"mapped\",[114]],[[119852,119852],\"mapped\",[115]],[[119853,119853],\"mapped\",[116]],[[119854,119854],\"mapped\",[117]],[[119855,119855],\"mapped\",[118]],[[119856,119856],\"mapped\",[119]],[[119857,119857],\"mapped\",[120]],[[119858,119858],\"mapped\",[121]],[[119859,119859],\"mapped\",[122]],[[119860,119860],\"mapped\",[97]],[[119861,119861],\"mapped\",[98]],[[119862,119862],\"mapped\",[99]],[[119863,119863],\"mapped\",[100]],[[119864,119864],\"mapped\",[101]],[[119865,119865],\"mapped\",[102]],[[119866,119866],\"mapped\",[103]],[[119867,119867],\"mapped\",[104]],[[119868,119868],\"mapped\",[105]],[[119869,119869],\"mapped\",[106]],[[119870,119870],\"mapped\",[107]],[[119871,119871],\"mapped\",[108]],[[119872,119872],\"mapped\",[109]],[[119873,119873],\"mapped\",[110]],[[119874,119874],\"mapped\",[111]],[[119875,119875],\"mapped\",[112]],[[119876,119876],\"mapped\",[113]],[[119877,119877],\"mapped\",[114]],[[119878,119878],\"mapped\",[115]],[[119879,119879],\"mapped\",[116]],[[119880,119880],\"mapped\",[117]],[[119881,119881],\"mapped\",[118]],[[119882,119882],\"mapped\",[119]],[[119883,119883],\"mapped\",[120]],[[119884,119884],\"mapped\",[121]],[[119885,119885],\"mapped\",[122]],[[119886,119886],\"mapped\",[97]],[[119887,119887],\"mapped\",[98]],[[119888,119888],\"mapped\",[99]
47807],[[119889,119889],\"mapped\",[100]],[[119890,119890],\"mapped\",[101]],[[119891,119891],\"mapped\",[102]],[[119892,119892],\"mapped\",[103]],[[119893,119893],\"disallowed\"],[[119894,119894],\"mapped\",[105]],[[119895,119895],\"mapped\",[106]],[[119896,119896],\"mapped\",[107]],[[119897,119897],\"mapped\",[108]],[[119898,119898],\"mapped\",[109]],[[119899,119899],\"mapped\",[110]],[[119900,119900],\"mapped\",[111]],[[119901,119901],\"mapped\",[112]],[[119902,119902],\"mapped\",[113]],[[119903,119903],\"mapped\",[114]],[[119904,119904],\"mapped\",[115]],[[119905,119905],\"mapped\",[116]],[[119906,119906],\"mapped\",[117]],[[119907,119907],\"mapped\",[118]],[[119908,119908],\"mapped\",[119]],[[119909,119909],\"mapped\",[120]],[[119910,119910],\"mapped\",[121]],[[119911,119911],\"mapped\",[122]],[[119912,119912],\"mapped\",[97]],[[119913,119913],\"mapped\",[98]],[[119914,119914],\"mapped\",[99]],[[119915,119915],\"mapped\",[100]],[[119916,119916],\"mapped\",[101]],[[119917,119917],\"mapped\",[102]],[[119918,119918],\"mapped\",[103]],[[119919,119919],\"mapped\",[104]],[[119920,119920],\"mapped\",[105]],[[119921,119921],\"mapped\",[106]],[[119922,119922],\"mapped\",[107]],[[119923,119923],\"mapped\",[108]],[[119924,119924],\"mapped\",[109]],[[119925,119925],\"mapped\",[110]],[[119926,119926],\"mapped\",[111]],[[119927,119927],\"mapped\",[112]],[[119928,119928],\"mapped\",[113]],[[119929,119929],\"mapped\",[114]],[[119930,119930],\"mapped\",[115]],[[119931,119931],\"mapped\",[116]],[[119932,119932],\"mapped\",[117]],[[119933,119933],\"mapped\",[118]],[[119934,119934],\"mapped\",[119]],[[119935,119935],\"mapped\",[120]],[[119936,119936],\"mapped\",[121]],[[119937,119937],\"mapped\",[122]],[[119938,119938],\"mapped\",[97]],[[119939,119939],\"mapped\",[98]],[[119940,119940],\"mapped\",[99]],[[119941,119941],\"mapped\",[100]],[[119942,119942],\"mapped\",[101]],[[119943,119943],\"mapped\",[102]],[[119944,119944],\"mapped\",[103]],[[119945,119945],\"mapped\",[104]],[[119946,119946],\"mapped\",[105]],[[119947,119947],\"mapped\",[106]],[[119948,119948],\"mapped\",[107]],[[119949,119949],\"mapped\",[108]],[[119950,119950],\"mapped\",[109]],[[119951,119951],\"mapped\",[110]],[[119952,119952],\"mapped\",[111]],[[119953,119953],\"mapped\",[112]],[[119954,119954],\"mapped\",[113]],[[119955,119955],\"mapped\",[114]],[[119956,119956],\"mapped\",[115]],[[119957,119957],\"mapped\",[116]],[[119958,119958],\"mapped\",[117]],[[119959,119959],\"mapped\",[118]],[[119960,119960],\"mapped\",[119]],[[119961,119961],\"mapped\",[120]],[[119962,119962],\"mapped\",[121]],[[119963,119963],\"mapped\",[122]],[[119964,119964],\"mapped\",[97]],[[119965,119965],\"disallowed\"],[[119966,119966],\"mapped\",[99]],[[119967,119967],\"mapped\",[100]],[[119968,119969],\"disallowed\"],[[119970,119970],\"mapped\",[103]],[[119971,119972],\"disallowed\"],[[119973,119973],\"mapped\",[106]],[[119974,119974],\"mapped\",[107]],[[119975,119976],\"disallowed\"],[[119977,119977],\"mapped\",[110]],[[119978,119978],\"mapped\",[111]],[[119979,119979],\"mapped\",[112]],[[119980,119980],\"mapped\",[113]],[[119981,119981],\"disallowed\"],[[119982,119982],\"mapped\",[115]],[[119983,119983],\"mapped\",[116]],[[119984,119984],\"mapped\",[117]],[[119985,119985],\"mapped\",[118]],[[119986,119986],\"mapped\",[119]],[[119987,119987],\"mapped\",[120]],[[119988,119988],\"mapped\",[121]],[[119989,119989],\"mapped\",[122]],[[119990,119990],\"mapped\",[97]],[[119991,119991],\"mapped\",[98]],[[119992,119992],\"mapped\",[99]],[[119993,119993],\"mapped\",[100]],[[119994,119994],\"disallowed\"],[[119995,119995],\"mapped\",[102]],[[119996,119996],\"disallowed\"],[[119997,119997],\"mapped\",[104]],[[119998,119998],\"mapped\",[105]],[[119999,119999],\"mapped\",[106]],[[120000,120000],\"mapped\",[107]],[[120001,120001],\"mapped\",[108]],[[120002,120002],\"mapped\",[109]],[[120003,120003],\"mapped\",[110]],[[120004,120004],\"disallowed\"],[[120005,120005],\"mapped\",[112]],[[120006,120006],\"mapped\",[113]],[[120007,120007],\"mapped\",[114]],[[120008,120008],\"mapped\",[115]],[[120009,120009],\"mapped\",[116]],[[120010,120010],\"mapped\",[117]],[[120011,120011],\"mapped\",[118]],[[120012,120012],\"mapped\",[119]],[[120013,120013],\"mapped\",[120]],[[120014,120014],\"mapped\",[121]],[[120015,120015],\"mapped\",[122]],[[120016,120016],\"mapped\",[97]],[[120017,120017],\"mapped\",[98]],[[120018,120018],\"mapped\",[99]
47807],[[120019,120019],\"mapped\",[100]],[[120020,120020],\"mapped\",[101]],[[120021,120021],\"mapped\",[102]],[[120022,120022],\"mapped\",[103]],[[120023,120023],\"mapped\",[104]],[[120024,120024],\"mapped\",[105]],[[120025,120025],\"mapped\",[106]],[[120026,120026],\"mapped\",[107]],[[120027,120027],\"mapped\",[108]],[[120028,120028],\"mapped\",[109]],[[120029,120029],\"mapped\",[110]],[[120030,120030],\"mapped\",[111]],[[120031,120031],\"mapped\",[112]],[[120032,120032],\"mapped\",[113]],[[120033,120033],\"mapped\",[114]],[[120034,120034],\"mapped\",[115]],[[120035,120035],\"mapped\",[116]],[[120036,120036],\"mapped\",[117]],[[120037,120037],\"mapped\",[118]],[[120038,120038],\"mapped\",[119]],[[120039,120039],\"mapped\",[120]],[[120040,120040],\"mapped\",[121]],[[120041,120041],\"mapped\",[122]],[[120042,120042],\"mapped\",[97]],[[120043,120043],\"mapped\",[98]],[[120044,120044],\"mapped\",[99]],[[120045,120045],\"mapped\",[100]],[[120046,120046],\"mapped\",[101]],[[120047,120047],\"mapped\",[102]],[[120048,120048],\"mapped\",[103]],[[120049,120049],\"mapped\",[104]],[[120050,120050],\"mapped\",[105]],[[120051,120051],\"mapped\",[106]],[[120052,120052],\"mapped\",[107]],[[120053,120053],\"mapped\",[108]],[[120054,120054],\"mapped\",[109]],[[120055,120055],\"mapped\",[110]],[[120056,120056],\"mapped\",[111]],[[120057,120057],\"mapped\",[112]],[[120058,120058],\"mapped\",[113]],[[120059,120059],\"mapped\",[114]],[[120060,120060],\"mapped\",[115]],[[120061,120061],\"mapped\",[116]],[[120062,120062],\"mapped\",[117]],[[120063,120063],\"mapped\",[118]],[[120064,120064],\"mapped\",[119]],[[120065,120065],\"mapped\",[120]],[[120066,120066],\"mapped\",[121]],[[120067,120067],\"mapped\",[122]],[[120068,120068],\"mapped\",[97]],[[120069,120069],\"mapped\",[98]],[[120070,120070],\"disallowed\"],[[120071,120071],\"mapped\",[100]],[[120072,120072],\"mapped\",[101]],[[120073,120073],\"mapped\",[102]],[[120074,120074],\"mapped\",[103]],[[120075,120076],\"disallowed\"],[[120077,120077],\"mapped\",[106]],[[120078,120078],\"mapped\",[107]],[[120079,120079],\"mapped\",[108]],[[120080,120080],\"mapped\",[109]],[[120081,120081],\"mapped\",[110]],[[120082,120082],\"mapped\",[111]],[[120083,120083],\"mapped\",[112]],[[120084,120084],\"mapped\",[113]],[[120085,120085],\"disallowed\"],[[120086,120086],\"mapped\",[115]],[[120087,120087],\"mapped\",[116]],[[120088,120088],\"mapped\",[117]],[[120089,120089],\"mapped\",[118]],[[120090,120090],\"mapped\",[119]],[[120091,120091],\"mapped\",[120]],[[120092,120092],\"mapped\",[121]],[[120093,120093],\"disallowed\"],[[120094,120094],\"mapped\",[97]],[[120095,120095],\"mapped\",[98]],[[120096,120096],\"mapped\",[99]],[[120097,120097],\"mapped\",[100]],[[120098,120098],\"mapped\",[101]],[[120099,120099],\"mapped\",[102]],[[120100,120100],\"mapped\",[103]],[[120101,120101],\"mapped\",[104]],[[120102,120102],\"mapped\",[105]],[[120103,120103],\"mapped\",[106]],[[120104,120104],\"mapped\",[107]],[[120105,120105],\"mapped\",[108]],[[120106,120106],\"mapped\",[109]],[[120107,120107],\"mapped\",[110]],[[120108,120108],\"mapped\",[111]],[[120109,120109],\"mapped\",[112]],[[120110,120110],\"mapped\",[113]],[[120111,120111],\"mapped\",[114]],[[120112,120112],\"mapped\",[115]],[[120113,120113],\"mapped\",[116]],[[120114,120114],\"mapped\",[117]],[[120115,120115],\"mapped\",[118]],[[120116,120116],\"mapped\",[119]],[[120117,120117],\"mapped\",[120]],[[120118,120118],\"mapped\",[121]],[[120119,120119],\"mapped\",[122]],[[120120,120120],\"mapped\",[97]],[[120121,120121],\"mapped\",[98]],[[120122,120122],\"disallowed\"],[[120123,120123],\"mapped\",[100]],[[120124,120124],\"mapped\",[101]],[[120125,120125],\"mapped\",[102]],[[120126,120126],\"mapped\",[103]],[[120127,120127],\"disallowed\"],[[120128,120128],\"mapped\",[105]],[[120129,120129],\"mapped\",[106]],[[120130,120130],\"mapped\",[107]],[[120131,120131],\"mapped\",[108]],[[120132,120132],\"mapped\",[109]],[[120133,120133],\"disallowed\"],[[120134,120134],\"mapped\",[111]],[[120135,120137],\"disallowed\"],[[120138,120138],\"mapped\",[115]],[[120139,120139],\"mapped\",[116]],[[120140,120140],\"mapped\",[117]],[[120141,120141],\"mapped\",[118]],[[120142,120142],\"mapped\",[119]],[[120143,120143],\"mapped\",[120]],[[120144,120144],\"mapped\",[121]],[[120145,120145],\"disallowed\"],[[120146,120146],\"mapped\",[97]],[[120147,120147],\"mapped\",[98]],[[120148,120148],\"mapped\",[99]
47807],[[120149,120149],\"mapped\",[100]],[[120150,120150],\"mapped\",[101]],[[120151,120151],\"mapped\",[102]],[[120152,120152],\"mapped\",[103]],[[120153,120153],\"mapped\",[104]],[[120154,120154],\"mapped\",[105]],[[120155,120155],\"mapped\",[106]],[[120156,120156],\"mapped\",[107]],[[120157,120157],\"mapped\",[108]],[[120158,120158],\"mapped\",[109]],[[120159,120159],\"mapped\",[110]],[[120160,120160],\"mapped\",[111]],[[120161,120161],\"mapped\",[112]],[[120162,120162],\"mapped\",[113]],[[120163,120163],\"mapped\",[114]],[[120164,120164],\"mapped\",[115]],[[120165,120165],\"mapped\",[116]],[[120166,120166],\"mapped\",[117]],[[120167,120167],\"mapped\",[118]],[[120168,120168],\"mapped\",[119]],[[120169,120169],\"mapped\",[120]],[[120170,120170],\"mapped\",[121]],[[120171,120171],\"mapped\",[122]],[[120172,120172],\"mapped\",[97]],[[120173,120173],\"mapped\",[98]],[[120174,120174],\"mapped\",[99]],[[120175,120175],\"mapped\",[100]],[[120176,120176],\"mapped\",[101]],[[120177,120177],\"mapped\",[102]],[[120178,120178],\"mapped\",[103]],[[120179,120179],\"mapped\",[104]],[[120180,120180],\"mapped\",[105]],[[120181,120181],\"mapped\",[106]],[[120182,120182],\"mapped\",[107]],[[120183,120183],\"mapped\",[108]],[[120184,120184],\"mapped\",[109]],[[120185,120185],\"mapped\",[110]],[[120186,120186],\"mapped\",[111]],[[120187,120187],\"mapped\",[112]],[[120188,120188],\"mapped\",[113]],[[120189,120189],\"mapped\",[114]],[[120190,120190],\"mapped\",[115]],[[120191,120191],\"mapped\",[116]],[[120192,120192],\"mapped\",[117]],[[120193,120193],\"mapped\",[118]],[[120194,120194],\"mapped\",[119]],[[120195,120195],\"mapped\",[120]],[[120196,120196],\"mapped\",[121]],[[120197,120197],\"mapped\",[122]],[[120198,120198],\"mapped\",[97]],[[120199,120199],\"mapped\",[98]],[[120200,120200],\"mapped\",[99]],[[120201,120201],\"mapped\",[100]],[[120202,120202],\"mapped\",[101]],[[120203,120203],\"mapped\",[102]],[[120204,120204],\"mapped\",[103]],[[120205,120205],\"mapped\",[104]],[[120206,120206],\"mapped\",[105]],[[120207,120207],\"mapped\",[106]],[[120208,120208],\"mapped\",[107]],[[120209,120209],\"mapped\",[108]],[[120210,120210],\"mapped\",[109]],[[120211,120211],\"mapped\",[110]],[[120212,120212],\"mapped\",[111]],[[120213,120213],\"mapped\",[112]],[[120214,120214],\"mapped\",[113]],[[120215,120215],\"mapped\",[114]],[[120216,120216],\"mapped\",[115]],[[120217,120217],\"mapped\",[116]],[[120218,120218],\"mapped\",[117]],[[120219,120219],\"mapped\",[118]],[[120220,120220],\"mapped\",[119]],[[120221,120221],\"mapped\",[120]],[[120222,120222],\"mapped\",[121]],[[120223,120223],\"mapped\",[122]],[[120224,120224],\"mapped\",[97]],[[120225,120225],\"mapped\",[98]],[[120226,120226],\"mapped\",[99]],[[120227,120227],\"mapped\",[100]],[[120228,120228],\"mapped\",[101]],[[120229,120229],\"mapped\",[102]],[[120230,120230],\"mapped\",[103]],[[120231,120231],\"mapped\",[104]],[[120232,120232],\"mapped\",[105]],[[120233,120233],\"mapped\",[106]],[[120234,120234],\"mapped\",[107]],[[120235,120235],\"mapped\",[108]],[[120236,120236],\"mapped\",[109]],[[120237,120237],\"mapped\",[110]],[[120238,120238],\"mapped\",[111]],[[120239,120239],\"mapped\",[112]],[[120240,120240],\"mapped\",[113]],[[120241,120241],\"mapped\",[114]],[[120242,120242],\"mapped\",[115]],[[120243,120243],\"mapped\",[116]],[[120244,120244],\"mapped\",[117]],[[120245,120245],\"mapped\",[118]],[[120246,120246],\"mapped\",[119]],[[120247,120247],\"mapped\",[120]],[[120248,120248],\"mapped\",[121]],[[120249,120249],\"mapped\",[122]],[[120250,120250],\"mapped\",[97]],[[120251,120251],\"mapped\",[98]],[[120252,120252],\"mapped\",[99]],[[120253,120253],\"mapped\",[100]],[[120254,120254],\"mapped\",[101]],[[120255,120255],\"mapped\",[102]],[[120256,120256],\"mapped\",[103]],[[120257,120257],\"mapped\",[104]],[[120258,120258],\"mapped\",[105]],[[120259,120259],\"mapped\",[106]],[[120260,120260],\"mapped\",[107]],[[120261,120261],\"mapped\",[108]],[[120262,120262],\"mapped\",[109]],[[120263,120263],\"mapped\",[110]],[[120264,120264],\"mapped\",[111]],[[120265,120265],\"mapped\",[112]],[[120266,120266],\"mapped\",[113]],[[120267,120267],\"mapped\",[114]],[[120268,120268],\"mapped\",[115]],[[120269,120269],\"mapped\",[116]],[[120270,120270],\"mapped\",[117]],[[120271,120271],\"mapped\",[118]],[[120272,120272],\"mapped\",[119]],[[120273,120273],\"mapped\",[120]],[[120274,120274],\"mapped\",[121]],[[120275,120275],\"mapped\",[122]],[[120276,12
478070276],\"mapped\",[97]],[[120277,120277],\"mapped\",[98]],[[120278,120278],\"mapped\",[99]],[[120279,120279],\"mapped\",[100]],[[120280,120280],\"mapped\",[101]],[[120281,120281],\"mapped\",[102]],[[120282,120282],\"mapped\",[103]],[[120283,120283],\"mapped\",[104]],[[120284,120284],\"mapped\",[105]],[[120285,120285],\"mapped\",[106]],[[120286,120286],\"mapped\",[107]],[[120287,120287],\"mapped\",[108]],[[120288,120288],\"mapped\",[109]],[[120289,120289],\"mapped\",[110]],[[120290,120290],\"mapped\",[111]],[[120291,120291],\"mapped\",[112]],[[120292,120292],\"mapped\",[113]],[[120293,120293],\"mapped\",[114]],[[120294,120294],\"mapped\",[115]],[[120295,120295],\"mapped\",[116]],[[120296,120296],\"mapped\",[117]],[[120297,120297],\"mapped\",[118]],[[120298,120298],\"mapped\",[119]],[[120299,120299],\"mapped\",[120]],[[120300,120300],\"mapped\",[121]],[[120301,120301],\"mapped\",[122]],[[120302,120302],\"mapped\",[97]],[[120303,120303],\"mapped\",[98]],[[120304,120304],\"mapped\",[99]],[[120305,120305],\"mapped\",[100]],[[120306,120306],\"mapped\",[101]],[[120307,120307],\"mapped\",[102]],[[120308,120308],\"mapped\",[103]],[[120309,120309],\"mapped\",[104]],[[120310,120310],\"mapped\",[105]],[[120311,120311],\"mapped\",[106]],[[120312,120312],\"mapped\",[107]],[[120313,120313],\"mapped\",[108]],[[120314,120314],\"mapped\",[109]],[[120315,120315],\"mapped\",[110]],[[120316,120316],\"mapped\",[111]],[[120317,120317],\"mapped\",[112]],[[120318,120318],\"mapped\",[113]],[[120319,120319],\"mapped\",[114]],[[120320,120320],\"mapped\",[115]],[[120321,120321],\"mapped\",[116]],[[120322,120322],\"mapped\",[117]],[[120323,120323],\"mapped\",[118]],[[120324,120324],\"mapped\",[119]],[[120325,120325],\"mapped\",[120]],[[120326,120326],\"mapped\",[121]],[[120327,120327],\"mapped\",[122]],[[120328,120328],\"mapped\",[97]],[[120329,120329],\"mapped\",[98]],[[120330,120330],\"mapped\",[99]],[[120331,120331],\"mapped\",[100]],[[120332,120332],\"mapped\",[101]],[[120333,120333],\"mapped\",[102]],[[120334,120334],\"mapped\",[103]],[[120335,120335],\"mapped\",[104]],[[120336,120336],\"mapped\",[105]],[[120337,120337],\"mapped\",[106]],[[120338,120338],\"mapped\",[107]],[[120339,120339],\"mapped\",[108]],[[120340,120340],\"mapped\",[109]],[[120341,120341],\"mapped\",[110]],[[120342,120342],\"mapped\",[111]],[[120343,120343],\"mapped\",[112]],[[120344,120344],\"mapped\",[113]],[[120345,120345],\"mapped\",[114]],[[120346,120346],\"mapped\",[115]],[[120347,120347],\"mapped\",[116]],[[120348,120348],\"mapped\",[117]],[[120349,120349],\"mapped\",[118]],[[120350,120350],\"mapped\",[119]],[[120351,120351],\"mapped\",[120]],[[120352,120352],\"mapped\",[121]],[[120353,120353],\"mapped\",[122]],[[120354,120354],\"mapped\",[97]],[[120355,120355],\"mapped\",[98]],[[120356,120356],\"mapped\",[99]],[[120357,120357],\"mapped\",[100]],[[120358,120358],\"mapped\",[101]],[[120359,120359],\"mapped\",[102]],[[120360,120360],\"mapped\",[103]],[[120361,120361],\"mapped\",[104]],[[120362,120362],\"mapped\",[105]],[[120363,120363],\"mapped\",[106]],[[120364,120364],\"mapped\",[107]],[[120365,120365],\"mapped\",[108]],[[120366,120366],\"mapped\",[109]],[[120367,120367],\"mapped\",[110]],[[120368,120368],\"mapped\",[111]],[[120369,120369],\"mapped\",[112]],[[120370,120370],\"mapped\",[113]],[[120371,120371],\"mapped\",[114]],[[120372,120372],\"mapped\",[115]],[[120373,120373],\"mapped\",[116]],[[120374,120374],\"mapped\",[117]],[[120375,120375],\"mapped\",[118]],[[120376,120376],\"mapped\",[119]],[[120377,120377],\"mapped\",[120]],[[120378,120378],\"mapped\",[121]],[[120379,120379],\"mapped\",[122]],[[120380,120380],\"mapped\",[97]],[[120381,120381],\"mapped\",[98]],[[120382,120382],\"mapped\",[99]],[[120383,120383],\"mapped\",[100]],[[120384,120384],\"mapped\",[101]],[[120385,120385],\"mapped\",[102]],[[120386,120386],\"mapped\",[103]],[[120387,120387],\"mapped\",[104]],[[120388,120388],\"mapped\",[105]],[[120389,120389],\"mapped\",[106]],[[120390,120390],\"mapped\",[107]],[[120391,120391],\"mapped\",[108]],[[120392,120392],\"mapped\",[109]],[[120393,120393],\"mapped\",[110]],[[120394,120394],\"mapped\",[111]],[[120395,120395],\"mapped\",[112]],[[120396,120396],\"mapped\",[113]],[[120397,120397],\"mapped\",[114]],[[120398,120398],\"mapped\",[115]],[[120399,120399],\"mapped\",[116]],[[120400,120400],\"mapped\",[117]],[[120401,120401],\"mapped\",[118]],[[120402,120402],\"mapped\",[119]],[[120403,120403],\"mapped\",[120]],[[120404,120404],\"mapped\",[121]],[[120405,120405],\"mapped\",[122]],[[120406,120406],\"mapped\",[97]],[[120407,120407],\"mapped\",[98]],[[120408,120408],\"mapped\",[99]
47807],[[120409,120409],\"mapped\",[100]],[[120410,120410],\"mapped\",[101]],[[120411,120411],\"mapped\",[102]],[[120412,120412],\"mapped\",[103]],[[120413,120413],\"mapped\",[104]],[[120414,120414],\"mapped\",[105]],[[120415,120415],\"mapped\",[106]],[[120416,120416],\"mapped\",[107]],[[120417,120417],\"mapped\",[108]],[[120418,120418],\"mapped\",[109]],[[120419,120419],\"mapped\",[110]],[[120420,120420],\"mapped\",[111]],[[120421,120421],\"mapped\",[112]],[[120422,120422],\"mapped\",[113]],[[120423,120423],\"mapped\",[114]],[[120424,120424],\"mapped\",[115]],[[120425,120425],\"mapped\",[116]],[[120426,120426],\"mapped\",[117]],[[120427,120427],\"mapped\",[118]],[[120428,120428],\"mapped\",[119]],[[120429,120429],\"mapped\",[120]],[[120430,120430],\"mapped\",[121]],[[120431,120431],\"mapped\",[122]],[[120432,120432],\"mapped\",[97]],[[120433,120433],\"mapped\",[98]],[[120434,120434],\"mapped\",[99]],[[120435,120435],\"mapped\",[100]],[[120436,120436],\"mapped\",[101]],[[120437,120437],\"mapped\",[102]],[[120438,120438],\"mapped\",[103]],[[120439,120439],\"mapped\",[104]],[[120440,120440],\"mapped\",[105]],[[120441,120441],\"mapped\",[106]],[[120442,120442],\"mapped\",[107]],[[120443,120443],\"mapped\",[108]],[[120444,120444],\"mapped\",[109]],[[120445,120445],\"mapped\",[110]],[[120446,120446],\"mapped\",[111]],[[120447,120447],\"mapped\",[112]],[[120448,120448],\"mapped\",[113]],[[120449,120449],\"mapped\",[114]],[[120450,120450],\"mapped\",[115]],[[120451,120451],\"mapped\",[116]],[[120452,120452],\"mapped\",[117]],[[120453,120453],\"mapped\",[118]],[[120454,120454],\"mapped\",[119]],[[120455,120455],\"mapped\",[120]],[[120456,120456],\"mapped\",[121]],[[120457,120457],\"mapped\",[122]],[[120458,120458],\"mapped\",[97]],[[120459,120459],\"mapped\",[98]],[[120460,120460],\"mapped\",[99]],[[120461,120461],\"mapped\",[100]],[[120462,120462],\"mapped\",[101]],[[120463,120463],\"mapped\",[102]],[[120464,120464],\"mapped\",[103]],[[120465,120465],\"mapped\",[104]],[[120466,120466],\"mapped\",[105]],[[120467,120467],\"mapped\",[106]],[[120468,120468],\"mapped\",[107]],[[120469,120469],\"mapped\",[108]],[[120470,120470],\"mapped\",[109]],[[120471,120471],\"mapped\",[110]],[[120472,120472],\"mapped\",[111]],[[120473,120473],\"mapped\",[112]],[[120474,120474],\"mapped\",[113]],[[120475,120475],\"mapped\",[114]],[[120476,120476],\"mapped\",[115]],[[120477,120477],\"mapped\",[116]],[[120478,120478],\"mapped\",[117]],[[120479,120479],\"mapped\",[118]],[[120480,120480],\"mapped\",[119]],[[120481,120481],\"mapped\",[120]],[[120482,120482],\"mapped\",[121]],[[120483,120483],\"mapped\",[122]],[[120484,120484],\"mapped\",[305]],[[120485,120485],\"mapped\",[567]],[[120486,120487],\"disallowed\"],[[120488,120488],\"mapped\",[945]],[[120489,120489],\"mapped\",[946]],[[120490,120490],\"mapped\",[947]],[[120491,120491],\"mapped\",[948]],[[120492,120492],\"mapped\",[949]],[[120493,120493],\"mapped\",[950]],[[120494,120494],\"mapped\",[951]],[[120495,120495],\"mapped\",[952]],[[120496,120496],\"mapped\",[953]],[[120497,120497],\"mapped\",[954]],[[120498,120498],\"mapped\",[955]],[[120499,120499],\"mapped\",[956]],[[120500,120500],\"mapped\",[957]],[[120501,120501],\"mapped\",[958]],[[120502,120502],\"mapped\",[959]],[[120503,120503],\"mapped\",[960]],[[120504,120504],\"mapped\",[961]],[[120505,120505],\"mapped\",[952]],[[120506,120506],\"mapped\",[963]],[[120507,120507],\"mapped\",[964]],[[120508,120508],\"mapped\",[965]],[[120509,120509],\"mapped\",[966]],[[120510,120510],\"mapped\",[967]],[[120511,120511],\"mapped\",[968]],[[120512,120512],\"mapped\",[969]],[[120513,120513],\"mapped\",[8711]],[[120514,120514],\"mapped\",[945]],[[120515,120515],\"mapped\",[946]],[[120516,120516],\"mapped\",[947]],[[120517,120517],\"mapped\",[948]],[[120518,120518],\"mapped\",[949]],[[120519,120519],\"mapped\",[950]],[[120520,120520],\"mapped\",[951]],[[120521,120521],\"mapped\",[952]],[[120522,120522],\"mapped\",[953]],[[120523,120523],\"mapped\",[954]],[[120524,120524],\"mapped\",[955]],[[120525,120525],\"mapped\",[956]],[[120526,120526],\"mapped\",[957]],[[120527,120527],\"mapped\",[958]],[[120528,120528],\"mapped\",[959]],[[120529,120529],\"mapped\",[960]],[[120530,120530],\"mapped\",[961]],[[120531,120532],\"mapped\",[963]],[[120533,120533],\"mapped\",[964]],[[120534,120534],\"mapped\",[965]],[[120535,120535],\"mapped\",[966]],[[120536,120536],\"mapped\",[967]],[[120537,120537],\"mapped\",[968]],[[120538,120538],\"mapped\",[969]],[[120539,120539],\"mapped\",[8706]],[[120540,120540],\"mapped\",[949]],[[120541,120541],\"mapped\",[952]],[[120542,120542],\"mapped\",[954]],[[120543,120543],\"mapped\",[966]],[[120544,120544],\"mapped\",[961]],[[120545,120545],\"mapped\",[960]],[[120546,120546],\"mapped\",[945]],[[120547,120547],\"mapped\",[946]],[[120548,120548],\"mapped\",[947]],[[120549,120549],\"mapped\",[948]],[[120550,120550],\"mapped\",[949]],[[120551,120551],\"mapped\",[950]],[[120552,120552],\"mapped\",[951]],[[120553,120553],\"mapped\",[952]],[[120554,120554],\"mapped\",[953]],[[120555,120555],\"mapped\",[954]],[[120556,120556],\"mapped\",[955]],[[120557,120557],\"mapped\",[956]],[[120558,120558],\"mapped\",[957]],[[120559,120559],\"mapped\",[958]],[[120560,120560],\"mapped\",[959]],[[120561,120561],\"mapped\",[960]],[[120562,120562],\"mapped\",[961]],[[120563,120563],\"mapped\",[952]],[[120564,120564],\"mapped\",[963]],[[120565,120565],\"mapped\",[964]],[[120566,12
478070566],\"mapped\",[965]],[[120567,120567],\"mapped\",[966]],[[120568,120568],\"mapped\",[967]],[[120569,120569],\"mapped\",[968]],[[120570,120570],\"mapped\",[969]],[[120571,120571],\"mapped\",[8711]],[[120572,120572],\"mapped\",[945]],[[120573,120573],\"mapped\",[946]],[[120574,120574],\"mapped\",[947]],[[120575,120575],\"mapped\",[948]],[[120576,120576],\"mapped\",[949]],[[120577,120577],\"mapped\",[950]],[[120578,120578],\"mapped\",[951]],[[120579,120579],\"mapped\",[952]],[[120580,120580],\"mapped\",[953]],[[120581,120581],\"mapped\",[954]],[[120582,120582],\"mapped\",[955]],[[120583,120583],\"mapped\",[956]],[[120584,120584],\"mapped\",[957]],[[120585,120585],\"mapped\",[958]],[[120586,120586],\"mapped\",[959]],[[120587,120587],\"mapped\",[960]],[[120588,120588],\"mapped\",[961]],[[120589,120590],\"mapped\",[963]],[[120591,120591],\"mapped\",[964]],[[120592,120592],\"mapped\",[965]],[[120593,120593],\"mapped\",[966]],[[120594,120594],\"mapped\",[967]],[[120595,120595],\"mapped\",[968]],[[120596,120596],\"mapped\",[969]],[[120597,120597],\"mapped\",[8706]],[[120598,120598],\"mapped\",[949]],[[120599,120599],\"mapped\",[952]],[[120600,120600],\"mapped\",[954]],[[120601,120601],\"mapped\",[966]],[[120602,120602],\"mapped\",[961]],[[120603,120603],\"mapped\",[960]],[[120604,120604],\"mapped\",[945]],[[120605,120605],\"mapped\",[946]],[[120606,120606],\"mapped\",[947]],[[120607,120607],\"mapped\",[948]],[[120608,120608],\"mapped\",[949]],[[120609,120609],\"mapped\",[950]],[[120610,120610],\"mapped\",[951]],[[120611,120611],\"mapped\",[952]],[[120612,120612],\"mapped\",[953]],[[120613,120613],\"mapped\",[954]],[[120614,120614],\"mapped\",[955]],[[120615,120615],\"mapped\",[956]],[[120616,120616],\"mapped\",[957]],[[120617,120617],\"mapped\",[958]],[[120618,120618],\"mapped\",[959]],[[120619,120619],\"mapped\",[960]],[[120620,120620],\"mapped\",[961]],[[120621,120621],\"mapped\",[952]],[[120622,120622],\"mapped\",[963]],[[120623,120623],\"mapped\",[964]],[[120624,120624],\"mapped\",[965]],[[120625,120625],\"mapped\",[966]],[[120626,120626],\"mapped\",[967]],[[120627,120627],\"mapped\",[968]],[[120628,120628],\"mapped\",[969]],[[120629,120629],\"mapped\",[8711]],[[120630,120630],\"mapped\",[945]],[[120631,120631],\"mapped\",[946]],[[120632,120632],\"mapped\",[947]],[[120633,120633],\"mapped\",[948]],[[120634,120634],\"mapped\",[949]],[[120635,120635],\"mapped\",[950]],[[120636,120636],\"mapped\",[951]],[[120637,120637],\"mapped\",[952]],[[120638,120638],\"mapped\",[953]],[[120639,120639],\"mapped\",[954]],[[120640,120640],\"mapped\",[955]],[[120641,120641],\"mapped\",[956]],[[120642,120642],\"mapped\",[957]],[[120643,120643],\"mapped\",[958]],[[120644,120644],\"mapped\",[959]],[[120645,120645],\"mapped\",[960]],[[120646,120646],\"mapped\",[961]],[[120647,120648],\"mapped\",[963]],[[120649,120649],\"mapped\",[964]],[[120650,120650],\"mapped\",[965]],[[120651,120651],\"mapped\",[966]],[[120652,120652],\"mapped\",[967]],[[120653,120653],\"mapped\",[968]],[[120654,120654],\"mapped\",[969]],[[120655,120655],\"mapped\",[8706]],[[120656,120656],\"mapped\",[949]],[[120657,120657],\"mapped\",[952]],[[120658,120658],\"mapped\",[954]],[[120659,120659],\"mapped\",[966]],[[120660,120660],\"mapped\",[961]],[[120661,120661],\"mapped\",[960]],[[120662,120662],\"mapped\",[945]],[[120663,120663],\"mapped\",[946]],[[120664,120664],\"mapped\",[947]],[[120665,120665],\"mapped\",[948]],[[120666,120666],\"mapped\",[949]],[[120667,120667],\"mapped\",[950]],[[120668,120668],\"mapped\",[951]],[[120669,120669],\"mapped\",[952]],[[120670,120670],\"mapped\",[953]],[[120671,120671],\"mapped\",[954]],[[120672,120672],\"mapped\",[955]],[[120673,120673],\"mapped\",[956]],[[120674,120674],\"mapped\",[957]],[[120675,120675],\"mapped\",[958]],[[120676,120676],\"mapped\",[959]],[[120677,120677],\"mapped\",[960]],[[120678,120678],\"mapped\",[961]],[[120679,120679],\"mapped\",[952]],[[120680,120680],\"mapped\",[963]],[[120681,120681],\"mapped\",[964]],[[120682,120682],\"mapped\",[965]],[[120683,120683],\"mapped\",[966]],[[120684,120684],\"mapped\",[967]],[[120685,120685],\"mapped\",[968]],[[120686,120686],\"mapped\",[969]],[[120687,120687],\"mapped\",[8711]],[[120688,120688],\"mapped\",[945]],[[120689,120689],\"mapped\",[946]],[[120690,120690],\"mapped\",[947]],[[120691,120691],\"mapped\",[948]],[[120692,120692],\"mapped\",[949]],[[120693,120693],\"mapped\",[950]],[[120694,120694],\"mapped\",[951]],[[120695,120695],\"mapped\",[952]],[[120696,120696],\"mapped\",[953]],[[120697,
47807120697],\"mapped\",[954]],[[120698,120698],\"mapped\",[955]],[[120699,120699],\"mapped\",[956]],[[120700,120700],\"mapped\",[957]],[[120701,120701],\"mapped\",[958]],[[120702,120702],\"mapped\",[959]],[[120703,120703],\"mapped\",[960]],[[120704,120704],\"mapped\",[961]],[[120705,120706],\"mapped\",[963]],[[120707,120707],\"mapped\",[964]],[[120708,120708],\"mapped\",[965]],[[120709,120709],\"mapped\",[966]],[[120710,120710],\"mapped\",[967]],[[120711,120711],\"mapped\",[968]],[[120712,120712],\"mapped\",[969]],[[120713,120713],\"mapped\",[8706]],[[120714,120714],\"mapped\",[949]],[[120715,120715],\"mapped\",[952]],[[120716,120716],\"mapped\",[954]],[[120717,120717],\"mapped\",[966]],[[120718,120718],\"mapped\",[961]],[[120719,120719],\"mapped\",[960]],[[120720,120720],\"mapped\",[945]],[[120721,120721],\"mapped\",[946]],[[120722,120722],\"mapped\",[947]],[[120723,120723],\"mapped\",[948]],[[120724,120724],\"mapped\",[949]],[[120725,120725],\"mapped\",[950]],[[120726,120726],\"mapped\",[951]],[[120727,120727],\"mapped\",[952]],[[120728,120728],\"mapped\",[953]],[[120729,120729],\"mapped\",[954]],[[120730,120730],\"mapped\",[955]],[[120731,120731],\"mapped\",[956]],[[120732,120732],\"mapped\",[957]],[[120733,120733],\"mapped\",[958]],[[120734,120734],\"mapped\",[959]],[[120735,120735],\"mapped\",[960]],[[120736,120736],\"mapped\",[961]],[[120737,120737],\"mapped\",[952]],[[120738,120738],\"mapped\",[963]],[[120739,120739],\"mapped\",[964]],[[120740,120740],\"mapped\",[965]],[[120741,120741],\"mapped\",[966]],[[120742,120742],\"mapped\",[967]],[[120743,120743],\"mapped\",[968]],[[120744,120744],\"mapped\",[969]],[[120745,120745],\"mapped\",[8711]],[[120746,120746],\"mapped\",[945]],[[120747,120747],\"mapped\",[946]],[[120748,120748],\"mapped\",[947]],[[120749,120749],\"mapped\",[948]],[[120750,120750],\"mapped\",[949]],[[120751,120751],\"mapped\",[950]],[[120752,120752],\"mapped\",[951]],[[120753,120753],\"mapped\",[952]],[[120754,120754],\"mapped\",[953]],[[120755,120755],\"mapped\",[954]],[[120756,120756],\"mapped\",[955]],[[120757,120757],\"mapped\",[956]],[[120758,120758],\"mapped\",[957]],[[120759,120759],\"mapped\",[958]],[[120760,120760],\"mapped\",[959]],[[120761,120761],\"mapped\",[960]],[[120762,120762],\"mapped\",[961]],[[120763,120764],\"mapped\",[963]],[[120765,120765],\"mapped\",[964]],[[120766,120766],\"mapped\",[965]],[[120767,120767],\"mapped\",[966]],[[120768,120768],\"mapped\",[967]],[[120769,120769],\"mapped\",[968]],[[120770,120770],\"mapped\",[969]],[[120771,120771],\"mapped\",[8706]],[[120772,120772],\"mapped\",[949]],[[120773,120773],\"mapped\",[952]],[[120774,120774],\"mapped\",[954]],[[120775,120775],\"mapped\",[966]],[[120776,120776],\"mapped\",[961]],[[120777,120777],\"mapped\",[960]],[[120778,120779],\"mapped\",[989]],[[120780,120781],\"disallowed\"],[[120782,120782],\"mapped\",[48]],[[120783,120783],\"mapped\",[49]],[[120784,120784],\"mapped\",[50]],[[120785,120785],\"mapped\",[51]],[[120786,120786],\"mapped\",[52]],[[120787,120787],\"mapped\",[53]],[[120788,120788],\"mapped\",[54]],[[120789,120789],\"mapped\",[55]],[[120790,120790],\"mapped\",[56]],[[120791,120791],\"mapped\",[57]],[[120792,120792],\"mapped\",[48]],[[120793,120793],\"mapped\",[49]],[[120794,120794],\"mapped\",[50]],[[120795,120795],\"mapped\",[51]],[[120796,120796],\"mapped\",[52]],[[120797,120797],\"mapped\",[53]],[[120798,120798],\"mapped\",[54]],[[120799,120799],\"mapped\",[55]],[[120800,120800],\"mapped\",[56]],[[120801,120801],\"mapped\",[57]],[[120802,120802],\"mapped\",[48]],[[120803,120803],\"mapped\",[49]],[[120804,120804],\"mapped\",[50]],[[120805,120805],\"mapped\",[51]],[[120806,120806],\"mapped\",[52]],[[120807,120807],\"mapped\",[53]],[[120808,120808],\"mapped\",[54]],[[120809,120809],\"mapped\",[55]],[[120810,120810],\"mapped\",[56]],[[120811,120811],\"mapped\",[57]],[[120812,120812],\"mapped\",[48]],[[120813,120813],\"mapped\",[49]],[[120814,120814],\"mapped\",[50]],[[120815,120815],\"mapped\",[51]],[[120816,120816],\"mapped\",[52]],[[120817,120817],\"mapped\",[53]],[[120818,120818],\"mapped\",[54]],[[120819,120819],\"mapped\",[55]],[[120820,120820],\"mapped\",[56]],[[120821,120821],\"mapped\",[57]],[[120822,120822],\"mapped\",[48]],[[120823,120823],\"mapped\",[49]],[[120824,120824],\"mapped\",[50]],[[120825,120825],\"mapped\",[51]],[[120826,120826],\"mapped\",[52]],[[120827,120827],\"mapped\",[53]],[[120828,120828],\"mapped\",[54]],[[120829,120829],\"mapped\",[55]],[[120830,120830],\"mapped\",[56]],[[120831,120831],\"mapped\",[57]],[[120832,121343],\"valid\",[],\"NV8\"],[[121344,121398],\"valid\"],[[121399,121402],\"valid\",[],\"NV8\"],[[121403,121452],\"valid\"],[[121453,121460],\"valid\",[],\"NV8\"],[[121461,121461],\"valid\"],[[121462,121475],\"valid\",[],\"NV8\"],[[121476,121476],\"valid\"],[[121477,121483],\"valid\",[],\"NV8\"],[[121484,121498],\"disallowed\"],[[121499,121503],\"valid\"],[[121504,121504],\"disallowed\"],[[121505,121519],\"valid\"],[[121520,124927],\"disallowed\"],[[124928,125124],\"valid\"],[[125125,125126],\"disallowed\"],[[125127,125135],\"valid\",[],\"NV8\"],[[125136,125142],\"valid\"],[[125143,126463],\"disallowed\"],[[126464,126464],\"mapped\",[1575]],[[126465,126465],\"mapped\",[1576]],[[126466,126466],\"mapped\",[1580]],[[126467,126467],\"mapped\",[1583]],[[126468,126468],\"disallowed\"],[[126469,126469],\"mapped\",[1608]],[[126470,
47807126470],\"mapped\",[1586]],[[126471,126471],\"mapped\",[1581]],[[126472,126472],\"mapped\",[1591]],[[126473,126473],\"mapped\",[1610]],[[126474,126474],\"mapped\",[1603]],[[126475,126475],\"mapped\",[1604]],[[126476,126476],\"mapped\",[1605]],[[126477,126477],\"mapped\",[1606]],[[126478,126478],\"mapped\",[1587]],[[126479,126479],\"mapped\",[1593]],[[126480,126480],\"mapped\",[1601]],[[126481,126481],\"mapped\",[1589]],[[126482,126482],\"mapped\",[1602]],[[126483,126483],\"mapped\",[1585]],[[126484,126484],\"mapped\",[1588]],[[126485,126485],\"mapped\",[1578]],[[126486,126486],\"mapped\",[1579]],[[126487,126487],\"mapped\",[1582]],[[126488,126488],\"mapped\",[1584]],[[126489,126489],\"mapped\",[1590]],[[126490,126490],\"mapped\",[1592]],[[126491,126491],\"mapped\",[1594]],[[126492,126492],\"mapped\",[1646]],[[126493,126493],\"mapped\",[1722]],[[126494,126494],\"mapped\",[1697]],[[126495,126495],\"mapped\",[1647]],[[126496,126496],\"disallowed\"],[[126497,126497],\"mapped\",[1576]],[[126498,126498],\"mapped\",[1580]],[[126499,126499],\"disallowed\"],[[126500,126500],\"mapped\",[1607]],[[126501,126502],\"disallowed\"],[[126503,126503],\"mapped\",[1581]],[[126504,126504],\"disallowed\"],[[126505,126505],\"mapped\",[1610]],[[126506,126506],\"mapped\",[1603]],[[126507,126507],\"mapped\",[1604]],[[126508,126508],\"mapped\",[1605]],[[126509,126509],\"mapped\",[1606]],[[126510,126510],\"mapped\",[1587]],[[126511,126511],\"mapped\",[1593]],[[126512,126512],\"mapped\",[1601]],[[126513,126513],\"mapped\",[1589]],[[126514,126514],\"mapped\",[1602]],[[126515,126515],\"disallowed\"],[[126516,126516],\"mapped\",[1588]],[[126517,126517],\"mapped\",[1578]],[[126518,126518],\"mapped\",[1579]],[[126519,126519],\"mapped\",[1582]],[[126520,126520],\"disallowed\"],[[126521,126521],\"mapped\",[1590]],[[126522,126522],\"disallowed\"],[[126523,126523],\"mapped\",[1594]],[[126524,126529],\"disallowed\"],[[126530,126530],\"mapped\",[1580]],[[126531,126534],\"disallowed\"],[[126535,126535],\"mapped\",[1581]],[[126536,126536],\"disallowed\"],[[126537,126537],\"mapped\",[1610]],[[126538,126538],\"disallowed\"],[[126539,126539],\"mapped\",[1604]],[[126540,126540],\"disallowed\"],[[126541,126541],\"mapped\",[1606]],[[126542,126542],\"mapped\",[1587]],[[126543,126543],\"mapped\",[1593]],[[126544,126544],\"disallowed\"],[[126545,126545],\"mapped\",[1589]],[[126546,126546],\"mapped\",[1602]],[[126547,126547],\"disallowed\"],[[126548,126548],\"mapped\",[1588]],[[126549,126550],\"disallowed\"],[[126551,126551],\"mapped\",[1582]],[[126552,126552],\"disallowed\"],[[126553,126553],\"mapped\",[1590]],[[126554,126554],\"disallowed\"],[[126555,126555],\"mapped\",[1594]],[[126556,126556],\"disallowed\"],[[126557,126557],\"mapped\",[1722]],[[126558,126558],\"disallowed\"],[[126559,126559],\"mapped\",[1647
47807]],[[126560,126560],\"disallowed\"],[[126561,126561],\"mapped\",[1576]],[[126562,126562],\"mapped\",[1580]],[[126563,126563],\"disallowed\"],[[126564,126564],\"mapped\",[1607]],[[126565,126566],\"disallowed\"],[[126567,126567],\"mapped\",[1581]],[[126568,126568],\"mapped\",[1591]],[[126569,126569],\"mapped\",[1610]],[[126570,126570],\"mapped\",[1603]],[[126571,126571],\"disallowed\"],[[126572,126572],\"mapped\",[1605]],[[126573,126573],\"mapped\",[1606]],[[126574,126574],\"mapped\",[1587]],[[126575,126575],\"mapped\",[1593]],[[126576,126576],\"mapped\",[1601]],[[126577,126577],\"mapped\",[1589]],[[126578,126578],\"mapped\",[1602]],[[126579,126579],\"disallowed\"],[[126580,126580],\"mapped\",[1588]],[[126581,126581],\"mapped\",[1578]],[[126582,126582],\"mapped\",[1579]],[[126583,126583],\"mapped\",[1582]],[[126584,126584],\"disallowed\"],[[126585,126585],\"mapped\",[1590]],[[126586,126586],\"mapped\",[1592]],[[126587,126587],\"mapped\",[1594]],[[126588,126588],\"mapped\",[1646]],[[126589,126589],\"disallowed\"],[[126590,126590],\"mapped\",[1697]],[[126591,126591],\"disallowed\"],[[126592,126592],\"mapped\",[1575]],[[126593,126593],\"mapped\",[1576]],[[126594,126594],\"mapped\",[1580]],[[126595,126595],\"mapped\",[1583]],[[126596,126596],\"mapped\",[1607]],[[126597,126597],\"mapped\",[1608]],[[126598,126598],\"mapped\",[1586]],[[126599,126599],\"mapped\",[1581]],[[126600,126600],\"mapped\",[1591]],[[126601,126601],\"mapped\",[1610]],[[126602,126602],\"disallowed\"],[[126603,126603],\"mapped\",[1604]],[[126604,126604],\"mapped\",[1605]],[[126605,126605],\"mapped\",[1606]],[[126606,126606],\"mapped\",[1587]],[[126607,126607],\"mapped\",[1593]],[[126608,126608],\"mapped\",[1601]],[[126609,126609],\"mapped\",[1589]],[[126610,126610],\"mapped\",[1602]],[[126611,126611],\"mapped\",[1585]],[[126612,126612],\"mapped\",[1588]],[[126613,126613],\"mapped\",[1578]],[[126614,126614],\"mapped\",[1579]],[[126615,126615],\"mapped\",[1582]],[[126616,126616],\"mapped\",[1584]],[[126617,126617],\"mapped\",[1590]],[[126618,126618],\"mapped\",[1592]],[[126619,126619],\"mapped\",[1594]],[[126620,126624],\"disallowed\"],[[126625,126625],\"mapped\",[1576]],[[126626,126626],\"mapped\",[1580]],[[126627,126627],\"mapped\",[1583]],[[126628,126628],\"disallowed\"],[[126629,126629],\"mapped\",[1608]],[[126630,126630],\"mapped\",[1586]],[[126631,126631],\"mapped\",[1581]],[[126632,126632],\"mapped\",[1591]],[[126633,126633],\"mapped\",[1610]],[[126634,126634],\"disallowed\"],[[126635,126635],\"mapped\",[1604]],[[126636,126636],\"mapped\",[1605]],[[126637,126637],\"mapped\",[1606]],[[126638,126638],\"mapped\",[1587]],[[126639,126639],\"mapped\",[1593]],[[126640,126640],\"mapped\",[1601]],[[126641,126641],\"mapped\",[1589]],[[126642,126642],\"mapped\",[1602]],[[126643,126643],\"mapped\",[1585]],[[126644,126644],\"mapped\",[1588]],[[126645,126645],\"mapped\",[1578]],[[126646,126646],\"mapped\",[1579]],[[126647,126647],\"mapped\",[1582]],[[126648,126648],\"mapped\",[1584]],[[126649,126649],\"mapped\",[1590]],[[126650,126650],\"mapped\",[1592]],[[126651,126651],\"mapped\",[1594]],[[126652,126703],\"disallowed\"],[[126704,126705],\"valid\",[],\"NV8\"],[[126706,126975],\"disallowed\"],[[126976,127019],\"valid\",[],\"NV8\"],[[127020,127023],\"disallowed\"],[[127024,127123],\"valid\",[],\"NV8\"],[[127124,127135],\"disallowed\"],[[127136,127150],\"valid\",[],\"NV8\"],[[127151,127152],\"disallowed\"],[[127153,127166],\"valid\",[],\"NV8\"],[[127167,127167],\"valid\",[],\"NV8\"],[[127168,127168],\"disallowed\"],[[127169,127183],\"valid\",[],\"NV8\"],[[127184,127184],\"disallowed\"],[[127185,127199],\"valid\",[],\"NV8\"],[[127200,127221],\"valid\",[],\"NV8\"],[[127222,127231],\"disallowed\"],[[127232,127232],\"disallowed\"],[[127233,127233],\"disallowed_STD3_mapped\",[48,44]],[[127234,127234],\"disallowed_STD3_mapped\",[49,44]],[[127235,127235],\"disallowed_STD3_mapped\",[50,44]],[[127236,127236],\"disallowed_STD3_mapped\",[51,44]],[[127237,127237],\"disallowed_STD3_mapped\",[52,44]],[[127238,127238],\"disallowed_STD3_mapped\",[53,44]],[[127239,127239],\"disallowed_STD3_mapped\",[54,44]],[[127240,127240],\"disallowed_STD3_mapped\",[55,44]],[[127241,127241],\"disallowed_STD3_mapped\",[56,44]],[[127242,127242],\"disallowed_STD3_mapped\",[57,44]],[[127243,127244],\"valid\",[],\"NV8\"],[[127245,127247],\"disallowed\"],[[127248,127248],\"disallowed_STD3_mapped\",[40,97,41]],[[127249,127249],\"disallowed_STD3_mapped\",[40,98,41]],[[127250,127250],\"disallowed_STD3_mapped\",[40,99,41]],[[127251,127251],\"disallowed_STD3_mapped\",[40,100,41]],[[127252,127252],\"disallowed_STD3_mapped\",[40,101,41]],[[127253,127253],\"disallowed_STD3_mapped\",[40,102,41]],[[127254,127254],\"disallowed_STD3_mapped\",[40,103,41]],[[127255,127255],\"disallowed_STD3_mapped\",[40,104,41]],[[127256,
47807127256],\"disallowed_STD3_mapped\",[40,105,41]],[[127257,127257],\"disallowed_STD3_mapped\",[40,106,41]],[[127258,127258],\"disallowed_STD3_mapped\",[40,107,41]],[[127259,127259],\"disallowed_STD3_mapped\",[40,108,41]],[[127260,127260],\"disallowed_STD3_mapped\",[40,109,41]],[[127261,127261],\"disallowed_STD3_mapped\",[40,110,41]],[[127262,127262],\"disallowed_STD3_mapped\",[40,111,41]],[[127263,127263],\"disallowed_STD3_mapped\",[40,112,41]],[[127264,127264],\"disallowed_STD3_mapped\",[40,113,41]],[[127265,127265],\"disallowed_STD3_mapped\",[40,114,41]],[[127266,127266],\"disallowed_STD3_mapped\",[40,115,41]],[[127267,127267],\"disallowed_STD3_mapped\",[40,116,41]],[[127268,127268],\"disallowed_STD3_mapped\",[40,117,41]],[[127269,127269],\"disallowed_STD3_mapped\",[40,118,41]],[[127270,127270],\"disallowed_STD3_mapped\",[40,119,41]],[[127271,127271],\"disallowed_STD3_mapped\",[40,120,41]],[[127272,127272],\"disallowed_STD3_mapped\",[40,121,41]],[[127273,127273],\"disallowed_STD3_mapped\",[40,122,41]],[[127274,127274],\"mapped\",[12308,115,12309]],[[127275,127275],\"mapped\",[99]],[[127276,127276],\"mapped\",[114]],[[127277,127277],\"mapped\",[99,100]],[[127278,127278],\"mapped\",[119,122]],[[127279,127279],\"disallowed\"],[[127280,127280],\"mapped\",[97]],[[127281,127281],\"mapped\",[98]],[[127282,127282],\"mapped\",[99]],[[127283,127283],\"mapped\",[100]],[[127284,127284],\"mapped\",[101]],[[127285,127285],\"mapped\",[102]],[[127286,127286],\"mapped\",[103]],[[127287,127287],\"mapped\",[104]],[[127288,127288],\"mapped\",[105]],[[127289,127289],\"mapped\",[106]],[[127290,127290],\"mapped\",[107]],[[127291,127291],\"mapped\",[108]],[[127292,127292],\"mapped\",[109]],[[127293,127293],\"mapped\",[110]],[[127294,127294],\"mapped\",[111]],[[127295,127295],\"mapped\",[112]],[[127296,127296],\"mapped\",[113]],[[127297,127297],\"mapped\",[114]],[[127298,127298],\"mapped\",[115]],[[127299,127299],\"mapped\",[116]],[[127300,127300],\"mapped\",[117]],[[127301,127301],\"mapped\",[118]],[[127302,127302],\"mapped\",[119]],[[127303,127303],\"mapped\",[120]],[[127304,127304],\"mapped\",[121]],[[127305,127305],\"mapped\",[122]],[[127306,127306],\"mapped\",[104,118]],[[127307,127307],\"mapped\",[109,118]],[[127308,127308],\"mapped\",[115,100]],[[127309,127309],\"mapped\",[115,115]],[[127310,127310],\"mapped\",[112,112,118]],[[127311,127311],\"mapped\",[119,99]],[[127312,127318],\"valid\",[],\"NV8\"],[[127319,127319],\"valid\",[],\"NV8\"],[[127320,127326],\"valid\",[],\"NV8\"],[[127327,127327],\"valid\",[],\"NV8\"],[[127328,127337],\"valid\",[],\"NV8\"],[[127338,127338],\"mapped\",[109,99]],[[127339,127339],\"mapped\",[109,100]],[[127340,127343],\"disallowed\"],[[127344,127352],\"valid\",[],\"NV8\"],[[127353,127353],\"valid\",[],\"NV8\"],[[127354,127354],\"valid\",[],\"NV8\"],[[127355,127356],\"valid\",[],\"NV8\"],[[127357,127358],\"valid\",[],\"NV8\"],[[127359,127359],\"valid\",[],\"NV8\"],[[127360,127369],\"valid\",[],\"NV8\"],[[127370,127373],\"valid\",[],\"NV8\"],[[127374,127375],\"valid\",[],\"NV8\"],[[127376,127376],\"mapped\",[100,106]],[[127377,127386],\"valid\",[],\"NV8\"],[[127387,127461],\"disallowed\"],[[127462,127487],\"valid\",[],\"NV8\"],[[127488,127488],\"mapped\",[12411,12363]],[[127489,127489],\"mapped\",[12467,12467]],[[127490,127490],\"mapped\",[12469]],[[127491,127503],\"disallowed\"],[[127504,127504],\"mapped\",[25163]],[[127505,127505],\"mapped\",[23383]],[[127506,127506],\"mapped\",[21452]],[[127507,127507],\"mapped\",[12487]],[[127508,127508],\"mapped\",[20108]],[[127509,127509],\"mapped\",[22810]],[[127510,127510],\"mapped\",[35299]],[[127511,127511],\"mapped\",[22825]],[[127512,127512],\"mapped\",[20132]],[[127513,127513],\"mapped\",[26144]],[[127514,127514],\"mapped\",[28961]],[[127515,127515],\"mapped\",[26009]],[[127516,127516],\"mapped\",[21069]],[[127517,127517],\"mapped\",[24460]],[[127518,127518],\"mapped\",[20877]],[[127519,127519],\"mapped\",[26032]],[[127520,127520],\"mapped\",[21021]],[[127521,127521],\"mapped\",[32066]],[[127522,127522],\"mapped\",[29983]],[[127523,127523],\"mapped\",[36009]],[[127524,127524],\"mapped\",[22768]],[[127525,127525],\"mapped\",[21561]],[[127526,127526],\"mapped\",[28436]],[[127527,127527],\"mapped\",[25237]],[[127528,127528],\"mapped\",[25429]],[[127529,127529],\"mapped\",[19968]],[[127530,127530],\"mapped\",[19977]],[[127531,127531],\"mapped\",[36938]],[[127532,127532],\"mapped\",[24038]],[[127533,127533],\"mapped\",[20013]],[[127534,127534],\"mapped\",[21491]],[[127535,127535],\"mapped\",[25351]],[[127536,127536],\"mapped\",[36208]],[[127537,127537],\"mapped\",[25171]],[[127538,127538],\"mapped\",[31105]],[[127539,127539],\"mapped\",[31354]],[[127540,127540],\"mapped\",[21512]],[[127541,127541],\"mapped\",[28288]],[[127542,127542],\"mapped\",[26377]],[[127543,127543],\"mapped\",[26376]],[[127544,127544],\"mapped\",[30003]],[[127545,127545],\"mapped\",[21106]],[[127546,127546],\"mapped\",[21942]],[[127547,127551],\"disallowed\"],[[127552,127552],\"mapped\",[12308,26412,12309]],[[127553,127553],\"mapped\",[12308,19977,12309]],[[127554,127554],\"mapped\",[12308,20108,12309]],[[127555,127555],\"mapped\",[12308,23433,12309]],[[127556,127556],\"mapped\",[12308,28857,12309]],[[127557,127557],\"mapped\",[12308,25171,12309]],[[127558,127558],\"mapped\",[12308,30423,12309]],[[127559,127559],\"mapped\",[12308,21213,12309]],[[127560,127560],\"mapped\",[12308,25943,12309]],[[127561,
47807127567],\"disallowed\"],[[127568,127568],\"mapped\",[24471]],[[127569,127569],\"mapped\",[21487]],[[127570,127743],\"disallowed\"],[[127744,127776],\"valid\",[],\"NV8\"],[[127777,127788],\"valid\",[],\"NV8\"],[[127789,127791],\"valid\",[],\"NV8\"],[[127792,127797],\"valid\",[],\"NV8\"],[[127798,127798],\"valid\",[],\"NV8\"],[[127799,127868],\"valid\",[],\"NV8\"],[[127869,127869],\"valid\",[],\"NV8\"],[[127870,127871],\"valid\",[],\"NV8\"],[[127872,127891],\"valid\",[],\"NV8\"],[[127892,127903],\"valid\",[],\"NV8\"],[[127904,127940],\"valid\",[],\"NV8\"],[[127941,127941],\"valid\",[],\"NV8\"],[[127942,127946],\"valid\",[],\"NV8\"],[[127947,127950],\"valid\",[],\"NV8\"],[[127951,127955],\"valid\",[],\"NV8\"],[[127956,127967],\"valid\",[],\"NV8\"],[[127968,127984],\"valid\",[],\"NV8\"],[[127985,127991],\"valid\",[],\"NV8\"],[[127992,127999],\"valid\",[],\"NV8\"],[[128000,128062],\"valid\",[],\"NV8\"],[[128063,128063],\"valid\",[],\"NV8\"],[[128064,128064],\"valid\",[],\"NV8\"],[[128065,128065],\"valid\",[],\"NV8\"],[[128066,128247],\"valid\",[],\"NV8\"],[[128248,128248],\"valid\",[],\"NV8\"],[[128249,128252],\"valid\",[],\"NV8\"],[[128253,128254],\"valid\",[],\"NV8\"],[[128255,128255],\"valid\",[],\"NV8\"],[[128256,128317],\"valid\",[],\"NV8\"],[[128318,128319],\"valid\",[],\"NV8\"],[[128320,128323],\"valid\",[],\"NV8\"],[[128324,128330],\"valid\",[],\"NV8\"],[[128331,128335],\"valid\",[],\"NV8\"],[[128336,128359],\"valid\",[],\"NV8\"],[[128360,128377],\"valid\",[],\"NV8\"],[[128378,128378],\"disallowed\"],[[128379,128419],\"valid\",[],\"NV8\"],[[128420,128420],\"disallowed\"],[[128421,128506],\"valid\",[],\"NV8\"],[[128507,128511],\"valid\",[],\"NV8\"],[[128512,128512],\"valid\",[],\"NV8\"],[[128513,128528],\"valid\",[],\"NV8\"],[[128529,128529],\"valid\",[],\"NV8\"],[[128530,128532],\"valid\",[],\"NV8\"],[[128533,128533],\"valid\",[],\"NV8\"],[[128534,128534],\"valid\",[],\"NV8\"],[[128535,128535],\"valid\",[],\"NV8\"],[[128536,128536],\"valid\",[],\"NV8\"],[[128537,128537],\"valid\",[],\"NV8\"],[[128538,128538],\"valid\",[],\"NV8\"],[[128539,128539],\"valid\",[],\"NV8\"],[[128540,128542],\"valid\",[],\"NV8\"],[[128543,128543],\"valid\",[],\"NV8\"],[[128544,128549],\"valid\",[],\"NV8\"],[[128550,128551],\"valid\",[],\"NV8\"],[[128552,128555],\"valid\",[],\"NV8\"],[[128556,128556],\"valid\",[],\"NV8\"],[[128557,128557],\"valid\",[],\"NV8\"],[[128558,128559],\"valid\",[],\"NV8\"],[[128560,128563],\"valid\",[],\"NV8\"],[[128564,128564],\"valid\",[],\"NV8\"],[[128565,128576],\"valid\",[],\"NV8\"],[[128577,128578],\"valid\",[],\"NV8\"],[[128579,128580],\"valid\",[],\"NV8\"],[[128581,128591],\"valid\",[],\"NV8\"],[[128592,128639],\"valid\",[],\"NV8\"],[[128640,128709],\"valid\",[],\"NV8\"],[[128710,128719],\"valid\",[],\"NV8\"],[[128720,128720],\"valid\",[],\"NV8\"],[[128721,128735],\"disallowed\"],[[128736,128748],\"valid\",[],\"NV8\"],[[128749,128751],\"disallowed\"],[[128752,128755],\"valid\",[],\"NV8\"],[[128756,128767],\"disallowed\"],[[128768,128883],\"valid\",[],\"NV8\"],[[128884,128895],\"disallowed\"],[[128896,128980],\"valid\",[],\"NV8\"],[[128981,129023],\"disallowed\"],[[129024,129035],\"valid\",[],\"NV8\"],[[129036,129039],\"disallowed\"],[[129040,129095],\"valid\",[],\"NV8\"],[[129096,129103],\"disallowed\"],[[129104,129113],\"valid\",[],\"NV8\"],[[129114,129119],\"disallowed\"],[[129120,129159],\"valid\",[],\"NV8\"],[[129160,129167],\"disallowed\"],[[129168,129197],\"valid\",[],\"NV8\"],[[129198,129295],\"disallowed\"],[[129296,129304],\"valid\",[],\"NV8\"],[[129305,129407],\"disallowed\"],[[129408,129412],\"valid\",[],\"NV8\"],[[129413,129471],\"disallowed\"],[[129472,129472],\"valid\",[],\"NV8\"],[[129473,131069],\"disallowed\"],[[131070,131071],\"disallowed\"],[[131072,173782],\"valid\"],[[173783,173823],\"disallowed\"],[[173824,177972],\"valid\"],[[177973,177983],\"disallowed\"],[[177984,178205],\"valid\"],[[178206,178207],\"disallowed\"],[[178208,183969],\"valid\"],[[183970,194559],\"disallowed\"],[[194560,194560],\"mapped\",[20029]],[[194561,194561],\"mapped\",[20024]],[[194562,194562],\"mapped\",[20033]],[[194563,194563],\"mapped\",[131362]],[[194564,194564],\"mapped\",[20320]],[[194565,194565],\"mapped\",[20398]],[[194566,194566],\"mapped\",[20411]],[[194567,194567],\"mapped\",[20482]],[[194568,194568],\"mapped\",[20602]],[[194569,194569],\"mapped\",[20633]],[[194570,194570],\"mapped\",[20711]],[[194571,194571],\"mapped\",[20687]],[[194572,194572],\"mapped\",[13470]],[[194573,194573],\"mapped\",[132666]],[[194574,194574],\"mapped\",[20813]],[[194575,194575],\"mapped\",[20820]],[[194576,194576],\"mapped\",[20836]],[[194577,194577],\"mapped\",[20855]],[[194578,194578],\"mapped\",[132380]],[[194579,194579],\"mapped\",[13497]],[[194580,194580],\"mapped\",[20839]],[[194581,194581],\"mapped\",[20877]],[[194582,194582],\"mapped\",[132427]],[[194583,194583],\"mapped\",[20887]],[[194584,194584],\"mapped\",[20900]],[[194585,194585],\"mapped\",[20172]],[[194586,194586],\"mapped\",[20908]],[[194587,194587],\"mapped\",[20917]],[[194588,194588],\"mapped\",[168415]],[[194589,194589],\"mapped\",[20981]],[[194590,194590],\"mapped\",[20995]],[[194591,194591],\"mapped\",[13535]],[[194592,194592],\"mapped\",[21051]],[[194593,194593],\"mapped\",[21062]],[[194594,194594],\"mapped\",[21106]],[[194595,194595],\"mapped\",[21111]],[[194596,194596],\"mapped\",[13589]],[[194597,194597],\"mapped\",[21191]],[[194598,194598],\"mapped\",[21193]],[[194599,194599],\"mapped\",[21220]],[[194600,194600],\"mapped\",[21242]],[[194601,194601],\"mapped\",[21253]],[[194602,194602],\"mapped\",[21254]],[[194603,194603],\"mapped\",[21271]],[[194604,194604],\"mapped\",[21321]],[[194605,194605],\"mapped\",[21329]],[[194606,194606],\"mapped\",[21338]],[[194607,194607],\"mapped\",[21363]],[[194608,194608],\"mapped\",[21373]],[[194609,194611],\"mapped\",[21375]],[[194612,194612],\"mapped\",[133676]],[[194613,194613],\"mapped\",[28784]],[[194614,194614],\"mapped\",[21450]],[[194615,194615],\"mapped\",[21471]],[[194616,
47807194616],\"mapped\",[133987]],[[194617,194617],\"mapped\",[21483]],[[194618,194618],\"mapped\",[21489]],[[194619,194619],\"mapped\",[21510]],[[194620,194620],\"mapped\",[21662]],[[194621,194621],\"mapped\",[21560]],[[194622,194622],\"mapped\",[21576]],[[194623,194623],\"mapped\",[21608]],[[194624,194624],\"mapped\",[21666]],[[194625,194625],\"mapped\",[21750]],[[194626,194626],\"mapped\",[21776]],[[194627,194627],\"mapped\",[21843]],[[194628,194628],\"mapped\",[21859]],[[194629,194630],\"mapped\",[21892]],[[194631,194631],\"mapped\",[21913]],[[194632,194632],\"mapped\",[21931]],[[194633,194633],\"mapped\",[21939]],[[194634,194634],\"mapped\",[21954]],[[194635,194635],\"mapped\",[22294]],[[194636,194636],\"mapped\",[22022]],[[194637,194637],\"mapped\",[22295]],[[194638,194638],\"mapped\",[22097]],[[194639,194639],\"mapped\",[22132]],[[194640,194640],\"mapped\",[20999]],[[194641,194641],\"mapped\",[22766]],[[194642,194642],\"mapped\",[22478]],[[194643,194643],\"mapped\",[22516]],[[194644,194644],\"mapped\",[22541]],[[194645,194645],\"mapped\",[22411]],[[194646,194646],\"mapped\",[22578]],[[194647,194647],\"mapped\",[22577]],[[194648,194648],\"mapped\",[22700]],[[194649,194649],\"mapped\",[136420]],[[194650,194650],\"mapped\",[22770]],[[194651,194651],\"mapped\",[22775]],[[194652,194652],\"mapped\",[22790]],[[194653,194653],\"mapped\",[22810]],[[194654,194654],\"mapped\",[22818]],[[194655,194655],\"mapped\",[22882]],[[194656,194656],\"mapped\",[136872]],[[194657,194657],\"mapped\",[136938]],[[194658,194658],\"mapped\",[23020]],[[194659,194659],\"mapped\",[23067]],[[194660,194660],\"mapped\",[23079]],[[194661,194661],\"mapped\",[23000]],[[194662,194662],\"mapped\",[23142]],[[194663,194663],\"mapped\",[14062]],[[194664,194664],\"disallowed\"],[[194665,194665],\"mapped\",[23304]],[[194666,194667],\"mapped\",[23358]],[[194668,194668],\"mapped\",[137672]],[[194669,194669],\"mapped\",[23491]],[[194670,194670],\"mapped\",[23512]],[[194671,194671],\"mapped\",[23527]],[[194672,194672],\"mapped\",[23539]],[[194673,194673],\"mapped\",[138008]],[[194674,194674],\"mapped\",[23551]],[[194675,194675],\"mapped\",[23558]],[[194676,194676],\"disallowed\"],[[194677,194677],\"mapped\",[23586]],[[194678,194678],\"mapped\",[14209]],[[194679,194679],\"mapped\",[23648]],[[194680,194680],\"mapped\",[23662]],[[194681,194681],\"mapped\",[23744]],[[194682,194682],\"mapped\",[23693]],[[194683,194683],\"mapped\",[138724]],[[194684,194684],\"mapped\",[23875]],[[194685,194685],\"mapped\",[138726]],[[194686,194686],\"mapped\",[23918]],[[194687,194687],\"mapped\",[23915]],[[194688,194688],\"mapped\",[23932]],[[194689,194689],\"mapped\",[24033]],[[194690,194690],\"mapped\",[24034]],[[194691,194691],\"mapped\",[14383]],[[194692,194692],\"mapped\",[24061]],[[194693,194693],\"mapped\",[24104]],[[194694,194694],\"mapped\",[24125]],[[194695,194695],\"mapped\",[24169]],[[194696,194696],\"mapped\",[14434]],[[194697,194697],\"mapped\",[139651]],[[194698,194698],\"mapped\",[14460]],[[194699,194699],\"mapped\",[24240]],[[194700,194700],\"mapped\",[24243]],[[194701,194701],\"mapped\",[24246]],[[194702,194702],\"mapped\",[24266]],[[194703,194703],\"mapped\",[172946]],[[194704,194704],\"mapped\",[24318]],[[194705,194706],\"mapped\",[140081]],[[194707,194707],\"mapped\",[33281]],[[194708,194709],\"mapped\",[24354]],[[194710,194710],\"mapped\",[14535]],[[194711,194711],\"mapped\",[144056]],[[194712,194712],\"mapped\",[156122]],[[194713,194713],\"mapped\",[24418]],[[194714,194714],\"mapped\",[24427]],[[194715,194715],\"mapped\",[14563]],[[194716,194716],\"mapped\",[24474]],[[194717,194717],\"mapped\",[24525]],[[194718,194718],\"mapped\",[24535]],[[194719,194719],\"mapped\",[24569]],[[194720,194720],\"mapped\",[24705]],[[194721,194721],\"mapped\",[14650]],[[194722,194722],\"mapped\",[14620]],[[194723,194723],\"mapped\",[24724]],[[194724,194724],\"mapped\",[141012]],[[194725,194725],\"mapped\",[24775]],[[194726,194726],\"mapped\",[24904]],[[194727,194727],\"mapped\",[24908]],[[194728,194728],\"mapped\",[24910]],[[194729,194729],\"mapped\",[24908]],[[194730,194730],\"mapped\",[24954]],[[194731,194731],\"mapped\",[24974]],[[194732,194732],\"mapped\",[25010]],[[194733,194733],\"mapped\",[24996]],[[194734,194734],\"mapped\",[25007]],[[194735,194735],\"mapped\",[25054]],[[194736,194736],\"mapped\",[25074]],[[194737,194737],\"mapped\",[25078]],[[194738,194738],\"mapped\",[25104]],[[194739,194739],\"mapped\",[25115]],[[194740,194740],\"mapped\",[25181]],[[194741,194741],\"mapped\",[25265]],[[194742,194742],\"mapped\",[25300]],[[194743,194743],\"mapped\",[25424]],[[194744,194744],\"mapped\",[142092]],[[194745,194745],\"mapped\",[25405]],[[194746,194746],\"mapped\",[25340]],[[194747,194747],\"mapped\",[25448]],[[194748,194748],\"mapped\",[25475]],[[194749,194749],\"mapped\",[25572]],[[194750,194750],\"mapped\",[142321]],[[194751,194751],\"mapped\",[25634]],[[194752,194752],\"mapped\",[25541]],[[194753,194753],\"mapped\",[25513]],[[194754,194754],\"mapped\",[14894]],[[194755,194755],\"mapped\",[25705]],[[194756,194756],\"mapped\",[25726]],[[194757,194757],\"mapped\",[25757]],[[194758,194758],\"mapped\",[25719]],[[194759,194759],\"mapped\",[14956]],[[194760,194760],\"mapped\",[25935]],[[194761,194761],\"mapped\",[25964]],[[194762,194762],\"mapped\",[143370]],[[194763,194763],\"mapped\",[26083]],[[194764,194764],\"mapped\",[26360]],[[194765,194765],\"mapped\",[26185]],[[194766,194766],\"mapped\",[15129]],[[194767,194767],\"mapped\",[26257]],[[194768,194768],\"mapped\",[15112]],[[194769,194769],\"mapped\",[15076]],[[194770,194770],\"mapped\",[20882]],[[194771,194771],\"mapped\",[20885]],[[194772,194772],\"mapped\",[26368]],[[194773,194773],\"mapped\",[26268]],[[194774,194774],\"mapped\",[32941]],[[194775,194775],\"mapped\",[17369]],[[194776,194776],\"mapped\",[26391]],[[194777,194777],\"mapped\",[26395]],[[194778,194778],\"mapped\",[26401]],[[194779,194779],\"mapped\",[26462]],[[194780,194780],\"mapped\",[26451]],[[194781,194781],\"mapped\",[144323]],[[194782,194782],\"mapped\",[15177]],[[194783,194783],\"mapped\",[26618]],[[194784,194784],\"mapped\",[26501]],[[194785,194785],\"mapped\",[26706]],[[194786,194786],\"mapped\",[26757]],[[194787,194787],\"mapped\",[144493]],[[194788,194788],\"mapped\",[26766]],[[194789,194789],\"mapped\",[26655]],[[194790,194790],\"mapped\",[26900]],[[194791,194791],\"mapped\",[15261]],[[194792,194792],\"mapped\",[26946]],[[194793,194793],\"mapped\",[27043]],[[194794,194794],\"mapped\",[27114]],[[194795,194795],\"mapped\",[27304]],[[194796,194796],\"mapped\",[145059]],[[194797,194797],\"mapped\",[27355]],[[194798,194798],\"mapped\",[15384]],[[194799,194799],\"mapped\",[27425]],[[194800,194800],\"mapped\",[145575]],[[194801,194801],\"mapped\",[27476]],[[194802,194802],\"mapped\",[15438]],[[194803,194803],\"mapped\",[27506]],[[194804,194804],\"mapped\",[27551]],[[194805,194805],\"mapped\",[27578]],[[194806,194806],\"mapped\",[27579]],[[194807,194807],\"mapped\",[146061]],[[194808,194808],\"mapped\",[138507]],[[194809,194809],\"mapped\",[146170]],[[194810,194810],\"mapped\",[27726]],[[194811,194811],\"mapped\",[146620]],[[194812,194812],\"mapped\",[27839]],[[194813,194813],\"mapped\",[27853]],[[194814,194814],\"mapped\",[27751]],[[194815,194815],\"mapped\",[27926]],[[194816,194816],\"mapped\",[27966]],[[194817,194817],\"mapped\",[28023]],[[194818,194818],\"mapped\",[27969]],[[194819,194819],\"mapped\",[28009]],[[194820,194820],\"mapped\",[28024]],[[194821,194821],\"mapped\",[28037]],[[194822,194822],\"mapped\",[146718]],[[194823,194823],\"mapped\",[27956]],[[194824,194824],\"mapped\",[28207]],[[194825,194825],\"mapped\",[28270]],[[194826,194826],\"mapped\",[15667]],[[194827,194827],\"mapped\",[28363]],[[194828,194828],\"mapped\",[28359]],[[194829,194829],\"mapped\",[147153]],[[194830,194830],\"mapped\",[28153]],[[194831,194831],\"mapped\",[28526]],[[194832,194832],\"mapped\",[147294]],[[194833,194833],\"mapped\",[147342]],[[194834,194834],\"mapped\",[28614]],[[194835,194835],\"mapped\",[28729]],[[194836,194836],\"mapped\",[28702]],[[194837,194837],\"mapped\",[28699]],[[194838,194838],\"mapped\",[15766]],[[194839,194839],\"mapped\",[28746]],[[194840,194840],\"mapped\",[28797]],[[194841,194841],\"mapped\",[28791]],[[194842,194842],\"mapped\",[28845]],[[194843,194843],\"mapped\",[132389]],[[194844,194844],\"mapped\",[28997]],[[194845,194845],\"mapped\",[148067]],[[194846,194846],\"mapped\",[29084]],[[194847,194847],\"disallowed\"],[[194848,194848],\"mapped\",[29224]],[[194849,194849],\"mapped\",[29237]],[[194850,194850],\"mapped\",[29264]],[[194851,194851],\"mapped\",[149000]],[[194852,194852],\"mapped\",[29312]],[[194853,194853],\"mapped\",[29333]],[[194854,194854],\"mapped\",[149301]],[[194855,194855],\"mapped\",[149524]],[[194856,194856],\"mapped\",[29562]],[[194857,194857],\"mapped\",[29579]],[[194858,194858],\"mapped\",[16044]],[[194859,194859],\"mapped\",[29605]],[[1948
4780760,194861],\"mapped\",[16056]],[[194862,194862],\"mapped\",[29767]],[[194863,194863],\"mapped\",[29788]],[[194864,194864],\"mapped\",[29809]],[[194865,194865],\"mapped\",[29829]],[[194866,194866],\"mapped\",[29898]],[[194867,194867],\"mapped\",[16155]],[[194868,194868],\"mapped\",[29988]],[[194869,194869],\"mapped\",[150582]],[[194870,194870],\"mapped\",[30014]],[[194871,194871],\"mapped\",[150674]],[[194872,194872],\"mapped\",[30064]],[[194873,194873],\"mapped\",[139679]],[[194874,194874],\"mapped\",[30224]],[[194875,194875],\"mapped\",[151457]],[[194876,194876],\"mapped\",[151480]],[[194877,194877],\"mapped\",[151620]],[[194878,194878],\"mapped\",[16380]],[[194879,194879],\"mapped\",[16392]],[[194880,194880],\"mapped\",[30452]],[[194881,194881],\"mapped\",[151795]],[[194882,194882],\"mapped\",[151794]],[[194883,194883],\"mapped\",[151833]],[[194884,194884],\"mapped\",[151859]],[[194885,194885],\"mapped\",[30494]],[[194886,194887],\"mapped\",[30495]],[[194888,194888],\"mapped\",[30538]],[[194889,194889],\"mapped\",[16441]],[[194890,194890],\"mapped\",[30603]],[[194891,194891],\"mapped\",[16454]],[[194892,194892],\"mapped\",[16534]],[[194893,194893],\"mapped\",[152605]],[[194894,194894],\"mapped\",[30798]],[[194895,194895],\"mapped\",[30860]],[[194896,194896],\"mapped\",[30924]],[[194897,194897],\"mapped\",[16611]],[[194898,194898],\"mapped\",[153126]],[[194899,194899],\"mapped\",[31062]],[[194900,194900],\"mapped\",[153242]],[[194901,194901],\"mapped\",[153285]],[[194902,194902],\"mapped\",[31119]],[[194903,194903],\"mapped\",[31211]],[[194904,194904],\"mapped\",[16687]],[[194905,194905],\"mapped\",[31296]],[[194906,194906],\"mapped\",[31306]],[[194907,194907],\"mapped\",[31311]],[[194908,194908],\"mapped\",[153980]],[[194909,194910],\"mapped\",[154279]],[[194911,194911],\"disallowed\"],[[194912,194912],\"mapped\",[16898]],[[194913,194913],\"mapped\",[154539]],[[194914,194914],\"mapped\",[31686]],[[194915,194915],\"mapped\",[31689]],[[194916,194916],\"mapped\",[16935]],[[194917,194917],\"mapped\",[154752]],[[194918,194918],\"mapped\",[31954]],[[194919,194919],\"mapped\",[17056]],[[194920,194920],\"mapped\",[31976]],[[194921,194921],\"mapped\",[31971]],[[194922,194922],\"mapped\",[32000]],[[194923,194923],\"mapped\",[155526]],[[194924,194924],\"mapped\",[32099]],[[194925,194925],\"mapped\",[17153]],[[194926,194926],\"mapped\",[32199]],[[194927,194927],\"mapped\",[32258]],[[194928,194928],\"mapped\",[32325]],[[194929,194929],\"mapped\",[17204]],[[194930,194930],\"mapped\",[156200]],[[194931,194931],\"mapped\",[156231]],[[194932,194932],\"mapped\",[17241]],[[194933,194933],\"mapped\",[156377]],[[194934,194934],\"mapped\",[32634]],[[194935,194935],\"mapped\",[156478]],[[194936,194936],\"mapped\",[32661]],[[194937,194937],\"mapped\",[32762]],[[194938,194938],\"mapped\",[32773]],[[194939,194939],\"mapped\",[156890]],[[194940,194940],\"mapped\",[156963]],[[194941,194941],\"mapped\",[32864]],[[194942,194942],\"mapped\",[157096]],[[194943,194943],\"mapped\",[32880]],[[194944,194944],\"mapped\",[144223]],[[194945,194945],\"mapped\",[17365]],[[194946,194946],\"mapped\",[32946]],[[194947,194947],\"mapped\",[33027]],[[194948,194948],\"mapped\",[17419]],[[194949,194949],\"mapped\",[33086]],[[194950,194950],\"mapped\",[23221]],[[194951,194951],\"mapped\",[157607]],[[194952,194952],\"mapped\",[157621]],[[194953,194953],\"mapped\",[144275]],[[194954,194954],\"mapped\",[144284]],[[194955,194955],\"mapped\",[33281]],[[194956,194956],\"mapped\",[33284]],[[194957,194957],\"mapped\",[36766]],[[194958,194958],\"mapped\",[17515]],[[194959,194959],\"mapped\",[33425]],[[194960,194960],\"mapped\",[33419]],[[194961,194961],\"mapped\",[33437]],[[194962,194962],\"mapped\",[21171]],[[194963,194963],\"mapped\",[33457]],[[194964,194964],\"mapped\",[33459]],[[194965,194965],\"mapped\",[33469]],[[194966,194966],\"mapped\",[33510]],[[194967,194967],\"mapped\",[158524]],[[194968,194968],\"mapped\",[33509]],[[194969,194969],\"mapped\",[33565]],[[194970,194970],\"mapped\",[33635]],[[194971,194971],\"mapped\",[33709]],[[194972,194972],\"mapped\",[33571]],[[194973,194973],\"mapped\",[33725]],[[194974,194974],\"mapped\",[33767]],[[194975,194975],\"mapped\",[33879]],[[194976,194976],\"mapped\",[33619]],[[194977,194977],\"mapped\",[33738]],[[194978,194978],\"mapped\",[33740]],[[194979,194979],\"mapped\",[33756]],[[194980,194980],\"mapped\",[158774]],[[194981,194981],\"mapped\",[159083]],[[194982,194982],\"mapped\",[158933]],[[194983,194983],\"mapped\",[17707]],[[194984,194984],\"mapped\",[34033]],[[194985,194985],\"mapped\",[34035]],[[194986,194986],\"mapped\",[34070]],[[194987,194987],\"mapped\",[160714]],[[194988,194988],\"mapped\",[34148]],[[194989,194989],\"mapped\",[159532]],[[194990,194990],\"mapped\",[17757]],[[194991,194991],\"mapped\",[17761]],[[194992,194992],\"mapped\",[159665]],[[194993,194993],\"mapped\",[159954]],[[194994,194994],\"mapped\",[17771]],[[194995,194995],\"mapped\",[34384]],[[194996,194996],\"mapped\",[34396]],[[194997,194997],\"mapped\",[34407]],[[194998,194998],\"mapped\",[34409]],[[194999,194999],\"mapped\",[34473]],[[195000,195000],\"mapped\",[34440]],[[195001,195001],\"mapped\",[34574]],[[195002,195002],\"mapped\",[34530]],[[195003,195003],\"mapped\",[34681]],[[195004,195004],\"mapped\",[34600]],[[195005,195005],\"mapped\",[34667]],[[195006,195006],\"mapped\",[34694]],[[195007,195007],\"disallowed\"],[[195008,195008],\"mapped\",[34785]],[[195009,195009],\"mapped\",[34817]],[[195010,195010],\"mapped\",[17913]],[[195011,195011],\"mapped\",[34912]],[[195012,195012],\"mapped\",[34915]],[[195013,195013],\"mapped\",[161383]],[[195014,195014],\"mapped\",[35031]],[[195015,195015],\"mapped\",[35038]],[[195016,195016],\"mapped\",[17973]],[[195017,195017],\"mapped\",[35066]],[[195018,195018],\"mapped\",[13499]],[[195019,195019],\"mapped\",[161966]],[[195020,195020],\"mapped\",[162150]],[[195021,195021],\"mapped\",[18110]],[[195022,195022],\"mapped\",[18119]],[[195023,195023],\"mapped\",[35488]],[[195024,195024],\"mapped\",[35565]],[[195025,195025],\"mapped\",[35722]],[[195026,195026],\"mapped\",[35925]],[[195027,195027],\"mapped\",[162984]],[[195028,195028],\"mapped\",[36011]],[[195029,195029],\"mapped\",[36033]],[[195030,195030],\"mapped\",[36123]],[[195031,195031],\"mapped\",[36215]],[[195032,195032],\"mapped\",[163631]],[[195033,195033],\"mapped\",[133124]],[[195034,195034],\"mapped\",[36299]],[[195035,195035],\"mapped\",[36284]],[[195036,195036],\"mapped\",[36336]],[[195037,195037],\"mapped\",[133342]],[[195038,195038],\"mapped\",[36564]],[[195039,195039],\"mapped\",[36664]],[[195040,195040],\"mapped\",[165330]],[[195041,195041],\"mapped\",[165357]],[[195042,195042],\"mapped\",[37012]],[[195043,195043],\"mapped\",[37105]],[[195044,195044],\"mapped\",[37137]],[[195045,195045],\"mapped\",[165678]],[[195046,195046],\"mapped\",[37147]],[[195047,195047],\"mapped\",[37432]],[[195048,195048],\"mapped\",[37591]],[[195049,195049],\"mapped\",[37592]],[[195050,195050],\"mapped\",[37500]],[[195051,195051],\"mapped\",[37881]],[[195052,195052],\"mapped\",[37909]],[[195053,195053],\"mapped\",[166906]],[[195054,195054],\"mapped\",[38283]],[[195055,195055],\"mapped\",[18837]],[[195056,195056],\"mapped\",[38327]],[[195057,195057],\"mapped\",[167287]],[[195058,195058],\"mapped\",[18918]],[[195059,195059],\"mapped\",[38595]],[[195060,195060],\"mapped\",[23986]],[[195061,195061],\"mapped\",[38691]],[[195062,195062],\"mapped\",[168261]],[[195063,195063],\"mapped\",[168474]],[[195064,195064],\"mapped\",[19054]],[[195065,195065],\"mapped\",[19062]],[[195066,195066],\"mapped\",[38880]],[[195067,195067],\"mapped\",[168970]],[[195068,195068],\"mapped\",[19122]],[[195069,195069],\"mapped\",[169110]],[[195070,195071],\"mapped\",[38923]],[[195072,195072],\"mapped\",[38953]],[[195073,195073],\"mapped\",[169398]],[[195074,195074],\"mapped\",[39138]],[[195075,195075],\"mapped\",[19251]],[[195076,195076],\"mapped\",[39209]],[[195077,195077],\"mapped\",[39335]],[[195078,195078],\"mapped\",[39362]],[[195079,195079],\"mapped\",[39422]],[[195080,195080],\"mapped\",[19406]],[[195081,195081],\"mapped\",[170800]],[[195082,195082],\"mapped\",[39698]],[[195083,195083],\"mapped\",[40000]],[[195084,195084],\"mapped\",[40189]],[[195085,195085],\"mapped\",[19662]],[[195086,195086],\"mapped\",[19693]],[[195087,195087],\"mapped\",[40295]],[[195088,195088],\"mapped\",[172238]],[[195089,195089],\"mapped\",[19704]],[[195090,195090],\"mapped\",[172293]],[[195091,195091],\"mapped\",[172558]],[[195092,195092],\"mapped\",[172689]],[[195093,195093],\"mapped\",[40635]],[[195094,195094],\"mapped\",[19798]
vendor: 12,843 bytes, lines 47807-48233
47807],[[195095,195095],\"mapped\",[40697]],[[195096,195096],\"mapped\",[40702]],[[195097,195097],\"mapped\",[40709]],[[195098,195098],\"mapped\",[40719]],[[195099,195099],\"mapped\",[40726]],[[195100,195100],\"mapped\",[40763]],[[195101,195101],\"mapped\",[173568]],[[195102,196605],\"disallowed\"],[[196606,196607],\"disallowed\"],[[196608,262141],\"disallowed\"],[[262142,262143],\"disallowed\"],[[262144,327677],\"disallowed\"],[[327678,327679],\"disallowed\"],[[327680,393213],\"disallowed\"],[[393214,393215],\"disallowed\"],[[393216,458749],\"disallowed\"],[[458750,458751],\"disallowed\"],[[458752,524285],\"disallowed\"],[[524286,524287],\"disallowed\"],[[524288,589821],\"disallowed\"],[[589822,589823],\"disallowed\"],[[589824,655357],\"disallowed\"],[[655358,655359],\"disallowed\"],[[655360,720893],\"disallowed\"],[[720894,720895],\"disallowed\"],[[720896,786429],\"disallowed\"],[[786430,786431],\"disallowed\"],[[786432,851965],\"disallowed\"],[[851966,851967],\"disallowed\"],[[851968,917501],\"disallowed\"],[[917502,917503],\"disallowed\"],[[917504,917504],\"disallowed\"],[[917505,917505],\"disallowed\"],[[917506,917535],\"disallowed\"],[[917536,917631],\"disallowed\"],[[917632,917759],\"disallowed\"],[[917760,917999],\"ignored\"],[[918000,983037],\"disallowed\"],[[983038,983039],\"disallowed\"],[[983040,1048573],\"disallowed\"],[[1048574,1048575],\"disallowed\"],[[1048576,1114109],\"disallowed\"],[[1114110,1114111],\"disallowed\"]]"); 47808 47809/***/ }), 47810/* 929 */ 47811/***/ (function(module, exports, __webpack_require__) { 47812 47813"use strict"; 47814/* WEBPACK VAR INJECTION */(function(Buffer, process) { 47815/* eslint camelcase: "off" */ 47816 47817var assert = __webpack_require__(740); 47818 47819var Zstream = __webpack_require__(931); 47820var zlib_deflate = __webpack_require__(932); 47821var zlib_inflate = __webpack_require__(935); 47822var constants = __webpack_require__(938); 47823 47824for (var key in constants) { 47825 exports[key] = constants[key]; 47826} 47827 47828// zlib modes 47829exports.NONE = 0; 47830exports.DEFLATE = 1; 47831exports.INFLATE = 2; 47832exports.GZIP = 3; 47833exports.GUNZIP = 4; 47834exports.DEFLATERAW = 5; 47835exports.INFLATERAW = 6; 47836exports.UNZIP = 7; 47837 47838var GZIP_HEADER_ID1 = 0x1f; 47839var GZIP_HEADER_ID2 = 0x8b; 47840 47841/** 47842 * Emulate Node's zlib C++ layer for use by the JS layer in index.js 47843 */ 47844function Zlib(mode) { 47845 if (typeof mode !== 'number' || mode < exports.DEFLATE || mode > exports.UNZIP) { 47846 throw new TypeError('Bad argument'); 47847 } 47848 47849 this.dictionary = null; 47850 this.err = 0; 47851 this.flush = 0; 47852 this.init_done = false; 47853 this.level = 0; 47854 this.memLevel = 0; 47855 this.mode = mode; 47856 this.strategy = 0; 47857 this.windowBits = 0; 47858 this.write_in_progress = false; 47859 this.pending_close = false; 47860 this.gzip_id_bytes_read = 0; 47861} 47862 47863Zlib.prototype.close = function () { 47864 if (this.write_in_progress) { 47865 this.pending_close = true; 47866 return; 47867 } 47868 47869 this.pending_close = false; 47870 47871 assert(this.init_done, 'close before init'); 47872 assert(this.mode <= exports.UNZIP); 47873 47874 if (this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW) { 47875 zlib_deflate.deflateEnd(this.strm); 47876 } else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP) { 47877 zlib_inflate.inflateEnd(this.strm); 47878 } 47879 47880 this.mode = exports.NONE; 47881 47882 this.dictionary = null; 47883}; 47884 47885Zlib.prototype.write = function (flush, input, in_off, in_len, out, out_off, out_len) { 47886 return this._write(true, flush, input, in_off, in_len, out, out_off, out_len); 47887}; 47888 47889Zlib.prototype.writeSync = function (flush, input, in_off, in_len, out, out_off, out_len) { 47890 return this._write(false, flush, input, in_off, in_len, out, out_off, out_len); 47891}; 47892 47893Zlib.prototype._write = function (async, flush, input, in_off, in_len, out, out_off, out_len) { 47894 assert.equal(arguments.length, 8); 47895 47896 assert(this.init_done, 'write before init'); 47897 assert(this.mode !== exports.NONE, 'already finalized'); 47898 assert.equal(false, this.write_in_progress, 'write already in progress'); 47899 assert.equal(false, this.pending_close, 'close is pending'); 47900 47901 this.write_in_progress = true; 47902 47903 assert.equal(false, flush === undefined, 'must provide flush value'); 47904 47905 this.write_in_progress = true; 47906 47907 if (flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK) { 47908 throw new Error('Invalid flush value'); 47909 } 47910 47911 if (input == null) { 47912 input = Buffer.alloc(0); 47913 in_len = 0; 47914 in_off = 0; 47915 } 47916 47917 this.strm.avail_in = in_len; 47918 this.strm.input = input; 47919 this.strm.next_in = in_off; 47920 this.strm.avail_out = out_len; 47921 this.strm.output = out; 47922 this.strm.next_out = out_off; 47923 this.flush = flush; 47924 47925 if (!async) { 47926 // sync version 47927 this._process(); 47928 47929 if (this._checkError()) { 47930 return this._afterSync(); 47931 } 47932 return; 47933 } 47934 47935 // async version 47936 var self = this; 47937 process.nextTick(function () { 47938 self._process(); 47939 self._after(); 47940 }); 47941 47942 return this; 47943}; 47944 47945Zlib.prototype._afterSync = function () { 47946 var avail_out = this.strm.avail_out; 47947 var avail_in = this.strm.avail_in; 47948 47949 this.write_in_progress = false; 47950 47951 return [avail_in, avail_out]; 47952}; 47953 47954Zlib.prototype._process = function () { 47955 var next_expected_header_byte = null; 47956 47957 // If the avail_out is left at 0, then it means that it ran out 47958 // of room. If there was avail_out left over, then it means 47959 // that all of the input was consumed. 47960 switch (this.mode) { 47961 case exports.DEFLATE: 47962 case exports.GZIP: 47963 case exports.DEFLATERAW: 47964 this.err = zlib_deflate.deflate(this.strm, this.flush); 47965 break; 47966 case exports.UNZIP: 47967 if (this.strm.avail_in > 0) { 47968 next_expected_header_byte = this.strm.next_in; 47969 } 47970 47971 switch (this.gzip_id_bytes_read) { 47972 case 0: 47973 if (next_expected_header_byte === null) { 47974 break; 47975 } 47976 47977 if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) { 47978 this.gzip_id_bytes_read = 1; 47979 next_expected_header_byte++; 47980 47981 if (this.strm.avail_in === 1) { 47982 // The only available byte was already read. 47983 break; 47984 } 47985 } else { 47986 this.mode = exports.INFLATE; 47987 break; 47988 } 47989 47990 // fallthrough 47991 case 1: 47992 if (next_expected_header_byte === null) { 47993 break; 47994 } 47995 47996 if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2) { 47997 this.gzip_id_bytes_read = 2; 47998 this.mode = exports.GUNZIP; 47999 } else { 48000 // There is no actual difference between INFLATE and INFLATERAW 48001 // (after initialization). 48002 this.mode = exports.INFLATE; 48003 } 48004 48005 break; 48006 default: 48007 throw new Error('invalid number of gzip magic number bytes read'); 48008 } 48009 48010 // fallthrough 48011 case exports.INFLATE: 48012 case exports.GUNZIP: 48013 case exports.INFLATERAW: 48014 this.err = zlib_inflate.inflate(this.strm, this.flush 48015 48016 // If data was encoded with dictionary 48017 );if (this.err === exports.Z_NEED_DICT && this.dictionary) { 48018 // Load it 48019 this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary); 48020 if (this.err === exports.Z_OK) { 48021 // And try to decode again 48022 this.err = zlib_inflate.inflate(this.strm, this.flush); 48023 } else if (this.err === exports.Z_DATA_ERROR) { 48024 // Both inflateSetDictionary() and inflate() return Z_DATA_ERROR. 48025 // Make it possible for After() to tell a bad dictionary from bad 48026 // input. 48027 this.err = exports.Z_NEED_DICT; 48028 } 48029 } 48030 while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0x00) { 48031 // Bytes remain in input buffer. Perhaps this is another compressed 48032 // member in the same archive, or just trailing garbage. 48033 // Trailing zero bytes are okay, though, since they are frequently 48034 // used for padding. 48035 48036 this.reset(); 48037 this.err = zlib_inflate.inflate(this.strm, this.flush); 48038 } 48039 break; 48040 default: 48041 throw new Error('Unknown mode ' + this.mode); 48042 } 48043}; 48044 48045Zlib.prototype._checkError = function () { 48046 // Acceptable error states depend on the type of zlib stream. 48047 switch (this.err) { 48048 case exports.Z_OK: 48049 case exports.Z_BUF_ERROR: 48050 if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH) { 48051 this._error('unexpected end of file'); 48052 return false; 48053 } 48054 break; 48055 case exports.Z_STREAM_END: 48056 // normal statuses, not fatal 48057 break; 48058 case exports.Z_NEED_DICT: 48059 if (this.dictionary == null) { 48060 this._error('Missing dictionary'); 48061 } else { 48062 this._error('Bad dictionary'); 48063 } 48064 return false; 48065 default: 48066 // something else. 48067 this._error('Zlib error'); 48068 return false; 48069 } 48070 48071 return true; 48072}; 48073 48074Zlib.prototype._after = function () { 48075 if (!this._checkError()) { 48076 return; 48077 } 48078 48079 var avail_out = this.strm.avail_out; 48080 var avail_in = this.strm.avail_in; 48081 48082 this.write_in_progress = false; 48083 48084 // call the write() cb 48085 this.callback(avail_in, avail_out); 48086 48087 if (this.pending_close) { 48088 this.close(); 48089 } 48090}; 48091 48092Zlib.prototype._error = function (message) { 48093 if (this.strm.msg) { 48094 message = this.strm.msg; 48095 } 48096 this.onerror(message, this.err 48097 48098 // no hope of rescue. 48099 );this.write_in_progress = false; 48100 if (this.pending_close) { 48101 this.close(); 48102 } 48103}; 48104 48105Zlib.prototype.init = function (windowBits, level, memLevel, strategy, dictionary) { 48106 assert(arguments.length === 4 || arguments.length === 5, 'init(windowBits, level, memLevel, strategy, [dictionary])'); 48107 48108 assert(windowBits >= 8 && windowBits <= 15, 'invalid windowBits'); 48109 assert(level >= -1 && level <= 9, 'invalid compression level'); 48110 48111 assert(memLevel >= 1 && memLevel <= 9, 'invalid memlevel'); 48112 48113 assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, 'invalid strategy'); 48114 48115 this._init(level, windowBits, memLevel, strategy, dictionary); 48116 this._setDictionary(); 48117}; 48118 48119Zlib.prototype.params = function () { 48120 throw new Error('deflateParams Not supported'); 48121}; 48122 48123Zlib.prototype.reset = function () { 48124 this._reset(); 48125 this._setDictionary(); 48126}; 48127 48128Zlib.prototype._init = function (level, windowBits, memLevel, strategy, dictionary) { 48129 this.level = level; 48130 this.windowBits = windowBits; 48131 this.memLevel = memLevel; 48132 this.strategy = strategy; 48133 48134 this.flush = exports.Z_NO_FLUSH; 48135 48136 this.err = exports.Z_OK; 48137 48138 if (this.mode === exports.GZIP || this.mode === exports.GUNZIP) { 48139 this.windowBits += 16; 48140 } 48141 48142 if (this.mode === exports.UNZIP) { 48143 this.windowBits += 32; 48144 } 48145 48146 if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW) { 48147 this.windowBits = -1 * this.windowBits; 48148 } 48149 48150 this.strm = new Zstream(); 48151 48152 switch (this.mode) { 48153 case exports.DEFLATE: 48154 case exports.GZIP: 48155 case exports.DEFLATERAW: 48156 this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy); 48157 break; 48158 case exports.INFLATE: 48159 case exports.GUNZIP: 48160 case exports.INFLATERAW: 48161 case exports.UNZIP: 48162 this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits); 48163 break; 48164 default: 48165 throw new Error('Unknown mode ' + this.mode); 48166 } 48167 48168 if (this.err !== exports.Z_OK) { 48169 this._error('Init error'); 48170 } 48171 48172 this.dictionary = dictionary; 48173 48174 this.write_in_progress = false; 48175 this.init_done = true; 48176}; 48177 48178Zlib.prototype._setDictionary = function () { 48179 if (this.dictionary == null) { 48180 return; 48181 } 48182 48183 this.err = exports.Z_OK; 48184 48185 switch (this.mode) { 48186 case exports.DEFLATE: 48187 case exports.DEFLATERAW: 48188 this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary); 48189 break; 48190 default: 48191 break; 48192 } 48193 48194 if (this.err !== exports.Z_OK) { 48195 this._error('Failed to set dictionary'); 48196 } 48197}; 48198 48199Zlib.prototype._reset = function () { 48200 this.err = exports.Z_OK; 48201 48202 switch (this.mode) { 48203 case exports.DEFLATE: 48204 case exports.DEFLATERAW: 48205 case exports.GZIP: 48206 this.err = zlib_deflate.deflateReset(this.strm); 48207 break; 48208 case exports.INFLATE: 48209 case exports.INFLATERAW: 48210 case exports.GUNZIP: 48211 this.err = zlib_inflate.inflateReset(this.strm); 48212 break; 48213 default: 48214 break; 48215 } 48216 48217 if (this.err !== exports.Z_OK) { 48218 this._error('Failed to reset stream'); 48219 } 48220}; 48221 48222exports.Zlib = Zlib; 48223/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113).Buffer, __webpack_require__(57))) 48224 48225/***/ }), 48226/* 930 */ 48227/***/ (function(module, exports, __webpack_require__) { 48228 48229"use strict"; 48230/* 48231object-assign 48232(c) Sindre Sorhus 48233@license MIT
vendor: 5,191 bytes, lines 48234-48406
48234*/ 48235 48236 48237/* eslint-disable no-unused-vars */ 48238var getOwnPropertySymbols = Object.getOwnPropertySymbols; 48239var hasOwnProperty = Object.prototype.hasOwnProperty; 48240var propIsEnumerable = Object.prototype.propertyIsEnumerable; 48241 48242function toObject(val) { 48243 if (val === null || val === undefined) { 48244 throw new TypeError('Object.assign cannot be called with null or undefined'); 48245 } 48246 48247 return Object(val); 48248} 48249 48250function shouldUseNative() { 48251 try { 48252 if (!Object.assign) { 48253 return false; 48254 } 48255 48256 // Detect buggy property enumeration order in older V8 versions. 48257 48258 // https://bugs.chromium.org/p/v8/issues/detail?id=4118 48259 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers 48260 test1[5] = 'de'; 48261 if (Object.getOwnPropertyNames(test1)[0] === '5') { 48262 return false; 48263 } 48264 48265 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 48266 var test2 = {}; 48267 for (var i = 0; i < 10; i++) { 48268 test2['_' + String.fromCharCode(i)] = i; 48269 } 48270 var order2 = Object.getOwnPropertyNames(test2).map(function (n) { 48271 return test2[n]; 48272 }); 48273 if (order2.join('') !== '0123456789') { 48274 return false; 48275 } 48276 48277 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 48278 var test3 = {}; 48279 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { 48280 test3[letter] = letter; 48281 }); 48282 if (Object.keys(Object.assign({}, test3)).join('') !== 48283 'abcdefghijklmnopqrst') { 48284 return false; 48285 } 48286 48287 return true; 48288 } catch (err) { 48289 // We don't expect any of the above to throw, but better to be safe. 48290 return false; 48291 } 48292} 48293 48294module.exports = shouldUseNative() ? Object.assign : function (target, source) { 48295 var from; 48296 var to = toObject(target); 48297 var symbols; 48298 48299 for (var s = 1; s < arguments.length; s++) { 48300 from = Object(arguments[s]); 48301 48302 for (var key in from) { 48303 if (hasOwnProperty.call(from, key)) { 48304 to[key] = from[key]; 48305 } 48306 } 48307 48308 if (getOwnPropertySymbols) { 48309 symbols = getOwnPropertySymbols(from); 48310 for (var i = 0; i < symbols.length; i++) { 48311 if (propIsEnumerable.call(from, symbols[i])) { 48312 to[symbols[i]] = from[symbols[i]]; 48313 } 48314 } 48315 } 48316 } 48317 48318 return to; 48319}; 48320 48321 48322/***/ }), 48323/* 931 */ 48324/***/ (function(module, exports, __webpack_require__) { 48325 48326"use strict"; 48327 48328 48329// (C) 1995-2013 Jean-loup Gailly and Mark Adler 48330// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 48331// 48332// This software is provided 'as-is', without any express or implied 48333// warranty. In no event will the authors be held liable for any damages 48334// arising from the use of this software. 48335// 48336// Permission is granted to anyone to use this software for any purpose, 48337// including commercial applications, and to alter it and redistribute it 48338// freely, subject to the following restrictions: 48339// 48340// 1. The origin of this software must not be misrepresented; you must not 48341// claim that you wrote the original software. If you use this software 48342// in a product, an acknowledgment in the product documentation would be 48343// appreciated but is not required. 48344// 2. Altered source versions must be plainly marked as such, and must not be 48345// misrepresented as being the original software. 48346// 3. This notice may not be removed or altered from any source distribution. 48347 48348function ZStream() { 48349 /* next input byte */ 48350 this.input = null; // JS specific, because we have no pointers 48351 this.next_in = 0; 48352 /* number of bytes available at input */ 48353 this.avail_in = 0; 48354 /* total number of input bytes read so far */ 48355 this.total_in = 0; 48356 /* next output byte should be put there */ 48357 this.output = null; // JS specific, because we have no pointers 48358 this.next_out = 0; 48359 /* remaining free space at output */ 48360 this.avail_out = 0; 48361 /* total number of bytes output so far */ 48362 this.total_out = 0; 48363 /* last error message, NULL if no error */ 48364 this.msg = ''/*Z_NULL*/; 48365 /* not visible by applications */ 48366 this.state = null; 48367 /* best guess about the data type: binary or text */ 48368 this.data_type = 2/*Z_UNKNOWN*/; 48369 /* adler32 value of the uncompressed data */ 48370 this.adler = 0; 48371} 48372 48373module.exports = ZStream; 48374 48375 48376/***/ }), 48377/* 932 */ 48378/***/ (function(module, exports, __webpack_require__) { 48379 48380"use strict"; 48381 48382 48383// (C) 1995-2013 Jean-loup Gailly and Mark Adler 48384// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 48385// 48386// This software is provided 'as-is', without any express or implied 48387// warranty. In no event will the authors be held liable for any damages 48388// arising from the use of this software. 48389// 48390// Permission is granted to anyone to use this software for any purpose, 48391// including commercial applications, and to alter it and redistribute it 48392// freely, subject to the following restrictions: 48393// 48394// 1. The origin of this software must not be misrepresented; you must not 48395// claim that you wrote the original software. If you use this software 48396// in a product, an acknowledgment in the product documentation would be 48397// appreciated but is not required. 48398// 2. Altered source versions must be plainly marked as such, and must not be 48399// misrepresented as being the original software. 48400// 3. This notice may not be removed or altered from any source distribution. 48401 48402var utils = __webpack_require__(395); 48403var trees = __webpack_require__(933); 48404var adler32 = __webpack_require__(741); 48405var crc32 = __webpack_require__(742); 48406var msg = __webpack_require__(934
vendor: 60,037 bytes, lines 48406-50257
48406); 48407 48408/* Public constants ==========================================================*/ 48409/* ===========================================================================*/ 48410 48411 48412/* Allowed flush values; see deflate() and inflate() below for details */ 48413var Z_NO_FLUSH = 0; 48414var Z_PARTIAL_FLUSH = 1; 48415//var Z_SYNC_FLUSH = 2; 48416var Z_FULL_FLUSH = 3; 48417var Z_FINISH = 4; 48418var Z_BLOCK = 5; 48419//var Z_TREES = 6; 48420 48421 48422/* Return codes for the compression/decompression functions. Negative values 48423 * are errors, positive values are used for special but normal events. 48424 */ 48425var Z_OK = 0; 48426var Z_STREAM_END = 1; 48427//var Z_NEED_DICT = 2; 48428//var Z_ERRNO = -1; 48429var Z_STREAM_ERROR = -2; 48430var Z_DATA_ERROR = -3; 48431//var Z_MEM_ERROR = -4; 48432var Z_BUF_ERROR = -5; 48433//var Z_VERSION_ERROR = -6; 48434 48435 48436/* compression levels */ 48437//var Z_NO_COMPRESSION = 0; 48438//var Z_BEST_SPEED = 1; 48439//var Z_BEST_COMPRESSION = 9; 48440var Z_DEFAULT_COMPRESSION = -1; 48441 48442 48443var Z_FILTERED = 1; 48444var Z_HUFFMAN_ONLY = 2; 48445var Z_RLE = 3; 48446var Z_FIXED = 4; 48447var Z_DEFAULT_STRATEGY = 0; 48448 48449/* Possible values of the data_type field (though see inflate()) */ 48450//var Z_BINARY = 0; 48451//var Z_TEXT = 1; 48452//var Z_ASCII = 1; // = Z_TEXT 48453var Z_UNKNOWN = 2; 48454 48455 48456/* The deflate compression method */ 48457var Z_DEFLATED = 8; 48458 48459/*============================================================================*/ 48460 48461 48462var MAX_MEM_LEVEL = 9; 48463/* Maximum value for memLevel in deflateInit2 */ 48464var MAX_WBITS = 15; 48465/* 32K LZ77 window */ 48466var DEF_MEM_LEVEL = 8; 48467 48468 48469var LENGTH_CODES = 29; 48470/* number of length codes, not counting the special END_BLOCK code */ 48471var LITERALS = 256; 48472/* number of literal bytes 0..255 */ 48473var L_CODES = LITERALS + 1 + LENGTH_CODES; 48474/* number of Literal or Length codes, including the END_BLOCK code */ 48475var D_CODES = 30; 48476/* number of distance codes */ 48477var BL_CODES = 19; 48478/* number of codes used to transfer the bit lengths */ 48479var HEAP_SIZE = 2 * L_CODES + 1; 48480/* maximum heap size */ 48481var MAX_BITS = 15; 48482/* All codes must not exceed MAX_BITS bits */ 48483 48484var MIN_MATCH = 3; 48485var MAX_MATCH = 258; 48486var MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1); 48487 48488var PRESET_DICT = 0x20; 48489 48490var INIT_STATE = 42; 48491var EXTRA_STATE = 69; 48492var NAME_STATE = 73; 48493var COMMENT_STATE = 91; 48494var HCRC_STATE = 103; 48495var BUSY_STATE = 113; 48496var FINISH_STATE = 666; 48497 48498var BS_NEED_MORE = 1; /* block not completed, need more input or more output */ 48499var BS_BLOCK_DONE = 2; /* block flush performed */ 48500var BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */ 48501var BS_FINISH_DONE = 4; /* finish done, accept no more input or output */ 48502 48503var OS_CODE = 0x03; // Unix :) . Don't detect, use this default. 48504 48505function err(strm, errorCode) { 48506 strm.msg = msg[errorCode]; 48507 return errorCode; 48508} 48509 48510function rank(f) { 48511 return ((f) << 1) - ((f) > 4 ? 9 : 0); 48512} 48513 48514function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } 48515 48516 48517/* ========================================================================= 48518 * Flush as much pending output as possible. All deflate() output goes 48519 * through this function so some applications may wish to modify it 48520 * to avoid allocating a large strm->output buffer and copying into it. 48521 * (See also read_buf()). 48522 */ 48523function flush_pending(strm) { 48524 var s = strm.state; 48525 48526 //_tr_flush_bits(s); 48527 var len = s.pending; 48528 if (len > strm.avail_out) { 48529 len = strm.avail_out; 48530 } 48531 if (len === 0) { return; } 48532 48533 utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); 48534 strm.next_out += len; 48535 s.pending_out += len; 48536 strm.total_out += len; 48537 strm.avail_out -= len; 48538 s.pending -= len; 48539 if (s.pending === 0) { 48540 s.pending_out = 0; 48541 } 48542} 48543 48544 48545function flush_block_only(s, last) { 48546 trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last); 48547 s.block_start = s.strstart; 48548 flush_pending(s.strm); 48549} 48550 48551 48552function put_byte(s, b) { 48553 s.pending_buf[s.pending++] = b; 48554} 48555 48556 48557/* ========================================================================= 48558 * Put a short in the pending buffer. The 16-bit value is put in MSB order. 48559 * IN assertion: the stream state is correct and there is enough room in 48560 * pending_buf. 48561 */ 48562function putShortMSB(s, b) { 48563// put_byte(s, (Byte)(b >> 8)); 48564// put_byte(s, (Byte)(b & 0xff)); 48565 s.pending_buf[s.pending++] = (b >>> 8) & 0xff; 48566 s.pending_buf[s.pending++] = b & 0xff; 48567} 48568 48569 48570/* =========================================================================== 48571 * Read a new buffer from the current input stream, update the adler32 48572 * and total number of bytes read. All deflate() input goes through 48573 * this function so some applications may wish to modify it to avoid 48574 * allocating a large strm->input buffer and copying from it. 48575 * (See also flush_pending()). 48576 */ 48577function read_buf(strm, buf, start, size) { 48578 var len = strm.avail_in; 48579 48580 if (len > size) { len = size; } 48581 if (len === 0) { return 0; } 48582 48583 strm.avail_in -= len; 48584 48585 // zmemcpy(buf, strm->next_in, len); 48586 utils.arraySet(buf, strm.input, strm.next_in, len, start); 48587 if (strm.state.wrap === 1) { 48588 strm.adler = adler32(strm.adler, buf, len, start); 48589 } 48590 48591 else if (strm.state.wrap === 2) { 48592 strm.adler = crc32(strm.adler, buf, len, start); 48593 } 48594 48595 strm.next_in += len; 48596 strm.total_in += len; 48597 48598 return len; 48599} 48600 48601 48602/* =========================================================================== 48603 * Set match_start to the longest match starting at the given string and 48604 * return its length. Matches shorter or equal to prev_length are discarded, 48605 * in which case the result is equal to prev_length and match_start is 48606 * garbage. 48607 * IN assertions: cur_match is the head of the hash chain for the current 48608 * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 48609 * OUT assertion: the match length is not greater than s->lookahead. 48610 */ 48611function longest_match(s, cur_match) { 48612 var chain_length = s.max_chain_length; /* max hash chain length */ 48613 var scan = s.strstart; /* current string */ 48614 var match; /* matched string */ 48615 var len; /* length of current match */ 48616 var best_len = s.prev_length; /* best match length so far */ 48617 var nice_match = s.nice_match; /* stop if match long enough */ 48618 var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ? 48619 s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/; 48620 48621 var _win = s.window; // shortcut 48622 48623 var wmask = s.w_mask; 48624 var prev = s.prev; 48625 48626 /* Stop when cur_match becomes <= limit. To simplify the code, 48627 * we prevent matches with the string of window index 0. 48628 */ 48629 48630 var strend = s.strstart + MAX_MATCH; 48631 var scan_end1 = _win[scan + best_len - 1]; 48632 var scan_end = _win[scan + best_len]; 48633 48634 /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. 48635 * It is easy to get rid of this optimization if necessary. 48636 */ 48637 // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); 48638 48639 /* Do not waste too much time if we already have a good match: */ 48640 if (s.prev_length >= s.good_match) { 48641 chain_length >>= 2; 48642 } 48643 /* Do not look for matches beyond the end of the input. This is necessary 48644 * to make deflate deterministic. 48645 */ 48646 if (nice_match > s.lookahead) { nice_match = s.lookahead; } 48647 48648 // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); 48649 48650 do { 48651 // Assert(cur_match < s->strstart, "no future"); 48652 match = cur_match; 48653 48654 /* Skip to next match if the match length cannot increase 48655 * or if the match length is less than 2. Note that the checks below 48656 * for insufficient lookahead only occur occasionally for performance 48657 * reasons. Therefore uninitialized memory will be accessed, and 48658 * conditional jumps will be made that depend on those values. 48659 * However the length of the match is limited to the lookahead, so 48660 * the output of deflate is not affected by the uninitialized values. 48661 */ 48662 48663 if (_win[match + best_len] !== scan_end || 48664 _win[match + best_len - 1] !== scan_end1 || 48665 _win[match] !== _win[scan] || 48666 _win[++match] !== _win[scan + 1]) { 48667 continue; 48668 } 48669 48670 /* The check at best_len-1 can be removed because it will be made 48671 * again later. (This heuristic is not always a win.) 48672 * It is not necessary to compare scan[2] and match[2] since they 48673 * are always equal when the other bytes match, given that 48674 * the hash keys are equal and that HASH_BITS >= 8. 48675 */ 48676 scan += 2; 48677 match++; 48678 // Assert(*scan == *match, "match[2]?"); 48679 48680 /* We check for insufficient lookahead only every 8th comparison; 48681 * the 256th check will be made at strstart+258. 48682 */ 48683 do { 48684 /*jshint noempty:false*/ 48685 } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && 48686 _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && 48687 _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && 48688 _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && 48689 scan < strend); 48690 48691 // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); 48692 48693 len = MAX_MATCH - (strend - scan); 48694 scan = strend - MAX_MATCH; 48695 48696 if (len > best_len) { 48697 s.match_start = cur_match; 48698 best_len = len; 48699 if (len >= nice_match) { 48700 break; 48701 } 48702 scan_end1 = _win[scan + best_len - 1]; 48703 scan_end = _win[scan + best_len]; 48704 } 48705 } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); 48706 48707 if (best_len <= s.lookahead) { 48708 return best_len; 48709 } 48710 return s.lookahead; 48711} 48712 48713 48714/* =========================================================================== 48715 * Fill the window when the lookahead becomes insufficient. 48716 * Updates strstart and lookahead. 48717 * 48718 * IN assertion: lookahead < MIN_LOOKAHEAD 48719 * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD 48720 * At least one byte has been read, or avail_in == 0; reads are 48721 * performed for at least two bytes (required for the zip translate_eol 48722 * option -- not supported here). 48723 */ 48724function fill_window(s) { 48725 var _w_size = s.w_size; 48726 var p, n, m, more, str; 48727 48728 //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); 48729 48730 do { 48731 more = s.window_size - s.lookahead - s.strstart; 48732 48733 // JS ints have 32 bit, block below not needed 48734 /* Deal with !@#$% 64K limit: */ 48735 //if (sizeof(int) <= 2) { 48736 // if (more == 0 && s->strstart == 0 && s->lookahead == 0) { 48737 // more = wsize; 48738 // 48739 // } else if (more == (unsigned)(-1)) { 48740 // /* Very unlikely, but possible on 16 bit machine if 48741 // * strstart == 0 && lookahead == 1 (input done a byte at time) 48742 // */ 48743 // more--; 48744 // } 48745 //} 48746 48747 48748 /* If the window is almost full and there is insufficient lookahead, 48749 * move the upper half to the lower one to make room in the upper half. 48750 */ 48751 if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) { 48752 48753 utils.arraySet(s.window, s.window, _w_size, _w_size, 0); 48754 s.match_start -= _w_size; 48755 s.strstart -= _w_size; 48756 /* we now have strstart >= MAX_DIST */ 48757 s.block_start -= _w_size; 48758 48759 /* Slide the hash table (could be avoided with 32 bit values 48760 at the expense of memory usage). We slide even when level == 0 48761 to keep the hash table consistent if we switch back to level > 0 48762 later. (Using level 0 permanently is not an optimal usage of 48763 zlib, so we don't care about this pathological case.) 48764 */ 48765 48766 n = s.hash_size; 48767 p = n; 48768 do { 48769 m = s.head[--p]; 48770 s.head[p] = (m >= _w_size ? m - _w_size : 0); 48771 } while (--n); 48772 48773 n = _w_size; 48774 p = n; 48775 do { 48776 m = s.prev[--p]; 48777 s.prev[p] = (m >= _w_size ? m - _w_size : 0); 48778 /* If n is not on any hash chain, prev[n] is garbage but 48779 * its value will never be used. 48780 */ 48781 } while (--n); 48782 48783 more += _w_size; 48784 } 48785 if (s.strm.avail_in === 0) { 48786 break; 48787 } 48788 48789 /* If there was no sliding: 48790 * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && 48791 * more == window_size - lookahead - strstart 48792 * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) 48793 * => more >= window_size - 2*WSIZE + 2 48794 * In the BIG_MEM or MMAP case (not yet supported), 48795 * window_size == input_size + MIN_LOOKAHEAD && 48796 * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. 48797 * Otherwise, window_size == 2*WSIZE so more >= 2. 48798 * If there was sliding, more >= WSIZE. So in all cases, more >= 2. 48799 */ 48800 //Assert(more >= 2, "more < 2"); 48801 n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more); 48802 s.lookahead += n; 48803 48804 /* Initialize the hash value now that we have some input: */ 48805 if (s.lookahead + s.insert >= MIN_MATCH) { 48806 str = s.strstart - s.insert; 48807 s.ins_h = s.window[str]; 48808 48809 /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */ 48810 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask; 48811//#if MIN_MATCH != 3 48812// Call update_hash() MIN_MATCH-3 more times 48813//#endif 48814 while (s.insert) { 48815 /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ 48816 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; 48817 48818 s.prev[str & s.w_mask] = s.head[s.ins_h]; 48819 s.head[s.ins_h] = str; 48820 str++; 48821 s.insert--; 48822 if (s.lookahead + s.insert < MIN_MATCH) { 48823 break; 48824 } 48825 } 48826 } 48827 /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, 48828 * but this is not important since only literal bytes will be emitted. 48829 */ 48830 48831 } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0); 48832 48833 /* If the WIN_INIT bytes after the end of the current data have never been 48834 * written, then zero those bytes in order to avoid memory check reports of 48835 * the use of uninitialized (or uninitialised as Julian writes) bytes by 48836 * the longest match routines. Update the high water mark for the next 48837 * time through here. WIN_INIT is set to MAX_MATCH since the longest match 48838 * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. 48839 */ 48840// if (s.high_water < s.window_size) { 48841// var curr = s.strstart + s.lookahead; 48842// var init = 0; 48843// 48844// if (s.high_water < curr) { 48845// /* Previous high water mark below current data -- zero WIN_INIT 48846// * bytes or up to end of window, whichever is less. 48847// */ 48848// init = s.window_size - curr; 48849// if (init > WIN_INIT) 48850// init = WIN_INIT; 48851// zmemzero(s->window + curr, (unsigned)init); 48852// s->high_water = curr + init; 48853// } 48854// else if (s->high_water < (ulg)curr + WIN_INIT) { 48855// /* High water mark at or above current data, but below current data 48856// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up 48857// * to end of window, whichever is less. 48858// */ 48859// init = (ulg)curr + WIN_INIT - s->high_water; 48860// if (init > s->window_size - s->high_water) 48861// init = s->window_size - s->high_water; 48862// zmemzero(s->window + s->high_water, (unsigned)init); 48863// s->high_water += init; 48864// } 48865// } 48866// 48867// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, 48868// "not enough room for search"); 48869} 48870 48871/* =========================================================================== 48872 * Copy without compression as much as possible from the input stream, return 48873 * the current block state. 48874 * This function does not insert new strings in the dictionary since 48875 * uncompressible data is probably not useful. This function is used 48876 * only for the level=0 compression option. 48877 * NOTE: this function should be optimized to avoid extra copying from 48878 * window to pending_buf. 48879 */ 48880function deflate_stored(s, flush) { 48881 /* Stored blocks are limited to 0xffff bytes, pending_buf is limited 48882 * to pending_buf_size, and each stored block has a 5 byte header: 48883 */ 48884 var max_block_size = 0xffff; 48885 48886 if (max_block_size > s.pending_buf_size - 5) { 48887 max_block_size = s.pending_buf_size - 5; 48888 } 48889 48890 /* Copy as much as possible from input to output: */ 48891 for (;;) { 48892 /* Fill the window as much as possible: */ 48893 if (s.lookahead <= 1) { 48894 48895 //Assert(s->strstart < s->w_size+MAX_DIST(s) || 48896 // s->block_start >= (long)s->w_size, "slide too late"); 48897// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) || 48898// s.block_start >= s.w_size)) { 48899// throw new Error("slide too late"); 48900// } 48901 48902 fill_window(s); 48903 if (s.lookahead === 0 && flush === Z_NO_FLUSH) { 48904 return BS_NEED_MORE; 48905 } 48906 48907 if (s.lookahead === 0) { 48908 break; 48909 } 48910 /* flush the current block */ 48911 } 48912 //Assert(s->block_start >= 0L, "block gone"); 48913// if (s.block_start < 0) throw new Error("block gone"); 48914 48915 s.strstart += s.lookahead; 48916 s.lookahead = 0; 48917 48918 /* Emit a stored block if pending_buf will be full: */ 48919 var max_start = s.block_start + max_block_size; 48920 48921 if (s.strstart === 0 || s.strstart >= max_start) { 48922 /* strstart == 0 is possible when wraparound on 16-bit machine */ 48923 s.lookahead = s.strstart - max_start; 48924 s.strstart = max_start; 48925 /*** FLUSH_BLOCK(s, 0); ***/ 48926 flush_block_only(s, false); 48927 if (s.strm.avail_out === 0) { 48928 return BS_NEED_MORE; 48929 } 48930 /***/ 48931 48932 48933 } 48934 /* Flush if we may have to slide, otherwise block_start may become 48935 * negative and the data will be gone: 48936 */ 48937 if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) { 48938 /*** FLUSH_BLOCK(s, 0); ***/ 48939 flush_block_only(s, false); 48940 if (s.strm.avail_out === 0) { 48941 return BS_NEED_MORE; 48942 } 48943 /***/ 48944 } 48945 } 48946 48947 s.insert = 0; 48948 48949 if (flush === Z_FINISH) { 48950 /*** FLUSH_BLOCK(s, 1); ***/ 48951 flush_block_only(s, true); 48952 if (s.strm.avail_out === 0) { 48953 return BS_FINISH_STARTED; 48954 } 48955 /***/ 48956 return BS_FINISH_DONE; 48957 } 48958 48959 if (s.strstart > s.block_start) { 48960 /*** FLUSH_BLOCK(s, 0); ***/ 48961 flush_block_only(s, false); 48962 if (s.strm.avail_out === 0) { 48963 return BS_NEED_MORE; 48964 } 48965 /***/ 48966 } 48967 48968 return BS_NEED_MORE; 48969} 48970 48971/* =========================================================================== 48972 * Compress as much as possible from the input stream, return the current 48973 * block state. 48974 * This function does not perform lazy evaluation of matches and inserts 48975 * new strings in the dictionary only for unmatched strings or for short 48976 * matches. It is used only for the fast compression options. 48977 */ 48978function deflate_fast(s, flush) { 48979 var hash_head; /* head of the hash chain */ 48980 var bflush; /* set if current block must be flushed */ 48981 48982 for (;;) { 48983 /* Make sure that we always have enough lookahead, except 48984 * at the end of the input file. We need MAX_MATCH bytes 48985 * for the next match, plus MIN_MATCH bytes to insert the 48986 * string following the next match. 48987 */ 48988 if (s.lookahead < MIN_LOOKAHEAD) { 48989 fill_window(s); 48990 if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { 48991 return BS_NEED_MORE; 48992 } 48993 if (s.lookahead === 0) { 48994 break; /* flush the current block */ 48995 } 48996 } 48997 48998 /* Insert the string window[strstart .. strstart+2] in the 48999 * dictionary, and set hash_head to the head of the hash chain: 49000 */ 49001 hash_head = 0/*NIL*/; 49002 if (s.lookahead >= MIN_MATCH) { 49003 /*** INSERT_STRING(s, s.strstart, hash_head); ***/ 49004 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; 49005 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; 49006 s.head[s.ins_h] = s.strstart; 49007 /***/ 49008 } 49009 49010 /* Find the longest match, discarding those <= prev_length. 49011 * At this point we have always match_length < MIN_MATCH 49012 */ 49013 if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) { 49014 /* To simplify the code, we prevent matches with the string 49015 * of window index 0 (in particular we have to avoid a match 49016 * of the string with itself at the start of the input file). 49017 */ 49018 s.match_length = longest_match(s, hash_head); 49019 /* longest_match() sets match_start */ 49020 } 49021 if (s.match_length >= MIN_MATCH) { 49022 // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only 49023 49024 /*** _tr_tally_dist(s, s.strstart - s.match_start, 49025 s.match_length - MIN_MATCH, bflush); ***/ 49026 bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH); 49027 49028 s.lookahead -= s.match_length; 49029 49030 /* Insert new strings in the hash table only if the match length 49031 * is not too large. This saves time but degrades compression. 49032 */ 49033 if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) { 49034 s.match_length--; /* string at strstart already in table */ 49035 do { 49036 s.strstart++; 49037 /*** INSERT_STRING(s, s.strstart, hash_head); ***/ 49038 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; 49039 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; 49040 s.head[s.ins_h] = s.strstart; 49041 /***/ 49042 /* strstart never exceeds WSIZE-MAX_MATCH, so there are 49043 * always MIN_MATCH bytes ahead. 49044 */ 49045 } while (--s.match_length !== 0); 49046 s.strstart++; 49047 } else 49048 { 49049 s.strstart += s.match_length; 49050 s.match_length = 0; 49051 s.ins_h = s.window[s.strstart]; 49052 /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */ 49053 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask; 49054 49055//#if MIN_MATCH != 3 49056// Call UPDATE_HASH() MIN_MATCH-3 more times 49057//#endif 49058 /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not 49059 * matter since it will be recomputed at next deflate call. 49060 */ 49061 } 49062 } else { 49063 /* No match, output a literal byte */ 49064 //Tracevv((stderr,"%c", s.window[s.strstart])); 49065 /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ 49066 bflush = trees._tr_tally(s, 0, s.window[s.strstart]); 49067 49068 s.lookahead--; 49069 s.strstart++; 49070 } 49071 if (bflush) { 49072 /*** FLUSH_BLOCK(s, 0); ***/ 49073 flush_block_only(s, false); 49074 if (s.strm.avail_out === 0) { 49075 return BS_NEED_MORE; 49076 } 49077 /***/ 49078 } 49079 } 49080 s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1); 49081 if (flush === Z_FINISH) { 49082 /*** FLUSH_BLOCK(s, 1); ***/ 49083 flush_block_only(s, true); 49084 if (s.strm.avail_out === 0) { 49085 return BS_FINISH_STARTED; 49086 } 49087 /***/ 49088 return BS_FINISH_DONE; 49089 } 49090 if (s.last_lit) { 49091 /*** FLUSH_BLOCK(s, 0); ***/ 49092 flush_block_only(s, false); 49093 if (s.strm.avail_out === 0) { 49094 return BS_NEED_MORE; 49095 } 49096 /***/ 49097 } 49098 return BS_BLOCK_DONE; 49099} 49100 49101/* =========================================================================== 49102 * Same as above, but achieves better compression. We use a lazy 49103 * evaluation for matches: a match is finally adopted only if there is 49104 * no better match at the next window position. 49105 */ 49106function deflate_slow(s, flush) { 49107 var hash_head; /* head of hash chain */ 49108 var bflush; /* set if current block must be flushed */ 49109 49110 var max_insert; 49111 49112 /* Process the input block. */ 49113 for (;;) { 49114 /* Make sure that we always have enough lookahead, except 49115 * at the end of the input file. We need MAX_MATCH bytes 49116 * for the next match, plus MIN_MATCH bytes to insert the 49117 * string following the next match. 49118 */ 49119 if (s.lookahead < MIN_LOOKAHEAD) { 49120 fill_window(s); 49121 if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { 49122 return BS_NEED_MORE; 49123 } 49124 if (s.lookahead === 0) { break; } /* flush the current block */ 49125 } 49126 49127 /* Insert the string window[strstart .. strstart+2] in the 49128 * dictionary, and set hash_head to the head of the hash chain: 49129 */ 49130 hash_head = 0/*NIL*/; 49131 if (s.lookahead >= MIN_MATCH) { 49132 /*** INSERT_STRING(s, s.strstart, hash_head); ***/ 49133 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; 49134 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; 49135 s.head[s.ins_h] = s.strstart; 49136 /***/ 49137 } 49138 49139 /* Find the longest match, discarding those <= prev_length. 49140 */ 49141 s.prev_length = s.match_length; 49142 s.prev_match = s.match_start; 49143 s.match_length = MIN_MATCH - 1; 49144 49145 if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match && 49146 s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) { 49147 /* To simplify the code, we prevent matches with the string 49148 * of window index 0 (in particular we have to avoid a match 49149 * of the string with itself at the start of the input file). 49150 */ 49151 s.match_length = longest_match(s, hash_head); 49152 /* longest_match() sets match_start */ 49153 49154 if (s.match_length <= 5 && 49155 (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) { 49156 49157 /* If prev_match is also MIN_MATCH, match_start is garbage 49158 * but we will ignore the current match anyway. 49159 */ 49160 s.match_length = MIN_MATCH - 1; 49161 } 49162 } 49163 /* If there was a match at the previous step and the current 49164 * match is not better, output the previous match: 49165 */ 49166 if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) { 49167 max_insert = s.strstart + s.lookahead - MIN_MATCH; 49168 /* Do not insert strings in hash table beyond this. */ 49169 49170 //check_match(s, s.strstart-1, s.prev_match, s.prev_length); 49171 49172 /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match, 49173 s.prev_length - MIN_MATCH, bflush);***/ 49174 bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH); 49175 /* Insert in hash table all strings up to the end of the match. 49176 * strstart-1 and strstart are already inserted. If there is not 49177 * enough lookahead, the last two strings are not inserted in 49178 * the hash table. 49179 */ 49180 s.lookahead -= s.prev_length - 1; 49181 s.prev_length -= 2; 49182 do { 49183 if (++s.strstart <= max_insert) { 49184 /*** INSERT_STRING(s, s.strstart, hash_head); ***/ 49185 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; 49186 hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; 49187 s.head[s.ins_h] = s.strstart; 49188 /***/ 49189 } 49190 } while (--s.prev_length !== 0); 49191 s.match_available = 0; 49192 s.match_length = MIN_MATCH - 1; 49193 s.strstart++; 49194 49195 if (bflush) { 49196 /*** FLUSH_BLOCK(s, 0); ***/ 49197 flush_block_only(s, false); 49198 if (s.strm.avail_out === 0) { 49199 return BS_NEED_MORE; 49200 } 49201 /***/ 49202 } 49203 49204 } else if (s.match_available) { 49205 /* If there was no match at the previous position, output a 49206 * single literal. If there was a match but the current match 49207 * is longer, truncate the previous match to a single literal. 49208 */ 49209 //Tracevv((stderr,"%c", s->window[s->strstart-1])); 49210 /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ 49211 bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); 49212 49213 if (bflush) { 49214 /*** FLUSH_BLOCK_ONLY(s, 0) ***/ 49215 flush_block_only(s, false); 49216 /***/ 49217 } 49218 s.strstart++; 49219 s.lookahead--; 49220 if (s.strm.avail_out === 0) { 49221 return BS_NEED_MORE; 49222 } 49223 } else { 49224 /* There is no previous match to compare with, wait for 49225 * the next step to decide. 49226 */ 49227 s.match_available = 1; 49228 s.strstart++; 49229 s.lookahead--; 49230 } 49231 } 49232 //Assert (flush != Z_NO_FLUSH, "no flush?"); 49233 if (s.match_available) { 49234 //Tracevv((stderr,"%c", s->window[s->strstart-1])); 49235 /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ 49236 bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); 49237 49238 s.match_available = 0; 49239 } 49240 s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; 49241 if (flush === Z_FINISH) { 49242 /*** FLUSH_BLOCK(s, 1); ***/ 49243 flush_block_only(s, true); 49244 if (s.strm.avail_out === 0) { 49245 return BS_FINISH_STARTED; 49246 } 49247 /***/ 49248 return BS_FINISH_DONE; 49249 } 49250 if (s.last_lit) { 49251 /*** FLUSH_BLOCK(s, 0); ***/ 49252 flush_block_only(s, false); 49253 if (s.strm.avail_out === 0) { 49254 return BS_NEED_MORE; 49255 } 49256 /***/ 49257 } 49258 49259 return BS_BLOCK_DONE; 49260} 49261 49262 49263/* =========================================================================== 49264 * For Z_RLE, simply look for runs of bytes, generate matches only of distance 49265 * one. Do not maintain a hash table. (It will be regenerated if this run of 49266 * deflate switches away from Z_RLE.) 49267 */ 49268function deflate_rle(s, flush) { 49269 var bflush; /* set if current block must be flushed */ 49270 var prev; /* byte at distance one to match */ 49271 var scan, strend; /* scan goes up to strend for length of run */ 49272 49273 var _win = s.window; 49274 49275 for (;;) { 49276 /* Make sure that we always have enough lookahead, except 49277 * at the end of the input file. We need MAX_MATCH bytes 49278 * for the longest run, plus one for the unrolled loop. 49279 */ 49280 if (s.lookahead <= MAX_MATCH) { 49281 fill_window(s); 49282 if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) { 49283 return BS_NEED_MORE; 49284 } 49285 if (s.lookahead === 0) { break; } /* flush the current block */ 49286 } 49287 49288 /* See how many times the previous byte repeats */ 49289 s.match_length = 0; 49290 if (s.lookahead >= MIN_MATCH && s.strstart > 0) { 49291 scan = s.strstart - 1; 49292 prev = _win[scan]; 49293 if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { 49294 strend = s.strstart + MAX_MATCH; 49295 do { 49296 /*jshint noempty:false*/ 49297 } while (prev === _win[++scan] && prev === _win[++scan] && 49298 prev === _win[++scan] && prev === _win[++scan] && 49299 prev === _win[++scan] && prev === _win[++scan] && 49300 prev === _win[++scan] && prev === _win[++scan] && 49301 scan < strend); 49302 s.match_length = MAX_MATCH - (strend - scan); 49303 if (s.match_length > s.lookahead) { 49304 s.match_length = s.lookahead; 49305 } 49306 } 49307 //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); 49308 } 49309 49310 /* Emit match if have run of MIN_MATCH or longer, else emit literal */ 49311 if (s.match_length >= MIN_MATCH) { 49312 //check_match(s, s.strstart, s.strstart - 1, s.match_length); 49313 49314 /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/ 49315 bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH); 49316 49317 s.lookahead -= s.match_length; 49318 s.strstart += s.match_length; 49319 s.match_length = 0; 49320 } else { 49321 /* No match, output a literal byte */ 49322 //Tracevv((stderr,"%c", s->window[s->strstart])); 49323 /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ 49324 bflush = trees._tr_tally(s, 0, s.window[s.strstart]); 49325 49326 s.lookahead--; 49327 s.strstart++; 49328 } 49329 if (bflush) { 49330 /*** FLUSH_BLOCK(s, 0); ***/ 49331 flush_block_only(s, false); 49332 if (s.strm.avail_out === 0) { 49333 return BS_NEED_MORE; 49334 } 49335 /***/ 49336 } 49337 } 49338 s.insert = 0; 49339 if (flush === Z_FINISH) { 49340 /*** FLUSH_BLOCK(s, 1); ***/ 49341 flush_block_only(s, true); 49342 if (s.strm.avail_out === 0) { 49343 return BS_FINISH_STARTED; 49344 } 49345 /***/ 49346 return BS_FINISH_DONE; 49347 } 49348 if (s.last_lit) { 49349 /*** FLUSH_BLOCK(s, 0); ***/ 49350 flush_block_only(s, false); 49351 if (s.strm.avail_out === 0) { 49352 return BS_NEED_MORE; 49353 } 49354 /***/ 49355 } 49356 return BS_BLOCK_DONE; 49357} 49358 49359/* =========================================================================== 49360 * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. 49361 * (It will be regenerated if this run of deflate switches away from Huffman.) 49362 */ 49363function deflate_huff(s, flush) { 49364 var bflush; /* set if current block must be flushed */ 49365 49366 for (;;) { 49367 /* Make sure that we have a literal to write. */ 49368 if (s.lookahead === 0) { 49369 fill_window(s); 49370 if (s.lookahead === 0) { 49371 if (flush === Z_NO_FLUSH) { 49372 return BS_NEED_MORE; 49373 } 49374 break; /* flush the current block */ 49375 } 49376 } 49377 49378 /* Output a literal byte */ 49379 s.match_length = 0; 49380 //Tracevv((stderr,"%c", s->window[s->strstart])); 49381 /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ 49382 bflush = trees._tr_tally(s, 0, s.window[s.strstart]); 49383 s.lookahead--; 49384 s.strstart++; 49385 if (bflush) { 49386 /*** FLUSH_BLOCK(s, 0); ***/ 49387 flush_block_only(s, false); 49388 if (s.strm.avail_out === 0) { 49389 return BS_NEED_MORE; 49390 } 49391 /***/ 49392 } 49393 } 49394 s.insert = 0; 49395 if (flush === Z_FINISH) { 49396 /*** FLUSH_BLOCK(s, 1); ***/ 49397 flush_block_only(s, true); 49398 if (s.strm.avail_out === 0) { 49399 return BS_FINISH_STARTED; 49400 } 49401 /***/ 49402 return BS_FINISH_DONE; 49403 } 49404 if (s.last_lit) { 49405 /*** FLUSH_BLOCK(s, 0); ***/ 49406 flush_block_only(s, false); 49407 if (s.strm.avail_out === 0) { 49408 return BS_NEED_MORE; 49409 } 49410 /***/ 49411 } 49412 return BS_BLOCK_DONE; 49413} 49414 49415/* Values for max_lazy_match, good_match and max_chain_length, depending on 49416 * the desired pack level (0..9). The values given below have been tuned to 49417 * exclude worst case performance for pathological files. Better values may be 49418 * found for specific files. 49419 */ 49420function Config(good_length, max_lazy, nice_length, max_chain, func) { 49421 this.good_length = good_length; 49422 this.max_lazy = max_lazy; 49423 this.nice_length = nice_length; 49424 this.max_chain = max_chain; 49425 this.func = func; 49426} 49427 49428var configuration_table; 49429 49430configuration_table = [ 49431 /* good lazy nice chain */ 49432 new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */ 49433 new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */ 49434 new Config(4, 5, 16, 8, deflate_fast), /* 2 */ 49435 new Config(4, 6, 32, 32, deflate_fast), /* 3 */ 49436 49437 new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */ 49438 new Config(8, 16, 32, 32, deflate_slow), /* 5 */ 49439 new Config(8, 16, 128, 128, deflate_slow), /* 6 */ 49440 new Config(8, 32, 128, 256, deflate_slow), /* 7 */ 49441 new Config(32, 128, 258, 1024, deflate_slow), /* 8 */ 49442 new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */ 49443]; 49444 49445 49446/* =========================================================================== 49447 * Initialize the "longest match" routines for a new zlib stream 49448 */ 49449function lm_init(s) { 49450 s.window_size = 2 * s.w_size; 49451 49452 /*** CLEAR_HASH(s); ***/ 49453 zero(s.head); // Fill with NIL (= 0); 49454 49455 /* Set the default configuration parameters: 49456 */ 49457 s.max_lazy_match = configuration_table[s.level].max_lazy; 49458 s.good_match = configuration_table[s.level].good_length; 49459 s.nice_match = configuration_table[s.level].nice_length; 49460 s.max_chain_length = configuration_table[s.level].max_chain; 49461 49462 s.strstart = 0; 49463 s.block_start = 0; 49464 s.lookahead = 0; 49465 s.insert = 0; 49466 s.match_length = s.prev_length = MIN_MATCH - 1; 49467 s.match_available = 0; 49468 s.ins_h = 0; 49469} 49470 49471 49472function DeflateState() { 49473 this.strm = null; /* pointer back to this zlib stream */ 49474 this.status = 0; /* as the name implies */ 49475 this.pending_buf = null; /* output still pending */ 49476 this.pending_buf_size = 0; /* size of pending_buf */ 49477 this.pending_out = 0; /* next pending byte to output to the stream */ 49478 this.pending = 0; /* nb of bytes in the pending buffer */ 49479 this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ 49480 this.gzhead = null; /* gzip header information to write */ 49481 this.gzindex = 0; /* where in extra, name, or comment */ 49482 this.method = Z_DEFLATED; /* can only be DEFLATED */ 49483 this.last_flush = -1; /* value of flush param for previous deflate call */ 49484 49485 this.w_size = 0; /* LZ77 window size (32K by default) */ 49486 this.w_bits = 0; /* log2(w_size) (8..16) */ 49487 this.w_mask = 0; /* w_size - 1 */ 49488 49489 this.window = null; 49490 /* Sliding window. Input bytes are read into the second half of the window, 49491 * and move to the first half later to keep a dictionary of at least wSize 49492 * bytes. With this organization, matches are limited to a distance of 49493 * wSize-MAX_MATCH bytes, but this ensures that IO is always 49494 * performed with a length multiple of the block size. 49495 */ 49496 49497 this.window_size = 0; 49498 /* Actual size of window: 2*wSize, except when the user input buffer 49499 * is directly used as sliding window. 49500 */ 49501 49502 this.prev = null; 49503 /* Link to older string with same hash index. To limit the size of this 49504 * array to 64K, this link is maintained only for the last 32K strings. 49505 * An index in this array is thus a window index modulo 32K. 49506 */ 49507 49508 this.head = null; /* Heads of the hash chains or NIL. */ 49509 49510 this.ins_h = 0; /* hash index of string to be inserted */ 49511 this.hash_size = 0; /* number of elements in hash table */ 49512 this.hash_bits = 0; /* log2(hash_size) */ 49513 this.hash_mask = 0; /* hash_size-1 */ 49514 49515 this.hash_shift = 0; 49516 /* Number of bits by which ins_h must be shifted at each input 49517 * step. It must be such that after MIN_MATCH steps, the oldest 49518 * byte no longer takes part in the hash key, that is: 49519 * hash_shift * MIN_MATCH >= hash_bits 49520 */ 49521 49522 this.block_start = 0; 49523 /* Window position at the beginning of the current output block. Gets 49524 * negative when the window is moved backwards. 49525 */ 49526 49527 this.match_length = 0; /* length of best match */ 49528 this.prev_match = 0; /* previous match */ 49529 this.match_available = 0; /* set if previous match exists */ 49530 this.strstart = 0; /* start of string to insert */ 49531 this.match_start = 0; /* start of matching string */ 49532 this.lookahead = 0; /* number of valid bytes ahead in window */ 49533 49534 this.prev_length = 0; 49535 /* Length of the best match at previous step. Matches not greater than this 49536 * are discarded. This is used in the lazy match evaluation. 49537 */ 49538 49539 this.max_chain_length = 0; 49540 /* To speed up deflation, hash chains are never searched beyond this 49541 * length. A higher limit improves compression ratio but degrades the 49542 * speed. 49543 */ 49544 49545 this.max_lazy_match = 0; 49546 /* Attempt to find a better match only when the current match is strictly 49547 * smaller than this value. This mechanism is used only for compression 49548 * levels >= 4. 49549 */ 49550 // That's alias to max_lazy_match, don't use directly 49551 //this.max_insert_length = 0; 49552 /* Insert new strings in the hash table only if the match length is not 49553 * greater than this length. This saves time but degrades compression. 49554 * max_insert_length is used only for compression levels <= 3. 49555 */ 49556 49557 this.level = 0; /* compression level (1..9) */ 49558 this.strategy = 0; /* favor or force Huffman coding*/ 49559 49560 this.good_match = 0; 49561 /* Use a faster search when the previous match is longer than this */ 49562 49563 this.nice_match = 0; /* Stop searching when current match exceeds this */ 49564 49565 /* used by trees.c: */ 49566 49567 /* Didn't use ct_data typedef below to suppress compiler warning */ 49568 49569 // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ 49570 // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ 49571 // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ 49572 49573 // Use flat array of DOUBLE size, with interleaved fata, 49574 // because JS does not support effective 49575 this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2); 49576 this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2); 49577 this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2); 49578 zero(this.dyn_ltree); 49579 zero(this.dyn_dtree); 49580 zero(this.bl_tree); 49581 49582 this.l_desc = null; /* desc. for literal tree */ 49583 this.d_desc = null; /* desc. for distance tree */ 49584 this.bl_desc = null; /* desc. for bit length tree */ 49585 49586 //ush bl_count[MAX_BITS+1]; 49587 this.bl_count = new utils.Buf16(MAX_BITS + 1); 49588 /* number of codes at each bit length for an optimal tree */ 49589 49590 //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ 49591 this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */ 49592 zero(this.heap); 49593 49594 this.heap_len = 0; /* number of elements in the heap */ 49595 this.heap_max = 0; /* element of largest frequency */ 49596 /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. 49597 * The same heap array is used to build all trees. 49598 */ 49599 49600 this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1]; 49601 zero(this.depth); 49602 /* Depth of each subtree used as tie breaker for trees of equal frequency 49603 */ 49604 49605 this.l_buf = 0; /* buffer index for literals or lengths */ 49606 49607 this.lit_bufsize = 0; 49608 /* Size of match buffer for literals/lengths. There are 4 reasons for 49609 * limiting lit_bufsize to 64K: 49610 * - frequencies can be kept in 16 bit counters 49611 * - if compression is not successful for the first block, all input 49612 * data is still in the window so we can still emit a stored block even 49613 * when input comes from standard input. (This can also be done for 49614 * all blocks if lit_bufsize is not greater than 32K.) 49615 * - if compression is not successful for a file smaller than 64K, we can 49616 * even emit a stored file instead of a stored block (saving 5 bytes). 49617 * This is applicable only for zip (not gzip or zlib). 49618 * - creating new Huffman trees less frequently may not provide fast 49619 * adaptation to changes in the input data statistics. (Take for 49620 * example a binary file with poorly compressible code followed by 49621 * a highly compressible string table.) Smaller buffer sizes give 49622 * fast adaptation but have of course the overhead of transmitting 49623 * trees more frequently. 49624 * - I can't count above 4 49625 */ 49626 49627 this.last_lit = 0; /* running index in l_buf */ 49628 49629 this.d_buf = 0; 49630 /* Buffer index for distances. To simplify the code, d_buf and l_buf have 49631 * the same number of elements. To use different lengths, an extra flag 49632 * array would be necessary. 49633 */ 49634 49635 this.opt_len = 0; /* bit length of current block with optimal trees */ 49636 this.static_len = 0; /* bit length of current block with static trees */ 49637 this.matches = 0; /* number of string matches in current block */ 49638 this.insert = 0; /* bytes at end of window left to insert */ 49639 49640 49641 this.bi_buf = 0; 49642 /* Output buffer. bits are inserted starting at the bottom (least 49643 * significant bits). 49644 */ 49645 this.bi_valid = 0; 49646 /* Number of valid bits in bi_buf. All bits above the last valid bit 49647 * are always zero. 49648 */ 49649 49650 // Used for window memory init. We safely ignore it for JS. That makes 49651 // sense only for pointers and memory check tools. 49652 //this.high_water = 0; 49653 /* High water mark offset in window for initialized bytes -- bytes above 49654 * this are set to zero in order to avoid memory check warnings when 49655 * longest match routines access bytes past the input. This is then 49656 * updated to the new high water mark. 49657 */ 49658} 49659 49660 49661function deflateResetKeep(strm) { 49662 var s; 49663 49664 if (!strm || !strm.state) { 49665 return err(strm, Z_STREAM_ERROR); 49666 } 49667 49668 strm.total_in = strm.total_out = 0; 49669 strm.data_type = Z_UNKNOWN; 49670 49671 s = strm.state; 49672 s.pending = 0; 49673 s.pending_out = 0; 49674 49675 if (s.wrap < 0) { 49676 s.wrap = -s.wrap; 49677 /* was made negative by deflate(..., Z_FINISH); */ 49678 } 49679 s.status = (s.wrap ? INIT_STATE : BUSY_STATE); 49680 strm.adler = (s.wrap === 2) ? 49681 0 // crc32(0, Z_NULL, 0) 49682 : 49683 1; // adler32(0, Z_NULL, 0) 49684 s.last_flush = Z_NO_FLUSH; 49685 trees._tr_init(s); 49686 return Z_OK; 49687} 49688 49689 49690function deflateReset(strm) { 49691 var ret = deflateResetKeep(strm); 49692 if (ret === Z_OK) { 49693 lm_init(strm.state); 49694 } 49695 return ret; 49696} 49697 49698 49699function deflateSetHeader(strm, head) { 49700 if (!strm || !strm.state) { return Z_STREAM_ERROR; } 49701 if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; } 49702 strm.state.gzhead = head; 49703 return Z_OK; 49704} 49705 49706 49707function deflateInit2(strm, level, method, windowBits, memLevel, strategy) { 49708 if (!strm) { // === Z_NULL 49709 return Z_STREAM_ERROR; 49710 } 49711 var wrap = 1; 49712 49713 if (level === Z_DEFAULT_COMPRESSION) { 49714 level = 6; 49715 } 49716 49717 if (windowBits < 0) { /* suppress zlib wrapper */ 49718 wrap = 0; 49719 windowBits = -windowBits; 49720 } 49721 49722 else if (windowBits > 15) { 49723 wrap = 2; /* write gzip wrapper instead */ 49724 windowBits -= 16; 49725 } 49726 49727 49728 if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || 49729 windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || 49730 strategy < 0 || strategy > Z_FIXED) { 49731 return err(strm, Z_STREAM_ERROR); 49732 } 49733 49734 49735 if (windowBits === 8) { 49736 windowBits = 9; 49737 } 49738 /* until 256-byte window bug fixed */ 49739 49740 var s = new DeflateState(); 49741 49742 strm.state = s; 49743 s.strm = strm; 49744 49745 s.wrap = wrap; 49746 s.gzhead = null; 49747 s.w_bits = windowBits; 49748 s.w_size = 1 << s.w_bits; 49749 s.w_mask = s.w_size - 1; 49750 49751 s.hash_bits = memLevel + 7; 49752 s.hash_size = 1 << s.hash_bits; 49753 s.hash_mask = s.hash_size - 1; 49754 s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH); 49755 49756 s.window = new utils.Buf8(s.w_size * 2); 49757 s.head = new utils.Buf16(s.hash_size); 49758 s.prev = new utils.Buf16(s.w_size); 49759 49760 // Don't need mem init magic for JS. 49761 //s.high_water = 0; /* nothing written to s->window yet */ 49762 49763 s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ 49764 49765 s.pending_buf_size = s.lit_bufsize * 4; 49766 49767 //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); 49768 //s->pending_buf = (uchf *) overlay; 49769 s.pending_buf = new utils.Buf8(s.pending_buf_size); 49770 49771 // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`) 49772 //s->d_buf = overlay + s->lit_bufsize/sizeof(ush); 49773 s.d_buf = 1 * s.lit_bufsize; 49774 49775 //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; 49776 s.l_buf = (1 + 2) * s.lit_bufsize; 49777 49778 s.level = level; 49779 s.strategy = strategy; 49780 s.method = method; 49781 49782 return deflateReset(strm); 49783} 49784 49785function deflateInit(strm, level) { 49786 return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY); 49787} 49788 49789 49790function deflate(strm, flush) { 49791 var old_flush, s; 49792 var beg, val; // for gzip header write only 49793 49794 if (!strm || !strm.state || 49795 flush > Z_BLOCK || flush < 0) { 49796 return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR; 49797 } 49798 49799 s = strm.state; 49800 49801 if (!strm.output || 49802 (!strm.input && strm.avail_in !== 0) || 49803 (s.status === FINISH_STATE && flush !== Z_FINISH)) { 49804 return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR); 49805 } 49806 49807 s.strm = strm; /* just in case */ 49808 old_flush = s.last_flush; 49809 s.last_flush = flush; 49810 49811 /* Write the header */ 49812 if (s.status === INIT_STATE) { 49813 49814 if (s.wrap === 2) { // GZIP header 49815 strm.adler = 0; //crc32(0L, Z_NULL, 0); 49816 put_byte(s, 31); 49817 put_byte(s, 139); 49818 put_byte(s, 8); 49819 if (!s.gzhead) { // s->gzhead == Z_NULL 49820 put_byte(s, 0); 49821 put_byte(s, 0); 49822 put_byte(s, 0); 49823 put_byte(s, 0); 49824 put_byte(s, 0); 49825 put_byte(s, s.level === 9 ? 2 : 49826 (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 49827 4 : 0)); 49828 put_byte(s, OS_CODE); 49829 s.status = BUSY_STATE; 49830 } 49831 else { 49832 put_byte(s, (s.gzhead.text ? 1 : 0) + 49833 (s.gzhead.hcrc ? 2 : 0) + 49834 (!s.gzhead.extra ? 0 : 4) + 49835 (!s.gzhead.name ? 0 : 8) + 49836 (!s.gzhead.comment ? 0 : 16) 49837 ); 49838 put_byte(s, s.gzhead.time & 0xff); 49839 put_byte(s, (s.gzhead.time >> 8) & 0xff); 49840 put_byte(s, (s.gzhead.time >> 16) & 0xff); 49841 put_byte(s, (s.gzhead.time >> 24) & 0xff); 49842 put_byte(s, s.level === 9 ? 2 : 49843 (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 49844 4 : 0)); 49845 put_byte(s, s.gzhead.os & 0xff); 49846 if (s.gzhead.extra && s.gzhead.extra.length) { 49847 put_byte(s, s.gzhead.extra.length & 0xff); 49848 put_byte(s, (s.gzhead.extra.length >> 8) & 0xff); 49849 } 49850 if (s.gzhead.hcrc) { 49851 strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0); 49852 } 49853 s.gzindex = 0; 49854 s.status = EXTRA_STATE; 49855 } 49856 } 49857 else // DEFLATE header 49858 { 49859 var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8; 49860 var level_flags = -1; 49861 49862 if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) { 49863 level_flags = 0; 49864 } else if (s.level < 6) { 49865 level_flags = 1; 49866 } else if (s.level === 6) { 49867 level_flags = 2; 49868 } else { 49869 level_flags = 3; 49870 } 49871 header |= (level_flags << 6); 49872 if (s.strstart !== 0) { header |= PRESET_DICT; } 49873 header += 31 - (header % 31); 49874 49875 s.status = BUSY_STATE; 49876 putShortMSB(s, header); 49877 49878 /* Save the adler32 of the preset dictionary: */ 49879 if (s.strstart !== 0) { 49880 putShortMSB(s, strm.adler >>> 16); 49881 putShortMSB(s, strm.adler & 0xffff); 49882 } 49883 strm.adler = 1; // adler32(0L, Z_NULL, 0); 49884 } 49885 } 49886 49887//#ifdef GZIP 49888 if (s.status === EXTRA_STATE) { 49889 if (s.gzhead.extra/* != Z_NULL*/) { 49890 beg = s.pending; /* start of bytes to update crc */ 49891 49892 while (s.gzindex < (s.gzhead.extra.length & 0xffff)) { 49893 if (s.pending === s.pending_buf_size) { 49894 if (s.gzhead.hcrc && s.pending > beg) { 49895 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49896 } 49897 flush_pending(strm); 49898 beg = s.pending; 49899 if (s.pending === s.pending_buf_size) { 49900 break; 49901 } 49902 } 49903 put_byte(s, s.gzhead.extra[s.gzindex] & 0xff); 49904 s.gzindex++; 49905 } 49906 if (s.gzhead.hcrc && s.pending > beg) { 49907 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49908 } 49909 if (s.gzindex === s.gzhead.extra.length) { 49910 s.gzindex = 0; 49911 s.status = NAME_STATE; 49912 } 49913 } 49914 else { 49915 s.status = NAME_STATE; 49916 } 49917 } 49918 if (s.status === NAME_STATE) { 49919 if (s.gzhead.name/* != Z_NULL*/) { 49920 beg = s.pending; /* start of bytes to update crc */ 49921 //int val; 49922 49923 do { 49924 if (s.pending === s.pending_buf_size) { 49925 if (s.gzhead.hcrc && s.pending > beg) { 49926 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49927 } 49928 flush_pending(strm); 49929 beg = s.pending; 49930 if (s.pending === s.pending_buf_size) { 49931 val = 1; 49932 break; 49933 } 49934 } 49935 // JS specific: little magic to add zero terminator to end of string 49936 if (s.gzindex < s.gzhead.name.length) { 49937 val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff; 49938 } else { 49939 val = 0; 49940 } 49941 put_byte(s, val); 49942 } while (val !== 0); 49943 49944 if (s.gzhead.hcrc && s.pending > beg) { 49945 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49946 } 49947 if (val === 0) { 49948 s.gzindex = 0; 49949 s.status = COMMENT_STATE; 49950 } 49951 } 49952 else { 49953 s.status = COMMENT_STATE; 49954 } 49955 } 49956 if (s.status === COMMENT_STATE) { 49957 if (s.gzhead.comment/* != Z_NULL*/) { 49958 beg = s.pending; /* start of bytes to update crc */ 49959 //int val; 49960 49961 do { 49962 if (s.pending === s.pending_buf_size) { 49963 if (s.gzhead.hcrc && s.pending > beg) { 49964 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49965 } 49966 flush_pending(strm); 49967 beg = s.pending; 49968 if (s.pending === s.pending_buf_size) { 49969 val = 1; 49970 break; 49971 } 49972 } 49973 // JS specific: little magic to add zero terminator to end of string 49974 if (s.gzindex < s.gzhead.comment.length) { 49975 val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff; 49976 } else { 49977 val = 0; 49978 } 49979 put_byte(s, val); 49980 } while (val !== 0); 49981 49982 if (s.gzhead.hcrc && s.pending > beg) { 49983 strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); 49984 } 49985 if (val === 0) { 49986 s.status = HCRC_STATE; 49987 } 49988 } 49989 else { 49990 s.status = HCRC_STATE; 49991 } 49992 } 49993 if (s.status === HCRC_STATE) { 49994 if (s.gzhead.hcrc) { 49995 if (s.pending + 2 > s.pending_buf_size) { 49996 flush_pending(strm); 49997 } 49998 if (s.pending + 2 <= s.pending_buf_size) { 49999 put_byte(s, strm.adler & 0xff); 50000 put_byte(s, (strm.adler >> 8) & 0xff); 50001 strm.adler = 0; //crc32(0L, Z_NULL, 0); 50002 s.status = BUSY_STATE; 50003 } 50004 } 50005 else { 50006 s.status = BUSY_STATE; 50007 } 50008 } 50009//#endif 50010 50011 /* Flush as much pending output as possible */ 50012 if (s.pending !== 0) { 50013 flush_pending(strm); 50014 if (strm.avail_out === 0) { 50015 /* Since avail_out is 0, deflate will be called again with 50016 * more output space, but possibly with both pending and 50017 * avail_in equal to zero. There won't be anything to do, 50018 * but this is not an error situation so make sure we 50019 * return OK instead of BUF_ERROR at next call of deflate: 50020 */ 50021 s.last_flush = -1; 50022 return Z_OK; 50023 } 50024 50025 /* Make sure there is something to do and avoid duplicate consecutive 50026 * flushes. For repeated and useless calls with Z_FINISH, we keep 50027 * returning Z_STREAM_END instead of Z_BUF_ERROR. 50028 */ 50029 } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && 50030 flush !== Z_FINISH) { 50031 return err(strm, Z_BUF_ERROR); 50032 } 50033 50034 /* User must not provide more input after the first FINISH: */ 50035 if (s.status === FINISH_STATE && strm.avail_in !== 0) { 50036 return err(strm, Z_BUF_ERROR); 50037 } 50038 50039 /* Start a new block or continue the current one. 50040 */ 50041 if (strm.avail_in !== 0 || s.lookahead !== 0 || 50042 (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) { 50043 var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) : 50044 (s.strategy === Z_RLE ? deflate_rle(s, flush) : 50045 configuration_table[s.level].func(s, flush)); 50046 50047 if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) { 50048 s.status = FINISH_STATE; 50049 } 50050 if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) { 50051 if (strm.avail_out === 0) { 50052 s.last_flush = -1; 50053 /* avoid BUF_ERROR next call, see above */ 50054 } 50055 return Z_OK; 50056 /* If flush != Z_NO_FLUSH && avail_out == 0, the next call 50057 * of deflate should use the same flush parameter to make sure 50058 * that the flush is complete. So we don't have to output an 50059 * empty block here, this will be done at next call. This also 50060 * ensures that for a very small output buffer, we emit at most 50061 * one empty block. 50062 */ 50063 } 50064 if (bstate === BS_BLOCK_DONE) { 50065 if (flush === Z_PARTIAL_FLUSH) { 50066 trees._tr_align(s); 50067 } 50068 else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */ 50069 50070 trees._tr_stored_block(s, 0, 0, false); 50071 /* For a full flush, this empty block will be recognized 50072 * as a special marker by inflate_sync(). 50073 */ 50074 if (flush === Z_FULL_FLUSH) { 50075 /*** CLEAR_HASH(s); ***/ /* forget history */ 50076 zero(s.head); // Fill with NIL (= 0); 50077 50078 if (s.lookahead === 0) { 50079 s.strstart = 0; 50080 s.block_start = 0; 50081 s.insert = 0; 50082 } 50083 } 50084 } 50085 flush_pending(strm); 50086 if (strm.avail_out === 0) { 50087 s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */ 50088 return Z_OK; 50089 } 50090 } 50091 } 50092 //Assert(strm->avail_out > 0, "bug2"); 50093 //if (strm.avail_out <= 0) { throw new Error("bug2");} 50094 50095 if (flush !== Z_FINISH) { return Z_OK; } 50096 if (s.wrap <= 0) { return Z_STREAM_END; } 50097 50098 /* Write the trailer */ 50099 if (s.wrap === 2) { 50100 put_byte(s, strm.adler & 0xff); 50101 put_byte(s, (strm.adler >> 8) & 0xff); 50102 put_byte(s, (strm.adler >> 16) & 0xff); 50103 put_byte(s, (strm.adler >> 24) & 0xff); 50104 put_byte(s, strm.total_in & 0xff); 50105 put_byte(s, (strm.total_in >> 8) & 0xff); 50106 put_byte(s, (strm.total_in >> 16) & 0xff); 50107 put_byte(s, (strm.total_in >> 24) & 0xff); 50108 } 50109 else 50110 { 50111 putShortMSB(s, strm.adler >>> 16); 50112 putShortMSB(s, strm.adler & 0xffff); 50113 } 50114 50115 flush_pending(strm); 50116 /* If avail_out is zero, the application will call deflate again 50117 * to flush the rest. 50118 */ 50119 if (s.wrap > 0) { s.wrap = -s.wrap; } 50120 /* write the trailer only once! */ 50121 return s.pending !== 0 ? Z_OK : Z_STREAM_END; 50122} 50123 50124function deflateEnd(strm) { 50125 var status; 50126 50127 if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { 50128 return Z_STREAM_ERROR; 50129 } 50130 50131 status = strm.state.status; 50132 if (status !== INIT_STATE && 50133 status !== EXTRA_STATE && 50134 status !== NAME_STATE && 50135 status !== COMMENT_STATE && 50136 status !== HCRC_STATE && 50137 status !== BUSY_STATE && 50138 status !== FINISH_STATE 50139 ) { 50140 return err(strm, Z_STREAM_ERROR); 50141 } 50142 50143 strm.state = null; 50144 50145 return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK; 50146} 50147 50148 50149/* ========================================================================= 50150 * Initializes the compression dictionary from the given byte 50151 * sequence without producing any compressed output. 50152 */ 50153function deflateSetDictionary(strm, dictionary) { 50154 var dictLength = dictionary.length; 50155 50156 var s; 50157 var str, n; 50158 var wrap; 50159 var avail; 50160 var next; 50161 var input; 50162 var tmpDict; 50163 50164 if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { 50165 return Z_STREAM_ERROR; 50166 } 50167 50168 s = strm.state; 50169 wrap = s.wrap; 50170 50171 if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) { 50172 return Z_STREAM_ERROR; 50173 } 50174 50175 /* when using zlib wrappers, compute Adler-32 for provided dictionary */ 50176 if (wrap === 1) { 50177 /* adler32(strm->adler, dictionary, dictLength); */ 50178 strm.adler = adler32(strm.adler, dictionary, dictLength, 0); 50179 } 50180 50181 s.wrap = 0; /* avoid computing Adler-32 in read_buf */ 50182 50183 /* if dictionary would fill window, just replace the history */ 50184 if (dictLength >= s.w_size) { 50185 if (wrap === 0) { /* already empty otherwise */ 50186 /*** CLEAR_HASH(s); ***/ 50187 zero(s.head); // Fill with NIL (= 0); 50188 s.strstart = 0; 50189 s.block_start = 0; 50190 s.insert = 0; 50191 } 50192 /* use the tail */ 50193 // dictionary = dictionary.slice(dictLength - s.w_size); 50194 tmpDict = new utils.Buf8(s.w_size); 50195 utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); 50196 dictionary = tmpDict; 50197 dictLength = s.w_size; 50198 } 50199 /* insert dictionary into window and hash */ 50200 avail = strm.avail_in; 50201 next = strm.next_in; 50202 input = strm.input; 50203 strm.avail_in = dictLength; 50204 strm.next_in = 0; 50205 strm.input = dictionary; 50206 fill_window(s); 50207 while (s.lookahead >= MIN_MATCH) { 50208 str = s.strstart; 50209 n = s.lookahead - (MIN_MATCH - 1); 50210 do { 50211 /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ 50212 s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; 50213 50214 s.prev[str & s.w_mask] = s.head[s.ins_h]; 50215 50216 s.head[s.ins_h] = str; 50217 str++; 50218 } while (--n); 50219 s.strstart = str; 50220 s.lookahead = MIN_MATCH - 1; 50221 fill_window(s); 50222 } 50223 s.strstart += s.lookahead; 50224 s.block_start = s.strstart; 50225 s.insert = s.lookahead; 50226 s.lookahead = 0; 50227 s.match_length = s.prev_length = MIN_MATCH - 1; 50228 s.match_available = 0; 50229 strm.next_in = next; 50230 strm.input = input; 50231 strm.avail_in = avail; 50232 s.wrap = wrap; 50233 return Z_OK; 50234} 50235 50236 50237exports.deflateInit = deflateInit; 50238exports.deflateInit2 = deflateInit2; 50239exports.deflateReset = deflateReset; 50240exports.deflateResetKeep = deflateResetKeep; 50241exports.deflateSetHeader = deflateSetHeader; 50242exports.deflate = deflate; 50243exports.deflateEnd = deflateEnd; 50244exports.deflateSetDictionary = deflateSetDictionary; 50245exports.deflateInfo = 'pako deflate (from Nodeca project)'; 50246 50247/* Not implemented 50248exports.deflateBound = deflateBound; 50249exports.deflateCopy = deflateCopy; 50250exports.deflateParams = deflateParams; 50251exports.deflatePending = deflatePending; 50252exports.deflatePrime = deflatePrime; 50253exports.deflateTune = deflateTune; 50254*/ 50255 50256 50257/***/ }
50257), 50258/* 933 */ 50259/***/ (function(module, exports, __webpack_require__) { 50260 50261"use strict"; 50262 50263 50264// (C) 1995-2013 Jean-loup Gailly and Mark Adler 50265// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 50266// 50267// This software is provided 'as-is', without any express or implied 50268// warranty. In no event will the authors be held liable for any damages 50269// arising from the use of this software. 50270// 50271// Permission is granted to anyone to use this software for any purpose, 50272// including commercial applications, and to alter it and redistribute it 50273// freely, subject to the following restrictions: 50274// 50275// 1. The origin of this software must not be misrepresented; you must not 50276// claim that you wrote the original software. If you use this software 50277// in a product, an acknowledgment in the product documentation would be 50278// appreciated but is not required. 50279// 2. Altered source versions must be plainly marked as such, and must not be 50280// misrepresented as being the original software. 50281// 3. This notice may not be removed or altered from any source distribution. 50282 50283/* eslint-disable space-unary-ops */ 50284 50285var utils = __webpack_require__(395);
vendor: 5,572 bytes, lines 50285-50467
50285 50286 50287/* Public constants ==========================================================*/ 50288/* ===========================================================================*/ 50289 50290 50291//var Z_FILTERED = 1; 50292//var Z_HUFFMAN_ONLY = 2; 50293//var Z_RLE = 3; 50294var Z_FIXED = 4; 50295//var Z_DEFAULT_STRATEGY = 0; 50296 50297/* Possible values of the data_type field (though see inflate()) */ 50298var Z_BINARY = 0; 50299var Z_TEXT = 1; 50300//var Z_ASCII = 1; // = Z_TEXT 50301var Z_UNKNOWN = 2; 50302 50303/*============================================================================*/ 50304 50305 50306function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } 50307 50308// From zutil.h 50309 50310var STORED_BLOCK = 0; 50311var STATIC_TREES = 1; 50312var DYN_TREES = 2; 50313/* The three kinds of block type */ 50314 50315var MIN_MATCH = 3; 50316var MAX_MATCH = 258; 50317/* The minimum and maximum match lengths */ 50318 50319// From deflate.h 50320/* =========================================================================== 50321 * Internal compression state. 50322 */ 50323 50324var LENGTH_CODES = 29; 50325/* number of length codes, not counting the special END_BLOCK code */ 50326 50327var LITERALS = 256; 50328/* number of literal bytes 0..255 */ 50329 50330var L_CODES = LITERALS + 1 + LENGTH_CODES; 50331/* number of Literal or Length codes, including the END_BLOCK code */ 50332 50333var D_CODES = 30; 50334/* number of distance codes */ 50335 50336var BL_CODES = 19; 50337/* number of codes used to transfer the bit lengths */ 50338 50339var HEAP_SIZE = 2 * L_CODES + 1; 50340/* maximum heap size */ 50341 50342var MAX_BITS = 15; 50343/* All codes must not exceed MAX_BITS bits */ 50344 50345var Buf_size = 16; 50346/* size of bit buffer in bi_buf */ 50347 50348 50349/* =========================================================================== 50350 * Constants 50351 */ 50352 50353var MAX_BL_BITS = 7; 50354/* Bit length codes must not exceed MAX_BL_BITS bits */ 50355 50356var END_BLOCK = 256; 50357/* end of block literal code */ 50358 50359var REP_3_6 = 16; 50360/* repeat previous bit length 3-6 times (2 bits of repeat count) */ 50361 50362var REPZ_3_10 = 17; 50363/* repeat a zero length 3-10 times (3 bits of repeat count) */ 50364 50365var REPZ_11_138 = 18; 50366/* repeat a zero length 11-138 times (7 bits of repeat count) */ 50367 50368/* eslint-disable comma-spacing,array-bracket-spacing */ 50369var extra_lbits = /* extra bits for each length code */ 50370 [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]; 50371 50372var extra_dbits = /* extra bits for each distance code */ 50373 [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]; 50374 50375var extra_blbits = /* extra bits for each bit length code */ 50376 [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]; 50377 50378var bl_order = 50379 [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; 50380/* eslint-enable comma-spacing,array-bracket-spacing */ 50381 50382/* The lengths of the bit length codes are sent in order of decreasing 50383 * probability, to avoid transmitting the lengths for unused bit length codes. 50384 */ 50385 50386/* =========================================================================== 50387 * Local data. These are initialized only once. 50388 */ 50389 50390// We pre-fill arrays with 0 to avoid uninitialized gaps 50391 50392var DIST_CODE_LEN = 512; /* see definition of array dist_code below */ 50393 50394// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1 50395var static_ltree = new Array((L_CODES + 2) * 2); 50396zero(static_ltree); 50397/* The static literal tree. Since the bit lengths are imposed, there is no 50398 * need for the L_CODES extra codes used during heap construction. However 50399 * The codes 286 and 287 are needed to build a canonical tree (see _tr_init 50400 * below). 50401 */ 50402 50403var static_dtree = new Array(D_CODES * 2); 50404zero(static_dtree); 50405/* The static distance tree. (Actually a trivial tree since all codes use 50406 * 5 bits.) 50407 */ 50408 50409var _dist_code = new Array(DIST_CODE_LEN); 50410zero(_dist_code); 50411/* Distance codes. The first 256 values correspond to the distances 50412 * 3 .. 258, the last 256 values correspond to the top 8 bits of 50413 * the 15 bit distances. 50414 */ 50415 50416var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1); 50417zero(_length_code); 50418/* length code for each normalized match length (0 == MIN_MATCH) */ 50419 50420var base_length = new Array(LENGTH_CODES); 50421zero(base_length); 50422/* First normalized length for each code (0 = MIN_MATCH) */ 50423 50424var base_dist = new Array(D_CODES); 50425zero(base_dist); 50426/* First normalized distance for each code (0 = distance of 1) */ 50427 50428 50429function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) { 50430 50431 this.static_tree = static_tree; /* static tree or NULL */ 50432 this.extra_bits = extra_bits; /* extra bits for each code or NULL */ 50433 this.extra_base = extra_base; /* base index for extra_bits */ 50434 this.elems = elems; /* max number of elements in the tree */ 50435 this.max_length = max_length; /* max bit length for the codes */ 50436 50437 // show if `static_tree` has data or dummy - needed for monomorphic objects 50438 this.has_stree = static_tree && static_tree.length; 50439} 50440 50441 50442var static_l_desc; 50443var static_d_desc; 50444var static_bl_desc; 50445 50446 50447function TreeDesc(dyn_tree, stat_desc) { 50448 this.dyn_tree = dyn_tree; /* the dynamic tree */ 50449 this.max_code = 0; /* largest code with non zero frequency */ 50450 this.stat_desc = stat_desc; /* the corresponding static tree */ 50451} 50452 50453 50454 50455function d_code(dist) { 50456 return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)]; 50457} 50458 50459 50460/* =========================================================================== 50461 * Output a short LSB first on the stream. 50462 * IN assertion: there is enough room in pendingBuf. 50463 */ 50464function put_short(s, w) { 50465// put_byte(s, (uch)((w) & 0xff)); 50466// put_byte(s, (uch)((ush)(w) >> 8)); 50467 s.pending_buf[s.pending++] = (w) & 0xff;
vendor: 33,263 bytes, lines 50468-51486
50468 s.pending_buf[s.pending++] = (w >>> 8) & 0xff; 50469} 50470 50471 50472/* =========================================================================== 50473 * Send a value on a given number of bits. 50474 * IN assertion: length <= 16 and value fits in length bits. 50475 */ 50476function send_bits(s, value, length) { 50477 if (s.bi_valid > (Buf_size - length)) { 50478 s.bi_buf |= (value << s.bi_valid) & 0xffff; 50479 put_short(s, s.bi_buf); 50480 s.bi_buf = value >> (Buf_size - s.bi_valid); 50481 s.bi_valid += length - Buf_size; 50482 } else { 50483 s.bi_buf |= (value << s.bi_valid) & 0xffff; 50484 s.bi_valid += length; 50485 } 50486} 50487 50488 50489function send_code(s, c, tree) { 50490 send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/); 50491} 50492 50493 50494/* =========================================================================== 50495 * Reverse the first len bits of a code, using straightforward code (a faster 50496 * method would use a table) 50497 * IN assertion: 1 <= len <= 15 50498 */ 50499function bi_reverse(code, len) { 50500 var res = 0; 50501 do { 50502 res |= code & 1; 50503 code >>>= 1; 50504 res <<= 1; 50505 } while (--len > 0); 50506 return res >>> 1; 50507} 50508 50509 50510/* =========================================================================== 50511 * Flush the bit buffer, keeping at most 7 bits in it. 50512 */ 50513function bi_flush(s) { 50514 if (s.bi_valid === 16) { 50515 put_short(s, s.bi_buf); 50516 s.bi_buf = 0; 50517 s.bi_valid = 0; 50518 50519 } else if (s.bi_valid >= 8) { 50520 s.pending_buf[s.pending++] = s.bi_buf & 0xff; 50521 s.bi_buf >>= 8; 50522 s.bi_valid -= 8; 50523 } 50524} 50525 50526 50527/* =========================================================================== 50528 * Compute the optimal bit lengths for a tree and update the total bit length 50529 * for the current block. 50530 * IN assertion: the fields freq and dad are set, heap[heap_max] and 50531 * above are the tree nodes sorted by increasing frequency. 50532 * OUT assertions: the field len is set to the optimal bit length, the 50533 * array bl_count contains the frequencies for each bit length. 50534 * The length opt_len is updated; static_len is also updated if stree is 50535 * not null. 50536 */ 50537function gen_bitlen(s, desc) 50538// deflate_state *s; 50539// tree_desc *desc; /* the tree descriptor */ 50540{ 50541 var tree = desc.dyn_tree; 50542 var max_code = desc.max_code; 50543 var stree = desc.stat_desc.static_tree; 50544 var has_stree = desc.stat_desc.has_stree; 50545 var extra = desc.stat_desc.extra_bits; 50546 var base = desc.stat_desc.extra_base; 50547 var max_length = desc.stat_desc.max_length; 50548 var h; /* heap index */ 50549 var n, m; /* iterate over the tree elements */ 50550 var bits; /* bit length */ 50551 var xbits; /* extra bits */ 50552 var f; /* frequency */ 50553 var overflow = 0; /* number of elements with bit length too large */ 50554 50555 for (bits = 0; bits <= MAX_BITS; bits++) { 50556 s.bl_count[bits] = 0; 50557 } 50558 50559 /* In a first pass, compute the optimal bit lengths (which may 50560 * overflow in the case of the bit length tree). 50561 */ 50562 tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */ 50563 50564 for (h = s.heap_max + 1; h < HEAP_SIZE; h++) { 50565 n = s.heap[h]; 50566 bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1; 50567 if (bits > max_length) { 50568 bits = max_length; 50569 overflow++; 50570 } 50571 tree[n * 2 + 1]/*.Len*/ = bits; 50572 /* We overwrite tree[n].Dad which is no longer needed */ 50573 50574 if (n > max_code) { continue; } /* not a leaf node */ 50575 50576 s.bl_count[bits]++; 50577 xbits = 0; 50578 if (n >= base) { 50579 xbits = extra[n - base]; 50580 } 50581 f = tree[n * 2]/*.Freq*/; 50582 s.opt_len += f * (bits + xbits); 50583 if (has_stree) { 50584 s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits); 50585 } 50586 } 50587 if (overflow === 0) { return; } 50588 50589 // Trace((stderr,"\nbit length overflow\n")); 50590 /* This happens for example on obj2 and pic of the Calgary corpus */ 50591 50592 /* Find the first bit length which could increase: */ 50593 do { 50594 bits = max_length - 1; 50595 while (s.bl_count[bits] === 0) { bits--; } 50596 s.bl_count[bits]--; /* move one leaf down the tree */ 50597 s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */ 50598 s.bl_count[max_length]--; 50599 /* The brother of the overflow item also moves one step up, 50600 * but this does not affect bl_count[max_length] 50601 */ 50602 overflow -= 2; 50603 } while (overflow > 0); 50604 50605 /* Now recompute all bit lengths, scanning in increasing frequency. 50606 * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all 50607 * lengths instead of fixing only the wrong ones. This idea is taken 50608 * from 'ar' written by Haruhiko Okumura.) 50609 */ 50610 for (bits = max_length; bits !== 0; bits--) { 50611 n = s.bl_count[bits]; 50612 while (n !== 0) { 50613 m = s.heap[--h]; 50614 if (m > max_code) { continue; } 50615 if (tree[m * 2 + 1]/*.Len*/ !== bits) { 50616 // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); 50617 s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/; 50618 tree[m * 2 + 1]/*.Len*/ = bits; 50619 } 50620 n--; 50621 } 50622 } 50623} 50624 50625 50626/* =========================================================================== 50627 * Generate the codes for a given tree and bit counts (which need not be 50628 * optimal). 50629 * IN assertion: the array bl_count contains the bit length statistics for 50630 * the given tree and the field len is set for all tree elements. 50631 * OUT assertion: the field code is set for all tree elements of non 50632 * zero code length. 50633 */ 50634function gen_codes(tree, max_code, bl_count) 50635// ct_data *tree; /* the tree to decorate */ 50636// int max_code; /* largest code with non zero frequency */ 50637// ushf *bl_count; /* number of codes at each bit length */ 50638{ 50639 var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */ 50640 var code = 0; /* running code value */ 50641 var bits; /* bit index */ 50642 var n; /* code index */ 50643 50644 /* The distribution counts are first used to generate the code values 50645 * without bit reversal. 50646 */ 50647 for (bits = 1; bits <= MAX_BITS; bits++) { 50648 next_code[bits] = code = (code + bl_count[bits - 1]) << 1; 50649 } 50650 /* Check that the bit counts in bl_count are consistent. The last code 50651 * must be all ones. 50652 */ 50653 //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1, 50654 // "inconsistent bit counts"); 50655 //Tracev((stderr,"\ngen_codes: max_code %d ", max_code)); 50656 50657 for (n = 0; n <= max_code; n++) { 50658 var len = tree[n * 2 + 1]/*.Len*/; 50659 if (len === 0) { continue; } 50660 /* Now reverse the bits */ 50661 tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len); 50662 50663 //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", 50664 // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1)); 50665 } 50666} 50667 50668 50669/* =========================================================================== 50670 * Initialize the various 'constant' tables. 50671 */ 50672function tr_static_init() { 50673 var n; /* iterates over tree elements */ 50674 var bits; /* bit counter */ 50675 var length; /* length value */ 50676 var code; /* code value */ 50677 var dist; /* distance index */ 50678 var bl_count = new Array(MAX_BITS + 1); 50679 /* number of codes at each bit length for an optimal tree */ 50680 50681 // do check in _tr_init() 50682 //if (static_init_done) return; 50683 50684 /* For some embedded targets, global variables are not initialized: */ 50685/*#ifdef NO_INIT_GLOBAL_POINTERS 50686 static_l_desc.static_tree = static_ltree; 50687 static_l_desc.extra_bits = extra_lbits; 50688 static_d_desc.static_tree = static_dtree; 50689 static_d_desc.extra_bits = extra_dbits; 50690 static_bl_desc.extra_bits = extra_blbits; 50691#endif*/ 50692 50693 /* Initialize the mapping length (0..255) -> length code (0..28) */ 50694 length = 0; 50695 for (code = 0; code < LENGTH_CODES - 1; code++) { 50696 base_length[code] = length; 50697 for (n = 0; n < (1 << extra_lbits[code]); n++) { 50698 _length_code[length++] = code; 50699 } 50700 } 50701 //Assert (length == 256, "tr_static_init: length != 256"); 50702 /* Note that the length 255 (match length 258) can be represented 50703 * in two different ways: code 284 + 5 bits or code 285, so we 50704 * overwrite length_code[255] to use the best encoding: 50705 */ 50706 _length_code[length - 1] = code; 50707 50708 /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ 50709 dist = 0; 50710 for (code = 0; code < 16; code++) { 50711 base_dist[code] = dist; 50712 for (n = 0; n < (1 << extra_dbits[code]); n++) { 50713 _dist_code[dist++] = code; 50714 } 50715 } 50716 //Assert (dist == 256, "tr_static_init: dist != 256"); 50717 dist >>= 7; /* from now on, all distances are divided by 128 */ 50718 for (; code < D_CODES; code++) { 50719 base_dist[code] = dist << 7; 50720 for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) { 50721 _dist_code[256 + dist++] = code; 50722 } 50723 } 50724 //Assert (dist == 256, "tr_static_init: 256+dist != 512"); 50725 50726 /* Construct the codes of the static literal tree */ 50727 for (bits = 0; bits <= MAX_BITS; bits++) { 50728 bl_count[bits] = 0; 50729 } 50730 50731 n = 0; 50732 while (n <= 143) { 50733 static_ltree[n * 2 + 1]/*.Len*/ = 8; 50734 n++; 50735 bl_count[8]++; 50736 } 50737 while (n <= 255) { 50738 static_ltree[n * 2 + 1]/*.Len*/ = 9; 50739 n++; 50740 bl_count[9]++; 50741 } 50742 while (n <= 279) { 50743 static_ltree[n * 2 + 1]/*.Len*/ = 7; 50744 n++; 50745 bl_count[7]++; 50746 } 50747 while (n <= 287) { 50748 static_ltree[n * 2 + 1]/*.Len*/ = 8; 50749 n++; 50750 bl_count[8]++; 50751 } 50752 /* Codes 286 and 287 do not exist, but we must include them in the 50753 * tree construction to get a canonical Huffman tree (longest code 50754 * all ones) 50755 */ 50756 gen_codes(static_ltree, L_CODES + 1, bl_count); 50757 50758 /* The static distance tree is trivial: */ 50759 for (n = 0; n < D_CODES; n++) { 50760 static_dtree[n * 2 + 1]/*.Len*/ = 5; 50761 static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5); 50762 } 50763 50764 // Now data ready and we can init static trees 50765 static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS); 50766 static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS); 50767 static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS); 50768 50769 //static_init_done = true; 50770} 50771 50772 50773/* =========================================================================== 50774 * Initialize a new block. 50775 */ 50776function init_block(s) { 50777 var n; /* iterates over tree elements */ 50778 50779 /* Initialize the trees. */ 50780 for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; } 50781 for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; } 50782 for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; } 50783 50784 s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1; 50785 s.opt_len = s.static_len = 0; 50786 s.last_lit = s.matches = 0; 50787} 50788 50789 50790/* =========================================================================== 50791 * Flush the bit buffer and align the output on a byte boundary 50792 */ 50793function bi_windup(s) 50794{ 50795 if (s.bi_valid > 8) { 50796 put_short(s, s.bi_buf); 50797 } else if (s.bi_valid > 0) { 50798 //put_byte(s, (Byte)s->bi_buf); 50799 s.pending_buf[s.pending++] = s.bi_buf; 50800 } 50801 s.bi_buf = 0; 50802 s.bi_valid = 0; 50803} 50804 50805/* =========================================================================== 50806 * Copy a stored block, storing first the length and its 50807 * one's complement if requested. 50808 */ 50809function copy_block(s, buf, len, header) 50810//DeflateState *s; 50811//charf *buf; /* the input data */ 50812//unsigned len; /* its length */ 50813//int header; /* true if block header must be written */ 50814{ 50815 bi_windup(s); /* align on byte boundary */ 50816 50817 if (header) { 50818 put_short(s, len); 50819 put_short(s, ~len); 50820 } 50821// while (len--) { 50822// put_byte(s, *buf++); 50823// } 50824 utils.arraySet(s.pending_buf, s.window, buf, len, s.pending); 50825 s.pending += len; 50826} 50827 50828/* =========================================================================== 50829 * Compares to subtrees, using the tree depth as tie breaker when 50830 * the subtrees have equal frequency. This minimizes the worst case length. 50831 */ 50832function smaller(tree, n, m, depth) { 50833 var _n2 = n * 2; 50834 var _m2 = m * 2; 50835 return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ || 50836 (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m])); 50837} 50838 50839/* =========================================================================== 50840 * Restore the heap property by moving down the tree starting at node k, 50841 * exchanging a node with the smallest of its two sons if necessary, stopping 50842 * when the heap property is re-established (each father smaller than its 50843 * two sons). 50844 */ 50845function pqdownheap(s, tree, k) 50846// deflate_state *s; 50847// ct_data *tree; /* the tree to restore */ 50848// int k; /* node to move down */ 50849{ 50850 var v = s.heap[k]; 50851 var j = k << 1; /* left son of k */ 50852 while (j <= s.heap_len) { 50853 /* Set j to the smallest of the two sons: */ 50854 if (j < s.heap_len && 50855 smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) { 50856 j++; 50857 } 50858 /* Exit if v is smaller than both sons */ 50859 if (smaller(tree, v, s.heap[j], s.depth)) { break; } 50860 50861 /* Exchange v with the smallest son */ 50862 s.heap[k] = s.heap[j]; 50863 k = j; 50864 50865 /* And continue down the tree, setting j to the left son of k */ 50866 j <<= 1; 50867 } 50868 s.heap[k] = v; 50869} 50870 50871 50872// inlined manually 50873// var SMALLEST = 1; 50874 50875/* =========================================================================== 50876 * Send the block data compressed using the given Huffman trees 50877 */ 50878function compress_block(s, ltree, dtree) 50879// deflate_state *s; 50880// const ct_data *ltree; /* literal tree */ 50881// const ct_data *dtree; /* distance tree */ 50882{ 50883 var dist; /* distance of matched string */ 50884 var lc; /* match length or unmatched char (if dist == 0) */ 50885 var lx = 0; /* running index in l_buf */ 50886 var code; /* the code to send */ 50887 var extra; /* number of extra bits to send */ 50888 50889 if (s.last_lit !== 0) { 50890 do { 50891 dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]); 50892 lc = s.pending_buf[s.l_buf + lx]; 50893 lx++; 50894 50895 if (dist === 0) { 50896 send_code(s, lc, ltree); /* send a literal byte */ 50897 //Tracecv(isgraph(lc), (stderr," '%c' ", lc)); 50898 } else { 50899 /* Here, lc is the match length - MIN_MATCH */ 50900 code = _length_code[lc]; 50901 send_code(s, code + LITERALS + 1, ltree); /* send the length code */ 50902 extra = extra_lbits[code]; 50903 if (extra !== 0) { 50904 lc -= base_length[code]; 50905 send_bits(s, lc, extra); /* send the extra length bits */ 50906 } 50907 dist--; /* dist is now the match distance - 1 */ 50908 code = d_code(dist); 50909 //Assert (code < D_CODES, "bad d_code"); 50910 50911 send_code(s, code, dtree); /* send the distance code */ 50912 extra = extra_dbits[code]; 50913 if (extra !== 0) { 50914 dist -= base_dist[code]; 50915 send_bits(s, dist, extra); /* send the extra distance bits */ 50916 } 50917 } /* literal or match pair ? */ 50918 50919 /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ 50920 //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, 50921 // "pendingBuf overflow"); 50922 50923 } while (lx < s.last_lit); 50924 } 50925 50926 send_code(s, END_BLOCK, ltree); 50927} 50928 50929 50930/* =========================================================================== 50931 * Construct one Huffman tree and assigns the code bit strings and lengths. 50932 * Update the total bit length for the current block. 50933 * IN assertion: the field freq is set for all tree elements. 50934 * OUT assertions: the fields len and code are set to the optimal bit length 50935 * and corresponding code. The length opt_len is updated; static_len is 50936 * also updated if stree is not null. The field max_code is set. 50937 */ 50938function build_tree(s, desc) 50939// deflate_state *s; 50940// tree_desc *desc; /* the tree descriptor */ 50941{ 50942 var tree = desc.dyn_tree; 50943 var stree = desc.stat_desc.static_tree; 50944 var has_stree = desc.stat_desc.has_stree; 50945 var elems = desc.stat_desc.elems; 50946 var n, m; /* iterate over heap elements */ 50947 var max_code = -1; /* largest code with non zero frequency */ 50948 var node; /* new node being created */ 50949 50950 /* Construct the initial heap, with least frequent element in 50951 * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. 50952 * heap[0] is not used. 50953 */ 50954 s.heap_len = 0; 50955 s.heap_max = HEAP_SIZE; 50956 50957 for (n = 0; n < elems; n++) { 50958 if (tree[n * 2]/*.Freq*/ !== 0) { 50959 s.heap[++s.heap_len] = max_code = n; 50960 s.depth[n] = 0; 50961 50962 } else { 50963 tree[n * 2 + 1]/*.Len*/ = 0; 50964 } 50965 } 50966 50967 /* The pkzip format requires that at least one distance code exists, 50968 * and that at least one bit should be sent even if there is only one 50969 * possible code. So to avoid special checks later on we force at least 50970 * two codes of non zero frequency. 50971 */ 50972 while (s.heap_len < 2) { 50973 node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0); 50974 tree[node * 2]/*.Freq*/ = 1; 50975 s.depth[node] = 0; 50976 s.opt_len--; 50977 50978 if (has_stree) { 50979 s.static_len -= stree[node * 2 + 1]/*.Len*/; 50980 } 50981 /* node is 0 or 1 so it does not have extra bits */ 50982 } 50983 desc.max_code = max_code; 50984 50985 /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, 50986 * establish sub-heaps of increasing lengths: 50987 */ 50988 for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); } 50989 50990 /* Construct the Huffman tree by repeatedly combining the least two 50991 * frequent nodes. 50992 */ 50993 node = elems; /* next internal node of the tree */ 50994 do { 50995 //pqremove(s, tree, n); /* n = node of least frequency */ 50996 /*** pqremove ***/ 50997 n = s.heap[1/*SMALLEST*/]; 50998 s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--]; 50999 pqdownheap(s, tree, 1/*SMALLEST*/); 51000 /***/ 51001 51002 m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */ 51003 51004 s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */ 51005 s.heap[--s.heap_max] = m; 51006 51007 /* Create a new node father of n and m */ 51008 tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/; 51009 s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; 51010 tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node; 51011 51012 /* and insert the new node in the heap */ 51013 s.heap[1/*SMALLEST*/] = node++; 51014 pqdownheap(s, tree, 1/*SMALLEST*/); 51015 51016 } while (s.heap_len >= 2); 51017 51018 s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/]; 51019 51020 /* At this point, the fields freq and dad are set. We can now 51021 * generate the bit lengths. 51022 */ 51023 gen_bitlen(s, desc); 51024 51025 /* The field len is now set, we can generate the bit codes */ 51026 gen_codes(tree, max_code, s.bl_count); 51027} 51028 51029 51030/* =========================================================================== 51031 * Scan a literal or distance tree to determine the frequencies of the codes 51032 * in the bit length tree. 51033 */ 51034function scan_tree(s, tree, max_code) 51035// deflate_state *s; 51036// ct_data *tree; /* the tree to be scanned */ 51037// int max_code; /* and its largest code of non zero frequency */ 51038{ 51039 var n; /* iterates over all tree elements */ 51040 var prevlen = -1; /* last emitted length */ 51041 var curlen; /* length of current code */ 51042 51043 var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ 51044 51045 var count = 0; /* repeat count of the current code */ 51046 var max_count = 7; /* max repeat count */ 51047 var min_count = 4; /* min repeat count */ 51048 51049 if (nextlen === 0) { 51050 max_count = 138; 51051 min_count = 3; 51052 } 51053 tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */ 51054 51055 for (n = 0; n <= max_code; n++) { 51056 curlen = nextlen; 51057 nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; 51058 51059 if (++count < max_count && curlen === nextlen) { 51060 continue; 51061 51062 } else if (count < min_count) { 51063 s.bl_tree[curlen * 2]/*.Freq*/ += count; 51064 51065 } else if (curlen !== 0) { 51066 51067 if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; } 51068 s.bl_tree[REP_3_6 * 2]/*.Freq*/++; 51069 51070 } else if (count <= 10) { 51071 s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++; 51072 51073 } else { 51074 s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++; 51075 } 51076 51077 count = 0; 51078 prevlen = curlen; 51079 51080 if (nextlen === 0) { 51081 max_count = 138; 51082 min_count = 3; 51083 51084 } else if (curlen === nextlen) { 51085 max_count = 6; 51086 min_count = 3; 51087 51088 } else { 51089 max_count = 7; 51090 min_count = 4; 51091 } 51092 } 51093} 51094 51095 51096/* =========================================================================== 51097 * Send a literal or distance tree in compressed form, using the codes in 51098 * bl_tree. 51099 */ 51100function send_tree(s, tree, max_code) 51101// deflate_state *s; 51102// ct_data *tree; /* the tree to be scanned */ 51103// int max_code; /* and its largest code of non zero frequency */ 51104{ 51105 var n; /* iterates over all tree elements */ 51106 var prevlen = -1; /* last emitted length */ 51107 var curlen; /* length of current code */ 51108 51109 var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ 51110 51111 var count = 0; /* repeat count of the current code */ 51112 var max_count = 7; /* max repeat count */ 51113 var min_count = 4; /* min repeat count */ 51114 51115 /* tree[max_code+1].Len = -1; */ /* guard already set */ 51116 if (nextlen === 0) { 51117 max_count = 138; 51118 min_count = 3; 51119 } 51120 51121 for (n = 0; n <= max_code; n++) { 51122 curlen = nextlen; 51123 nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; 51124 51125 if (++count < max_count && curlen === nextlen) { 51126 continue; 51127 51128 } else if (count < min_count) { 51129 do { send_code(s, curlen, s.bl_tree); } while (--count !== 0); 51130 51131 } else if (curlen !== 0) { 51132 if (curlen !== prevlen) { 51133 send_code(s, curlen, s.bl_tree); 51134 count--; 51135 } 51136 //Assert(count >= 3 && count <= 6, " 3_6?"); 51137 send_code(s, REP_3_6, s.bl_tree); 51138 send_bits(s, count - 3, 2); 51139 51140 } else if (count <= 10) { 51141 send_code(s, REPZ_3_10, s.bl_tree); 51142 send_bits(s, count - 3, 3); 51143 51144 } else { 51145 send_code(s, REPZ_11_138, s.bl_tree); 51146 send_bits(s, count - 11, 7); 51147 } 51148 51149 count = 0; 51150 prevlen = curlen; 51151 if (nextlen === 0) { 51152 max_count = 138; 51153 min_count = 3; 51154 51155 } else if (curlen === nextlen) { 51156 max_count = 6; 51157 min_count = 3; 51158 51159 } else { 51160 max_count = 7; 51161 min_count = 4; 51162 } 51163 } 51164} 51165 51166 51167/* =========================================================================== 51168 * Construct the Huffman tree for the bit lengths and return the index in 51169 * bl_order of the last bit length code to send. 51170 */ 51171function build_bl_tree(s) { 51172 var max_blindex; /* index of last bit length code of non zero freq */ 51173 51174 /* Determine the bit length frequencies for literal and distance trees */ 51175 scan_tree(s, s.dyn_ltree, s.l_desc.max_code); 51176 scan_tree(s, s.dyn_dtree, s.d_desc.max_code); 51177 51178 /* Build the bit length tree: */ 51179 build_tree(s, s.bl_desc); 51180 /* opt_len now includes the length of the tree representations, except 51181 * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. 51182 */ 51183 51184 /* Determine the number of bit length codes to send. The pkzip format 51185 * requires that at least 4 bit length codes be sent. (appnote.txt says 51186 * 3 but the actual value used is 4.) 51187 */ 51188 for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) { 51189 if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) { 51190 break; 51191 } 51192 } 51193 /* Update opt_len to include the bit length tree and counts */ 51194 s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; 51195 //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", 51196 // s->opt_len, s->static_len)); 51197 51198 return max_blindex; 51199} 51200 51201 51202/* =========================================================================== 51203 * Send the header for a block using dynamic Huffman trees: the counts, the 51204 * lengths of the bit length codes, the literal tree and the distance tree. 51205 * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. 51206 */ 51207function send_all_trees(s, lcodes, dcodes, blcodes) 51208// deflate_state *s; 51209// int lcodes, dcodes, blcodes; /* number of codes for each tree */ 51210{ 51211 var rank; /* index in bl_order */ 51212 51213 //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); 51214 //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, 51215 // "too many codes"); 51216 //Tracev((stderr, "\nbl counts: ")); 51217 send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */ 51218 send_bits(s, dcodes - 1, 5); 51219 send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */ 51220 for (rank = 0; rank < blcodes; rank++) { 51221 //Tracev((stderr, "\nbl code %2d ", bl_order[rank])); 51222 send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3); 51223 } 51224 //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); 51225 51226 send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */ 51227 //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); 51228 51229 send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */ 51230 //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); 51231} 51232 51233 51234/* =========================================================================== 51235 * Check if the data type is TEXT or BINARY, using the following algorithm: 51236 * - TEXT if the two conditions below are satisfied: 51237 * a) There are no non-portable control characters belonging to the 51238 * "black list" (0..6, 14..25, 28..31). 51239 * b) There is at least one printable character belonging to the 51240 * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). 51241 * - BINARY otherwise. 51242 * - The following partially-portable control characters form a 51243 * "gray list" that is ignored in this detection algorithm: 51244 * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). 51245 * IN assertion: the fields Freq of dyn_ltree are set. 51246 */ 51247function detect_data_type(s) { 51248 /* black_mask is the bit mask of black-listed bytes 51249 * set bits 0..6, 14..25, and 28..31 51250 * 0xf3ffc07f = binary 11110011111111111100000001111111 51251 */ 51252 var black_mask = 0xf3ffc07f; 51253 var n; 51254 51255 /* Check for non-textual ("black-listed") bytes. */ 51256 for (n = 0; n <= 31; n++, black_mask >>>= 1) { 51257 if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) { 51258 return Z_BINARY; 51259 } 51260 } 51261 51262 /* Check for textual ("white-listed") bytes. */ 51263 if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 || 51264 s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) { 51265 return Z_TEXT; 51266 } 51267 for (n = 32; n < LITERALS; n++) { 51268 if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) { 51269 return Z_TEXT; 51270 } 51271 } 51272 51273 /* There are no "black-listed" or "white-listed" bytes: 51274 * this stream either is empty or has tolerated ("gray-listed") bytes only. 51275 */ 51276 return Z_BINARY; 51277} 51278 51279 51280var static_init_done = false; 51281 51282/* =========================================================================== 51283 * Initialize the tree data structures for a new zlib stream. 51284 */ 51285function _tr_init(s) 51286{ 51287 51288 if (!static_init_done) { 51289 tr_static_init(); 51290 static_init_done = true; 51291 } 51292 51293 s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc); 51294 s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc); 51295 s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc); 51296 51297 s.bi_buf = 0; 51298 s.bi_valid = 0; 51299 51300 /* Initialize the first block of the first file: */ 51301 init_block(s); 51302} 51303 51304 51305/* =========================================================================== 51306 * Send a stored block 51307 */ 51308function _tr_stored_block(s, buf, stored_len, last) 51309//DeflateState *s; 51310//charf *buf; /* input block */ 51311//ulg stored_len; /* length of input block */ 51312//int last; /* one if this is the last block for a file */ 51313{ 51314 send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */ 51315 copy_block(s, buf, stored_len, true); /* with header */ 51316} 51317 51318 51319/* =========================================================================== 51320 * Send one empty static block to give enough lookahead for inflate. 51321 * This takes 10 bits, of which 7 may remain in the bit buffer. 51322 */ 51323function _tr_align(s) { 51324 send_bits(s, STATIC_TREES << 1, 3); 51325 send_code(s, END_BLOCK, static_ltree); 51326 bi_flush(s); 51327} 51328 51329 51330/* =========================================================================== 51331 * Determine the best encoding for the current block: dynamic trees, static 51332 * trees or store, and output the encoded block to the zip file. 51333 */ 51334function _tr_flush_block(s, buf, stored_len, last) 51335//DeflateState *s; 51336//charf *buf; /* input block, or NULL if too old */ 51337//ulg stored_len; /* length of input block */ 51338//int last; /* one if this is the last block for a file */ 51339{ 51340 var opt_lenb, static_lenb; /* opt_len and static_len in bytes */ 51341 var max_blindex = 0; /* index of last bit length code of non zero freq */ 51342 51343 /* Build the Huffman trees unless a stored block is forced */ 51344 if (s.level > 0) { 51345 51346 /* Check if the file is binary or text */ 51347 if (s.strm.data_type === Z_UNKNOWN) { 51348 s.strm.data_type = detect_data_type(s); 51349 } 51350 51351 /* Construct the literal and distance trees */ 51352 build_tree(s, s.l_desc); 51353 // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, 51354 // s->static_len)); 51355 51356 build_tree(s, s.d_desc); 51357 // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, 51358 // s->static_len)); 51359 /* At this point, opt_len and static_len are the total bit lengths of 51360 * the compressed block data, excluding the tree representations. 51361 */ 51362 51363 /* Build the bit length tree for the above two trees, and get the index 51364 * in bl_order of the last bit length code to send. 51365 */ 51366 max_blindex = build_bl_tree(s); 51367 51368 /* Determine the best encoding. Compute the block lengths in bytes. */ 51369 opt_lenb = (s.opt_len + 3 + 7) >>> 3; 51370 static_lenb = (s.static_len + 3 + 7) >>> 3; 51371 51372 // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", 51373 // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, 51374 // s->last_lit)); 51375 51376 if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; } 51377 51378 } else { 51379 // Assert(buf != (char*)0, "lost buf"); 51380 opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ 51381 } 51382 51383 if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) { 51384 /* 4: two words for the lengths */ 51385 51386 /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. 51387 * Otherwise we can't have processed more than WSIZE input bytes since 51388 * the last block flush, because compression would have been 51389 * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to 51390 * transform a block into a stored block. 51391 */ 51392 _tr_stored_block(s, buf, stored_len, last); 51393 51394 } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) { 51395 51396 send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3); 51397 compress_block(s, static_ltree, static_dtree); 51398 51399 } else { 51400 send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3); 51401 send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); 51402 compress_block(s, s.dyn_ltree, s.dyn_dtree); 51403 } 51404 // Assert (s->compressed_len == s->bits_sent, "bad compressed size"); 51405 /* The above check is made mod 2^32, for files larger than 512 MB 51406 * and uLong implemented on 32 bits. 51407 */ 51408 init_block(s); 51409 51410 if (last) { 51411 bi_windup(s); 51412 } 51413 // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, 51414 // s->compressed_len-7*last)); 51415} 51416 51417/* =========================================================================== 51418 * Save the match info and tally the frequency counts. Return true if 51419 * the current block must be flushed. 51420 */ 51421function _tr_tally(s, dist, lc) 51422// deflate_state *s; 51423// unsigned dist; /* distance of matched string */ 51424// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ 51425{ 51426 //var out_length, in_length, dcode; 51427 51428 s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff; 51429 s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff; 51430 51431 s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff; 51432 s.last_lit++; 51433 51434 if (dist === 0) { 51435 /* lc is the unmatched char */ 51436 s.dyn_ltree[lc * 2]/*.Freq*/++; 51437 } else { 51438 s.matches++; 51439 /* Here, lc is the match length - MIN_MATCH */ 51440 dist--; /* dist = match distance - 1 */ 51441 //Assert((ush)dist < (ush)MAX_DIST(s) && 51442 // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && 51443 // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); 51444 51445 s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++; 51446 s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++; 51447 } 51448 51449// (!) This block is disabled in zlib defaults, 51450// don't enable it for binary compatibility 51451 51452//#ifdef TRUNCATE_BLOCK 51453// /* Try to guess if it is profitable to stop the current block here */ 51454// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) { 51455// /* Compute an upper bound for the compressed length */ 51456// out_length = s.last_lit*8; 51457// in_length = s.strstart - s.block_start; 51458// 51459// for (dcode = 0; dcode < D_CODES; dcode++) { 51460// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]); 51461// } 51462// out_length >>>= 3; 51463// //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", 51464// // s->last_lit, in_length, out_length, 51465// // 100L - out_length*100L/in_length)); 51466// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) { 51467// return true; 51468// } 51469// } 51470//#endif 51471 51472 return (s.last_lit === s.lit_bufsize - 1); 51473 /* We avoid equality with lit_bufsize because of wraparound at 64K 51474 * on 16 bit machines and because stored blocks are restricted to 51475 * 64K-1 bytes. 51476 */ 51477} 51478 51479exports._tr_init = _tr_init; 51480exports._tr_stored_block = _tr_stored_block; 51481exports._tr_flush_block = _tr_flush_block; 51482exports._tr_tally = _tr_tally; 51483exports._tr_align = _tr_align; 51484 51485 51486/***/ }
51486), 51487/* 934 */ 51488/***/ (function(module, exports, __webpack_require__) { 51489 51490"use strict"; 51491 51492 51493// (C) 1995-2013 Jean-loup Gailly and Mark Adler 51494// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 51495// 51496// This software is provided 'as-is', without any express or implied 51497// warranty. In no event will the authors be held liable for any damages 51498// arising from the use of this software. 51499// 51500// Permission is granted to anyone to use this software for any purpose, 51501// including commercial applications, and to alter it and redistribute it 51502// freely, subject to the following restrictions: 51503// 51504// 1. The origin of this software must not be misrepresented; you must not 51505// claim that you wrote the original software. If you use this software 51506// in a product, an acknowledgment in the product documentation would be 51507// appreciated but is not required. 51508// 2. Altered source versions must be plainly marked as such, and must not be 51509// misrepresented as being the original software. 51510// 3. This notice may not be removed or altered from any source distribution. 51511 51512module.exports = { 51513 2: 'need dictionary', /* Z_NEED_DICT 2 */ 51514 1: 'stream end', /* Z_STREAM_END 1 */ 51515 0: '', /* Z_OK 0 */ 51516 '-1': 'file error', /* Z_ERRNO (-1) */ 51517 '-2': 'stream error', /* Z_STREAM_ERROR (-2) */ 51518 '-3': 'data error', /* Z_DATA_ERROR (-3) */ 51519 '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */ 51520 '-5': 'buffer error', /* Z_BUF_ERROR (-5) */ 51521 '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ 51522}; 51523 51524 51525/***/ }), 51526/* 935 */ 51527/***/ (function(module, exports, __webpack_require__) { 51528 51529"use strict"; 51530 51531 51532// (C) 1995-2013 Jean-loup Gailly and Mark Adler 51533// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 51534// 51535// This software is provided 'as-is', without any express or implied 51536// warranty. In no event will the authors be held liable for any damages 51537// arising from the use of this software. 51538// 51539// Permission is granted to anyone to use this software for any purpose, 51540// including commercial applications, and to alter it and redistribute it 51541// freely, subject to the following restrictions: 51542// 51543// 1. The origin of this software must not be misrepresented; you must not 51544// claim that you wrote the original software. If you use this software 51545// in a product, an acknowledgment in the product documentation would be 51546// appreciated but is not required. 51547// 2. Altered source versions must be plainly marked as such, and must not be 51548// misrepresented as being the original software. 51549// 3. This notice may not be removed or altered from any source distribution. 51550 51551var utils = __webpack_require__(395); 51552var adler32 = __webpack_require__(741); 51553var crc32 = __webpack_require__(742); 51554var inflate_fast = __webpack_require__(936); 51555var inflate_table = __webpack_require__(937
vendor: 49,105 bytes, lines 51555-53088
51555); 51556 51557var CODES = 0; 51558var LENS = 1; 51559var DISTS = 2; 51560 51561/* Public constants ==========================================================*/ 51562/* ===========================================================================*/ 51563 51564 51565/* Allowed flush values; see deflate() and inflate() below for details */ 51566//var Z_NO_FLUSH = 0; 51567//var Z_PARTIAL_FLUSH = 1; 51568//var Z_SYNC_FLUSH = 2; 51569//var Z_FULL_FLUSH = 3; 51570var Z_FINISH = 4; 51571var Z_BLOCK = 5; 51572var Z_TREES = 6; 51573 51574 51575/* Return codes for the compression/decompression functions. Negative values 51576 * are errors, positive values are used for special but normal events. 51577 */ 51578var Z_OK = 0; 51579var Z_STREAM_END = 1; 51580var Z_NEED_DICT = 2; 51581//var Z_ERRNO = -1; 51582var Z_STREAM_ERROR = -2; 51583var Z_DATA_ERROR = -3; 51584var Z_MEM_ERROR = -4; 51585var Z_BUF_ERROR = -5; 51586//var Z_VERSION_ERROR = -6; 51587 51588/* The deflate compression method */ 51589var Z_DEFLATED = 8; 51590 51591 51592/* STATES ====================================================================*/ 51593/* ===========================================================================*/ 51594 51595 51596var HEAD = 1; /* i: waiting for magic header */ 51597var FLAGS = 2; /* i: waiting for method and flags (gzip) */ 51598var TIME = 3; /* i: waiting for modification time (gzip) */ 51599var OS = 4; /* i: waiting for extra flags and operating system (gzip) */ 51600var EXLEN = 5; /* i: waiting for extra length (gzip) */ 51601var EXTRA = 6; /* i: waiting for extra bytes (gzip) */ 51602var NAME = 7; /* i: waiting for end of file name (gzip) */ 51603var COMMENT = 8; /* i: waiting for end of comment (gzip) */ 51604var HCRC = 9; /* i: waiting for header crc (gzip) */ 51605var DICTID = 10; /* i: waiting for dictionary check value */ 51606var DICT = 11; /* waiting for inflateSetDictionary() call */ 51607var TYPE = 12; /* i: waiting for type bits, including last-flag bit */ 51608var TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */ 51609var STORED = 14; /* i: waiting for stored size (length and complement) */ 51610var COPY_ = 15; /* i/o: same as COPY below, but only first time in */ 51611var COPY = 16; /* i/o: waiting for input or output to copy stored block */ 51612var TABLE = 17; /* i: waiting for dynamic block table lengths */ 51613var LENLENS = 18; /* i: waiting for code length code lengths */ 51614var CODELENS = 19; /* i: waiting for length/lit and distance code lengths */ 51615var LEN_ = 20; /* i: same as LEN below, but only first time in */ 51616var LEN = 21; /* i: waiting for length/lit/eob code */ 51617var LENEXT = 22; /* i: waiting for length extra bits */ 51618var DIST = 23; /* i: waiting for distance code */ 51619var DISTEXT = 24; /* i: waiting for distance extra bits */ 51620var MATCH = 25; /* o: waiting for output space to copy string */ 51621var LIT = 26; /* o: waiting for output space to write literal */ 51622var CHECK = 27; /* i: waiting for 32-bit check value */ 51623var LENGTH = 28; /* i: waiting for 32-bit length (gzip) */ 51624var DONE = 29; /* finished check, done -- remain here until reset */ 51625var BAD = 30; /* got a data error -- remain here until reset */ 51626var MEM = 31; /* got an inflate() memory error -- remain here until reset */ 51627var SYNC = 32; /* looking for synchronization bytes to restart inflate() */ 51628 51629/* ===========================================================================*/ 51630 51631 51632 51633var ENOUGH_LENS = 852; 51634var ENOUGH_DISTS = 592; 51635//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); 51636 51637var MAX_WBITS = 15; 51638/* 32K LZ77 window */ 51639var DEF_WBITS = MAX_WBITS; 51640 51641 51642function zswap32(q) { 51643 return (((q >>> 24) & 0xff) + 51644 ((q >>> 8) & 0xff00) + 51645 ((q & 0xff00) << 8) + 51646 ((q & 0xff) << 24)); 51647} 51648 51649 51650function InflateState() { 51651 this.mode = 0; /* current inflate mode */ 51652 this.last = false; /* true if processing last block */ 51653 this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ 51654 this.havedict = false; /* true if dictionary provided */ 51655 this.flags = 0; /* gzip header method and flags (0 if zlib) */ 51656 this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */ 51657 this.check = 0; /* protected copy of check value */ 51658 this.total = 0; /* protected copy of output count */ 51659 // TODO: may be {} 51660 this.head = null; /* where to save gzip header information */ 51661 51662 /* sliding window */ 51663 this.wbits = 0; /* log base 2 of requested window size */ 51664 this.wsize = 0; /* window size or zero if not using window */ 51665 this.whave = 0; /* valid bytes in the window */ 51666 this.wnext = 0; /* window write index */ 51667 this.window = null; /* allocated sliding window, if needed */ 51668 51669 /* bit accumulator */ 51670 this.hold = 0; /* input bit accumulator */ 51671 this.bits = 0; /* number of bits in "in" */ 51672 51673 /* for string and stored block copying */ 51674 this.length = 0; /* literal or length of data to copy */ 51675 this.offset = 0; /* distance back to copy string from */ 51676 51677 /* for table and code decoding */ 51678 this.extra = 0; /* extra bits needed */ 51679 51680 /* fixed and dynamic code tables */ 51681 this.lencode = null; /* starting table for length/literal codes */ 51682 this.distcode = null; /* starting table for distance codes */ 51683 this.lenbits = 0; /* index bits for lencode */ 51684 this.distbits = 0; /* index bits for distcode */ 51685 51686 /* dynamic table building */ 51687 this.ncode = 0; /* number of code length code lengths */ 51688 this.nlen = 0; /* number of length code lengths */ 51689 this.ndist = 0; /* number of distance code lengths */ 51690 this.have = 0; /* number of code lengths in lens[] */ 51691 this.next = null; /* next available space in codes[] */ 51692 51693 this.lens = new utils.Buf16(320); /* temporary storage for code lengths */ 51694 this.work = new utils.Buf16(288); /* work area for code table building */ 51695 51696 /* 51697 because we don't have pointers in js, we use lencode and distcode directly 51698 as buffers so we don't need codes 51699 */ 51700 //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */ 51701 this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */ 51702 this.distdyn = null; /* dynamic table for distance codes (JS specific) */ 51703 this.sane = 0; /* if false, allow invalid distance too far */ 51704 this.back = 0; /* bits back of last unprocessed length/lit */ 51705 this.was = 0; /* initial length of match */ 51706} 51707 51708function inflateResetKeep(strm) { 51709 var state; 51710 51711 if (!strm || !strm.state) { return Z_STREAM_ERROR; } 51712 state = strm.state; 51713 strm.total_in = strm.total_out = state.total = 0; 51714 strm.msg = ''; /*Z_NULL*/ 51715 if (state.wrap) { /* to support ill-conceived Java test suite */ 51716 strm.adler = state.wrap & 1; 51717 } 51718 state.mode = HEAD; 51719 state.last = 0; 51720 state.havedict = 0; 51721 state.dmax = 32768; 51722 state.head = null/*Z_NULL*/; 51723 state.hold = 0; 51724 state.bits = 0; 51725 //state.lencode = state.distcode = state.next = state.codes; 51726 state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS); 51727 state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS); 51728 51729 state.sane = 1; 51730 state.back = -1; 51731 //Tracev((stderr, "inflate: reset\n")); 51732 return Z_OK; 51733} 51734 51735function inflateReset(strm) { 51736 var state; 51737 51738 if (!strm || !strm.state) { return Z_STREAM_ERROR; } 51739 state = strm.state; 51740 state.wsize = 0; 51741 state.whave = 0; 51742 state.wnext = 0; 51743 return inflateResetKeep(strm); 51744 51745} 51746 51747function inflateReset2(strm, windowBits) { 51748 var wrap; 51749 var state; 51750 51751 /* get the state */ 51752 if (!strm || !strm.state) { return Z_STREAM_ERROR; } 51753 state = strm.state; 51754 51755 /* extract wrap request from windowBits parameter */ 51756 if (windowBits < 0) { 51757 wrap = 0; 51758 windowBits = -windowBits; 51759 } 51760 else { 51761 wrap = (windowBits >> 4) + 1; 51762 if (windowBits < 48) { 51763 windowBits &= 15; 51764 } 51765 } 51766 51767 /* set number of window bits, free window if different */ 51768 if (windowBits && (windowBits < 8 || windowBits > 15)) { 51769 return Z_STREAM_ERROR; 51770 } 51771 if (state.window !== null && state.wbits !== windowBits) { 51772 state.window = null; 51773 } 51774 51775 /* update state and reset the rest of it */ 51776 state.wrap = wrap; 51777 state.wbits = windowBits; 51778 return inflateReset(strm); 51779} 51780 51781function inflateInit2(strm, windowBits) { 51782 var ret; 51783 var state; 51784 51785 if (!strm) { return Z_STREAM_ERROR; } 51786 //strm.msg = Z_NULL; /* in case we return an error */ 51787 51788 state = new InflateState(); 51789 51790 //if (state === Z_NULL) return Z_MEM_ERROR; 51791 //Tracev((stderr, "inflate: allocated\n")); 51792 strm.state = state; 51793 state.window = null/*Z_NULL*/; 51794 ret = inflateReset2(strm, windowBits); 51795 if (ret !== Z_OK) { 51796 strm.state = null/*Z_NULL*/; 51797 } 51798 return ret; 51799} 51800 51801function inflateInit(strm) { 51802 return inflateInit2(strm, DEF_WBITS); 51803} 51804 51805 51806/* 51807 Return state with length and distance decoding tables and index sizes set to 51808 fixed code decoding. Normally this returns fixed tables from inffixed.h. 51809 If BUILDFIXED is defined, then instead this routine builds the tables the 51810 first time it's called, and returns those tables the first time and 51811 thereafter. This reduces the size of the code by about 2K bytes, in 51812 exchange for a little execution time. However, BUILDFIXED should not be 51813 used for threaded applications, since the rewriting of the tables and virgin 51814 may not be thread-safe. 51815 */ 51816var virgin = true; 51817 51818var lenfix, distfix; // We have no pointers in JS, so keep tables separate 51819 51820function fixedtables(state) { 51821 /* build fixed huffman tables if first call (may not be thread safe) */ 51822 if (virgin) { 51823 var sym; 51824 51825 lenfix = new utils.Buf32(512); 51826 distfix = new utils.Buf32(32); 51827 51828 /* literal/length table */ 51829 sym = 0; 51830 while (sym < 144) { state.lens[sym++] = 8; } 51831 while (sym < 256) { state.lens[sym++] = 9; } 51832 while (sym < 280) { state.lens[sym++] = 7; } 51833 while (sym < 288) { state.lens[sym++] = 8; } 51834 51835 inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 }); 51836 51837 /* distance table */ 51838 sym = 0; 51839 while (sym < 32) { state.lens[sym++] = 5; } 51840 51841 inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 }); 51842 51843 /* do this just once */ 51844 virgin = false; 51845 } 51846 51847 state.lencode = lenfix; 51848 state.lenbits = 9; 51849 state.distcode = distfix; 51850 state.distbits = 5; 51851} 51852 51853 51854/* 51855 Update the window with the last wsize (normally 32K) bytes written before 51856 returning. If window does not exist yet, create it. This is only called 51857 when a window is already in use, or when output has been written during this 51858 inflate call, but the end of the deflate stream has not been reached yet. 51859 It is also called to create a window for dictionary data when a dictionary 51860 is loaded. 51861 51862 Providing output buffers larger than 32K to inflate() should provide a speed 51863 advantage, since only the last 32K of output is copied to the sliding window 51864 upon return from inflate(), and since all distances after the first 32K of 51865 output will fall in the output data, making match copies simpler and faster. 51866 The advantage may be dependent on the size of the processor's data caches. 51867 */ 51868function updatewindow(strm, src, end, copy) { 51869 var dist; 51870 var state = strm.state; 51871 51872 /* if it hasn't been done already, allocate space for the window */ 51873 if (state.window === null) { 51874 state.wsize = 1 << state.wbits; 51875 state.wnext = 0; 51876 state.whave = 0; 51877 51878 state.window = new utils.Buf8(state.wsize); 51879 } 51880 51881 /* copy state->wsize or less output bytes into the circular window */ 51882 if (copy >= state.wsize) { 51883 utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0); 51884 state.wnext = 0; 51885 state.whave = state.wsize; 51886 } 51887 else { 51888 dist = state.wsize - state.wnext; 51889 if (dist > copy) { 51890 dist = copy; 51891 } 51892 //zmemcpy(state->window + state->wnext, end - copy, dist); 51893 utils.arraySet(state.window, src, end - copy, dist, state.wnext); 51894 copy -= dist; 51895 if (copy) { 51896 //zmemcpy(state->window, end - copy, copy); 51897 utils.arraySet(state.window, src, end - copy, copy, 0); 51898 state.wnext = copy; 51899 state.whave = state.wsize; 51900 } 51901 else { 51902 state.wnext += dist; 51903 if (state.wnext === state.wsize) { state.wnext = 0; } 51904 if (state.whave < state.wsize) { state.whave += dist; } 51905 } 51906 } 51907 return 0; 51908} 51909 51910function inflate(strm, flush) { 51911 var state; 51912 var input, output; // input/output buffers 51913 var next; /* next input INDEX */ 51914 var put; /* next output INDEX */ 51915 var have, left; /* available input and output */ 51916 var hold; /* bit buffer */ 51917 var bits; /* bits in bit buffer */ 51918 var _in, _out; /* save starting available input and output */ 51919 var copy; /* number of stored or match bytes to copy */ 51920 var from; /* where to copy match bytes from */ 51921 var from_source; 51922 var here = 0; /* current decoding table entry */ 51923 var here_bits, here_op, here_val; // paked "here" denormalized (JS specific) 51924 //var last; /* parent table entry */ 51925 var last_bits, last_op, last_val; // paked "last" denormalized (JS specific) 51926 var len; /* length to copy for repeats, bits to drop */ 51927 var ret; /* return code */ 51928 var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */ 51929 var opts; 51930 51931 var n; // temporary var for NEED_BITS 51932 51933 var order = /* permutation of code lengths */ 51934 [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; 51935 51936 51937 if (!strm || !strm.state || !strm.output || 51938 (!strm.input && strm.avail_in !== 0)) { 51939 return Z_STREAM_ERROR; 51940 } 51941 51942 state = strm.state; 51943 if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */ 51944 51945 51946 //--- LOAD() --- 51947 put = strm.next_out; 51948 output = strm.output; 51949 left = strm.avail_out; 51950 next = strm.next_in; 51951 input = strm.input; 51952 have = strm.avail_in; 51953 hold = state.hold; 51954 bits = state.bits; 51955 //--- 51956 51957 _in = have; 51958 _out = left; 51959 ret = Z_OK; 51960 51961 inf_leave: // goto emulation 51962 for (;;) { 51963 switch (state.mode) { 51964 case HEAD: 51965 if (state.wrap === 0) { 51966 state.mode = TYPEDO; 51967 break; 51968 } 51969 //=== NEEDBITS(16); 51970 while (bits < 16) { 51971 if (have === 0) { break inf_leave; } 51972 have--; 51973 hold += input[next++] << bits; 51974 bits += 8; 51975 } 51976 //===// 51977 if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */ 51978 state.check = 0/*crc32(0L, Z_NULL, 0)*/; 51979 //=== CRC2(state.check, hold); 51980 hbuf[0] = hold & 0xff; 51981 hbuf[1] = (hold >>> 8) & 0xff; 51982 state.check = crc32(state.check, hbuf, 2, 0); 51983 //===// 51984 51985 //=== INITBITS(); 51986 hold = 0; 51987 bits = 0; 51988 //===// 51989 state.mode = FLAGS; 51990 break; 51991 } 51992 state.flags = 0; /* expect zlib header */ 51993 if (state.head) { 51994 state.head.done = false; 51995 } 51996 if (!(state.wrap & 1) || /* check if zlib header allowed */ 51997 (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) { 51998 strm.msg = 'incorrect header check'; 51999 state.mode = BAD; 52000 break; 52001 } 52002 if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) { 52003 strm.msg = 'unknown compression method'; 52004 state.mode = BAD; 52005 break; 52006 } 52007 //--- DROPBITS(4) ---// 52008 hold >>>= 4; 52009 bits -= 4; 52010 //---// 52011 len = (hold & 0x0f)/*BITS(4)*/ + 8; 52012 if (state.wbits === 0) { 52013 state.wbits = len; 52014 } 52015 else if (len > state.wbits) { 52016 strm.msg = 'invalid window size'; 52017 state.mode = BAD; 52018 break; 52019 } 52020 state.dmax = 1 << len; 52021 //Tracev((stderr, "inflate: zlib header ok\n")); 52022 strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; 52023 state.mode = hold & 0x200 ? DICTID : TYPE; 52024 //=== INITBITS(); 52025 hold = 0; 52026 bits = 0; 52027 //===// 52028 break; 52029 case FLAGS: 52030 //=== NEEDBITS(16); */ 52031 while (bits < 16) { 52032 if (have === 0) { break inf_leave; } 52033 have--; 52034 hold += input[next++] << bits; 52035 bits += 8; 52036 } 52037 //===// 52038 state.flags = hold; 52039 if ((state.flags & 0xff) !== Z_DEFLATED) { 52040 strm.msg = 'unknown compression method'; 52041 state.mode = BAD; 52042 break; 52043 } 52044 if (state.flags & 0xe000) { 52045 strm.msg = 'unknown header flags set'; 52046 state.mode = BAD; 52047 break; 52048 } 52049 if (state.head) { 52050 state.head.text = ((hold >> 8) & 1); 52051 } 52052 if (state.flags & 0x0200) { 52053 //=== CRC2(state.check, hold); 52054 hbuf[0] = hold & 0xff; 52055 hbuf[1] = (hold >>> 8) & 0xff; 52056 state.check = crc32(state.check, hbuf, 2, 0); 52057 //===// 52058 } 52059 //=== INITBITS(); 52060 hold = 0; 52061 bits = 0; 52062 //===// 52063 state.mode = TIME; 52064 /* falls through */ 52065 case TIME: 52066 //=== NEEDBITS(32); */ 52067 while (bits < 32) { 52068 if (have === 0) { break inf_leave; } 52069 have--; 52070 hold += input[next++] << bits; 52071 bits += 8; 52072 } 52073 //===// 52074 if (state.head) { 52075 state.head.time = hold; 52076 } 52077 if (state.flags & 0x0200) { 52078 //=== CRC4(state.check, hold) 52079 hbuf[0] = hold & 0xff; 52080 hbuf[1] = (hold >>> 8) & 0xff; 52081 hbuf[2] = (hold >>> 16) & 0xff; 52082 hbuf[3] = (hold >>> 24) & 0xff; 52083 state.check = crc32(state.check, hbuf, 4, 0); 52084 //=== 52085 } 52086 //=== INITBITS(); 52087 hold = 0; 52088 bits = 0; 52089 //===// 52090 state.mode = OS; 52091 /* falls through */ 52092 case OS: 52093 //=== NEEDBITS(16); */ 52094 while (bits < 16) { 52095 if (have === 0) { break inf_leave; } 52096 have--; 52097 hold += input[next++] << bits; 52098 bits += 8; 52099 } 52100 //===// 52101 if (state.head) { 52102 state.head.xflags = (hold & 0xff); 52103 state.head.os = (hold >> 8); 52104 } 52105 if (state.flags & 0x0200) { 52106 //=== CRC2(state.check, hold); 52107 hbuf[0] = hold & 0xff; 52108 hbuf[1] = (hold >>> 8) & 0xff; 52109 state.check = crc32(state.check, hbuf, 2, 0); 52110 //===// 52111 } 52112 //=== INITBITS(); 52113 hold = 0; 52114 bits = 0; 52115 //===// 52116 state.mode = EXLEN; 52117 /* falls through */ 52118 case EXLEN: 52119 if (state.flags & 0x0400) { 52120 //=== NEEDBITS(16); */ 52121 while (bits < 16) { 52122 if (have === 0) { break inf_leave; } 52123 have--; 52124 hold += input[next++] << bits; 52125 bits += 8; 52126 } 52127 //===// 52128 state.length = hold; 52129 if (state.head) { 52130 state.head.extra_len = hold; 52131 } 52132 if (state.flags & 0x0200) { 52133 //=== CRC2(state.check, hold); 52134 hbuf[0] = hold & 0xff; 52135 hbuf[1] = (hold >>> 8) & 0xff; 52136 state.check = crc32(state.check, hbuf, 2, 0); 52137 //===// 52138 } 52139 //=== INITBITS(); 52140 hold = 0; 52141 bits = 0; 52142 //===// 52143 } 52144 else if (state.head) { 52145 state.head.extra = null/*Z_NULL*/; 52146 } 52147 state.mode = EXTRA; 52148 /* falls through */ 52149 case EXTRA: 52150 if (state.flags & 0x0400) { 52151 copy = state.length; 52152 if (copy > have) { copy = have; } 52153 if (copy) { 52154 if (state.head) { 52155 len = state.head.extra_len - state.length; 52156 if (!state.head.extra) { 52157 // Use untyped array for more convenient processing later 52158 state.head.extra = new Array(state.head.extra_len); 52159 } 52160 utils.arraySet( 52161 state.head.extra, 52162 input, 52163 next, 52164 // extra field is limited to 65536 bytes 52165 // - no need for additional size check 52166 copy, 52167 /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ 52168 len 52169 ); 52170 //zmemcpy(state.head.extra + len, next, 52171 // len + copy > state.head.extra_max ? 52172 // state.head.extra_max - len : copy); 52173 } 52174 if (state.flags & 0x0200) { 52175 state.check = crc32(state.check, input, copy, next); 52176 } 52177 have -= copy; 52178 next += copy; 52179 state.length -= copy; 52180 } 52181 if (state.length) { break inf_leave; } 52182 } 52183 state.length = 0; 52184 state.mode = NAME; 52185 /* falls through */ 52186 case NAME: 52187 if (state.flags & 0x0800) { 52188 if (have === 0) { break inf_leave; } 52189 copy = 0; 52190 do { 52191 // TODO: 2 or 1 bytes? 52192 len = input[next + copy++]; 52193 /* use constant limit because in js we should not preallocate memory */ 52194 if (state.head && len && 52195 (state.length < 65536 /*state.head.name_max*/)) { 52196 state.head.name += String.fromCharCode(len); 52197 } 52198 } while (len && copy < have); 52199 52200 if (state.flags & 0x0200) { 52201 state.check = crc32(state.check, input, copy, next); 52202 } 52203 have -= copy; 52204 next += copy; 52205 if (len) { break inf_leave; } 52206 } 52207 else if (state.head) { 52208 state.head.name = null; 52209 } 52210 state.length = 0; 52211 state.mode = COMMENT; 52212 /* falls through */ 52213 case COMMENT: 52214 if (state.flags & 0x1000) { 52215 if (have === 0) { break inf_leave; } 52216 copy = 0; 52217 do { 52218 len = input[next + copy++]; 52219 /* use constant limit because in js we should not preallocate memory */ 52220 if (state.head && len && 52221 (state.length < 65536 /*state.head.comm_max*/)) { 52222 state.head.comment += String.fromCharCode(len); 52223 } 52224 } while (len && copy < have); 52225 if (state.flags & 0x0200) { 52226 state.check = crc32(state.check, input, copy, next); 52227 } 52228 have -= copy; 52229 next += copy; 52230 if (len) { break inf_leave; } 52231 } 52232 else if (state.head) { 52233 state.head.comment = null; 52234 } 52235 state.mode = HCRC; 52236 /* falls through */ 52237 case HCRC: 52238 if (state.flags & 0x0200) { 52239 //=== NEEDBITS(16); */ 52240 while (bits < 16) { 52241 if (have === 0) { break inf_leave; } 52242 have--; 52243 hold += input[next++] << bits; 52244 bits += 8; 52245 } 52246 //===// 52247 if (hold !== (state.check & 0xffff)) { 52248 strm.msg = 'header crc mismatch'; 52249 state.mode = BAD; 52250 break; 52251 } 52252 //=== INITBITS(); 52253 hold = 0; 52254 bits = 0; 52255 //===// 52256 } 52257 if (state.head) { 52258 state.head.hcrc = ((state.flags >> 9) & 1); 52259 state.head.done = true; 52260 } 52261 strm.adler = state.check = 0; 52262 state.mode = TYPE; 52263 break; 52264 case DICTID: 52265 //=== NEEDBITS(32); */ 52266 while (bits < 32) { 52267 if (have === 0) { break inf_leave; } 52268 have--; 52269 hold += input[next++] << bits; 52270 bits += 8; 52271 } 52272 //===// 52273 strm.adler = state.check = zswap32(hold); 52274 //=== INITBITS(); 52275 hold = 0; 52276 bits = 0; 52277 //===// 52278 state.mode = DICT; 52279 /* falls through */ 52280 case DICT: 52281 if (state.havedict === 0) { 52282 //--- RESTORE() --- 52283 strm.next_out = put; 52284 strm.avail_out = left; 52285 strm.next_in = next; 52286 strm.avail_in = have; 52287 state.hold = hold; 52288 state.bits = bits; 52289 //--- 52290 return Z_NEED_DICT; 52291 } 52292 strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; 52293 state.mode = TYPE; 52294 /* falls through */ 52295 case TYPE: 52296 if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; } 52297 /* falls through */ 52298 case TYPEDO: 52299 if (state.last) { 52300 //--- BYTEBITS() ---// 52301 hold >>>= bits & 7; 52302 bits -= bits & 7; 52303 //---// 52304 state.mode = CHECK; 52305 break; 52306 } 52307 //=== NEEDBITS(3); */ 52308 while (bits < 3) { 52309 if (have === 0) { break inf_leave; } 52310 have--; 52311 hold += input[next++] << bits; 52312 bits += 8; 52313 } 52314 //===// 52315 state.last = (hold & 0x01)/*BITS(1)*/; 52316 //--- DROPBITS(1) ---// 52317 hold >>>= 1; 52318 bits -= 1; 52319 //---// 52320 52321 switch ((hold & 0x03)/*BITS(2)*/) { 52322 case 0: /* stored block */ 52323 //Tracev((stderr, "inflate: stored block%s\n", 52324 // state.last ? " (last)" : "")); 52325 state.mode = STORED; 52326 break; 52327 case 1: /* fixed block */ 52328 fixedtables(state); 52329 //Tracev((stderr, "inflate: fixed codes block%s\n", 52330 // state.last ? " (last)" : "")); 52331 state.mode = LEN_; /* decode codes */ 52332 if (flush === Z_TREES) { 52333 //--- DROPBITS(2) ---// 52334 hold >>>= 2; 52335 bits -= 2; 52336 //---// 52337 break inf_leave; 52338 } 52339 break; 52340 case 2: /* dynamic block */ 52341 //Tracev((stderr, "inflate: dynamic codes block%s\n", 52342 // state.last ? " (last)" : "")); 52343 state.mode = TABLE; 52344 break; 52345 case 3: 52346 strm.msg = 'invalid block type'; 52347 state.mode = BAD; 52348 } 52349 //--- DROPBITS(2) ---// 52350 hold >>>= 2; 52351 bits -= 2; 52352 //---// 52353 break; 52354 case STORED: 52355 //--- BYTEBITS() ---// /* go to byte boundary */ 52356 hold >>>= bits & 7; 52357 bits -= bits & 7; 52358 //---// 52359 //=== NEEDBITS(32); */ 52360 while (bits < 32) { 52361 if (have === 0) { break inf_leave; } 52362 have--; 52363 hold += input[next++] << bits; 52364 bits += 8; 52365 } 52366 //===// 52367 if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) { 52368 strm.msg = 'invalid stored block lengths'; 52369 state.mode = BAD; 52370 break; 52371 } 52372 state.length = hold & 0xffff; 52373 //Tracev((stderr, "inflate: stored length %u\n", 52374 // state.length)); 52375 //=== INITBITS(); 52376 hold = 0; 52377 bits = 0; 52378 //===// 52379 state.mode = COPY_; 52380 if (flush === Z_TREES) { break inf_leave; } 52381 /* falls through */ 52382 case COPY_: 52383 state.mode = COPY; 52384 /* falls through */ 52385 case COPY: 52386 copy = state.length; 52387 if (copy) { 52388 if (copy > have) { copy = have; } 52389 if (copy > left) { copy = left; } 52390 if (copy === 0) { break inf_leave; } 52391 //--- zmemcpy(put, next, copy); --- 52392 utils.arraySet(output, input, next, copy, put); 52393 //---// 52394 have -= copy; 52395 next += copy; 52396 left -= copy; 52397 put += copy; 52398 state.length -= copy; 52399 break; 52400 } 52401 //Tracev((stderr, "inflate: stored end\n")); 52402 state.mode = TYPE; 52403 break; 52404 case TABLE: 52405 //=== NEEDBITS(14); */ 52406 while (bits < 14) { 52407 if (have === 0) { break inf_leave; } 52408 have--; 52409 hold += input[next++] << bits; 52410 bits += 8; 52411 } 52412 //===// 52413 state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257; 52414 //--- DROPBITS(5) ---// 52415 hold >>>= 5; 52416 bits -= 5; 52417 //---// 52418 state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1; 52419 //--- DROPBITS(5) ---// 52420 hold >>>= 5; 52421 bits -= 5; 52422 //---// 52423 state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4; 52424 //--- DROPBITS(4) ---// 52425 hold >>>= 4; 52426 bits -= 4; 52427 //---// 52428//#ifndef PKZIP_BUG_WORKAROUND 52429 if (state.nlen > 286 || state.ndist > 30) { 52430 strm.msg = 'too many length or distance symbols'; 52431 state.mode = BAD; 52432 break; 52433 } 52434//#endif 52435 //Tracev((stderr, "inflate: table sizes ok\n")); 52436 state.have = 0; 52437 state.mode = LENLENS; 52438 /* falls through */ 52439 case LENLENS: 52440 while (state.have < state.ncode) { 52441 //=== NEEDBITS(3); 52442 while (bits < 3) { 52443 if (have === 0) { break inf_leave; } 52444 have--; 52445 hold += input[next++] << bits; 52446 bits += 8; 52447 } 52448 //===// 52449 state.lens[order[state.have++]] = (hold & 0x07);//BITS(3); 52450 //--- DROPBITS(3) ---// 52451 hold >>>= 3; 52452 bits -= 3; 52453 //---// 52454 } 52455 while (state.have < 19) { 52456 state.lens[order[state.have++]] = 0; 52457 } 52458 // We have separate tables & no pointers. 2 commented lines below not needed. 52459 //state.next = state.codes; 52460 //state.lencode = state.next; 52461 // Switch to use dynamic table 52462 state.lencode = state.lendyn; 52463 state.lenbits = 7; 52464 52465 opts = { bits: state.lenbits }; 52466 ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts); 52467 state.lenbits = opts.bits; 52468 52469 if (ret) { 52470 strm.msg = 'invalid code lengths set'; 52471 state.mode = BAD; 52472 break; 52473 } 52474 //Tracev((stderr, "inflate: code lengths ok\n")); 52475 state.have = 0; 52476 state.mode = CODELENS; 52477 /* falls through */ 52478 case CODELENS: 52479 while (state.have < state.nlen + state.ndist) { 52480 for (;;) { 52481 here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/ 52482 here_bits = here >>> 24; 52483 here_op = (here >>> 16) & 0xff; 52484 here_val = here & 0xffff; 52485 52486 if ((here_bits) <= bits) { break; } 52487 //--- PULLBYTE() ---// 52488 if (have === 0) { break inf_leave; } 52489 have--; 52490 hold += input[next++] << bits; 52491 bits += 8; 52492 //---// 52493 } 52494 if (here_val < 16) { 52495 //--- DROPBITS(here.bits) ---// 52496 hold >>>= here_bits; 52497 bits -= here_bits; 52498 //---// 52499 state.lens[state.have++] = here_val; 52500 } 52501 else { 52502 if (here_val === 16) { 52503 //=== NEEDBITS(here.bits + 2); 52504 n = here_bits + 2; 52505 while (bits < n) { 52506 if (have === 0) { break inf_leave; } 52507 have--; 52508 hold += input[next++] << bits; 52509 bits += 8; 52510 } 52511 //===// 52512 //--- DROPBITS(here.bits) ---// 52513 hold >>>= here_bits; 52514 bits -= here_bits; 52515 //---// 52516 if (state.have === 0) { 52517 strm.msg = 'invalid bit length repeat'; 52518 state.mode = BAD; 52519 break; 52520 } 52521 len = state.lens[state.have - 1]; 52522 copy = 3 + (hold & 0x03);//BITS(2); 52523 //--- DROPBITS(2) ---// 52524 hold >>>= 2; 52525 bits -= 2; 52526 //---// 52527 } 52528 else if (here_val === 17) { 52529 //=== NEEDBITS(here.bits + 3); 52530 n = here_bits + 3; 52531 while (bits < n) { 52532 if (have === 0) { break inf_leave; } 52533 have--; 52534 hold += input[next++] << bits; 52535 bits += 8; 52536 } 52537 //===// 52538 //--- DROPBITS(here.bits) ---// 52539 hold >>>= here_bits; 52540 bits -= here_bits; 52541 //---// 52542 len = 0; 52543 copy = 3 + (hold & 0x07);//BITS(3); 52544 //--- DROPBITS(3) ---// 52545 hold >>>= 3; 52546 bits -= 3; 52547 //---// 52548 } 52549 else { 52550 //=== NEEDBITS(here.bits + 7); 52551 n = here_bits + 7; 52552 while (bits < n) { 52553 if (have === 0) { break inf_leave; } 52554 have--; 52555 hold += input[next++] << bits; 52556 bits += 8; 52557 } 52558 //===// 52559 //--- DROPBITS(here.bits) ---// 52560 hold >>>= here_bits; 52561 bits -= here_bits; 52562 //---// 52563 len = 0; 52564 copy = 11 + (hold & 0x7f);//BITS(7); 52565 //--- DROPBITS(7) ---// 52566 hold >>>= 7; 52567 bits -= 7; 52568 //---// 52569 } 52570 if (state.have + copy > state.nlen + state.ndist) { 52571 strm.msg = 'invalid bit length repeat'; 52572 state.mode = BAD; 52573 break; 52574 } 52575 while (copy--) { 52576 state.lens[state.have++] = len; 52577 } 52578 } 52579 } 52580 52581 /* handle error breaks in while */ 52582 if (state.mode === BAD) { break; } 52583 52584 /* check for end-of-block code (better have one) */ 52585 if (state.lens[256] === 0) { 52586 strm.msg = 'invalid code -- missing end-of-block'; 52587 state.mode = BAD; 52588 break; 52589 } 52590 52591 /* build code tables -- note: do not change the lenbits or distbits 52592 values here (9 and 6) without reading the comments in inftrees.h 52593 concerning the ENOUGH constants, which depend on those values */ 52594 state.lenbits = 9; 52595 52596 opts = { bits: state.lenbits }; 52597 ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); 52598 // We have separate tables & no pointers. 2 commented lines below not needed. 52599 // state.next_index = opts.table_index; 52600 state.lenbits = opts.bits; 52601 // state.lencode = state.next; 52602 52603 if (ret) { 52604 strm.msg = 'invalid literal/lengths set'; 52605 state.mode = BAD; 52606 break; 52607 } 52608 52609 state.distbits = 6; 52610 //state.distcode.copy(state.codes); 52611 // Switch to use dynamic table 52612 state.distcode = state.distdyn; 52613 opts = { bits: state.distbits }; 52614 ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); 52615 // We have separate tables & no pointers. 2 commented lines below not needed. 52616 // state.next_index = opts.table_index; 52617 state.distbits = opts.bits; 52618 // state.distcode = state.next; 52619 52620 if (ret) { 52621 strm.msg = 'invalid distances set'; 52622 state.mode = BAD; 52623 break; 52624 } 52625 //Tracev((stderr, 'inflate: codes ok\n')); 52626 state.mode = LEN_; 52627 if (flush === Z_TREES) { break inf_leave; } 52628 /* falls through */ 52629 case LEN_: 52630 state.mode = LEN; 52631 /* falls through */ 52632 case LEN: 52633 if (have >= 6 && left >= 258) { 52634 //--- RESTORE() --- 52635 strm.next_out = put; 52636 strm.avail_out = left; 52637 strm.next_in = next; 52638 strm.avail_in = have; 52639 state.hold = hold; 52640 state.bits = bits; 52641 //--- 52642 inflate_fast(strm, _out); 52643 //--- LOAD() --- 52644 put = strm.next_out; 52645 output = strm.output; 52646 left = strm.avail_out; 52647 next = strm.next_in; 52648 input = strm.input; 52649 have = strm.avail_in; 52650 hold = state.hold; 52651 bits = state.bits; 52652 //--- 52653 52654 if (state.mode === TYPE) { 52655 state.back = -1; 52656 } 52657 break; 52658 } 52659 state.back = 0; 52660 for (;;) { 52661 here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/ 52662 here_bits = here >>> 24; 52663 here_op = (here >>> 16) & 0xff; 52664 here_val = here & 0xffff; 52665 52666 if (here_bits <= bits) { break; } 52667 //--- PULLBYTE() ---// 52668 if (have === 0) { break inf_leave; } 52669 have--; 52670 hold += input[next++] << bits; 52671 bits += 8; 52672 //---// 52673 } 52674 if (here_op && (here_op & 0xf0) === 0) { 52675 last_bits = here_bits; 52676 last_op = here_op; 52677 last_val = here_val; 52678 for (;;) { 52679 here = state.lencode[last_val + 52680 ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; 52681 here_bits = here >>> 24; 52682 here_op = (here >>> 16) & 0xff; 52683 here_val = here & 0xffff; 52684 52685 if ((last_bits + here_bits) <= bits) { break; } 52686 //--- PULLBYTE() ---// 52687 if (have === 0) { break inf_leave; } 52688 have--; 52689 hold += input[next++] << bits; 52690 bits += 8; 52691 //---// 52692 } 52693 //--- DROPBITS(last.bits) ---// 52694 hold >>>= last_bits; 52695 bits -= last_bits; 52696 //---// 52697 state.back += last_bits; 52698 } 52699 //--- DROPBITS(here.bits) ---// 52700 hold >>>= here_bits; 52701 bits -= here_bits; 52702 //---// 52703 state.back += here_bits; 52704 state.length = here_val; 52705 if (here_op === 0) { 52706 //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? 52707 // "inflate: literal '%c'\n" : 52708 // "inflate: literal 0x%02x\n", here.val)); 52709 state.mode = LIT; 52710 break; 52711 } 52712 if (here_op & 32) { 52713 //Tracevv((stderr, "inflate: end of block\n")); 52714 state.back = -1; 52715 state.mode = TYPE; 52716 break; 52717 } 52718 if (here_op & 64) { 52719 strm.msg = 'invalid literal/length code'; 52720 state.mode = BAD; 52721 break; 52722 } 52723 state.extra = here_op & 15; 52724 state.mode = LENEXT; 52725 /* falls through */ 52726 case LENEXT: 52727 if (state.extra) { 52728 //=== NEEDBITS(state.extra); 52729 n = state.extra; 52730 while (bits < n) { 52731 if (have === 0) { break inf_leave; } 52732 have--; 52733 hold += input[next++] << bits; 52734 bits += 8; 52735 } 52736 //===// 52737 state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; 52738 //--- DROPBITS(state.extra) ---// 52739 hold >>>= state.extra; 52740 bits -= state.extra; 52741 //---// 52742 state.back += state.extra; 52743 } 52744 //Tracevv((stderr, "inflate: length %u\n", state.length)); 52745 state.was = state.length; 52746 state.mode = DIST; 52747 /* falls through */ 52748 case DIST: 52749 for (;;) { 52750 here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/ 52751 here_bits = here >>> 24; 52752 here_op = (here >>> 16) & 0xff; 52753 here_val = here & 0xffff; 52754 52755 if ((here_bits) <= bits) { break; } 52756 //--- PULLBYTE() ---// 52757 if (have === 0) { break inf_leave; } 52758 have--; 52759 hold += input[next++] << bits; 52760 bits += 8; 52761 //---// 52762 } 52763 if ((here_op & 0xf0) === 0) { 52764 last_bits = here_bits; 52765 last_op = here_op; 52766 last_val = here_val; 52767 for (;;) { 52768 here = state.distcode[last_val + 52769 ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; 52770 here_bits = here >>> 24; 52771 here_op = (here >>> 16) & 0xff; 52772 here_val = here & 0xffff; 52773 52774 if ((last_bits + here_bits) <= bits) { break; } 52775 //--- PULLBYTE() ---// 52776 if (have === 0) { break inf_leave; } 52777 have--; 52778 hold += input[next++] << bits; 52779 bits += 8; 52780 //---// 52781 } 52782 //--- DROPBITS(last.bits) ---// 52783 hold >>>= last_bits; 52784 bits -= last_bits; 52785 //---// 52786 state.back += last_bits; 52787 } 52788 //--- DROPBITS(here.bits) ---// 52789 hold >>>= here_bits; 52790 bits -= here_bits; 52791 //---// 52792 state.back += here_bits; 52793 if (here_op & 64) { 52794 strm.msg = 'invalid distance code'; 52795 state.mode = BAD; 52796 break; 52797 } 52798 state.offset = here_val; 52799 state.extra = (here_op) & 15; 52800 state.mode = DISTEXT; 52801 /* falls through */ 52802 case DISTEXT: 52803 if (state.extra) { 52804 //=== NEEDBITS(state.extra); 52805 n = state.extra; 52806 while (bits < n) { 52807 if (have === 0) { break inf_leave; } 52808 have--; 52809 hold += input[next++] << bits; 52810 bits += 8; 52811 } 52812 //===// 52813 state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; 52814 //--- DROPBITS(state.extra) ---// 52815 hold >>>= state.extra; 52816 bits -= state.extra; 52817 //---// 52818 state.back += state.extra; 52819 } 52820//#ifdef INFLATE_STRICT 52821 if (state.offset > state.dmax) { 52822 strm.msg = 'invalid distance too far back'; 52823 state.mode = BAD; 52824 break; 52825 } 52826//#endif 52827 //Tracevv((stderr, "inflate: distance %u\n", state.offset)); 52828 state.mode = MATCH; 52829 /* falls through */ 52830 case MATCH: 52831 if (left === 0) { break inf_leave; } 52832 copy = _out - left; 52833 if (state.offset > copy) { /* copy from window */ 52834 copy = state.offset - copy; 52835 if (copy > state.whave) { 52836 if (state.sane) { 52837 strm.msg = 'invalid distance too far back'; 52838 state.mode = BAD; 52839 break; 52840 } 52841// (!) This block is disabled in zlib defaults, 52842// don't enable it for binary compatibility 52843//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR 52844// Trace((stderr, "inflate.c too far\n")); 52845// copy -= state.whave; 52846// if (copy > state.length) { copy = state.length; } 52847// if (copy > left) { copy = left; } 52848// left -= copy; 52849// state.length -= copy; 52850// do { 52851// output[put++] = 0; 52852// } while (--copy); 52853// if (state.length === 0) { state.mode = LEN; } 52854// break; 52855//#endif 52856 } 52857 if (copy > state.wnext) { 52858 copy -= state.wnext; 52859 from = state.wsize - copy; 52860 } 52861 else { 52862 from = state.wnext - copy; 52863 } 52864 if (copy > state.length) { copy = state.length; } 52865 from_source = state.window; 52866 } 52867 else { /* copy from output */ 52868 from_source = output; 52869 from = put - state.offset; 52870 copy = state.length; 52871 } 52872 if (copy > left) { copy = left; } 52873 left -= copy; 52874 state.length -= copy; 52875 do { 52876 output[put++] = from_source[from++]; 52877 } while (--copy); 52878 if (state.length === 0) { state.mode = LEN; } 52879 break; 52880 case LIT: 52881 if (left === 0) { break inf_leave; } 52882 output[put++] = state.length; 52883 left--; 52884 state.mode = LEN; 52885 break; 52886 case CHECK: 52887 if (state.wrap) { 52888 //=== NEEDBITS(32); 52889 while (bits < 32) { 52890 if (have === 0) { break inf_leave; } 52891 have--; 52892 // Use '|' instead of '+' to make sure that result is signed 52893 hold |= input[next++] << bits; 52894 bits += 8; 52895 } 52896 //===// 52897 _out -= left; 52898 strm.total_out += _out; 52899 state.total += _out; 52900 if (_out) { 52901 strm.adler = state.check = 52902 /*UPDATE(state.check, put - _out, _out);*/ 52903 (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out)); 52904 52905 } 52906 _out = left; 52907 // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too 52908 if ((state.flags ? hold : zswap32(hold)) !== state.check) { 52909 strm.msg = 'incorrect data check'; 52910 state.mode = BAD; 52911 break; 52912 } 52913 //=== INITBITS(); 52914 hold = 0; 52915 bits = 0; 52916 //===// 52917 //Tracev((stderr, "inflate: check matches trailer\n")); 52918 } 52919 state.mode = LENGTH; 52920 /* falls through */ 52921 case LENGTH: 52922 if (state.wrap && state.flags) { 52923 //=== NEEDBITS(32); 52924 while (bits < 32) { 52925 if (have === 0) { break inf_leave; } 52926 have--; 52927 hold += input[next++] << bits; 52928 bits += 8; 52929 } 52930 //===// 52931 if (hold !== (state.total & 0xffffffff)) { 52932 strm.msg = 'incorrect length check'; 52933 state.mode = BAD; 52934 break; 52935 } 52936 //=== INITBITS(); 52937 hold = 0; 52938 bits = 0; 52939 //===// 52940 //Tracev((stderr, "inflate: length matches trailer\n")); 52941 } 52942 state.mode = DONE; 52943 /* falls through */ 52944 case DONE: 52945 ret = Z_STREAM_END; 52946 break inf_leave; 52947 case BAD: 52948 ret = Z_DATA_ERROR; 52949 break inf_leave; 52950 case MEM: 52951 return Z_MEM_ERROR; 52952 case SYNC: 52953 /* falls through */ 52954 default: 52955 return Z_STREAM_ERROR; 52956 } 52957 } 52958 52959 // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave" 52960 52961 /* 52962 Return from inflate(), updating the total counts and the check value. 52963 If there was no progress during the inflate() call, return a buffer 52964 error. Call updatewindow() to create and/or update the window state. 52965 Note: a memory error from inflate() is non-recoverable. 52966 */ 52967 52968 //--- RESTORE() --- 52969 strm.next_out = put; 52970 strm.avail_out = left; 52971 strm.next_in = next; 52972 strm.avail_in = have; 52973 state.hold = hold; 52974 state.bits = bits; 52975 //--- 52976 52977 if (state.wsize || (_out !== strm.avail_out && state.mode < BAD && 52978 (state.mode < CHECK || flush !== Z_FINISH))) { 52979 if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) { 52980 state.mode = MEM; 52981 return Z_MEM_ERROR; 52982 } 52983 } 52984 _in -= strm.avail_in; 52985 _out -= strm.avail_out; 52986 strm.total_in += _in; 52987 strm.total_out += _out; 52988 state.total += _out; 52989 if (state.wrap && _out) { 52990 strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ 52991 (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out)); 52992 } 52993 strm.data_type = state.bits + (state.last ? 64 : 0) + 52994 (state.mode === TYPE ? 128 : 0) + 52995 (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); 52996 if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) { 52997 ret = Z_BUF_ERROR; 52998 } 52999 return ret; 53000} 53001 53002function inflateEnd(strm) { 53003 53004 if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) { 53005 return Z_STREAM_ERROR; 53006 } 53007 53008 var state = strm.state; 53009 if (state.window) { 53010 state.window = null; 53011 } 53012 strm.state = null; 53013 return Z_OK; 53014} 53015 53016function inflateGetHeader(strm, head) { 53017 var state; 53018 53019 /* check state */ 53020 if (!strm || !strm.state) { return Z_STREAM_ERROR; } 53021 state = strm.state; 53022 if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; } 53023 53024 /* save header structure */ 53025 state.head = head; 53026 head.done = false; 53027 return Z_OK; 53028} 53029 53030function inflateSetDictionary(strm, dictionary) { 53031 var dictLength = dictionary.length; 53032 53033 var state; 53034 var dictid; 53035 var ret; 53036 53037 /* check state */ 53038 if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; } 53039 state = strm.state; 53040 53041 if (state.wrap !== 0 && state.mode !== DICT) { 53042 return Z_STREAM_ERROR; 53043 } 53044 53045 /* check for correct dictionary identifier */ 53046 if (state.mode === DICT) { 53047 dictid = 1; /* adler32(0, null, 0)*/ 53048 /* dictid = adler32(dictid, dictionary, dictLength); */ 53049 dictid = adler32(dictid, dictionary, dictLength, 0); 53050 if (dictid !== state.check) { 53051 return Z_DATA_ERROR; 53052 } 53053 } 53054 /* copy dictionary to window using updatewindow(), which will amend the 53055 existing dictionary if appropriate */ 53056 ret = updatewindow(strm, dictionary, dictLength, dictLength); 53057 if (ret) { 53058 state.mode = MEM; 53059 return Z_MEM_ERROR; 53060 } 53061 state.havedict = 1; 53062 // Tracev((stderr, "inflate: dictionary set\n")); 53063 return Z_OK; 53064} 53065 53066exports.inflateReset = inflateReset; 53067exports.inflateReset2 = inflateReset2; 53068exports.inflateResetKeep = inflateResetKeep; 53069exports.inflateInit = inflateInit; 53070exports.inflateInit2 = inflateInit2; 53071exports.inflate = inflate; 53072exports.inflateEnd = inflateEnd; 53073exports.inflateGetHeader = inflateGetHeader; 53074exports.inflateSetDictionary = inflateSetDictionary; 53075exports.inflateInfo = 'pako inflate (from Nodeca project)'; 53076 53077/* Not implemented 53078exports.inflateCopy = inflateCopy; 53079exports.inflateGetDictionary = inflateGetDictionary; 53080exports.inflateMark = inflateMark; 53081exports.inflatePrime = inflatePrime; 53082exports.inflateSync = inflateSync; 53083exports.inflateSyncPoint = inflateSyncPoint; 53084exports.inflateUndermine = inflateUndermine; 53085*/ 53086 53087 53088/***/ }
53088), 53089/* 936 */ 53090/***/ (function(module, exports, __webpack_require__
vendor: 12,683 bytes, lines 53090-53440
53090) { 53091 53092"use strict"; 53093 53094 53095// (C) 1995-2013 Jean-loup Gailly and Mark Adler 53096// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 53097// 53098// This software is provided 'as-is', without any express or implied 53099// warranty. In no event will the authors be held liable for any damages 53100// arising from the use of this software. 53101// 53102// Permission is granted to anyone to use this software for any purpose, 53103// including commercial applications, and to alter it and redistribute it 53104// freely, subject to the following restrictions: 53105// 53106// 1. The origin of this software must not be misrepresented; you must not 53107// claim that you wrote the original software. If you use this software 53108// in a product, an acknowledgment in the product documentation would be 53109// appreciated but is not required. 53110// 2. Altered source versions must be plainly marked as such, and must not be 53111// misrepresented as being the original software. 53112// 3. This notice may not be removed or altered from any source distribution. 53113 53114// See state defs from inflate.js 53115var BAD = 30; /* got a data error -- remain here until reset */ 53116var TYPE = 12; /* i: waiting for type bits, including last-flag bit */ 53117 53118/* 53119 Decode literal, length, and distance codes and write out the resulting 53120 literal and match bytes until either not enough input or output is 53121 available, an end-of-block is encountered, or a data error is encountered. 53122 When large enough input and output buffers are supplied to inflate(), for 53123 example, a 16K input buffer and a 64K output buffer, more than 95% of the 53124 inflate execution time is spent in this routine. 53125 53126 Entry assumptions: 53127 53128 state.mode === LEN 53129 strm.avail_in >= 6 53130 strm.avail_out >= 258 53131 start >= strm.avail_out 53132 state.bits < 8 53133 53134 On return, state.mode is one of: 53135 53136 LEN -- ran out of enough output space or enough available input 53137 TYPE -- reached end of block code, inflate() to interpret next block 53138 BAD -- error in block data 53139 53140 Notes: 53141 53142 - The maximum input bits used by a length/distance pair is 15 bits for the 53143 length code, 5 bits for the length extra, 15 bits for the distance code, 53144 and 13 bits for the distance extra. This totals 48 bits, or six bytes. 53145 Therefore if strm.avail_in >= 6, then there is enough input to avoid 53146 checking for available input while decoding. 53147 53148 - The maximum bytes that a single length/distance pair can output is 258 53149 bytes, which is the maximum length that can be coded. inflate_fast() 53150 requires strm.avail_out >= 258 for each loop to avoid checking for 53151 output space. 53152 */ 53153module.exports = function inflate_fast(strm, start) { 53154 var state; 53155 var _in; /* local strm.input */ 53156 var last; /* have enough input while in < last */ 53157 var _out; /* local strm.output */ 53158 var beg; /* inflate()'s initial strm.output */ 53159 var end; /* while out < end, enough space available */ 53160//#ifdef INFLATE_STRICT 53161 var dmax; /* maximum distance from zlib header */ 53162//#endif 53163 var wsize; /* window size or zero if not using window */ 53164 var whave; /* valid bytes in the window */ 53165 var wnext; /* window write index */ 53166 // Use `s_window` instead `window`, avoid conflict with instrumentation tools 53167 var s_window; /* allocated sliding window, if wsize != 0 */ 53168 var hold; /* local strm.hold */ 53169 var bits; /* local strm.bits */ 53170 var lcode; /* local strm.lencode */ 53171 var dcode; /* local strm.distcode */ 53172 var lmask; /* mask for first level of length codes */ 53173 var dmask; /* mask for first level of distance codes */ 53174 var here; /* retrieved table entry */ 53175 var op; /* code bits, operation, extra bits, or */ 53176 /* window position, window bytes to copy */ 53177 var len; /* match length, unused bytes */ 53178 var dist; /* match distance */ 53179 var from; /* where to copy match from */ 53180 var from_source; 53181 53182 53183 var input, output; // JS specific, because we have no pointers 53184 53185 /* copy state to local variables */ 53186 state = strm.state; 53187 //here = state.here; 53188 _in = strm.next_in; 53189 input = strm.input; 53190 last = _in + (strm.avail_in - 5); 53191 _out = strm.next_out; 53192 output = strm.output; 53193 beg = _out - (start - strm.avail_out); 53194 end = _out + (strm.avail_out - 257); 53195//#ifdef INFLATE_STRICT 53196 dmax = state.dmax; 53197//#endif 53198 wsize = state.wsize; 53199 whave = state.whave; 53200 wnext = state.wnext; 53201 s_window = state.window; 53202 hold = state.hold; 53203 bits = state.bits; 53204 lcode = state.lencode; 53205 dcode = state.distcode; 53206 lmask = (1 << state.lenbits) - 1; 53207 dmask = (1 << state.distbits) - 1; 53208 53209 53210 /* decode literals and length/distances until end-of-block or not enough 53211 input data or output space */ 53212 53213 top: 53214 do { 53215 if (bits < 15) { 53216 hold += input[_in++] << bits; 53217 bits += 8; 53218 hold += input[_in++] << bits; 53219 bits += 8; 53220 } 53221 53222 here = lcode[hold & lmask]; 53223 53224 dolen: 53225 for (;;) { // Goto emulation 53226 op = here >>> 24/*here.bits*/; 53227 hold >>>= op; 53228 bits -= op; 53229 op = (here >>> 16) & 0xff/*here.op*/; 53230 if (op === 0) { /* literal */ 53231 //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? 53232 // "inflate: literal '%c'\n" : 53233 // "inflate: literal 0x%02x\n", here.val)); 53234 output[_out++] = here & 0xffff/*here.val*/; 53235 } 53236 else if (op & 16) { /* length base */ 53237 len = here & 0xffff/*here.val*/; 53238 op &= 15; /* number of extra bits */ 53239 if (op) { 53240 if (bits < op) { 53241 hold += input[_in++] << bits; 53242 bits += 8; 53243 } 53244 len += hold & ((1 << op) - 1); 53245 hold >>>= op; 53246 bits -= op; 53247 } 53248 //Tracevv((stderr, "inflate: length %u\n", len)); 53249 if (bits < 15) { 53250 hold += input[_in++] << bits; 53251 bits += 8; 53252 hold += input[_in++] << bits; 53253 bits += 8; 53254 } 53255 here = dcode[hold & dmask]; 53256 53257 dodist: 53258 for (;;) { // goto emulation 53259 op = here >>> 24/*here.bits*/; 53260 hold >>>= op; 53261 bits -= op; 53262 op = (here >>> 16) & 0xff/*here.op*/; 53263 53264 if (op & 16) { /* distance base */ 53265 dist = here & 0xffff/*here.val*/; 53266 op &= 15; /* number of extra bits */ 53267 if (bits < op) { 53268 hold += input[_in++] << bits; 53269 bits += 8; 53270 if (bits < op) { 53271 hold += input[_in++] << bits; 53272 bits += 8; 53273 } 53274 } 53275 dist += hold & ((1 << op) - 1); 53276//#ifdef INFLATE_STRICT 53277 if (dist > dmax) { 53278 strm.msg = 'invalid distance too far back'; 53279 state.mode = BAD; 53280 break top; 53281 } 53282//#endif 53283 hold >>>= op; 53284 bits -= op; 53285 //Tracevv((stderr, "inflate: distance %u\n", dist)); 53286 op = _out - beg; /* max distance in output */ 53287 if (dist > op) { /* see if copy from window */ 53288 op = dist - op; /* distance back in window */ 53289 if (op > whave) { 53290 if (state.sane) { 53291 strm.msg = 'invalid distance too far back'; 53292 state.mode = BAD; 53293 break top; 53294 } 53295 53296// (!) This block is disabled in zlib defaults, 53297// don't enable it for binary compatibility 53298//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR 53299// if (len <= op - whave) { 53300// do { 53301// output[_out++] = 0; 53302// } while (--len); 53303// continue top; 53304// } 53305// len -= op - whave; 53306// do { 53307// output[_out++] = 0; 53308// } while (--op > whave); 53309// if (op === 0) { 53310// from = _out - dist; 53311// do { 53312// output[_out++] = output[from++]; 53313// } while (--len); 53314// continue top; 53315// } 53316//#endif 53317 } 53318 from = 0; // window index 53319 from_source = s_window; 53320 if (wnext === 0) { /* very common case */ 53321 from += wsize - op; 53322 if (op < len) { /* some from window */ 53323 len -= op; 53324 do { 53325 output[_out++] = s_window[from++]; 53326 } while (--op); 53327 from = _out - dist; /* rest from output */ 53328 from_source = output; 53329 } 53330 } 53331 else if (wnext < op) { /* wrap around window */ 53332 from += wsize + wnext - op; 53333 op -= wnext; 53334 if (op < len) { /* some from end of window */ 53335 len -= op; 53336 do { 53337 output[_out++] = s_window[from++]; 53338 } while (--op); 53339 from = 0; 53340 if (wnext < len) { /* some from start of window */ 53341 op = wnext; 53342 len -= op; 53343 do { 53344 output[_out++] = s_window[from++]; 53345 } while (--op); 53346 from = _out - dist; /* rest from output */ 53347 from_source = output; 53348 } 53349 } 53350 } 53351 else { /* contiguous in window */ 53352 from += wnext - op; 53353 if (op < len) { /* some from window */ 53354 len -= op; 53355 do { 53356 output[_out++] = s_window[from++]; 53357 } while (--op); 53358 from = _out - dist; /* rest from output */ 53359 from_source = output; 53360 } 53361 } 53362 while (len > 2) { 53363 output[_out++] = from_source[from++]; 53364 output[_out++] = from_source[from++]; 53365 output[_out++] = from_source[from++]; 53366 len -= 3; 53367 } 53368 if (len) { 53369 output[_out++] = from_source[from++]; 53370 if (len > 1) { 53371 output[_out++] = from_source[from++]; 53372 } 53373 } 53374 } 53375 else { 53376 from = _out - dist; /* copy direct from output */ 53377 do { /* minimum length is three */ 53378 output[_out++] = output[from++]; 53379 output[_out++] = output[from++]; 53380 output[_out++] = output[from++]; 53381 len -= 3; 53382 } while (len > 2); 53383 if (len) { 53384 output[_out++] = output[from++]; 53385 if (len > 1) { 53386 output[_out++] = output[from++]; 53387 } 53388 } 53389 } 53390 } 53391 else if ((op & 64) === 0) { /* 2nd level distance code */ 53392 here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; 53393 continue dodist; 53394 } 53395 else { 53396 strm.msg = 'invalid distance code'; 53397 state.mode = BAD; 53398 break top; 53399 } 53400 53401 break; // need to emulate goto via "continue" 53402 } 53403 } 53404 else if ((op & 64) === 0) { /* 2nd level length code */ 53405 here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; 53406 continue dolen; 53407 } 53408 else if (op & 32) { /* end-of-block */ 53409 //Tracevv((stderr, "inflate: end of block\n")); 53410 state.mode = TYPE; 53411 break top; 53412 } 53413 else { 53414 strm.msg = 'invalid literal/length code'; 53415 state.mode = BAD; 53416 break top; 53417 } 53418 53419 break; // need to emulate goto via "continue" 53420 } 53421 } while (_in < last && _out < end); 53422 53423 /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ 53424 len = bits >> 3; 53425 _in -= len; 53426 bits -= len << 3; 53427 hold &= (1 << bits) - 1; 53428 53429 /* update state and return */ 53430 strm.next_in = _in; 53431 strm.next_out = _out; 53432 strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last)); 53433 strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end)); 53434 state.hold = hold; 53435 state.bits = bits; 53436 return; 53437}; 53438 53439 53440/***/ }
53440), 53441/* 937 */ 53442/***/ (function(module, exports, __webpack_require__) { 53443 53444"use strict"; 53445 53446 53447// (C) 1995-2013 Jean-loup Gailly and Mark Adler 53448// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 53449// 53450// This software is provided 'as-is', without any express or implied 53451// warranty. In no event will the authors be held liable for any damages 53452// arising from the use of this software. 53453// 53454// Permission is granted to anyone to use this software for any purpose, 53455// including commercial applications, and to alter it and redistribute it 53456// freely, subject to the following restrictions: 53457// 53458// 1. The origin of this software must not be misrepresented; you must not 53459// claim that you wrote the original software. If you use this software 53460// in a product, an acknowledgment in the product documentation would be 53461// appreciated but is not required. 53462// 2. Altered source versions must be plainly marked as such, and must not be 53463// misrepresented as being the original software. 53464// 3. This notice may not be removed or altered from any source distribution. 53465 53466var utils = __webpack_require__(395
vendor: 11,496 bytes, lines 53466-53790
53466); 53467 53468var MAXBITS = 15; 53469var ENOUGH_LENS = 852; 53470var ENOUGH_DISTS = 592; 53471//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); 53472 53473var CODES = 0; 53474var LENS = 1; 53475var DISTS = 2; 53476 53477var lbase = [ /* Length codes 257..285 base */ 53478 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 53479 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 53480]; 53481 53482var lext = [ /* Length codes 257..285 extra */ 53483 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 53484 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 53485]; 53486 53487var dbase = [ /* Distance codes 0..29 base */ 53488 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 53489 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 53490 8193, 12289, 16385, 24577, 0, 0 53491]; 53492 53493var dext = [ /* Distance codes 0..29 extra */ 53494 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 53495 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 53496 28, 28, 29, 29, 64, 64 53497]; 53498 53499module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) 53500{ 53501 var bits = opts.bits; 53502 //here = opts.here; /* table entry for duplication */ 53503 53504 var len = 0; /* a code's length in bits */ 53505 var sym = 0; /* index of code symbols */ 53506 var min = 0, max = 0; /* minimum and maximum code lengths */ 53507 var root = 0; /* number of index bits for root table */ 53508 var curr = 0; /* number of index bits for current table */ 53509 var drop = 0; /* code bits to drop for sub-table */ 53510 var left = 0; /* number of prefix codes available */ 53511 var used = 0; /* code entries in table used */ 53512 var huff = 0; /* Huffman code */ 53513 var incr; /* for incrementing code, index */ 53514 var fill; /* index for replicating entries */ 53515 var low; /* low bits for current root entry */ 53516 var mask; /* mask for low root bits */ 53517 var next; /* next available space in table */ 53518 var base = null; /* base value table to use */ 53519 var base_index = 0; 53520// var shoextra; /* extra bits table to use */ 53521 var end; /* use base and extra for symbol > end */ 53522 var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */ 53523 var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */ 53524 var extra = null; 53525 var extra_index = 0; 53526 53527 var here_bits, here_op, here_val; 53528 53529 /* 53530 Process a set of code lengths to create a canonical Huffman code. The 53531 code lengths are lens[0..codes-1]. Each length corresponds to the 53532 symbols 0..codes-1. The Huffman code is generated by first sorting the 53533 symbols by length from short to long, and retaining the symbol order 53534 for codes with equal lengths. Then the code starts with all zero bits 53535 for the first code of the shortest length, and the codes are integer 53536 increments for the same length, and zeros are appended as the length 53537 increases. For the deflate format, these bits are stored backwards 53538 from their more natural integer increment ordering, and so when the 53539 decoding tables are built in the large loop below, the integer codes 53540 are incremented backwards. 53541 53542 This routine assumes, but does not check, that all of the entries in 53543 lens[] are in the range 0..MAXBITS. The caller must assure this. 53544 1..MAXBITS is interpreted as that code length. zero means that that 53545 symbol does not occur in this code. 53546 53547 The codes are sorted by computing a count of codes for each length, 53548 creating from that a table of starting indices for each length in the 53549 sorted table, and then entering the symbols in order in the sorted 53550 table. The sorted table is work[], with that space being provided by 53551 the caller. 53552 53553 The length counts are used for other purposes as well, i.e. finding 53554 the minimum and maximum length codes, determining if there are any 53555 codes at all, checking for a valid set of lengths, and looking ahead 53556 at length counts to determine sub-table sizes when building the 53557 decoding tables. 53558 */ 53559 53560 /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ 53561 for (len = 0; len <= MAXBITS; len++) { 53562 count[len] = 0; 53563 } 53564 for (sym = 0; sym < codes; sym++) { 53565 count[lens[lens_index + sym]]++; 53566 } 53567 53568 /* bound code lengths, force root to be within code lengths */ 53569 root = bits; 53570 for (max = MAXBITS; max >= 1; max--) { 53571 if (count[max] !== 0) { break; } 53572 } 53573 if (root > max) { 53574 root = max; 53575 } 53576 if (max === 0) { /* no symbols to code at all */ 53577 //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */ 53578 //table.bits[opts.table_index] = 1; //here.bits = (var char)1; 53579 //table.val[opts.table_index++] = 0; //here.val = (var short)0; 53580 table[table_index++] = (1 << 24) | (64 << 16) | 0; 53581 53582 53583 //table.op[opts.table_index] = 64; 53584 //table.bits[opts.table_index] = 1; 53585 //table.val[opts.table_index++] = 0; 53586 table[table_index++] = (1 << 24) | (64 << 16) | 0; 53587 53588 opts.bits = 1; 53589 return 0; /* no symbols, but wait for decoding to report error */ 53590 } 53591 for (min = 1; min < max; min++) { 53592 if (count[min] !== 0) { break; } 53593 } 53594 if (root < min) { 53595 root = min; 53596 } 53597 53598 /* check for an over-subscribed or incomplete set of lengths */ 53599 left = 1; 53600 for (len = 1; len <= MAXBITS; len++) { 53601 left <<= 1; 53602 left -= count[len]; 53603 if (left < 0) { 53604 return -1; 53605 } /* over-subscribed */ 53606 } 53607 if (left > 0 && (type === CODES || max !== 1)) { 53608 return -1; /* incomplete set */ 53609 } 53610 53611 /* generate offsets into symbol table for each length for sorting */ 53612 offs[1] = 0; 53613 for (len = 1; len < MAXBITS; len++) { 53614 offs[len + 1] = offs[len] + count[len]; 53615 } 53616 53617 /* sort symbols by length, by symbol order within each length */ 53618 for (sym = 0; sym < codes; sym++) { 53619 if (lens[lens_index + sym] !== 0) { 53620 work[offs[lens[lens_index + sym]]++] = sym; 53621 } 53622 } 53623 53624 /* 53625 Create and fill in decoding tables. In this loop, the table being 53626 filled is at next and has curr index bits. The code being used is huff 53627 with length len. That code is converted to an index by dropping drop 53628 bits off of the bottom. For codes where len is less than drop + curr, 53629 those top drop + curr - len bits are incremented through all values to 53630 fill the table with replicated entries. 53631 53632 root is the number of index bits for the root table. When len exceeds 53633 root, sub-tables are created pointed to by the root entry with an index 53634 of the low root bits of huff. This is saved in low to check for when a 53635 new sub-table should be started. drop is zero when the root table is 53636 being filled, and drop is root when sub-tables are being filled. 53637 53638 When a new sub-table is needed, it is necessary to look ahead in the 53639 code lengths to determine what size sub-table is needed. The length 53640 counts are used for this, and so count[] is decremented as codes are 53641 entered in the tables. 53642 53643 used keeps track of how many table entries have been allocated from the 53644 provided *table space. It is checked for LENS and DIST tables against 53645 the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in 53646 the initial root table size constants. See the comments in inftrees.h 53647 for more information. 53648 53649 sym increments through all symbols, and the loop terminates when 53650 all codes of length max, i.e. all codes, have been processed. This 53651 routine permits incomplete codes, so another loop after this one fills 53652 in the rest of the decoding tables with invalid code markers. 53653 */ 53654 53655 /* set up for code type */ 53656 // poor man optimization - use if-else instead of switch, 53657 // to avoid deopts in old v8 53658 if (type === CODES) { 53659 base = extra = work; /* dummy value--not used */ 53660 end = 19; 53661 53662 } else if (type === LENS) { 53663 base = lbase; 53664 base_index -= 257; 53665 extra = lext; 53666 extra_index -= 257; 53667 end = 256; 53668 53669 } else { /* DISTS */ 53670 base = dbase; 53671 extra = dext; 53672 end = -1; 53673 } 53674 53675 /* initialize opts for loop */ 53676 huff = 0; /* starting code */ 53677 sym = 0; /* starting code symbol */ 53678 len = min; /* starting code length */ 53679 next = table_index; /* current table to fill in */ 53680 curr = root; /* current table index bits */ 53681 drop = 0; /* current bits to drop from code for index */ 53682 low = -1; /* trigger new sub-table when len > root */ 53683 used = 1 << root; /* use root table entries */ 53684 mask = used - 1; /* mask for comparing low */ 53685 53686 /* check available table space */ 53687 if ((type === LENS && used > ENOUGH_LENS) || 53688 (type === DISTS && used > ENOUGH_DISTS)) { 53689 return 1; 53690 } 53691 53692 /* process all codes and make table entries */ 53693 for (;;) { 53694 /* create table entry */ 53695 here_bits = len - drop; 53696 if (work[sym] < end) { 53697 here_op = 0; 53698 here_val = work[sym]; 53699 } 53700 else if (work[sym] > end) { 53701 here_op = extra[extra_index + work[sym]]; 53702 here_val = base[base_index + work[sym]]; 53703 } 53704 else { 53705 here_op = 32 + 64; /* end of block */ 53706 here_val = 0; 53707 } 53708 53709 /* replicate for those indices with low len bits equal to huff */ 53710 incr = 1 << (len - drop); 53711 fill = 1 << curr; 53712 min = fill; /* save offset to next table */ 53713 do { 53714 fill -= incr; 53715 table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0; 53716 } while (fill !== 0); 53717 53718 /* backwards increment the len-bit code huff */ 53719 incr = 1 << (len - 1); 53720 while (huff & incr) { 53721 incr >>= 1; 53722 } 53723 if (incr !== 0) { 53724 huff &= incr - 1; 53725 huff += incr; 53726 } else { 53727 huff = 0; 53728 } 53729 53730 /* go to next symbol, update count, len */ 53731 sym++; 53732 if (--count[len] === 0) { 53733 if (len === max) { break; } 53734 len = lens[lens_index + work[sym]]; 53735 } 53736 53737 /* create new sub-table if needed */ 53738 if (len > root && (huff & mask) !== low) { 53739 /* if first time, transition to sub-tables */ 53740 if (drop === 0) { 53741 drop = root; 53742 } 53743 53744 /* increment past last table */ 53745 next += min; /* here min is 1 << curr */ 53746 53747 /* determine length of next table */ 53748 curr = len - drop; 53749 left = 1 << curr; 53750 while (curr + drop < max) { 53751 left -= count[curr + drop]; 53752 if (left <= 0) { break; } 53753 curr++; 53754 left <<= 1; 53755 } 53756 53757 /* check for enough space */ 53758 used += 1 << curr; 53759 if ((type === LENS && used > ENOUGH_LENS) || 53760 (type === DISTS && used > ENOUGH_DISTS)) { 53761 return 1; 53762 } 53763 53764 /* point entry in root table to sub-table */ 53765 low = huff & mask; 53766 /*table.op[low] = curr; 53767 table.bits[low] = root; 53768 table.val[low] = next - opts.table_index;*/ 53769 table[low] = (root << 24) | (curr << 16) | (next - table_index) |0; 53770 } 53771 } 53772 53773 /* fill in remaining table entry if code is incomplete (guaranteed to have 53774 at most one remaining entry, since if the code is incomplete, the 53775 maximum code length that was allowed to get this far is one bit) */ 53776 if (huff !== 0) { 53777 //table.op[next + huff] = 64; /* invalid code marker */ 53778 //table.bits[next + huff] = len - drop; 53779 //table.val[next + huff] = 0; 53780 table[next + huff] = ((len - drop) << 24) | (64 << 16) |0; 53781 } 53782 53783 /* set return parameters */ 53784 //opts.table_index += used; 53785 opts.bits = root; 53786 return 0; 53787}; 53788 53789 53790/***/ }
53790), 53791/* 938 */ 53792/***/ (function(module, exports, __webpack_require__) { 53793 53794"use strict"; 53795 53796 53797// (C) 1995-2013 Jean-loup Gailly and Mark Adler 53798// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin 53799// 53800// This software is provided 'as-is', without any express or implied 53801// warranty. In no event will the authors be held liable for any damages 53802// arising from the use of this software. 53803// 53804// Permission is granted to anyone to use this software for any purpose, 53805// including commercial applications, and to alter it and redistribute it 53806// freely, subject to the following restrictions: 53807// 53808// 1. The origin of this software must not be misrepresented; you must not 53809// claim that you wrote the original software. If you use this software 53810// in a product, an acknowledgment in the product documentation would be 53811// appreciated but is not required. 53812// 2. Altered source versions must be plainly marked as such, and must not be 53813// misrepresented as being the original software. 53814// 3. This notice may not be removed or altered from any source distribution. 53815 53816module.exports = { 53817 53818 /* Allowed flush values; see deflate() and inflate() below for details */ 53819 Z_NO_FLUSH: 0, 53820 Z_PARTIAL_FLUSH: 1, 53821 Z_SYNC_FLUSH: 2, 53822 Z_FULL_FLUSH: 3, 53823 Z_FINISH: 4, 53824 Z_BLOCK: 5, 53825 Z_TREES: 6, 53826 53827 /* Return codes for the compression/decompression functions. Negative values 53828 * are errors, positive values are used for special but normal events. 53829 */ 53830 Z_OK: 0, 53831 Z_STREAM_END: 1, 53832 Z_NEED_DICT: 2, 53833 Z_ERRNO: -1, 53834 Z_STREAM_ERROR: -2, 53835 Z_DATA_ERROR: -3, 53836 //Z_MEM_ERROR: -4, 53837 Z_BUF_ERROR: -5, 53838 //Z_VERSION_ERROR: -6, 53839 53840 /* compression levels */ 53841 Z_NO_COMPRESSION: 0, 53842 Z_BEST_SPEED: 1, 53843 Z_BEST_COMPRESSION: 9, 53844 Z_DEFAULT_COMPRESSION: -1, 53845 53846 53847 Z_FILTERED: 1, 53848 Z_HUFFMAN_ONLY: 2, 53849 Z_RLE: 3, 53850 Z_FIXED: 4, 53851 Z_DEFAULT_STRATEGY: 0, 53852 53853 /* Possible values of the data_type field (though see inflate()) */ 53854 Z_BINARY: 0, 53855 Z_TEXT: 1, 53856 //Z_ASCII: 1, // = Z_TEXT (deprecated) 53857 Z_UNKNOWN: 2, 53858 53859 /* The deflate compression method */ 53860 Z_DEFLATED: 8 53861 //Z_NULL: null // Use -1 or null inline, depending on var type 53862}; 53863 53864 53865/***/ }), 53866/* 939 */, 53867/* 940 */, 53868/* 941 */, 53869/* 942 */, 53870/* 943 */, 53871/* 944 */ 53872/***/ (function(module, __webpack_exports__, __webpack_require__) { 53873 53874"use strict"; 53875 53876// EXPORTS 53877__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ AudioEnginebabel_target_legacy_AudioEngine; }); 53878 53879// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 53880var es_symbolbabel_target_legacy = __webpack_require__(71); 53881 53882// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 53883var es_array_concatbabel_target_legacy = __webpack_require__(75); 53884 53885// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 53886var es_array_filterbabel_target_legacy = __webpack_require__(70); 53887 53888// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js?babel-target=legacy 53889var es_array_findbabel_target_legacy = __webpack_require__(182); 53890 53891// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 53892var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 53893 53894// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js?babel-target=legacy 53895var es_array_includesbabel_target_legacy = __webpack_require__(124); 53896 53897// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js?babel-target=legacy 53898var es_array_iteratorbabel_target_legacy = __webpack_require__(138); 53899 53900// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 53901var es_array_mapbabel_target_legacy = __webpack_require__(77); 53902 53903// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js?babel-target=legacy 53904var es_array_reducebabel_target_legacy = __webpack_require__(162); 53905 53906// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 53907var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 53908 53909// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 53910var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 53911 53912// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 53913var es_object_keysbabel_target_legacy = __webpack_require__(89); 53914 53915// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 53916var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 53917 53918// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js?babel-target=legacy 53919var es_promisebabel_target_legacy = __webpack_require__(187); 53920 53921// EXTERNAL MODULE: ./node_modules/core-js/modules/es.reflect.construct.js?babel-target=legacy 53922var es_reflect_constructbabel_target_legacy = __webpack_require__(462); 53923 53924// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js?babel-target=legacy 53925var es_regexp_to_stringbabel_target_legacy = __webpack_require__(156); 53926 53927// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.ends-with.js?babel-target=legacy 53928var es_string_ends_withbabel_target_legacy = __webpack_require__(266); 53929 53930// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js?babel-target=legacy 53931var es_string_iteratorbabel_target_legacy = __webpack_require__(237); 53932 53933// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 53934var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 53935 53936// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js?babel-target=legacy 53937var web_dom_collections_iteratorbabel_target_legacy = __webpack_require__(257); 53938 53939// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 53940var slicedToArraybabel_target_legacy = __webpack_require__(8); 53941var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 53942 53943// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 53944var toConsumableArraybabel_target_legacy = __webpack_require__(37); 53945var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 53946
53947// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 53948var definePropertybabel_target_legacy = __webpack_require__(15); 53949var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 53950 53951// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 53952var regenerator_babel_target_legacy = __webpack_require__(6); 53953var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 53954 53955// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 53956var runtimebabel_target_legacy = __webpack_require__(60); 53957 53958// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 53959var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 53960var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 53961 53962// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js?babel-target=legacy 53963var classCallCheckbabel_target_legacy = __webpack_require__(233); 53964var classCallCheckbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classCallCheckbabel_target_legacy); 53965 53966// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js?babel-target=legacy 53967var createClassbabel_target_legacy = __webpack_require__(234); 53968var createClassbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(createClassbabel_target_legacy); 53969 53970// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js?babel-target=legacy 53971var inheritsbabel_target_legacy = __webpack_require__(955); 53972var inheritsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(inheritsbabel_target_legacy); 53973 53974// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?babel-target=legacy 53975var possibleConstructorReturnbabel_target_legacy = __webpack_require__(956); 53976var possibleConstructorReturnbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturnbabel_target_legacy); 53977 53978// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js?babel-target=legacy 53979var getPrototypeOfbabel_target_legacy = __webpack_require__(791); 53980var getPrototypeOfbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOfbabel_target_legacy); 53981 53982// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 53983var preact_modulebabel_target_legacy = __webpack_require__(1); 53984 53985// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js?babel-target=legacy 53986var es_array_index_ofbabel_target_legacy = __webpack_require__(265); 53987 53988// CONCATENATED MODULE: ./src/lib/capabilities.ts?babel-target=legacy 53989 53990var supportsMSE = function supportsMSE() { 53991 return "MediaSource" in window || "WebKitMediaSource" in window; 53992}; 53993var isSafari = function isSafari() { 53994 return navigator.vendor && navigator.vendor.indexOf("Apple") > -1 && navigator.userAgent && navigator.userAgent.indexOf("CriOS") === -1 && navigator.userAgent.indexOf("FxiOS") === -1; 53995}; 53996// EXTERNAL MODULE: ./node_modules/@alugha/ima/lib/esm?babel-target=legacy + 2 modules 53997var esm_babel_target_legacy = __webpack_require__(334); 53998 53999// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 54000var loggerbabel_target_legacy = __webpack_require__(10); 54001 54002// CONCATENATED MODULE: ./src/lib/audioEngine.ts?babel-target=legacy 54003 54004 54005 54006 54007 54008 54009 54010 54011 54012 54013 54014 54015 54016function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 54017 54018function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
54018 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 54019 54020 54021 54022 54023var getDash = /*#__PURE__*/function () { 54024 var _ref = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 54025 var w; 54026 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 54027 while (1) { 54028 switch (_context.prev = _context.next) { 54029 case 0: 54030 w = window; 54031 54032 if (w.dashjs) { 54033 _context.next = 4; 54034 break; 54035 } 54036 54037 _context.next = 4; 54038 return Object(esm_babel_target_legacy["b" /* loadScript */])("//cdn.dashjs.org/latest/dash.mediaplayer.min.js"); 54039 54040 case 4: 54041 if (w.dashjs) { 54042 _context.next = 6; 54043 break; 54044 } 54045 54046 throw new Error("Could not load dash"); 54047 54048 case 6: 54049 return _context.abrupt("return", w.dashjs); 54050 54051 case 7: 54052 case "end": 54053 return _context.stop(); 54054 } 54055 } 54056 }, _callee); 54057 })); 54058 54059 return function getDash() { 54060 return _ref.apply(this, arguments); 54061 }; 54062}(); 54063var getHls = /*#__PURE__*/function () { 54064 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 54065 var w; 54066 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 54067 while (1) { 54068 switch (_context2.prev = _context2.next) { 54069 case 0: 54070 w = window; 54071 54072 if (w.Hls) { 54073 _context2.next = 4; 54074 break; 54075 } 54076 54077 _context2.next = 4; 54078 return Object(esm_babel_target_legacy["b" /* loadScript */])("//cdn.jsdelivr.net/npm/hls.js@latest/dist/hls.light.js"); 54079 54080 case 4: 54081 if (w.Hls) { 54082 _context2.next = 6; 54083 break; 54084 } 54085 54086 throw new Error("Could not load hls"); 54087 54088 case 6: 54089 return _context2.abrupt("return", w.Hls); 54090 54091 case 7: 54092 case "end": 54093 return _context2.stop(); 54094 } 54095 } 54096 }, _callee2); 54097 })); 54098 54099 return function getHls() { 54100 return _ref2.apply(this, arguments); 54101 }; 54102}(); 54103var bindDash = /*#__PURE__*/function () { 54104 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee3(audio, stream, onError) { 54105 var _yield$getDash, MediaPlayer, dash; 54106 54107 return regenerator_babel_target_legacy_default.a.wrap(function _callee3$(_context3) { 54108 while (1) { 54109 switch (_context3.prev = _context3.next) { 54110 case 0: 54111 if (!(!audio || !supportsMSE())) { 54112 _context3.next = 2; 54113 break; 54114 } 54115 54116 return _context3.abrupt("return"); 54117 54118 case 2: 54119 _context3.prev = 2; 54120 _context3.next = 5; 54121 return getDash(); 54122 54123 case 5: 54124 _yield$getDash = _context3.sent; 54125 MediaPlayer = _yield$getDash.MediaPlayer; 54126 dash = MediaPlayer().create(); 54127 54128 if (onError) { 54129 dash.on(MediaPlayer.events.ERROR, onError); 54130 } 54131 54132 dash.initialize(audio, stream.url, false); 54133 return _context3.abrupt("return", dash); 54134 54135 case 13: 54136 _context3.prev = 13; 54137 _context3.t0 = _context3["catch"](2); 54138 Object(loggerbabel_target_legacy["e" /* warn */])("Couldn't load DASH library"); 54139 return _context3.abrupt("return"); 54140 54141 case 17: 54142 case "end": 54143 return _context3.stop(); 54144 } 54145 } 54146 }, _callee3, null, [[2, 13]]); 54147 })); 54148 54149 return function bindDash(_x, _x2, _x3) { 54150 return _ref3.apply(this, arguments); 54151 }; 54152}(); 54153var justEnabled = function justEnabled(streams) { 54154 return streams.filter(function (stream) { 54155 return !stream.disabled; 54156 }); 54157}; 54158var reEnableAll = function reEnableAll(streams) { 54159 return streams.map(function (stream) { 54160 return _objectSpread(_objectSpread({}, stream), {}, { 54161 disabled: false 54162 }); 54163 }); 54164}; 54165var audioEnginebabel_target_legacy_canPlayNativeM3U = function canPlayNativeM3U(audio) { 54166 if (!audio) { 54167 return false;
54168 } 54169 54170 try { 54171 var canplay = audio.canPlayType("application/vnd.apple.mpegurl"); 54172 return canplay === "probably" || canplay === "maybe"; 54173 } catch (err) { 54174 Object(loggerbabel_target_legacy["e" /* warn */])("canplaytype error", err); 54175 return false; 54176 } 54177}; 54178var bindHls = /*#__PURE__*/function () { 54179 var _ref4 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee4(audio, stream, onError) { 54180 var Hls, hls; 54181 return regenerator_babel_target_legacy_default.a.wrap(function _callee4$(_context4) { 54182 while (1) { 54183 switch (_context4.prev = _context4.next) { 54184 case 0: 54185 if (audio) { 54186 _context4.next = 2; 54187 break; 54188 } 54189 54190 return _context4.abrupt("return", []); 54191 54192 case 2: 54193 if (!audioEnginebabel_target_legacy_canPlayNativeM3U(audio)) { 54194 _context4.next = 6; 54195 break; 54196 } 54197 54198 Object(loggerbabel_target_legacy["c" /* log */])("can play native m3u"); 54199 audio.src = stream.url; 54200 return _context4.abrupt("return", ["nativehls"]); 54201 54202 case 6: 54203 if (supportsMSE()) { 54204 _context4.next = 9; 54205 break; 54206 } 54207 54208 Object(loggerbabel_target_legacy["c" /* log */])("No media source extension support"); 54209 return _context4.abrupt("return", []); 54210 54211 case 9: 54212 _context4.prev = 9; 54213 _context4.next = 12; 54214 return getHls(); 54215 54216 case 12: 54217 Hls = _context4.sent; 54218 Object(loggerbabel_target_legacy["c" /* log */])(Hls.isSupported() ? "HLS loaded" : "HLS not loaded"); 54219 _context4.next = 19; 54220 break; 54221 54222 case 16: 54223 _context4.prev = 16; 54224 _context4.t0 = _context4["catch"](9); 54225 Object(loggerbabel_target_legacy["e" /* warn */])("Couldn't load HLS library"); 54226 54227 case 19: 54228 if (!(!Hls || !Hls.isSupported())) { 54229 _context4.next = 21; 54230 break; 54231 } 54232 54233 return _context4.abrupt("return", []); 54234 54235 case 21: 54236 hls = new Hls(); 54237 hls.attachMedia(audio); 54238 hls.loadSource(stream.url); 54239 hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) { 54240 Object(loggerbabel_target_legacy["c" /* log */])("HLS manifest loaded, found ", data); 54241 }); 54242 54243 if (onError) { 54244 hls.on(Hls.Events.ERROR, onError); 54245 } 54246 54247 return _context4.abrupt("return", ["hls", hls]); 54248 54249 case 27: 54250 case "end": 54251 return _context4.stop(); 54252 } 54253 } 54254 }, _callee4, null, [[9, 16]]); 54255 })); 54256 54257 return function bindHls(_x4, _x5, _x6) { 54258 return _ref4.apply(this, arguments); 54259 }; 54260}(); 54261// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js?babel-target=legacy 54262var es_regexp_execbabel_target_legacy = __webpack_require__(93); 54263 54264// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js?babel-target=legacy 54265var es_string_matchbabel_target_legacy = __webpack_require__(302); 54266 54267// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js?babel-target=legacy 54268var es_string_replacebabel_target_legacy = __webpack_require__(269); 54269 54270// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js?babel-target=legacy 54271var es_string_searchbabel_target_legacy = __webpack_require__(254); 54272 54273// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js?babel-target=legacy 54274var es_string_splitbabel_target_legacy = __webpack_require__(252); 54275 54276// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js?babel-target=legacy 54277var es_string_trimbabel_target_legacy = __webpack_require__(303); 54278 54279// CONCATENATED MODULE: ./src/lib/Playlist/m3u.js?babel-target=legacy 54280 54281 54282 54283 54284 54285 54286 54287 54288// Generated by CoffeeScript 2.3.2 54289// http://gonze.com/playlists/playlist-format-survey.html#M3U 54290var COMMENT_RE, EXTENDED, comments, empty, extended, m3ubabel_target_legacy_parse, simple; 54291EXTENDED = '#EXTM3U'; 54292COMMENT_RE = /:(?:(-?\d+),(.+)\s*-\s*(.+)|(.+))\n(.+)/; // #EXTINF:822,Iron Maiden - Rime of the Ancient Mariner 54293 54294extended = function extended(line) { 54295 var match; 54296 match = line.match(COMMENT_RE); 54297 54298 if (match && match.length === 6) { 54299 return { 54300 length: match[1] || 0, 54301 artist: match[2] || '', 54302 title: match[4] || match[3], 54303 file: match[5].trim() 54304 }; 54305 } 54306}; 54307 54308simple = function simple(string) { 54309 return { 54310 file: string.trim() 54311 }; 54312}; 54313 54314empty = function empty(line) { 54315 return !!line.trim().length; 54316}; 54317 54318comments = function comments(line) { 54319 return line[0] !== '#'; 54320}; 54321 54322m3ubabel_target_legacy_parse = function parse(playlist) { 54323 var firstNewline; 54324 playlist = playlist.replace(/\r/g, ''); 54325 firstNewline = playlist.search('\n'); 54326 54327 if (playlist.substr(0, firstNewline) === EXTENDED) { 54328 return playlist.substr(firstNewline).split('\n#').filter(empty).map(extended); 54329 } else { 54330 return playlist.split('\n').filter(empty).filter(comments).map(simple); 54331 } 54332}; 54333 54334var M3U = { 54335 name: 'm3u', 54336 parse: m3ubabel_target_legacy_parse 54337}; 54338// CONCATENATED MODULE: ./src/lib/Playlist/pls.js?babel-target=legacy 54339 54340 54341 54342 54343 54344 54345// Generated by CoffeeScript 2.3.2 54346var LISTING_RE, plsbabel_target_legacy_parse; 54347LISTING_RE = /(file|title|length)(\d+)=(.+)\r?/i; 54348 54349plsbabel_target_legacy_parse = function parse(playlist) { 54350 var _, i, index, key, len, line, match, ref, tracks, value; 54351 54352 tracks = []; 54353 ref = playlist.trim().split('\n'); 54354 54355 for (i = 0, len = ref.length; i < len; i++) { 54356 line = ref[i]; 54357 match = line.match(LISTING_RE); 54358 54359 if (match && match.length === 4) { 54360 var _match = match; 54361 54362 var _match2 = slicedToArraybabel_target_legacy_default()(_match, 4); 54363 54364 _ = _match2[0]; 54365 key = _match2[1]; 54366 index = _match2[2]; 54367 value = _match2[3]; 54368 54369 if (!tracks[index]) { 54370 tracks[index] = {}; 54371 } 54372 54373 tracks[index][key.toLowerCase()] = value; 54374 } 54375 } 54376 54377 return tracks.filter(function (track) { 54378 return track != null; 54379 }); 54380}; 54381 54382var PLS = { 54383 name: 'pls', 54384 parse: plsbabel_target_legacy_parse 54385}; 54386// CONCATENATED MODULE: ./src/lib/Playlist/index.ts?babel-target=legacy 54387 54388 54389// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 54390var utilsbabel_target_legacy = __webpack_require__(48); 54391 54392// EXTERNAL MODULE: ./src/lib/fetchTimeout.js?babel-target=legacy + 1 modules 54393var fetchTimeoutbabel_target_legacy = __webpack_require__(127); 54394 54395// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 54396var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 54397var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 54398 54399// EXTERNAL MODULE: ./src/components/TransportControls/index.ts?babel-target=legacy + 11 modules 54400var TransportControlsbabel_target_legacy = __webpack_require__(784); 54401 54402// CONCATENATED MODULE: ./src/components/DebugController/DebugController.tsx?babel-target=legacy 54403 54404 54405 54406var DebugControllerbabel_target_legacy_DebugController = function DebugController(_ref) { 54407 var playerType = _ref.playerType, 54408 currentStream = _ref.currentStream, 54409 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["playerType", "currentStream"]); 54410 54411 return Object(preact_modulebabel_target_legacy["h"])("div", null, Object(preact_modulebabel_target_legacy["h"])(TransportControlsbabel_target_legacy["a" /* TransportControls */], props), Object(preact_modulebabel_target_legacy["h"])("p", null, "Player: ", Object(preact_modulebabel_target_legacy["h"])("span", { 54412 id: "playerType" 54413 }, playerType)), currentStream && Object(preact_modulebabel_target_legacy["h"])("p", null, "Stream
54413: ", Object(preact_modulebabel_target_legacy["h"])("span", { 54414 id: "streamUrl" 54415 }, currentStream.url), ". Format:", " ", Object(preact_modulebabel_target_legacy["h"])("span", { 54416 id: "streamFormat" 54417 }, currentStream.format))); 54418}; 54419/* harmony default export */ var DebugControllerbabel_target_legacy = (DebugControllerbabel_target_legacy_DebugController); 54420// CONCATENATED MODULE: ./src/components/DebugController/index.ts?babel-target=legacy 54421 54422// EXTERNAL MODULE: ./node_modules/lodash.isequal?babel-target=legacy 54423var lodash_isequal_babel_target_legacy = __webpack_require__(957); 54424var lodash_isequal_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal_babel_target_legacy); 54425 54426// CONCATENATED MODULE: ./src/components/AudioEngine/AudioEngine.tsx?babel-target=legacy 54427 54428 54429 54430 54431 54432 54433 54434 54435 54436 54437 54438 54439 54440 54441 54442 54443 54444 54445 54446 54447 54448 54449 54450 54451 54452 54453 54454 54455 54456 54457 54458 54459function AudioEnginebabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 54460 54461function AudioEnginebabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { AudioEnginebabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { AudioEnginebabel_target_legacy_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 54462 54463function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOfbabel_target_legacy_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOfbabel_target_legacy_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturnbabel_target_legacy_default()(this, result); }; } 54464 54465function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 54466 54467 54468 54469 54470 54471 54472 54473 54474 54475var RETRY_COUNT = 4; 54476var BACKOFF = true; 54477var INITIAL_STATE = { 54478 filteredStreams: [], 54479 playlistStreams: [], 54480 playerType: "none" 54481}; 54482var specialStreams = ["hls", "dash", "pls", "x-scpls", "m3u"]; 54483 54484var isNormal = function isNormal(stream) { 54485 return !specialStreams.includes(stream.format); 54486}; 54487 54488var AudioEnginebabel_target_legacy_AudioEngine = /*#__PURE__*/function (_Component) { 54489 inheritsbabel_target_legacy_default()(AudioEngine, _Component); 54490 54491 var _super = _createSuper(AudioEngine); 54492 54493 function AudioEngine() { 54494 var _this; 54495 54496 classCallCheckbabel_target_legacy_default()(this, AudioEngine); 54497 54498 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 54499 args[_key] = arguments[_key]; 54500 } 54501 54502 _this = _super.call.apply(_super, [this].concat(args)); 54503 _this.audioKey = 0; 54504 _this.state = INITIAL_STATE; 54505 _this.audio = void 0; 54506 _this.hls = void 0; 54507 _this.dash = void 0; 54508 _this.hlsStream = void 0; 54509 _this.dashStream = void 0; 54510 _this.stallTimeout = void 0; 54511 _this.failCount = 0; 54512 _this.tryToPlay = false; 54513 _this.adPlayer = void 0; 54514 54515 _this.seek = function (time) { 54516 if (!_this.audio) { 54517 return; 54518 } 54519 54520 _this.setState({ 54521 time: time 54522 }); 54523 54524 if (_this.dash && _this.dash.getDVRWindowSize()) { 54525 var live = _this.audio.currentTime - (_this.state.time || 0); 54526 _this.audio.currentTime = live + time; 54527 return; 54528 } 54529 54530 _this.audio.currentTime = time; 54531 }; 54532 54533 _this.skipBack = function () { 54534 var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10; 54535 54536 if (!_this.audio) { 54537 return; 54538 } 54539 54540 _this.audio.currentTime = Math.max(_this.audio.currentTime - amount, _this.state.start || 0); 54541 }; 54542 54543 _this.skipForward = function () { 54544 var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30; 54545 54546 if (!_this.audio) { 54547 return; 54548 } // if (this.dash) { 54549 // this.dash.seek( 54550 // Math.min( 54551 // this.audio.currentTime + amount, 54552 // this.dash.duration() - 5 54553 // ) 54554 // ); 54555 // return; 54556 // } 54557 54558 54559 _this.audio.currentTime = Math.min(_this.audio.currentTime + amount, _this.audio.duration - 5); 54560 }; 54561 54562 _this.skipToStart = function () { 54563 if (!_this.audio) { 54564 return; 54565 } 54566 54567 if (_this.dash) { 54568 _this.dash.seek(0); 54569 54570 return; 54571 } 54572 54573 _this.audio.currentTime = 0; 54574 }; 54575 54576 _this.skipToEnd = function () { 54577 if (!_this.audio) { 54578 console.log("No audio"); 54579 return; 54580 } 54581 54582 if (_this.dash) { 54583 console.log("Dash seek"); 54584 54585 _this.dash.seek(_this.dash.duration()); 54586 } else if (_this.audio.duration) { 54587 console.log("this.audio.duration", _this.audio.duration); 54588 _this.audio.currentTime = _this.audio.duration; 54589 } 54590 }; 54591 54592 _this.toggleAudio = function (play) { 54593 Object(loggerbabel_target_legacy["c" /* log */])("Toggle audio", play); 54594 54595 if (!play) { 54596 if (!_this.props.isOnDemand && !_this.hls && !_this.dash) _this.audioKey += 1; // Force a new audio element to be created so that the stream is reloaded and begins from live 54597 54598 _this.pauseAudio(); 54599 54600 return; 54601 } 54602 54603 _this.playAudio(); 54604 }; 54605 54606 _this.brieflyMute = function () { 54607 if (!_this.audio) { 54608 return; 54609 } 54610 54611 Object(loggerbabel_target_legacy["c" /* log */])("Briefly muting"); 54612 _this.audio.muted = true; 54613 window.setTimeout(function () { 54614 Object(loggerbabel_target_legacy["c" /* log */])("Unmuting"); 54615 54616 if (_this.audio) { 54617 _this.audio.muted = false;
54618 } 54619 }, 500); 54620 }; 54621 54622 _this.pauseAudio = function () { 54623 if (!_this.audio) { 54624 return; 54625 } 54626 54627 Object(loggerbabel_target_legacy["c" /* log */])("pause audio"); 54628 54629 _this.audio.pause(); 54630 }; 54631 54632 _this.playAudio = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 54633 var _this$hls, promise; 54634 54635 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 54636 while (1) { 54637 switch (_context.prev = _context.next) { 54638 case 0: 54639 if (_this.audio) { 54640 _context.next = 2; 54641 break; 54642 } 54643 54644 return _context.abrupt("return"); 54645 54646 case 2: 54647 _context.prev = 2; 54648 Object(loggerbabel_target_legacy["c" /* log */])("play audio"); 54649 54650 if (!!_this.hls && _this.props.isOnDemand) { 54651 _this.audio.currentTime = ((_this$hls = _this.hls) === null || _this$hls === void 0 ? void 0 : _this$hls.liveSyncPosition) || 0; 54652 } 54653 54654 promise = _this.audio.play(); 54655 54656 if (!promise) { 54657 _context.next = 9; 54658 break; 54659 } 54660 54661 _context.next = 9; 54662 return Object(fetchTimeoutbabel_target_legacy["c" /* timeoutPromise */])(promise, 5000, "Audio playback failed"); 54663 54664 case 9: 54665 _context.next = 15; 54666 break; 54667 54668 case 11: 54669 _context.prev = 11; 54670 _context.t0 = _context["catch"](2); 54671 Object(loggerbabel_target_legacy["b" /* error */])("Playback error", _context.t0); 54672 54673 _this.reloadAudio(); 54674 54675 case 15: 54676 case "end": 54677 return _context.stop(); 54678 } 54679 } 54680 }, _callee, null, [[2, 11]]); 54681 })); 54682 54683 _this.adPlayerRequestPause = function () { 54684 _this.setState({ 54685 disableControls: true 54686 }); 54687 54688 _this.pauseAudio(); 54689 }; 54690 54691 _this.adPlayerRequestPlay = function () { 54692 _this.setState({ 54693 disableControls: false 54694 }); 54695 54696 _this.playAudio(); 54697 }; 54698 54699 _this.reloadAudio = function () { 54700 Object(loggerbabel_target_legacy["c" /* log */])("Reload audio"); 54701 54702 if (_this.state.playerType === "dash" && _this.dash && _this.dashStream) { 54703 _this.dash.attachSource(_this.dashStream.url); 54704 } else if (_this.state.playerType === "hls" && _this.hls) { 54705 _this.hls.startLoad(); 54706 } else if (_this.audio) { 54707 _this.tryToPlay = true; 54708 54709 _this.setupStreams(_this.props.streams); 54710 } 54711 54712 _this.handleStall(); 54713 }; 54714 54715 _this.decorateURL = function (url) { 54716 return Object(utilsbabel_target_legacy["b" /* decorateUrl */])(url, [["___cb", Object(utilsbabel_target_legacy["h" /* getCachebuster */])()]]); 54717 }; 54718 54719 _this.onTimeUpdated = function (status) { 54720 if (_this.props.onTimeUpdated) { 54721 _this.props.onTimeUpdated(status); 54722 } 54723 }; 54724 54725 _this.onStreamUpdated = function (info) { 54726 if (_this.props.onStreamUpdated) { 54727 _this.props.onStreamUpdated(info); 54728 } 54729 54730 Object(loggerbabel_target_legacy["a" /* debug */])("Stream", info); 54731 }; 54732 54733 _this.loadPlaylists = /*#__PURE__*/function () { 54734 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2(streams) { 54735 var playlistStreams; 54736 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 54737 while (1) { 54738 switch (_context2.prev = _context2.next) { 54739 case 0: 54740 _context2.next = 2; 54741 return Promise.all(streams.filter(function (stream) { 54742 return ["pls", "m3u", "x-scpls"].includes(stream.format); 54743 }).map(_this.loadPlaylist)); 54744 54745 case 2: 54746 playlistStreams = _context2.sent.reduce(function (acc, val) { 54747 return acc.concat(val); 54748 }, []); 54749 54750 // Array.flat() 54751 _this.setState({ 54752 playlistStreams: playlistStreams 54753 }, function () { 54754 if (_this.state.playerType === "dash" && _this.dash && _this.audio) { 54755 _this.dash.attachView(_this.audio); 54756 } 54757 }); 54758 54759 case 4: 54760 case "end": 54761 return _context2.stop(); 54762 } 54763 } 54764 }, _callee2); 54765 })); 54766 54767 return function (_x) { 54768 return _ref2.apply(this, arguments); 54769 }; 54770 }(); 54771 54772 _this.disableMatchingStream = function (stream) { 54773 if (!_this.state.stream || stream.url !== _this.state.stream.url) { 54774 return stream; 54775 } 54776 54777 return AudioEnginebabel_target_legacy_objectSpread(AudioEnginebabel_target_legacy_objectSpread({}, stream), {}, { 54778 disabled: true 54779 }); 54780 }; 54781 54782 _this.disableCurrentStream = function () { 54783 _this.tryToPlay = true; 54784 54785 if (!_this.state.stream) { 54786 Object(loggerbabel_target_legacy["e" /* warn */])("No current stream"); 54787 return; 54788 } 54789
54790 if (_this.state.filteredStreams.length + _this.state.playlistStreams.length === 1) { 54791 Object(loggerbabel_target_legacy["e" /* warn */])("Only one track, so not disabling"); 54792 54793 _this.reloadAudio(); 54794 54795 return; 54796 } 54797 54798 var filteredStreams = _this.state.filteredStreams.map(_this.disableMatchingStream); 54799 54800 var playlistStreams = _this.state.playlistStreams.map(_this.disableMatchingStream); 54801 54802 if (_this.enabledNativeStreams().length === 0) { 54803 Object(loggerbabel_target_legacy["c" /* log */])("Reenabling all"); 54804 filteredStreams = reEnableAll(filteredStreams); 54805 playlistStreams = reEnableAll(playlistStreams); 54806 } 54807 54808 if (_this.audio) { 54809 _this.audio.autoplay = true; 54810 } 54811 54812 Object(loggerbabel_target_legacy["c" /* log */])("New stream list: ", _this.enabledNativeStreams()); 54813 54814 _this.setState({ 54815 playlistStreams: playlistStreams, 54816 filteredStreams: filteredStreams 54817 }); 54818 }; 54819 54820 _this.setFatal = function (status) { 54821 _this.setState({ 54822 fatal: status 54823 }, function () { 54824 if (_this.props.onStreamError) { 54825 _this.props.onStreamError(status); 54826 } 54827 }); 54828 }; 54829 54830 _this.handleFatalError = function () { 54831 Object(loggerbabel_target_legacy["e" /* warn */])("Handling fatal error"); 54832 54833 if (_this.state.playerType !== "native") { 54834 Object(loggerbabel_target_legacy["a" /* debug */])("Not a native stream"); 54835 Object(loggerbabel_target_legacy["e" /* warn */])("SOUND OF SILENCE"); 54836 54837 _this.setFatal(true); 54838 54839 return; 54840 } 54841 54842 if (_this.enabledNativeStreams().length > 1) { 54843 Object(loggerbabel_target_legacy["e" /* warn */])("More than one stream enabled, so disabling"); 54844 54845 _this.disableCurrentStream(); 54846 } else { 54847 _this.setFatal(true); 54848 54849 Object(loggerbabel_target_legacy["e" /* warn */])("SOUND OF SILENCE"); 54850 } 54851 }; 54852 54853 _this.handleNetworkError = function (err) { 54854 Object(loggerbabel_target_legacy["e" /* warn */])("Network error", err); 54855 54856 _this.handleStall(err); 54857 }; 54858 54859 _this.incrementFail = function () { 54860 _this.failCount++; 54861 Object(loggerbabel_target_legacy["c" /* log */])("Failed again", _this.failCount); 54862 }; 54863 54864 _this.handleError = function (event) { 54865 var audio = _this.audio; 54866 Object(loggerbabel_target_legacy["c" /* log */])("Fail count", _this.failCount); 54867 Object(loggerbabel_target_legacy["e" /* warn */])("Stream error", event, audio.error); 54868 54869 if (!audio || !audio.error) { 54870 if (event.currentTarget.tagName === "SOURCE") { 54871 _this.handleNetworkError(event); 54872 } 54873 54874 return; 54875 } 54876 54877 switch (audio.error.code) { 54878 case MediaError.MEDIA_ERR_DECODE: 54879 case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED: 54880 _this.handleFatalError(); 54881 54882 break; 54883 54884 case MediaError.MEDIA_ERR_NETWORK: 54885 case MediaError.MEDIA_ERR_ABORTED: 54886 _this.handleNetworkError(event); 54887 54888 break; 54889 54890 default: 54891 Object(loggerbabel_target_legacy["e" /* warn */])("Unknown error", audio.error); 54892 } 54893 }; 54894 54895 _this.loadPlaylist = /*#__PURE__*/function () { 54896 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee3(playlist) { 54897 var Parser, req, pls, result; 54898 return regenerator_babel_target_legacy_default.a.wrap(function _callee3$(_context3) { 54899 while (1) { 54900 switch (_context3.prev = _context3.next) { 54901 case 0: 54902 if (["pls", "m3u", "x-scpls"].includes(playlist.format)) { 54903 _context3.next = 2; 54904 break; 54905 } 54906 54907 return _context3.abrupt("return", []); 54908 54909 case 2: 54910 _context3.prev = 2; 54911 Parser = ["pls", "x-scpls"].includes(playlist.format) ? PLS : M3U; 54912 _context3.next = 6; 54913 return Object(fetchTimeoutbabel_target_legacy["a" /* default */])(playlist.url, {}, 4000); 54914 54915 case 6: 54916 req = _context3.sent; 54917 _context3.next = 9; 54918 return req.text(); 54919 54920 case 9: 54921 pls = _context3.sent; 54922 result = Parser.parse(pls); 54923 return _context3.abrupt("return", result.map(function (item) { 54924 return { 54925 url: item.file, 54926 format: "mp3" 54927 }; 54928 })); 54929 54930 case 14: 54931 _context3.prev = 14; 54932 _context3.t0 = _context3["catch"](2); 54933 Object(loggerbabel_target_legacy["e" /* warn */])("Playlist error", _context3.t0); 54934 54935 case 17: 54936 return _context3.abrupt("return", []); 54937 54938 case 18: 54939 case "end": 54940 return _context3.stop(); 54941 } 54942 } 54943 }, _callee3, null, [[2, 14]]); 54944 })); 54945 54946 return function (_x2) { 54947 return _ref3.apply(this, arguments); 54948 }; 54949 }(); 54950 54951 _this.nativeStreams = function () { 54952 return [].concat(toConsumableArraybabel_target_legacy_default()(_this.state.playlistStreams), toConsumableArraybabel_target_legacy_default()(_this.state.filteredStream
54952s)); 54953 }; 54954 54955 _this.enabledNativeStreams = function () { 54956 return justEnabled(_this.nativeStreams()); 54957 }; 54958 54959 _this.setupStreams = /*#__PURE__*/function () { 54960 var _ref4 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee4(streams) { 54961 var filteredStreams; 54962 return regenerator_babel_target_legacy_default.a.wrap(function _callee4$(_context4) { 54963 while (1) { 54964 switch (_context4.prev = _context4.next) { 54965 case 0: 54966 Object(loggerbabel_target_legacy["c" /* log */])("Streams"); 54967 Object(loggerbabel_target_legacy["d" /* table */])(streams); 54968 54969 if (!(!streams || !_this.audio)) { 54970 _context4.next = 5; 54971 break; 54972 } 54973 54974 Object(loggerbabel_target_legacy["e" /* warn */])("No streams or audio"); 54975 return _context4.abrupt("return"); 54976 54977 case 5: 54978 _this.dashStream = streams.find(function (stream) { 54979 return stream.format === "dash"; 54980 }); 54981 _this.hlsStream = streams.find(function (stream) { 54982 return stream.format === "hls"; 54983 }); 54984 filteredStreams = streams.filter(isNormal).map(function (stream) { 54985 return { 54986 format: stream.format, 54987 url: _this.decorateURL(stream.url) 54988 }; 54989 }); 54990 Object(loggerbabel_target_legacy["a" /* debug */])("Filtered streams", filteredStreams); 54991 54992 _this.setState({ 54993 filteredStreams: filteredStreams 54994 }); 54995 54996 if (!_this.dashStream) { 54997 _context4.next = 19; 54998 break; 54999 } 55000 55001 if (!_this.dash) { 55002 _context4.next = 15; 55003 break; 55004 } 55005 55006 _this.dash.attachSource(_this.dashStream.url); 55007 55008 _context4.next = 18; 55009 break; 55010 55011 case 15: 55012 _context4.next = 17; 55013 return bindDash(_this.audio, _this.dashStream, function (event) { 55014 if (_this.hlsStream) { 55015 _this.loadHls(); 55016 } else { 55017 _this.switchToNative(); 55018 } 55019 55020 _this.setState({ 55021 error: event.error.toString() 55022 }); 55023 }); 55024 55025 case 17: 55026 _this.dash = _context4.sent; 55027 55028 case 18: 55029 if (_this.dash) { 55030 _this.setState({ 55031 playerType: "dash" 55032 }); 55033 } else { 55034 _this.switchToNative(); 55035 } 55036 55037 case 19: 55038 if (!_this.dash && _this.hlsStream) { 55039 _this.loadHls(); 55040 } 55041 55042 _this.loadPlaylists(streams); 55043 55044 case 21: 55045 case "end": 55046 return _context4.stop(); 55047 } 55048 } 55049 }, _callee4); 55050 })); 55051 55052 return function (_x3) { 55053 return _ref4.apply(this, arguments); 55054 }; 55055 }(); 55056 55057 _this.switchToNative = function () { 55058 Object(loggerbabel_target_legacy["c" /* log */])("Switching to native", _this.state); 55059 55060 if (_this.nativeStreams().length) { 55061 _this.setState({ 55062 playerType: "native" 55063 }); 55064 } else { 55065 Object(loggerbabel_target_legacy["e" /* warn */])("No native fallback", _this.props.streams); 55066 55067 _this.setFatal(true); 55068 } 55069 }; 55070 55071 _this.handleStall = function (event) { 55072 _this.sendTimeUpdateFromState(); 55073 55074 if (_this.stallTimeout) { 55075 Object(loggerbabel_target_legacy["a" /* debug */])("Already waiting"); 55076 return; 55077 } 55078 55079 Object(loggerbabel_target_legacy["a" /* debug */])("Stalled...", event); 55080 Object(loggerbabel_target_legacy["a" /* debug */])("Network status", _this.audio && _this.audio.networkState); 55081 Object(loggerbabel_target_legacy["a" /* debug */])("Ready state", _this.audio && _this.audio.readyState); 55082 var timeout = BACKOFF ? Math.pow(2, _this.failCount) + 2 : 3; 55083 Object(loggerbabel_target_legacy["a" /* debug */])("Waiting for", timeout); 55084 55085 if (_this.failCount && _this.audio && _this.audio.readyState === HTMLMediaElement.HAVE_NOTHING) { 55086 _this.setState({ 55087 stalled: true 55088 }, _this.sendTimeUpdateFromState); 55089 } 55090 55091 _this.stallTimeout = window.setTimeout(_this.stallCallback, timeout * 1000); 55092 }; 55093 55094 _this.stallCallback = function () { 55095 if (!_this.audio) { 55096 return; 55097 } 55098 55099 Object(loggerbabel_target_legacy["e" /* warn */])("Stall callback. Count", _this.failCount); 55100 55101 if (_this.failCount >= RETRY_COUNT) { 55102 Object(loggerbabel_target_legacy["e" /* warn */])("Fail count hit limit"); 55103 55104 _this.clearStall("stallCallback"); 55105
55106 _this.handleFatalError(); 55107 } else { 55108 _this.setState({ 55109 // stalled: false, 55110 fatal: false, 55111 paused: _this.audio.paused 55112 }, function () { 55113 _this.incrementFail(); 55114 55115 Object(loggerbabel_target_legacy["c" /* log */])("Incrementing fail count", _this.failCount); 55116 _this.stallTimeout = undefined; 55117 55118 if (_this.audio && _this.audio.readyState === HTMLMediaElement.HAVE_NOTHING) { 55119 _this.reloadAudio(); 55120 } 55121 55122 _this.sendTimeUpdateFromState(); 55123 55124 _this.setFatal(false); 55125 }); 55126 } // 55127 55128 }; 55129 55130 _this.clearStall = function (evt) { 55131 _this.failCount = 0; 55132 55133 if (_this.state.stalled) { 55134 Object(loggerbabel_target_legacy["c" /* log */])("Clearing stall", evt); 55135 55136 _this.setState({ 55137 stalled: false, 55138 paused: _this.audio.paused 55139 }, _this.sendTimeUpdateFromState); 55140 } 55141 55142 if (_this.state.fatal) { 55143 _this.setFatal(false); 55144 } 55145 55146 if (!_this.stallTimeout) { 55147 return; 55148 } 55149 55150 if (_this.stallTimeout) { 55151 Object(loggerbabel_target_legacy["a" /* debug */])("Cleared stall timeout", evt); 55152 window.clearTimeout(_this.stallTimeout); 55153 _this.stallTimeout = undefined; 55154 } 55155 }; 55156 55157 _this.loadHls = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee5() { 55158 var _yield$bindHls, _yield$bindHls2, playerType, hls; 55159 55160 return regenerator_babel_target_legacy_default.a.wrap(function _callee5$(_context5) { 55161 while (1) { 55162 switch (_context5.prev = _context5.next) { 55163 case 0: 55164 if (!(!_this.hlsStream || !_this.audio)) { 55165 _context5.next = 2; 55166 break; 55167 } 55168 55169 return _context5.abrupt("return"); 55170 55171 case 2: 55172 if (!_this.hls) { 55173 _context5.next = 5; 55174 break; 55175 } 55176 55177 _this.hls.loadSource(_this.hlsStream.url); 55178 55179 return _context5.abrupt("return"); 55180 55181 case 5: 55182 _context5.next = 7; 55183 return bindHls(_this.audio, _this.hlsStream, function (event, data) { 55184 Object(loggerbabel_target_legacy["e" /* warn */])("HLS error", data); 55185 55186 _this.setState({ 55187 error: data.details 55188 }); 55189 55190 if (data.fatal) { 55191 _this.switchToNative(); 55192 } 55193 }); 55194 55195 case 7: 55196 _yield$bindHls = _context5.sent; 55197 _yield$bindHls2 = slicedToArraybabel_target_legacy_default()(_yield$bindHls, 2); 55198 playerType = _yield$bindHls2[0]; 55199 hls = _yield$bindHls2[1]; 55200 55201 if (!(playerType === "hls" && hls)) { 55202 _context5.next = 15; 55203 break; 55204 } 55205 55206 _this.hls = hls; 55207 55208 _this.setState({ 55209 playerType: "hls" 55210 }); 55211 55212 return _context5.abrupt("return"); 55213 55214 case 15: 55215 if (!(playerType === "nativehls")) { 55216 _context5.next = 18; 55217 break; 55218 } 55219 55220 _this.setState({ 55221 playerType: "nativehls" 55222 }); 55223 55224 return _context5.abrupt("return"); 55225 55226 case 18: 55227 _this.switchToNative(); 55228 55229 case 19: 55230 case "end": 55231 return _context5.stop(); 55232 } 55233 } 55234 }, _callee5); 55235 })); 55236 55237 _this.onPlay = function (e) { 55238 return Object(loggerbabel_target_legacy["a" /* debug */])("Play", e); 55239 }; 55240 55241 _this.onTime = function (ev) { 55242 if (!_this.audio) { 55243 return; 55244 } 55245 55246 var seekable; 55247 var time; 55248 var start = 0; 55249 var end; 55250 55251 if (_this.dash && _this.dash.getDVRWindowSize() < Infinity && !isNaN(_this.dash.getCurrentLiveLatency())) { 55252 time = _this.audio.currentTime; 55253 end = time + _this.dash.getCurrentLiveLatency(); 55254 start = end - _this.dash.getDVRWindowSize(); 55255 55256 if (_this.audio.seekable.length) { 55257 seekable = [_this.audio.seekable.start(0), _this.audio.seekable.end(0)]; 55258 } 55259 55260 _this.setState({ 55261 start: start, 55262 end: end, 55263 time: time, 55264 seekable: seekable, 55265 liveBuffer: _this.dash.getBufferLength("audio"), 55266 live: _this.dash.getDVRWindowSize() > 0 55267 }); 55268 55269 _this.onTimeUpdated({ 55270 start: start, 55271 time: time, 55272 end: end, 55273 paused: _this.audio.paused, 55274 seekable: !!_this.audio.seekable.length, 55275 live: true, 55276 stalled: !!_this.state.stalled, 55277 volume: _this.audio.volume 55278 }); 55279 55280 return; 55281 } 55282 55283 time = _this.audio.currentTime; 55284 end = _this.audio.duration; 55285 55286 if (_this.audio.seekable.length && _this.props.isOnDemand) { 55287 start = _this.audio.seekable.start(0); 55288 end = _this.audio.seekable.end(0); 55289 seekable = [start, end]; 55290 } 55291 55292 _this.onTimeUpdated({ 55293 start: start, 55294 time: time, 55295 end: end, 55296 live: !!_this.state.live, 55297 paused: _this.audio.paused, 55298 seekable: !!_this.audio.seekable.length && end !== Infinity && !!(_this.hls || _this.props.isOnDemand), 55299 stalled: !!_this.state.stalled, 55300 volume: _this.audio.volume 55301 }); 55302 55303 _this.setState({ 55304 time: time, 55305 seekable: seekable, 55306 start: start, 55307 end: end 55308 }); 55309 }; 55310 55311 _this.sendTimeUpdateFromState = function () { 55312 _this.onTimeUpdated({ 55313 start: _this.state.start || 0, 55314 time: _this.state.time || 0, 55315 end: _this.state.end || 0, 55316 paused: !_this.audio || _this.audio.paused, 55317 seekable: !!_this.state.seekable && _this.state.end !== Infinity, 55318 live: !!_this.state.live, 55319 stalled: !!_this.state.stalled, 55320 volume: _this.audio ? _this.audio.volume : 0 55321 }); 55322 }; 55323 55324 _this.updatedPaused = function () { 55325 if (!_this.audio) { 55326 return; 55327 } 55328 55329 if (_this.audio.paused && _this.audio.ended) { 55330 Object(loggerbabel_target_legacy["c" /* log */])("Stream ended", _this.state.stream, _this.audio); 55331 55332 _this.disableCurrentStream(); 55333 } 55334 55335 if (_this.props.onPlayStatusChanged) { 55336 _this.props.onPlayStatusChanged(!_this.audio.paused); 55337 } 55338 55339 if (_this.props.usingTriton && _this.state.playerType !== "hls" && _this.audio && _this.audio.paused) { 55340 var sourceEls = _this.audio.querySelectorAll("source"); 55341 55342 if (sourceEls) { 55343 var srcVals = [];
55344 sourceEls.forEach(function (el) { 55345 srcVals.push(el.src); 55346 el.src = ""; 55347 }); 55348 55349 _this.audio.load(); 55350 55351 sourceEls.forEach(function (el, idx) { 55352 el.src = srcVals[idx]; 55353 }); 55354 } 55355 } 55356 55357 _this.sendTimeUpdateFromState(); 55358 55359 _this.setState({ 55360 paused: _this.audio.paused 55361 }); 55362 }; 55363 55364 _this.onDurationChange = function (e) { 55365 return _this.setState({ 55366 duration: e.currentTarget.duration 55367 }); 55368 }; 55369 55370 _this.onMetadata = function (e) { 55371 Object(loggerbabel_target_legacy["c" /* log */])("OnMeta"); 55372 55373 _this.onTime(); // Bugfix: Event is sometimes received after componentWillUnmount() already set this.audio to undefined, which then lead to errors when accessing it. 55374 55375 55376 if (!_this.audio) { 55377 return; 55378 } 55379 55380 var audio = _this.audio; 55381 var playerType = _this.state.playerType === "none" ? "native" : _this.state.playerType; 55382 var stream; 55383 var live = false; 55384 55385 switch (playerType) { 55386 case "hls": 55387 if (_this.hls) { 55388 var _this$hls2 = _this.hls, 55389 levels = _this$hls2.levels, 55390 currentLevel = _this$hls2.currentLevel; 55391 55392 if (!levels || !levels.length) { 55393 break; 55394 } 55395 55396 if (currentLevel === -1) { 55397 currentLevel = 0; 55398 } 55399 55400 var details = levels[currentLevel].details; 55401 55402 if (details) { 55403 live = details.live; 55404 } 55405 } 55406 55407 stream = _this.hlsStream; 55408 break; 55409 55410 case "nativehls": 55411 live = audio.duration === Infinity; 55412 stream = _this.hlsStream; 55413 break; 55414 55415 case "dash": 55416 stream = _this.dashStream; 55417 55418 if (_this.dash && _this.dash.getDVRWindowSize() && _this.dash.getDVRWindowSize() !== Infinity) { 55419 live = true; 55420 } 55421 55422 break; 55423 55424 case "native": 55425 live = !_this.props.isOnDemand; 55426 55427 var streams = _this.nativeStreams(); 55428 55429 stream = streams.find(function (s) { 55430 return s.url === audio.currentSrc; 55431 }); 55432 55433 if (!stream) { 55434 stream = streams.find(function (s) { 55435 return audio.currentSrc.endsWith(s.url); 55436 }); 55437 } 55438 55439 } 55440 55441 if (stream) { 55442 _this.onStreamUpdated({ 55443 stream: stream, 55444 playerType: playerType 55445 }); 55446 } 55447 55448 Object(loggerbabel_target_legacy["c" /* log */])("metadata", { 55449 stream: stream, 55450 playerType: playerType, 55451 live: live 55452 }); 55453 55454 _this.setState({ 55455 stream: stream, 55456 paused: audio.paused, 55457 playerType: playerType, 55458 live: live 55459 }); 55460 }; 55461 55462 _this.setAdPlayer = function (player) { 55463 return _this.adPlayer = player; 55464 }; 55465 55466 _this.setAudioRef = function (ref) { 55467 if (ref) { 55468 _this.audio = ref; 55469 } 55470 }; 55471 55472 _this.onCanPlay = /*#__PURE__*/function () { 55473 var _ref6 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee6(e) { 55474 return regenerator_babel_target_legacy_default.a.wrap(function _callee6$(_context6) { 55475 while (1) { 55476 switch (_context6.prev = _context6.next) { 55477 case 0: 55478 Object(loggerbabel_target_legacy["c" /* log */])("Can play - paused?", _this.state.paused); 55479 55480 if (!(_this.state.disableControls || !_this.props.autoplay && !_this.state.stalled && !_this.tryToPlay)) { 55481 _context6.next = 3; 55482 break; 55483 } 55484 55485 return _context6.abrupt("return"); 55486 55487 case 3: 55488 _this.tryToPlay = false; 55489 55490 _this.clearStall(e); 55491 55492 try { 55493 _this.audio.play(); 55494 } catch (err) { 55495 Object(loggerbabel_target_legacy["e" /* warn */])("Autoplay error", err); 55496 } 55497 55498 case 6: 55499 case "end": 55500 return _context6.stop(); 55501 } 55502 } 55503 }, _callee6); 55504 })); 55505 55506 return function (_x4) { 55507 return _ref6.apply(this, arguments); 55508 }; 55509 }(); 55510 55511 _this.handleEvent = function (event) { 55512 return Object(loggerbabel_target_legacy["a" /* debug */])("Event", event); 55513 }; 55514 55515 return _this; 55516 } 55517 55518 createClassbabel_target_legacy_default()(AudioEngine, [{ 55519 key: "componentDidUpdate", 55520 value: function componentDidUpdate(prevProps) { 55521 // Bugfix: Requires deep equality check of array contents. Previously the arrays were compared with !== which only checks equivalence of reference! 55522 if (!lodash_isequal_babel_target_legacy_default()(prevProps.streams, this.props.streams)) { 55523 this.setupStreams(this.props.streams); 55524 this.updatedPaused(); 55525 } // Triton requires a stream to be closed when muted so that their duration stats are accurate 55526 55527 55528 if (this.props.usingTriton && prevProps.volume !== 0 && this.props.volume === 0) { 55529 this.pauseAudio(); 55530 } 55531 } 55532 }, { 55533 key: "componentDidMount", 55534 value: function () { 55535 var _componentDidMount = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee7() { 55536 return regenerator_babel_target_legacy_default.a.wrap(function _callee7$(_context7) { 55537 while (1) { 55538 switch (_context7.prev = _context7.next) { 55539 case 0: 55540 this.setupStreams(this.props.streams); 55541 this.updatedPaused(); 55542 55543 case 2: 55544 case "end": 55545 return _context7.stop(); 55546 } 55547 } 55548 }, _callee7, this); 55549 })); 55550 55551 function componentDidMount() { 55552 return _componentDidMount.apply(this, arguments); 55553 } 55554 55555 return componentDidMount; 55556 }() 55557 }, { 55558 key: "componentWillUnmount", 55559 value: function componentWillUnmount() { 55560 this.audio = undefined; // Kill audio stream 55561 } 55562 }, { 55563 key: "render", 55564 value: function render(_ref7, _ref8) { 55565 var _this2 = this; 55566 55567 var showDebugController = _ref7.showDebugController, 55568 adPlayer = _ref7.adPlayer, 55569 autoplay = _ref7.autoplay, 55570 _ref7$volume = _ref7.volume, 55571 volume = _ref7$volume === void 0 ? 1 : _ref7$volume, 55572 preventLoadingStreams = _ref7.preventLoadingStreams; 55573 var stream = _ref8.stream, 55574 time = _ref8.time, 55575 live = _ref8.live, 55576 seekable = _ref8.seekable,
55577 filteredStreams = _ref8.filteredStreams, 55578 playlistStreams = _ref8.playlistStreams, 55579 start = _ref8.start, 55580 end = _ref8.end, 55581 paused = _ref8.paused, 55582 playerType = _ref8.playerType, 55583 stalled = _ref8.stalled, 55584 disableControls = _ref8.disableControls, 55585 adsEnabled = _ref8.adsEnabled; 55586 var controllerProps = { 55587 requestSeek: this.seek, 55588 requestPlay: this.toggleAudio, 55589 skipForward: this.skipForward, 55590 skipBack: this.skipBack, 55591 skipToLive: this.skipToEnd, 55592 skipToStart: this.skipToStart, 55593 start: start || 0, 55594 end: end || 0, 55595 time: time || 0, 55596 live: live, 55597 seekable: !!seekable, 55598 paused: !!paused, 55599 playerType: playerType, 55600 currentStream: stream, 55601 stalled: stalled, 55602 setVolume: function setVolume() {}, 55603 volume: volume, 55604 disabled: disableControls 55605 }; 55606 var adProps = { 55607 ref: this.setAdPlayer, 55608 onRequestPause: this.adPlayerRequestPause, 55609 onRequestPlay: this.adPlayerRequestPlay, 55610 audioElement: this.audio || { 55611 currentTime: 0, 55612 duration: 0 55613 } 55614 }; 55615 var streams = [].concat(toConsumableArraybabel_target_legacy_default()(playlistStreams), toConsumableArraybabel_target_legacy_default()(filteredStreams)); 55616 return Object(preact_modulebabel_target_legacy["h"])("div", null, showDebugController && stream && Object(preact_modulebabel_target_legacy["h"])(DebugControllerbabel_target_legacy_DebugController, controllerProps), adsEnabled && adPlayer && stream && adPlayer(adProps), Object(preact_modulebabel_target_legacy["h"])("audio", { 55617 key: this.audioKey, 55618 volume: volume, 55619 autoPlay: autoplay, 55620 preload: "none", 55621 onError: this.handleError, 55622 ref: this.setAudioRef, 55623 onTimeUpdate: this.onTime, 55624 onPlay: this.onPlay, 55625 onLoadedMetadata: this.onMetadata, 55626 onDurationChange: this.onDurationChange, 55627 onPause: this.updatedPaused, 55628 onPlaying: this.updatedPaused // onStalled={this.handleStall} 55629 // onSuspend={this.handleEvent} 55630 , 55631 onLoad: this.handleEvent, 55632 onWaiting: this.handleStall, 55633 onProgress: this.clearStall, 55634 onCanPlay: this.onCanPlay, 55635 onCanPlayThrough: this.clearStall 55636 }, 55637 /** 55638 * Once a <source> is in the DOM tree, changes to its src attribute have no effect - until audio.load() is explicitly called. 55639 * (c.f. https://stackoverflow.com/questions/10792163/change-audio-src-with-javascript) 55640 * In order not to have to call audio.load(), this code ensures that <source>s will only be rendered once the parent component unsets the preventLoadingStreams flag. 55641 * This flag indicates that the <source>s won't change anymore and consequently they can be added to the DOM tree. 55642 * 55643 * Was originally implemented in Player.tsx but caused erroneous behavior and was thus moved here. 55644 */ 55645 !preventLoadingStreams && playerType !== "hls" && playerType !== "dash" && streams.map(function (source) { 55646 return isNormal(source) && !source.disabled && Object(preact_modulebabel_target_legacy["h"])("source", { 55647 onError: _this2.handleError, 55648 src: source.url, 55649 type: "audio/".concat(source.format) 55650 }); 55651 }))); 55652 } 55653 }]); 55654 55655 return AudioEngine; 55656}(preact_modulebabel_target_legacy["Component"]); 55657/* harmony default export */ var AudioEnginebabel_target_legacy = (AudioEnginebabel_target_legacy_AudioEngine); 55658 55659/***/ }), 55660/* 945 */, 55661/* 946 */, 55662/* 947 */, 55663/* 948 */, 55664/* 949 */, 55665/* 950 */ 55666/***/ (function(module, exports, __webpack_require__) { 55667 55668// extracted by mini-css-extract-plugin 55669module.exports = {"wrap":"App-module__wrap--2C1-_"}; 55670 55671/***/ }), 55672/* 951 */, 55673/* 952 */, 55674/* 953 */ 55675/***/ (function(module, __webpack_exports__, __webpack_require__) { 55676 55677"use strict"; 55678/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useNowPlaying; }); 55679/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75); 55680/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 55681/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); 55682/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__); 55683/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60); 55684/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_2__); 55685/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); 55686/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__); 55687/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8); 55688/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4__); 55689/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4); 55690/* harmony import */ var _api_fetchJsonp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95);
55691/* harmony import */ var _useBackgrounded__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(779); 55692/* harmony import */ var _lib_logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(10); 55693/* harmony import */ var _lib_EventBus__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(152); 55694 55695 55696 55697 55698 55699 55700 55701 55702 55703 55704var useNowPlaying = function useNowPlaying(rpId, nowPlayingUrl, onDemand) { 55705 var _useState = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useState */ "j"])(undefined), 55706 _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4___default()(_useState, 2), 55707 nowPlaying = _useState2[0], 55708 setNowPlaying = _useState2[1]; 55709 55710 var _useEventBus = Object(_lib_EventBus__WEBPACK_IMPORTED_MODULE_9__[/* useEventBus */ "b"])(), 55711 emit = _useEventBus.emit; 55712 55713 var backgrounded = Object(_useBackgrounded__WEBPACK_IMPORTED_MODULE_7__[/* useBackgrounded */ "a"])(); 55714 var updateNowPlaying = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useCallback */ "a"])( /*#__PURE__*/_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee() { 55715 var response; 55716 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) { 55717 while (1) { 55718 switch (_context.prev = _context.next) { 55719 case 0: 55720 Object(_lib_logger__WEBPACK_IMPORTED_MODULE_8__[/* log */ "c"])("Update now playing"); 55721 55722 if (!(nowPlayingUrl && rpId)) { 55723 _context.next = 6; 55724 break; 55725 } 55726 55727 _context.next = 4; 55728 return Object(_api_fetchJsonp__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])("".concat(nowPlayingUrl, "v4/events/?rpId=").concat(rpId), { 55729 jsonpCallbackFunction: "cb_events" 55730 }).then(function (res) { 55731 return res.json(); 55732 }); 55733 55734 case 4: 55735 response = _context.sent; 55736 55737 if (response.results) { 55738 emit("nowplaying", response.results); 55739 setNowPlaying(response.results); 55740 } 55741 55742 case 6: 55743 case "end": 55744 return _context.stop(); 55745 } 55746 } 55747 }, _callee); 55748 })), [nowPlayingUrl, rpId, emit]); 55749 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_5__[/* useEffect */ "d"])(function () { 55750 if (onDemand || backgrounded) { 55751 return; 55752 } 55753 55754 updateNowPlaying(); 55755 var interval = window.setInterval(updateNowPlaying, 7000); 55756 return function () { 55757 return window.clearInterval(interval); 55758 }; 55759 }, [updateNowPlaying, backgrounded, onDemand]); 55760 return onDemand || nowPlaying; 55761}; 55762 55763/***/ }), 55764/* 954 */ 55765/***/ (function(module, __webpack_exports__, __webpack_require__) { 55766 55767"use strict"; 55768/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 55769/* eslint-disable @typescript-eslint/no-explicit-any */ 55770 55771 55772function useElementHeightCSSVariable(CSSVariableName, dependencyRecheck) { 55773 var ref = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useRef */ "i"])(null); 55774 var setVariable = Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useCallback */ "a"])(function () { 55775 var height = "".concat(window.innerHeight, "px"); 55776 document.body.style.setProperty(CSSVariableName, height); 55777 }, [CSSVariableName]); 55778 var currentRef = ref.current; 55779 Object(preact_hooks__WEBPACK_IMPORTED_MODULE_0__[/* useEffect */ "d"])(function () { 55780 if (!ref.current) { 55781 return; 55782 } 55783 55784 window.addEventListener("resize", setVariable); 55785 setVariable(); 55786 return function () { 55787 window.removeEventListener("resize", setVariable); 55788 }; 55789 }, [CSSVariableName, dependencyRecheck, setVariable, currentRef]); 55790 return ref; 55791} 55792 55793/* harmony default export */ __webpack_exports__["a"] = (useElementHeightCSSVariable); 55794 55795/***/ }), 55796/* 955 */ 55797/***/ (function(module, exports, __webpack_require__) { 55798 55799var setPrototypeOf = __webpack_require__(1005); 55800 55801function _inherits(subClass, superClass) { 55802 if (typeof superClass !== "function" && superClass !== null) { 55803 throw new TypeError("Super expression must either be null or a function"); 55804 } 55805 55806 subClass.prototype = Object.create(superClass && superClass.prototype, { 55807 constructor: { 55808 value: subClass, 55809 writable: true, 55810 configurable: true 55811 } 55812 }); 55813 if (superClass) setPrototypeOf(subClass, superClass); 55814} 55815 55816module.exports = _inherits; 55817 55818/***/ }), 55819/* 956 */ 55820/***/ (function(module, exports, __webpack_require__) { 55821 55822var _typeof = __webpack_require__(154); 55823 55824var assertThisInitialized = __webpack_require__(1006); 55825 55826function _possibleConstructorReturn(self, call) { 55827 if (call && (_typeof(call) === "object" || typeof call === "function")) { 55828 return call; 55829 } 55830 55831 return assertThisInitialized(self); 55832} 55833 55834module.exports = _possibleConstructorReturn; 55835 55836/***/ }), 55837/* 957 */ 55838/***/ (function(module, exports, __webpack_require__) { 55839 55840/* WEBPACK VAR INJECTION */(function(global, module) {/**
55841 * Lodash (Custom Build) <https://lodash.com/> 55842 * Build: `lodash modularize exports="npm" -o ./` 55843 * Copyright JS Foundation and other contributors <https://js.foundation/> 55844 * Released under MIT license <https://lodash.com/license> 55845 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> 55846 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 55847 */ 55848 55849/** Used as the size to enable large array optimizations. */ 55850var LARGE_ARRAY_SIZE = 200; 55851 55852/** Used to stand-in for `undefined` hash values. */ 55853var HASH_UNDEFINED = '__lodash_hash_undefined__'; 55854 55855/** Used to compose bitmasks for value comparisons. */ 55856var COMPARE_PARTIAL_FLAG = 1, 55857 COMPARE_UNORDERED_FLAG = 2; 55858 55859/** Used as references for various `Number` constants. */ 55860var MAX_SAFE_INTEGER = 9007199254740991; 55861 55862/** `Object#toString` result references. */ 55863var argsTag = '[object Arguments]', 55864 arrayTag = '[object Array]', 55865 asyncTag = '[object AsyncFunction]', 55866 boolTag = '[object Boolean]', 55867 dateTag = '[object Date]', 55868 errorTag = '[object Error]', 55869 funcTag = '[object Function]', 55870 genTag = '[object GeneratorFunction]', 55871 mapTag = '[object Map]', 55872 numberTag = '[object Number]', 55873 nullTag = '[object Null]', 55874 objectTag = '[object Object]', 55875 promiseTag = '[object Promise]', 55876 proxyTag = '[object Proxy]', 55877 regexpTag = '[object RegExp]', 55878 setTag = '[object Set]', 55879 stringTag = '[object String]', 55880 symbolTag = '[object Symbol]', 55881 undefinedTag = '[object Undefined]', 55882 weakMapTag = '[object WeakMap]'; 55883 55884var arrayBufferTag = '[object ArrayBuffer]', 55885 dataViewTag = '[object DataView]', 55886 float32Tag = '[object Float32Array]', 55887 float64Tag = '[object Float64Array]', 55888 int8Tag = '[object Int8Array]', 55889 int16Tag = '[object Int16Array]', 55890 int32Tag = '[object Int32Array]', 55891 uint8Tag = '[object Uint8Array]', 55892 uint8ClampedTag = '[object Uint8ClampedArray]', 55893 uint16Tag = '[object Uint16Array]', 55894 uint32Tag = '[object Uint32Array]'; 55895 55896/** 55897 * Used to match `RegExp` 55898 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 55899 */ 55900var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; 55901 55902/** Used to detect host constructors (Safari). */ 55903var reIsHostCtor = /^\[object .+?Constructor\]$/; 55904 55905/** Used to detect unsigned integer values. */ 55906var reIsUint = /^(?:0|[1-9]\d*)$/; 55907 55908/** Used to identify `toStringTag` values of typed arrays. */ 55909var typedArrayTags = {}; 55910typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = 55911typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = 55912typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = 55913typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = 55914typedArrayTags[uint32Tag] = true; 55915typedArrayTags[argsTag] = typedArrayTags[arrayTag] = 55916typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = 55917typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = 55918typedArrayTags[errorTag] = typedArrayTags[funcTag] = 55919typedArrayTags[mapTag] = typedArrayTags[numberTag] = 55920typedArrayTags[objectTag] = typedArrayTags[regexpTag] = 55921typedArrayTags[setTag] = typedArrayTags[stringTag] = 55922typedArrayTags[weakMapTag] = false; 55923 55924/** Detect free variable `global` from Node.js. */ 55925var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 55926 55927/** Detect free variable `self`. */ 55928var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 55929 55930/** Used as a reference to the global object. */ 55931var root = freeGlobal || freeSelf || Function('return this')(); 55932 55933/** Detect free variable `exports`. */ 55934var freeExports = true
vendor: 46,034 bytes, lines 55934-57688
55934 && exports && !exports.nodeType && exports; 55935 55936/** Detect free variable `module`. */ 55937var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 55938 55939/** Detect the popular CommonJS extension `module.exports`. */ 55940var moduleExports = freeModule && freeModule.exports === freeExports; 55941 55942/** Detect free variable `process` from Node.js. */ 55943var freeProcess = moduleExports && freeGlobal.process; 55944 55945/** Used to access faster Node.js helpers. */ 55946var nodeUtil = (function() { 55947 try { 55948 return freeProcess && freeProcess.binding && freeProcess.binding('util'); 55949 } catch (e) {} 55950}()); 55951 55952/* Node.js helper references. */ 55953var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; 55954 55955/** 55956 * A specialized version of `_.filter` for arrays without support for 55957 * iteratee shorthands. 55958 * 55959 * @private 55960 * @param {Array} [array] The array to iterate over. 55961 * @param {Function} predicate The function invoked per iteration. 55962 * @returns {Array} Returns the new filtered array. 55963 */ 55964function arrayFilter(array, predicate) { 55965 var index = -1, 55966 length = array == null ? 0 : array.length, 55967 resIndex = 0, 55968 result = []; 55969 55970 while (++index < length) { 55971 var value = array[index]; 55972 if (predicate(value, index, array)) { 55973 result[resIndex++] = value; 55974 } 55975 } 55976 return result; 55977} 55978 55979/** 55980 * Appends the elements of `values` to `array`. 55981 * 55982 * @private 55983 * @param {Array} array The array to modify. 55984 * @param {Array} values The values to append. 55985 * @returns {Array} Returns `array`. 55986 */ 55987function arrayPush(array, values) { 55988 var index = -1, 55989 length = values.length, 55990 offset = array.length; 55991 55992 while (++index < length) { 55993 array[offset + index] = values[index]; 55994 } 55995 return array; 55996} 55997 55998/** 55999 * A specialized version of `_.some` for arrays without support for iteratee 56000 * shorthands. 56001 * 56002 * @private 56003 * @param {Array} [array] The array to iterate over. 56004 * @param {Function} predicate The function invoked per iteration. 56005 * @returns {boolean} Returns `true` if any element passes the predicate check, 56006 * else `false`. 56007 */ 56008function arraySome(array, predicate) { 56009 var index = -1, 56010 length = array == null ? 0 : array.length; 56011 56012 while (++index < length) { 56013 if (predicate(array[index], index, array)) { 56014 return true; 56015 } 56016 } 56017 return false; 56018} 56019 56020/** 56021 * The base implementation of `_.times` without support for iteratee shorthands 56022 * or max array length checks. 56023 * 56024 * @private 56025 * @param {number} n The number of times to invoke `iteratee`. 56026 * @param {Function} iteratee The function invoked per iteration. 56027 * @returns {Array} Returns the array of results. 56028 */ 56029function baseTimes(n, iteratee) { 56030 var index = -1, 56031 result = Array(n); 56032 56033 while (++index < n) { 56034 result[index] = iteratee(index); 56035 } 56036 return result; 56037} 56038 56039/** 56040 * The base implementation of `_.unary` without support for storing metadata. 56041 * 56042 * @private 56043 * @param {Function} func The function to cap arguments for. 56044 * @returns {Function} Returns the new capped function. 56045 */ 56046function baseUnary(func) { 56047 return function(value) { 56048 return func(value); 56049 }; 56050} 56051 56052/** 56053 * Checks if a `cache` value for `key` exists. 56054 * 56055 * @private 56056 * @param {Object} cache The cache to query. 56057 * @param {string} key The key of the entry to check. 56058 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 56059 */ 56060function cacheHas(cache, key) { 56061 return cache.has(key); 56062} 56063 56064/** 56065 * Gets the value at `key` of `object`. 56066 * 56067 * @private 56068 * @param {Object} [object] The object to query. 56069 * @param {string} key The key of the property to get. 56070 * @returns {*} Returns the property value. 56071 */ 56072function getValue(object, key) { 56073 return object == null ? undefined : object[key]; 56074} 56075 56076/** 56077 * Converts `map` to its key-value pairs. 56078 * 56079 * @private 56080 * @param {Object} map The map to convert. 56081 * @returns {Array} Returns the key-value pairs. 56082 */ 56083function mapToArray(map) { 56084 var index = -1, 56085 result = Array(map.size); 56086 56087 map.forEach(function(value, key) { 56088 result[++index] = [key, value]; 56089 }); 56090 return result; 56091} 56092 56093/** 56094 * Creates a unary function that invokes `func` with its argument transformed. 56095 * 56096 * @private 56097 * @param {Function} func The function to wrap. 56098 * @param {Function} transform The argument transform. 56099 * @returns {Function} Returns the new function. 56100 */ 56101function overArg(func, transform) { 56102 return function(arg) { 56103 return func(transform(arg)); 56104 }; 56105} 56106 56107/** 56108 * Converts `set` to an array of its values. 56109 * 56110 * @private 56111 * @param {Object} set The set to convert. 56112 * @returns {Array} Returns the values. 56113 */ 56114function setToArray(set) { 56115 var index = -1, 56116 result = Array(set.size); 56117 56118 set.forEach(function(value) { 56119 result[++index] = value; 56120 }); 56121 return result; 56122} 56123 56124/** Used for built-in method references. */ 56125var arrayProto = Array.prototype, 56126 funcProto = Function.prototype, 56127 objectProto = Object.prototype; 56128 56129/** Used to detect overreaching core-js shims. */ 56130var coreJsData = root['__core-js_shared__']; 56131 56132/** Used to resolve the decompiled source of functions. */ 56133var funcToString = funcProto.toString; 56134 56135/** Used to check objects for own properties. */ 56136var hasOwnProperty = objectProto.hasOwnProperty; 56137 56138/** Used to detect methods masquerading as native. */ 56139var maskSrcKey = (function() { 56140 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 56141 return uid ? ('Symbol(src)_1.' + uid) : ''; 56142}()); 56143 56144/** 56145 * Used to resolve the 56146 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 56147 * of values. 56148 */ 56149var nativeObjectToString = objectProto.toString; 56150 56151/** Used to detect if a method is native. */ 56152var reIsNative = RegExp('^' + 56153 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 56154 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 56155); 56156 56157/** Built-in value references. */ 56158var Buffer = moduleExports ? root.Buffer : undefined, 56159 Symbol = root.Symbol, 56160 Uint8Array = root.Uint8Array, 56161 propertyIsEnumerable = objectProto.propertyIsEnumerable, 56162 splice = arrayProto.splice, 56163 symToStringTag = Symbol ? Symbol.toStringTag : undefined; 56164 56165/* Built-in method references for those with the same name as other `lodash` methods. */ 56166var nativeGetSymbols = Object.getOwnPropertySymbols, 56167 nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, 56168 nativeKeys = overArg(Object.keys, Object); 56169 56170/* Built-in method references that are verified to be native. */ 56171var DataView = getNative(root, 'DataView'), 56172 Map = getNative(root, 'Map'), 56173 Promise = getNative(root, 'Promise'), 56174 Set = getNative(root, 'Set'), 56175 WeakMap = getNative(root, 'WeakMap'), 56176 nativeCreate = getNative(Object, 'create'); 56177 56178/** Used to detect maps, sets, and weakmaps. */ 56179var dataViewCtorString = toSource(DataView), 56180 mapCtorString = toSource(Map), 56181 promiseCtorString = toSource(Promise), 56182 setCtorString = toSource(Set), 56183 weakMapCtorString = toSource(WeakMap); 56184 56185/** Used to convert symbols to primitives and strings. */ 56186var symbolProto = Symbol ? Symbol.prototype : undefined, 56187 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 56188 56189/** 56190 * Creates a hash object. 56191 * 56192 * @private 56193 * @constructor 56194 * @param {Array} [entries] The key-value pairs to cache. 56195 */ 56196function Hash(entries) { 56197 var index = -1, 56198 length = entries == null ? 0 : entries.length; 56199 56200 this.clear(); 56201 while (++index < length) { 56202 var entry = entries[index]; 56203 this.set(entry[0], entry[1]); 56204 } 56205} 56206 56207/** 56208 * Removes all key-value entries from the hash. 56209 * 56210 * @private 56211 * @name clear 56212 * @memberOf Hash 56213 */ 56214function hashClear() { 56215 this.__data__ = nativeCreate ? nativeCreate(null) : {}; 56216 this.size = 0; 56217} 56218 56219/** 56220 * Removes `key` and its value from the hash. 56221 * 56222 * @private 56223 * @name delete 56224 * @memberOf Hash 56225 * @param {Object} hash The hash to modify. 56226 * @param {string} key The key of the value to remove. 56227 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 56228 */ 56229function hashDelete(key) { 56230 var result = this.has(key) && delete this.__data__[key]; 56231 this.size -= result ? 1 : 0; 56232 return result; 56233} 56234 56235/** 56236 * Gets the hash value for `key`. 56237 * 56238 * @private 56239 * @name get 56240 * @memberOf Hash 56241 * @param {string} key The key of the value to get. 56242 * @returns {*} Returns the entry value. 56243 */ 56244function hashGet(key) { 56245 var data = this.__data__; 56246 if (nativeCreate) { 56247 var result = data[key]; 56248 return result === HASH_UNDEFINED ? undefined : result; 56249 } 56250 return hasOwnProperty.call(data, key) ? data[key] : undefined; 56251} 56252 56253/** 56254 * Checks if a hash value for `key` exists. 56255 * 56256 * @private 56257 * @name has 56258 * @memberOf Hash 56259 * @param {string} key The key of the entry to check. 56260 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 56261 */ 56262function hashHas(key) { 56263 var data = this.__data__; 56264 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); 56265} 56266 56267/** 56268 * Sets the hash `key` to `value`. 56269 * 56270 * @private 56271 * @name set 56272 * @memberOf Hash 56273 * @param {string} key The key of the value to set. 56274 * @param {*} value The value to set. 56275 * @returns {Object} Returns the hash instance. 56276 */ 56277function hashSet(key, value) { 56278 var data = this.__data__; 56279 this.size += this.has(key) ? 0 : 1; 56280 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; 56281 return this; 56282} 56283 56284// Add methods to `Hash`. 56285Hash.prototype.clear = hashClear; 56286Hash.prototype['delete'] = hashDelete; 56287Hash.prototype.get = hashGet; 56288Hash.prototype.has = hashHas; 56289Hash.prototype.set = hashSet; 56290 56291/** 56292 * Creates an list cache object. 56293 * 56294 * @private 56295 * @constructor 56296 * @param {Array} [entries] The key-value pairs to cache. 56297 */ 56298function ListCache(entries) { 56299 var index = -1, 56300 length = entries == null ? 0 : entries.length; 56301 56302 this.clear(); 56303 while (++index < length) { 56304 var entry = entries[index]; 56305 this.set(entry[0], entry[1]); 56306 } 56307} 56308 56309/** 56310 * Removes all key-value entries from the list cache. 56311 * 56312 * @private 56313 * @name clear 56314 * @memberOf ListCache 56315 */ 56316function listCacheClear() { 56317 this.__data__ = []; 56318 this.size = 0; 56319} 56320 56321/** 56322 * Removes `key` and its value from the list cache. 56323 * 56324 * @private 56325 * @name delete 56326 * @memberOf ListCache 56327 * @param {string} key The key of the value to remove. 56328 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 56329 */ 56330function listCacheDelete(key) { 56331 var data = this.__data__, 56332 index = assocIndexOf(data, key); 56333 56334 if (index < 0) { 56335 return false; 56336 } 56337 var lastIndex = data.length - 1; 56338 if (index == lastIndex) { 56339 data.pop(); 56340 } else { 56341 splice.call(data, index, 1); 56342 } 56343 --this.size; 56344 return true; 56345} 56346 56347/** 56348 * Gets the list cache value for `key`. 56349 * 56350 * @private 56351 * @name get 56352 * @memberOf ListCache 56353 * @param {string} key The key of the value to get. 56354 * @returns {*} Returns the entry value. 56355 */ 56356function listCacheGet(key) { 56357 var data = this.__data__, 56358 index = assocIndexOf(data, key); 56359 56360 return index < 0 ? undefined : data[index][1]; 56361} 56362 56363/** 56364 * Checks if a list cache value for `key` exists. 56365 * 56366 * @private 56367 * @name has 56368 * @memberOf ListCache 56369 * @param {string} key The key of the entry to check. 56370 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 56371 */ 56372function listCacheHas(key) { 56373 return assocIndexOf(this.__data__, key) > -1; 56374} 56375 56376/** 56377 * Sets the list cache `key` to `value`. 56378 * 56379 * @private 56380 * @name set 56381 * @memberOf ListCache 56382 * @param {string} key The key of the value to set. 56383 * @param {*} value The value to set. 56384 * @returns {Object} Returns the list cache instance. 56385 */ 56386function listCacheSet(key, value) { 56387 var data = this.__data__, 56388 index = assocIndexOf(data, key); 56389 56390 if (index < 0) { 56391 ++this.size; 56392 data.push([key, value]); 56393 } else { 56394 data[index][1] = value; 56395 } 56396 return this; 56397} 56398 56399// Add methods to `ListCache`. 56400ListCache.prototype.clear = listCacheClear; 56401ListCache.prototype['delete'] = listCacheDelete; 56402ListCache.prototype.get = listCacheGet; 56403ListCache.prototype.has = listCacheHas; 56404ListCache.prototype.set = listCacheSet; 56405 56406/** 56407 * Creates a map cache object to store key-value pairs. 56408 * 56409 * @private 56410 * @constructor 56411 * @param {Array} [entries] The key-value pairs to cache. 56412 */ 56413function MapCache(entries) { 56414 var index = -1, 56415 length = entries == null ? 0 : entries.length; 56416 56417 this.clear(); 56418 while (++index < length) { 56419 var entry = entries[index]; 56420 this.set(entry[0], entry[1]); 56421 } 56422} 56423 56424/** 56425 * Removes all key-value entries from the map. 56426 * 56427 * @private 56428 * @name clear 56429 * @memberOf MapCache 56430 */ 56431function mapCacheClear() { 56432 this.size = 0; 56433 this.__data__ = { 56434 'hash': new Hash, 56435 'map': new (Map || ListCache), 56436 'string': new Hash 56437 }; 56438} 56439 56440/** 56441 * Removes `key` and its value from the map. 56442 * 56443 * @private 56444 * @name delete 56445 * @memberOf MapCache 56446 * @param {string} key The key of the value to remove. 56447 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 56448 */ 56449function mapCacheDelete(key) { 56450 var result = getMapData(this, key)['delete'](key); 56451 this.size -= result ? 1 : 0; 56452 return result; 56453} 56454 56455/** 56456 * Gets the map value for `key`. 56457 * 56458 * @private 56459 * @name get 56460 * @memberOf MapCache 56461 * @param {string} key The key of the value to get. 56462 * @returns {*} Returns the entry value. 56463 */ 56464function mapCacheGet(key) { 56465 return getMapData(this, key).get(key); 56466} 56467 56468/** 56469 * Checks if a map value for `key` exists. 56470 * 56471 * @private 56472 * @name has 56473 * @memberOf MapCache 56474 * @param {string} key The key of the entry to check. 56475 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 56476 */ 56477function mapCacheHas(key) { 56478 return getMapData(this, key).has(key); 56479} 56480 56481/** 56482 * Sets the map `key` to `value`. 56483 * 56484 * @private 56485 * @name set 56486 * @memberOf MapCache 56487 * @param {string} key The key of the value to set. 56488 * @param {*} value The value to set. 56489 * @returns {Object} Returns the map cache instance. 56490 */ 56491function mapCacheSet(key, value) { 56492 var data = getMapData(this, key), 56493 size = data.size; 56494 56495 data.set(key, value); 56496 this.size += data.size == size ? 0 : 1; 56497 return this; 56498} 56499 56500// Add methods to `MapCache`. 56501MapCache.prototype.clear = mapCacheClear; 56502MapCache.prototype['delete'] = mapCacheDelete; 56503MapCache.prototype.get = mapCacheGet; 56504MapCache.prototype.has = mapCacheHas; 56505MapCache.prototype.set = mapCacheSet; 56506 56507/** 56508 * 56509 * Creates an array cache object to store unique values. 56510 * 56511 * @private 56512 * @constructor 56513 * @param {Array} [values] The values to cache. 56514 */ 56515function SetCache(values) { 56516 var index = -1, 56517 length = values == null ? 0 : values.length; 56518 56519 this.__data__ = new MapCache; 56520 while (++index < length) { 56521 this.add(values[index]); 56522 } 56523} 56524 56525/** 56526 * Adds `value` to the array cache. 56527 * 56528 * @private 56529 * @name add 56530 * @memberOf SetCache 56531 * @alias push 56532 * @param {*} value The value to cache. 56533 * @returns {Object} Returns the cache instance. 56534 */ 56535function setCacheAdd(value) { 56536 this.__data__.set(value, HASH_UNDEFINED); 56537 return this; 56538} 56539 56540/** 56541 * Checks if `value` is in the array cache. 56542 * 56543 * @private 56544 * @name has 56545 * @memberOf SetCache 56546 * @param {*} value The value to search for. 56547 * @returns {number} Returns `true` if `value` is found, else `false`. 56548 */ 56549function setCacheHas(value) { 56550 return this.__data__.has(value); 56551} 56552 56553// Add methods to `SetCache`. 56554SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; 56555SetCache.prototype.has = setCacheHas; 56556 56557/** 56558 * Creates a stack cache object to store key-value pairs. 56559 * 56560 * @private 56561 * @constructor 56562 * @param {Array} [entries] The key-value pairs to cache. 56563 */ 56564function Stack(entries) { 56565 var data = this.__data__ = new ListCache(entries); 56566 this.size = data.size; 56567} 56568 56569/** 56570 * Removes all key-value entries from the stack. 56571 * 56572 * @private 56573 * @name clear 56574 * @memberOf Stack 56575 */ 56576function stackClear() { 56577 this.__data__ = new ListCache; 56578 this.size = 0; 56579} 56580 56581/** 56582 * Removes `key` and its value from the stack. 56583 * 56584 * @private 56585 * @name delete 56586 * @memberOf Stack 56587 * @param {string} key The key of the value to remove. 56588 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 56589 */ 56590function stackDelete(key) { 56591 var data = this.__data__, 56592 result = data['delete'](key); 56593 56594 this.size = data.size; 56595 return result; 56596} 56597 56598/** 56599 * Gets the stack value for `key`. 56600 * 56601 * @private 56602 * @name get 56603 * @memberOf Stack 56604 * @param {string} key The key of the value to get. 56605 * @returns {*} Returns the entry value. 56606 */ 56607function stackGet(key) { 56608 return this.__data__.get(key); 56609} 56610 56611/** 56612 * Checks if a stack value for `key` exists. 56613 * 56614 * @private 56615 * @name has 56616 * @memberOf Stack 56617 * @param {string} key The key of the entry to check. 56618 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 56619 */ 56620function stackHas(key) { 56621 return this.__data__.has(key); 56622} 56623 56624/** 56625 * Sets the stack `key` to `value`. 56626 * 56627 * @private 56628 * @name set 56629 * @memberOf Stack 56630 * @param {string} key The key of the value to set. 56631 * @param {*} value The value to set. 56632 * @returns {Object} Returns the stack cache instance. 56633 */ 56634function stackSet(key, value) { 56635 var data = this.__data__; 56636 if (data instanceof ListCache) { 56637 var pairs = data.__data__; 56638 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 56639 pairs.push([key, value]); 56640 this.size = ++data.size; 56641 return this; 56642 } 56643 data = this.__data__ = new MapCache(pairs); 56644 } 56645 data.set(key, value); 56646 this.size = data.size; 56647 return this; 56648} 56649 56650// Add methods to `Stack`. 56651Stack.prototype.clear = stackClear; 56652Stack.prototype['delete'] = stackDelete; 56653Stack.prototype.get = stackGet; 56654Stack.prototype.has = stackHas; 56655Stack.prototype.set = stackSet; 56656 56657/** 56658 * Creates an array of the enumerable property names of the array-like `value`. 56659 * 56660 * @private 56661 * @param {*} value The value to query. 56662 * @param {boolean} inherited Specify returning inherited property names. 56663 * @returns {Array} Returns the array of property names. 56664 */ 56665function arrayLikeKeys(value, inherited) { 56666 var isArr = isArray(value), 56667 isArg = !isArr && isArguments(value), 56668 isBuff = !isArr && !isArg && isBuffer(value), 56669 isType = !isArr && !isArg && !isBuff && isTypedArray(value), 56670 skipIndexes = isArr || isArg || isBuff || isType, 56671 result = skipIndexes ? baseTimes(value.length, String) : [], 56672 length = result.length; 56673 56674 for (var key in value) { 56675 if ((inherited || hasOwnProperty.call(value, key)) && 56676 !(skipIndexes && ( 56677 // Safari 9 has enumerable `arguments.length` in strict mode. 56678 key == 'length' || 56679 // Node.js 0.10 has enumerable non-index properties on buffers. 56680 (isBuff && (key == 'offset' || key == 'parent')) || 56681 // PhantomJS 2 has enumerable non-index properties on typed arrays. 56682 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || 56683 // Skip index properties. 56684 isIndex(key, length) 56685 ))) { 56686 result.push(key); 56687 } 56688 } 56689 return result; 56690} 56691 56692/** 56693 * Gets the index at which the `key` is found in `array` of key-value pairs. 56694 * 56695 * @private 56696 * @param {Array} array The array to inspect. 56697 * @param {*} key The key to search for. 56698 * @returns {number} Returns the index of the matched value, else `-1`. 56699 */ 56700function assocIndexOf(array, key) { 56701 var length = array.length; 56702 while (length--) { 56703 if (eq(array[length][0], key)) { 56704 return length; 56705 } 56706 } 56707 return -1; 56708} 56709 56710/** 56711 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 56712 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 56713 * symbols of `object`. 56714 * 56715 * @private 56716 * @param {Object} object The object to query. 56717 * @param {Function} keysFunc The function to get the keys of `object`. 56718 * @param {Function} symbolsFunc The function to get the symbols of `object`. 56719 * @returns {Array} Returns the array of property names and symbols. 56720 */ 56721function baseGetAllKeys(object, keysFunc, symbolsFunc) { 56722 var result = keysFunc(object); 56723 return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); 56724} 56725 56726/** 56727 * The base implementation of `getTag` without fallbacks for buggy environments. 56728 * 56729 * @private 56730 * @param {*} value The value to query. 56731 * @returns {string} Returns the `toStringTag`. 56732 */ 56733function baseGetTag(value) { 56734 if (value == null) { 56735 return value === undefined ? undefinedTag : nullTag; 56736 } 56737 return (symToStringTag && symToStringTag in Object(value)) 56738 ? getRawTag(value) 56739 : objectToString(value); 56740} 56741 56742/** 56743 * The base implementation of `_.isArguments`. 56744 * 56745 * @private 56746 * @param {*} value The value to check. 56747 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 56748 */ 56749function baseIsArguments(value) { 56750 return isObjectLike(value) && baseGetTag(value) == argsTag; 56751} 56752 56753/** 56754 * The base implementation of `_.isEqual` which supports partial comparisons 56755 * and tracks traversed objects. 56756 * 56757 * @private 56758 * @param {*} value The value to compare. 56759 * @param {*} other The other value to compare. 56760 * @param {boolean} bitmask The bitmask flags. 56761 * 1 - Unordered comparison 56762 * 2 - Partial comparison 56763 * @param {Function} [customizer] The function to customize comparisons. 56764 * @param {Object} [stack] Tracks traversed `value` and `other` objects. 56765 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 56766 */ 56767function baseIsEqual(value, other, bitmask, customizer, stack) { 56768 if (value === other) { 56769 return true; 56770 } 56771 if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { 56772 return value !== value && other !== other; 56773 } 56774 return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); 56775} 56776 56777/** 56778 * A specialized version of `baseIsEqual` for arrays and objects which performs 56779 * deep comparisons and tracks traversed objects enabling objects with circular 56780 * references to be compared. 56781 * 56782 * @private 56783 * @param {Object} object The object to compare. 56784 * @param {Object} other The other object to compare. 56785 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 56786 * @param {Function} customizer The function to customize comparisons. 56787 * @param {Function} equalFunc The function to determine equivalents of values. 56788 * @param {Object} [stack] Tracks traversed `object` and `other` objects. 56789 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 56790 */ 56791function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { 56792 var objIsArr = isArray(object), 56793 othIsArr = isArray(other), 56794 objTag = objIsArr ? arrayTag : getTag(object), 56795 othTag = othIsArr ? arrayTag : getTag(other); 56796 56797 objTag = objTag == argsTag ? objectTag : objTag; 56798 othTag = othTag == argsTag ? objectTag : othTag; 56799 56800 var objIsObj = objTag == objectTag, 56801 othIsObj = othTag == objectTag, 56802 isSameTag = objTag == othTag; 56803 56804 if (isSameTag && isBuffer(object)) { 56805 if (!isBuffer(other)) { 56806 return false; 56807 } 56808 objIsArr = true; 56809 objIsObj = false; 56810 } 56811 if (isSameTag && !objIsObj) { 56812 stack || (stack = new Stack); 56813 return (objIsArr || isTypedArray(object)) 56814 ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) 56815 : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); 56816 } 56817 if (!(bitmask & COMPARE_PARTIAL_FLAG)) { 56818 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), 56819 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); 56820 56821 if (objIsWrapped || othIsWrapped) { 56822 var objUnwrapped = objIsWrapped ? object.value() : object, 56823 othUnwrapped = othIsWrapped ? other.value() : other; 56824 56825 stack || (stack = new Stack); 56826 return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); 56827 } 56828 } 56829 if (!isSameTag) { 56830 return false; 56831 } 56832 stack || (stack = new Stack); 56833 return equalObjects(object, other, bitmask, customizer, equalFunc, stack); 56834} 56835 56836/** 56837 * The base implementation of `_.isNative` without bad shim checks. 56838 * 56839 * @private 56840 * @param {*} value The value to check. 56841 * @returns {boolean} Returns `true` if `value` is a native function, 56842 * else `false`. 56843 */ 56844function baseIsNative(value) { 56845 if (!isObject(value) || isMasked(value)) { 56846 return false; 56847 } 56848 var pattern = isFunction(value) ? reIsNative : reIsHostCtor; 56849 return pattern.test(toSource(value)); 56850} 56851 56852/** 56853 * The base implementation of `_.isTypedArray` without Node.js optimizations. 56854 * 56855 * @private 56856 * @param {*} value The value to check. 56857 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 56858 */ 56859function baseIsTypedArray(value) { 56860 return isObjectLike(value) && 56861 isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; 56862} 56863 56864/** 56865 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 56866 * 56867 * @private 56868 * @param {Object} object The object to query. 56869 * @returns {Array} Returns the array of property names. 56870 */ 56871function baseKeys(object) { 56872 if (!isPrototype(object)) { 56873 return nativeKeys(object); 56874 } 56875 var result = []; 56876 for (var key in Object(object)) { 56877 if (hasOwnProperty.call(object, key) && key != 'constructor') { 56878 result.push(key); 56879 } 56880 } 56881 return result; 56882} 56883 56884/** 56885 * A specialized version of `baseIsEqualDeep` for arrays with support for 56886 * partial deep comparisons. 56887 * 56888 * @private 56889 * @param {Array} array The array to compare. 56890 * @param {Array} other The other array to compare. 56891 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 56892 * @param {Function} customizer The function to customize comparisons. 56893 * @param {Function} equalFunc The function to determine equivalents of values. 56894 * @param {Object} stack Tracks traversed `array` and `other` objects. 56895 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. 56896 */ 56897function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { 56898 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 56899 arrLength = array.length, 56900 othLength = other.length; 56901 56902 if (arrLength != othLength && !(isPartial && othLength > arrLength)) { 56903 return false; 56904 } 56905 // Assume cyclic values are equal. 56906 var stacked = stack.get(array); 56907 if (stacked && stack.get(other)) { 56908 return stacked == other; 56909 } 56910 var index = -1, 56911 result = true, 56912 seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; 56913 56914 stack.set(array, other); 56915 stack.set(other, array); 56916 56917 // Ignore non-index properties. 56918 while (++index < arrLength) { 56919 var arrValue = array[index], 56920 othValue = other[index]; 56921 56922 if (customizer) { 56923 var compared = isPartial 56924 ? customizer(othValue, arrValue, index, other, array, stack) 56925 : customizer(arrValue, othValue, index, array, other, stack); 56926 } 56927 if (compared !== undefined) { 56928 if (compared) { 56929 continue; 56930 } 56931 result = false; 56932 break; 56933 } 56934 // Recursively compare arrays (susceptible to call stack limits). 56935 if (seen) { 56936 if (!arraySome(other, function(othValue, othIndex) { 56937 if (!cacheHas(seen, othIndex) && 56938 (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { 56939 return seen.push(othIndex); 56940 } 56941 })) { 56942 result = false; 56943 break; 56944 } 56945 } else if (!( 56946 arrValue === othValue || 56947 equalFunc(arrValue, othValue, bitmask, customizer, stack) 56948 )) { 56949 result = false; 56950 break; 56951 } 56952 } 56953 stack['delete'](array); 56954 stack['delete'](other); 56955 return result; 56956} 56957 56958/** 56959 * A specialized version of `baseIsEqualDeep` for comparing objects of 56960 * the same `toStringTag`. 56961 * 56962 * **Note:** This function only supports comparing values with tags of 56963 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. 56964 * 56965 * @private 56966 * @param {Object} object The object to compare. 56967 * @param {Object} other The other object to compare. 56968 * @param {string} tag The `toStringTag` of the objects to compare. 56969 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 56970 * @param {Function} customizer The function to customize comparisons. 56971 * @param {Function} equalFunc The function to determine equivalents of values. 56972 * @param {Object} stack Tracks traversed `object` and `other` objects. 56973 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 56974 */ 56975function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { 56976 switch (tag) { 56977 case dataViewTag: 56978 if ((object.byteLength != other.byteLength) || 56979 (object.byteOffset != other.byteOffset)) { 56980 return false; 56981 } 56982 object = object.buffer; 56983 other = other.buffer; 56984 56985 case arrayBufferTag: 56986 if ((object.byteLength != other.byteLength) || 56987 !equalFunc(new Uint8Array(object), new Uint8Array(other))) { 56988 return false; 56989 } 56990 return true; 56991 56992 case boolTag: 56993 case dateTag: 56994 case numberTag: 56995 // Coerce booleans to `1` or `0` and dates to milliseconds. 56996 // Invalid dates are coerced to `NaN`. 56997 return eq(+object, +other); 56998 56999 case errorTag: 57000 return object.name == other.name && object.message == other.message; 57001 57002 case regexpTag: 57003 case stringTag: 57004 // Coerce regexes to strings and treat strings, primitives and objects, 57005 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring 57006 // for more details. 57007 return object == (other + ''); 57008 57009 case mapTag: 57010 var convert = mapToArray; 57011 57012 case setTag: 57013 var isPartial = bitmask & COMPARE_PARTIAL_FLAG; 57014 convert || (convert = setToArray); 57015 57016 if (object.size != other.size && !isPartial) { 57017 return false; 57018 } 57019 // Assume cyclic values are equal. 57020 var stacked = stack.get(object); 57021 if (stacked) { 57022 return stacked == other; 57023 } 57024 bitmask |= COMPARE_UNORDERED_FLAG; 57025 57026 // Recursively compare objects (susceptible to call stack limits). 57027 stack.set(object, other); 57028 var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); 57029 stack['delete'](object); 57030 return result; 57031 57032 case symbolTag: 57033 if (symbolValueOf) { 57034 return symbolValueOf.call(object) == symbolValueOf.call(other); 57035 } 57036 } 57037 return false; 57038} 57039 57040/** 57041 * A specialized version of `baseIsEqualDeep` for objects with support for 57042 * partial deep comparisons. 57043 * 57044 * @private 57045 * @param {Object} object The object to compare. 57046 * @param {Object} other The other object to compare. 57047 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 57048 * @param {Function} customizer The function to customize comparisons. 57049 * @param {Function} equalFunc The function to determine equivalents of values. 57050 * @param {Object} stack Tracks traversed `object` and `other` objects. 57051 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 57052 */ 57053function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { 57054 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 57055 objProps = getAllKeys(object), 57056 objLength = objProps.length, 57057 othProps = getAllKeys(other), 57058 othLength = othProps.length; 57059 57060 if (objLength != othLength && !isPartial) { 57061 return false; 57062 } 57063 var index = objLength; 57064 while (index--) { 57065 var key = objProps[index]; 57066 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { 57067 return false; 57068 } 57069 } 57070 // Assume cyclic values are equal. 57071 var stacked = stack.get(object); 57072 if (stacked && stack.get(other)) { 57073 return stacked == other; 57074 } 57075 var result = true; 57076 stack.set(object, other); 57077 stack.set(other, object); 57078 57079 var skipCtor = isPartial; 57080 while (++index < objLength) { 57081 key = objProps[index]; 57082 var objValue = object[key], 57083 othValue = other[key]; 57084 57085 if (customizer) { 57086 var compared = isPartial 57087 ? customizer(othValue, objValue, key, other, object, stack) 57088 : customizer(objValue, othValue, key, object, other, stack); 57089 } 57090 // Recursively compare objects (susceptible to call stack limits). 57091 if (!(compared === undefined 57092 ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) 57093 : compared 57094 )) { 57095 result = false; 57096 break; 57097 } 57098 skipCtor || (skipCtor = key == 'constructor'); 57099 } 57100 if (result && !skipCtor) { 57101 var objCtor = object.constructor, 57102 othCtor = other.constructor; 57103 57104 // Non `Object` object instances with different constructors are not equal. 57105 if (objCtor != othCtor && 57106 ('constructor' in object && 'constructor' in other) && 57107 !(typeof objCtor == 'function' && objCtor instanceof objCtor && 57108 typeof othCtor == 'function' && othCtor instanceof othCtor)) { 57109 result = false; 57110 } 57111 } 57112 stack['delete'](object); 57113 stack['delete'](other); 57114 return result; 57115} 57116 57117/** 57118 * Creates an array of own enumerable property names and symbols of `object`. 57119 * 57120 * @private 57121 * @param {Object} object The object to query. 57122 * @returns {Array} Returns the array of property names and symbols. 57123 */ 57124function getAllKeys(object) { 57125 return baseGetAllKeys(object, keys, getSymbols); 57126} 57127 57128/** 57129 * Gets the data for `map`. 57130 * 57131 * @private 57132 * @param {Object} map The map to query. 57133 * @param {string} key The reference key. 57134 * @returns {*} Returns the map data. 57135 */ 57136function getMapData(map, key) { 57137 var data = map.__data__; 57138 return isKeyable(key) 57139 ? data[typeof key == 'string' ? 'string' : 'hash'] 57140 : data.map; 57141} 57142 57143/** 57144 * Gets the native function at `key` of `object`. 57145 * 57146 * @private 57147 * @param {Object} object The object to query. 57148 * @param {string} key The key of the method to get. 57149 * @returns {*} Returns the function if it's native, else `undefined`. 57150 */ 57151function getNative(object, key) { 57152 var value = getValue(object, key); 57153 return baseIsNative(value) ? value : undefined; 57154} 57155 57156/** 57157 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 57158 * 57159 * @private 57160 * @param {*} value The value to query. 57161 * @returns {string} Returns the raw `toStringTag`. 57162 */ 57163function getRawTag(value) { 57164 var isOwn = hasOwnProperty.call(value, symToStringTag), 57165 tag = value[symToStringTag]; 57166 57167 try { 57168 value[symToStringTag] = undefined; 57169 var unmasked = true; 57170 } catch (e) {} 57171 57172 var result = nativeObjectToString.call(value); 57173 if (unmasked) { 57174 if (isOwn) { 57175 value[symToStringTag] = tag; 57176 } else { 57177 delete value[symToStringTag]; 57178 } 57179 } 57180 return result; 57181} 57182 57183/** 57184 * Creates an array of the own enumerable symbols of `object`. 57185 * 57186 * @private 57187 * @param {Object} object The object to query. 57188 * @returns {Array} Returns the array of symbols. 57189 */ 57190var getSymbols = !nativeGetSymbols ? stubArray : function(object) { 57191 if (object == null) { 57192 return []; 57193 } 57194 object = Object(object); 57195 return arrayFilter(nativeGetSymbols(object), function(symbol) { 57196 return propertyIsEnumerable.call(object, symbol); 57197 }); 57198}; 57199 57200/** 57201 * Gets the `toStringTag` of `value`. 57202 * 57203 * @private 57204 * @param {*} value The value to query. 57205 * @returns {string} Returns the `toStringTag`. 57206 */ 57207var getTag = baseGetTag; 57208 57209// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. 57210if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || 57211 (Map && getTag(new Map) != mapTag) || 57212 (Promise && getTag(Promise.resolve()) != promiseTag) || 57213 (Set && getTag(new Set) != setTag) || 57214 (WeakMap && getTag(new WeakMap) != weakMapTag)) { 57215 getTag = function(value) { 57216 var result = baseGetTag(value), 57217 Ctor = result == objectTag ? value.constructor : undefined, 57218 ctorString = Ctor ? toSource(Ctor) : ''; 57219 57220 if (ctorString) { 57221 switch (ctorString) { 57222 case dataViewCtorString: return dataViewTag; 57223 case mapCtorString: return mapTag; 57224 case promiseCtorString: return promiseTag; 57225 case setCtorString: return setTag; 57226 case weakMapCtorString: return weakMapTag; 57227 } 57228 } 57229 return result; 57230 }; 57231} 57232 57233/** 57234 * Checks if `value` is a valid array-like index. 57235 * 57236 * @private 57237 * @param {*} value The value to check. 57238 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 57239 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 57240 */ 57241function isIndex(value, length) { 57242 length = length == null ? MAX_SAFE_INTEGER : length; 57243 return !!length && 57244 (typeof value == 'number' || reIsUint.test(value)) && 57245 (value > -1 && value % 1 == 0 && value < length); 57246} 57247 57248/** 57249 * Checks if `value` is suitable for use as unique object key. 57250 * 57251 * @private 57252 * @param {*} value The value to check. 57253 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 57254 */ 57255function isKeyable(value) { 57256 var type = typeof value; 57257 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 57258 ? (value !== '__proto__') 57259 : (value === null); 57260} 57261 57262/** 57263 * Checks if `func` has its source masked. 57264 * 57265 * @private 57266 * @param {Function} func The function to check. 57267 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 57268 */ 57269function isMasked(func) { 57270 return !!maskSrcKey && (maskSrcKey in func); 57271} 57272 57273/** 57274 * Checks if `value` is likely a prototype object. 57275 * 57276 * @private 57277 * @param {*} value The value to check. 57278 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 57279 */ 57280function isPrototype(value) { 57281 var Ctor = value && value.constructor, 57282 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 57283 57284 return value === proto; 57285} 57286 57287/** 57288 * Converts `value` to a string using `Object.prototype.toString`. 57289 * 57290 * @private 57291 * @param {*} value The value to convert. 57292 * @returns {string} Returns the converted string. 57293 */ 57294function objectToString(value) { 57295 return nativeObjectToString.call(value); 57296} 57297 57298/** 57299 * Converts `func` to its source code. 57300 * 57301 * @private 57302 * @param {Function} func The function to convert. 57303 * @returns {string} Returns the source code. 57304 */ 57305function toSource(func) { 57306 if (func != null) { 57307 try { 57308 return funcToString.call(func); 57309 } catch (e) {} 57310 try { 57311 return (func + ''); 57312 } catch (e) {} 57313 } 57314 return ''; 57315} 57316 57317/** 57318 * Performs a 57319 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 57320 * comparison between two values to determine if they are equivalent. 57321 * 57322 * @static 57323 * @memberOf _ 57324 * @since 4.0.0 57325 * @category Lang 57326 * @param {*} value The value to compare. 57327 * @param {*} other The other value to compare. 57328 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 57329 * @example 57330 * 57331 * var object = { 'a': 1 }; 57332 * var other = { 'a': 1 }; 57333 * 57334 * _.eq(object, object); 57335 * // => true 57336 * 57337 * _.eq(object, other); 57338 * // => false 57339 * 57340 * _.eq('a', 'a'); 57341 * // => true 57342 * 57343 * _.eq('a', Object('a')); 57344 * // => false 57345 * 57346 * _.eq(NaN, NaN); 57347 * // => true 57348 */ 57349function eq(value, other) { 57350 return value === other || (value !== value && other !== other); 57351} 57352 57353/** 57354 * Checks if `value` is likely an `arguments` object. 57355 * 57356 * @static 57357 * @memberOf _ 57358 * @since 0.1.0 57359 * @category Lang 57360 * @param {*} value The value to check. 57361 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 57362 * else `false`. 57363 * @example 57364 * 57365 * _.isArguments(function() { return arguments; }()); 57366 * // => true 57367 * 57368 * _.isArguments([1, 2, 3]); 57369 * // => false 57370 */ 57371var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { 57372 return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && 57373 !propertyIsEnumerable.call(value, 'callee'); 57374}; 57375 57376/** 57377 * Checks if `value` is classified as an `Array` object. 57378 * 57379 * @static 57380 * @memberOf _ 57381 * @since 0.1.0 57382 * @category Lang 57383 * @param {*} value The value to check. 57384 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 57385 * @example 57386 * 57387 * _.isArray([1, 2, 3]); 57388 * // => true 57389 * 57390 * _.isArray(document.body.children); 57391 * // => false 57392 * 57393 * _.isArray('abc'); 57394 * // => false 57395 * 57396 * _.isArray(_.noop); 57397 * // => false 57398 */ 57399var isArray = Array.isArray; 57400 57401/** 57402 * Checks if `value` is array-like. A value is considered array-like if it's 57403 * not a function and has a `value.length` that's an integer greater than or 57404 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 57405 * 57406 * @static 57407 * @memberOf _ 57408 * @since 4.0.0 57409 * @category Lang 57410 * @param {*} value The value to check. 57411 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 57412 * @example 57413 * 57414 * _.isArrayLike([1, 2, 3]); 57415 * // => true 57416 * 57417 * _.isArrayLike(document.body.children); 57418 * // => true 57419 * 57420 * _.isArrayLike('abc'); 57421 * // => true 57422 * 57423 * _.isArrayLike(_.noop); 57424 * // => false 57425 */ 57426function isArrayLike(value) { 57427 return value != null && isLength(value.length) && !isFunction(value); 57428} 57429 57430/** 57431 * Checks if `value` is a buffer. 57432 * 57433 * @static 57434 * @memberOf _ 57435 * @since 4.3.0 57436 * @category Lang 57437 * @param {*} value The value to check. 57438 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 57439 * @example 57440 * 57441 * _.isBuffer(new Buffer(2)); 57442 * // => true 57443 * 57444 * _.isBuffer(new Uint8Array(2)); 57445 * // => false 57446 */ 57447var isBuffer = nativeIsBuffer || stubFalse; 57448 57449/** 57450 * Performs a deep comparison between two values to determine if they are 57451 * equivalent. 57452 * 57453 * **Note:** This method supports comparing arrays, array buffers, booleans, 57454 * date objects, error objects, maps, numbers, `Object` objects, regexes, 57455 * sets, strings, symbols, and typed arrays. `Object` objects are compared 57456 * by their own, not inherited, enumerable properties. Functions and DOM 57457 * nodes are compared by strict equality, i.e. `===`. 57458 * 57459 * @static 57460 * @memberOf _ 57461 * @since 0.1.0 57462 * @category Lang 57463 * @param {*} value The value to compare. 57464 * @param {*} other The other value to compare. 57465 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 57466 * @example 57467 * 57468 * var object = { 'a': 1 }; 57469 * var other = { 'a': 1 }; 57470 * 57471 * _.isEqual(object, other); 57472 * // => true 57473 * 57474 * object === other; 57475 * // => false 57476 */ 57477function isEqual(value, other) { 57478 return baseIsEqual(value, other); 57479} 57480 57481/** 57482 * Checks if `value` is classified as a `Function` object. 57483 * 57484 * @static 57485 * @memberOf _ 57486 * @since 0.1.0 57487 * @category Lang 57488 * @param {*} value The value to check. 57489 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 57490 * @example 57491 * 57492 * _.isFunction(_); 57493 * // => true 57494 * 57495 * _.isFunction(/abc/); 57496 * // => false 57497 */ 57498function isFunction(value) { 57499 if (!isObject(value)) { 57500 return false; 57501 } 57502 // The use of `Object#toString` avoids issues with the `typeof` operator 57503 // in Safari 9 which returns 'object' for typed arrays and other constructors. 57504 var tag = baseGetTag(value); 57505 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; 57506} 57507 57508/** 57509 * Checks if `value` is a valid array-like length. 57510 * 57511 * **Note:** This method is loosely based on 57512 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 57513 * 57514 * @static 57515 * @memberOf _ 57516 * @since 4.0.0 57517 * @category Lang 57518 * @param {*} value The value to check. 57519 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 57520 * @example 57521 * 57522 * _.isLength(3); 57523 * // => true 57524 * 57525 * _.isLength(Number.MIN_VALUE); 57526 * // => false 57527 * 57528 * _.isLength(Infinity); 57529 * // => false 57530 * 57531 * _.isLength('3'); 57532 * // => false 57533 */ 57534function isLength(value) { 57535 return typeof value == 'number' && 57536 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 57537} 57538 57539/** 57540 * Checks if `value` is the 57541 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 57542 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 57543 * 57544 * @static 57545 * @memberOf _ 57546 * @since 0.1.0 57547 * @category Lang 57548 * @param {*} value The value to check. 57549 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 57550 * @example 57551 * 57552 * _.isObject({}); 57553 * // => true 57554 * 57555 * _.isObject([1, 2, 3]); 57556 * // => true 57557 * 57558 * _.isObject(_.noop); 57559 * // => true 57560 * 57561 * _.isObject(null); 57562 * // => false 57563 */ 57564function isObject(value) { 57565 var type = typeof value; 57566 return value != null && (type == 'object' || type == 'function'); 57567} 57568 57569/** 57570 * Checks if `value` is object-like. A value is object-like if it's not `null` 57571 * and has a `typeof` result of "object". 57572 * 57573 * @static 57574 * @memberOf _ 57575 * @since 4.0.0 57576 * @category Lang 57577 * @param {*} value The value to check. 57578 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 57579 * @example 57580 * 57581 * _.isObjectLike({}); 57582 * // => true 57583 * 57584 * _.isObjectLike([1, 2, 3]); 57585 * // => true 57586 * 57587 * _.isObjectLike(_.noop); 57588 * // => false 57589 * 57590 * _.isObjectLike(null); 57591 * // => false 57592 */ 57593function isObjectLike(value) { 57594 return value != null && typeof value == 'object'; 57595} 57596 57597/** 57598 * Checks if `value` is classified as a typed array. 57599 * 57600 * @static 57601 * @memberOf _ 57602 * @since 3.0.0 57603 * @category Lang 57604 * @param {*} value The value to check. 57605 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 57606 * @example 57607 * 57608 * _.isTypedArray(new Uint8Array); 57609 * // => true 57610 * 57611 * _.isTypedArray([]); 57612 * // => false 57613 */ 57614var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; 57615 57616/** 57617 * Creates an array of the own enumerable property names of `object`. 57618 * 57619 * **Note:** Non-object values are coerced to objects. See the 57620 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 57621 * for more details. 57622 * 57623 * @static 57624 * @since 0.1.0 57625 * @memberOf _ 57626 * @category Object 57627 * @param {Object} object The object to query. 57628 * @returns {Array} Returns the array of property names. 57629 * @example 57630 * 57631 * function Foo() { 57632 * this.a = 1; 57633 * this.b = 2; 57634 * } 57635 * 57636 * Foo.prototype.c = 3; 57637 * 57638 * _.keys(new Foo); 57639 * // => ['a', 'b'] (iteration order is not guaranteed) 57640 * 57641 * _.keys('hi'); 57642 * // => ['0', '1'] 57643 */ 57644function keys(object) { 57645 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); 57646} 57647 57648/** 57649 * This method returns a new empty array. 57650 * 57651 * @static 57652 * @memberOf _ 57653 * @since 4.13.0 57654 * @category Util 57655 * @returns {Array} Returns the new empty array. 57656 * @example 57657 * 57658 * var arrays = _.times(2, _.stubArray); 57659 * 57660 * console.log(arrays); 57661 * // => [[], []] 57662 * 57663 * console.log(arrays[0] === arrays[1]); 57664 * // => false 57665 */ 57666function stubArray() { 57667 return []; 57668} 57669 57670/** 57671 * This method returns `false`. 57672 * 57673 * @static 57674 * @memberOf _ 57675 * @since 4.13.0 57676 * @category Util 57677 * @returns {boolean} Returns `false`. 57678 * @example 57679 * 57680 * _.times(2, _.stubFalse); 57681 * // => [false, false] 57682 */ 57683function stubFalse() { 57684 return false; 57685} 57686 57687module.exports = isEqual; 57688
vendor: 2,692 bytes, lines 57689-57761
57689/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34), __webpack_require__(186)(module))) 57690 57691/***/ }), 57692/* 958 */ 57693/***/ (function(module, __webpack_exports__, __webpack_require__) { 57694 57695"use strict"; 57696/*! 57697 * css-vars-ponyfill 57698 * v2.4.1 57699 * https://jhildenbiddle.github.io/css-vars-ponyfill/ 57700 * (c) 2018-2020 John Hildenbiddle <http://hildenbiddle.com> 57701 * MIT license 57702 */ 57703function _extends() { 57704 _extends = Object.assign || function(target) { 57705 for (var i = 1; i < arguments.length; i++) { 57706 var source = arguments[i]; 57707 for (var key in source) { 57708 if (Object.prototype.hasOwnProperty.call(source, key)) { 57709 target[key] = source[key]; 57710 } 57711 } 57712 } 57713 return target; 57714 }; 57715 return _extends.apply(this, arguments); 57716} 57717 57718/*! 57719 * get-css-data 57720 * v1.9.0 57721 * https://github.com/jhildenbiddle/get-css-data 57722 * (c) 2018-2020 John Hildenbiddle <http://hildenbiddle.com> 57723 * MIT license 57724 */ function getUrls(urls) { 57725 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 57726 var settings = { 57727 mimeType: options.mimeType || null, 57728 onBeforeSend: options.onBeforeSend || Function.prototype, 57729 onSuccess: options.onSuccess || Function.prototype, 57730 onError: options.onError || Function.prototype, 57731 onComplete: options.onComplete || Function.prototype 57732 }; 57733 var urlArray = Array.isArray(urls) ? urls : [ urls ]; 57734 var urlQueue = Array.apply(null, Array(urlArray.length)).map((function(x) { 57735 return null; 57736 })); 57737 function isValidCss(cssText) { 57738 var isHTML = cssText && cssText.trim().charAt(0) === "<"; 57739 return cssText && !isHTML; 57740 } 57741 function onError(xhr, urlIndex) { 57742 settings.onError(xhr, urlArray[urlIndex], urlIndex); 57743 } 57744 function onSuccess(responseText, urlIndex) { 57745 var returnVal = settings.onSuccess(responseText, urlArray[urlIndex], urlIndex); 57746 responseText = returnVal === false ? "" : returnVal || responseText; 57747 urlQueue[urlIndex] = responseText; 57748 if (urlQueue.indexOf(null) === -1) { 57749 settings.onComplete(urlQueue); 57750 } 57751 } 57752 var parser = document.createElement("a"); 57753 urlArray.forEach((function(url, i) { 57754 parser.setAttribute("href", url); 57755 parser.href = String(parser.href); 57756 var isIElte9 = Boolean(document.all && !window.atob); 57757 var isIElte9CORS = isIElte9 && parser.host.split(":")[0] !== location.host.split(":")[0]; 57758 if (isIElte9CORS) { 57759 var isSameProtocol = parser.protocol === location.protocol; 57760 if (isSameProtocol) { 57761 var xdr = new XDomainRequest;
57762 xdr.open("GET", url); 57763 xdr.timeout = 0; 57764 xdr.onprogress = Function.prototype; 57765 xdr.ontimeout = Function.prototype; 57766 xdr.onload = function() { 57767 if (isValidCss(xdr.responseText)) { 57768 onSuccess(xdr.responseText, i); 57769 } else { 57770 onError(xdr, i); 57771 } 57772 }; 57773 xdr.onerror = function(err) { 57774 onError(xdr, i); 57775 }; 57776 setTimeout((function() { 57777 xdr.send(); 57778 }), 0); 57779 } else { 57780 console.warn("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (".concat(url, ")")); 57781 onError(null, i); 57782 } 57783 } else { 57784 var xhr = new XMLHttpRequest; 57785 xhr.open("GET", url); 57786 if (settings.mimeType && xhr.overrideMimeType) { 57787 xhr.overrideMimeType(settings.mimeType); 57788 } 57789 settings.onBeforeSend(xhr, url, i); 57790 xhr.onreadystatechange = function() { 57791 if (xhr.readyState === 4) { 57792 if (xhr.status === 200 && isValidCss(xhr.responseText)) { 57793 onSuccess(xhr.responseText, i); 57794 } else if (xhr.status === 0 && isValidCss(xhr.responseText)) { 57795 onSuccess(xhr.responseText, i); 57796 } else { 57797 onError(xhr, i); 57798 } 57799 } 57800 }; 57801 xhr.send(); 57802 } 57803 })); 57804} 57805 57806/** 57807 * Gets CSS data from <style> and <link> nodes (including @imports), then 57808 * returns data in order processed by DOM. Allows specifying nodes to 57809 * include/exclude and filtering CSS data using RegEx. 57810 * 57811 * @preserve 57812 * @param {object} [options] The options object 57813 * @param {object} [options.rootElement=document] Root element to traverse for 57814 * <link> and <style> nodes. 57815 * @param {string} [options.include] CSS selector matching <link> and <style> 57816 * nodes to include 57817 * @param {string} [options.exclude] CSS selector matching <link> and <style> 57818 * nodes to exclude 57819 * @param {object} [options.filter] Regular expression used to filter node CSS 57820 * data. Each block of CSS data is tested against the filter, 57821 * and only matching data is included. 57822 * @param {boolean} [options.skipDisabled=true] Determines if disabled 57823 * stylesheets will be skipped while collecting CSS data. 57824 * @param {boolean} [options.useCSSOM=false] Determines if CSS data will be 57825 * collected from a stylesheet's runtime values instead of its 57826 * text content. This is required to get accurate CSS data 57827 * when a stylesheet has been modified using the deleteRule() 57828 * or insertRule() methods because these modifications will 57829 * not be reflected in the stylesheet's text content. 57830 * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes 57831 * 1) the XHR object, 2) source node reference, and 3) the 57832 * source URL as arguments. 57833 * @param {function} [options.onSuccess] Callback on each CSS node read. Passes 57834 * 1) CSS text, 2) source node reference, and 3) the source 57835 * URL as arguments. 57836 * @param {function} [options.onError] Callback on each error. Passes 1) the XHR 57837 * object for inspection, 2) soure node reference, and 3) the 57838 * source URL that failed (either a <link> href or an @import) 57839 * as arguments 57840 * @param {function} [options.onComplete] Callback after all nodes have been 57841 * processed. Passes 1) concatenated CSS text, 2) an array of 57842 * CSS text in DOM order, and 3) an array of nodes in DOM 57843 * order as arguments. 57844 * 57845 * @example 57846 * 57847 * getCssData({ 57848 * rootElement : document, 57849 * include : 'style,link[rel="stylesheet"]', 57850 * exclude : '[href="skip.css"]', 57851 * filter : /red/, 57852 * skipDisabled: true, 57853 * useCSSOM : false, 57854 * onBeforeSend(xhr, node, url) { 57855 * // ... 57856 * } 57857 * onSuccess(cssText, node, url) { 57858 * // ... 57859 * } 57860 * onError(xhr, node, url) { 57861 * // ... 57862 * }, 57863 * onComplete(cssText, cssArray, nodeArray) { 57864 * // ... 57865 * } 57866 * }); 57867 */ function getCssData(options) { 57868 var regex = { 57869 cssComments: /\/\*[\s\S]+?\*\//g,
vendor: 10,799 bytes, lines 57870-58154
57870 cssImports: /(?:@import\s*)(?:url\(\s*)?(?:['"])([^'"]*)(?:['"])(?:\s*\))?(?:[^;]*;)/g 57871 }; 57872 var settings = { 57873 rootElement: options.rootElement || document, 57874 include: options.include || 'style,link[rel="stylesheet"]', 57875 exclude: options.exclude || null, 57876 filter: options.filter || null, 57877 skipDisabled: options.skipDisabled !== false, 57878 useCSSOM: options.useCSSOM || false, 57879 onBeforeSend: options.onBeforeSend || Function.prototype, 57880 onSuccess: options.onSuccess || Function.prototype, 57881 onError: options.onError || Function.prototype, 57882 onComplete: options.onComplete || Function.prototype 57883 }; 57884 var sourceNodes = Array.apply(null, settings.rootElement.querySelectorAll(settings.include)).filter((function(node) { 57885 return !matchesSelector(node, settings.exclude); 57886 })); 57887 var cssArray = Array.apply(null, Array(sourceNodes.length)).map((function(x) { 57888 return null; 57889 })); 57890 function handleComplete() { 57891 var isComplete = cssArray.indexOf(null) === -1; 57892 if (isComplete) { 57893 var cssText = cssArray.join(""); 57894 settings.onComplete(cssText, cssArray, sourceNodes); 57895 } 57896 } 57897 function handleSuccess(cssText, cssIndex, node, sourceUrl) { 57898 var returnVal = settings.onSuccess(cssText, node, sourceUrl); 57899 cssText = returnVal !== undefined && Boolean(returnVal) === false ? "" : returnVal || cssText; 57900 resolveImports(cssText, node, sourceUrl, (function(resolvedCssText, errorData) { 57901 if (cssArray[cssIndex] === null) { 57902 errorData.forEach((function(data) { 57903 return settings.onError(data.xhr, node, data.url); 57904 })); 57905 if (!settings.filter || settings.filter.test(resolvedCssText)) { 57906 cssArray[cssIndex] = resolvedCssText; 57907 } else { 57908 cssArray[cssIndex] = ""; 57909 } 57910 handleComplete(); 57911 } 57912 })); 57913 } 57914 function parseImportData(cssText, baseUrl) { 57915 var ignoreRules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; 57916 var importData = {}; 57917 importData.rules = (cssText.replace(regex.cssComments, "").match(regex.cssImports) || []).filter((function(rule) { 57918 return ignoreRules.indexOf(rule) === -1; 57919 })); 57920 importData.urls = importData.rules.map((function(rule) { 57921 return rule.replace(regex.cssImports, "$1"); 57922 })); 57923 importData.absoluteUrls = importData.urls.map((function(url) { 57924 return getFullUrl(url, baseUrl); 57925 })); 57926 importData.absoluteRules = importData.rules.map((function(rule, i) { 57927 var oldUrl = importData.urls[i]; 57928 var newUrl = getFullUrl(importData.absoluteUrls[i], baseUrl); 57929 return rule.replace(oldUrl, newUrl); 57930 })); 57931 return importData; 57932 } 57933 function resolveImports(cssText, node, baseUrl, callbackFn) { 57934 var __errorData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; 57935 var __errorRules = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : []; 57936 var importData = parseImportData(cssText, baseUrl, __errorRules); 57937 if (importData.rules.length) { 57938 getUrls(importData.absoluteUrls, { 57939 onBeforeSend: function onBeforeSend(xhr, url, urlIndex) { 57940 settings.onBeforeSend(xhr, node, url); 57941 }, 57942 onSuccess: function onSuccess(cssText, url, urlIndex) { 57943 var returnVal = settings.onSuccess(cssText, node, url); 57944 cssText = returnVal === false ? "" : returnVal || cssText; 57945 var responseImportData = parseImportData(cssText, url, __errorRules); 57946 responseImportData.rules.forEach((function(rule, i) { 57947 cssText = cssText.replace(rule, responseImportData.absoluteRules[i]); 57948 })); 57949 return cssText; 57950 }, 57951 onError: function onError(xhr, url, urlIndex) { 57952 __errorData.push({ 57953 xhr: xhr, 57954 url: url 57955 }); 57956 __errorRules.push(importData.rules[urlIndex]); 57957 resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules); 57958 }, 57959 onComplete: function onComplete(responseArray) { 57960 responseArray.forEach((function(importText, i) { 57961 cssText = cssText.replace(importData.rules[i], importText); 57962 })); 57963 resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules); 57964 } 57965 }); 57966 } else { 57967 callbackFn(cssText, __errorData); 57968 } 57969 } 57970 if (sourceNodes.length) { 57971 sourceNodes.forEach((function(node, i) { 57972 var linkHref = node.getAttribute("href"); 57973 var linkRel = node.getAttribute("rel"); 57974 var isLink = node.nodeName === "LINK" && linkHref && linkRel && linkRel.toLowerCase().indexOf("stylesheet") !== -1; 57975 var isSkip = settings.skipDisabled === false ? false : node.disabled; 57976 var isStyle = node.nodeName === "STYLE"; 57977 if (isLink && !isSkip) { 57978 getUrls(linkHref, { 57979 mimeType: "text/css", 57980 onBeforeSend: function onBeforeSend(xhr, url, urlIndex) { 57981 settings.onBeforeSend(xhr, node, url); 57982 }, 57983 onSuccess: function onSuccess(cssText, url, urlIndex) { 57984 var sourceUrl = getFullUrl(linkHref); 57985 handleSuccess(cssText, i, node, sourceUrl); 57986 }, 57987 onError: function onError(xhr, url, urlIndex) { 57988 cssArray[i] = ""; 57989 settings.onError(xhr, node, url); 57990 handleComplete(); 57991 } 57992 }); 57993 } else if (isStyle && !isSkip) { 57994 var cssText = node.textContent; 57995 if (settings.useCSSOM) { 57996 cssText = Array.apply(null, node.sheet.cssRules).map((function(rule) { 57997 return rule.cssText; 57998 })).join(""); 57999 } 58000 handleSuccess(cssText, i, node, location.href); 58001 } else { 58002 cssArray[i] = ""; 58003 handleComplete(); 58004 } 58005 })); 58006 } else { 58007 settings.onComplete("", []); 58008 } 58009} 58010 58011function getFullUrl(url, base) { 58012 var d = document.implementation.createHTMLDocument(""); 58013 var b = d.createElement("base"); 58014 var a = d.createElement("a"); 58015 d.head.appendChild(b); 58016 d.body.appendChild(a); 58017 b.href = base || document.baseURI || (document.querySelector("base") || {}).href || location.href; 58018 a.href = url; 58019 return a.href; 58020} 58021 58022function matchesSelector(elm, selector) { 58023 var matches = elm.matches || elm.matchesSelector || elm.webkitMatchesSelector || elm.mozMatchesSelector || elm.msMatchesSelector || elm.oMatchesSelector; 58024 return matches.call(elm, selector); 58025} 58026 58027var balancedMatch = balanced; 58028 58029function balanced(a, b, str) { 58030 if (a instanceof RegExp) a = maybeMatch(a, str); 58031 if (b instanceof RegExp) b = maybeMatch(b, str); 58032 var r = range(a, b, str); 58033 return r && { 58034 start: r[0], 58035 end: r[1], 58036 pre: str.slice(0, r[0]), 58037 body: str.slice(r[0] + a.length, r[1]), 58038 post: str.slice(r[1] + b.length) 58039 }; 58040} 58041 58042function maybeMatch(reg, str) { 58043 var m = str.match(reg); 58044 return m ? m[0] : null; 58045} 58046 58047balanced.range = range; 58048 58049function range(a, b, str) { 58050 var begs, beg, left, right, result; 58051 var ai = str.indexOf(a); 58052 var bi = str.indexOf(b, ai + 1); 58053 var i = ai; 58054 if (ai >= 0 && bi > 0) { 58055 begs = []; 58056 left = str.length; 58057 while (i >= 0 && !result) { 58058 if (i == ai) { 58059 begs.push(i); 58060 ai = str.indexOf(a, i + 1); 58061 } else if (begs.length == 1) { 58062 result = [ begs.pop(), bi ]; 58063 } else { 58064 beg = begs.pop(); 58065 if (beg < left) { 58066 left = beg; 58067 right = bi; 58068 } 58069 bi = str.indexOf(b, i + 1); 58070 } 58071 i = ai < bi && ai >= 0 ? ai : bi; 58072 } 58073 if (begs.length) { 58074 result = [ left, right ]; 58075 } 58076 } 58077 return result; 58078} 58079 58080function parseCss(css) { 58081 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 58082 var defaults = { 58083 preserveStatic: true, 58084 removeComments: false 58085 }; 58086 var settings = _extends({}, defaults, options); 58087 var errors = []; 58088 function error(msg) { 58089 throw new Error("CSS parse error: ".concat(msg)); 58090 } 58091 function match(re) { 58092 var m = re.exec(css); 58093 if (m) { 58094 css = css.slice(m[0].length); 58095 return m; 58096 } 58097 } 58098 function open() { 58099 return match(/^{\s*/); 58100 } 58101 function close() { 58102 return match(/^}/); 58103 } 58104 function whitespace() { 58105 match(/^\s*/); 58106 } 58107 function comment() { 58108 whitespace(); 58109 if (css[0] !== "/" || css[1] !== "*") { 58110 return; 58111 } 58112 var i = 2; 58113 while (css[i] && (css[i] !== "*" || css[i + 1] !== "/")) { 58114 i++; 58115 } 58116 if (!css[i]) { 58117 return error("end of comment is missing"); 58118 } 58119 var str = css.slice(2, i); 58120 css = css.slice(i + 2); 58121 return { 58122 type: "comment", 58123 comment: str 58124 }; 58125 } 58126 function comments() { 58127 var cmnts = []; 58128 var c; 58129 while (c = comment()) { 58130 cmnts.push(c); 58131 } 58132 return settings.removeComments ? [] : cmnts; 58133 } 58134 function selector() { 58135 whitespace(); 58136 while (css[0] === "}") { 58137 error("extra closing bracket"); 58138 } 58139 var m = match(/^(("(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^{])+)/); 58140 if (m) { 58141 return m[0].trim().replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g, "").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g, (function(m) { 58142 return m.replace(/,/g, "â"); 58143 })).split(/\s*(?![^(]*\)),\s*/).map((function(s) { 58144 return s.replace(/\u200C/g, ","); 58145 })); 58146 } 58147 } 58148 function declaration() { 58149 if (css[0] === "@") { 58150 return at_rule(); 58151 } 58152 match(/^([;\s]*)+/); 58153 var comment_regexp = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g; 58154 var prop = match(/^(\*?[-#/*\\\w
vendor: 23,891 bytes, lines 58154-58811
58154]+(\[[0-9a-z_-]+\])?)\s*/); 58155 if (!prop) { 58156 return; 58157 } 58158 prop = prop[0].trim(); 58159 if (!match(/^:\s*/)) { 58160 return error("property missing ':'"); 58161 } 58162 var val = match(/^((?:\/\*.*?\*\/|'(?:\\'|.)*?'|"(?:\\"|.)*?"|\((\s*'(?:\\'|.)*?'|"(?:\\"|.)*?"|[^)]*?)\s*\)|[^};])+)/); 58163 var ret = { 58164 type: "declaration", 58165 property: prop.replace(comment_regexp, ""), 58166 value: val ? val[0].replace(comment_regexp, "").trim() : "" 58167 }; 58168 match(/^[;\s]*/); 58169 return ret; 58170 } 58171 function declarations() { 58172 if (!open()) { 58173 return error("missing '{'"); 58174 } 58175 var d; 58176 var decls = comments(); 58177 while (d = declaration()) { 58178 decls.push(d); 58179 decls = decls.concat(comments()); 58180 } 58181 if (!close()) { 58182 return error("missing '}'"); 58183 } 58184 return decls; 58185 } 58186 function keyframe() { 58187 whitespace(); 58188 var vals = []; 58189 var m; 58190 while (m = match(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)) { 58191 vals.push(m[1]); 58192 match(/^,\s*/); 58193 } 58194 if (vals.length) { 58195 return { 58196 type: "keyframe", 58197 values: vals, 58198 declarations: declarations() 58199 }; 58200 } 58201 } 58202 function at_keyframes() { 58203 var m = match(/^@([-\w]+)?keyframes\s*/); 58204 if (!m) { 58205 return; 58206 } 58207 var vendor = m[1]; 58208 m = match(/^([-\w]+)\s*/); 58209 if (!m) { 58210 return error("@keyframes missing name"); 58211 } 58212 var name = m[1]; 58213 if (!open()) { 58214 return error("@keyframes missing '{'"); 58215 } 58216 var frame; 58217 var frames = comments(); 58218 while (frame = keyframe()) { 58219 frames.push(frame); 58220 frames = frames.concat(comments()); 58221 } 58222 if (!close()) { 58223 return error("@keyframes missing '}'"); 58224 } 58225 return { 58226 type: "keyframes", 58227 name: name, 58228 vendor: vendor, 58229 keyframes: frames 58230 }; 58231 } 58232 function at_page() { 58233 var m = match(/^@page */); 58234 if (m) { 58235 var sel = selector() || []; 58236 return { 58237 type: "page", 58238 selectors: sel, 58239 declarations: declarations() 58240 }; 58241 } 58242 } 58243 function at_page_margin_box() { 58244 var m = match(/@(top|bottom|left|right)-(left|center|right|top|middle|bottom)-?(corner)?\s*/); 58245 if (m) { 58246 var name = "".concat(m[1], "-").concat(m[2]) + (m[3] ? "-".concat(m[3]) : ""); 58247 return { 58248 type: "page-margin-box", 58249 name: name, 58250 declarations: declarations() 58251 }; 58252 } 58253 } 58254 function at_fontface() { 58255 var m = match(/^@font-face\s*/); 58256 if (m) { 58257 return { 58258 type: "font-face", 58259 declarations: declarations() 58260 }; 58261 } 58262 } 58263 function at_supports() { 58264 var m = match(/^@supports *([^{]+)/); 58265 if (m) { 58266 return { 58267 type: "supports", 58268 supports: m[1].trim(), 58269 rules: rules() 58270 }; 58271 } 58272 } 58273 function at_host() { 58274 var m = match(/^@host\s*/); 58275 if (m) { 58276 return { 58277 type: "host", 58278 rules: rules() 58279 }; 58280 } 58281 } 58282 function at_media() { 58283 var m = match(/^@media([^{]+)*/); 58284 if (m) { 58285 return { 58286 type: "media", 58287 media: (m[1] || "").trim(), 58288 rules: rules() 58289 }; 58290 } 58291 } 58292 function at_custom_m() { 58293 var m = match(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/); 58294 if (m) { 58295 return { 58296 type: "custom-media", 58297 name: m[1].trim(), 58298 media: m[2].trim() 58299 }; 58300 } 58301 } 58302 function at_document() { 58303 var m = match(/^@([-\w]+)?document *([^{]+)/); 58304 if (m) { 58305 return { 58306 type: "document", 58307 document: m[2].trim(), 58308 vendor: m[1] ? m[1].trim() : null, 58309 rules: rules() 58310 }; 58311 } 58312 } 58313 function at_x() { 58314 var m = match(/^@(import|charset|namespace)\s*([^;]+);/); 58315 if (m) { 58316 return { 58317 type: m[1], 58318 name: m[2].trim() 58319 }; 58320 } 58321 } 58322 function at_rule() { 58323 whitespace(); 58324 if (css[0] === "@") { 58325 var ret = at_x() || at_fontface() || at_media() || at_keyframes() || at_supports() || at_document() || at_custom_m() || at_host() || at_page() || at_page_margin_box(); 58326 if (ret && !settings.preserveStatic) { 58327 var hasVarFunc = false; 58328 if (ret.declarations) { 58329 hasVarFunc = ret.declarations.some((function(decl) { 58330 return /var\(/.test(decl.value); 58331 })); 58332 } else { 58333 var arr = ret.keyframes || ret.rules || []; 58334 hasVarFunc = arr.some((function(obj) { 58335 return (obj.declarations || []).some((function(decl) { 58336 return /var\(/.test(decl.value); 58337 })); 58338 })); 58339 } 58340 return hasVarFunc ? ret : {}; 58341 } 58342 return ret; 58343 } 58344 } 58345 function rule() { 58346 if (!settings.preserveStatic) { 58347 var balancedMatch$1 = balancedMatch("{", "}", css); 58348 if (balancedMatch$1) { 58349 var hasVarDecl = /:(?:root|host)(?![.:#(])/.test(balancedMatch$1.pre) && /--\S*\s*:/.test(balancedMatch$1.body); 58350 var hasVarFunc = /var\(/.test(balancedMatch$1.body); 58351 if (!hasVarDecl && !hasVarFunc) { 58352 css = css.slice(balancedMatch$1.end + 1); 58353 return {}; 58354 } 58355 } 58356 } 58357 var sel = selector() || []; 58358 var decls = settings.preserveStatic ? declarations() : declarations().filter((function(decl) { 58359 var hasVarDecl = sel.some((function(s) { 58360 return /:(?:root|host)(?![.:#(])/.test(s); 58361 })) && /^--\S/.test(decl.property); 58362 var hasVarFunc = /var\(/.test(decl.value); 58363 return hasVarDecl || hasVarFunc; 58364 })); 58365 if (!sel.length) { 58366 error("selector missing"); 58367 } 58368 return { 58369 type: "rule", 58370 selectors: sel, 58371 declarations: decls 58372 }; 58373 } 58374 function rules(core) { 58375 if (!core && !open()) { 58376 return error("missing '{'"); 58377 } 58378 var node; 58379 var rules = comments(); 58380 while (css.length && (core || css[0] !== "}") && (node = at_rule() || rule())) { 58381 if (node.type) { 58382 rules.push(node); 58383 } 58384 rules = rules.concat(comments()); 58385 } 58386 if (!core && !close()) { 58387 return error("missing '}'"); 58388 } 58389 return rules; 58390 } 58391 return { 58392 type: "stylesheet", 58393 stylesheet: { 58394 rules: rules(true), 58395 errors: errors 58396 } 58397 }; 58398} 58399 58400function parseVars(cssData) { 58401 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 58402 var defaults = { 58403 parseHost: false, 58404 store: {}, 58405 onWarning: function onWarning() {} 58406 }; 58407 var settings = _extends({}, defaults, options); 58408 var reVarDeclSelectors = new RegExp(":".concat(settings.parseHost ? "host" : "root", "$")); 58409 if (typeof cssData === "string") { 58410 cssData = parseCss(cssData, settings); 58411 } 58412 cssData.stylesheet.rules.forEach((function(rule) { 58413 if (rule.type !== "rule" || !rule.selectors.some((function(s) { 58414 return reVarDeclSelectors.test(s); 58415 }))) { 58416 return; 58417 } 58418 rule.declarations.forEach((function(decl, i) { 58419 var prop = decl.property; 58420 var value = decl.value; 58421 if (prop && prop.indexOf("--") === 0) { 58422 settings.store[prop] = value; 58423 } 58424 })); 58425 })); 58426 return settings.store; 58427} 58428 58429function stringifyCss(tree) { 58430 var delim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; 58431 var cb = arguments.length > 2 ? arguments[2] : undefined; 58432 var renderMethods = { 58433 charset: function charset(node) { 58434 return "@charset " + node.name + ";"; 58435 }, 58436 comment: function comment(node) { 58437 return node.comment.indexOf("__CSSVARSPONYFILL") === 0 ? "/*" + node.comment + "*/" : ""; 58438 }, 58439 "custom-media": function customMedia(node) { 58440 return "@custom-media " + node.name + " " + node.media + ";"; 58441 }, 58442 declaration: function declaration(node) { 58443 return node.property + ":" + node.value + ";"; 58444 }, 58445 document: function document(node) { 58446 return "@" + (node.vendor || "") + "document " + node.document + "{" + visit(node.rules) + "}"; 58447 }, 58448 "font-face": function fontFace(node) { 58449 return "@font-face" + "{" + visit(node.declarations) + "}"; 58450 }, 58451 host: function host(node) { 58452 return "@host" + "{" + visit(node.rules) + "}"; 58453 }, 58454 import: function _import(node) { 58455 return "@import " + node.name + ";"; 58456 }, 58457 keyframe: function keyframe(node) { 58458 return node.values.join(",") + "{" + visit(node.declarations) + "}"; 58459 }, 58460 keyframes: function keyframes(node) { 58461 return "@" + (node.vendor || "") + "keyframes " + node.name + "{" + visit(node.keyframes) + "}"; 58462 }, 58463 media: function media(node) { 58464 return "@media " + node.media + "{" + visit(node.rules) + "}"; 58465 }, 58466 namespace: function namespace(node) { 58467 return "@namespace " + node.name + ";"; 58468 }, 58469 page: function page(node) { 58470 return "@page " + (node.selectors.length ? node.selectors.join(", ") : "") + "{" + visit(node.declarations) + "}"; 58471 }, 58472 "page-margin-box": function pageMarginBox(node) { 58473 return "@" + node.name + "{" + visit(node.declarations) + "}"; 58474 }, 58475 rule: function rule(node) { 58476 var decls = node.declarations; 58477 if (decls.length) { 58478 return node.selectors.join(",") + "{" + visit(decls) + "}"; 58479 } 58480 }, 58481 supports: function supports(node) { 58482 return "@supports " + node.supports + "{" + visit(node.rules) + "}"; 58483 } 58484 }; 58485 function visit(nodes) { 58486 var buf = ""; 58487 for (var i = 0; i < nodes.length; i++) { 58488 var n = nodes[i]; 58489 if (cb) { 58490 cb(n); 58491 } 58492 var txt = renderMethods[n.type](n); 58493 if (txt) { 58494 buf += txt; 58495 if (txt.length && n.selectors) { 58496 buf += delim; 58497 } 58498 } 58499 } 58500 return buf; 58501 } 58502 return visit(tree.stylesheet.rules); 58503} 58504 58505function walkCss(node, fn) { 58506 node.rules.forEach((function(rule) { 58507 if (rule.rules) { 58508 walkCss(rule, fn); 58509 return; 58510 } 58511 if (rule.keyframes) { 58512 rule.keyframes.forEach((function(keyframe) { 58513 if (keyframe.type === "keyframe") { 58514 fn(keyframe.declarations, rule); 58515 } 58516 })); 58517 return; 58518 } 58519 if (!rule.declarations) { 58520 return; 58521 } 58522 fn(rule.declarations, node); 58523 })); 58524} 58525 58526var VAR_PROP_IDENTIFIER = "--"; 58527 58528var VAR_FUNC_IDENTIFIER = "var"; 58529 58530function transformCss(cssData) { 58531 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 58532 var defaults = { 58533 preserveStatic: true, 58534 preserveVars: false, 58535 variables: {}, 58536 onWarning: function onWarning() {} 58537 }; 58538 var settings = _extends({}, defaults, options); 58539 if (typeof cssData === "string") { 58540 cssData = parseCss(cssData, settings); 58541 } 58542 walkCss(cssData.stylesheet, (function(declarations, node) { 58543 for (var i = 0; i < declarations.length; i++) { 58544 var decl = declarations[i]; 58545 var type = decl.type; 58546 var prop = decl.property; 58547 var value = decl.value; 58548 if (type !== "declaration") { 58549 continue; 58550 } 58551 if (!settings.preserveVars && prop && prop.indexOf(VAR_PROP_IDENTIFIER) === 0) { 58552 declarations.splice(i, 1); 58553 i--; 58554 continue; 58555 } 58556 if (value.indexOf(VAR_FUNC_IDENTIFIER + "(") !== -1) { 58557 var resolvedValue = resolveValue(value, settings); 58558 if (resolvedValue !== decl.value) { 58559 resolvedValue = fixNestedCalc(resolvedValue); 58560 if (!settings.preserveVars) { 58561 decl.value = resolvedValue; 58562 } else { 58563 declarations.splice(i, 0, { 58564 type: type, 58565 property: prop, 58566 value: resolvedValue 58567 }); 58568 i++; 58569 } 58570 } 58571 } 58572 } 58573 })); 58574 return stringifyCss(cssData); 58575} 58576 58577function fixNestedCalc(value) { 58578 var reCalcVal = /calc\(([^)]+)\)/g; 58579 (value.match(reCalcVal) || []).forEach((function(match) { 58580 var newVal = "calc".concat(match.split("calc").join("")); 58581 value = value.replace(match, newVal); 58582 })); 58583 return value; 58584} 58585 58586function resolveValue(value) { 58587 var settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 58588 var __recursiveFallback = arguments.length > 2 ? arguments[2] : undefined; 58589 if (value.indexOf("var(") === -1) { 58590 return value; 58591 } 58592 var valueData = balancedMatch("(", ")", value); 58593 function resolveFunc(value) { 58594 var name = value.split(",")[0].replace(/[\s\n\t]/g, ""); 58595 var fallback = (value.match(/(?:\s*,\s*){1}(.*)?/) || [])[1]; 58596 var match = Object.prototype.hasOwnProperty.call(settings.variables, name) ? String(settings.variables[name]) : undefined; 58597 var replacement = match || (fallback ? String(fallback) : undefined); 58598 var unresolvedFallback = __recursiveFallback || value; 58599 if (!match) { 58600 settings.onWarning('variable "'.concat(name, '" is undefined')); 58601 } 58602 if (replacement && replacement !== "undefined" && replacement.length > 0) { 58603 return resolveValue(replacement, settings, unresolvedFallback); 58604 } else { 58605 return "var(".concat(unresolvedFallback, ")"); 58606 } 58607 } 58608 if (!valueData) { 58609 if (value.indexOf("var(") !== -1) { 58610 settings.onWarning('missing closing ")" in the value "'.concat(value, '"')); 58611 } 58612 return value; 58613 } else if (valueData.pre.slice(-3) === "var") { 58614 var isEmptyVarFunc = valueData.body.trim().length === 0; 58615 if (isEmptyVarFunc) { 58616 settings.onWarning("var() must contain a non-whitespace string"); 58617 return value; 58618 } else { 58619 return valueData.pre.slice(0, -3) + resolveFunc(valueData.body) + resolveValue(valueData.post, settings); 58620 } 58621 } else { 58622 return valueData.pre + "(".concat(resolveValue(valueData.body, settings), ")") + resolveValue(valueData.post, settings); 58623 } 58624} 58625 58626var isBrowser = typeof window !== "undefined"; 58627 58628var isNativeSupport = isBrowser && window.CSS && window.CSS.supports && window.CSS.supports("(--a: 0)"); 58629 58630var counters = { 58631 group: 0, 58632 job: 0 58633}; 58634 58635var defaults = { 58636 rootElement: isBrowser ? document : null, 58637 shadowDOM: false, 58638 include: "style,link[rel=stylesheet]", 58639 exclude: "", 58640 variables: {}, 58641 onlyLegacy: true, 58642 preserveStatic: true, 58643 preserveVars: false, 58644 silent: false, 58645 updateDOM: true, 58646 updateURLs: true, 58647 watch: null, 58648 onBeforeSend: function onBeforeSend() {}, 58649 onError: function onError() {}, 58650 onWarning: function onWarning() {}, 58651 onSuccess: function onSuccess() {}, 58652 onComplete: function onComplete() {}, 58653 onFinally: function onFinally() {} 58654}; 58655 58656var regex = { 58657 cssComments: /\/\*[\s\S]+?\*\//g, 58658 cssKeyframes: /@(?:-\w*-)?keyframes/, 58659 cssMediaQueries: /@media[^{]+\{([\s\S]+?})\s*}/g, 58660 cssUrls: /url\((?!['"]?(?:data|http|\/\/):)['"]?([^'")]*)['"]?\)/g, 58661 cssVarDeclRules: /(?::(?:root|host)(?![.:#(])[\s,]*[^{]*{\s*[^}]*})/g, 58662 cssVarDecls: /(?:[\s;]*)(-{2}\w[\w-]*)(?:\s*:\s*)([^;]*);/g, 58663 cssVarFunc: /var\(\s*--[\w-]/, 58664 cssVars: /(?:(?::(?:root|host)(?![.:#(])[\s,]*[^{]*{\s*[^;]*;*\s*)|(?:var\(\s*))(--[^:)]+)(?:\s*[:)])/ 58665}; 58666 58667var variableStore = { 58668 dom: {}, 58669 job: {}, 58670 user: {} 58671}; 58672 58673var cssVarsIsRunning = false; 58674 58675var cssVarsObserver = null; 58676 58677var cssVarsSrcNodeCount = 0; 58678 58679var debounceTimer = null; 58680 58681var isShadowDOMReady = false; 58682 58683/** 58684 * Fetches, parses, and transforms CSS custom properties from specified 58685 * <style> and <link> elements into static values, then appends a new <style> 58686 * element with static values to the DOM to provide CSS custom property 58687 * compatibility for legacy browsers. Also provides a single interface for 58688 * live updates of runtime values in both modern and legacy browsers. 58689 * 58690 * @preserve 58691 * @param {object} [options] Options object 58692 * @param {object} [options.rootElement=document] Root element to traverse for 58693 * <link> and <style> nodes 58694 * @param {boolean} [options.shadowDOM=false] Determines if shadow DOM <link> 58695 * and <style> nodes will be processed. 58696 * @param {string} [options.include="style,link[rel=stylesheet]"] CSS selector 58697 * matching <link re="stylesheet"> and <style> nodes to 58698 * process 58699 * @param {string} [options.exclude] CSS selector matching <link 58700 * rel="stylehseet"> and <style> nodes to exclude from those 58701 * matches by options.include 58702 * @param {object} [options.variables] A map of custom property name/value 58703 * pairs. Property names can omit or include the leading 58704 * double-hyphen (â), and values specified will override 58705 * previous values 58706 * @param {boolean} [options.onlyLegacy=true] Determines if the ponyfill will 58707 * only generate legacy-compatible CSS in browsers that lack 58708 * native support (i.e., legacy browsers) 58709 * @param {boolean} [options.preserveStatic=true] Determines if CSS 58710 * declarations that do not reference a custom property will 58711 * be preserved in the transformed CSS 58712 * @param {boolean} [options.preserveVars=false] Determines if CSS custom 58713 * property declarations will be preserved in the transformed 58714 * CSS 58715 * @param {boolean} [options.silent=false] Determines if warning and error 58716 * messages will be displayed on the console 58717 * @param {boolean} [options.updateDOM=true] Determines if the ponyfill will 58718 * update the DOM after processing CSS custom properties 58719 * @param {boolean} [options.updateURLs=true] Determines if relative url() 58720 * paths will be converted to absolute urls in external CSS 58721 * @param {boolean} [options.watch=false] Determines if a MutationObserver will 58722 * be created that will execute the ponyfill when a <link> or 58723 * <style> DOM mutation is observed 58724 * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes 58725 * 1) the XHR object, 2) source node reference, and 3) the 58726 * source URL as arguments 58727 * @param {function} [options.onError] Callback after a CSS parsing error has 58728 * occurred or an XHR request has failed. Passes 1) an error 58729 * message, and 2) source node reference, 3) xhr, and 4 url as 58730 * arguments. 58731 * @param {function} [options.onWarning] Callback after each CSS parsing warning 58732 * has occurred. Passes 1) a warning message as an argument. 58733 * @param {function} [options.onSuccess] Callback after CSS data has been 58734 * collected from each node and before CSS custom properties 58735 * have been transformed. Allows modifying the CSS data before 58736 * it is transformed by returning any string value (or false 58737 * to skip). Passes 1) CSS text, 2) source node reference, and 58738 * 3) the source URL as arguments. 58739 * @param {function} [options.onComplete] Callback after all CSS has been 58740 * processed, legacy-compatible CSS has been generated, and 58741 * (optionally) the DOM has been updated. Passes 1) a CSS 58742 * string with CSS variable values resolved, 2) an array of 58743 * output <style> node references that have been appended to 58744 * the DOM, 3) an object containing all custom properies names 58745 * and values, and 4) the ponyfill execution time in 58746 * milliseconds. 58747 * @param {function} [options.onFinally] Callback in modern and legacy browsers 58748 * after the ponyfill has finished all tasks. Passes 1) a 58749 * boolean indicating if the last ponyfill call resulted in a 58750 * style change, 2) a boolean indicating if the current 58751 * browser provides native support for CSS custom properties, 58752 * and 3) the ponyfill execution time in milliseconds. 58753 * @example 58754 * 58755 * cssVars({ 58756 * rootElement : document, 58757 * shadowDOM : false, 58758 * include : 'style,link[rel="stylesheet"]', 58759 * exclude : '', 58760 * variables : {}, 58761 * onlyLegacy : true, 58762 * preserveStatic: true, 58763 * preserveVars : false, 58764 * silent : false, 58765 * updateDOM : true, 58766 * updateURLs : true, 58767 * watch : false, 58768 * onBeforeSend(xhr, node, url) {}, 58769 * onError(message, node, xhr, url) {}, 58770 * onWarning(message) {}, 58771 * onSuccess(cssText, node, url) {}, 58772 * onComplete(cssText, styleNode, cssVariables, benchmark) {}, 58773 * onFinally(hasChanged, hasNativeSupport, benchmark) 58774 * }); 58775 */ function cssVars() { 58776 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 58777 var msgPrefix = "cssVars(): "; 58778 var settings = _extends({}, defaults, options); 58779 function handleError(message, sourceNode, xhr, url) { 58780 if (!settings.silent && window.console) { 58781 console.error("".concat(msgPrefix).concat(message, "\n"), sourceNode); 58782 } 58783 settings.onError(message, sourceNode, xhr, url); 58784 } 58785 function handleWarning(message) { 58786 if (!settings.silent && window.console) { 58787 console.warn("".concat(msgPrefix).concat(message)); 58788 } 58789 settings.onWarning(message); 58790 } 58791 function handleFinally(hasChanged) { 58792 settings.onFinally(Boolean(hasChanged), isNativeSupport, getTimeStamp() - settings.__benchmark); 58793 } 58794 if (!isBrowser) { 58795 return; 58796 } 58797 if (settings.watch) { 58798 settings.watch = defaults.watch; 58799 addMutationObserver(settings); 58800 cssVars(settings); 58801 return; 58802 } else if (settings.watch === false && cssVarsObserver) { 58803 cssVarsObserver.disconnect(); 58804 cssVarsObserver = null; 58805 } 58806 if (!settings.__benchmark) { 58807 if (cssVarsIsRunning === settings.rootElement) { 58808 cssVarsDebounced(options); 58809 return; 58810 } 58811 var srcNodes =
vendor: 27,365 bytes, lines 58811-59292
58811Array.apply(null, settings.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars="out"])')); 58812 settings.__benchmark = getTimeStamp(); 58813 settings.exclude = [ cssVarsObserver ? '[data-cssvars]:not([data-cssvars=""])' : '[data-cssvars="out"]', "link[disabled]", settings.exclude ].filter((function(selector) { 58814 return selector; 58815 })).join(","); 58816 settings.variables = fixVarNames(settings.variables); 58817 srcNodes.forEach((function(srcNode) { 58818 var hasStyleCache = srcNode.tagName === "STYLE" && srcNode.__cssVars.text; 58819 var hasStyleChanged = hasStyleCache && srcNode.textContent !== srcNode.__cssVars.text; 58820 if (hasStyleCache && hasStyleChanged) { 58821 srcNode.sheet.disabled = false; 58822 srcNode.setAttribute("data-cssvars", ""); 58823 } 58824 })); 58825 if (!cssVarsObserver) { 58826 var outNodes = Array.apply(null, settings.rootElement.querySelectorAll('[data-cssvars="out"]')); 58827 outNodes.forEach((function(outNode) { 58828 var dataGroup = outNode.getAttribute("data-cssvars-group"); 58829 var srcNode = dataGroup ? settings.rootElement.querySelector('[data-cssvars="src"][data-cssvars-group="'.concat(dataGroup, '"]')) : null; 58830 if (!srcNode) { 58831 outNode.parentNode.removeChild(outNode); 58832 } 58833 })); 58834 if (cssVarsSrcNodeCount && srcNodes.length < cssVarsSrcNodeCount) { 58835 cssVarsSrcNodeCount = srcNodes.length; 58836 variableStore.dom = {}; 58837 } 58838 } 58839 } 58840 if (document.readyState !== "loading") { 58841 if (isNativeSupport && settings.onlyLegacy) { 58842 var hasVarChange = false; 58843 if (settings.updateDOM) { 58844 var targetElm = settings.rootElement.host || (settings.rootElement === document ? document.documentElement : settings.rootElement); 58845 Object.keys(settings.variables).forEach((function(key) { 58846 var varValue = settings.variables[key]; 58847 hasVarChange = hasVarChange || varValue !== getComputedStyle(targetElm).getPropertyValue(key); 58848 targetElm.style.setProperty(key, varValue); 58849 })); 58850 } 58851 handleFinally(hasVarChange); 58852 } else if (!isShadowDOMReady && (settings.shadowDOM || settings.rootElement.shadowRoot || settings.rootElement.host)) { 58853 getCssData({ 58854 rootElement: defaults.rootElement, 58855 include: defaults.include, 58856 exclude: settings.exclude, 58857 skipDisabled: false, 58858 onSuccess: function onSuccess(cssText, node, url) { 58859 cssText = cssText.replace(regex.cssComments, "").replace(regex.cssMediaQueries, ""); 58860 cssText = (cssText.match(regex.cssVarDeclRules) || []).join(""); 58861 return cssText || false; 58862 }, 58863 onComplete: function onComplete(cssText, cssArray, nodeArray) { 58864 parseVars(cssText, { 58865 store: variableStore.dom, 58866 onWarning: handleWarning 58867 }); 58868 isShadowDOMReady = true; 58869 cssVars(settings); 58870 } 58871 }); 58872 } else { 58873 cssVarsIsRunning = settings.rootElement; 58874 getCssData({ 58875 rootElement: settings.rootElement, 58876 include: settings.include, 58877 exclude: settings.exclude, 58878 skipDisabled: false, 58879 onBeforeSend: settings.onBeforeSend, 58880 onError: function onError(xhr, node, url) { 58881 var responseUrl = xhr.responseURL || getFullUrl$1(url, location.href); 58882 var statusText = xhr.statusText ? "(".concat(xhr.statusText, ")") : "Unspecified Error" + (xhr.status === 0 ? " (possibly CORS related)" : ""); 58883 var errorMsg = "CSS XHR Error: ".concat(responseUrl, " ").concat(xhr.status, " ").concat(statusText); 58884 handleError(errorMsg, node, xhr, responseUrl); 58885 }, 58886 onSuccess: function onSuccess(cssText, node, url) { 58887 var isLink = node.tagName === "LINK"; 58888 var isStyleImport = node.tagName === "STYLE" && cssText !== node.textContent; 58889 var returnVal = settings.onSuccess(cssText, node, url); 58890 cssText = returnVal !== undefined && Boolean(returnVal) === false ? "" : returnVal || cssText; 58891 if (settings.updateURLs && (isLink || isStyleImport)) { 58892 cssText = fixRelativeCssUrls(cssText, url); 58893 } 58894 return cssText; 58895 }, 58896 onComplete: function onComplete(cssText, cssArray) { 58897 var nodeArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; 58898 var currentVars = _extends({}, variableStore.dom, variableStore.user); 58899 var hasVarChange = false; 58900 variableStore.job = {}; 58901 nodeArray.forEach((function(node, i) { 58902 var nodeCSS = cssArray[i]; 58903 node.__cssVars = node.__cssVars || {}; 58904 node.__cssVars.text = nodeCSS; 58905 if (regex.cssVars.test(nodeCSS)) { 58906 try { 58907 var cssTree = parseCss(nodeCSS, { 58908 preserveStatic: settings.preserveStatic, 58909 removeComments: true 58910 }); 58911 parseVars(cssTree, { 58912 parseHost: Boolean(settings.rootElement.host), 58913 store: variableStore.dom, 58914 onWarning: handleWarning 58915 }); 58916 node.__cssVars.tree = cssTree; 58917 } catch (err) { 58918 handleError(err.message, node); 58919 } 58920 } 58921 })); 58922 _extends(variableStore.job, variableStore.dom); 58923 if (settings.updateDOM) { 58924 _extends(variableStore.user, settings.variables); 58925 _extends(variableStore.job, variableStore.user); 58926 } else { 58927 _extends(variableStore.job, variableStore.user, settings.variables); 58928 _extends(currentVars, settings.variables); 58929 } 58930 hasVarChange = counters.job > 0 && Boolean(Object.keys(variableStore.job).length > Object.keys(currentVars).length || Boolean(Object.keys(currentVars).length && Object.keys(variableStore.job).some((function(key) { 58931 return variableStore.job[key] !== currentVars[key]; 58932 })))); 58933 if (hasVarChange) { 58934 resetCssNodes(settings.rootElement); 58935 cssVars(settings); 58936 } else { 58937 var outCssArray = []; 58938 var outNodeArray = []; 58939 var hasKeyframesWithVars = false; 58940 if (settings.updateDOM) { 58941 counters.job++; 58942 } 58943 nodeArray.forEach((function(node, i) { 58944 var isSkip = !node.__cssVars.tree; 58945 if (node.__cssVars.tree) { 58946 try { 58947 transformCss(node.__cssVars.tree, _extends({}, settings, { 58948 variables: variableStore.job, 58949 onWarning: handleWarning 58950 })); 58951 var outCss = stringifyCss(node.__cssVars.tree); 58952 if (settings.updateDOM) { 58953 var nodeCSS = cssArray[i]; 58954 var hasCSSVarFunc = regex.cssVarFunc.test(nodeCSS); 58955 if (!node.getAttribute("data-cssvars")) { 58956 node.setAttribute("data-cssvars", "src"); 58957 } 58958 if (outCss.length && hasCSSVarFunc) { 58959 var dataGroup = node.getAttribute("data-cssvars-group") || ++counters.group; 58960 var outCssNoSpaces = outCss.replace(/\s/g, ""); 58961 var outNode = settings.rootElement.querySelector('[data-cssvars="out"][data-cssvars-group="'.concat(dataGroup, '"]')) || document.createElement("style"); 58962 hasKeyframesWithVars = hasKeyframesWithVars || regex.cssKeyframes.test(outCss); 58963 if (settings.preserveStatic) { 58964 node.sheet.disabled = true; 58965 } 58966 if (!outNode.hasAttribute("data-cssvars")) { 58967 outNode.setAttribute("data-cssvars", "out"); 58968 } 58969 if (outCssNoSpaces === node.textContent.replace(/\s/g, "")) { 58970 isSkip = true; 58971 if (outNode && outNode.parentNode) { 58972 node.removeAttribute("data-cssvars-group"); 58973 outNode.parentNode.removeChild(outNode); 58974 } 58975 } else if (outCssNoSpaces !== outNode.textContent.replace(/\s/g, "")) { 58976 [ node, outNode ].forEach((function(n) { 58977 n.setAttribute("data-cssvars-job", counters.job); 58978 n.setAttribute("data-cssvars-group", dataGroup); 58979 })); 58980 outNode.textContent = outCss; 58981 outCssArray.push(outCss); 58982 outNodeArray.push(outNode); 58983 if (!outNode.parentNode) { 58984 node.parentNode.insertBefore(outNode, node.nextSibling); 58985 } 58986 } 58987 } 58988 } else { 58989 if (node.textContent.replace(/\s/g, "") !== outCss) { 58990 outCssArray.push(outCss); 58991 } 58992 } 58993 } catch (err) { 58994 handleError(err.message, node); 58995 } 58996 } 58997 if (isSkip) { 58998 node.setAttribute("data-cssvars", "skip"); 58999 } 59000 if (!node.hasAttribute("data-cssvars-job")) { 59001 node.setAttribute("data-cssvars-job", counters.job); 59002 } 59003 })); 59004 cssVarsSrcNodeCount = settings.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars="out"])').length; 59005 if (settings.shadowDOM) { 59006 var elms = [].concat(settings.rootElement).concat(Array.apply(null, settings.rootElement.querySelectorAll("*"))); 59007 for (var i = 0, elm; elm = elms[i]; ++i) { 59008 if (elm.shadowRoot && elm.shadowRoot.querySelector("style")) { 59009 var shadowSettings = _extends({}, settings, { 59010 rootElement: elm.shadowRoot 59011 }); 59012 cssVars(shadowSettings); 59013 } 59014 } 59015 } 59016 if (settings.updateDOM && hasKeyframesWithVars) { 59017 fixKeyframes(settings.rootElement); 59018 } 59019 cssVarsIsRunning = false; 59020 settings.onComplete(outCssArray.join(""), outNodeArray, JSON.parse(JSON.stringify(variableStore.job)), getTimeStamp() - settings.__benchmark); 59021 handleFinally(outNodeArray.length); 59022 } 59023 } 59024 }); 59025 } 59026 } else { 59027 document.addEventListener("DOMContentLoaded", (function init(evt) { 59028 cssVars(options); 59029 document.removeEventListener("DOMContentLoaded", init); 59030 })); 59031 } 59032} 59033 59034cssVars.reset = function() { 59035 counters.job = 0; 59036 counters.group = 0; 59037 cssVarsIsRunning = false; 59038 if (cssVarsObserver) { 59039 cssVarsObserver.disconnect(); 59040 cssVarsObserver = null; 59041 } 59042 cssVarsSrcNodeCount = 0; 59043 debounceTimer = null; 59044 isShadowDOMReady = false; 59045 for (var prop in variableStore) { 59046 variableStore[prop] = {}; 59047 } 59048}; 59049 59050function addMutationObserver(settings) { 59051 function isDisabled(node) { 59052 var isDisabledAttr = isLink(node) && node.hasAttribute("disabled"); 59053 var isDisabledSheet = (node.sheet || {}).disabled; 59054 return isDisabledAttr || isDisabledSheet; 59055 } 59056 function isLink(node) { 59057 var isStylesheet = node.tagName === "LINK" && (node.getAttribute("rel") || "").indexOf("stylesheet") !== -1; 59058 return isStylesheet; 59059 } 59060 function isStyle(node) { 59061 return node.tagName === "STYLE"; 59062 } 59063 function isValidAttributeMutation(mutation) { 59064 var isValid = false; 59065 if (mutation.type === "attributes" && isLink(mutation.target) && !isDisabled(mutation.target)) { 59066 var isEnabledMutation = mutation.attributeName === "disabled"; 59067 var isHrefMutation = mutation.attributeName === "href"; 59068 var isSkipNode = mutation.target.getAttribute("data-cssvars") === "skip"; 59069 var isSrcNode = mutation.target.getAttribute("data-cssvars") === "src"; 59070 if (isEnabledMutation) { 59071 isValid = !isSkipNode && !isSrcNode; 59072 } else if (isHrefMutation) { 59073 if (isSkipNode) { 59074 mutation.target.setAttribute("data-cssvars", ""); 59075 } else if (isSrcNode) { 59076 resetCssNodes(settings.rootElement, true); 59077 } 59078 isValid = true; 59079 } 59080 } 59081 return isValid; 59082 } 59083 function isValidStyleTextMutation(mutation) { 59084 var isValid = false; 59085 if (mutation.type === "childList") { 59086 var isStyleElm = isStyle(mutation.target); 59087 var isOutNode = mutation.target.getAttribute("data-cssvars") === "out"; 59088 isValid = isStyleElm && !isOutNode; 59089 } 59090 return isValid; 59091 } 59092 function isValidAddMutation(mutation) { 59093 var isValid = false; 59094 if (mutation.type === "childList") { 59095 isValid = Array.apply(null, mutation.addedNodes).some((function(node) { 59096 var isElm = node.nodeType === 1; 59097 var hasAttr = isElm && node.hasAttribute("data-cssvars"); 59098 var isStyleWithVars = isStyle(node) && regex.cssVars.test(node.textContent); 59099 var isValid = !hasAttr && (isLink(node) || isStyleWithVars); 59100 return isValid && !isDisabled(node); 59101 })); 59102 } 59103 return isValid; 59104 } 59105 function isValidRemoveMutation(mutation) { 59106 var isValid = false; 59107 if (mutation.type === "childList") { 59108 isValid = Array.apply(null, mutation.removedNodes).some((function(node) { 59109 var isElm = node.nodeType === 1; 59110 var isOutNode = isElm && node.getAttribute("data-cssvars") === "out"; 59111 var isSrcNode = isElm && node.getAttribute("data-cssvars") === "src"; 59112 var isValid = isSrcNode; 59113 if (isSrcNode || isOutNode) { 59114 var dataGroup = node.getAttribute("data-cssvars-group"); 59115 var orphanNode = settings.rootElement.querySelector('[data-cssvars-group="'.concat(dataGroup, '"]')); 59116 if (isSrcNode) { 59117 resetCssNodes(settings.rootElement, true); 59118 } 59119 if (orphanNode) { 59120 orphanNode.parentNode.removeChild(orphanNode); 59121 } 59122 } 59123 return isValid; 59124 })); 59125 } 59126 return isValid; 59127 } 59128 if (!window.MutationObserver) { 59129 return; 59130 } 59131 if (cssVarsObserver) { 59132 cssVarsObserver.disconnect(); 59133 cssVarsObserver = null; 59134 } 59135 cssVarsObserver = new MutationObserver((function(mutations) { 59136 var hasValidMutation = mutations.some((function(mutation) { 59137 return isValidAttributeMutation(mutation) || isValidStyleTextMutation(mutation) || isValidAddMutation(mutation) || isValidRemoveMutation(mutation); 59138 })); 59139 if (hasValidMutation) { 59140 cssVars(settings); 59141 } 59142 })); 59143 cssVarsObserver.observe(document.documentElement, { 59144 attributes: true, 59145 attributeFilter: [ "disabled", "href" ], 59146 childList: true, 59147 subtree: true 59148 }); 59149} 59150 59151function cssVarsDebounced(settings) { 59152 var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; 59153 clearTimeout(debounceTimer); 59154 debounceTimer = setTimeout((function() { 59155 settings.__benchmark = null; 59156 cssVars(settings); 59157 }), delay); 59158} 59159 59160function fixKeyframes(rootElement) { 59161 var animationNameProp = [ "animation-name", "-moz-animation-name", "-webkit-animation-name" ].filter((function(prop) { 59162 return getComputedStyle(document.body)[prop]; 59163 }))[0]; 59164 if (animationNameProp) { 59165 var allNodes = rootElement.getElementsByTagName("*"); 59166 var keyframeNodes = []; 59167 var nameMarker = "__CSSVARSPONYFILL-KEYFRAMES__"; 59168 for (var i = 0, len = allNodes.length; i < len; i++) { 59169 var node = allNodes[i]; 59170 var animationName = getComputedStyle(node)[animationNameProp]; 59171 if (animationName !== "none") { 59172 node.style[animationNameProp] += nameMarker; 59173 keyframeNodes.push(node); 59174 } 59175 } 59176 void document.body.offsetHeight; 59177 for (var _i = 0, _len = keyframeNodes.length; _i < _len; _i++) { 59178 var nodeStyle = keyframeNodes[_i].style; 59179 nodeStyle[animationNameProp] = nodeStyle[animationNameProp].replace(nameMarker, ""); 59180 } 59181 } 59182} 59183 59184function fixRelativeCssUrls(cssText, baseUrl) { 59185 var cssUrls = cssText.replace(regex.cssComments, "").match(regex.cssUrls) || []; 59186 cssUrls.forEach((function(cssUrl) { 59187 var oldUrl = cssUrl.replace(regex.cssUrls, "$1"); 59188 var newUrl = getFullUrl$1(oldUrl, baseUrl); 59189 cssText = cssText.replace(cssUrl, cssUrl.replace(oldUrl, newUrl)); 59190 })); 59191 return cssText; 59192} 59193 59194function fixVarNames() { 59195 var varObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 59196 var reLeadingHyphens = /^-{2}/; 59197 return Object.keys(varObj).reduce((function(obj, value) { 59198 var key = reLeadingHyphens.test(value) ? value : "--".concat(value.replace(/^-+/, "")); 59199 obj[key] = varObj[value]; 59200 return obj; 59201 }), {}); 59202} 59203 59204function getFullUrl$1(url) { 59205 var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : location.href; 59206 var d = document.implementation.createHTMLDocument(""); 59207 var b = d.createElement("base"); 59208 var a = d.createElement("a"); 59209 d.head.appendChild(b); 59210 d.body.appendChild(a); 59211 b.href = base; 59212 a.href = url; 59213 return a.href; 59214} 59215 59216function getTimeStamp() { 59217 return isBrowser && (window.performance || {}).now ? window.performance.now() : (new Date).getTime(); 59218} 59219 59220function resetCssNodes(rootElement) { 59221 var resetDOMVariableStore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 59222 var resetNodes = Array.apply(null, rootElement.querySelectorAll('[data-cssvars="skip"],[data-cssvars="src"]')); 59223 resetNodes.forEach((function(node) { 59224 return node.setAttribute("data-cssvars", ""); 59225 })); 59226 if (resetDOMVariableStore) { 59227 variableStore.dom = {}; 59228 } 59229} 59230 59231/* harmony default export */ __webpack_exports__["a"] = (cssVars); 59232//# sourceMappingURL=css-vars-ponyfill.esm.js.map 59233 59234 59235/***/ }), 59236/* 959 */ 59237/***/ (function(module, __webpack_exports__, __webpack_require__) { 59238 59239"use strict"; 59240/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return parseQueryString; }); 59241/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71); 59242/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__); 59243/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70); 59244/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_1__); 59245/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87); 59246/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_2__); 59247/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(265); 59248/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_3__); 59249/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77); 59250/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_4__); 59251/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(162); 59252/* harmony import */ var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_5__); 59253/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(177); 59254/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_6__); 59255/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(98); 59256/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7__); 59257/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(99); 59258/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_8__); 59259/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(89); 59260/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9__); 59261/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(93); 59262/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_10__); 59263/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(269); 59264/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_11__); 59265/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(252); 59266/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_12__); 59267/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(88); 59268/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_13__); 59269/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(15); 59270/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14__); 59271/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8); 59272/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_15__); 59273 59274 59275 59276 59277 59278 59279 59280 59281 59282 59283 59284 59285 59286 59287 59288 59289 59290function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 59291 59292function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
59292 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 59293 59294var parseQueryString = function parseQueryString() { 59295 var search = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; 59296 var hashes = search.slice(search.indexOf("?") + 1).split("&"); 59297 return hashes.reduce(function (acc, hash) { 59298 var _hash$split$map = hash.split("=").map(function (item) { 59299 return item ? decodeURIComponent(item.replace(/\+/g, " ")) : undefined; 59300 }), 59301 _hash$split$map2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_15___default()(_hash$split$map, 2), 59302 key = _hash$split$map2[0], 59303 val = _hash$split$map2[1]; 59304 59305 return key ? _objectSpread(_objectSpread({}, acc), {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_14___default()({}, key, val)) : acc; 59306 }, {}); 59307}; 59308 59309/***/ }), 59310/* 960 */, 59311/* 961 */, 59312/* 962 */ 59313/***/ (function(module, __webpack_exports__, __webpack_require__) { 59314 59315"use strict"; 59316 59317// EXPORTS 59318__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ MenuPanelbabel_target_legacy_MenuPanel; }); 59319 59320// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.values.js?babel-target=legacy 59321var es_object_valuesbabel_target_legacy = __webpack_require__(328); 59322 59323// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 59324var regenerator_babel_target_legacy = __webpack_require__(6); 59325var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 59326 59327// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 59328var runtimebabel_target_legacy = __webpack_require__(60); 59329 59330// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 59331var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 59332var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 59333 59334// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 59335var slicedToArraybabel_target_legacy = __webpack_require__(8); 59336var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 59337 59338// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 59339var preact_modulebabel_target_legacy = __webpack_require__(1); 59340 59341// EXTERNAL MODULE: ./src/components/MenuPanel/MenuPanel.module.scss 59342var MenuPanel_module = __webpack_require__(190); 59343var MenuPanel_module_default = /*#__PURE__*/__webpack_require__.n(MenuPanel_module); 59344 59345// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 59346var RPIconbabel_target_legacy = __webpack_require__(42); 59347 59348// EXTERNAL MODULE: ./src/components/TabBar/index.ts?babel-target=legacy + 1 modules 59349var TabBarbabel_target_legacy = __webpack_require__(435); 59350 59351// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 59352var hooks_modulebabel_target_legacy = __webpack_require__(4); 59353 59354// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 59355var es_array_concatbabel_target_legacy = __webpack_require__(75); 59356 59357// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 59358var es_array_filterbabel_target_legacy = __webpack_require__(70); 59359 59360// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js?babel-target=legacy 59361var es_array_reducebabel_target_legacy = __webpack_require__(162); 59362 59363// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 59364var es_object_keysbabel_target_legacy = __webpack_require__(89); 59365 59366// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.sub.js?babel-target=legacy 59367var es_string_subbabel_target_legacy = __webpack_require__(344); 59368 59369// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 59370var toConsumableArraybabel_target_legacy = __webpack_require__(37); 59371var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 59372 59373// EXTERNAL MODULE: ./src/components/FavouritesList/FavouritesList.module.scss 59374var FavouritesList_module = __webpack_require__(111); 59375var FavouritesList_module_default = /*#__PURE__*/__webpack_require__.n(FavouritesList_module); 59376 59377// EXTERNAL MODULE: ./node_modules/@aerian/preact-virtual-list/dist/preact-virtual-list.js?babel-target=legacy 59378var preact_virtual_listbabel_target_legacy = __webpack_require__(121); 59379var preact_virtual_listbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(preact_virtual_listbabel_target_legacy); 59380 59381// EXTERNAL MODULE: ./src/components/ContentCard/index.ts?babel-target=legacy + 1 modules 59382var ContentCardbabel_target_legacy = __webpack_require__(189); 59383 59384// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 59385var useAPIbabel_target_legacy = __webpack_require__(44); 59386 59387// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 59388var APIManagerbabel_target_legacy = __webpack_require__(32); 59389 59390// EXTERNAL MODULE: ./src/components/IconSprite/index.ts?babel-target=legacy + 1 modules 59391var IconSpritebabel_target_legacy = __webpack_require__(131); 59392 59393// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 59394var es_babel_target_legacy = __webpack_require__(25); 59395 59396// CONCATENATED MODULE: ./src/components/FavouritesList/FavouritesList.tsx?babel-target=legacy 59397 59398 59399 59400 59401 59402 59403 59404 59405 59406 59407 59408 59409 59410 59411 59412 59413 59414 59415var FavouritesListbabel_target_legacy_renderRow = function renderRow(row) { 59416 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 59417 imageUrl: row.imageUrl, 59418 title: row.serviceName, 59419 description: row.shortDescription, 59420 url: row.consoleUrl, 59421 rpId: row.rpId 59422 }); 59423}; 59424 59425var FavouritesListbabel_target_legacy_FavouritesList = function FavouritesList(_ref) { 59426 var stations = _ref.stations; 59427 var keys = Object.keys(stations); 59428 59429 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 59430 t = _useTranslation.t; 59431 59432 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 59433 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 59434 state = _useAPI2[0]; 59435 59436 var data = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 59437 return keys.reduce(function (prev, next) { 59438 return [].concat(toConsumableArraybabel_target_legacy_default()(prev), toConsumableArraybabel_target_legacy_default()(stations[next])); 59439 }, []).filter(function (station) { 59440 return Object(APIManagerbabel_target_legacy["m" /* isFave */])(station.rpId, state.faves); 59441 }); 59442 }, [stations, keys, state]); 59443 return data.length ? Object(preact_modulebabel_target_legacy["h"])("div", { 59444 className: FavouritesList_module_default.a.wrap 59445 }, Object(preact_modulebabel_target_legacy["h"])("div", { 59446 className: FavouritesList_module_default.a.head 59447 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 59448 className: FavouritesList_module_default.a.title 59449 }, t("FAVOURITES_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 59450 className: FavouritesList_module_default.a.sub 59451 }, t("FAVOURITES_DESCRIPTION"))), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, {
59452 data: data, 59453 renderRow: FavouritesListbabel_target_legacy_renderRow, 59454 rowHeight: 80, 59455 overscanCount: 10, 59456 sync: true 59457 })) : Object(preact_modulebabel_target_legacy["h"])("div", { 59458 className: FavouritesList_module_default.a.wrap 59459 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 59460 className: FavouritesList_module_default.a.empty 59461 }, t("FAVOURITES_EMPTY_STATE")), Object(preact_modulebabel_target_legacy["h"])("div", { 59462 className: FavouritesList_module_default.a.card 59463 }, Object(preact_modulebabel_target_legacy["h"])("p", { 59464 className: FavouritesList_module_default.a.info 59465 }, t("FAVOURITES_HINT")), Object(preact_modulebabel_target_legacy["h"])("div", { 59466 className: FavouritesList_module_default.a.swoosh 59467 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 59468 "aria-hidden": "true", 59469 src: __webpack_require__(1001) 59470 })), Object(preact_modulebabel_target_legacy["h"])("div", { 59471 className: FavouritesList_module_default.a.buttons 59472 }, Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 59473 name: "fave-unset" 59474 }), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 59475 name: "small-play" 59476 })))); 59477}; 59478/* harmony default export */ var FavouritesListbabel_target_legacy = (FavouritesListbabel_target_legacy_FavouritesList); 59479// CONCATENATED MODULE: ./src/components/FavouritesList/index.ts?babel-target=legacy 59480 59481// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js?babel-target=legacy 59482var es_array_findbabel_target_legacy = __webpack_require__(182); 59483 59484// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 59485var es_array_mapbabel_target_legacy = __webpack_require__(77); 59486 59487// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js?babel-target=legacy 59488var es_array_slicebabel_target_legacy = __webpack_require__(177); 59489 59490// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toArray.js?babel-target=legacy 59491var toArraybabel_target_legacy = __webpack_require__(780); 59492var toArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toArraybabel_target_legacy); 59493 59494// EXTERNAL MODULE: ./src/components/RecentStations/RecentStations.module.scss 59495var RecentStations_module = __webpack_require__(159); 59496var RecentStations_module_default = /*#__PURE__*/__webpack_require__.n(RecentStations_module); 59497 59498// CONCATENATED MODULE: ./src/components/RecentStations/RecentStations.tsx?babel-target=legacy 59499 59500 59501 59502 59503 59504 59505 59506 59507 59508 59509 59510 59511 59512 59513 59514 59515 59516 59517 59518 59519var RecentStationsbabel_target_legacy_renderRow = function renderRow(row) { 59520 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 59521 imageUrl: row.imageUrl, 59522 title: row.serviceName, 59523 description: row.shortDescription, 59524 url: row.consoleUrl, 59525 rpId: row.rpId 59526 }); 59527}; 59528 59529var findStation = function findStation(rpId, stations) { 59530 return stations.find(function (station) { 59531 return station.rpId === rpId; 59532 }); 59533}; 59534 59535var RecentStationsbabel_target_legacy_RecentStations = function RecentStations(_ref) { 59536 var stations = _ref.stations; 59537 var keys = Object.keys(stations); 59538 59539 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 59540 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 59541 state = _useAPI2[0]; 59542 59543 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 59544 t = _useTranslation.t; 59545 59546 var allStations = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 59547 return keys.reduce(function (prev, next) { 59548 return [].concat(toConsumableArraybabel_target_legacy_default()(prev), toConsumableArraybabel_target_legacy_default()(stations[next])); 59549 }, []); 59550 }, [keys, stations]); 59551 59552 var _getRecentStations = Object(APIManagerbabel_target_legacy["i" /* getRecentStations */])(state.cookie), 59553 _getRecentStations2 = toArraybabel_target_legacy_default()(_getRecentStations), 59554 _current = _getRecentStations2[0], 59555 history = _getRecentStations2.slice(1); 59556 59557 var data = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 59558 return history.map(function (item) { 59559 return findStation(item, allStations); 59560 }
59560).filter(Boolean); 59561 }, [history, allStations]); 59562 return data.length ? Object(preact_modulebabel_target_legacy["h"])("div", { 59563 className: RecentStations_module_default.a.wrap 59564 }, Object(preact_modulebabel_target_legacy["h"])("div", { 59565 className: RecentStations_module_default.a.head 59566 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 59567 className: RecentStations_module_default.a.title 59568 }, t("RECENT_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 59569 className: RecentStations_module_default.a.sub 59570 }, t("RECENT_DESCRIPTION"))), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 59571 data: data, 59572 renderRow: RecentStationsbabel_target_legacy_renderRow, 59573 rowHeight: 80, 59574 overscanCount: 10, 59575 sync: true 59576 })) : Object(preact_modulebabel_target_legacy["h"])("div", { 59577 className: RecentStations_module_default.a.wrap 59578 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 59579 className: RecentStations_module_default.a.empty 59580 }, t("RECENT_EMPTY_STATE"), Object(preact_modulebabel_target_legacy["h"])("br", null), t("RECENT_HINT"))); 59581}; 59582/* harmony default export */ var RecentStationsbabel_target_legacy = (RecentStationsbabel_target_legacy_RecentStations); 59583// CONCATENATED MODULE: ./src/components/RecentStations/index.ts?babel-target=legacy 59584 59585// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 59586var es_symbolbabel_target_legacy = __webpack_require__(71); 59587 59588// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find-index.js?babel-target=legacy 59589var es_array_find_indexbabel_target_legacy = __webpack_require__(343); 59590 59591// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 59592var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 59593 59594// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 59595var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 59596 59597// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 59598var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 59599 59600// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 59601var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 59602 59603// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 59604var definePropertybabel_target_legacy = __webpack_require__(15); 59605var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 59606 59607// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js?babel-target=legacy 59608function _extends() { 59609 _extends = Object.assign || function (target) { 59610 for (var i = 1; i < arguments.length; i++) { 59611 var source = arguments[i]; 59612 59613 for (var key in source) { 59614 if (Object.prototype.hasOwnProperty.call(source, key)) { 59615 target[key] = source[key]; 59616 } 59617 } 59618 } 59619 59620 return target; 59621 }; 59622 59623 return _extends.apply(this, arguments); 59624} 59625// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js?babel-target=legacy 59626function _inheritsLoose(subClass, superClass) { 59627 subClass.prototype = Object.create(superClass.prototype); 59628 subClass.prototype.constructor = subClass; 59629 subClass.__proto__ = superClass; 59630} 59631// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js?babel-target=legacy 59632var assertThisInitializedbabel_target_legacy = __webpack_require__(110); 59633 59634// CONCATENATED MODULE: ./node_modules/memoize-one/dist/memoize-one.esm.js?babel-target=legacy 59635var safeIsNaN = Number.isNaN || 59636 function ponyfill(value) { 59637 return typeof value === 'number' && value !== value; 59638 }; 59639function isEqual(first, second) { 59640 if (first === second) { 59641 return true; 59642 } 59643 if (safeIsNaN(first) && safeIsNaN(second)) { 59644 return true; 59645 } 59646 return false; 59647} 59648function areInputsEqual(newInputs, lastInputs) { 59649 if (newInputs.length !== lastInputs.length) { 59650 return false;
59651 } 59652 for (var i = 0; i < newInputs.length; i++) { 59653 if (!isEqual(newInputs[i], lastInputs[i])) { 59654 return false; 59655 } 59656 } 59657 return true; 59658} 59659 59660function memoizeOne(resultFn, isEqual) { 59661 if (isEqual === void 0) { isEqual = areInputsEqual; } 59662 var lastThis; 59663 var lastArgs = []; 59664 var lastResult; 59665 var calledOnce = false; 59666 function memoized() { 59667 var newArgs = []; 59668 for (var _i = 0; _i < arguments.length; _i++) { 59669 newArgs[_i] = arguments[_i]; 59670 } 59671 if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) { 59672 return lastResult; 59673 } 59674 lastResult = resultFn.apply(this, newArgs); 59675 calledOnce = true; 59676 lastThis = this; 59677 lastArgs = newArgs; 59678 return lastResult; 59679 } 59680 return memoized; 59681} 59682 59683/* harmony default export */ var memoize_one_esmbabel_target_legacy = (memoizeOne); 59684 59685// EXTERNAL MODULE: ./node_modules/preact/compat/dist/compat.module.js?babel-target=legacy 59686var compat_modulebabel_target_legacy = __webpack_require__(18); 59687 59688// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js?babel-target=legacy 59689function _objectWithoutPropertiesLoose(source, excluded) { 59690 if (source == null) return {}; 59691 var target = {}; 59692 var sourceKeys = Object.keys(source); 59693 var key, i; 59694 59695 for (i = 0; i < sourceKeys.length; i++) { 59696 key = sourceKeys[i]; 59697 if (excluded.indexOf(key) >= 0) continue; 59698 target[key] = source[key]; 59699 } 59700 59701 return target; 59702} 59703// CONCATENATED MODULE: ./node_modules/react-window/dist/index.esm.js?babel-target=legacy 59704 59705 59706 59707 59708 59709 59710 59711// Animation frame based implementation of setTimeout. 59712// Inspired by Joe Lambert, https://gist.github.com/joelambert/1002116#file-requesttimeout-js 59713var hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function'; 59714var now = hasNativePerformanceNow ? function () { 59715 return performance.now(); 59716} : function () { 59717 return Date.now(); 59718}; 59719function cancelTimeout(timeoutID) { 59720 cancelAnimationFrame(timeoutID.id); 59721} 59722function requestTimeout(callback, delay) { 59723 var start = now(); 59724 59725 function tick() { 59726 if (now() - start >= delay) { 59727 callback.call(null); 59728 } else { 59729 timeoutID.id = requestAnimationFrame(tick); 59730 } 59731 } 59732 59733 var timeoutID = { 59734 id: requestAnimationFrame(tick) 59735 }; 59736 return timeoutID; 59737} 59738 59739var size = -1; // This utility copied from "dom-helpers" package. 59740 59741function getScrollbarSize(recalculate) { 59742 if (recalculate === void 0) { 59743 recalculate = false; 59744 } 59745 59746 if (size === -1 || recalculate) { 59747 var div = document.createElement('div'); 59748 var style = div.style; 59749 style.width = '50px'; 59750 style.height = '50px'; 59751 style.overflow = 'scroll'; 59752 document.body.appendChild(div); 59753 size = div.offsetWidth - div.clientWidth; 59754 document.body.removeChild(div); 59755 } 59756 59757 return size; 59758} 59759var cachedRTLResult = null; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements. 59760// Chrome does not seem to adhere; its scrollLeft values are positive (measured relative to the left). 59761// Safari's elastic bounce makes detecting this even more complicated wrt potential false positives. 59762// The safest way to check this is to intentionally set a negative offset, 59763// and then verify that the subsequent "scroll" event matches the negative offset. 59764// If it does not match, then we can assume a non-standard RTL scroll implementation. 59765 59766function getRTLOffsetType(recalculate) { 59767 if (recalculate === void 0) { 59768 recalculate = false; 59769 } 59770 59771 if (cachedRTLResult === null || recalculate) { 59772 var outerDiv = document.createElement('div'); 59773 var outerStyle = outerDiv.style; 59774 outerStyle.width = '50px'; 59775 outerStyle.height = '50px'; 59776 outerStyle.overflow = 'scroll'; 59777 outerStyle.direction = 'rtl'; 59778 var innerDiv = document.createElement('div'); 59779 var innerStyle = innerDiv.style; 59780 innerStyle.width = '100px'; 59781 innerStyle.height = '100px'; 59782 outerDiv.appendChild(innerDiv); 59783 document.body.appendChild(outerDiv); 59784 59785 if (outerDiv.scrollLeft > 0) { 59786 cachedRTLResult = 'positive-descending'; 59787 } else { 59788 outerDiv.scrollLeft = 1; 59789 59790 if (outerDiv.scrollLeft === 0) { 59791 cachedRTLResult = 'negative'; 59792 } else { 59793 cachedRTLResult = 'positive-ascending'; 59794 } 59795 } 59796 59797 document.body.removeChild(outerDiv); 59798 return cachedRTLResult; 59799 } 59800 59801 return cachedRTLResult; 59802} 59803 59804var IS_SCROLLING_DEBOUNCE_INTERVAL = 150; 59805 59806var defaultItemKey = function defaultItemKey(_ref) { 59807 var columnIndex = _ref.columnIndex, 59808 data = _ref.data, 59809 rowIndex = _ref.rowIndex; 59810 return rowIndex + ":" + columnIndex; 59811}; // In DEV mode, this Set helps us only log a warning once per component instance. 59812// This avoids spamming the console every time a render happens. 59813 59814 59815var devWarningsOverscanCount = null; 59816var devWarningsOverscanRowsColumnsCount = null; 59817var devWarningsTagName = null; 59818 59819if (false) {} 59820 59821function createGridComponent(_ref2) { 59822 var _class, _temp; 59823 59824 var getColumnOffset = _ref2.getColumnOffset, 59825 getColumnStartIndexForOffset = _ref2.getColumnStartIndexForOffset, 59826 getColumnStopIndexForStartIndex = _ref2.getColumnStopIndexForStartIndex, 59827 getColumnWidth = _ref2.getColumnWidth, 59828 getEstimatedTotalHeight = _ref2.getEstimatedTotalHeight, 59829 getEstimatedTotalWidth = _ref2.getEstimatedTotalWidth, 59830 getOffsetForColumnAndAlignment = _ref2.getOffsetForColumnAndAlignment, 59831 getOffsetForRowAndAlignment = _ref2.getOffsetForRowAndAlignment, 59832 getRowHeight = _ref2.getRowHeight, 59833 getRowOffset = _ref2.getRowOffset, 59834 getRowStartIndexForOffset = _ref2.getRowStartIndexForOffset, 59835 getRowStopIndexForStartIndex = _ref2.getRowStopIndexForStartIndex, 59836 initInstanceProps = _ref2.initInstanceProps, 59837 shouldResetStyleCacheOnItemSizeChange = _ref2.shouldResetStyleCacheOnItemSizeChange, 59838 validateProps = _ref2.validateProps; 59839 return _temp = _class = 59840 /*#__PURE__*/ 59841 function (_PureComponent) { 59842 _inheritsLoose(Grid, _PureComponent); 59843 59844 // Always use explicit constructor for React components. 59845 // It produces less code after transpilation. (#26) 59846 // eslint-disable-next-line no-useless-constructor 59847 function Grid(props) { 59848 var _this; 59849 59850 _this = _PureComponent.call(this, props) || this; 59851 _this._instanceProps = initInstanceProps(_this.props, Object(assertThisInitializedbabel_target_legacy["a" /* default */])(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this))); 59852 _this._resetIsScrollingTimeoutId = null; 59853 _this._outerRef = void 0; 59854 _this.state = { 59855 instance: Object(assertThisInitializedbabel_target_legacy["a" /* default */])(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)), 59856 isScrolling: false, 59857 horizontalScrollDirection: 'forward', 59858 scrollLeft: typeof _this.props.initialScrollLeft === 'number' ? _this.props.initialScrollLeft : 0, 59859 scrollTop: typeof _this.props.initialScrollTop === 'number' ? _this.props.initialScrollTop : 0, 59860 scrollUpdateWasRequested: false, 59861 verticalScrollDirection: 'forward' 59862 }; 59863 _this._callOnItemsRendered = void 0; 59864 _this._callOnItemsRendered = memoize_one_esmbabel_target_legacy(function (overscanColumnStartIndex, overscanColumnStopIndex, overscanRowStartIndex, overscanRowStopIndex, visibleColumnStartIndex, visibleColumnStopIndex, visibleRowStartIndex, visibleRowStopIndex) { 59865 return _this.props.onItemsRendered({ 59866 overscanColumnStartIndex: overscanColumnStartIndex, 59867 overscanColumnStopIndex: overscanColumnStopIndex, 59868 overscanRowStartIndex: overscanRowStartIndex, 59869 overscanRowStopIndex: overscanRowStopIndex, 59870 visibleColumnStartIndex: visibleColumnStartIndex, 59871 visibleColumnStopIndex: visibleColumnStopIndex, 59872 visibleRowStartIndex: visibleRowStartIndex, 59873 visibleRowStopIndex: visibleRowStopIndex 59874 }); 59875 }); 59876 _this._callOnScroll = void 0; 59877 _this._callOnScroll = memoize_one_esmbabel_target_legacy(function (scrollLeft, scrollTop, horizontalScrollDirection, verticalScrollDirection, scrollUpdateWasRequested) { 59878 return _this.props.onScroll({ 59879 horizontalScrollDirection: horizontalScrollDirection, 59880 scrollLeft: scrollLeft, 59881 scrollTop: scrollTop, 59882 verticalScrollDirection: verticalScrollDirection, 59883 scrollUpdateWasRequested: scrollUpdateWasRequested 59884 }); 59885 }); 59886 _this._getItemStyle = void 0; 59887 59888 _this._getItemStyle = function (rowIndex, columnIndex) { 59889 var _this$props = _this.props, 59890 columnWidth = _this$props.columnWidth, 59891 direction = _this$props.direction, 59892 rowHeight = _this$props.rowHeight; 59893 59894 var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && columnWidth, shouldResetStyleCacheOnItemSizeChange && direction, shouldResetStyleCacheOnItemSizeChange && rowHeight); 59895 59896 var key = rowIndex + ":" + columnIndex; 59897 var style; 59898 59899 if (itemStyleCache.hasOwnProperty(key)) { 59900 style = itemStyleCache[key]; 59901 } else { 59902 var _offset = getColumnOffset(_this.props, columnIndex, _this._instanceProps); 59903 59904 var isRtl = direction === 'rtl'; 59905 itemStyleCache[key] = style = { 59906 position: 'absolute', 59907 left: isRtl ? undefined : _offset, 59908 right: isRtl ? _offset : undefined, 59909 top: getRowOffset(_this.props, rowIndex, _this._instanceProps), 59910 height: getRowHeight(_this.props, rowIndex, _this._instanceProps), 59911 width: getColumnWidth(_this.props, columnIndex, _this._instanceProps) 59912 }; 59913 } 59914 59915 return style; 59916 }; 59917 59918 _this._getItemStyleCache = void 0; 59919 _this._getItemStyleCache = memoize_one_esmbabel_target_legacy(function (_, __, ___) { 59920 return {}; 59921 }); 59922 59923 _this._onScroll = function (event) { 59924 var _event$currentTarget = event.currentTarget, 59925 clientHeight = _event$currentTarget.clientHeight, 59926 clientWidth = _event$currentTarget.clientWidth, 59927 scrollLeft = _event$currentTarget.scrollLeft, 59928 scrollTop = _event$currentTarget.scrollTop, 59929 scrollHeight = _event$currentTarget.scrollHeight, 59930 scrollWidth = _event$currentTarget.scrollWidth; 59931 59932 _this.setState(function (prevState) { 59933 if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) { 59934 // Scroll position may have been updated by cDM/cDU, 59935 // In which case we don't need to trigger another render, 59936 // And we don't want to update state.isScrolling. 59937 return null; 59938 } 59939 59940 var direction = _this.props.direction; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements. 59941 // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left). 59942 // It's also easier for this component if we convert offsets to the same format as they would be in for ltr. 59943 // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it. 59944 59945 var calculatedScrollLeft = scrollLeft; 59946 59947 if (direction === 'rtl') { 59948 switch (getRTLOffsetType()) { 59949 case 'negative': 59950 calculatedScrollLeft = -scrollLeft; 59951 break; 59952 59953 case 'positive-descending': 59954 calculatedScrollLeft = scrollWidth - clientWidth - scrollLeft; 59955 break; 59956 } 59957 } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds. 59958 59959 59960 calculatedScrollLeft = Math.max(0, Math.min(calculatedScrollLeft, scrollWidth - clientWidth)); 59961 var calculatedScrollTop = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight)); 59962 return { 59963 isScrolling: true, 59964 horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward', 59965 scrollLeft: calculatedScrollLeft, 59966 scrollTop: calculatedScrollTop, 59967 verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward', 59968 scrollUpdateWasRequested: false 59969 }; 59970 }, _this._resetIsScrollingDebounced); 59971 }; 59972 59973 _this._outerRefSetter = function (ref) { 59974 var outerRef = _this.props.outerRef; 59975 _this._outerRef = ref; 59976 59977 if (typeof outerRef === 'function') { 59978 outerRef(ref); 59979 } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) { 59980 outerRef.current = ref; 59981 } 59982 }; 59983 59984 _this._resetIsScrollingDebounced = function () { 59985 if (_this._resetIsScrollingTimeoutId !== null) { 59986 cancelTimeout(_this._resetIsScrollingTimeoutId); 59987 } 59988 59989 _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL); 59990 }; 59991 59992 _this._resetIsScrolling = function () { 59993 _this._resetIsScrollingTimeoutId = null; 59994 59995 _this.setState({ 59996 isScrolling: false 59997 }, function () { 59998 // Clear style cache after state update has been committed. 59999 // This way we don't break pure sCU for items that don't use isScrolling param. 60000 _this._getItemStyleCache(-1); 60001 }); 60002 }; 60003 60004 return _this; 60005 } 60006 60007 Grid.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) { 60008 validateSharedProps(nextProps, prevState); 60009 validateProps(nextProps); 60010 return null; 60011 }; 60012 60013 var _proto = Grid.prototype; 60014 60015 _proto.scrollTo = function scrollTo(_ref3) { 60016 var scrollLeft = _ref3.scrollLeft, 60017 scrollTop = _ref3.scrollTop; 60018 60019 if (scrollLeft !== undefined) { 60020 scrollLeft = Math.max(0, scrollLeft); 60021 } 60022 60023 if (scrollTop !== undefined) { 60024 scrollTop = Math.max(0, scrollTop); 60025 } 60026 60027 this.setState(function (prevState) { 60028 if (scrollLeft === undefined) { 60029 scrollLeft = prevState.scrollLeft; 60030 } 60031 60032 if (scrollTop === undefined) { 60033 scrollTop = prevState.scrollTop; 60034 } 60035 60036 if (prevState.scrollLeft === scrollLeft && prevState.scrollTop === scrollTop) { 60037 return null; 60038 } 60039 60040 return { 60041 horizontalScrollDirection: prevState.scrollLeft < scrollLeft ? 'forward' : 'backward', 60042 scrollLeft: scrollLeft, 60043 scrollTop: scrollTop, 60044 scrollUpdateWasRequested: true, 60045 verticalScrollDirection: prevState.scrollTop < scrollTop ? 'forward' : 'backward' 60046 }; 60047 }, this._resetIsScrollingDebounced); 60048 }; 60049 60050 _proto.scrollToItem = function scrollToItem(_ref4) { 60051 var _ref4$align = _ref4.align, 60052 align = _ref4$align === void 0 ? 'auto' : _ref4$align, 60053 columnIndex = _ref4.columnIndex, 60054 rowIndex = _ref4.rowIndex; 60055 var _this$props2 = this.props, 60056 columnCount = _this$props2.columnCount, 60057 height = _this$props2.height, 60058 rowCount = _this$props2.rowCount, 60059 width = _this$props2.width; 60060 var _this$state = this.state, 60061 scrollLeft = _this$state.scrollLeft, 60062 scrollTop = _this$state.scrollTop; 60063 var scrollbarSize = getScrollbarSize(); 60064 60065 if (columnIndex !== undefined) { 60066 columnIndex = Math.max(0, Math.min(columnIndex, columnCount - 1)); 60067 } 60068 60069 if (rowIndex !== undefined) { 60070 rowIndex = Math.max(0, Math.min(rowIndex, rowCount - 1)); 60071 } 60072 60073 var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps); 60074 var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps); // The scrollbar size should be considered when scrolling an item into view, 60075 // to ensure it's fully visible. 60076 // But we only need to account for its size when it's actually visible. 60077 60078 var horizontalScrollbarSize = estimatedTotalWidth > width ? scrollbarSize : 0; 60079 var verticalScrollbarSize = estimatedTotalHeight > height ? scrollbarSize : 0; 60080 this.scrollTo({ 60081 scrollLeft: columnIndex !== undefined ? getOffsetForColumnAndAlignment(this.props, columnIndex, align, scrollLeft, this._instanceProps, vertica
60081lScrollbarSize) : scrollLeft, 60082 scrollTop: rowIndex !== undefined ? getOffsetForRowAndAlignment(this.props, rowIndex, align, scrollTop, this._instanceProps, horizontalScrollbarSize) : scrollTop 60083 }); 60084 }; 60085 60086 _proto.componentDidMount = function componentDidMount() { 60087 var _this$props3 = this.props, 60088 initialScrollLeft = _this$props3.initialScrollLeft, 60089 initialScrollTop = _this$props3.initialScrollTop; 60090 60091 if (this._outerRef != null) { 60092 var outerRef = this._outerRef; 60093 60094 if (typeof initialScrollLeft === 'number') { 60095 outerRef.scrollLeft = initialScrollLeft; 60096 } 60097 60098 if (typeof initialScrollTop === 'number') { 60099 outerRef.scrollTop = initialScrollTop; 60100 } 60101 } 60102 60103 this._callPropsCallbacks(); 60104 }; 60105 60106 _proto.componentDidUpdate = function componentDidUpdate() { 60107 var direction = this.props.direction; 60108 var _this$state2 = this.state, 60109 scrollLeft = _this$state2.scrollLeft, 60110 scrollTop = _this$state2.scrollTop, 60111 scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested; 60112 60113 if (scrollUpdateWasRequested && this._outerRef != null) { 60114 // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements. 60115 // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left). 60116 // So we need to determine which browser behavior we're dealing with, and mimic it. 60117 var outerRef = this._outerRef; 60118 60119 if (direction === 'rtl') { 60120 switch (getRTLOffsetType()) { 60121 case 'negative': 60122 outerRef.scrollLeft = -scrollLeft; 60123 break; 60124 60125 case 'positive-ascending': 60126 outerRef.scrollLeft = scrollLeft; 60127 break; 60128 60129 default: 60130 var clientWidth = outerRef.clientWidth, 60131 scrollWidth = outerRef.scrollWidth; 60132 outerRef.scrollLeft = scrollWidth - clientWidth - scrollLeft; 60133 break; 60134 } 60135 } else { 60136 outerRef.scrollLeft = Math.max(0, scrollLeft); 60137 } 60138 60139 outerRef.scrollTop = Math.max(0, scrollTop); 60140 } 60141 60142 this._callPropsCallbacks(); 60143 }; 60144 60145 _proto.componentWillUnmount = function componentWillUnmount() { 60146 if (this._resetIsScrollingTimeoutId !== null) { 60147 cancelTimeout(this._resetIsScrollingTimeoutId); 60148 } 60149 }; 60150 60151 _proto.render = function render() { 60152 var _this$props4 = this.props, 60153 children = _this$props4.children, 60154 className = _this$props4.className, 60155 columnCount = _this$props4.columnCount, 60156 direction = _this$props4.direction, 60157 height = _this$props4.height, 60158 innerRef = _this$props4.innerRef, 60159 innerElementType = _this$props4.innerElementType, 60160 innerTagName = _this$props4.innerTagName, 60161 itemData = _this$props4.itemData, 60162 _this$props4$itemKey = _this$props4.itemKey, 60163 itemKey = _this$props4$itemKey === void 0 ? defaultItemKey : _this$props4$itemKey, 60164 outerElementType = _this$props4.outerElementType, 60165 outerTagName = _this$props4.outerTagName, 60166 rowCount = _this$props4.rowCount, 60167 style = _this$props4.style, 60168 useIsScrolling = _this$props4.useIsScrolling, 60169 width = _this$props4.width; 60170 var isScrolling = this.state.isScrolling; 60171 60172 var _this$_getHorizontalR = this._getHorizontalRangeToRender(), 60173 columnStartIndex = _this$_getHorizontalR[0], 60174 columnStopIndex = _this$_getHorizontalR[1]; 60175 60176 var _this$_getVerticalRan = this._getVerticalRangeToRender(), 60177 rowStartIndex = _this$_getVerticalRan[0], 60178 rowStopIndex = _this$_getVerticalRan[1]; 60179 60180 var items = []; 60181 60182 if (columnCount > 0 && rowCount) { 60183 for (var _rowIndex = rowStartIndex; _rowIndex <= rowStopIndex; _rowIndex++) { 60184 for (var _columnIndex = columnStartIndex; _columnIndex <= columnStopIndex; _columnIndex++) { 60185 items.push(Object(compat_modulebabel_target_legacy["b" /* createElement */])(children, { 60186 columnIndex: _columnIndex, 60187 data: itemData, 60188 isScrolling: useIsScrolling ? isScrolling : undefined, 60189 key: itemKey({ 60190 columnIndex: _columnIndex, 60191 data: itemData, 60192 rowIndex: _rowIndex 60193 }), 60194 rowIndex: _rowIndex, 60195 style: this._getItemStyle(_rowIndex, _columnIndex) 60196 })); 60197 } 60198 } 60199 } // Read this value AFTER items have been created,
60200 // So their actual sizes (if variable) are taken into consideration. 60201 60202 60203 var estimatedTotalHeight = getEstimatedTotalHeight(this.props, this._instanceProps); 60204 var estimatedTotalWidth = getEstimatedTotalWidth(this.props, this._instanceProps); 60205 return Object(compat_modulebabel_target_legacy["b" /* createElement */])(outerElementType || outerTagName || 'div', { 60206 className: className, 60207 onScroll: this._onScroll, 60208 ref: this._outerRefSetter, 60209 style: _extends({ 60210 position: 'relative', 60211 height: height, 60212 width: width, 60213 overflow: 'auto', 60214 WebkitOverflowScrolling: 'touch', 60215 willChange: 'transform', 60216 direction: direction 60217 }, style) 60218 }, Object(compat_modulebabel_target_legacy["b" /* createElement */])(innerElementType || innerTagName || 'div', { 60219 children: items, 60220 ref: innerRef, 60221 style: { 60222 height: estimatedTotalHeight, 60223 pointerEvents: isScrolling ? 'none' : undefined, 60224 width: estimatedTotalWidth 60225 } 60226 })); 60227 }; 60228 60229 _proto._callPropsCallbacks = function _callPropsCallbacks() { 60230 var _this$props5 = this.props, 60231 columnCount = _this$props5.columnCount, 60232 onItemsRendered = _this$props5.onItemsRendered, 60233 onScroll = _this$props5.onScroll, 60234 rowCount = _this$props5.rowCount; 60235 60236 if (typeof onItemsRendered === 'function') { 60237 if (columnCount > 0 && rowCount > 0) { 60238 var _this$_getHorizontalR2 = this._getHorizontalRangeToRender(), 60239 _overscanColumnStartIndex = _this$_getHorizontalR2[0], 60240 _overscanColumnStopIndex = _this$_getHorizontalR2[1], 60241 _visibleColumnStartIndex = _this$_getHorizontalR2[2], 60242 _visibleColumnStopIndex = _this$_getHorizontalR2[3]; 60243 60244 var _this$_getVerticalRan2 = this._getVerticalRangeToRender(), 60245 _overscanRowStartIndex = _this$_getVerticalRan2[0], 60246 _overscanRowStopIndex = _this$_getVerticalRan2[1], 60247 _visibleRowStartIndex = _this$_getVerticalRan2[2], 60248 _visibleRowStopIndex = _this$_getVerticalRan2[3]; 60249 60250 this._callOnItemsRendered(_overscanColumnStartIndex, _overscanColumnStopIndex, _overscanRowStartIndex, _overscanRowStopIndex, _visibleColumnStartIndex, _visibleColumnStopIndex, _visibleRowStartIndex, _visibleRowStopIndex); 60251 } 60252 } 60253 60254 if (typeof onScroll === 'function') { 60255 var _this$state3 = this.state, 60256 _horizontalScrollDirection = _this$state3.horizontalScrollDirection, 60257 _scrollLeft = _this$state3.scrollLeft, 60258 _scrollTop = _this$state3.scrollTop, 60259 _scrollUpdateWasRequested = _this$state3.scrollUpdateWasRequested, 60260 _verticalScrollDirection = _this$state3.verticalScrollDirection; 60261 60262 this._callOnScroll(_scrollLeft, _scrollTop, _horizontalScrollDirection, _verticalScrollDirection, _scrollUpdateWasRequested); 60263 } 60264 }; // Lazily create and cache item styles while scrolling, 60265 // So that pure component sCU will prevent re-renders. 60266 // We maintain this cache, and pass a style prop rather than index, 60267 // So that List can clear cached styles and force item re-render if necessary. 60268 60269 60270 _proto._getHorizontalRangeToRender = function _getHorizontalRangeToRender() { 60271 var _this$props6 = this.props, 60272 columnCount = _this$props6.columnCount, 60273 overscanColumnCount = _this$props6.overscanColumnCount, 60274 overscanColumnsCount = _this$props6.overscanColumnsCount, 60275 overscanCount = _this$props6.overscanCount, 60276 rowCount = _this$props6.rowCount; 60277 var _this$state4 = this.state, 60278 horizontalScrollDirection = _this$state4.horizontalScrollDirection, 60279 isScrolling = _this$state4.isScrolling, 60280 scrollLeft = _this$state4.scrollLeft; 60281 var overscanCountResolved = overscanColumnCount || overscanColumnsCount || overscanCount || 1; 60282 60283 if (columnCount === 0 || rowCount === 0) { 60284 return [0, 0, 0, 0]; 60285 } 60286 60287 var startIndex = getColumnStartIndexForOffset(this.props, scrollLeft, this._instanceProps); 60288 var stopIndex = getColumnStopIndexForStartIndex(this.props, startIndex, scrollLeft, this._instanceProps); // Overscan by one item in each direction so that tab/focus works. 60289 // If there isn't at least one extra item, tab loops back around. 60290 60291 var overscanBackward = !isScrolling || horizontalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1; 60292 var overscanForward = !isScrolling || horizontalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1; 60293 return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(columnCount - 1, stopIndex + overscanForward)), startIndex, stopIndex]; 60294 }; 60295 60296 _proto._getVerticalRangeToRender = function _getVerticalRangeToRender() { 60297 var _this$props7 = this.props, 60298 columnCount = _this$props7.columnCount, 60299 overscanCount = _this$props7.overscanCount, 60300 overscanRowCount = _this$props7.overscanRowCount, 60301 overscanRowsCount = _this$props7.overscanRowsCount, 60302 rowCount = _this$props7.rowCount; 60303 var _this$state5 = this.state, 60304 isScrolling = _this$state5.isScrolling, 60305 verticalScrollDirection = _this$state5.verticalScrollDirection, 60306 scrollTop = _this$state5.scrollTop; 60307 var overscanCountResolved = overscanRowCount || overscanRowsCount || overscanCount || 1; 60308 60309 if (columnCount === 0 || rowCount === 0) { 60310 return [0, 0, 0, 0]; 60311 } 60312 60313 var startIndex = getRowStartIndexForOffset(this.props, scrollTop, this._instanceProps); 60314 var stopIndex = getRowStopIndexForStartIndex(this.props, startIndex, scrollTop, this._instanceProps); // Overscan by one item in each direction so that tab/focus works. 60315 // If there isn't at least one extra item, tab loops back around. 60316 60317 var overscanBackward = !isScrolling || verticalScrollDirection === 'backward' ? Math.max(1, overscanCountResolved) : 1; 60318 var overscanForward = !isScrolling || verticalScrollDirection === 'forward' ? Math.max(1, overscanCountResolved) : 1; 60319 return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(rowCount - 1, stopIndex + overscanForward)), startIndex, stopIndex]; 60320 }; 60321 60322 return Grid; 60323 }(compat_modulebabel_target_legacy["a" /* PureComponent */]), _class.defaultProps = { 60324 direction: 'ltr', 60325 itemData: undefined, 60326 useIsScrolling: false 60327 }, _temp; 60328} 60329 60330var validateSharedProps = function validateSharedProps(_ref5, _ref6) { 60331 var children = _ref5.children, 60332 direction = _ref5.direction, 60333 height = _ref5.height, 60334 innerTagName = _ref5.innerTagName, 60335 outerTagName = _ref5.outerTagName, 60336 overscanColumnsCount = _ref5.overscanColumnsCount, 60337 overscanCount = _ref5.overscanCount, 60338 overscanRowsCount = _ref5.overscanRowsCount, 60339 width = _ref5.width; 60340 var instance = _ref6.instance; 60341 60342 if (false) {} 60343}; 60344 60345var DEFAULT_ESTIMATED_ITEM_SIZE = 50; 60346 60347var index_esmbabel_target_legacy_getEstimatedTotalHeight = function getEstimatedTotalHeight(_ref, _ref2) { 60348 var rowCount = _ref.rowCount; 60349 var rowMetadataMap = _ref2.rowMetadataMap, 60350 estimatedRowHeight = _ref2.estimatedRowHeight, 60351 lastMeasuredRowIndex = _ref2.lastMeasuredRowIndex; 60352 var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress. 60353 // https://github.com/bvaughn/react-window/pull/138 60354 60355 if (lastMeasuredRowIndex >= rowCount) { 60356 lastMeasuredRowIndex = rowCount - 1; 60357 } 60358 60359 if (lastMeasuredRowIndex >= 0) { 60360 var itemMetadata = rowMetadataMap[lastMeasuredRowIndex]; 60361 totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size; 60362 } 60363 60364 var numUnmeasuredItems = rowCount - lastMeasuredRowIndex - 1; 60365 var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedRowHeight; 60366 return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems; 60367}; 60368 60369var index_esmbabel_target_legacy_getEstimatedTotalWidth = function getEstimatedTotalWidth(_ref3, _ref4) { 60370 var columnCount = _ref3.columnCount; 60371 var columnMetadataMap = _ref4.columnMetadataMap, 60372 estimatedColumnWidth = _ref4.estimatedColumnWidth, 60373 lastMeasuredColumnIndex = _ref4.lastMeasuredColumnIndex; 60374 var totalSizeOfMeasuredRows = 0; // Edge case check for when the number of items decreases while a scroll is in progress. 60375 // https://github.com/bvaughn/react-window/pull/138 60376 60377 if (lastMeasuredColumnIndex >= columnCount) { 60378 lastMeasuredColumnIndex = columnCount - 1; 60379 } 60380 60381 if (lastMeasuredColumnIndex >= 0) { 60382 var itemMetadata = columnMetadataMap[lastMeasuredColumnIndex]; 60383 totalSizeOfMeasuredRows = itemMetadata.offset + itemMetadata.size; 60384 } 60385 60386 var numUnmeasuredItems = columnCount - lastMeasuredColumnIndex - 1; 60387 var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedColumnWidth; 60388 return totalSizeOfMeasuredRows + totalSizeOfUnmeasuredItems; 60389}; 60390 60391var getItemMetadata = function getItemMetadata(itemType, props, index, instanceProps) { 60392 var itemMetadataMap, itemSize, lastMeasuredIndex; 60393 60394 if (itemType === 'column') { 60395 itemMetadataMap = instanceProps.columnMetadataMap; 60396 itemSize = props.columnWidth; 60397 lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex; 60398 } else { 60399 itemMetadataMap = instanceProps.rowMetadataMap; 60400 itemSize = props.rowHeight; 60401 lastMeasuredIndex = instanceProps.lastMeasuredRowIndex; 60402 } 60403 60404 if (index > lastMeasuredIndex) { 60405 var offset = 0; 60406 60407 if (lastMeasuredIndex >= 0) { 60408 var itemMetadata = itemMetadataMap[lastMeasuredIndex]; 60409 offset = itemMetadata.offset + itemMetadata.size; 60410 } 60411 60412 for (var i = lastMeasuredIndex + 1; i <= index; i++) { 60413 var size = itemSize(i); 60414 itemMetadataMap[i] = { 60415 offset: offset, 60416 size: size 60417 }; 60418 offset += size; 60419 } 60420 60421 if (itemType === 'column') { 60422 instanceProps.lastMeasuredColumnIndex = index; 60423 } else { 60424 instanceProps.lastMeasuredRowIndex = index; 60425 } 60426 } 60427 60428 return itemMetadataMap[index]; 60429}; 60430 60431var findNearestItem = function findNearestItem(itemType, props, instanceProps, offset) { 60432 var itemMetadataMap, lastMeasuredIndex; 60433 60434 if (itemType === 'column') { 60435 itemMetadataMap = instanceProps.columnMetadataMap; 60436 lastMeasuredIndex = instanceProps.lastMeasuredColumnIndex; 60437 } else { 60438 itemMetadataMap = instanceProps.rowMetadataMap; 60439 lastMeasuredIndex = instanceProps.lastMeasuredRowIndex; 60440 } 60441 60442 var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0; 60443 60444 if (lastMeasuredItemOffset >= offset) { 60445 // If we've already measured items within this range just use a binary search as it's faster. 60446 return findNearestItemBinarySearch(itemType, props, instanceProps, lastMeasuredIndex, 0, offset); 60447 } else { 60448 // If we haven't yet measured this high, fallback to an exponential search with an inner binary search. 60449 // The exponential search avoids pre-computing sizes for the full set of items as a binary search would. 60450 // The overall complexity for this approach is O(log n). 60451 return findNearestItemExponentialSearch(itemType, props, instanceProps, Math.max(0, lastMeasuredIndex), offset); 60452 } 60453}; 60454 60455var findNearestItemBinarySearch = function findNearestItemBinarySearch(itemType, props, instanceProps, high, low, offset) { 60456 while (low <= high) { 60457 var middle = low + Math.floor((high - low) / 2); 60458 var currentOffset = getItemMetadata(itemType, props, middle, instanceProps).offset; 60459 60460 if (currentOffset === offset) { 60461 return middle; 60462 } else if (currentOffset < offset) { 60463 low = middle + 1; 60464 } else if (currentOffset > offset) { 60465 high = middle - 1; 60466 } 60467 } 60468 60469 if (low > 0) { 60470 return low - 1; 60471 } else { 60472 return 0; 60473 } 60474}; 60475 60476var findNearestItemExponentialSearch = function findNearestItemExponentialSearch(itemType, props, instanceProps, index, offset) { 60477 var itemCount = itemType === 'column' ? props.columnCount : props.rowCount; 60478 var interval = 1; 60479 60480 while (index < itemCount && getItemMetadata(itemType, props, index, instanceProps).offset < offset) { 60481 index += interval; 60482 interval *= 2; 60483 } 60484 60485 return findNearestItemBinarySearch(itemType, props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset); 60486}; 60487 60488var index_esmbabel_target_legacy_getOffsetForIndexAndAlignment = function getOffsetForIndexAndAlignment(itemType, props, index, align, scrollOffset, instanceProps, scrollbarSize) { 60489 var size = itemType === 'column' ? props.width : props.height; 60490 var itemMetadata = getItemMetadata(itemType, props, index, instanceProps); // Get estimated total size after ItemMetadata is computed, 60491 // To ensure it reflects actual measurements instead of just estimates. 60492 60493 var estimatedTotalSize = itemType === 'column' ? index_esmbabel_target_legacy_getEstimatedTotalWidth(props, instanceProps) : index_esmbabel_target_legacy_getEstimatedTotalHeight(props, instanceProps); 60494 var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset)); 60495 var minOffset = Math.max(0, itemMetadata.offset - size + scrollbarSize + itemMetadata.size); 60496 60497 if (align === 'smart') { 60498 if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) { 60499 align = 'auto'; 60500 } else { 60501 align = 'center'; 60502 } 60503 } 60504 60505 switch (align) { 60506 case 'start': 60507 return maxOffset; 60508 60509 case 'end': 60510 return minOffset; 60511 60512 case 'center': 60513 return Math.round(minOffset + (maxOffset - minOffset) / 2); 60514 60515 case 'auto': 60516 default: 60517 if (scrollOffset >= minOffset && scrollOffset <= maxOffset) { 60518 return scrollOffset; 60519 } else if (minOffset > maxOffset) { 60520 // Because we only take into account the scrollbar size when calculating minOffset 60521 // this value can be larger than maxOffset when at the end of the list 60522 return minOffset; 60523 } else if (scrollOffset < minOffset) { 60524 return minOffset; 60525 } else { 60526 return maxOffset; 60527 } 60528 60529 } 60530}; 60531 60532var VariableSizeGrid = 60533/*#__PURE__*/ 60534createGridComponent({ 60535 getColumnOffset: function getColumnOffset(props, index, instanceProps) { 60536 return getItemMetadata('column', props, index, instanceProps).offset; 60537 }, 60538 getColumnStartIndexForOffset: function getColumnStartIndexForOffset(props, scrollLeft, instanceProps) {
60539 return findNearestItem('column', props, instanceProps, scrollLeft); 60540 }, 60541 getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(props, startIndex, scrollLeft, instanceProps) { 60542 var columnCount = props.columnCount, 60543 width = props.width; 60544 var itemMetadata = getItemMetadata('column', props, startIndex, instanceProps); 60545 var maxOffset = scrollLeft + width; 60546 var offset = itemMetadata.offset + itemMetadata.size; 60547 var stopIndex = startIndex; 60548 60549 while (stopIndex < columnCount - 1 && offset < maxOffset) { 60550 stopIndex++; 60551 offset += getItemMetadata('column', props, stopIndex, instanceProps).size; 60552 } 60553 60554 return stopIndex; 60555 }, 60556 getColumnWidth: function getColumnWidth(props, index, instanceProps) { 60557 return instanceProps.columnMetadataMap[index].size; 60558 }, 60559 getEstimatedTotalHeight: index_esmbabel_target_legacy_getEstimatedTotalHeight, 60560 getEstimatedTotalWidth: index_esmbabel_target_legacy_getEstimatedTotalWidth, 60561 getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) { 60562 return index_esmbabel_target_legacy_getOffsetForIndexAndAlignment('column', props, index, align, scrollOffset, instanceProps, scrollbarSize); 60563 }, 60564 getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(props, index, align, scrollOffset, instanceProps, scrollbarSize) { 60565 return index_esmbabel_target_legacy_getOffsetForIndexAndAlignment('row', props, index, align, scrollOffset, instanceProps, scrollbarSize); 60566 }, 60567 getRowOffset: function getRowOffset(props, index, instanceProps) { 60568 return getItemMetadata('row', props, index, instanceProps).offset; 60569 }, 60570 getRowHeight: function getRowHeight(props, index, instanceProps) { 60571 return instanceProps.rowMetadataMap[index].size; 60572 }, 60573 getRowStartIndexForOffset: function getRowStartIndexForOffset(props, scrollTop, instanceProps) { 60574 return findNearestItem('row', props, instanceProps, scrollTop); 60575 }, 60576 getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(props, startIndex, scrollTop, instanceProps) { 60577 var rowCount = props.rowCount, 60578 height = props.height; 60579 var itemMetadata = getItemMetadata('row', props, startIndex, instanceProps); 60580 var maxOffset = scrollTop + height; 60581 var offset = itemMetadata.offset + itemMetadata.size; 60582 var stopIndex = startIndex; 60583 60584 while (stopIndex < rowCount - 1 && offset < maxOffset) { 60585 stopIndex++; 60586 offset += getItemMetadata('row', props, stopIndex, instanceProps).size; 60587 } 60588 60589 return stopIndex; 60590 }, 60591 initInstanceProps: function initInstanceProps(props, instance) { 60592 var _ref5 = props, 60593 estimatedColumnWidth = _ref5.estimatedColumnWidth, 60594 estimatedRowHeight = _ref5.estimatedRowHeight; 60595 var instanceProps = { 60596 columnMetadataMap: {}, 60597 estimatedColumnWidth: estimatedColumnWidth || DEFAULT_ESTIMATED_ITEM_SIZE, 60598 estimatedRowHeight: estimatedRowHeight || DEFAULT_ESTIMATED_ITEM_SIZE, 60599 lastMeasuredColumnIndex: -1, 60600 lastMeasuredRowIndex: -1, 60601 rowMetadataMap: {} 60602 }; 60603 60604 instance.resetAfterColumnIndex = function (columnIndex, shouldForceUpdate) { 60605 if (shouldForceUpdate === void 0) { 60606 shouldForceUpdate = true; 60607 } 60608 60609 instance.resetAfterIndices({ 60610 columnIndex: columnIndex, 60611 shouldForceUpdate: shouldForceUpdate 60612 }); 60613 }; 60614 60615 instance.resetAfterRowIndex = function (rowIndex, shouldForceUpdate) { 60616 if (shouldForceUpdate === void 0) { 60617 shouldForceUpdate = true; 60618 } 60619 60620 instance.resetAfterIndices({ 60621 rowIndex: rowIndex, 60622 shouldForceUpdate: shouldForceUpdate 60623 }); 60624 }; 60625 60626 instance.resetAfterIndices = function (_ref6) { 60627 var columnIndex = _ref6.columnIndex, 60628 rowIndex = _ref6.rowIndex, 60629 _ref6$shouldForceUpda = _ref6.shouldForceUpdate, 60630 shouldForceUpdate = _ref6$shouldForceUpda === void 0 ? true : _ref6$shouldForceUpda; 60631 60632 if (typeof columnIndex === 'number') { 60633 instanceProps.lastMeasuredColumnIndex = Math.min(instanceProps.lastMeasuredColumnIndex, columnIndex - 1); 60634 } 60635 60636 if (typeof rowIndex === 'number') { 60637 instanceProps.lastMeasuredRowIndex = Math.min(instanceProps.lastMeasuredRowIndex, rowIndex - 1); 60638 } // We could potentially optimize further by only evicting styles after this index, 60639 // But since styles are only cached while scrolling is in progress- 60640 // It seems an unnecessary optimization. 60641 // It's unlikely that resetAfterIndex() will be called while a user is scrolling. 60642 60643 60644 instance._getItemStyleCache(-1); 60645 60646 if (shouldForceUpdate) { 60647 instance.forceUpdate(); 60648 } 60649 }; 60650 60651 return instanceProps; 60652 }, 60653 shouldResetStyleCacheOnItemSizeChange: false, 60654 validateProps: function validateProps(_ref7) { 60655 var columnWidth = _ref7.columnWidth, 60656 rowHeight = _ref7.rowHeight; 60657 60658 if (false) {} 60659 } 60660}); 60661 60662var IS_SCROLLING_DEBOUNCE_INTERVAL$1 = 150; 60663 60664var defaultItemKey$1 = function defaultItemKey(index, data) { 60665 return index; 60666}; // In DEV mode, this Set helps us only log a warning once per component instance. 60667// This avoids spamming the console every time a render happens. 60668 60669 60670var devWarningsDirection = null; 60671var devWarningsTagName$1 = null; 60672 60673if (false) {} 60674 60675function createListComponent(_ref) { 60676 var _class, _temp; 60677 60678 var getItemOffset = _ref.getItemOffset, 60679 getEstimatedTotalSize = _ref.getEstimatedTotalSize, 60680 getItemSize = _ref.getItemSize, 60681 getOffsetForIndexAndAlignment = _ref.getOffsetForIndexAndAlignment, 60682 getStartIndexForOffset = _ref.getStartIndexForOffset, 60683 getStopIndexForStartIndex = _ref.getStopIndexForStartIndex, 60684 initInstanceProps = _ref.initInstanceProps, 60685 shouldResetStyleCacheOnItemSizeChange = _ref.shouldResetStyleCacheOnItemSizeChange, 60686 validateProps = _ref.validateProps; 60687 return _temp = _class = 60688 /*#__PURE__*/ 60689 function (_PureComponent) {
60690 _inheritsLoose(List, _PureComponent); 60691 60692 // Always use explicit constructor for React components. 60693 // It produces less code after transpilation. (#26) 60694 // eslint-disable-next-line no-useless-constructor 60695 function List(props) { 60696 var _this; 60697 60698 _this = _PureComponent.call(this, props) || this; 60699 _this._instanceProps = initInstanceProps(_this.props, Object(assertThisInitializedbabel_target_legacy["a" /* default */])(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this))); 60700 _this._outerRef = void 0; 60701 _this._resetIsScrollingTimeoutId = null; 60702 _this.state = { 60703 instance: Object(assertThisInitializedbabel_target_legacy["a" /* default */])(Object(assertThisInitializedbabel_target_legacy["a" /* default */])(_this)), 60704 isScrolling: false, 60705 scrollDirection: 'forward', 60706 scrollOffset: typeof _this.props.initialScrollOffset === 'number' ? _this.props.initialScrollOffset : 0, 60707 scrollUpdateWasRequested: false 60708 }; 60709 _this._callOnItemsRendered = void 0; 60710 _this._callOnItemsRendered = memoize_one_esmbabel_target_legacy(function (overscanStartIndex, overscanStopIndex, visibleStartIndex, visibleStopIndex) { 60711 return _this.props.onItemsRendered({ 60712 overscanStartIndex: overscanStartIndex, 60713 overscanStopIndex: overscanStopIndex, 60714 visibleStartIndex: visibleStartIndex, 60715 visibleStopIndex: visibleStopIndex 60716 }); 60717 }); 60718 _this._callOnScroll = void 0; 60719 _this._callOnScroll = memoize_one_esmbabel_target_legacy(function (scrollDirection, scrollOffset, scrollUpdateWasRequested) { 60720 return _this.props.onScroll({ 60721 scrollDirection: scrollDirection, 60722 scrollOffset: scrollOffset, 60723 scrollUpdateWasRequested: scrollUpdateWasRequested 60724 }); 60725 }); 60726 _this._getItemStyle = void 0; 60727 60728 _this._getItemStyle = function (index) { 60729 var _this$props = _this.props, 60730 direction = _this$props.direction, 60731 itemSize = _this$props.itemSize, 60732 layout = _this$props.layout; 60733 60734 var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && itemSize, shouldResetStyleCacheOnItemSizeChange && layout, shouldResetStyleCacheOnItemSizeChange && direction); 60735 60736 var style; 60737 60738 if (itemStyleCache.hasOwnProperty(index)) { 60739 style = itemStyleCache[index]; 60740 } else { 60741 var _offset = getItemOffset(_this.props, index, _this._instanceProps); 60742 60743 var size = getItemSize(_this.props, index, _this._instanceProps); // TODO Deprecate direction "horizontal" 60744 60745 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 60746 var isRtl = direction === 'rtl'; 60747 var offsetHorizontal = isHorizontal ? _offset : 0; 60748 itemStyleCache[index] = style = { 60749 position: 'absolute', 60750 left: isRtl ? undefined : offsetHorizontal, 60751 right: isRtl ? offsetHorizontal : undefined, 60752 top: !isHorizontal ? _offset : 0, 60753 height: !isHorizontal ? size : '100%', 60754 width: isHorizontal ? size : '100%' 60755 }; 60756 } 60757 60758 return style; 60759 }; 60760 60761 _this._getItemStyleCache = void 0; 60762 _this._getItemStyleCache = memoize_one_esmbabel_target_legacy(function (_, __, ___) { 60763 return {}; 60764 }); 60765 60766 _this._onScrollHorizontal = function (event) { 60767 var _event$currentTarget = event.currentTarget, 60768 clientWidth = _event$currentTarget.clientWidth, 60769 scrollLeft = _event$currentTarget.scrollLeft, 60770 scrollWidth = _event$currentTarget.scrollWidth; 60771 60772 _this.setState(function (prevState) { 60773 if (prevState.scrollOffset === scrollLeft) { 60774 // Scroll position may have been updated by cDM/cDU, 60775 // In which case we don't need to trigger another render, 60776 // And we don't want to update state.isScrolling. 60777 return null; 60778 } 60779 60780 var direction = _this.props.direction; 60781 var scrollOffset = scrollLeft; 60782 60783 if (direction === 'rtl') { 60784 // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements. 60785 // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left). 60786 // It's also easier for this component if we convert offsets to the same format as they would be in for ltr. 60787 // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it. 60788 switch (getRTLOffsetType()) { 60789 case 'negative': 60790 scrollOffset = -scrollLeft; 60791 break; 60792 60793 case 'positive-descending': 60794 scrollOffset = scrollWidth - clientWidth - scrollLeft; 60795 break; 60796 } 60797 } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds. 60798 60799 60800 scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth)); 60801 return { 60802 isScrolling: true, 60803 scrollDirection: prevState.scrollOffset < scrollLeft ? 'forward' : 'backward', 60804 scrollOffset: scrollOffset, 60805 scrollUpdateWasRequested: false 60806 }; 60807 }, _this._resetIsScrollingDebounced); 60808 }; 60809 60810 _this._onScrollVertical = function (event) { 60811 var _event$currentTarget2 = event.currentTarget, 60812 clientHeight = _event$currentTarget2.clientHeight, 60813 scrollHeight = _event$currentTarget2.scrollHeight, 60814 scrollTop = _event$currentTarget2.scrollTop; 60815 60816 _this.setState(function (prevState) { 60817 if (prevState.scrollOffset === scrollTop) { 60818 // Scroll position may have been updated by cDM/cDU, 60819 // In which case we don't need to trigger another render, 60820 // And we don't want to update state.isScrolling. 60821 return null; 60822 } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds. 60823 60824 60825 var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight)); 60826 return { 60827 isScrolling: true, 60828 scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward', 60829 scrollOffset: scrollOffset, 60830 scrollUpdateWasRequested: false 60831 }; 60832 }, _this._resetIsScrollingDebounced); 60833 }; 60834 60835 _this._outerRefSetter = function (ref) { 60836 var outerRef = _this.props.outerRef; 60837 _this._outerRef = ref; 60838 60839 if (typeof outerRef === 'function') { 60840 outerRef(ref); 60841 } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) { 60842 outerRef.current = ref; 60843 } 60844 }; 60845 60846 _this._resetIsScrollingDebounced = function () { 60847 if (_this._resetIsScrollingTimeoutId !== null) { 60848 cancelTimeout(_this._resetIsScrollingTimeoutId); 60849 } 60850 60851 _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL$1); 60852 }; 60853 60854 _this._resetIsScrolling = function () { 60855 _this._resetIsScrollingTimeoutId = null; 60856 60857 _this.setState({ 60858 isScrolling: false 60859 }, function () { 60860 // Clear style cache after state update has been committed. 60861 // This way we don't break pure sCU for items that don't use isScrolling param. 60862 _this._getItemStyleCache(-1, null); 60863 }); 60864 }; 60865 60866 return _this; 60867 } 60868 60869 List.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) { 60870 validateSharedProps$1(nextProps, prevState); 60871 validateProps(nextProps); 60872 return null; 60873 }; 60874 60875 var _proto = List.prototype; 60876 60877 _proto.scrollTo = function scrollTo(scrollOffset) { 60878 scrollOffset = Math.max(0, scrollOffset); 60879 this.setState(function (prevState) { 60880 if (prevState.scrollOffset === scrollOffset) { 60881 return null; 60882 } 60883 60884 return { 60885 scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward', 60886 scrollOffset: scrollOffset, 60887 scrollUpdateWasRequested: true 60888 }; 60889 }, this._resetIsScrollingDebounced); 60890 }; 60891 60892 _proto.scrollToItem = function scrollToItem(index, align) { 60893 if (align === void 0) { 60894 align = 'auto'; 60895 } 60896 60897 var itemCount = this.props.itemCount; 60898 var scrollOffset = this.state.scrollOffset; 60899 index = Math.max(0, Math.min(index, itemCount - 1)); 60900 this.scrollTo(getOffsetForIndexAndAlignment(this.props, index, align, scrollOffset, this._instanceProps)); 60901 }; 60902 60903 _proto.componentDidMount = function componentDidMount() { 60904 var _this$props2 = this.props, 60905 direction = _this$props2.direction, 60906 initialScrollOffset = _this$props2.initialScrollOffset, 60907 layout = _this$props2.layout; 60908 60909 if (typeof initialScrollOffset === 'number' && this._outerRef != null) { 60910 var outerRef = this._outerRef; // TODO Deprecate direction "horizontal" 60911 60912 if (direction === 'horizontal' || layout === 'horizontal') { 60913 outerRef.scrollLeft = initialScrollOffset; 60914 } else { 60915 outerRef.scrollTop = initialScrollOffset; 60916 } 60917 } 60918 60919 this._callPropsCallbacks(); 60920 }; 60921 60922 _proto.componentDidUpdate = function componentDidUpdate() { 60923 var _this$props3 = this.props, 60924 direction = _this$props3.direction, 60925 layout = _this$props3.layout; 60926 var _this$state = this.state, 60927 scrollOffset = _this$state.scrollOffset, 60928 scrollUpdateWasRequested = _this$state.scrollUpdateWasRequested; 60929 60930 if (scrollUpdateWasRequested && this._outerRef != null) { 60931 var outerRef = this._outerRef; // TODO Deprecate direction "horizontal" 60932 60933 if (direction === 'horizontal' || layout === 'horizontal') { 60934 if (direction === 'rtl') { 60935 // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements. 60936 // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left). 60937 // So we need to determine which browser behavior we're dealing with, and mimic it. 60938 switch (getRTLOffsetType()) { 60939 case 'negative': 60940 outerRef.scrollLeft = -scrollOffset; 60941 break; 60942 60943 case 'positive-ascending': 60944 outerRef.scrollLeft = scrollOffset; 60945 break; 60946 60947 default: 60948 var clientWidth = outerRef.clientWidth, 60949 scrollWidth = outerRef.scrollWidth; 60950 outerRef.scrollLeft = scrollWidth - clientWidth - scrollOffset; 60951 break; 60952 } 60953 } else { 60954 outerRef.scrollLeft = scrollOffset; 60955 } 60956 } else { 60957 outerRef.scrollTop = scrollOffset; 60958 } 60959 } 60960 60961 this._callPropsCallbacks(); 60962 }; 60963 60964 _proto.componentWillUnmount = function componentWillUnmount() { 60965 if (this._resetIsScrollingTimeoutId !== null) { 60966 cancelTimeout(this._resetIsScrollingTimeoutId); 60967 } 60968 }; 60969 60970 _proto.render = function render() { 60971 var _this$props4 = this.props, 60972 children = _this$props4.children, 60973 className = _this$props4.className, 60974 direction = _this$props4.direction, 60975 height = _this$props4.height, 60976 innerRef = _this$props4.innerRef, 60977 innerElementType = _this$props4.innerElementType, 60978 innerTagName = _this$props4.innerTagName, 60979 itemCount = _this$props4.itemCount, 60980 itemData = _this$props4.itemData, 60981 _this$props4$itemKey = _this$props4.itemKey, 60982 itemKey = _this$props4$itemKey === void 0 ? defaultItemKey$1 : _this$props4$itemKey, 60983 layout = _this$props4.layout, 60984 outerElementType = _this$props4.outerElementType, 60985 outerTagName = _this$props4.outerTagName, 60986 style = _this$props4.style, 60987 useIsScrolling = _this$props4.useIsScrolling, 60988 width = _this$props4.width; 60989 var isScrolling = this.state.isScrolling; // TODO Deprecate direction "horizontal" 60990 60991 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 60992 var onScroll = isHorizontal ? this._onScrollHorizontal : this._onScrollVertical; 60993 60994 var _this$_getRangeToRend = this._getRangeToRender(),
60995 startIndex = _this$_getRangeToRend[0], 60996 stopIndex = _this$_getRangeToRend[1]; 60997 60998 var items = []; 60999 61000 if (itemCount > 0) { 61001 for (var _index = startIndex; _index <= stopIndex; _index++) { 61002 items.push(Object(compat_modulebabel_target_legacy["b" /* createElement */])(children, { 61003 data: itemData, 61004 key: itemKey(_index, itemData), 61005 index: _index, 61006 isScrolling: useIsScrolling ? isScrolling : undefined, 61007 style: this._getItemStyle(_index) 61008 })); 61009 } 61010 } // Read this value AFTER items have been created, 61011 // So their actual sizes (if variable) are taken into consideration. 61012 61013 61014 var estimatedTotalSize = getEstimatedTotalSize(this.props, this._instanceProps); 61015 return Object(compat_modulebabel_target_legacy["b" /* createElement */])(outerElementType || outerTagName || 'div', { 61016 className: className, 61017 onScroll: onScroll, 61018 ref: this._outerRefSetter, 61019 style: _extends({ 61020 position: 'relative', 61021 height: height, 61022 width: width, 61023 overflow: 'auto', 61024 WebkitOverflowScrolling: 'touch', 61025 willChange: 'transform', 61026 direction: direction 61027 }, style) 61028 }, Object(compat_modulebabel_target_legacy["b" /* createElement */])(innerElementType || innerTagName || 'div', { 61029 children: items, 61030 ref: innerRef, 61031 style: { 61032 height: isHorizontal ? '100%' : estimatedTotalSize, 61033 pointerEvents: isScrolling ? 'none' : undefined, 61034 width: isHorizontal ? estimatedTotalSize : '100%' 61035 } 61036 })); 61037 }; 61038 61039 _proto._callPropsCallbacks = function _callPropsCallbacks() { 61040 if (typeof this.props.onItemsRendered === 'function') { 61041 var itemCount = this.props.itemCount; 61042 61043 if (itemCount > 0) { 61044 var _this$_getRangeToRend2 = this._getRangeToRender(), 61045 _overscanStartIndex = _this$_getRangeToRend2[0], 61046 _overscanStopIndex = _this$_getRangeToRend2[1], 61047 _visibleStartIndex = _this$_getRangeToRend2[2], 61048 _visibleStopIndex = _this$_getRangeToRend2[3]; 61049 61050 this._callOnItemsRendered(_overscanStartIndex, _overscanStopIndex, _visibleStartIndex, _visibleStopIndex); 61051 } 61052 } 61053 61054 if (typeof this.props.onScroll === 'function') { 61055 var _this$state2 = this.state, 61056 _scrollDirection = _this$state2.scrollDirection, 61057 _scrollOffset = _this$state2.scrollOffset, 61058 _scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested; 61059 61060 this._callOnScroll(_scrollDirection, _scrollOffset, _scrollUpdateWasRequested); 61061 } 61062 }; // Lazily create and cache item styles while scrolling, 61063 // So that pure component sCU will prevent re-renders. 61064 // We maintain this cache, and pass a style prop rather than index, 61065 // So that List can clear cached styles and force item re-render if necessary. 61066 61067 61068 _proto._getRangeToRender = function _getRangeToRender() { 61069 var _this$props5 = this.props, 61070 itemCount = _this$props5.itemCount, 61071 overscanCount = _this$props5.overscanCount; 61072 var _this$state3 = this.state, 61073 isScrolling = _this$state3.isScrolling, 61074 scrollDirection = _this$state3.scrollDirection, 61075 scrollOffset = _this$state3.scrollOffset; 61076 61077 if (itemCount === 0) { 61078 return [0, 0, 0, 0]; 61079 } 61080 61081 var startIndex = getStartIndexForOffset(this.props, scrollOffset, this._instanceProps); 61082 var stopIndex = getStopIndexForStartIndex(this.props, startIndex, scrollOffset, this._instanceProps); // Overscan by one item in each direction so that tab/focus works. 61083 // If there isn't at least one extra item, tab loops back around. 61084 61085 var overscanBackward = !isScrolling || scrollDirection === 'backward' ? Math.max(1, overscanCount) : 1; 61086 var overscanForward = !isScrolling || scrollDirection === 'forward' ? Math.max(1, overscanCount) : 1; 61087 return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(itemCount - 1, stopIndex + overscanForward)), startIndex, stopIndex]; 61088 }; 61089 61090 return List; 61091 }(compat_modulebabel_target_legacy["a" /* PureComponent */]), _class.defaultProps = { 61092 direction: 'ltr', 61093 itemData: undefined, 61094 layout: 'vertical', 61095 overscanCount: 2, 61096 useIsScrolling: false 61097 }, _temp; 61098} // NOTE: I considered further wrapping individual items with a pure ListItem component. 61099// This would avoid ever calling the render function for the same index more than once, 61100// But it would also add the overhead of a lot of components/fibers. 61101// I assume people already do this (render function returning a class component), 61102// So my doing it would just unnecessarily double the wrappers. 61103 61104var validateSharedProps$1 = function validateSharedProps(_ref2, _ref3) { 61105 var children = _ref2.children, 61106 direction = _ref2.direction, 61107 height = _ref2.height, 61108 layout = _ref2.layout, 61109 innerTagName = _ref2.innerTagName, 61110 outerTagName = _ref2.outerTagName, 61111 width = _ref2.width; 61112 var instance = _ref3.instance; 61113 61114 if (false) { var isHorizontal; } 61115}; 61116 61117var DEFAULT_ESTIMATED_ITEM_SIZE$1 = 50; 61118 61119var getItemMetadata$1 = function getItemMetadata(props, index, instanceProps) { 61120 var _ref = props, 61121 itemSize = _ref.itemSize; 61122 var itemMetadataMap = instanceProps.itemMetadataMap, 61123 lastMeasuredIndex = instanceProps.lastMeasuredIndex; 61124 61125 if (index > lastMeasuredIndex) { 61126 var offset = 0; 61127 61128 if (lastMeasuredIndex >= 0) { 61129 var itemMetadata = itemMetadataMap[lastMeasuredIndex]; 61130 offset = itemMetadata.offset + itemMetadata.size; 61131 } 61132 61133 for (var i = lastMeasuredIndex + 1; i <= index; i++) { 61134 var size = itemSize(i); 61135 itemMetadataMap[i] = { 61136 offset: offset, 61137 size: size 61138 }; 61139 offset += size; 61140 } 61141 61142 instanceProps.lastMeasuredIndex = index; 61143 } 61144 61145 return itemMetadataMap[index]; 61146}; 61147 61148var findNearestItem$1 = function findNearestItem(props, instanceProps, offset) { 61149 var itemMetadataMap = instanceProps.itemMetadataMap, 61150 lastMeasuredIndex = instanceProps.lastMeasuredIndex; 61151 var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0; 61152 61153 if (lastMeasuredItemOffset >= offset) { 61154 // If we've already measured items within this range just use a binary search as it's faster. 61155 return findNearestItemBinarySearch$1(props, instanceProps, lastMeasuredIndex, 0, offset); 61156 } else { 61157 // If we haven't yet measured this high, fallback to an exponential search with an inner binary search. 61158 // The exponential search avoids pre-computing sizes for the full set of items as a binary search would. 61159 // The overall complexity for this approach is O(log n). 61160 return findNearestItemExponentialSearch$1(props, instanceProps, Math.max(0, lastMeasuredIndex), offset); 61161 } 61162}; 61163 61164var findNearestItemBinarySearch$1 = function findNearestItemBinarySearch(props, instanceProps, high, low, offset) { 61165 while (low <= high) { 61166 var middle = low + Math.floor((high - low) / 2); 61167 var currentOffset = getItemMetadata$1(props, middle, instanceProps).offset; 61168 61169 if (currentOffset === offset) { 61170 return middle; 61171 } else if (currentOffset < offset) { 61172 low = middle + 1; 61173 } else if (currentOffset > offset) { 61174 high = middle - 1; 61175 } 61176 } 61177 61178 if (low > 0) { 61179 return low - 1; 61180 } else { 61181 return 0; 61182 } 61183}; 61184 61185var findNearestItemExponentialSearch$1 = function findNearestItemExponentialSearch(props, instanceProps, index, offset) { 61186 var itemCount = props.itemCount; 61187 var interval = 1; 61188 61189 while (index < itemCount && getItemMetadata$1(props, index, instanceProps).offset < offset) { 61190 index += interval; 61191 interval *= 2; 61192 } 61193 61194 return findNearestItemBinarySearch$1(props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset); 61195}; 61196 61197var index_esmbabel_target_legacy_getEstimatedTotalSize = function getEstimatedTotalSize(_ref2, _ref3) { 61198 var itemCount = _ref2.itemCount; 61199 var itemMetadataMap = _ref3.itemMetadataMap, 61200 estimatedItemSize = _ref3.estimatedItemSize, 61201 lastMeasuredIndex = _ref3.lastMeasuredIndex; 61202 var totalSizeOfMeasuredItems = 0; // Edge case check for when the number of items decreases while a scroll is in progress. 61203 // https://github.com/bvaughn/react-window/pull/138 61204 61205 if (lastMeasuredIndex >= itemCount) { 61206 lastMeasuredIndex = itemCount - 1; 61207 } 61208 61209 if (lastMeasuredIndex >= 0) { 61210 var itemMetadata = itemMetadataMap[lastMeasuredIndex]; 61211 totalSizeOfMeasuredItems = itemMetadata.offset + itemMetadata.size; 61212 } 61213 61214 var numUnmeasuredItems = itemCount - lastMeasuredIndex - 1; 61215 var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize; 61216 return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems; 61217}; 61218 61219var VariableSizeList = 61220/*#__PURE__*/ 61221createListComponent({ 61222 getItemOffset: function getItemOffset(props, index, instanceProps) { 61223 return getItemMetadata$1(props, index, instanceProps).offset; 61224 }, 61225 getItemSize: function getItemSize(props, index, instanceProps) { 61226 return instanceProps.itemMetadataMap[index].size; 61227 }, 61228 getEstimatedTotalSize: index_esmbabel_target_legacy_getEstimatedTotalSize, 61229 getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(props, index, align, scrollOffset, instanceProps) { 61230 var direction = props.direction, 61231 height = props.height, 61232 layout = props.layout, 61233 width = props.width; // TODO Deprecate direction "horizontal" 61234 61235 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 61236 var size = isHorizontal ? width : height; 61237 var itemMetadata = getItemMetadata$1(props, index, instanceProps); // Get estimated total size after ItemMetadata is computed, 61238 // To ensure it reflects actual measurements instead of just estimates. 61239 61240 var estimatedTotalSize = index_esmbabel_target_legacy_getEstimatedTotalSize(props, instanceProps); 61241 var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset)); 61242 var minOffset = Math.max(0, itemMetadata.offset - size + itemMetadata.size); 61243 61244 if (align === 'smart') { 61245 if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) { 61246 align = 'auto'; 61247 } else { 61248 align = 'center'; 61249 } 61250 } 61251 61252 switch (align) { 61253 case 'start': 61254 return maxOffset; 61255 61256 case 'end': 61257 return minOffset; 61258 61259 case 'center': 61260 return Math.round(minOffset + (maxOffset - minOffset) / 2); 61261 61262 case 'auto': 61263 default: 61264 if (scrollOffset >= minOffset && scrollOffset <= maxOffset) { 61265 return scrollOffset; 61266 } else if (scrollOffset < minOffset) { 61267 return minOffset; 61268 } else { 61269 return maxOffset; 61270 } 61271 61272 } 61273 }, 61274 getStartIndexForOffset: function getStartIndexForOffset(props, offset, instanceProps) { 61275 return findNearestItem$1(props, instanceProps, offset); 61276 }, 61277 getStopIndexForStartIndex: function getStopIndexForStartIndex(props, startIndex, scrollOffset, instanceProps) { 61278 var direction = props.direction, 61279 height = props.height, 61280 itemCount = props.itemCount, 61281 layout = props.layout, 61282 width = props.width; // TODO Deprecate direction "horizontal" 61283 61284 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 61285 var size = isHorizontal ? width : height; 61286 var itemMetadata = getItemMetadata$1(props, startIndex, instanceProps); 61287 var maxOffset = scrollOffset + size; 61288 var offset = itemMetadata.offset + itemMetadata.size; 61289 var stopIndex = startIndex; 61290 61291 while (stopIndex < itemCount - 1 && offset < maxOffset) { 61292 stopIndex++; 61293 offset += getItemMetadata$1(props, stopIndex, instanceProps).size; 61294 } 61295 61296 return stopIndex; 61297 }, 61298 initInstanceProps: function initInstanceProps(props, instance) { 61299 var _ref4 = props, 61300 estimatedItemSize = _ref4.estimatedItemSize; 61301 var instanceProps = { 61302 itemMetadataMap: {}, 61303 estimatedItemSize: estimatedItemSize || DEFAULT_ESTIMATED_ITEM_SIZE$1, 61304 lastMeasuredIndex: -1 61305 }; 61306 61307 instance.resetAfterIndex = function (index, shouldForceUpdate) { 61308 if (shouldForceUpdate === void 0) { 61309 shouldForceUpdate = true; 61310 } 61311 61312 instanceProps.lastMeasuredIndex = Math.min(instanceProps.lastMeasuredIndex, index - 1); // We could potentially optimize further by only evicting styles after this index, 61313 // But since styles are only cached while scrolling is in progress- 61314 // It seems an unnecessary optimization. 61315 // It's unlikely that resetAfterIndex() will be called while a user is scrolling. 61316 61317 instance._getItemStyleCache(-1); 61318 61319 if (shouldForceUpdate) { 61320 instance.forceUpdate(); 61321 } 61322 }; 61323 61324 return instanceProps; 61325 }, 61326 shouldResetStyleCacheOnItemSizeChange: false, 61327 validateProps: function validateProps(_ref5) { 61328 var itemSize = _ref5.itemSize; 61329 61330 if (false) {} 61331 } 61332}); 61333 61334var FixedSizeGrid = 61335/*#__PURE__*/ 61336createGridComponent({ 61337 getColumnOffset: function getColumnOffset(_ref, index) { 61338 var columnWidth = _ref.columnWidth; 61339 return index * columnWidth; 61340 }, 61341 getColumnWidth: function getColumnWidth(_ref2, index) { 61342 var columnWidth = _ref2.columnWidth; 61343 return columnWidth; 61344 }, 61345 getRowOffset: function getRowOffset(_ref3, index) { 61346 var rowHeight = _ref3.rowHeight; 61347 return index * rowHeight; 61348 }, 61349 getRowHeight: function getRowHeight(_ref4, index) { 61350 var rowHeight = _ref4.rowHeight; 61351 return rowHeight; 61352 }, 61353 getEstimatedTotalHeight: function getEstimatedTotalHeight(_ref5) { 61354 var rowCount = _ref5.rowCount, 61355 rowHeight = _ref5.rowHeight; 61356 return rowHeight * rowCount; 61357 }, 61358 getEstimatedTotalWidth: function getEstimatedTotalWidth(_ref6) { 61359 var columnCount = _ref6.columnCount, 61360 columnWidth = _ref6.columnWidth; 61361 return columnWidth * columnCount; 61362 }, 61363 getOffsetForColumnAndAlignment: function getOffsetForColumnAndAlignment(_ref7, columnIndex, align, scrollLeft, instanceProps, scrollbarSize) { 61364 var columnCount = _ref7.columnCount, 61365 columnWidth = _ref7.columnWidth, 61366 width = _ref7.width; 61367 var lastColumnOffset = Math.max(0, columnCount * columnWidth - width); 61368 var maxOffset = Math.min(lastColumnOffset, columnIndex * columnWidth); 61369 var minOffset = Math.max(0, columnIndex * columnWidth - width + scrollbarSize + columnWidth); 61370 61371 if (align === 'smart') { 61372 if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) { 61373 align = 'auto'; 61374 } else { 61375 align = 'center'; 61376 } 61377 } 61378 61379 switch (align) { 61380 case 'start': 61381 return maxOffset; 61382 61383 case 'end': 61384 return minOffset; 61385 61386 case 'center': 61387 // "Centered" offset is usually the average of the min and max. 61388 // But near the edges of the list, this doesn't hold true. 61389 var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2); 61390 61391 if (middleOffset < Math.ceil(width / 2)) { 61392 return 0; // near the beginning 61393 } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) { 61394 return lastColumnOffset; // near the end 61395 } else { 61396 return middleOffset; 61397 } 61398 61399 case 'auto': 61400 default: 61401 if (scrollLeft >= minOffset && scrollLeft <= maxOffset) { 61402 return scrollLeft; 61403 } else if (minOffset > maxOffset) { 61404 // Because we only take into account the scrollbar size when calculating minOffset 61405 // this value can be larger than maxOffset when at the end of the list 61406 return minOffset; 61407 } else if (scrollLeft < minOffset) { 61408 return minOffset; 61409 } else { 61410 return maxOffset; 61411 } 61412 61413 } 61414 }, 61415 getOffsetForRowAndAlignment: function getOffsetForRowAndAlignment(_ref8, rowIndex, align, scrollTop, instanceProps, scrollbarSize) { 61416 var rowHeight = _ref8.rowHeight, 61417 height = _ref8.height, 61418 rowCount = _ref8.rowCount; 61419 var lastRowOffset = Math.max(0, rowCount * rowHeight - height); 61420 var maxOffset = Math.min(lastRowOffset, rowIndex * rowHeight); 61421 var minOffset = Math.max(0, rowIndex * rowHeight - height + scrollbarSize + rowHeight); 61422 61423 if (align === 'smart') { 61424 if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) { 61425 align = 'auto'; 61426 } else { 61427 align = 'center'; 61428 } 61429 } 61430 61431 switc
61431h (align) { 61432 case 'start': 61433 return maxOffset; 61434 61435 case 'end': 61436 return minOffset; 61437 61438 case 'center': 61439 // "Centered" offset is usually the average of the min and max. 61440 // But near the edges of the list, this doesn't hold true. 61441 var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2); 61442 61443 if (middleOffset < Math.ceil(height / 2)) { 61444 return 0; // near the beginning 61445 } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) { 61446 return lastRowOffset; // near the end 61447 } else { 61448 return middleOffset; 61449 } 61450 61451 case 'auto': 61452 default: 61453 if (scrollTop >= minOffset && scrollTop <= maxOffset) { 61454 return scrollTop; 61455 } else if (minOffset > maxOffset) { 61456 // Because we only take into account the scrollbar size when calculating minOffset 61457 // this value can be larger than maxOffset when at the end of the list 61458 return minOffset; 61459 } else if (scrollTop < minOffset) { 61460 return minOffset; 61461 } else { 61462 return maxOffset; 61463 } 61464 61465 } 61466 }, 61467 getColumnStartIndexForOffset: function getColumnStartIndexForOffset(_ref9, scrollLeft) { 61468 var columnWidth = _ref9.columnWidth, 61469 columnCount = _ref9.columnCount; 61470 return Math.max(0, Math.min(columnCount - 1, Math.floor(scrollLeft / columnWidth))); 61471 }, 61472 getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(_ref10, startIndex, scrollLeft) { 61473 var columnWidth = _ref10.columnWidth, 61474 columnCount = _ref10.columnCount, 61475 width = _ref10.width; 61476 var left = startIndex * columnWidth; 61477 var numVisibleColumns = Math.ceil((width + scrollLeft - left) / columnWidth); 61478 return Math.max(0, Math.min(columnCount - 1, startIndex + numVisibleColumns - 1 // -1 is because stop index is inclusive 61479 )); 61480 }, 61481 getRowStartIndexForOffset: function getRowStartIndexForOffset(_ref11, scrollTop) { 61482 var rowHeight = _ref11.rowHeight, 61483 rowCount = _ref11.rowCount; 61484 return Math.max(0, Math.min(rowCount - 1, Math.floor(scrollTop / rowHeight))); 61485 }, 61486 getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(_ref12, startIndex, scrollTop) { 61487 var rowHeight = _ref12.rowHeight, 61488 rowCount = _ref12.rowCount, 61489 height = _ref12.height; 61490 var top = startIndex * rowHeight; 61491 var numVisibleRows = Math.ceil((height + scrollTop - top) / rowHeight); 61492 return Math.max(0, Math.min(rowCount - 1, startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive 61493 )); 61494 }, 61495 initInstanceProps: function initInstanceProps(props) {// Noop 61496 }, 61497 shouldResetStyleCacheOnItemSizeChange: true, 61498 validateProps: function validateProps(_ref13) { 61499 var columnWidth = _ref13.columnWidth, 61500 rowHeight = _ref13.rowHeight; 61501 61502 if (false) {} 61503 } 61504}); 61505 61506var FixedSizeList = 61507/*#__PURE__*/ 61508createListComponent({ 61509 getItemOffset: function getItemOffset(_ref, index) { 61510 var itemSize = _ref.itemSize; 61511 return index * itemSize; 61512 }, 61513 getItemSize: function getItemSize(_ref2, index) { 61514 var itemSize = _ref2.itemSize; 61515 return itemSize; 61516 }, 61517 getEstimatedTotalSize: function getEstimatedTotalSize(_ref3) { 61518 var itemCount = _ref3.itemCount, 61519 itemSize = _ref3.itemSize; 61520 return itemSize * itemCount; 61521 }, 61522 getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(_ref4, index, align, scrollOffset) { 61523 var direction = _ref4.direction, 61524 height = _ref4.height, 61525 itemCount = _ref4.itemCount, 61526 itemSize = _ref4.itemSize, 61527 layout = _ref4.layout, 61528 width = _ref4.width; 61529 // TODO Deprecate direction "horizontal" 61530 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 61531 var size = isHorizontal ? width : height; 61532 var lastItemOffset = Math.max(0, itemCount * itemSize - size); 61533 var maxOffset = Math.min(lastItemOffset, index * itemSize); 61534 var minOffset = Math.max(0, index * itemSize - size + itemSize); 61535 61536 if (align === 'smart') { 61537 if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) { 61538 align = 'auto'; 61539 } else { 61540 align = 'center'; 61541 } 61542 } 61543 61544 switch (align) { 61545 case 'start': 61546 return maxOffset; 61547 61548 case 'end': 61549 return minOffset; 61550 61551 case 'center': 61552 { 61553 // "Centered" offset is usually the average of the min and max. 61554 // But near the edges of the list, this doesn't hold true. 61555 var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2); 61556 61557 if (middleOffset < Math.ceil(size / 2)) { 61558 return 0; // near the beginning 61559 } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) { 61560 return lastItemOffset; // near the end 61561 } else { 61562 return middleOffset; 61563 } 61564 } 61565 61566 case 'auto': 61567 default: 61568 if (scrollOffset >= minOffset && scrollOffset <= maxOffset) { 61569 return scrollOffset; 61570 } else if (scrollOffset < minOffset) { 61571 return minOffset; 61572 } else { 61573 return maxOffset; 61574 } 61575 61576 } 61577 }, 61578 getStartIndexForOffset: function getStartIndexForOffset(_ref5, offset) { 61579 var itemCount = _ref5.itemCount, 61580 itemSize = _ref5.itemSize; 61581 return Math.max(0, Math.min(itemCount - 1, Math.floor(offset / itemSize))); 61582 }, 61583 getStopIndexForStartIndex: function getStopIndexForStartIndex(_ref6, startIndex, scrollOffset) { 61584 var direction = _ref6.direction, 61585 height = _ref6.height, 61586 itemCount = _ref6.itemCount, 61587 itemSize = _ref6.itemSize, 61588 layout = _ref6.layout, 61589 width = _ref6.width; 61590 // TODO Deprecate direction "horizontal" 61591 var isHorizontal = direction === 'horizontal' || layout === 'horizontal'; 61592 var offset = startIndex * itemSize; 61593 var size = isHorizontal ? width : height; 61594 var numVisibleItems = Math.ceil((size + scrollOffset - offset) / itemSize); 61595 return Math.max(0, Math.min(itemCount - 1, startIndex + numVisibleItems - 1 // -1 is because stop index is inclusive 61596 )); 61597 }, 61598 initInstanceProps: function initInstanceProps(props) {// Noop 61599 }, 61600 shouldResetStyleCacheOnItemSizeChange: true, 61601 validateProps: function validateProps(_ref7) { 61602 var itemSize = _ref7.itemSize; 61603 61604 if (false) {} 61605 } 61606}); 61607 61608// Pulled from react-compat 61609// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349 61610function shallowDiffers(prev, next) { 61611 for (var attribute in prev) { 61612 if (!(attribute in next)) { 61613 return true; 61614 } 61615 } 61616 61617 for (var _attribute in next) { 61618 if (prev[_attribute] !== next[_attribute]) { 61619 return true; 61620 } 61621 } 61622 61623 return false;
61624} 61625 61626// It knows to compare individual style props and ignore the wrapper object. 61627// See https://reactjs.org/docs/react-api.html#reactmemo 61628 61629function areEqual(prevProps, nextProps) { 61630 var prevStyle = prevProps.style, 61631 prevRest = _objectWithoutPropertiesLoose(prevProps, ["style"]); 61632 61633 var nextStyle = nextProps.style, 61634 nextRest = _objectWithoutPropertiesLoose(nextProps, ["style"]); 61635 61636 return !shallowDiffers(prevStyle, nextStyle) && !shallowDiffers(prevRest, nextRest); 61637} 61638 61639// It knows to compare individual style props and ignore the wrapper object. 61640// See https://reactjs.org/docs/react-component.html#shouldcomponentupdate 61641 61642function shouldComponentUpdate(nextProps, nextState) { 61643 return !areEqual(this.props, nextProps) || shallowDiffers(this.state, nextState); 61644} 61645 61646 61647//# sourceMappingURL=index.esm.js.map 61648 61649// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 61650var classnames_babel_target_legacy = __webpack_require__(27); 61651var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 61652 61653// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 61654var utilsbabel_target_legacy = __webpack_require__(48); 61655 61656// EXTERNAL MODULE: ./src/components/AToZList/AToZList.module.scss 61657var AToZList_module = __webpack_require__(191); 61658var AToZList_module_default = /*#__PURE__*/__webpack_require__.n(AToZList_module); 61659 61660// CONCATENATED MODULE: ./src/components/AToZList/AToZList.tsx?babel-target=legacy 61661 61662 61663 61664 61665 61666 61667 61668 61669 61670 61671 61672 61673 61674 61675 61676function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 61677 61678function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 61679 61680 61681 61682 61683 61684 61685 61686 61687 61688 61689var AZ_HEADER_HEIGHT = 350; 61690var AToZListbabel_target_legacy_AToZList = function AToZList(_ref) { 61691 var stations = _ref.stations, 61692 startWith = _ref.startWith, 61693 smoothScroll = _ref.smoothScroll; 61694 var keys = Object.keys(stations); 61695 var list = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 61696 61697 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 61698 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 61699 state = _useAPI2[0], 61700 dispatch = _useAPI2[1]; 61701 61702 var prefix = state.cookie.stationlistprefix; 61703 61704 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 61705 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 61706 hasMoved = _useState2[0], 61707 setHasMoved = _useState2[1]; 61708 61709 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 61710 i18n = _useTranslation.i18n; 61711 61712 var lang = i18n.language; 61713 var updatePrefix = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(Object(utilsbabel_target_legacy["a" /* debounce */])(function (key) { 61714 if (key && key !== prefix) { 61715 dispatch({ 61716 type: "SET_PREFIX", 61717 payload: key 61718 }); 61719 } 61720 }, 500, false), [prefix, state]); 61721 var data = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 61722 return keys.reduce(function (prev, next) { 61723 return [].concat(toConsumableArraybabel_target_legacy_default()(prev), [{ 61724 type: "header", 61725 key: next 61726 }], toConsumableArraybabel_target_legacy_default()(stations[next])); 61727 }, []).filter(function (row) { 61728 return "type" in row || !row.language || row.language === lang || row.international; 61729 }); 61730 }, [stations, keys, lang]); 61731 var listRef = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 61732 61733 var handleScroll = function handleScroll(key) { 61734 var _listRef$current; 61735 61736 dispatch({ 61737 type: "SET_PREFIX", 61738 payload: key 61739 }); 61740 (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollToItem(data.map(function (x) { 61741 return x.key; 61742 }).findIndex(function (x) { 61743 return x === key; 61744 }), "start"); 61745 }; 61746 61747 var buttons = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 61748 return keys.map(function (key) { 61749 return Object(preact_modulebabel_target_legacy["h"])("button", { 61750 key: key, 61751 className: classnames_babel_target_legacy_default()(AToZList_module_default.a.letter, definePropertybabel_target_legacy_default()({}, AToZList_module_default.a.current, key === prefix)), 61752 onClick: function onClick() { 61753 return handleScroll(key); 61754 } 61755 }, key.toUpperCase()); 61756 }); 61757 }, [handleScroll, keys, prefix]); 61758 61759 var getItemSize = function getItemSize(index) { 61760 var item = data[index]; 61761 if (!!item.type) return 40; 61762 return 82; 61763 }; 61764 61765 var RenderRow = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (_ref2) { 61766 var index = _ref2.index, 61767 style = _ref2.style; 61768 var row = data[index]; 61769 61770 if ("type" in row) { 61771 // updatePrefix(row.key); 61772 return Object(preact_modulebabel_target_legacy["h"])("div", { 61773 style: _objectSpread({}, style), 61774 className: AToZList_module_default.a.header 61775 }, row.key.toUpperCase()); 61776 } 61777 61778 return Object(preact_modulebabel_target_legacy["h"])("div", { 61779 style: _objectSpread(_objectSpread({}, style), {}, { 61780 paddingTop: 8, 61781 paddingBottom: 4 61782 }) 61783 }, Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 61784 imageUrl: row.imageUrl, 61785 title: row.serviceName, 61786 description: row.shortDescription, 61787 url: row.consoleUrl, 61788 rpId: row.rpId 61789 })); 61790 }, [data]); 61791 return Object(preact_modulebabel_target_legacy["h"])("div", null, Object(preact_modulebabel_target_legacy["h"])("div", { 61792 className: AToZList_module_default.a.alphabet 61793 }, buttons), Object(preact_modulebabel_target_legacy["h"])(VariableSizeList, { 61794 className: AToZList_module_default.a.listcontainer, 61795 ref: listRef, 61796 height: window.innerHeight - AZ_HEADER_HEIGHT, 61797 width: "100%", 61798 itemCount: data.length, 61799 itemSize: getItemSize 61800 }, RenderRow)); 61801}; 61802/* harmony default export */ var AToZListbabel_target_legacy = (AToZListbabel_target_legacy_AToZList); 61803// CONCATENATED MODULE: ./src/components/AToZList/index.ts?babel-target=legacy 61804 61805// EXTERNAL MODULE: ./src/components/RecommendationsList/RecommendationsList.module.scss 61806var RecommendationsList_module = __webpack_require__(247); 61807var RecommendationsList_module_default = /*#__PURE__*/__webpack_require__.n(RecommendationsList_module); 61808 61809// CONCATENATED MODULE: ./src/components/RecommendationsList/RecommendationsList.tsx?babel-target=legacy 61810 61811 61812 61813 61814 61815 61816 61817 61818 61819var RecommendationsListbabel_target_legacy_renderRow = function renderRow(row) { 61820 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 61821 imageUrl: row.imageUrl, 61822 title: row.serviceName // description={row.shortDescription} 61823 , 61824 tags: row.factors, 61825 url: row.consoleUrl, 61826 rpId: row.rpId 61827 }); 61828}; 61829 61830var RecommendationsListbabel_target_legacy_RecommendationsList = function RecommendationsList(props) { 61831 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 61832 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 61833 state = _useAPI2[0]; 61834 61835 var recommendations = state.recommendations || []; 61836 61837 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 61838 t = _useTranslation.t; 61839 61840 return Object(preact_modulebabel_target_legacy["h"])("div", { 61841 className: RecommendationsList_module_default.a.wrap 61842 }, Object(preact_modulebabel_target_legacy["h"])("div", { 61843 className: RecommendationsList_module_default.a.head 61844 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 61845 className: RecommendationsList_module_default.a.title 61846 }, t("RECOMMENDED_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 61847 className: RecommendationsList_module_default.a.sub 61848 }, t("RECOMMENDED_DESCRIPTION"))), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, {
61849 data: recommendations, 61850 renderRow: RecommendationsListbabel_target_legacy_renderRow, 61851 rowHeight: 80, 61852 overscanCount: 10, 61853 sync: true 61854 })); 61855}; 61856/* harmony default export */ var RecommendationsListbabel_target_legacy = (RecommendationsListbabel_target_legacy_RecommendationsList); 61857// CONCATENATED MODULE: ./src/components/RecommendationsList/index.ts?babel-target=legacy 61858 61859// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 61860var loggerbabel_target_legacy = __webpack_require__(10); 61861 61862// EXTERNAL MODULE: ./src/lib/Analytics/index.ts?babel-target=legacy + 3 modules 61863var Analyticsbabel_target_legacy = __webpack_require__(184); 61864 61865// CONCATENATED MODULE: ./src/components/MenuPanel/MenuPanel.tsx?babel-target=legacy 61866 61867 61868 61869 61870 61871 61872 61873 61874 61875 61876 61877 61878 61879 61880 61881 61882 61883 61884 61885 61886 61887var noop = function noop() {}; 61888 61889var MenuPanelbabel_target_legacy_MenuPanel = function MenuPanel(_ref) { 61890 var _ref$onHide = _ref.onHide, 61891 onHide = _ref$onHide === void 0 ? noop : _ref$onHide, 61892 adProviders = _ref.adProviders, 61893 cmp = _ref.cmp; 61894 61895 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 61896 t = _useTranslation.t; 61897 61898 var tabitems = [t("TAB_FAVOURITES"), t("TAB_RECENT"), t("TAB_DISCOVER"), t("TAB_A_TO_Z")]; 61899 61900 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 61901 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 61902 selectedPanel = _useState2[0], 61903 setSelectedPanel = _useState2[1]; 61904 61905 var _useAnalytics = Object(Analyticsbabel_target_legacy["b" /* useAnalytics */])(), 61906 sendEvent = _useAnalytics.sendEvent; 61907 61908 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 61909 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 61910 state = _useAPI2[0], 61911 dispatch = _useAPI2[1]; 61912 61913 var switchPanel = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (tab) { 61914 sendEvent("Navigation", "Main Menu", tabitems[tab]); 61915 setSelectedPanel(tab); 61916 }, [sendEvent, tabitems]); // for accessibility purposes we want to the user to focus on the first 61917 // element in this menu as soon as it renders 61918 61919 var ref = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(null); 61920 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 61921 if (ref.current) { 61922 ref.current.focus(); 61923 } 61924 }, []); // register handler for escape key 61925 61926 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 61927 var escFunction = function escFunction(e) { 61928 if (e.key === "Escape") { 61929 onHide(); 61930 } 61931 }; 61932 61933 document.addEventListener("keydown", escFunction, false); 61934 return function () { 61935 document.removeEventListener("keyup", escFunction, false); 61936 }; 61937 }, [onHide]); 61938 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 61939 var loadStations = /*#__PURE__*/function () { 61940 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 61941 var stations; 61942 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 61943 while (1) { 61944 switch (_context.prev = _context.next) { 61945 case 0: 61946 Object(loggerbabel_target_legacy["c" /* log */])("Loading station list"); 61947 61948 if (!state.mapiUrl) { 61949 _context.next = 6; 61950 break; 61951 } 61952 61953 _context.next = 4; 61954 return Object(APIManagerbabel_target_legacy["s" /* loadStationList */])(state.mapiUrl); 61955 61956 case 4: 61957 stations = _context.sent; 61958 61959 if (stations && Object.values(stations).length) { 61960 dispatch({ 61961 type: "SET_STATIONLIST", 61962 payload: stations 61963 }); 61964 } 61965 61966 case 6: 61967 case "end": 61968 return _context.stop(); 61969 } 61970 } 61971 }, _callee); 61972 })); 61973 61974 return function loadStations() { 61975 return _ref2.apply(this, arguments); 61976 }; 61977 }(); 61978 61979 var loadRecommendations = /*#__PURE__*/function () { 61980 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 61981 var recommendations; 61982 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 61983 while (1) { 61984 switch (_context2.prev = _context2.next) { 61985 case 0: 61986 Object(loggerbabel_target_legacy["c" /* log */])("Loading recommendations"); 61987 61988 if (!state.queryProxyUrl) { 61989 _context2.next = 6; 61990 break; 61991 } 61992 61993 _context2.next = 4; 61994 return Object(APIManagerbabel_target_legacy["p" /* loadRecommendationList */])(state.queryProxyUrl); 61995 61996 case 4: 61997 recommendations = _context2.sent; 61998 61999 if (recommendations && recommendations.length) { 62000 dispatch({ 62001 type: "SET_RECOMMENDATIONS", 62002 payload: recommendations 62003 }); 62004 } 62005 62006 case 6: 62007 case "end": 62008 return _context2.stop(); 62009 } 62010 } 62011 }, _callee2); 62012 })); 62013 62014 return function loadRecommendations() { 62015 return _ref3.apply(this, arguments); 62016 }; 62017 }(); 62018 62019 if (!state.stationlist || !Object.values(state.stationlist).length) { 62020 loadStations(); 62021 } 62022 62023 if (!state.recommendations || !state.recommendations.length) { 62024 loadRecommendations(); 62025 } 62026 }, [state.stationlist, state.mapiUrl, state.recommendations, dispatch, state.queryProxyUrl]); 62027 62028 var openCmpInterface = function openCmpInterface() { 62029 if (!cmp) return; 62030 var windowObject = cmp.windowObject, 62031 openFunction = cmp.openFunction; 62032 if (!windowObject || !openFunction) return; 62033 window[windowObject][openFunction](); 62034 }; 62035 62036 return Object(preact_modulebabel_target_legacy["h"])("div", { 62037 className: MenuPanel_module_default.a.wrap 62038 }, Object(preact_modulebabel_target_legacy["h"])("button", { 62039 ref: ref, 62040 className: MenuPanel_module_default.a.button, 62041 onClick: onHide 62042 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62043 src: __webpack_require__(730), 62044 "aria-hidden": true 62045 }), t("BUTTON_CLOSE")), Object(preact_modulebabel_target_legacy["h"])(TabBarbabel_target_legacy["a" /* TabBar */], { 62046 items: tabitems, 62047 selectedItem: selectedPanel, 62048 onChangeTab: switchPanel 62049 }), Object(preact_modulebabel_target_legacy["h"])("div", { 62050 className: MenuPanel_module_default.a.panel 62051 }, selectedPanel === 0 && Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])(FavouritesListbabel_target_legacy_FavouritesList, { 62052 stations: state.stationlist 62053 }), Object(preact_modulebabel_target_legacy["h"])("div", { 62054 className: MenuPanel_module_default.a.cookielink 62055 }, Object(preact_modulebabel_target_legacy["h"])("p", null, cmp ? Object(preact_modulebabel_target_legacy["h"])("button", { 62056 onClick: openCmpInterface, 62057 className: MenuPanel_module_default.a.cmpButton 62058 }, " ", t("LINK_COOKIE_SETTINGS"), " ") : Object(preact_modulebabel_target_legacy["h"])("a", {
62059 href: adProviders ? Object(utilsbabel_target_legacy["b" /* decorateUrl */])(t("URL_COOKIE_SETTINGS"), [["rpadproviders", adProviders || ""]]) : t("URL_COOKIE_SETTINGS"), 62060 target: "_blank", 62061 rel: "noopener noreferrer" 62062 }, t("LINK_COOKIE_SETTINGS")), cmp ? cmp.manageCookieSettingsSubtext || "" : "(".concat(t("LABEL_COOKIE_SETTINGS_INFO"), ")")))), selectedPanel === 1 && Object(preact_modulebabel_target_legacy["h"])(RecentStationsbabel_target_legacy_RecentStations, { 62063 stations: state.stationlist 62064 }), selectedPanel === 2 && Object(preact_modulebabel_target_legacy["h"])(RecommendationsListbabel_target_legacy_RecommendationsList, null), selectedPanel === 3 && Object(preact_modulebabel_target_legacy["h"])(AToZListbabel_target_legacy_AToZList, { 62065 stations: state.stationlist, 62066 smoothScroll: true 62067 }))); 62068}; 62069/* harmony default export */ var MenuPanelbabel_target_legacy = (MenuPanelbabel_target_legacy_MenuPanel); 62070// CONCATENATED MODULE: ./src/components/MenuPanel/index.ts?babel-target=legacy 62071 62072 62073/***/ }), 62074/* 963 */, 62075/* 964 */, 62076/* 965 */ 62077/***/ (function(module, __webpack_exports__, __webpack_require__) { 62078 62079"use strict"; 62080 62081// EXPORTS 62082__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ NavBarbabel_target_legacy_NavBar; }); 62083 62084// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 62085var slicedToArraybabel_target_legacy = __webpack_require__(8); 62086var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 62087 62088// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 62089var preact_modulebabel_target_legacy = __webpack_require__(1); 62090 62091// EXTERNAL MODULE: ./src/components/NavBar/NavBar.module.scss 62092var NavBar_module = __webpack_require__(122); 62093var NavBar_module_default = /*#__PURE__*/__webpack_require__.n(NavBar_module); 62094 62095// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 62096var RPIconbabel_target_legacy = __webpack_require__(42); 62097 62098// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 62099var useAPIbabel_target_legacy = __webpack_require__(44); 62100 62101// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 62102var hooks_modulebabel_target_legacy = __webpack_require__(4); 62103 62104// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 62105var es_babel_target_legacy = __webpack_require__(25); 62106 62107// EXTERNAL MODULE: ./src/components/FaveNote/FaveNote.module.scss 62108var FaveNote_module = __webpack_require__(192); 62109var FaveNote_module_default = /*#__PURE__*/__webpack_require__.n(FaveNote_module); 62110 62111// CONCATENATED MODULE: ./src/components/FaveNote/FaveNote.tsx?babel-target=legacy 62112 62113 62114 62115var FaveNotebabel_target_legacy_FaveNote = function FaveNote(_ref) { 62116 var hideNotification = _ref.hideNotification; 62117 62118 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 62119 t = _useTranslation.t; 62120 62121 return Object(preact_modulebabel_target_legacy["h"])("div", { 62122 className: FaveNote_module_default.a.faveNotificationContainer 62123 }, Object(preact_modulebabel_target_legacy["h"])("svg", { 62124 viewBox: "0 0 18 10", 62125 xmlns: "http://www.w3.org/2000/svg", 62126 "aria-hidden": true 62127 }, Object(preact_modulebabel_target_legacy["h"])("polygon", { 62128 points: "0,8 9,0 18,10 0,10", 62129 fill: "#f3f3f3" 62130 }), Object(preact_modulebabel_target_legacy["h"])("polyline", { 62131 points: "0,10 9,0 18,10", 62132 stroke: "#d7d7d7", 62133 fill: "none" 62134 })), Object(preact_modulebabel_target_legacy["h"])("div", { 62135 className: FaveNote_module_default.a.faveNotificationContainerInner 62136 }, Object(preact_modulebabel_target_legacy["h"])("h3", { 62137 className: FaveNote_module_default.a.faveNotificationHeader 62138 }, t("FAVE_NOTE_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 62139 className: FaveNote_module_default.a.faveNotificationText 62140 }, t("FAVE_NOTE_TEXT")), Object(preact_modulebabel_target_legacy["h"])("button", { 62141 onClick: hideNotification, 62142 className: FaveNote_module_default.a.closeText 62143 }, t("FAVE_NOTE_BUTTON")))); 62144}; 62145/* harmony default export */ var FaveNotebabel_target_legacy = (FaveNotebabel_target_legacy_FaveNote); 62146// CONCATENATED MODULE: ./src/components/FaveNote/index.ts?babel-target=legacy 62147 62148// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 62149var utilsbabel_target_legacy = __webpack_require__(48); 62150 62151// CONCATENATED MODULE: ./src/components/NavBar/NavBar.tsx?babel-target=legacy 62152 62153 62154/* eslint-disable react/jsx-no-literals */ 62155 62156 62157 62158 62159 62160 62161 62162 62163 62164var noop = function noop() {}; 62165 62166var NavBarbabel_target_legacy_NavBar = function NavBar(_ref) { 62167 var _ref$onClickMenu = _ref.onClickMenu, 62168 onClickMenu = _ref$onClickMenu === void 0 ? noop : _ref$onClickMenu, 62169 _ref$onClickSearch = _ref.onClickSearch, 62170 onClickSearch = _ref$onClickSearch === void 0 ? noop : _ref$onClickSearch, 62171 logo = _ref.logo, 62172 stationName = _ref.stationName; 62173 62174 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 62175 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 62176 state = _useAPI2[0]; 62177 62178 var showBadge = !!state.faves.length; 62179 62180 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(true),
62181 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 62182 displayFaveNotification = _useState2[0], 62183 setDisplayFaveNotification = _useState2[1]; 62184 62185 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 62186 t = _useTranslation.t; 62187 62188 var hideNotification = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 62189 setDisplayFaveNotification(false); 62190 }, [setDisplayFaveNotification]); 62191 var openMenu = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 62192 hideNotification(); 62193 onClickMenu(); 62194 }, [hideNotification, onClickMenu]); 62195 var nameAsId = Object(utilsbabel_target_legacy["j" /* kebabify */])(stationName); 62196 return Object(preact_modulebabel_target_legacy["h"])("div", { 62197 className: NavBar_module_default.a.wrap 62198 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62199 className: NavBar_module_default.a.buttonContainer 62200 }, Object(preact_modulebabel_target_legacy["h"])("a", { 62201 href: "#main-content", 62202 className: NavBar_module_default.a.skipLink 62203 }, t("LABEL_SKIP_LINK_CONTENT")), Object(preact_modulebabel_target_legacy["h"])("a", { 62204 href: "#".concat(nameAsId), 62205 className: NavBar_module_default.a.skipLink 62206 }, t("LABEL_SKIP_LINK_CONTROLS")), Object(preact_modulebabel_target_legacy["h"])("button", { 62207 className: NavBar_module_default.a.button, 62208 onClick: openMenu, 62209 "aria-label": t("ARIA_OPEN_MENU") 62210 }, showBadge ? Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62211 src: __webpack_require__(1002) 62212 }) : Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62213 src: __webpack_require__(1003) 62214 }), t("BUTTON_MENU")), state.displayFaveNotification && displayFaveNotification && Object(preact_modulebabel_target_legacy["h"])(FaveNotebabel_target_legacy_FaveNote, { 62215 hideNotification: hideNotification 62216 })), Object(preact_modulebabel_target_legacy["h"])("figure", { 62217 className: NavBar_module_default.a.middle 62218 }, t("RADIOPLAYER_URL") === "RADIOPLAYER_URL" ? Object(preact_modulebabel_target_legacy["h"])("img", { 62219 alt: "Radioplayer", 62220 src: logo 62221 }) : Object(preact_modulebabel_target_legacy["h"])("a", { 62222 href: t("RADIOPLAYER_URL"), 62223 target: "_blank", 62224 rel: "noopener noreferrer" 62225 }, Object(preact_modulebabel_target_legacy["h"])("img", { 62226 alt: "Radioplayer", 62227 src: logo 62228 }))), Object(preact_modulebabel_target_legacy["h"])("button", { 62229 className: NavBar_module_default.a.button, 62230 onClick: onClickSearch, 62231 "aria-label": "Search" 62232 }, Object(preact_modulebabel_target_legacy["h"])("span", { 62233 className: NavBar_module_default.a.wide 62234 }, t("LABEL_SEARCH_FULL")), Object(preact_modulebabel_target_legacy["h"])("span", { 62235 className: NavBar_module_default.a.narrow, 62236 "aria-hidden": true 62237 }, t("LABEL_SEARCH_SHORT")), Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62238 src: __webpack_require__(468) 62239 }))); 62240}; 62241/* harmony default export */ var NavBarbabel_target_legacy = (NavBarbabel_target_legacy_NavBar); 62242// CONCATENATED MODULE: ./src/components/NavBar/index.ts?babel-target=legacy 62243 62244 62245/***/ }), 62246/* 966 */ 62247/***/ (function(module, __webpack_exports__, __webpack_require__) { 62248 62249"use strict"; 62250 62251// EXPORTS 62252__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ SearchPanelbabel_target_legacy_SearchPanel; }); 62253 62254// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js?babel-target=legacy 62255var es_array_slicebabel_target_legacy = __webpack_require__(177); 62256 62257// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 62258var regenerator_babel_target_legacy = __webpack_require__(6); 62259var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 62260 62261// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 62262var runtimebabel_target_legacy = __webpack_require__(60); 62263 62264// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 62265var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 62266var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 62267 62268// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 62269var slicedToArraybabel_target_legacy = __webpack_require__(8); 62270var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 62271 62272// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 62273var preact_modulebabel_target_legacy = __webpack_require__(1); 62274 62275// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 62276var hooks_modulebabel_target_legacy = __webpack_require__(4); 62277 62278// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 62279var es_symbolbabel_target_legacy = __webpack_require__(71); 62280 62281// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js?babel-target=legacy 62282var es_symbol_descriptionbabel_target_legacy = __webpack_require__(199); 62283 62284// EXTERNAL MODULE: ./node_modules/@aerian/preact-virtual-list/dist/preact-virtual-list.js?babel-target=legacy 62285var preact_virtual_listbabel_target_legacy = __webpack_require__(121); 62286var preact_virtual_listbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(preact_virtual_listbabel_target_legacy); 62287 62288// EXTERNAL MODULE: ./src/components/ContentCard/index.ts?babel-target=legacy + 1 modules 62289var ContentCardbabel_target_legacy = __webpack_require__(189); 62290 62291// EXTERNAL MODULE: ./src/components/TabBar/index.ts?babel-target=legacy + 1 modules 62292var TabBarbabel_target_legacy = __webpack_require__(435); 62293 62294// EXTERNAL MODULE: ./src/components/SearchHistory/SearchHistory.tsx?babel-target=legacy 62295var SearchHistorybabel_target_legacy = __webpack_require__(431); 62296 62297// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 62298var useAPIbabel_target_legacy = __webpack_require__(44); 62299 62300// EXTERNAL MODULE: ./src/components/SearchResults/SearchResults.module.scss 62301var SearchResults_module = __webpack_require__(64); 62302var SearchResults_module_default = /*#__PURE__*/__webpack_require__.n(SearchResults_module); 62303 62304// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 62305var es_babel_target_legacy = __webpack_require__(25); 62306 62307// EXTERNAL MODULE: ./src/lib/Trans/Trans.js?babel-target=legacy + 2 modules 62308var Transbabel_target_legacy = __webpack_require__(333); 62309 62310// CONCATENATED MODULE: ./src/components/SearchResults/SearchResults.tsx?babel-target=legacy 62311 62312 62313 62314 62315/* eslint-disable react/jsx-no-literals */ 62316 62317 62318 62319 62320 62321 62322 62323 62324 62325 62326 62327var SearchResultsbabel_target_legacy_renderRow = function renderRow(row) { 62328 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 62329 imageUrl: row.imageUrl, 62330 title: row.serviceName, 62331 description: row.description, 62332 url: row.consoleUrl, 62333 rpId: row.rpId,
62334 onDemand: row.type === "PI_OD" || row.type === "OD", 62335 live: row.type === "PI" || row.type === "PE_E" || row.type === "SI" 62336 }); 62337}; 62338 62339var SearchResultsbabel_target_legacy_renderNoResultsPanel = function renderNoResultsPanel(copy) { 62340 return Object(preact_modulebabel_target_legacy["h"])("div", { 62341 className: SearchResults_module_default.a.noResultsContainer, 62342 style: { 62343 padding: "16px", 62344 borderTop: "none" 62345 } 62346 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62347 className: SearchResults_module_default.a.noResultsInner 62348 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62349 className: SearchResults_module_default.a.noResultsCopy, 62350 style: { 62351 paddingBottom: "58px" 62352 } 62353 }, Object(preact_modulebabel_target_legacy["h"])("p", { 62354 className: SearchResults_module_default.a.noResultsP 62355 }, copy)))); 62356}; 62357 62358var SearchResultsbabel_target_legacy_SearchResults = function SearchResults(_ref) { 62359 var allSearchResults = _ref.allSearchResults, 62360 liveSearchResults = _ref.liveSearchResults, 62361 catchUpSearchResults = _ref.catchUpSearchResults, 62362 searchTerm = _ref.searchTerm, 62363 showSearchResults = _ref.showSearchResults; 62364 62365 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 62366 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 62367 selectedPanel = _useState2[0], 62368 setSelectedPanel = _useState2[1]; 62369 62370 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 62371 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 62372 state = _useAPI2[0]; 62373 62374 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 62375 t = _useTranslation.t, 62376 i18n = _useTranslation.i18n; 62377 62378 var renderNoResults = function renderNoResults(searchTerm, searchHistory) { 62379 return Object(preact_modulebabel_target_legacy["h"])("div", { 62380 className: SearchResults_module_default.a.noResultsContainer 62381 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62382 className: SearchResults_module_default.a.noResultsInner 62383 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62384 className: SearchResults_module_default.a.noResultsCopy 62385 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 62386 className: SearchResults_module_default.a.noResultsHeader 62387 }, t("SEARCH_NO_RESULTS_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 62388 className: SearchResults_module_default.a.noResultsP 62389 }, t("SEARCH_NO_RESULTS_DESCRIPTION", { 62390 searchTerm: searchTerm 62391 })), Object(preact_modulebabel_target_legacy["h"])("p", { 62392 className: SearchResults_module_default.a.noResultsP 62393 }, Object(preact_modulebabel_target_legacy["h"])(Transbabel_target_legacy["a" /* Trans */], { 62394 i18n: i18n, 62395 i18nKey: "SEARCH_NO_RESULTS_HINT" 62396 }, "Please check your spelling - or try searching again, using a ", Object(preact_modulebabel_target_legacy["h"])("strong", null, "station name"), ", a", " ", Object(preact_modulebabel_target_legacy["h"])("strong", null, "programme name"), ", or a", " ", Object(preact_modulebabel_target_legacy["h"])("strong", null, "place"), "."))), searchHistory && searchHistory.length > 0 && Object(preact_modulebabel_target_legacy["h"])("div", { 62397 className: SearchResults_module_default.a.searchHistory 62398 }, Object(preact_modulebabel_target_legacy["h"])(SearchHistorybabel_target_legacy["a" /* SearchHistory */], { 62399 title: t("RECENT_SEARCHES"), 62400 showSearchResults: showSearchResults 62401 })))); 62402 }; 62403 62404 var renderTabs = function renderTabs() { 62405 return Object(preact_modulebabel_target_legacy["h"])("div", { 62406 className: SearchResults_module_default.a.tabs 62407 }, Object(preact_modulebabel_target_legacy["h"])(TabBarbabel_target_legacy["a" /* TabBar */], { 62408 items: [t("LABEL_ALL_RESULTS"), t("LABEL_LIVE"), t("LABEL_ON_DEMAND")], 62409 affix: [null, " (".concat(liveSearchResults.length, ")"), " (".concat(catchUpSearchResults.length, ")")], 62410 selectedItem: selectedPanel, 62411 onChangeTab: setSelectedPanel 62412 }), Object(preact_modulebabel_target_legacy["h"])("div", { 62413 className: SearchResults_module_default.a.panel 62414 }, selectedPanel === 0 && allSearchResults.length > 0 && Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, {
62415 className: SearchResults_module_default.a.results, 62416 data: allSearchResults, 62417 renderRow: SearchResultsbabel_target_legacy_renderRow, 62418 rowHeight: 83, 62419 overscanCount: 10, 62420 sync: true 62421 }), selectedPanel === 1 && Object(preact_modulebabel_target_legacy["h"])("div", null, liveSearchResults.length > 0 ? Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 62422 className: SearchResults_module_default.a.results, 62423 data: liveSearchResults, 62424 renderRow: SearchResultsbabel_target_legacy_renderRow, 62425 rowHeight: 83, 62426 overscanCount: 10, 62427 sync: true 62428 }) : SearchResultsbabel_target_legacy_renderNoResultsPanel(t("SEARCH_NO_LIVE"))), selectedPanel === 2 && Object(preact_modulebabel_target_legacy["h"])("div", null, catchUpSearchResults.length > 0 ? Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 62429 className: SearchResults_module_default.a.results, 62430 data: catchUpSearchResults, 62431 renderRow: SearchResultsbabel_target_legacy_renderRow, 62432 rowHeight: 83, 62433 overscanCount: 10, 62434 sync: true 62435 }) : SearchResultsbabel_target_legacy_renderNoResultsPanel(t("SEARCH_NO_ON_DEMAND"))))); 62436 }; 62437 62438 return allSearchResults.length === 0 ? renderNoResults(searchTerm, state.searchHistory) : renderTabs(); 62439}; 62440// EXTERNAL MODULE: ./src/components/SearchHistory/index.ts?babel-target=legacy 62441var components_SearchHistorybabel_target_legacy = __webpack_require__(752); 62442 62443// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 62444var es_function_namebabel_target_legacy = __webpack_require__(123); 62445 62446// EXTERNAL MODULE: ./src/components/Spinner/index.ts?babel-target=legacy + 1 modules 62447var Spinnerbabel_target_legacy = __webpack_require__(236); 62448 62449// EXTERNAL MODULE: ./src/components/SearchSuggestions/SearchSuggestions.module.scss 62450var SearchSuggestions_module = __webpack_require__(96); 62451var SearchSuggestions_module_default = /*#__PURE__*/__webpack_require__.n(SearchSuggestions_module); 62452 62453// CONCATENATED MODULE: ./src/components/SearchSuggestions/SearchSuggestions.tsx?babel-target=legacy 62454 62455 62456 62457 62458 62459 62460 62461 62462var SearchSuggestionsbabel_target_legacy_renderStationRow = function render
62462StationRow(row) { 62463 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 62464 imageUrl: row.imageUrl, 62465 title: row.serviceName, 62466 url: row.url, 62467 suggestion: true 62468 }); 62469}; 62470 62471var SearchSuggestionsbabel_target_legacy_renderOnDemandRow = function renderOnDemandRow(row) { 62472 return Object(preact_modulebabel_target_legacy["h"])(ContentCardbabel_target_legacy["a" /* ContentCard */], { 62473 imageUrl: row.imageUrl, 62474 title: row.serviceName, 62475 url: row.url, 62476 description: row.name, 62477 suggestion: true 62478 }); 62479}; 62480 62481var SearchSuggestionsbabel_target_legacy_SearchSuggestions = function SearchSuggestions(_ref) { 62482 var suggestedOnDemand = _ref.suggestedOnDemand, 62483 suggestedLive = _ref.suggestedLive, 62484 searchTerm = _ref.searchTerm, 62485 handleSubmit = _ref.handleSubmit, 62486 loading = _ref.loading; 62487 62488 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 62489 t = _useTranslation.t; 62490 62491 return suggestedLive.length > 0 || suggestedOnDemand.length > 0 ? Object(preact_modulebabel_target_legacy["h"])("div", { 62492 className: SearchSuggestions_module_default.a.container 62493 }, suggestedLive.length > 0 && Object(preact_modulebabel_target_legacy["h"])("div", { 62494 className: SearchSuggestions_module_default.a.section 62495 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62496 className: SearchSuggestions_module_default.a.head 62497 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 62498 className: SearchSuggestions_module_default.a.title 62499 }, t("LABEL_SUGGESTED_STATIONS"))), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 62500 className: SearchSuggestions_module_default.a.suggestions, 62501 data: suggestedLive, 62502 renderRow: SearchSuggestionsbabel_target_legacy_renderStationRow, 62503 rowHeight: 48, 62504 overscanCount: 10, 62505 sync: true 62506 })), suggestedOnDemand.length > 0 && Object(preact_modulebabel_target_legacy["h"])("div", { 62507 className: SearchSuggestions_module_default.a.section 62508 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62509 className: SearchSuggestions_module_default.a.head 62510 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 62511 className: SearchSuggestions_module_default.a.title 62512 }, t("LABEL_SUGGESTED_ON_DEMAND"))), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 62513 className: SearchSuggestions_module_default.a.suggestions, 62514 data: suggestedOnDemand, 62515 renderRow: SearchSuggestionsbabel_target_legacy_renderOnDemandRow, 62516 rowHeight: 48, 62517 overscanCount: 10, 62518 sync: true 62519 })), (suggestedLive.length > 0 || suggestedOnDemand.length > 0) && Object(preact_modulebabel_target_legacy["h"])("button", { 62520 type: "submit", 62521 "aria-label": loading ? t("LABEL_LOADING") : t("SEARCH_SHOW_ALL_RESULTS", { 62522 searchTerm: searchTerm 62523 }), 62524 className: SearchSuggestions_module_default.a.quickSearch, 62525 onClick: function onClick(e) { 62526 handleSubmit(e, true); 62527 } 62528 }, loading ? Object(preact_modulebabel_target_legacy["h"])(Spinnerbabel_target_legacy["a" /* Spinner */], { 62529 className: SearchSuggestions_module_default.a.spinner 62530 }) : Object(preact_modulebabel_target_legacy["h"])("span", null, t("SEARCH_SHOW_ALL_RESULTS", { 62531 searchTerm: searchTerm 62532 })))) : null; 62533}; 62534// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 62535var RPIconbabel_target_legacy = __webpack_require__(42); 62536 62537// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 62538var APIManagerbabel_target_legacy = __webpack_require__(32); 62539 62540// EXTERNAL MODULE: ./src/components/SearchPanel/SearchPanel.module.scss 62541var SearchPanel_module = __webpack_require__(83); 62542var SearchPanel_module_default = /*#__PURE__*/__webpack_require__.n(SearchPanel_module); 62543 62544// EXTERNAL MODULE: ./src/lib/useIdleTimeout.ts?babel-target=legacy 62545var useIdleTimeoutbabel_target_legacy = __webpack_require__(753); 62546 62547// CONCATENATED MODULE: ./src/components/SearchPanel/SearchPanel.tsx?babel-target=legacy 62548 62549 62550 62551 62552 62553 62554 62555 62556 62557 62558 62559 62560 62561 62562 62563 62564 62565var SearchPanelbabel_target_legacy_SearchPanel = function SearchPanel(_ref) { 62566 var id = _ref.id, 62567 toggleSearch = _ref.toggleSearch, 62568 closeSearch = _ref.closeSearch; 62569 62570 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(""), 62571 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 62572 searchTerm = _useState2[0], 62573 setSearchTerm = _useState2[1]; 62574 62575 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 62576 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 62577 suggestedOnDemand = _useState4[0], 62578 setSuggestedOnDemand = _useState4[1]; 62579 62580 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 62581 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 62582 suggestedLive = _useState6[0], 62583 setSuggestedLive = _useState6[1]; 62584 62585 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 62586 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 2), 62587 allSearchResults = _useState8[0], 62588 setAllSearchResults = _useState8[1]; 62589 62590 var _useState9 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 62591 _useState10 = slicedToArraybabel_target_legacy_default()(_useState9, 2), 62592 liveSearchResults = _useState10[0], 62593 setLiveSearchResults = _useState10[1]; 62594 62595 var _useState11 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 62596 _useState12 = slicedToArraybabel_target_legacy_default()(_useState11, 2), 62597 catchUpSearchResults = _useState12[0], 62598 setCatchUpSearchResults = _useState12[1]; 62599 62600 var _useState13 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 62601 _useState14 = slicedToArraybabel_target_legacy_default()(_useState13, 2), 62602 loading = _useState14[0],
62603 setLoading = _useState14[1]; 62604 62605 var _useState15 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 62606 _useState16 = slicedToArraybabel_target_legacy_default()(_useState15, 2), 62607 error = _useState16[0], 62608 setError = _useState16[1]; 62609 62610 var _useState17 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 62611 _useState18 = slicedToArraybabel_target_legacy_default()(_useState17, 2), 62612 displayResults = _useState18[0], 62613 setDisplayResults = _useState18[1]; 62614 62615 var _useState19 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 62616 _useState20 = slicedToArraybabel_target_legacy_default()(_useState19, 2), 62617 quickSearchLoading = _useState20[0], 62618 setQuickSearchLoading = _useState20[1]; 62619 62620 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 62621 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 62622 state = _useAPI2[0], 62623 dispatch = _useAPI2[1]; 62624 62625 var searchBox = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 62626 62627 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 62628 t = _useTranslation.t; 62629 62630 Object(useIdleTimeoutbabel_target_legacy["a" /* useIdleTimeout */])(closeSearch, 30); 62631 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 62632 // Listen to close panel 62633 var escFunction = function escFunction(e) { 62634 if (e.key === "Escape") { 62635 closeSearch(); 62636 } 62637 }; 62638 62639 document.addEventListener("keydown", escFunction, false); 62640 62641 if (searchBox.current) { 62642 searchBox.current.focus(); 62643 } 62644 62645 return function () { 62646 // Close panel listener cleanup 62647 document.removeEventListener("keyup", escFunction, false); 62648 }; 62649 }, [closeSearch, searchBox]); 62650 62651 var handleChange = /*#__PURE__*/function () { 62652 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee(e) { 62653 var el, value, suggestion; 62654 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 62655 while (1) { 62656 switch (_context.prev = _context.next) { 62657 case 0: 62658 el = e.target; 62659 62660 if (el) { 62661 _context.next = 3; 62662 break; 62663 } 62664 62665 return _context.abrupt("return"); 62666 62667 case 3: 62668 value = el.value; 62669 setDisplayResults(false); 62670 setSearchTerm(value); 62671 62672 if (!(value.length === 0)) { 62673 _context.next = 10; 62674 break; 62675 } 62676 62677 setSuggestedOnDemand([]); 62678 setSuggestedLive([]); 62679 return _context.abrupt("return"); 62680 62681 case 10: 62682 _context.prev = 10; 62683 _context.next = 13; 62684 return Object(APIManagerbabel_target_legacy["A" /* stationSuggestions */])(value, state.queryProxyUrl); 62685 62686 case 13: 62687 suggestion = _context.sent; 62688 setSuggestedOnDemand(suggestion.onDemand.slice(0, 5)); 62689 setSuggestedLive(suggestion.live.slice(0, 5)); 62690 _context.next = 22; 62691 break; 62692 62693 case 18: 62694 _context.prev = 18; 62695 _context.t0 = _context["catch"](10); 62696 setSuggestedOnDemand([]); 62697 setSuggestedLive([]); 62698 62699 case 22: 62700 case "end": 62701 return _context.stop(); 62702 } 62703 } 62704 }, _callee, null, [[10, 18]]); 62705 })); 62706 62707 return function handleChange(_x) { 62708 return _ref2.apply(this, arguments); 62709 }; 62710 }(); 62711 62712 var showSearchResults = /*#__PURE__*/function () { 62713 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2(term, quickSearchLoading) { 62714 var _yield$searchStations, results, allResults, liveResults, catchUpResults, group, resultGroup, item; 62715 62716 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 62717 while (1) { 62718 switch (_context2.prev = _context2.next) { 62719 case 0: 62720 // Search term has to be set to populate search box 62721 setSearchTerm(term); 62722 62723 if (quickSearchLoading) { 62724 setQuickSearchLoading(true); 62725 } else {
62726 setLoading(true); 62727 } 62728 62729 _context2.prev = 2; 62730 _context2.next = 5; 62731 return Object(APIManagerbabel_target_legacy["v" /* searchStations */])(term, state.queryProxyUrl); 62732 62733 case 5: 62734 _yield$searchStations = _context2.sent; 62735 results = _yield$searchStations.results; 62736 allResults = []; 62737 liveResults = []; 62738 catchUpResults = []; 62739 62740 for (group in results) { 62741 resultGroup = results[group].results; 62742 62743 for (item in resultGroup) { 62744 allResults.push(resultGroup[item]); 62745 62746 if (resultGroup[item].type === "SI" || resultGroup[item].type === "PI" || resultGroup[item].type === "PE_E") { 62747 liveResults.push(resultGroup[item]); 62748 } 62749 62750 if (resultGroup[item].type === "OD" || resultGroup[item].type === "PI_OD") { 62751 catchUpResults.push(resultGroup[item]); 62752 } 62753 } 62754 } 62755 62756 setAllSearchResults(allResults); 62757 setLiveSearchResults(liveResults); 62758 setCatchUpSearchResults(catchUpResults); 62759 setError(false); 62760 setDisplayResults(true); 62761 setLoading(false); 62762 setQuickSearchLoading(false); // Save search term if results are returned 62763 62764 if (allResults.length > 0) { 62765 dispatch({ 62766 type: "SET_SEARCH_TERM", 62767 payload: term 62768 }); 62769 } 62770 62771 _context2.next = 32; 62772 break; 62773 62774 case 21: 62775 _context2.prev = 21; 62776 _context2.t0 = _context2["catch"](2); 62777 setSuggestedOnDemand([]); 62778 setSuggestedLive([]); 62779 setAllSearchResults([]); 62780 setLiveSearchResults([]); 62781 setCatchUpSearchResults([]); 62782 setLoading(false); 62783 setQuickSearchLoading(false); 62784 setError(true); 62785 setDisplayResults(false); 62786 62787 case 32: 62788 case "end": 62789 return _context2.stop(); 62790 } 62791 } 62792 }, _callee2, null, [[2, 21]]); 62793 })); 62794 62795 return function showSearchResults(_x2, _x3) { 62796 return _ref3.apply(this, arguments); 62797 }; 62798 }(); 62799 62800 var handleSubmit = function handleSubmit(e, quickSearchLoading) { 62801 if (e) { 62802 e.preventDefault(); 62803 } 62804 62805 showSearchResults(searchTerm, quickSearchLoading); 62806 }; 62807 62808 var renderError = function renderError() { 62809 return Object(preact_modulebabel_target_legacy["h"])("div", { 62810 className: SearchPanel_module_default.a.errorContainer 62811 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62812 className: SearchPanel_module_default.a.errorInner 62813 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 62814 className: SearchPanel_module_default.a.errorTitle 62815 }, t("SEARCH_ERROR_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 62816 className: SearchPanel_module_default.a.errorText 62817 }, t("SEARCH_ERROR_DESCRIPTION")))); 62818 }; 62819 62820 return Object(preact_modulebabel_target_legacy["h"])("div", { 62821 className: SearchPanel_module_default.a.wrap 62822 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62823 className: SearchPanel_module_default.a.header 62824 }, Object(preact_modulebabel_target_legacy["h"])("div", { 62825 className: SearchPanel_module_default.a.title 62826 }, t("LABEL_SEARCH_FULL")), Object(preact_modulebabel_target_legacy["h"])("button", { 62827 "aria-label": t("ARIA_CLOSE"), 62828 type: "submit", 62829 className: SearchPanel_module_default.a.button, 62830 onClick: toggleSearch 62831 }, t("BUTTON_CLOSE"), Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62832 src: __webpack_require__(730), 62833 "aria-hidden": true 62834 }))), Object(preact_modulebabel_target_legacy["h"])("form", { 62835 className: SearchPanel_module_default.a.searchForm, 62836 onSubmit: handleSubmit 62837 }, Object(preact_modulebabel_target_legacy["h"])("input", { 62838 className: SearchPanel_module_default.a.input, 62839 placeholder: t("PLACEHOLDER_SEARCH"), 62840 autoComplete: "off", 62841 value: searchTerm, 62842 type: "text", 62843 onChange: handleChange, 62844 ref: searchBox, 62845 required: true 62846 }), loading ? Object(preact_modulebabel_target_legacy["h"])(Spinnerbabel_target_legacy["a" /* Spinner */], { 62847 className: SearchPanel_module_default.a.spinner 62848 }) : Object(preact_modulebabel_target_legacy["h"])("button", { 62849 "aria-label": t("SEARCH_SHOW_ALL_RESULTS", { 62850 searchTerm: searchTerm 62851 }), 62852 type: "submit", 62853 disabled: loading, 62854 className: SearchPanel_module_default.a.button 62855 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 62856 src: __webpack_require__(468), 62857 "aria-hidden": true 62858 }))), error && renderError(), displayResults ? Object(preact_modulebabel_target_legacy["h"])(SearchResultsbabel_target_legacy_SearchResults, { 62859 liveSearchResults: liveSearchResults, 62860 catchUpSearchResults: catchUpSearchResults, 62861 allSearchResults: allSearchResults, 62862 searchTerm: searchTerm, 62863 showSearchResults: showSearchResults 62864 }) : searchTerm.length > 0 ? Object(preact_modulebabel_target_legacy["h"])(SearchSuggestionsbabel_target_legacy_SearchSuggestions, { 62865 suggestedOnDemand: suggestedOnDemand, 62866 suggestedLive: suggestedLive, 62867 searchTerm: searchTerm, 62868 handleSubmit: handleSubmit, 62869 loading: quickSearchLoading 62870 }) : Object(preact_modulebabel_target_legacy["h"])("div", { 62871 className: SearchPanel_module_default.a.searchPanelContainer 62872 }, state.searchHistory && state.searchHistory.length > 0 && Object(preact_modulebabel_target_legacy["h"])(components_SearchHistorybabel_target_legacy["a" /* SearchHistory */], { 62873 title: t("RECENT_SEARCHES"), 62874 showSearchResults: showSearchResults 62875 }))); 62876}; 62877// CONCATENATED MODULE: ./src/components/SearchPanel/index.ts?babel-target=legacy 62878 62879 62880/***/ }), 62881/* 967 */, 62882/* 968 */, 62883/* 969 */ 62884/***/ (function(module, __webpack_exports__, __webpack_require__) { 62885 62886"use strict"; 62887 62888// EXPORTS 62889__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ CookieBannerbabel_target_legacy_CookieBanner; }); 62890 62891// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 62892var es_symbolbabel_target_legacy = __webpack_require__(71); 62893 62894// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js?babel-target=legacy 62895var es_symbol_descriptionbabel_target_legacy = __webpack_require__(199); 62896 62897// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js?babel-target=legacy 62898var es_array_findbabel_target_legacy = __webpack_require__(182); 62899 62900// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js?babel-target=legacy 62901var es_array_includesbabel_target_legacy = __webpack_require__(124); 62902 62903// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 62904var es_function_namebabel_target_legacy = __webpack_require__(123); 62905 62906// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js?babel-target=legacy 62907var es_string_includesbabel_target_legacy = __webpack_require__(140); 62908
62909// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 62910var definePropertybabel_target_legacy = __webpack_require__(15); 62911var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 62912 62913// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 62914var regenerator_babel_target_legacy = __webpack_require__(6); 62915var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 62916 62917// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 62918var runtimebabel_target_legacy = __webpack_require__(60); 62919 62920// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 62921var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 62922var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 62923 62924// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 62925var slicedToArraybabel_target_legacy = __webpack_require__(8); 62926var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 62927 62928// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 62929var preact_modulebabel_target_legacy = __webpack_require__(1); 62930 62931// EXTERNAL MODULE: ./src/components/CookieBanner/CookieBanner.module.scss 62932var CookieBanner_module = __webpack_require__(40); 62933var CookieBanner_module_default = /*#__PURE__*/__webpack_require__.n(CookieBanner_module); 62934 62935// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 62936var hooks_modulebabel_target_legacy = __webpack_require__(4); 62937 62938// EXTERNAL MODULE: ./src/components/ToggleSwitch/index.ts?babel-target=legacy + 1 modules 62939var ToggleSwitchbabel_target_legacy = __webpack_require__(488); 62940 62941// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 62942var useAPIbabel_target_legacy = __webpack_require__(44); 62943 62944// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 62945var APIManagerbabel_target_legacy = __webpack_require__(32); 62946 62947// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 62948var RPIconbabel_target_legacy = __webpack_require__(42); 62949 62950// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 62951var classnames_babel_target_legacy = __webpack_require__(27); 62952var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 62953 62954// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 62955var loggerbabel_target_legacy = __webpack_require__(10); 62956 62957// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 62958var es_babel_target_legacy = __webpack_require__(25); 62959 62960// EXTERNAL MODULE: ./src/lib/Trans/Trans.js?babel-target=legacy + 2 modules 62961var Transbabel_target_legacy = __webpack_require__(333); 62962 62963// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 62964var utilsbabel_target_legacy = __webpack_require__(48); 62965 62966// EXTERNAL MODULE: ./src/lib/Analytics/AnalyticsContext.ts?babel-target=legacy 62967var AnalyticsContextbabel_target_legacy = __webpack_require__(268); 62968 62969// CONCATENATED MODULE: ./src/components/CookieBanner/CookieBanner.tsx?babel-target=legacy 62970 62971 62972 62973 62974 62975 62976 62977 62978 62979 62980 62981 62982/* eslint-disable react/jsx-no-literals */ 62983 62984 62985 62986 62987 62988 62989 62990 62991 62992 62993 62994 62995 62996var CookieBannerbabel_target_legacy_CookieBanner = function CookieBanner(_ref) { 62997 var adProviders = _ref.adProviders; 62998 62999 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 63000 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 63001 state = _useAPI2[0], 63002 dispatch = _useAPI2[1]; 63003 63004 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 63005 t = _useTranslation.t, 63006 i18n = _useTranslation.i18n; // const policy = getCookiePolicy(state.cookie) 63007 63008 63009 var _useContext = Object(hooks_modulebabel_target_legacy["b" /* useContext */])(AnalyticsContextbabel_target_legacy["a" /* AnalyticsContext */]), 63010 updateAlPermissions = _useContext.updateAlPermissions; 63011 63012 var tcString = state.tcString; 63013 63014 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 63015 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 63016 show = _useState2[0], 63017 setShow = _useState2[1]; 63018 63019 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 63020 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2),
63021 showDetails = _useState4[0], 63022 setShowDetails = _useState4[1]; 63023 63024 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 63025 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 63026 enabledFunctional = _useState6[0], 63027 setEnabledFunctional = _useState6[1]; 63028 63029 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 63030 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 2), 63031 enabledPerformance = _useState8[0], 63032 setEnabledPerformance = _useState8[1]; 63033 63034 var _useState9 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(tcString !== false), 63035 _useState10 = slicedToArraybabel_target_legacy_default()(_useState9, 2), 63036 cmpInUse = _useState10[0], 63037 setCmpInUse = _useState10[1]; 63038 63039 var toggleDetails = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 63040 return setShowDetails(function (enabled) { 63041 return !enabled; 63042 }); 63043 }, []); 63044 var savePolicy = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 63045 window.ANALYTICS_ALLOWED = enabledPerformance; 63046 updateAlPermissions(); 63047 var payload = Object(APIManagerbabel_target_legacy["c" /* buildCookiePolicy */])(true, enabledFunctional, enabledPerformance); 63048 dispatch({ 63049 type: "SET_COOKIE_POLICY", 63050 payload: payload 63051 }); 63052 setShow(false); 63053 }, [enabledPerformance, updateAlPermissions, enabledFunctional, dispatch]); 63054 var acceptAll = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 63055 window.ANALYTICS_ALLOWED = true; 63056 updateAlPermissions(); 63057 dispatch({ 63058 type: "SET_COOKIE_POLICY", 63059 payload: "111" 63060 }); 63061 setShow(false); 63062 }, [dispatch, updateAlPermissions]); 63063 var rejectAll = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 63064 window.ANALYTICS_ALLOWED = false; 63065 updateAlPermissions(); 63066 var payload = Object(APIManagerbabel_target_legacy["c" /* buildCookiePolicy */])(true, false, false); 63067 dispatch({ 63068 type: "SET_COOKIE_POLICY", 63069 payload: payload 63070 }); 63071 setShow(false); 63072 }, [dispatch, updateAlPermissions]); 63073 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 63074 // tcString is only set to false if CMP hasnt been passed or hansnt returned a tcString 63075 setCmpInUse(tcString !== false); 63076 }, [tcString]); 63077 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 63078 var getCmpConsent = /*#__PURE__*/function () { 63079 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 63080 var getNonIabConsents; 63081 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 63082 while (1) { 63083 switch (_context.prev = _context.next) { 63084 case 0: 63085 getNonIabConsents = function getNonIabConsents() { 63086 var serv = window.UC_UI.getServicesBaseInfo(); 63087 var rpConsent = serv.find(function (s) { 63088 return s.name === "Radioplayer"; 63089 }); 63090 var consentedTo = rpConsent.consent.status; 63091 var payload = Object(APIManagerbabel_target_legacy["c" /* buildCookiePolicy */])(true, consentedTo, consentedTo); 63092 dispatch({ 63093 type: "SET_COOKIE_POLICY", 63094 payload: payload 63095 }); 63096 setShow(false); 63097 }; 63098 63099 if (window.UC_UI && window.UC_UI.isInitialized()) { 63100 getNonIabConsents(); 63101 } else { 63102 window.addEventListener("UC_UI_INITIALIZED", function (e) { 63103 getNonIabConsents(); 63104 }); 63105 } 63106 63107 case 2: 63108 case "end": 63109 return _context.stop(); 63110 } 63111 } 63112 }, _callee); 63113 })); 63114 63115 return function getCmpConsent() { 63116 return _ref2.apply(this, arguments); 63117 }; 63118 }(); 63119 63120 getCmpConsent(); 63121 }
63121, [dispatch, state, state.tcString]); 63122 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 63123 if (cmpInUse) { 63124 // only shop the RP banner if theres no CMP 63125 setShow(false); 63126 return; 63127 } 63128 63129 var getGlobalCookies = /*#__PURE__*/function () { 63130 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2(cookie) { 63131 var policy, payload; 63132 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 63133 while (1) { 63134 switch (_context2.prev = _context2.next) { 63135 case 0: 63136 _context2.prev = 0; 63137 _context2.next = 3; 63138 return Object(APIManagerbabel_target_legacy["d" /* decodeConsent */])(cookie); 63139 63140 case 3: 63141 policy = _context2.sent; 63142 63143 if (policy && policy.allowedPurposeIds.includes(1)) { 63144 payload = Object(APIManagerbabel_target_legacy["c" /* buildCookiePolicy */])(true, policy.allowedPurposeIds.includes(2), policy.allowedPurposeIds.includes(4)); 63145 dispatch({ 63146 type: "SET_COOKIE_POLICY", 63147 payload: payload 63148 }); 63149 setShow(false); 63150 } 63151 63152 _context2.next = 10; 63153 break; 63154 63155 case 7: 63156 _context2.prev = 7; 63157 _context2.t0 = _context2["catch"](0); 63158 Object(loggerbabel_target_legacy["e" /* warn */])("IAB cookie error", _context2.t0); 63159 63160 case 10: 63161 case "end": 63162 return _context2.stop(); 63163 } 63164 } 63165 }, _callee2, null, [[0, 7]]); 63166 })); 63167 63168 return function getGlobalCookies(_x) { 63169 return _ref3.apply(this, arguments); 63170 }; 63171 }(); // Initial display state of banner 63172 63173 63174 var hideCookieBanner = localStorage.getItem("hideCookieBanner") || state.disableCookieBanner; 63175 setShow(!hideCookieBanner); 63176 var cookies = Object(APIManagerbabel_target_legacy["u" /* retrieveCookies */])(); 63177 63178 if (state.bbcCookies) { 63179 if (!cookies.ckns_explicit || !cookies.ckns_policy) { 63180 // set initial cookies 63181 Object(APIManagerbabel_target_legacy["w" /* setBbcCookies */])(); 63182 } // BBC cookies already set 63183 63184 63185 if (cookies.ckns_policy !== "000") { 63186 setShow(false); 63187 localStorage.setItem("hideCookieBanner", "true"); 63188 } 63189 } else if (cookies["global-consent"]) { 63190 getGlobalCookies(cookies["global-consent"]); 63191 } 63192 }, [dispatch, state.bbcCookies, state.disableCookieBanner, cmpInUse]); 63193 return cmpInUse ? null : Object(preact_modulebabel_target_legacy["h"])("section", { 63194 className: classnames_babel_target_legacy_default()(CookieBanner_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, CookieBanner_module_default.a.hide, !show || state.cookie.announcement)), 63195 "aria-hidden": !show 63196 }, Object(preact_modulebabel_target_legacy["h"])("div", { 63197 className: CookieBanner_module_default.a.inner 63198 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 63199 className: CookieBanner_module_default.a.title 63200 }, t("COOKIEBANNER_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 63201 className: CookieBanner_module_default.a.body 63202 }, t("COOKIEBANNER_INTRO")), showDetails && Object(preact_modulebabel_target_legacy["h"])("div", null, Object(preact_modulebabel_target_legacy["h"])("div", { 63203 className: CookieBanner_module_default.a.settingsRow 63204 }, Object(preact_modulebabel_target_legacy["h"])("div", { 63205 className: CookieBanner_module_default.a.name 63206 }, t("COOKIEBANNER_NECESSARY_TITLE")), Object(preact_modulebabel_target_legacy["h"])("div", { 63207 className: CookieBanner_module_default.a.toggle 63208 }, Object(preact_modulebabel_target_legacy["h"])("span", null)), Object(preact_modulebabel_target_legacy["h"])("div", { 63209 className: CookieBanner_module_default.a.toggleLabel 63210 }, t("COOKIEBANNER_ALWAYS_ON")), Object(preact_modulebabel_target_legacy["h"])("div", { 63211 className: CookieBanner_module_default.a.description 63212 }, t("COOKIEBANNER_NECESSARY_DESCRIPTION"))), Object(preact_modulebabel_target_legacy["h"])("div", { 63213 className: CookieBanner_module_default.a.settingsRow 63214 }, Object(preact_modulebabel_target_legacy["h"])("div", { 63215 className: CookieBanner_module_default.a.name 63216 }, t("COOKIEBANNER_FUNCTIONAL_TITLE")), Object(preact_modulebabel_target_legacy["h"])("div", { 63217 className: CookieBanner_module_default.a.toggle 63218 }, Object(preact_modulebabel_target_legacy["h"])(ToggleSwitchbabel_target_legacy["a" /* ToggleSwitch */], { 63219 enabled: enabledFunctional, 63220 onChange: setEnabledFunctional 63221 })), Object(preact_modulebabel_target_legacy["h"])("div", { 63222 className: CookieBanner_module_default.a.toggleLabel 63223 }, enabledFunctional ? t("BUTTON_ON") : t("BUTTON_OFF")), Object(preact_modulebabel_target_legacy["h"])("div", { 63224 className: CookieBanner_module_default.a.description 63225 }, t("COOKIEBANNER_FUNCTIONAL_DESCRIPTION"))), Object(preact_modulebabel_target_legacy["h"])("div", { 63226 className: CookieBanner_module_default.a.settingsRow 63227 }, Object(preact_modulebabel_target_legacy["h"])("div", { 63228 className: CookieBanner_module_default.a.name 63229 }, t("COOKIEBANNER_PERFORMANCE_TITLE")), Object(preact_modulebabel_target_legacy["h"])("div", { 63230 className: CookieBanner_module_default.a.toggle 63231 }, Object(preact_modulebabel_target_legacy["h"])(ToggleSwitchbabel_target_legacy["a" /* ToggleSwitch */], { 63232 enabled: enabledPerformance, 63233 onChange: setEnabledPerformance 63234 })), Object(preact_modulebabel_target_legacy["h"])("div", { 63235 className: CookieBanner_module_default.a.toggleLabel 63236 }, enabledPerformance ? t("BUTTON_ON") : t("BUTTON_OFF")), Object(preact_modulebabel_target_legacy["h"])("div", { 63237 className: CookieBanner_module_default.a.description 63238 }, t("COOKIEBANNER_PERFORMANCE_DESCRIPTION")))), Object(preact_modulebabel_target_legacy["h"])("div", { 63239 className: CookieBanner_module_default.a.buttons 63240 }, Object(preact_modulebabel_target_legacy["h"])("button", { 63241 className: CookieBanner_module_default.a.accept,
63242 onClick: showDetails ? savePolicy : acceptAll 63243 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 63244 src: __webpack_require__(882) 63245 }), " ", showDetails ? t("BUTTON_SAVE_SETTINGS") : t("BUTTON_YES_AGREE")), Object(preact_modulebabel_target_legacy["h"])("button", { 63246 className: CookieBanner_module_default.a.reject, 63247 onClick: rejectAll 63248 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 63249 src: __webpack_require__(883) 63250 }), " ", t("COOKIEBANNER_DENY_ALL")), Object(preact_modulebabel_target_legacy["h"])("button", { 63251 className: CookieBanner_module_default.a.settingsButton, 63252 onClick: toggleDetails 63253 }, showDetails ? t("COOKIEBANNER_HIDE_SETTINGS") : t("COOKIEBANNER_SHOW_SETTINGS"))), Object(preact_modulebabel_target_legacy["h"])("p", { 63254 className: CookieBanner_module_default.a.policy 63255 }, Object(preact_modulebabel_target_legacy["h"])(Transbabel_target_legacy["a" /* Trans */], { 63256 i18nKey: "COOKIE_BANNER_DISCLAIMER", 63257 i18n: i18n 63258 }, "Read our", Object(preact_modulebabel_target_legacy["h"])("a", { 63259 href: adProviders ? Object(utilsbabel_target_legacy["b" /* decorateUrl */])(t("URL_PRIVACY_POLICY"), [["rpadproviders", adProviders || ""]]) : t("URL_PRIVACY_POLICY"), 63260 target: "_blank", 63261 rel: "noopener noreferrer" 63262 }, "Privacy"), "and", Object(preact_modulebabel_target_legacy["h"])("a", { 63263 href: adProviders ? Object(utilsbabel_target_legacy["b" /* decorateUrl */])(t("URL_COOKIE_SETTINGS"), [["rpadproviders", adProviders || ""]]) : t("URL_COOKIE_SETTINGS"), 63264 target: "_blank", 63265 rel: "noopener noreferrer" 63266 }, "Cookies Policy"), "to know what this means for you and your data.")))); 63267}; 63268/* harmony default export */ var CookieBannerbabel_target_legacy = (CookieBannerbabel_target_legacy_CookieBanner); 63269// CONCATENATED MODULE: ./src/components/CookieBanner/index.ts?babel-target=legacy 63270 63271 63272/***/ }), 63273/* 970 */ 63274/***/ (function(module, __webpack_exports__, __webpack_require__) { 63275 63276"use strict"; 63277 63278// EXPORTS 63279__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ AnnouncementBannerbabel_target_legacy_AnnouncementBanner; }); 63280 63281// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 63282var definePropertybabel_target_legacy = __webpack_require__(15); 63283var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 63284 63285// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 63286var slicedToArraybabel_target_legacy = __webpack_require__(8); 63287var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 63288 63289// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 63290var preact_modulebabel_target_legacy = __webpack_require__(1); 63291 63292// EXTERNAL MODULE: ./src/components/AnnouncementBanner/AnnouncementBanner.module.scss 63293var AnnouncementBanner_module = __webpack_require__(143); 63294var AnnouncementBanner_module_default = /*#__PURE__*/__webpack_require__.n(AnnouncementBanner_module); 63295 63296// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 63297var classnames_babel_target_legacy = __webpack_require__(27); 63298var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 63299 63300// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 63301var es_babel_target_legacy = __webpack_require__(25); 63302 63303// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 63304var useAPIbabel_target_legacy = __webpack_require__(44); 63305 63306// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 63307var hooks_modulebabel_target_legacy = __webpack_require__(4); 63308 63309// CONCATENATED MODULE: ./src/components/AnnouncementBanner/AnnouncementBanner.tsx?babel-target=legacy 63310 63311 63312 63313 63314 63315 63316 63317 63318var AnnouncementBannerbabel_target_legacy_AnnouncementBanner = function AnnouncementBanner() { 63319 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 63320 t = _useTranslation.t; 63321 63322 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 63323 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 2), 63324 state = _useAPI2[0], 63325 dispatch = _useAPI2[1]; 63326 63327 var hideBanner = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 63328 dispatch({ 63329 type: "HIDE_ANNOUNCEMENT", 63330 payload: "" 63331 }); 63332 }
63332, [dispatch]); 63333 var announcement = state.cookie.announcement && state.cookie.announcement.text; 63334 return Object(preact_modulebabel_target_legacy["h"])("section", { 63335 className: classnames_babel_target_legacy_default()(AnnouncementBanner_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, AnnouncementBanner_module_default.a.hide, !announcement)), 63336 role: "status", 63337 "aria-hidden": !announcement 63338 }, Object(preact_modulebabel_target_legacy["h"])("div", { 63339 className: AnnouncementBanner_module_default.a.inner 63340 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 63341 className: AnnouncementBanner_module_default.a.title 63342 }, t("ANNOUNCEMENT_TITLE")), Object(preact_modulebabel_target_legacy["h"])("p", { 63343 className: AnnouncementBanner_module_default.a.body 63344 }, announcement), Object(preact_modulebabel_target_legacy["h"])("div", { 63345 className: AnnouncementBanner_module_default.a.buttons 63346 }, Object(preact_modulebabel_target_legacy["h"])("button", { 63347 className: AnnouncementBanner_module_default.a.accept, 63348 onClick: hideBanner 63349 }, t("BUTTON_ANNOUNCEMENT"))))); 63350}; 63351/* harmony default export */ var AnnouncementBannerbabel_target_legacy = (AnnouncementBannerbabel_target_legacy_AnnouncementBanner); 63352// CONCATENATED MODULE: ./src/components/AnnouncementBanner/index.ts?babel-target=legacy 63353 63354 63355/***/ }), 63356/* 971 */, 63357/* 972 */, 63358/* 973 */, 63359/* 974 */ 63360/***/ (function(module, exports) { 63361 63362module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.083 33c-1.653 0-3-1.347-3-3 0-1.655 1.347-3 3-3 1.654 0 3 1.345 3 3 0 1.653-1.346 3-3 3zm-16 5c-1.653 0-3-1.347-3-3 0-1.655 1.347-3 3-3 1.654 0 3 1.345 3 3 0 1.653-1.346 3-3 3zm3.667-22.37l18-6.63v21c0 3.312-2.561 6-5.875 6C21.562 36 19 33.312 19 30c0-3.314 2.603-6 5.916-6 1.54 0 2.834.583 3.834 1.536v-7.182l-14 5.266V35c0 3.312-2.561 6-5.875 6C5.562 41 3 38.312 3 35c0-3.314 2.603-6 5.916-6 1.54 0 2.834.583 3.834 1.536V15.63zm34.333 4.855L42.569 25l4.514 4.513L45.597 31l-4.514-4.515L36.569 31l-1.486-1.487L39.597 25l-4.514-4.515L36.569 19l4.514 4.513L45.597 19l1.486 1.485z\" fill=\"#020203\" fill-rule=\"evenodd\"></path></svg>" 63363 63364/***/ }), 63365/* 975 */, 63366/* 976 */, 63367/* 977 */, 63368/* 978 */, 63369/* 979 */, 63370/* 980 */, 63371/* 981 */, 63372/* 982 */, 63373/* 983 */ 63374/***/ (function(module, exports, __webpack_require__) { 63375 63376/* WEBPACK VAR INJECTION */(function(global, module) {/** 63377 * lodash (Custom Build) <https://lodash.com/> 63378 * Build: `lodash modularize exports="npm" -o ./` 63379 * Copyright jQuery Foundation and other contributors <https://jquery.org/> 63380 * Released under MIT license <https://lodash.com/license> 63381 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> 63382 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 63383 */ 63384 63385/** Used as the size to enable large array optimizations. */ 63386var LARGE_ARRAY_SIZE = 200; 63387 63388/** Used to stand-in for `undefined` hash values. */ 63389var HASH_UNDEFINED = '__lodash_hash_undefined__'; 63390 63391/** Used as references for various `Number` constants. */ 63392var MAX_SAFE_INTEGER = 9007199254740991; 63393 63394/** `Object#toString` result references. */ 63395var argsTag = '[object Arguments]', 63396 arrayTag = '[object Array]', 63397 boolTag = '[object Boolean]', 63398 dateTag = '[object Date]', 63399 errorTag = '[object Error]', 63400 funcTag = '[object Function]', 63401 genTag = '[object GeneratorFunction]', 63402 mapTag = '[object Map]', 63403 numberTag = '[object Number]', 63404 objectTag = '[object Object]', 63405 promiseTag = '[object Promise]', 63406 regexpTag = '[object RegExp]', 63407 setTag = '[object Set]', 63408 stringTag = '[object String]', 63409 symbolTag = '[object Symbol]', 63410 weakMapTag = '[object WeakMap]'; 63411 63412var arrayBufferTag = '[object ArrayBuffer]', 63413 dataViewTag = '[object DataView]', 63414 float32Tag = '[object Float32Array]', 63415 float64Tag = '[object Float64Array]', 63416 int8Tag = '[object Int8Array]', 63417 int16Tag = '[object Int16Array]', 63418 int32Tag = '[object Int32Array]', 63419 uint8Tag = '[object Uint8Array]', 63420 uint8ClampedTag = '[object Uint8ClampedArray]', 63421 uint16Tag = '[object Uint16Array]', 63422 uint32Tag = '[object Uint32Array]'; 63423 63424/** 63425 * Used to match `RegExp` 63426 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 63427 */ 63428var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; 63429 63430/** Used to match `RegExp` flags from their coerced string values. */ 63431var reFlags = /\w*$/; 63432 63433/** Used to detect host constructors (Safari). */ 63434var reIsHostCtor = /^\[object .+?Constructor\]$/; 63435 63436/** Used to detect unsigned integer values. */ 63437var reIsUint = /^(?:0|[1-9]\d*)$/; 63438 63439/** Used to identify `toStringTag` values supported by `_.clone`. */ 63440var cloneableTags = {}; 63441cloneableTags[argsTag] = cloneableTags[arrayTag] =
vendor: 34,804 bytes, lines 63442-64762
63442cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = 63443cloneableTags[boolTag] = cloneableTags[dateTag] = 63444cloneableTags[float32Tag] = cloneableTags[float64Tag] = 63445cloneableTags[int8Tag] = cloneableTags[int16Tag] = 63446cloneableTags[int32Tag] = cloneableTags[mapTag] = 63447cloneableTags[numberTag] = cloneableTags[objectTag] = 63448cloneableTags[regexpTag] = cloneableTags[setTag] = 63449cloneableTags[stringTag] = cloneableTags[symbolTag] = 63450cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = 63451cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; 63452cloneableTags[errorTag] = cloneableTags[funcTag] = 63453cloneableTags[weakMapTag] = false; 63454 63455/** Detect free variable `global` from Node.js. */ 63456var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 63457 63458/** Detect free variable `self`. */ 63459var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 63460 63461/** Used as a reference to the global object. */ 63462var root = freeGlobal || freeSelf || Function('return this')(); 63463 63464/** Detect free variable `exports`. */ 63465var freeExports = true && exports && !exports.nodeType && exports; 63466 63467/** Detect free variable `module`. */ 63468var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 63469 63470/** Detect the popular CommonJS extension `module.exports`. */ 63471var moduleExports = freeModule && freeModule.exports === freeExports; 63472 63473/** 63474 * Adds the key-value `pair` to `map`. 63475 * 63476 * @private 63477 * @param {Object} map The map to modify. 63478 * @param {Array} pair The key-value pair to add. 63479 * @returns {Object} Returns `map`. 63480 */ 63481function addMapEntry(map, pair) { 63482 // Don't return `map.set` because it's not chainable in IE 11. 63483 map.set(pair[0], pair[1]); 63484 return map; 63485} 63486 63487/** 63488 * Adds `value` to `set`. 63489 * 63490 * @private 63491 * @param {Object} set The set to modify. 63492 * @param {*} value The value to add. 63493 * @returns {Object} Returns `set`. 63494 */ 63495function addSetEntry(set, value) { 63496 // Don't return `set.add` because it's not chainable in IE 11. 63497 set.add(value); 63498 return set; 63499} 63500 63501/** 63502 * A specialized version of `_.forEach` for arrays without support for 63503 * iteratee shorthands. 63504 * 63505 * @private 63506 * @param {Array} [array] The array to iterate over. 63507 * @param {Function} iteratee The function invoked per iteration. 63508 * @returns {Array} Returns `array`. 63509 */ 63510function arrayEach(array, iteratee) { 63511 var index = -1, 63512 length = array ? array.length : 0; 63513 63514 while (++index < length) { 63515 if (iteratee(array[index], index, array) === false) { 63516 break; 63517 } 63518 } 63519 return array; 63520} 63521 63522/** 63523 * Appends the elements of `values` to `array`. 63524 * 63525 * @private 63526 * @param {Array} array The array to modify. 63527 * @param {Array} values The values to append. 63528 * @returns {Array} Returns `array`. 63529 */ 63530function arrayPush(array, values) { 63531 var index = -1, 63532 length = values.length, 63533 offset = array.length; 63534 63535 while (++index < length) { 63536 array[offset + index] = values[index]; 63537 } 63538 return array; 63539} 63540 63541/** 63542 * A specialized version of `_.reduce` for arrays without support for 63543 * iteratee shorthands. 63544 * 63545 * @private 63546 * @param {Array} [array] The array to iterate over. 63547 * @param {Function} iteratee The function invoked per iteration. 63548 * @param {*} [accumulator] The initial value. 63549 * @param {boolean} [initAccum] Specify using the first element of `array` as 63550 * the initial value. 63551 * @returns {*} Returns the accumulated value. 63552 */ 63553function arrayReduce(array, iteratee, accumulator, initAccum) { 63554 var index = -1, 63555 length = array ? array.length : 0; 63556 63557 if (initAccum && length) { 63558 accumulator = array[++index]; 63559 } 63560 while (++index < length) { 63561 accumulator = iteratee(accumulator, array[index], index, array); 63562 } 63563 return accumulator; 63564} 63565 63566/** 63567 * The base implementation of `_.times` without support for iteratee shorthands 63568 * or max array length checks. 63569 * 63570 * @private 63571 * @param {number} n The number of times to invoke `iteratee`. 63572 * @param {Function} iteratee The function invoked per iteration. 63573 * @returns {Array} Returns the array of results. 63574 */ 63575function baseTimes(n, iteratee) { 63576 var index = -1, 63577 result = Array(n); 63578 63579 while (++index < n) { 63580 result[index] = iteratee(index); 63581 } 63582 return result; 63583} 63584 63585/** 63586 * Gets the value at `key` of `object`. 63587 * 63588 * @private 63589 * @param {Object} [object] The object to query. 63590 * @param {string} key The key of the property to get. 63591 * @returns {*} Returns the property value. 63592 */ 63593function getValue(object, key) { 63594 return object == null ? undefined : object[key]; 63595} 63596 63597/** 63598 * Checks if `value` is a host object in IE < 9. 63599 * 63600 * @private 63601 * @param {*} value The value to check. 63602 * @returns {boolean} Returns `true` if `value` is a host object, else `false`. 63603 */ 63604function isHostObject(value) { 63605 // Many host objects are `Object` objects that can coerce to strings 63606 // despite having improperly defined `toString` methods. 63607 var result = false; 63608 if (value != null && typeof value.toString != 'function') { 63609 try { 63610 result = !!(value + ''); 63611 } catch (e) {} 63612 } 63613 return result; 63614} 63615 63616/** 63617 * Converts `map` to its key-value pairs. 63618 * 63619 * @private 63620 * @param {Object} map The map to convert. 63621 * @returns {Array} Returns the key-value pairs. 63622 */ 63623function mapToArray(map) { 63624 var index = -1, 63625 result = Array(map.size); 63626 63627 map.forEach(function(value, key) { 63628 result[++index] = [key, value]; 63629 }); 63630 return result; 63631} 63632 63633/** 63634 * Creates a unary function that invokes `func` with its argument transformed. 63635 * 63636 * @private 63637 * @param {Function} func The function to wrap. 63638 * @param {Function} transform The argument transform. 63639 * @returns {Function} Returns the new function. 63640 */ 63641function overArg(func, transform) { 63642 return function(arg) { 63643 return func(transform(arg)); 63644 }; 63645} 63646 63647/** 63648 * Converts `set` to an array of its values. 63649 * 63650 * @private 63651 * @param {Object} set The set to convert. 63652 * @returns {Array} Returns the values. 63653 */ 63654function setToArray(set) { 63655 var index = -1, 63656 result = Array(set.size); 63657 63658 set.forEach(function(value) { 63659 result[++index] = value; 63660 }); 63661 return result; 63662} 63663 63664/** Used for built-in method references. */ 63665var arrayProto = Array.prototype, 63666 funcProto = Function.prototype, 63667 objectProto = Object.prototype; 63668 63669/** Used to detect overreaching core-js shims. */ 63670var coreJsData = root['__core-js_shared__']; 63671 63672/** Used to detect methods masquerading as native. */ 63673var maskSrcKey = (function() { 63674 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 63675 return uid ? ('Symbol(src)_1.' + uid) : ''; 63676}()); 63677 63678/** Used to resolve the decompiled source of functions. */ 63679var funcToString = funcProto.toString; 63680 63681/** Used to check objects for own properties. */ 63682var hasOwnProperty = objectProto.hasOwnProperty; 63683 63684/** 63685 * Used to resolve the 63686 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 63687 * of values. 63688 */ 63689var objectToString = objectProto.toString; 63690 63691/** Used to detect if a method is native. */ 63692var reIsNative = RegExp('^' + 63693 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 63694 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 63695); 63696 63697/** Built-in value references. */ 63698var Buffer = moduleExports ? root.Buffer : undefined, 63699 Symbol = root.Symbol, 63700 Uint8Array = root.Uint8Array, 63701 getPrototype = overArg(Object.getPrototypeOf, Object), 63702 objectCreate = Object.create, 63703 propertyIsEnumerable = objectProto.propertyIsEnumerable, 63704 splice = arrayProto.splice; 63705 63706/* Built-in method references for those with the same name as other `lodash` methods. */ 63707var nativeGetSymbols = Object.getOwnPropertySymbols, 63708 nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, 63709 nativeKeys = overArg(Object.keys, Object); 63710 63711/* Built-in method references that are verified to be native. */ 63712var DataView = getNative(root, 'DataView'), 63713 Map = getNative(root, 'Map'), 63714 Promise = getNative(root, 'Promise'), 63715 Set = getNative(root, 'Set'), 63716 WeakMap = getNative(root, 'WeakMap'), 63717 nativeCreate = getNative(Object, 'create'); 63718 63719/** Used to detect maps, sets, and weakmaps. */ 63720var dataViewCtorString = toSource(DataView), 63721 mapCtorString = toSource(Map), 63722 promiseCtorString = toSource(Promise), 63723 setCtorString = toSource(Set), 63724 weakMapCtorString = toSource(WeakMap); 63725 63726/** Used to convert symbols to primitives and strings. */ 63727var symbolProto = Symbol ? Symbol.prototype : undefined, 63728 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 63729 63730/** 63731 * Creates a hash object. 63732 * 63733 * @private 63734 * @constructor 63735 * @param {Array} [entries] The key-value pairs to cache. 63736 */ 63737function Hash(entries) { 63738 var index = -1, 63739 length = entries ? entries.length : 0; 63740 63741 this.clear(); 63742 while (++index < length) { 63743 var entry = entries[index]; 63744 this.set(entry[0], entry[1]); 63745 } 63746} 63747 63748/** 63749 * Removes all key-value entries from the hash. 63750 * 63751 * @private 63752 * @name clear 63753 * @memberOf Hash 63754 */ 63755function hashClear() { 63756 this.__data__ = nativeCreate ? nativeCreate(null) : {}; 63757} 63758 63759/** 63760 * Removes `key` and its value from the hash. 63761 * 63762 * @private 63763 * @name delete 63764 * @memberOf Hash 63765 * @param {Object} hash The hash to modify. 63766 * @param {string} key The key of the value to remove. 63767 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 63768 */ 63769function hashDelete(key) { 63770 return this.has(key) && delete this.__data__[key]; 63771} 63772 63773/** 63774 * Gets the hash value for `key`. 63775 * 63776 * @private 63777 * @name get 63778 * @memberOf Hash 63779 * @param {string} key The key of the value to get. 63780 * @returns {*} Returns the entry value. 63781 */ 63782function hashGet(key) { 63783 var data = this.__data__; 63784 if (nativeCreate) { 63785 var result = data[key]; 63786 return result === HASH_UNDEFINED ? undefined : result; 63787 } 63788 return hasOwnProperty.call(data, key) ? data[key] : undefined; 63789} 63790 63791/** 63792 * Checks if a hash value for `key` exists. 63793 * 63794 * @private 63795 * @name has 63796 * @memberOf Hash 63797 * @param {string} key The key of the entry to check. 63798 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 63799 */ 63800function hashHas(key) { 63801 var data = this.__data__; 63802 return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); 63803} 63804 63805/** 63806 * Sets the hash `key` to `value`. 63807 * 63808 * @private 63809 * @name set 63810 * @memberOf Hash 63811 * @param {string} key The key of the value to set. 63812 * @param {*} value The value to set. 63813 * @returns {Object} Returns the hash instance. 63814 */ 63815function hashSet(key, value) { 63816 var data = this.__data__; 63817 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; 63818 return this; 63819} 63820 63821// Add methods to `Hash`. 63822Hash.prototype.clear = hashClear; 63823Hash.prototype['delete'] = hashDelete; 63824Hash.prototype.get = hashGet; 63825Hash.prototype.has = hashHas; 63826Hash.prototype.set = hashSet; 63827 63828/** 63829 * Creates an list cache object. 63830 * 63831 * @private 63832 * @constructor 63833 * @param {Array} [entries] The key-value pairs to cache. 63834 */ 63835function ListCache(entries) { 63836 var index = -1, 63837 length = entries ? entries.length : 0; 63838 63839 this.clear(); 63840 while (++index < length) { 63841 var entry = entries[index]; 63842 this.set(entry[0], entry[1]); 63843 } 63844} 63845 63846/** 63847 * Removes all key-value entries from the list cache. 63848 * 63849 * @private 63850 * @name clear 63851 * @memberOf ListCache 63852 */ 63853function listCacheClear() { 63854 this.__data__ = []; 63855} 63856 63857/** 63858 * Removes `key` and its value from the list cache. 63859 * 63860 * @private 63861 * @name delete 63862 * @memberOf ListCache 63863 * @param {string} key The key of the value to remove. 63864 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 63865 */ 63866function listCacheDelete(key) { 63867 var data = this.__data__, 63868 index = assocIndexOf(data, key); 63869 63870 if (index < 0) { 63871 return false; 63872 } 63873 var lastIndex = data.length - 1; 63874 if (index == lastIndex) { 63875 data.pop(); 63876 } else { 63877 splice.call(data, index, 1); 63878 } 63879 return true; 63880} 63881 63882/** 63883 * Gets the list cache value for `key`. 63884 * 63885 * @private 63886 * @name get 63887 * @memberOf ListCache 63888 * @param {string} key The key of the value to get. 63889 * @returns {*} Returns the entry value. 63890 */ 63891function listCacheGet(key) { 63892 var data = this.__data__, 63893 index = assocIndexOf(data, key); 63894 63895 return index < 0 ? undefined : data[index][1]; 63896} 63897 63898/** 63899 * Checks if a list cache value for `key` exists. 63900 * 63901 * @private 63902 * @name has 63903 * @memberOf ListCache 63904 * @param {string} key The key of the entry to check. 63905 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 63906 */ 63907function listCacheHas(key) { 63908 return assocIndexOf(this.__data__, key) > -1; 63909} 63910 63911/** 63912 * Sets the list cache `key` to `value`. 63913 * 63914 * @private 63915 * @name set 63916 * @memberOf ListCache 63917 * @param {string} key The key of the value to set. 63918 * @param {*} value The value to set. 63919 * @returns {Object} Returns the list cache instance. 63920 */ 63921function listCacheSet(key, value) { 63922 var data = this.__data__, 63923 index = assocIndexOf(data, key); 63924 63925 if (index < 0) { 63926 data.push([key, value]); 63927 } else { 63928 data[index][1] = value; 63929 } 63930 return this; 63931} 63932 63933// Add methods to `ListCache`. 63934ListCache.prototype.clear = listCacheClear; 63935ListCache.prototype['delete'] = listCacheDelete; 63936ListCache.prototype.get = listCacheGet; 63937ListCache.prototype.has = listCacheHas; 63938ListCache.prototype.set = listCacheSet; 63939 63940/** 63941 * Creates a map cache object to store key-value pairs. 63942 * 63943 * @private 63944 * @constructor 63945 * @param {Array} [entries] The key-value pairs to cache. 63946 */ 63947function MapCache(entries) { 63948 var index = -1, 63949 length = entries ? entries.length : 0; 63950 63951 this.clear(); 63952 while (++index < length) { 63953 var entry = entries[index]; 63954 this.set(entry[0], entry[1]); 63955 } 63956} 63957 63958/** 63959 * Removes all key-value entries from the map. 63960 * 63961 * @private 63962 * @name clear 63963 * @memberOf MapCache 63964 */ 63965function mapCacheClear() { 63966 this.__data__ = { 63967 'hash': new Hash, 63968 'map': new (Map || ListCache), 63969 'string': new Hash 63970 }; 63971} 63972 63973/** 63974 * Removes `key` and its value from the map. 63975 * 63976 * @private 63977 * @name delete 63978 * @memberOf MapCache 63979 * @param {string} key The key of the value to remove. 63980 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 63981 */ 63982function mapCacheDelete(key) { 63983 return getMapData(this, key)['delete'](key); 63984} 63985 63986/** 63987 * Gets the map value for `key`. 63988 * 63989 * @private 63990 * @name get 63991 * @memberOf MapCache 63992 * @param {string} key The key of the value to get. 63993 * @returns {*} Returns the entry value. 63994 */ 63995function mapCacheGet(key) { 63996 return getMapData(this, key).get(key); 63997} 63998 63999/** 64000 * Checks if a map value for `key` exists. 64001 * 64002 * @private 64003 * @name has 64004 * @memberOf MapCache 64005 * @param {string} key The key of the entry to check. 64006 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 64007 */ 64008function mapCacheHas(key) { 64009 return getMapData(this, key).has(key); 64010} 64011 64012/** 64013 * Sets the map `key` to `value`. 64014 * 64015 * @private 64016 * @name set 64017 * @memberOf MapCache 64018 * @param {string} key The key of the value to set. 64019 * @param {*} value The value to set. 64020 * @returns {Object} Returns the map cache instance. 64021 */ 64022function mapCacheSet(key, value) { 64023 getMapData(this, key).set(key, value); 64024 return this; 64025} 64026 64027// Add methods to `MapCache`. 64028MapCache.prototype.clear = mapCacheClear; 64029MapCache.prototype['delete'] = mapCacheDelete; 64030MapCache.prototype.get = mapCacheGet; 64031MapCache.prototype.has = mapCacheHas; 64032MapCache.prototype.set = mapCacheSet; 64033 64034/** 64035 * Creates a stack cache object to store key-value pairs. 64036 * 64037 * @private 64038 * @constructor 64039 * @param {Array} [entries] The key-value pairs to cache. 64040 */ 64041function Stack(entries) { 64042 this.__data__ = new ListCache(entries); 64043} 64044 64045/** 64046 * Removes all key-value entries from the stack. 64047 * 64048 * @private 64049 * @name clear 64050 * @memberOf Stack 64051 */ 64052function stackClear() { 64053 this.__data__ = new ListCache; 64054} 64055 64056/** 64057 * Removes `key` and its value from the stack. 64058 * 64059 * @private 64060 * @name delete 64061 * @memberOf Stack 64062 * @param {string} key The key of the value to remove. 64063 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 64064 */ 64065function stackDelete(key) { 64066 return this.__data__['delete'](key); 64067} 64068 64069/** 64070 * Gets the stack value for `key`. 64071 * 64072 * @private 64073 * @name get 64074 * @memberOf Stack 64075 * @param {string} key The key of the value to get. 64076 * @returns {*} Returns the entry value. 64077 */ 64078function stackGet(key) { 64079 return this.__data__.get(key); 64080} 64081 64082/** 64083 * Checks if a stack value for `key` exists. 64084 * 64085 * @private 64086 * @name has 64087 * @memberOf Stack 64088 * @param {string} key The key of the entry to check. 64089 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 64090 */ 64091function stackHas(key) { 64092 return this.__data__.has(key); 64093} 64094 64095/** 64096 * Sets the stack `key` to `value`. 64097 * 64098 * @private 64099 * @name set 64100 * @memberOf Stack 64101 * @param {string} key The key of the value to set. 64102 * @param {*} value The value to set. 64103 * @returns {Object} Returns the stack cache instance. 64104 */ 64105function stackSet(key, value) { 64106 var cache = this.__data__; 64107 if (cache instanceof ListCache) { 64108 var pairs = cache.__data__; 64109 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 64110 pairs.push([key, value]); 64111 return this; 64112 } 64113 cache = this.__data__ = new MapCache(pairs); 64114 } 64115 cache.set(key, value); 64116 return this; 64117} 64118 64119// Add methods to `Stack`. 64120Stack.prototype.clear = stackClear; 64121Stack.prototype['delete'] = stackDelete; 64122Stack.prototype.get = stackGet; 64123Stack.prototype.has = stackHas; 64124Stack.prototype.set = stackSet; 64125 64126/** 64127 * Creates an array of the enumerable property names of the array-like `value`. 64128 * 64129 * @private 64130 * @param {*} value The value to query. 64131 * @param {boolean} inherited Specify returning inherited property names. 64132 * @returns {Array} Returns the array of property names. 64133 */ 64134function arrayLikeKeys(value, inherited) { 64135 // Safari 8.1 makes `arguments.callee` enumerable in strict mode. 64136 // Safari 9 makes `arguments.length` enumerable in strict mode. 64137 var result = (isArray(value) || isArguments(value)) 64138 ? baseTimes(value.length, String) 64139 : []; 64140 64141 var length = result.length, 64142 skipIndexes = !!length; 64143 64144 for (var key in value) { 64145 if ((inherited || hasOwnProperty.call(value, key)) && 64146 !(skipIndexes && (key == 'length' || isIndex(key, length)))) { 64147 result.push(key); 64148 } 64149 } 64150 return result; 64151} 64152 64153/** 64154 * Assigns `value` to `key` of `object` if the existing value is not equivalent 64155 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 64156 * for equality comparisons. 64157 * 64158 * @private 64159 * @param {Object} object The object to modify. 64160 * @param {string} key The key of the property to assign. 64161 * @param {*} value The value to assign. 64162 */ 64163function assignValue(object, key, value) { 64164 var objValue = object[key]; 64165 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || 64166 (value === undefined && !(key in object))) { 64167 object[key] = value; 64168 } 64169} 64170 64171/** 64172 * Gets the index at which the `key` is found in `array` of key-value pairs. 64173 * 64174 * @private 64175 * @param {Array} array The array to inspect. 64176 * @param {*} key The key to search for. 64177 * @returns {number} Returns the index of the matched value, else `-1`. 64178 */ 64179function assocIndexOf(array, key) { 64180 var length = array.length; 64181 while (length--) { 64182 if (eq(array[length][0], key)) { 64183 return length; 64184 } 64185 } 64186 return -1; 64187} 64188 64189/** 64190 * The base implementation of `_.assign` without support for multiple sources 64191 * or `customizer` functions. 64192 * 64193 * @private 64194 * @param {Object} object The destination object. 64195 * @param {Object} source The source object. 64196 * @returns {Object} Returns `object`. 64197 */ 64198function baseAssign(object, source) { 64199 return object && copyObject(source, keys(source), object); 64200} 64201 64202/** 64203 * The base implementation of `_.clone` and `_.cloneDeep` which tracks 64204 * traversed objects. 64205 * 64206 * @private 64207 * @param {*} value The value to clone. 64208 * @param {boolean} [isDeep] Specify a deep clone. 64209 * @param {boolean} [isFull] Specify a clone including symbols. 64210 * @param {Function} [customizer] The function to customize cloning. 64211 * @param {string} [key] The key of `value`. 64212 * @param {Object} [object] The parent object of `value`. 64213 * @param {Object} [stack] Tracks traversed objects and their clone counterparts. 64214 * @returns {*} Returns the cloned value. 64215 */ 64216function baseClone(value, isDeep, isFull, customizer, key, object, stack) { 64217 var result; 64218 if (customizer) { 64219 result = object ? customizer(value, key, object, stack) : customizer(value); 64220 } 64221 if (result !== undefined) { 64222 return result; 64223 } 64224 if (!isObject(value)) { 64225 return value; 64226 } 64227 var isArr = isArray(value); 64228 if (isArr) { 64229 result = initCloneArray(value); 64230 if (!isDeep) { 64231 return copyArray(value, result); 64232 } 64233 } else { 64234 var tag = getTag(value), 64235 isFunc = tag == funcTag || tag == genTag; 64236 64237 if (isBuffer(value)) { 64238 return cloneBuffer(value, isDeep); 64239 } 64240 if (tag == objectTag || tag == argsTag || (isFunc && !object)) { 64241 if (isHostObject(value)) { 64242 return object ? value : {}; 64243 } 64244 result = initCloneObject(isFunc ? {} : value); 64245 if (!isDeep) { 64246 return copySymbols(value, baseAssign(result, value)); 64247 } 64248 } else { 64249 if (!cloneableTags[tag]) { 64250 return object ? value : {}; 64251 } 64252 result = initCloneByTag(value, tag, baseClone, isDeep); 64253 } 64254 } 64255 // Check for circular references and return its corresponding clone. 64256 stack || (stack = new Stack); 64257 var stacked = stack.get(value); 64258 if (stacked) { 64259 return stacked; 64260 } 64261 stack.set(value, result); 64262 64263 if (!isArr) { 64264 var props = isFull ? getAllKeys(value) : keys(value); 64265 } 64266 arrayEach(props || value, function(subValue, key) { 64267 if (props) { 64268 key = subValue; 64269 subValue = value[key]; 64270 } 64271 // Recursively populate clone (susceptible to call stack limits). 64272 assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack)); 64273 }); 64274 return result; 64275} 64276 64277/** 64278 * The base implementation of `_.create` without support for assigning 64279 * properties to the created object. 64280 * 64281 * @private 64282 * @param {Object} prototype The object to inherit from. 64283 * @returns {Object} Returns the new object. 64284 */ 64285function baseCreate(proto) { 64286 return isObject(proto) ? objectCreate(proto) : {}; 64287} 64288 64289/** 64290 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 64291 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 64292 * symbols of `object`. 64293 * 64294 * @private 64295 * @param {Object} object The object to query. 64296 * @param {Function} keysFunc The function to get the keys of `object`. 64297 * @param {Function} symbolsFunc The function to get the symbols of `object`. 64298 * @returns {Array} Returns the array of property names and symbols. 64299 */ 64300function baseGetAllKeys(object, keysFunc, symbolsFunc) { 64301 var result = keysFunc(object); 64302 return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); 64303} 64304 64305/** 64306 * The base implementation of `getTag`. 64307 * 64308 * @private 64309 * @param {*} value The value to query. 64310 * @returns {string} Returns the `toStringTag`. 64311 */ 64312function baseGetTag(value) { 64313 return objectToString.call(value); 64314} 64315 64316/** 64317 * The base implementation of `_.isNative` without bad shim checks. 64318 * 64319 * @private 64320 * @param {*} value The value to check. 64321 * @returns {boolean} Returns `true` if `value` is a native function, 64322 * else `false`. 64323 */ 64324function baseIsNative(value) { 64325 if (!isObject(value) || isMasked(value)) { 64326 return false; 64327 } 64328 var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; 64329 return pattern.test(toSource(value)); 64330} 64331 64332/** 64333 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 64334 * 64335 * @private 64336 * @param {Object} object The object to query. 64337 * @returns {Array} Returns the array of property names. 64338 */ 64339function baseKeys(object) { 64340 if (!isPrototype(object)) { 64341 return nativeKeys(object); 64342 } 64343 var result = []; 64344 for (var key in Object(object)) { 64345 if (hasOwnProperty.call(object, key) && key != 'constructor') { 64346 result.push(key); 64347 } 64348 } 64349 return result; 64350} 64351 64352/** 64353 * Creates a clone of `buffer`. 64354 * 64355 * @private 64356 * @param {Buffer} buffer The buffer to clone. 64357 * @param {boolean} [isDeep] Specify a deep clone. 64358 * @returns {Buffer} Returns the cloned buffer. 64359 */ 64360function cloneBuffer(buffer, isDeep) { 64361 if (isDeep) { 64362 return buffer.slice(); 64363 } 64364 var result = new buffer.constructor(buffer.length); 64365 buffer.copy(result); 64366 return result; 64367} 64368 64369/** 64370 * Creates a clone of `arrayBuffer`. 64371 * 64372 * @private 64373 * @param {ArrayBuffer} arrayBuffer The array buffer to clone. 64374 * @returns {ArrayBuffer} Returns the cloned array buffer. 64375 */ 64376function cloneArrayBuffer(arrayBuffer) { 64377 var result = new arrayBuffer.constructor(arrayBuffer.byteLength); 64378 new Uint8Array(result).set(new Uint8Array(arrayBuffer)); 64379 return result; 64380} 64381 64382/** 64383 * Creates a clone of `dataView`. 64384 * 64385 * @private 64386 * @param {Object} dataView The data view to clone. 64387 * @param {boolean} [isDeep] Specify a deep clone. 64388 * @returns {Object} Returns the cloned data view. 64389 */ 64390function cloneDataView(dataView, isDeep) { 64391 var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; 64392 return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); 64393} 64394 64395/** 64396 * Creates a clone of `map`. 64397 * 64398 * @private 64399 * @param {Object} map The map to clone. 64400 * @param {Function} cloneFunc The function to clone values. 64401 * @param {boolean} [isDeep] Specify a deep clone. 64402 * @returns {Object} Returns the cloned map. 64403 */ 64404function cloneMap(map, isDeep, cloneFunc) { 64405 var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map); 64406 return arrayReduce(array, addMapEntry, new map.constructor); 64407} 64408 64409/** 64410 * Creates a clone of `regexp`. 64411 * 64412 * @private 64413 * @param {Object} regexp The regexp to clone. 64414 * @returns {Object} Returns the cloned regexp. 64415 */ 64416function cloneRegExp(regexp) { 64417 var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); 64418 result.lastIndex = regexp.lastIndex; 64419 return result; 64420} 64421 64422/** 64423 * Creates a clone of `set`. 64424 * 64425 * @private 64426 * @param {Object} set The set to clone. 64427 * @param {Function} cloneFunc The function to clone values. 64428 * @param {boolean} [isDeep] Specify a deep clone. 64429 * @returns {Object} Returns the cloned set. 64430 */ 64431function cloneSet(set, isDeep, cloneFunc) { 64432 var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set); 64433 return arrayReduce(array, addSetEntry, new set.constructor); 64434} 64435 64436/** 64437 * Creates a clone of the `symbol` object. 64438 * 64439 * @private 64440 * @param {Object} symbol The symbol object to clone. 64441 * @returns {Object} Returns the cloned symbol object. 64442 */ 64443function cloneSymbol(symbol) { 64444 return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; 64445} 64446 64447/** 64448 * Creates a clone of `typedArray`. 64449 * 64450 * @private 64451 * @param {Object} typedArray The typed array to clone. 64452 * @param {boolean} [isDeep] Specify a deep clone. 64453 * @returns {Object} Returns the cloned typed array. 64454 */ 64455function cloneTypedArray(typedArray, isDeep) { 64456 var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; 64457 return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); 64458} 64459 64460/** 64461 * Copies the values of `source` to `array`. 64462 * 64463 * @private 64464 * @param {Array} source The array to copy values from. 64465 * @param {Array} [array=[]] The array to copy values to. 64466 * @returns {Array} Returns `array`. 64467 */ 64468function copyArray(source, array) { 64469 var index = -1, 64470 length = source.length; 64471 64472 array || (array = Array(length)); 64473 while (++index < length) { 64474 array[index] = source[index]; 64475 } 64476 return array; 64477} 64478 64479/** 64480 * Copies properties of `source` to `object`. 64481 * 64482 * @private 64483 * @param {Object} source The object to copy properties from. 64484 * @param {Array} props The property identifiers to copy. 64485 * @param {Object} [object={}] The object to copy properties to. 64486 * @param {Function} [customizer] The function to customize copied values. 64487 * @returns {Object} Returns `object`. 64488 */ 64489function copyObject(source, props, object, customizer) { 64490 object || (object = {}); 64491 64492 var index = -1, 64493 length = props.length; 64494 64495 while (++index < length) { 64496 var key = props[index]; 64497 64498 var newValue = customizer 64499 ? customizer(object[key], source[key], key, object, source) 64500 : undefined; 64501 64502 assignValue(object, key, newValue === undefined ? source[key] : newValue); 64503 } 64504 return object; 64505} 64506 64507/** 64508 * Copies own symbol properties of `source` to `object`. 64509 * 64510 * @private 64511 * @param {Object} source The object to copy symbols from. 64512 * @param {Object} [object={}] The object to copy symbols to. 64513 * @returns {Object} Returns `object`. 64514 */ 64515function copySymbols(source, object) { 64516 return copyObject(source, getSymbols(source), object); 64517} 64518 64519/** 64520 * Creates an array of own enumerable property names and symbols of `object`. 64521 * 64522 * @private 64523 * @param {Object} object The object to query. 64524 * @returns {Array} Returns the array of property names and symbols. 64525 */ 64526function getAllKeys(object) { 64527 return baseGetAllKeys(object, keys, getSymbols); 64528} 64529 64530/** 64531 * Gets the data for `map`. 64532 * 64533 * @private 64534 * @param {Object} map The map to query. 64535 * @param {string} key The reference key. 64536 * @returns {*} Returns the map data. 64537 */ 64538function getMapData(map, key) { 64539 var data = map.__data__; 64540 return isKeyable(key) 64541 ? data[typeof key == 'string' ? 'string' : 'hash'] 64542 : data.map; 64543} 64544 64545/** 64546 * Gets the native function at `key` of `object`. 64547 * 64548 * @private 64549 * @param {Object} object The object to query. 64550 * @param {string} key The key of the method to get. 64551 * @returns {*} Returns the function if it's native, else `undefined`. 64552 */ 64553function getNative(object, key) { 64554 var value = getValue(object, key); 64555 return baseIsNative(value) ? value : undefined; 64556} 64557 64558/** 64559 * Creates an array of the own enumerable symbol properties of `object`. 64560 * 64561 * @private 64562 * @param {Object} object The object to query. 64563 * @returns {Array} Returns the array of symbols. 64564 */ 64565var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray; 64566 64567/** 64568 * Gets the `toStringTag` of `value`. 64569 * 64570 * @private 64571 * @param {*} value The value to query. 64572 * @returns {string} Returns the `toStringTag`. 64573 */ 64574var getTag = baseGetTag; 64575 64576// Fallback for data views, maps, sets, and weak maps in IE 11, 64577// for data views in Edge < 14, and promises in Node.js. 64578if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || 64579 (Map && getTag(new Map) != mapTag) || 64580 (Promise && getTag(Promise.resolve()) != promiseTag) || 64581 (Set && getTag(new Set) != setTag) || 64582 (WeakMap && getTag(new WeakMap) != weakMapTag)) { 64583 getTag = function(value) { 64584 var result = objectToString.call(value), 64585 Ctor = result == objectTag ? value.constructor : undefined, 64586 ctorString = Ctor ? toSource(Ctor) : undefined; 64587 64588 if (ctorString) { 64589 switch (ctorString) { 64590 case dataViewCtorString: return dataViewTag; 64591 case mapCtorString: return mapTag; 64592 case promiseCtorString: return promiseTag; 64593 case setCtorString: return setTag; 64594 case weakMapCtorString: return weakMapTag; 64595 } 64596 } 64597 return result; 64598 }; 64599} 64600 64601/** 64602 * Initializes an array clone. 64603 * 64604 * @private 64605 * @param {Array} array The array to clone. 64606 * @returns {Array} Returns the initialized clone. 64607 */ 64608function initCloneArray(array) { 64609 var length = array.length, 64610 result = array.constructor(length); 64611 64612 // Add properties assigned by `RegExp#exec`. 64613 if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 64614 result.index = array.index; 64615 result.input = array.input; 64616 } 64617 return result; 64618} 64619 64620/** 64621 * Initializes an object clone. 64622 * 64623 * @private 64624 * @param {Object} object The object to clone. 64625 * @returns {Object} Returns the initialized clone. 64626 */ 64627function initCloneObject(object) { 64628 return (typeof object.constructor == 'function' && !isPrototype(object)) 64629 ? baseCreate(getPrototype(object)) 64630 : {}; 64631} 64632 64633/** 64634 * Initializes an object clone based on its `toStringTag`. 64635 * 64636 * **Note:** This function only supports cloning values with tags of 64637 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. 64638 * 64639 * @private 64640 * @param {Object} object The object to clone. 64641 * @param {string} tag The `toStringTag` of the object to clone. 64642 * @param {Function} cloneFunc The function to clone values. 64643 * @param {boolean} [isDeep] Specify a deep clone. 64644 * @returns {Object} Returns the initialized clone. 64645 */ 64646function initCloneByTag(object, tag, cloneFunc, isDeep) { 64647 var Ctor = object.constructor; 64648 switch (tag) { 64649 case arrayBufferTag: 64650 return cloneArrayBuffer(object); 64651 64652 case boolTag: 64653 case dateTag: 64654 return new Ctor(+object); 64655 64656 case dataViewTag: 64657 return cloneDataView(object, isDeep); 64658 64659 case float32Tag: case float64Tag: 64660 case int8Tag: case int16Tag: case int32Tag: 64661 case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: 64662 return cloneTypedArray(object, isDeep); 64663 64664 case mapTag: 64665 return cloneMap(object, isDeep, cloneFunc); 64666 64667 case numberTag: 64668 case stringTag: 64669 return new Ctor(object); 64670 64671 case regexpTag: 64672 return cloneRegExp(object); 64673 64674 case setTag: 64675 return cloneSet(object, isDeep, cloneFunc); 64676 64677 case symbolTag: 64678 return cloneSymbol(object); 64679 } 64680} 64681 64682/** 64683 * Checks if `value` is a valid array-like index. 64684 * 64685 * @private 64686 * @param {*} value The value to check. 64687 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 64688 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 64689 */ 64690function isIndex(value, length) { 64691 length = length == null ? MAX_SAFE_INTEGER : length; 64692 return !!length && 64693 (typeof value == 'number' || reIsUint.test(value)) && 64694 (value > -1 && value % 1 == 0 && value < length); 64695} 64696 64697/** 64698 * Checks if `value` is suitable for use as unique object key. 64699 * 64700 * @private 64701 * @param {*} value The value to check. 64702 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 64703 */ 64704function isKeyable(value) { 64705 var type = typeof value; 64706 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 64707 ? (value !== '__proto__') 64708 : (value === null); 64709} 64710 64711/** 64712 * Checks if `func` has its source masked. 64713 * 64714 * @private 64715 * @param {Function} func The function to check. 64716 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 64717 */ 64718function isMasked(func) { 64719 return !!maskSrcKey && (maskSrcKey in func); 64720} 64721 64722/** 64723 * Checks if `value` is likely a prototype object. 64724 * 64725 * @private 64726 * @param {*} value The value to check. 64727 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 64728 */ 64729function isPrototype(value) { 64730 var Ctor = value && value.constructor, 64731 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 64732 64733 return value === proto; 64734} 64735 64736/** 64737 * Converts `func` to its source code. 64738 * 64739 * @private 64740 * @param {Function} func The function to process. 64741 * @returns {string} Returns the source code. 64742 */ 64743function toSource(func) { 64744 if (func != null) { 64745 try { 64746 return funcToString.call(func); 64747 } catch (e) {} 64748 try { 64749 return (func + ''); 64750 } catch (e) {} 64751 } 64752 return ''; 64753} 64754 64755/** 64756 * This method is like `_.clone` except that it recursively clones `value`. 64757 * 64758 * @static 64759 * @memberOf _ 64760 * @since 1.0.0 64761 * @category Lang 64762 * @param {*}
64762 value The value to recursively clone. 64763 * @returns {*} Returns the deep cloned value. 64764 * @see _.clone 64765 * @example 64766 * 64767 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 64768 * 64769 * var deep = _.cloneDeep(objects); 64770 * console.log(deep[0] === objects[0]); 64771 * // => false 64772 */ 64773function cloneDeep(value) { 64774 return baseClone(value, true, true); 64775} 64776 64777/** 64778 * Performs a 64779 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 64780 * comparison between two values to determine if they are equivalent. 64781 * 64782 * @static 64783 * @memberOf _ 64784 * @since 4.0.0 64785 * @category Lang 64786 * @param {*} value The value to compare. 64787 * @param {*} other The other value to compare. 64788 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 64789 * @example 64790 * 64791 * var object = { 'a': 1 }; 64792 * var other = { 'a': 1 }; 64793 * 64794 * _.eq(object, object); 64795 * // => true 64796 * 64797 * _.eq(object, other); 64798 * // => false 64799 * 64800 * _.eq('a', 'a'); 64801 * // => true 64802 * 64803 * _.eq('a', Object('a')); 64804 * // => false 64805 * 64806 * _.eq(NaN, NaN); 64807 * // => true 64808 */ 64809function eq(value, other) { 64810 return value === other || (value !== value && other !== other); 64811} 64812 64813/** 64814 * Checks if `value` is likely an `arguments` object. 64815 * 64816 * @static 64817 * @memberOf _ 64818 * @since 0.1.0 64819 * @category Lang 64820 * @param {*} value The value to check. 64821 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 64822 * else `false`. 64823 * @example 64824 * 64825 * _.isArguments(function() { return arguments; }()); 64826 * // => true 64827 * 64828 * _.isArguments([1, 2, 3]); 64829 * // => false 64830 */ 64831function isArguments(value) { 64832 // Safari 8.1 makes `arguments.callee` enumerable in strict mode. 64833 return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && 64834 (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); 64835} 64836 64837/** 64838 * Checks if `value` is classified as an `Array` object. 64839 * 64840 * @static 64841 * @memberOf _ 64842 * @since 0.1.0 64843 * @category Lang 64844 * @param {*} value The value to check. 64845 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 64846 * @example 64847 * 64848 * _.isArray([1, 2, 3]); 64849 * // => true 64850 * 64851 * _.isArray(document.body.children); 64852 * // => false 64853 * 64854 * _.isArray('abc'); 64855 * // => false 64856 * 64857 * _.isArray(_.noop); 64858 * // => false 64859 */ 64860var isArray = Array.isArray; 64861 64862/** 64863 * Checks if `value` is array-like. A value is considered array-like if it's 64864 * not a function and has a `value.length` that's an integer greater than or 64865 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 64866 * 64867 * @static 64868 * @memberOf _ 64869 * @since 4.0.0 64870 * @category Lang 64871 * @param {*} value The value to check. 64872 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 64873 * @example 64874 * 64875 * _.isArrayLike([1, 2, 3]); 64876 * // => true 64877 * 64878 * _.isArrayLike(document.body.children); 64879 * // => true 64880 * 64881 * _.isArrayLike('abc'); 64882 * // => true 64883 * 64884 * _.isArrayLike(_.noop); 64885 * // => false 64886 */ 64887function isArrayLike(value) { 64888 return value != null && isLength(value.length) && !isFunction(value); 64889} 64890 64891/** 64892 * This method is like `_.isArrayLike` except that it also checks if `value` 64893 * is an object. 64894 * 64895 * @static 64896 * @memberOf _ 64897 * @since 4.0.0 64898 * @category Lang 64899 * @param {*} value The value to check. 64900 * @returns {boolean} Returns `true` if `value` is an array-like object, 64901 * else `false`. 64902 * @example 64903 * 64904 * _.isArrayLikeObject([1, 2, 3]); 64905 * // => true 64906 * 64907 * _.isArrayLikeObject(document.body.children); 64908 * // => true 64909 * 64910 * _.isArrayLikeObject('abc'); 64911 * // => false 64912 * 64913 * _.isArrayLikeObject(_.noop); 64914 * // => false 64915 */ 64916function isArrayLikeObject(value) { 64917 return isObjectLike(value) && isArrayLike(value); 64918} 64919 64920/** 64921 * Checks if `value` is a buffer. 64922 * 64923 * @static 64924 * @memberOf _ 64925 * @since 4.3.0 64926 * @category Lang 64927 * @param {*} value The value to check. 64928 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 64929 * @example 64930 * 64931 * _.isBuffer(new Buffer(2)); 64932 * // => true 64933 * 64934 * _.isBuffer(new Uint8Array(2)); 64935 * // => false 64936 */ 64937var isBuffer = nativeIsBuffer || stubFalse; 64938 64939/** 64940 * Checks if `value` is classified as a `Function` object. 64941 * 64942 * @static 64943 * @memberOf _ 64944 * @since 0.1.0 64945 * @category Lang 64946 * @param {*} value The value to check. 64947 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 64948 * @example 64949 * 64950 * _.isFunction(_); 64951 * // => true 64952 * 64953 * _.isFunction(/abc/); 64954 * // => false 64955 */ 64956function isFunction(value) {
64957 // The use of `Object#toString` avoids issues with the `typeof` operator 64958 // in Safari 8-9 which returns 'object' for typed array and other constructors. 64959 var tag = isObject(value) ? objectToString.call(value) : ''; 64960 return tag == funcTag || tag == genTag; 64961} 64962 64963/** 64964 * Checks if `value` is a valid array-like length. 64965 * 64966 * **Note:** This method is loosely based on 64967 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 64968 * 64969 * @static 64970 * @memberOf _ 64971 * @since 4.0.0 64972 * @category Lang 64973 * @param {*} value The value to check. 64974 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 64975 * @example 64976 * 64977 * _.isLength(3); 64978 * // => true 64979 * 64980 * _.isLength(Number.MIN_VALUE); 64981 * // => false 64982 * 64983 * _.isLength(Infinity); 64984 * // => false 64985 * 64986 * _.isLength('3'); 64987 * // => false 64988 */ 64989function isLength(value) { 64990 return typeof value == 'number' && 64991 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 64992} 64993 64994/** 64995 * Checks if `value` is the 64996 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 64997 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 64998 * 64999 * @static 65000 * @memberOf _ 65001 * @since 0.1.0 65002 * @category Lang 65003 * @param {*} value The value to check. 65004 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 65005 * @example 65006 * 65007 * _.isObject({}); 65008 * // => true 65009 * 65010 * _.isObject([1, 2, 3]); 65011 * // => true 65012 * 65013 * _.isObject(_.noop); 65014 * // => true 65015 * 65016 * _.isObject(null); 65017 * // => false 65018 */ 65019function isObject(value) { 65020 var type = typeof value; 65021 return !!value && (type == 'object' || type == 'function'); 65022} 65023 65024/** 65025 * Checks if `value` is object-like. A value is object-like if it's not `null` 65026 * and has a `typeof` result of "object". 65027 * 65028 * @static 65029 * @memberOf _ 65030 * @since 4.0.0 65031 * @category Lang 65032 * @param {*} value The value to check. 65033 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 65034 * @example 65035 * 65036 * _.isObjectLike({}); 65037 * // => true 65038 * 65039 * _.isObjectLike([1, 2, 3]); 65040 * // => true 65041 * 65042 * _.isObjectLike(_.noop); 65043 * // => false 65044 * 65045 * _.isObjectLike(null); 65046 * // => false 65047 */ 65048function isObjectLike(value) { 65049 return !!value && typeof value == 'object'; 65050} 65051 65052/** 65053 * Creates an array of the own enumerable property names of `object`. 65054 * 65055 * **Note:** Non-object values are coerced to objects. See the 65056 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 65057 * for more details. 65058 * 65059 * @static 65060 * @since 0.1.0 65061 * @memberOf _ 65062 * @category Object 65063 * @param {Object} object The object to query. 65064 * @returns {Array} Returns the array of property names. 65065 * @example 65066 * 65067 * function Foo() { 65068 * this.a = 1; 65069 * this.b = 2; 65070 * } 65071 * 65072 * Foo.prototype.c = 3; 65073 * 65074 * _.keys(new Foo); 65075 * // => ['a', 'b'] (iteration order is not guaranteed) 65076 * 65077 * _.keys('hi'); 65078 * // => ['0', '1'] 65079 */ 65080function keys(object) { 65081 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); 65082} 65083 65084/** 65085 * This method returns a new empty array. 65086 * 65087 * @static 65088 * @memberOf _ 65089 * @since 4.13.0 65090 * @category Util 65091 * @returns {Array} Returns the new empty array. 65092 * @example 65093 * 65094 * var arrays = _.times(2, _.stubArray); 65095 * 65096 * console.log(arrays); 65097 * // => [[], []] 65098 * 65099 * console.log(arrays[0] === arrays[1]); 65100 * // => false 65101 */ 65102function stubArray() { 65103 return []; 65104} 65105 65106/** 65107 * This method returns `false`. 65108 * 65109 * @static 65110 * @memberOf _ 65111 * @since 4.13.0 65112 * @category Util 65113 * @returns {boolean} Returns `false`. 65114 * @example 65115 * 65116 * _.times(2, _.stubFalse); 65117 * // => [false, false] 65118 */ 65119function stubFalse() { 65120 return false; 65121} 65122 65123module.exports = cloneDeep; 65124 65125/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(34), __webpack_require__(186)(module))) 65126 65127/***/ }), 65128/* 984 */, 65129/* 985 */, 65130/* 986 */, 65131/* 987 */, 65132/* 988 */, 65133/* 989 */, 65134/* 990 */, 65135/* 991 */, 65136/* 992 */, 65137/* 993 */, 65138/* 994 */, 65139/* 995 */, 65140/* 996 */, 65141/* 997 */, 65142/* 998 */, 65143/* 999 */, 65144/* 1000 */, 65145/* 1001 */ 65146/***/ (function(module, exports) { 65147 65148module.exports = "<svg width=\"97\" height=\"21\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M85.702 8.322C70.798 16.768 56.674 21 43.334 21 26.562 21 12.28 17.626.502 10.867a1 1 0 1 1 .996-1.734C12.953 15.707 26.894 19 43.334 19c12.942 0 26.705-4.116 41.292-12.367l-3.195-5.017L97 0l-8.048 13.425-3.25-5.103z\" fill=\"#C03\" fill-rule=\"nonzero\"></path></svg>" 65149 65150/***/ }), 65151/* 1002 */
65152/***/ (function(module, exports) { 65153 65154module.exports = "<svg width=\"32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M16 8h8v4h-9.07A7.963 7.963 0 0 0 16 8zm-2.709 6H24v4H8v-2a7.97 7.97 0 0 0 5.291-2zM8 20h16v4H8v-4z\" fill=\"currentColor\"></path><path d=\"M8 14A6 6 0 1 1 8 2a6 6 0 0 1 0 12zm2.515-8.01A1.644 1.644 0 0 0 8 6.194a1.645 1.645 0 0 0-2.515-.204 1.687 1.687 0 0 0 0 2.368L8 10.9l2.515-2.542a1.687 1.687 0 0 0 0-2.368z\" fill=\"#cc0033\" fill-rule=\"nonzero\"></path></g></svg>" 65155 65156/***/ }), 65157/* 1003 */ 65158/***/ (function(module, exports) { 65159 65160module.exports = "<svg width=\"32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 8h16v4H8V8zm0 6h16v4H8v-4zm0 6h16v4H8v-4z\" fill=\"#020203\" fill-rule=\"evenodd\"></path></svg>" 65161 65162/***/ }), 65163/* 1004 */ 65164/***/ (function(module, __webpack_exports__, __webpack_require__) { 65165 65166"use strict"; 65167__webpack_require__.r(__webpack_exports__); 65168/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adsAllowed", function() { return adsAllowed; }); 65169var adsAllowed = true; 65170 65171/***/ }), 65172/* 1005 */ 65173/***/ (function(module, exports) { 65174 65175function _setPrototypeOf(o, p) { 65176 module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 65177 o.__proto__ = p; 65178 return o; 65179 }; 65180 65181 return _setPrototypeOf(o, p); 65182} 65183 65184module.exports = _setPrototypeOf; 65185 65186/***/ }), 65187/* 1006 */ 65188/***/ (function(module, exports) { 65189 65190function _assertThisInitialized(self) { 65191 if (self === void 0) { 65192 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 65193 } 65194 65195 return self; 65196} 65197 65198module.exports = _assertThisInitialized; 65199 65200/***/ }), 65201/* 1007 */ 65202/***/ (function(module, exports) { 65203 65204module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.5 7.5h-1.25l2.5-2.5-2.5-2.5-7.5 7.5 7.5 7.5 2.5-2.5-2.5-2.5h1.25C32.392 12.5 38 18.108 38 25s-5.608 12.5-12.5 12.5S13 31.892 13 25H8c0 9.65 7.85 17.5 17.5 17.5S43 34.65 43 25 35.15 7.5 25.5 7.5\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 65205 65206/***/ }), 65207/* 1008 */ 65208/***/ (function(module, exports) { 65209 65210module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M30.496 27.734c-.259.588-.736.882-1.43.882s-1.168-.294-1.423-.882c-.254-.588-.38-1.392-.38-2.411 0-1.02.045-1.778.137-2.28.093-.5.274-.9.547-1.198.272-.298.645-.448 1.12-.448.693 0 1.17.295 1.43.882.258.589.388 1.498.388 2.728 0 1.229-.13 2.139-.389 2.727m2.01-4.69c.104.562.157 1.216.157 1.963 0 .746-.053 1.4-.158 1.962a5.472 5.472 0 0 1-.54 1.562 2.554 2.554 0 0 1-1.114 1.094c-.487.25-1.082.375-1.785.375-.702 0-1.295-.125-1.778-.375a2.557 2.557 0 0 1-1.106-1.094 5.413 5.413 0 0 1-.54-1.562 10.78 10.78 0 0 1-.159-1.962c0-.747.053-1.401.158-1.963a5.434 5.434 0 0 1 .541-1.562 2.598 2.598 0 0 1 1.106-1.1c.483-.254 1.076-.382 1.778-.382.703 0 1.298.128 1.785.382.488.255.86.622 1.114 1.1.254.48.434 1 .54 1.562zM18 21.964v-1.042c1.027-.114 1.801-.355 2.318-.724h1.411v8.221h1.91v1.396h-5.613V28.42h1.911v-6.456H18z\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 65211 65212/***/ }), 65213/* 1009 */ 65214/***/ (function(module, exports) { 65215 65216module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.5 7.5h1.25L24.25 5l2.5-2.5 7.5 7.5-7.5 7.5-2.5-2.5 2.5-2.5H25.5C18.607 12.5 13 18.108 13 25s5.607 12.5 12.5 12.5S38 31.892 38 25h5c0 9.65-7.85 17.5-17.5 17.5S8 34.65 8 25c0-9.649 7.85-17.5 17.5-17.5\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 65217 65218/***/ }), 65219/* 1010 */ 65220/***/ (function(module, exports) { 65221 65222module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M28.567 27.734c.254.589.729.883 1.423.883.693 0 1.17-.294 1.429-.883.259-.588.389-1.498.389-2.727 0-1.23-.13-2.139-.39-2.728-.258-.587-.735-.882-1.428-.882-.474 0-.848.15-1.12.448-.272.299-.454.698-.547 1.199-.092.501-.138 1.261-.138 2.279 0 1.019.127 1.823.382 2.411m3.208 1.891c-.488.25-1.083.375-1.785.375-.703 0-1.296-.125-1.78-.375a2.552 2.552 0 0 1-1.105-1.094 5.447 5.447 0 0 1-.541-1.561 10.792 10.792 0 0 1-.158-1.963c0-.747.053-1.401.158
65222-1.963a5.447 5.447 0 0 1 .54-1.561 2.595 2.595 0 0 1 1.107-1.101c.483-.254 1.076-.382 1.779-.382.702 0 1.297.128 1.785.382.487.255.858.622 1.113 1.101s.435.999.54 1.561c.106.562.159 1.216.159 1.963 0 .747-.053 1.401-.16 1.963a5.415 5.415 0 0 1-.54 1.561 2.552 2.552 0 0 1-1.112 1.094zm-10.507-1.021c1.168 0 1.752-.466 1.752-1.396 0-1.002-.627-1.502-1.883-1.502h-.975v-1.291h.987c.624 0 1.07-.132 1.338-.395.267-.264.401-.635.401-1.114 0-.48-.138-.847-.414-1.107-.277-.26-.679-.388-1.206-.388-.984 0-1.501.496-1.554 1.488l-1.542-.211c.132-1.782 1.203-2.674 3.215-2.674 1.053 0 1.861.26 2.424.784.562.523.843 1.219.843 2.089 0 .974-.475 1.686-1.423 2.134 1.028.412 1.541 1.18 1.541 2.305 0 .79-.309 1.434-.928 1.93S22.393 30 21.347 30c-1.045 0-1.843-.206-2.391-.62-.549-.411-.867-1.048-.956-1.91l1.542-.197c.105.888.681 1.33 1.726 1.33z\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 65223 65224/***/ }), 65225/* 1011 */ 65226/***/ (function(module, exports) { 65227 65228module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25 11h1l-2-2 2-2 6 6-6 6-2-2 2-2h-1c-5.514 0-10 4.486-10 10s4.486 10 10 10c3.267 0 6.163-1.582 7.989-4.011l2.854 2.853C33.273 36.987 29.369 39 25 39c-7.72 0-14-6.28-14-14s6.28-14 14-14zm8 8l6-6-6-6-2 2 4 4-4 4 2 2z\" fill=\"#020203\" fill-rule=\"evenodd\"></path></svg>" 65229 65230/***/ }), 65231/* 1012 */ 65232/***/ (function(module, exports) { 65233 65234module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M23 22h1.383v5.994h2.533V29H23v-7zm4.913 7v-7h1.383v7h-1.383zm7.241-7h1.395l-2.207 7H32.55l-2.197-7h1.384l1.71 5.734L35.154 22zm2.452 0h4.19v1.007H38.99v1.937h2.554v.997H38.99v2.053H42V29h-4.394v-7z\" fill=\"currentColor\"></path><path d=\"M25 11h1l-2-2 2-2 6 6-6 6-2-2 2-2h-1c-5.514 0-10 4.486-10 10s4.486 10 10 10c3.267 0 6.163-1.582 7.989-4.011l2.854 2.853C33.273 36.987 29.369 39 25 39c-7.72 0-14-6.28-14-14s6.28-14 14-14zm8 8l6-6-6-6-2 2 4 4-4 4 2 2z\" fill=\"currentColor\"></path></g></svg>" 65235 65236/***/ }), 65237/* 1013 */ 65238/***/ (function(module, exports) { 65239 65240module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25 11h-1l2-2-2-2-6 6 6 6 2-2-2-2h1c5.514 0 10 4.486 10 10s-4.486 10-10 10c-3.267 0-6.163-1.582-7.989-4.011l-2.853 2.853C16.727 36.987 20.631 39 25 39c7.72 0 14-6.28 14-14s-6.28-14-14-14zm-8 8l-6-6 6-6 2 2-4 4 4 4-2 2z\" fill=\"currentColor\" fill-rule=\"evenodd\"></path></svg>" 65241 65242/***/ }), 65243/* 1014 */ 65244/***/ (function(module, exports) { 65245 65246module.exports = "<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M4.78 25.253c.297.338.446.845.446 1.52 0 .676-.223 1.216-.67 1.62-.446.404-1.103.607-1.968.607-.866 0-1.492-.191-1.878-.575-.385-.383-.623-.94-.71-1.673l1.106-.18c.04.416.178.738.411.966.233.23.56.343.98.343.9 0 1.349-.354 1.349-1.066 0-.303-.084-.53-.254-.686-.168-.154-.494-.295-.974-.422l-.578-.148c-.677-.175-1.16-.436-1.451-.78-.292-.345-.437-.86-.437-1.547 0-.686.213-1.23.64-1.63C1.217 21.2 1.848 21 2.683 21s1.438.192 1.806.575c.37.383.597.942.685 1.673l-1.096.18c-.088-.873-.52-1.31-1.299-1.31-.426 0-.74.098-.943.291-.203.194-.305.449-.305.765 0 .317.077.553.234.707.156.155.453.293.893.412l.639.18c.69.183 1.184.443 1.481.78zm.872-3.018v-1.087h5.266v1.087H8.98v6.617H7.6v-6.617H5.652zm8.148.275l-.903 3.124h1.806L13.8 22.51zm-.893-1.362h1.796l2.273 7.705h-1.33l-.629-2.132h-2.435l-.619 2.132h-1.34l2.284-7.705zm6.483 3.546h1.046c.406 0 .709-.116.908-.348.2-.232.3-.523.3-.87 0-.35-.1-.64-.3-.872-.2-.232-.502-.348-.908-.348H19.39v2.438zm-1.38-3.546h2.588c.94 0 1.593.256 1.958.77.312.444.467.964.467 1.562 0 1.062-.399 1.766-1.197 2.111.149.17.277.38.385.633l1.127 2.628h-1.472l-1.055-2.5c-.094-.212-.198-.357-.31-.434-.111-.078-.278-.116-.502-.116h-.609v3.05h-1.38v-7.704zm5.724 1.087v-1.087H29v1.087h-1.938v6.617h-1.38v-6.617h-1.948z\" fill=\"currentColor\"></path><path d=\"M25 11h-1l2-2-2-2-6 6 6 6 2-2-2-2h1c5.514 0 10 4.486 10 10s-4.486 10-10 10c-3.267 0-6.163-1.582-7.989-4.011l-2.853 2.853C16.727 36.987 20.631 39 25 39c7.72 0 14-6.28 14-14s-6.28-14-14-14zm-8 8l-6-6 6-6 2 2-4 4 4 4-2 2z\" fill=\"currentColor\"></path></g></svg>" 65247 65248/***/ }), 65249/* 1015 */, 65250/* 1016 */, 65251/* 1017 */, 65252/* 1018 */, 65253/* 1019 */, 65254/* 1020 */, 65255/* 1021 */, 65256/* 1022 */, 65257/* 1023 */, 65258/* 1024 */, 65259/* 1025 */, 65260/* 1026 */, 65261/* 1027 */, 65262/* 1028 */, 65263/* 1029 */, 65264/* 1030 */, 65265/* 1031 */, 65266/* 1032 */, 65267/* 1033 */, 65268/* 1034 */, 65269/* 1035 */, 65270/* 1036 */, 65271/* 1037 */, 65272/* 1038 */, 65273/* 1039 */, 65274/* 1040 */, 65275/* 1041 */, 65276/* 1042 */, 65277/* 1043 */, 65278/* 1044 */, 65279/* 1045 */, 65280/* 1046 */, 65281/* 1047 */, 65282/* 1048 */, 65283/* 1049 */, 65284/* 1050 */, 65285/* 1051 */, 65286/* 1052 */, 65287/* 1053 */, 65288/* 1054 */, 65289/* 1055 */, 65290/* 1056 */, 65291/* 1057 */, 65292/* 1058 */ 65293/***/ (function(module, exports, __webpack_require__) { 65294 65295__webpack_require__(522); 65296__webpack_require__(60); 65297module.exports = __webpack_require__(1310); 65298 65299 65300/***/ }), 65301/* 1059 */
65302/***/ (function(module, exports) { 65303 65304module.exports = "<svg width=\"266\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M264 40a2 2 0 012 2v4a2 2 0 01-2 2H78a2 2 0 01-2-2v-4a2 2 0 012-2h186zM62 0a2 2 0 012 2v36a2 2 0 01-2 2H2a2 2 0 01-2-2V2a2 2 0 012-2h60zm114 16a2 2 0 012 2v12a2 2 0 01-2 2H78a2 2 0 01-2-2V18a2 2 0 012-2h98zM107 0a2 2 0 012 2v6a2 2 0 01-2 2H78a2 2 0 01-2-2V2a2 2 0 012-2h29z\" fill=\"#F3F3F3\" fill-rule=\"evenodd\"></path></svg>" 65305 65306/***/ }), 65307/* 1060 */, 65308/* 1061 */, 65309/* 1062 */, 65310/* 1063 */, 65311/* 1064 */, 65312/* 1065 */, 65313/* 1066 */, 65314/* 1067 */, 65315/* 1068 */, 65316/* 1069 */, 65317/* 1070 */, 65318/* 1071 */, 65319/* 1072 */, 65320/* 1073 */, 65321/* 1074 */, 65322/* 1075 */, 65323/* 1076 */, 65324/* 1077 */, 65325/* 1078 */, 65326/* 1079 */, 65327/* 1080 */, 65328/* 1081 */, 65329/* 1082 */, 65330/* 1083 */, 65331/* 1084 */, 65332/* 1085 */, 65333/* 1086 */, 65334/* 1087 */, 65335/* 1088 */, 65336/* 1089 */, 65337/* 1090 */, 65338/* 1091 */, 65339/* 1092 */, 65340/* 1093 */, 65341/* 1094 */, 65342/* 1095 */, 65343/* 1096 */, 65344/* 1097 */, 65345/* 1098 */, 65346/* 1099 */, 65347/* 1100 */, 65348/* 1101 */, 65349/* 1102 */, 65350/* 1103 */, 65351/* 1104 */, 65352/* 1105 */, 65353/* 1106 */, 65354/* 1107 */, 65355/* 1108 */, 65356/* 1109 */, 65357/* 1110 */, 65358/* 1111 */, 65359/* 1112 */, 65360/* 1113 */, 65361/* 1114 */, 65362/* 1115 */, 65363/* 1116 */, 65364/* 1117 */, 65365/* 1118 */, 65366/* 1119 */, 65367/* 1120 */, 65368/* 1121 */, 65369/* 1122 */, 65370/* 1123 */, 65371/* 1124 */, 65372/* 1125 */, 65373/* 1126 */, 65374/* 1127 */, 65375/* 1128 */, 65376/* 1129 */, 65377/* 1130 */, 65378/* 1131 */, 65379/* 1132 */, 65380/* 1133 */, 65381/* 1134 */, 65382/* 1135 */, 65383/* 1136 */, 65384/* 1137 */, 65385/* 1138 */, 65386/* 1139 */, 65387/* 1140 */, 65388/* 1141 */, 65389/* 1142 */, 65390/* 1143 */, 65391/* 1144 */, 65392/* 1145 */, 65393/* 1146 */, 65394/* 1147 */, 65395/* 1148 */, 65396/* 1149 */, 65397/* 1150 */, 65398/* 1151 */, 65399/* 1152 */, 65400/* 1153 */, 65401/* 1154 */, 65402/* 1155 */, 65403/* 1156 */, 65404/* 1157 */, 65405/* 1158 */, 65406/* 1159 */, 65407/* 1160 */, 65408/* 1161 */, 65409/* 1162 */, 65410/* 1163 */, 65411/* 1164 */, 65412/* 1165 */, 65413/* 1166 */, 65414/* 1167 */, 65415/* 1168 */, 65416/* 1169 */, 65417/* 1170 */, 65418/* 1171 */, 65419/* 1172 */, 65420/* 1173 */, 65421/* 1174 */, 65422/* 1175 */, 65423/* 1176 */, 65424/* 1177 */, 65425/* 1178 */, 65426/* 1179 */, 65427/* 1180 */, 65428/* 1181 */, 65429/* 1182 */, 65430/* 1183 */, 65431/* 1184 */, 65432/* 1185 */, 65433/* 1186 */, 65434/* 1187 */, 65435/* 1188 */, 65436/* 1189 */, 65437/* 1190 */, 65438/* 1191 */, 65439/* 1192 */, 65440/* 1193 */, 65441/* 1194 */, 65442/* 1195 */, 65443/* 1196 */, 65444/* 1197 */, 65445/* 1198 */, 65446/* 1199 */, 65447/* 1200 */, 65448/* 1201 */, 65449/* 1202 */, 65450/* 1203 */, 65451/* 1204 */, 65452/* 1205 */, 65453/* 1206 */, 65454/* 1207 */, 65455/* 1208 */, 65456/* 1209 */, 65457/* 1210 */, 65458/* 1211 */, 65459/* 1212 */, 65460/* 1213 */, 65461/* 1214 */, 65462/* 1215 */, 65463/* 1216 */, 65464/* 1217 */, 65465/* 1218 */, 65466/* 1219 */, 65467/* 1220 */, 65468/* 1221 */, 65469/* 1222 */, 65470/* 1223 */, 65471/* 1224 */, 65472/* 1225 */, 65473/* 1226 */, 65474/* 1227 */, 65475/* 1228 */, 65476/* 1229 */, 65477/* 1230 */, 65478/* 1231 */, 65479/* 1232 */, 65480/* 1233 */, 65481/* 1234 */, 65482/* 1235 */, 65483/* 1236 */, 65484/* 1237 */, 65485/* 1238 */, 65486/* 1239 */, 65487/* 1240 */, 65488/* 1241 */, 65489/* 1242 */, 65490/* 1243 */, 65491/* 1244 */, 65492/* 1245 */, 65493/* 1246 */, 65494/* 1247 */, 65495/* 1248 */, 65496/* 1249 */, 65497/* 1250 */, 65498/* 1251 */, 65499/* 1252 */, 65500/* 1253 */, 65501/* 1254 */, 65502/* 1255 */, 65503/* 1256 */, 65504/* 1257 */, 65505/* 1258 */, 65506/* 1259 */, 65507/* 1260 */, 65508/* 1261 */, 65509/* 1262 */, 65510/* 1263 */, 65511/* 1264 */, 65512/* 1265 */, 65513/* 1266 */, 65514/* 1267 */, 65515/* 1268 */, 65516/* 1269 */, 65517/* 1270 */, 65518/* 1271 */, 65519/* 1272 */, 65520/* 1273 */, 65521/* 1274 */, 65522/* 1275 */, 65523/* 1276 */, 65524/* 1277 */, 65525/* 1278 */, 65526/* 1279 */, 65527/* 1280 */, 65528/* 1281 */, 65529/* 1282 */, 65530/* 1283 */, 65531/* 1284 */, 65532/* 1285 */, 65533/* 1286 */, 65534/* 1287 */, 65535/* 1288 */, 65536/* 1289 */, 65537/* 1290 */, 65538/* 1291 */, 65539/* 1292 */, 65540/* 1293 */, 65541/* 1294 */, 65542/* 1295 */, 65543/* 1296 */, 65544/* 1297 */, 65545/* 1298 */, 65546/* 1299 */, 65547/* 1300 */, 65548/* 1301 */, 65549/* 1302 */, 65550/* 1303 */, 65551/* 1304 */, 65552/* 1305 */, 65553/* 1306 */, 65554/* 1307 */, 65555/* 1308 */, 65556/* 1309 */, 65557/* 1310 */ 65558/***/ (function(module, __webpack_exports__, __webpack_require__) { 65559 65560"use strict";
65561// ESM COMPAT FLAG 65562__webpack_require__.r(__webpack_exports__); 65563 65564// EXTERNAL MODULE: ./node_modules/preact-habitat/dist/preact-habitat.es.js?babel-target=legacy 65565var preact_habitat_esbabel_target_legacy = __webpack_require__(416); 65566 65567// EXTERNAL MODULE: ./src/lib/logger.ts?babel-target=legacy 65568var loggerbabel_target_legacy = __webpack_require__(10); 65569 65570// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js?babel-target=legacy 65571var es_regexp_execbabel_target_legacy = __webpack_require__(93); 65572 65573// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js?babel-target=legacy 65574var es_string_searchbabel_target_legacy = __webpack_require__(254); 65575 65576// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js?babel-target=legacy 65577var es_string_splitbabel_target_legacy = __webpack_require__(252); 65578 65579// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js?babel-target=legacy 65580var extendsbabel_target_legacy = __webpack_require__(50); 65581var extendsbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(extendsbabel_target_legacy); 65582 65583// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator?babel-target=legacy 65584var regenerator_babel_target_legacy = __webpack_require__(6); 65585var regenerator_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(regenerator_babel_target_legacy); 65586 65587// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js?babel-target=legacy 65588var runtimebabel_target_legacy = __webpack_require__(60); 65589 65590// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js?babel-target=legacy 65591var asyncToGeneratorbabel_target_legacy = __webpack_require__(13); 65592var asyncToGeneratorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(asyncToGeneratorbabel_target_legacy); 65593 65594// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js?babel-target=legacy 65595var slicedToArraybabel_target_legacy = __webpack_require__(8); 65596var slicedToArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(slicedToArraybabel_target_legacy); 65597 65598// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?babel-target=legacy 65599var objectWithoutPropertiesbabel_target_legacy = __webpack_require__(39); 65600var objectWithoutPropertiesbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesbabel_target_legacy); 65601 65602// EXTERNAL MODULE: ./node_modules/preact/dist/preact.module.js?babel-target=legacy 65603var preact_modulebabel_target_legacy = __webpack_require__(1); 65604 65605// EXTERNAL MODULE: ./node_modules/preact/hooks/dist/hooks.module.js?babel-target=legacy 65606var hooks_modulebabel_target_legacy = __webpack_require__(4); 65607 65608// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js?babel-target=legacy 65609var es_symbolbabel_target_legacy = __webpack_require__(71); 65610 65611// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js?babel-target=legacy 65612var es_array_concatbabel_target_legacy = __webpack_require__(75); 65613 65614// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js?babel-target=legacy 65615var es_array_filterbabel_target_legacy = __webpack_require__(70); 65616 65617// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js?babel-target=legacy 65618var es_array_findbabel_target_legacy = __webpack_require__(182); 65619 65620// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js?babel-target=legacy 65621var es_array_for_eachbabel_target_legacy = __webpack_require__(87); 65622 65623// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js?babel-target=legacy 65624var es_array_iteratorbabel_target_legacy = __webpack_require__(138); 65625 65626// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js?babel-target=legacy 65627var es_array_joinbabel_target_legacy = __webpack_require__(160); 65628 65629// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js?babel-target=legacy 65630var es_array_mapbabel_target_legacy = __webpack_require__(77); 65631 65632// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js?babel-target=legacy 65633var es_object_get_own_property_descriptorbabel_target_legacy = __webpack_require__(98); 65634 65635// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js?babel-target=legacy 65636var es_object_get_own_property_descriptorsbabel_target_legacy = __webpack_require__(99); 65637 65638// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js?babel-target=legacy 65639var es_object_keysbabel_target_legacy = __webpack_require__(89); 65640 65641// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js?babel-target=legacy 65642var es_object_to_stringbabel_target_legacy = __webpack_require__(105); 65643 65644// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js?babel-target=legacy 65645var es_regexp_to_stringbabel_target_legacy = __webpack_require__(156); 65646 65647// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js?babel-target=legacy 65648var es_string_iteratorbabel_target_legacy = __webpack_require__(237); 65649 65650// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js?babel-target=legacy 65651var web_dom_collections_for_eachbabel_target_legacy = __webpack_require__(88); 65652 65653// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js?babel-target=legacy 65654var web_dom_collections_iteratorbabel_target_legacy = __webpack_require__(257); 65655 65656// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js?babel-target=legacy 65657var web_urlbabel_target_legacy = __webpack_require__(349); 65658
vendor: 4,947 bytes, lines 65659-65766
65659// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js?babel-target=legacy 65660var definePropertybabel_target_legacy = __webpack_require__(15); 65661var definePropertybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(definePropertybabel_target_legacy); 65662 65663// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js?babel-target=legacy 65664var toConsumableArraybabel_target_legacy = __webpack_require__(37); 65665var toConsumableArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toConsumableArraybabel_target_legacy); 65666 65667// EXTERNAL MODULE: ./src/api/useNowPlaying.ts?babel-target=legacy 65668var useNowPlayingbabel_target_legacy = __webpack_require__(953); 65669 65670// EXTERNAL MODULE: ./src/lib/useElementHeightCSSVariable.ts?babel-target=legacy 65671var useElementHeightCSSVariablebabel_target_legacy = __webpack_require__(954); 65672 65673// EXTERNAL MODULE: ./src/lib/init.ts?babel-target=legacy 65674var initbabel_target_legacy = __webpack_require__(478); 65675 65676// EXTERNAL MODULE: ./src/components/CookieBanner/index.ts?babel-target=legacy + 1 modules 65677var CookieBannerbabel_target_legacy = __webpack_require__(969); 65678 65679// EXTERNAL MODULE: ./src/components/IconSheet/index.ts?babel-target=legacy + 1 modules 65680var IconSheetbabel_target_legacy = __webpack_require__(482); 65681 65682// EXTERNAL MODULE: ./src/components/MenuPanel/index.ts?babel-target=legacy + 14 modules 65683var MenuPanelbabel_target_legacy = __webpack_require__(962); 65684 65685// EXTERNAL MODULE: ./src/components/NavBar/index.ts?babel-target=legacy + 3 modules 65686var NavBarbabel_target_legacy = __webpack_require__(965); 65687 65688// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js?babel-target=legacy 65689var es_symbol_descriptionbabel_target_legacy = __webpack_require__(199); 65690 65691// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js?babel-target=legacy 65692var es_symbol_iteratorbabel_target_legacy = __webpack_require__(458); 65693 65694// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js?babel-target=legacy 65695var es_array_frombabel_target_legacy = __webpack_require__(459); 65696 65697// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js?babel-target=legacy 65698var es_array_includesbabel_target_legacy = __webpack_require__(124); 65699 65700// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js?babel-target=legacy 65701var es_array_reducebabel_target_legacy = __webpack_require__(162); 65702 65703// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js?babel-target=legacy 65704var es_array_slicebabel_target_legacy = __webpack_require__(177); 65705 65706// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js?babel-target=legacy 65707var es_function_namebabel_target_legacy = __webpack_require__(123); 65708 65709// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js?babel-target=legacy 65710var es_string_includesbabel_target_legacy = __webpack_require__(140); 65711 65712// EXTERNAL MODULE: ./src/lib/adManager.ts?babel-target=legacy 65713var adManagerbabel_target_legacy = __webpack_require__(705); 65714 65715// EXTERNAL MODULE: ./src/api/utils.ts?babel-target=legacy 65716var utilsbabel_target_legacy = __webpack_require__(48); 65717 65718// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js?babel-target=legacy 65719var es_object_assignbabel_target_legacy = __webpack_require__(406); 65720 65721// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js?babel-target=legacy 65722var classCallCheckbabel_target_legacy = __webpack_require__(233); 65723var classCallCheckbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classCallCheckbabel_target_legacy); 65724 65725// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js?babel-target=legacy 65726var createClassbabel_target_legacy = __webpack_require__(234); 65727var createClassbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(createClassbabel_target_legacy); 65728 65729// EXTERNAL MODULE: ./src/lib/fetchTimeout.js?babel-target=legacy + 1 modules 65730var fetchTimeoutbabel_target_legacy = __webpack_require__(127); 65731 65732// EXTERNAL MODULE: ./node_modules/@alugha/ima/lib/esm?babel-target=legacy + 2 modules 65733var esm_babel_target_legacy = __webpack_require__(334); 65734 65735// CONCATENATED MODULE: ./src/lib/adsWizz.ts?babel-target=legacy 65736 65737 65738 65739 65740 65741 65742 65743 65744 65745 65746 65747 65748 65749 65750 65751 65752 65753 65754 65755 65756 65757 65758 65759 65760 65761 65762 65763 65764function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 65765 65766function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
65766 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 65767 65768 65769 65770 65771 65772var adsWizzbabel_target_legacy_parseIcyMetadata = function parseIcyMetadata(metadata) { 65773 var segments = metadata.split(" "); 65774 var tuples = segments.map(function (seg) { 65775 var pairs = seg.split("=").map(unescape); 65776 65777 if (pairs.length !== 2) { 65778 return null; 65779 } 65780 65781 var _pairs = slicedToArraybabel_target_legacy_default()(pairs, 2), 65782 k = _pairs[0], 65783 v = _pairs[1]; 65784 65785 return definePropertybabel_target_legacy_default()({}, k, v); 65786 }); 65787 return Object.assign.apply(Object, [{}].concat(toConsumableArraybabel_target_legacy_default()(tuples))); 65788}; 65789var parseIcyJson = function parseIcyJson(json) { 65790 var list = json["metadata-list"]; 65791 65792 if (!list) { 65793 return []; 65794 } 65795 65796 return list.map(function (meta) { 65797 var _parseIcyMetadata = adsWizzbabel_target_legacy_parseIcyMetadata(meta.metadata), 65798 adswizzContext = _parseIcyMetadata.adswizzContext, 65799 durationMilliseconds = _parseIcyMetadata.durationMilliseconds, 65800 insertionType = _parseIcyMetadata.insertionType, 65801 adId = _parseIcyMetadata.adId; 65802 65803 return { 65804 adswizzContext: adswizzContext, 65805 insertionType: insertionType, 65806 adId: parseInt(adId), 65807 duration: parseInt(durationMilliseconds), 65808 start: parseInt(meta.start) 65809 }; 65810 }).filter(function (x) { 65811 return !!x.adswizzContext; 65812 }); 65813}; 65814var registerAdswizz = /*#__PURE__*/function () { 65815 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 65816 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 65817 while (1) { 65818 switch (_context.prev = _context.next) { 65819 case 0: 65820 return _context.abrupt("return", Object(esm_babel_target_legacy["b" /* loadScript */])("https://synchrobox.adswizz.com/register2.php")); 65821 65822 case 1: 65823 case "end": 65824 return _context.stop(); 65825 } 65826 } 65827 }, _callee); 65828 })); 65829 65830 return function registerAdswizz() { 65831 return _ref2.apply(this, arguments); 65832 }; 65833}(); 65834var syncListenerId = /*#__PURE__*/function () { 65835 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 65836 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 65837 while (1) { 65838 switch (_context2.prev = _context2.next) { 65839 case 0: 65840 return _context2.abrupt("return", Object(esm_babel_target_legacy["b" /* loadScript */])("https://cdn.adswizz.com/adswizz/js/SynchroClient2.js")); 65841 65842 case 1: 65843 case "end": 65844 return _context2.stop(); 65845 } 65846 } 65847 }, _callee2); 65848 })); 65849 65850 return function syncListenerId() { 65851 return _ref3.apply(this, arguments); 65852 }; 65853}(); 65854var getAdswizzListenerId = /*#__PURE__*/function () { 65855 var _ref4 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee3() { 65856 var w; 65857 return regenerator_babel_target_legacy_default.a.wrap(function _callee3$(_context3) { 65858 while (1) { 65859 switch (_context3.prev = _context3.next) { 65860 case 0: 65861 w = window; 65862 65863 if (w.com_adswizz_synchro_listenerid) { 65864 _context3.next = 20; 65865 break; 65866 } 65867 65868 _context3.prev = 2; 65869 _context3.next = 5; 65870 return registerAdswizz(); 65871 65872 case 5: 65873 _context3.next = 11; 65874 break; 65875 65876 case 7: 65877 _context3.prev = 7; 65878 _context3.t0 = _context3["catch"](2); 65879 Object(loggerbabel_target_legacy["e" /* warn */])("adswizz error: registering", _context3.t0); 65880 return _context3.abrupt("return", undefined); 65881 65882 case 11: 65883 _context3.prev = 11; 65884 _context3.next = 14; 65885 return syncListenerId(); 65886 65887 case 14: 65888 _context3.next = 20; 65889 break; 65890 65891 case 16: 65892 _context3.prev = 16; 65893 _context3.t1 = _context3["catch"](11); 65894 Object(loggerbabel_target_legacy["e" /* warn */])("adswizz error: syncing listener id", _context3.t1); 65895 return _context3.abrupt("return", undefined); 65896 65897 case 20: 65898 return _context3.abrupt("return", w.com_adswizz_synchro_listenerid); 65899 65900 case 21: 65901 case "end": 65902 return _context3.stop(); 65903 } 65904 } 65905 }, _callee3, null, [[2, 7], [11, 16]]); 65906 })); 65907 65908 return function getAdswizzListenerId() { 65909 return _ref4.apply(this, arguments); 65910 }; 65911}(); 65912var adsWizzbabel_target_legacy_decorateAdswizzUrl = function decorateAdswizzUrl(url, listenerId) { 65913 var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; 65914 65915 // Get the existing parameters off the stream url 65916 var _url$split = url.split("?"), 65917 _url$split2 = slicedToArraybabel_target_legacy_default()(_url$split, 2), 65918 domain = _url$split2[0], 65919 queryParams = _url$split2[1]; 65920 65921 var qParams = new URLSearchParams(queryParams); // To avoid duplicates, these are the params which can be removed off the stream. 65922 65923 var paramsToClean = [// These are appended each decoration without fail 65924 "listenerid", "companionAds"].concat(toConsumableArraybabel_target_legacy_default()(params.map(function (x) { 65925 return x[0]; 65926 }))); // If the params already exist, delete them. 65927 65928 paramsToClean.forEach(function (param) { 65929 return qParams.has(param) && qParams["delete"](param); 65930 }); 65931 65932 if (listenerId) { 65933 params.push(["listenerid", listenerId]); 65934 } // Pass in the cleaned url for decoration 65935 65936 65937 var stream = Object(utilsbabel_target_legacy["b" /* decorateUrl */])("".concat(domain).concat(qParams.toString() !== "" ? "?" : "").concat(qParams.toString()), [["cb", Object(utilsbabel_target_legacy["h" /* getCachebuster */])()], ["companionAds", "true"]].concat(toConsumableArraybabel_target_legacy_default()(params))); 65938 return stream; 65939}; 65940var sortAds = function sortAds(ad1, ad2) { 65941 return ad1.start - ad2.start; 65942}; 65943var buildAdIframeUrl = function buildAdIframeUrl(domain, zoneId, cookieConsent, tcString, context) { 65944 return "//".concat(domain, ".deliveryengine.adswizz.com/afr?zoneId=").concat(zoneId, "&").concat(!tcString ? "aw_0_req.gdpr=".concat(cookieConsent) : "aw_0_req.userConsentV2=".concat(tcString)).concat(context ? "&context=".concat(context) : ""); 65945}; 65946var buildIframe = function buildIframe(domain, zoneId, cookieConsent, tcString, context) { 65947 return "<iframe frameborder=0 border=0 width=\"100%\" height=\"100%\" class=\"adswizz-iframe\" src=\"".concat(buildAdIframeUrl(domain, zoneId, cookieConsent, tcString, context), "\"></iframe>"); 65948}; 65949var EMPTY_AD = { 65950 content: "", 65951 width: 0, 65952 height: 0 65953}; 65954 65955var adsAreIdentical = function adsAreIdentical(ad1, ad2) { 65956 return ad1 && ad2 && ad1.adId === ad2.adId && ad1.start === ad2.start; 65957}; 65958/** 65959 * when instantiating this class, after creating the class, you must do it like: 65960 * const adswizzEngine = new AdsWizzEngine(adswizzProvider); 65961 * await adswizzEngine.init(); 65962 * there are some async functions happening during instantiation 65963 * and this way we allow it to finish it before we start using it 65964 */ 65965 65966 65967var adsWizzbabel_target_legacy_AdsWizzEngine = /*#__PURE__*/function () { 65968 function AdsWizzEngine(config) { 65969 var _this = this; 65970 65971 classCallCheckbabel_target_legacy_default()(this, AdsWizzEngine); 65972 65973 this.config = config; 65974 this.listenerId = null; 65975 this.upcomingAdBreaks = []; 65976 this.callbacks = {}; 65977 this.throttle = void 0; 65978 this.fallbackAd = void 0; 65979 this.currentCompanion = void 0; 65980 this.init = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee4() { 65981 return regenerator_babel_target_legacy_default.a.wrap(function _callee4$(_context4) { 65982 while (1) { 65983 switch (_context4.prev = _context4.next) { 65984 case 0: 65985 _context4.next = 2; 65986 return _this.setListenerId(); 65987 65988 case 2: 65989 case "end": 65990 return _context4.stop(); 65991 } 65992 } 65993 }, _callee4); 65994 })); 65995 65996 this.updateConsentString = function (tcString) {}; 65997 65998 this.decorateStreamUrl = function (url, params) { 65999 return adsWizzbabel_target_legacy_decorateAdswizzUrl(url, _this.listenerId, params); 66000 }; 66001 66002 this.onTime = function (currentTime, duration) { 66003 if (_this.checkThrottle()) { 66004 try { 66005 _this.getMetadata(); 66006 } catch (err) { 66007 Object(loggerbabel_target_legacy["e" /* warn */])("Metadata error", err); 66008 } 66009 } 66010 66011 var ad = _this.findNextAd(currentTime); 66012 66013 if (!ad || adsAreIdentical(ad, _this.currentCompanion) || !_this.callbacks.onCompanionAds) { 66014 return; 66015 } 66016 66017 _this.currentCompanion = ad; 66018 66019 _this.callbacks.onCompanionAds("rect", [_this.getAd(ad.adswizzContext)]); 66020 66021 window.setTimeout(_this.adEnded, ad.duration); 66022 }; 66023 66024 this.getAd = function (context) { 66025 return { 66026 content: buildIframe(_this.config.domain, _this.config.companionAdZoneId, _this.config.cookieConsent, _this.config.tcString, context), 66027 width: 300, 66028 height: 250 66029 }; 66030 }; 66031 66032 this.adEnded = function () { 66033 Object(loggerbabel_target_legacy["c" /* log */])("Ad end"); 66034 _this.currentCompanion = undefined; 66035 66036 if (_this.callbacks.onCompanionAds) { 66037 _this.callbacks.onCompanionAds("rect", [_this.fallbackAd || EMPTY_AD]); 66038 } 66039 }; 66040 66041 this.findNextAd = function (before) { 66042 var millis = before * 1000; 66043 66044 var _this$upcomingAdBreak = _this.upcomingAdBreaks.filter(function (cuedAd) { 66045 return cuedAd.start <= millis; 66046 }).sort(sortAds), 66047 _this$upcomingAdBreak2 = slicedToArraybabel_target_legacy_default()(_this$upcomingAdBreak, 1), 66048 current = _this$upcomingAdBreak2[0]; 66049 66050 _this.upcomingAdBreaks = _this.upcomingAdBreaks.filter(function (cuedAd) { 66051 return cuedAd.start > millis; 66052 }); 66053 return current; 66054 }; 66055 66056 this.checkThrottle = function () { 66057 if (_this.throttle) { 66058 return false;
66059 } 66060 66061 _this.throttle = window.setTimeout(function () { 66062 return _this.throttle = undefined; 66063 }, 3000); 66064 return true; 66065 }; 66066 66067 this.getMetadata = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee5() { 66068 var response, json, result; 66069 return regenerator_babel_target_legacy_default.a.wrap(function _callee5$(_context5) { 66070 while (1) { 66071 switch (_context5.prev = _context5.next) { 66072 case 0: 66073 if (_this.config.metadataUrl) { 66074 _context5.next = 2; 66075 break; 66076 } 66077 66078 throw new Error("No metadata URL"); 66079 66080 case 2: 66081 _context5.next = 4; 66082 return Object(fetchTimeoutbabel_target_legacy["b" /* fetchTimeout */])(Object(utilsbabel_target_legacy["b" /* decorateUrl */])(_this.config.metadataUrl, [["type", "json"], ["cb", Object(utilsbabel_target_legacy["h" /* getCachebuster */])()], ["details", "1"]]), { 66083 credentials: "include" 66084 }, 1000); 66085 66086 case 4: 66087 response = _context5.sent; 66088 _context5.next = 7; 66089 return response.ok; 66090 66091 case 7: 66092 if (_context5.sent) { 66093 _context5.next = 9; 66094 break; 66095 } 66096 66097 throw new Error("No response received from ad provider"); 66098 66099 case 9: 66100 _context5.next = 11; 66101 return response.json(); 66102 66103 case 11: 66104 json = _context5.sent; 66105 result = parseIcyJson(json); 66106 66107 if (result && result.length) { 66108 Object(loggerbabel_target_legacy["c" /* log */])("Got ads", result); 66109 66110 _this.insertAds(result); 66111 } 66112 66113 case 14: 66114 case "end": 66115 return _context5.stop(); 66116 } 66117 } 66118 }, _callee5); 66119 })); 66120 66121 this.insertAds = function (ads) { 66122 _this.upcomingAdBreaks = [].concat(toConsumableArraybabel_target_legacy_default()(_this.upcomingAdBreaks), toConsumableArraybabel_target_legacy_default()(ads.filter(function (ad) { 66123 return !_this.upcomingAdBreaks.find(function (old) { 66124 return !adsAreIdentical(ad, old); 66125 }) && !adsAreIdentical(ad, _this.currentCompanion); 66126 }))).sort(sortAds); 66127 }; 66128 66129 this.setListenerId = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee6() { 66130 return regenerator_babel_target_legacy_default.a.wrap(function _callee6$(_context6) { 66131 while (1) { 66132 switch (_context6.prev = _context6.next) { 66133 case 0: 66134 _context6.next = 2; 66135 return getAdswizzListenerId(); 66136 66137 case 2: 66138 _context6.t0 = _context6.sent; 66139 66140 if (_context6.t0) { 66141 _context6.next = 5; 66142 break; 66143 } 66144 66145 _context6.t0 = null; 66146 66147 case 5: 66148 return _context6.abrupt("return", _this.listenerId = _context6.t0); 66149 66150 case 6: 66151 case "end": 66152 return _context6.stop(); 66153 } 66154 } 66155 }, _callee6); 66156 })); 66157 66158 if (config.fallbackAdZoneId) { 66159 this.fallbackAd = { 66160 content: buildIframe(config.domain, config.fallbackAdZoneId, config.cookieConsent, config.tcString), 66161 width: 400, 66162 height: 350 66163 }; 66164 } 66165 } 66166 66167 createClassbabel_target_legacy_default()(AdsWizzEngine, [{ 66168 key: "setCallbacks", 66169 value: function setCallbacks(callbacks) { 66170 this.callbacks = _objectSpread(_objectSpread({}, this.callbacks), callbacks); 66171 66172 if (!this.currentCompanion && this.fallbackAd && callbacks.onCompanionAds) { 66173 callbacks.onCompanionAds("rect", [this.fallbackAd]); 66174 } 66175 } 66176 }]); 66177 66178 return AdsWizzEngine; 66179}(); 66180// EXTERNAL MODULE: ./src/components/AudioEngine/AudioEngine.tsx?babel-target=legacy + 7 modules 66181var AudioEnginebabel_target_legacy = __webpack_require__(944); 66182 66183// EXTERNAL MODULE: ./src/components/StationError/index.ts?babel-target=legacy + 1 modules 66184var StationErrorbabel_target_legacy = __webpack_require__(788); 66185 66186// EXTERNAL MODULE: ./src/components/TransportControls/index.ts?babel-target=legacy + 11 modules 66187var TransportControlsbabel_target_legacy = __webpack_require__(784); 66188 66189// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.slice.js?babel-target=legacy 66190var es_array_buffer_slicebabel_target_legacy = __webpack_require__(492); 66191 66192// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js?babel-target=legacy 66193var es_string_replacebabel_target_legacy = __webpack_require__(269); 66194 66195// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint8-array.js?babel-target=legacy 66196var es_typed_array_uint8_arraybabel_target_legacy = __webpack_require__(493); 66197 66198// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js?babel-target=legacy 66199var es_typed_array_copy_withinbabel_target_legacy = __webpack_require__(494); 66200 66201// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js?babel-target=legacy 66202var es_typed_array_everybabel_target_legacy = __webpack_require__(495); 66203 66204// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js?babel-target=legacy 66205var es_typed_array_fillbabel_target_legacy = __webpack_require__(496); 66206 66207// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js?babel-target=legacy 66208var es_typed_array_filterbabel_target_legacy = __webpack_require__(497); 66209 66210// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js?babel-target=legacy 66211var es_typed_array_findbabel_target_legacy = __webpack_require__(498); 66212 66213// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js?babel-target=legacy 66214var es_typed_array_find_indexbabel_target_legacy = __webpack_require__(499); 66215 66216// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js?babel-target=legacy 66217var es_typed_array_for_eachbabel_target_legacy = __webpack_require__(500); 66218 66219// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js?babel-target=legacy 66220var es_typed_array_includesbabel_target_legacy = __webpack_require__(501); 66221 66222// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js?babel-target=legacy 66223var es_typed_array_index_ofbabel_target_legacy = __webpack_require__(502); 66224 66225// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js?babel-target=legacy 66226var es_typed_array_iteratorbabel_target_legacy = __webpack_require__(503); 66227 66228// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js?babel-target=legacy 66229var es_typed_array_joinbabel_target_legacy = __webpack_require__(504); 66230 66231// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js?babel-target=legacy 66232var es_typed_array_last_index_ofbabel_target_legacy = __webpack_require__(505); 66233 66234// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js?babel-target=legacy 66235var es_typed_array_mapbabel_target_legacy = __webpack_require__(506); 66236 66237// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js?babel-target=legacy 66238var es_typed_array_reducebabel_target_legacy = __webpack_require__(507); 66239 66240// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js?babel-target=legacy 66241var es_typed_array_reduce_rightbabel_target_legacy = __webpack_require__(508); 66242 66243// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js?babel-target=legacy 66244var es_typed_array_reversebabel_target_legacy = __webpack_require__(509); 66245 66246// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js?babel-target=legacy 66247var es_typed_array_setbabel_target_legacy = __webpack_require__(510); 66248 66249// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js?babel-target=legacy 66250var es_typed_array_slicebabel_target_legacy = __webpack_require__(511); 66251 66252// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js?babel-target=legacy 66253var es_typed_array_somebabel_target_legacy = __webpack_require__(512); 66254 66255// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js?babel-target=legacy 66256var es_typed_array_sortbabel_target_legacy = __webpack_require__(513); 66257 66258// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js?babel-target=legacy 66259var es_typed_array_subarraybabel_target_legacy = __webpack_require__(514); 66260 66261// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js?babel-target=legacy 66262var es_typed_array_to_locale_stringbabel_target_legacy = __webpack_require__(515); 66263 66264// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js?babel-target=legacy 66265var es_typed_array_to_stringbabel_target_legacy = __webpack_require__(516); 66266 66267// CONCATENATED MODULE: ./src/lib/triton.ts?babel-target=legacy 66268 66269 66270 66271 66272 66273 66274 66275 66276 66277 66278 66279 66280 66281 66282 66283 66284 66285 66286 66287 66288 66289 66290 66291 66292 66293 66294 66295 66296 66297 66298 66299 66300 66301 66302 66303 66304 66305 66306 66307 66308 66309 66310 66311 66312 66313 66314 66315 66316function tritonbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 66317 66318function tritonbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { tritonbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { tritonbabel_target_legacy_ownKeys(Object(source)).forEac
66318h(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 66319 66320 66321 66322var tritonbabel_target_legacy_crypto = window.crypto || window.msCrypto; 66323 66324var uuid = function uuid() { 66325 return "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, function (c) { 66326 return (parseInt(c) ^ tritonbabel_target_legacy_crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> parseInt(c) / 4).toString(16); 66327 }); 66328}; 66329 66330var tritonbabel_target_legacy_sortAds = function sortAds(ad1, ad2) { 66331 return ad1.start - ad2.start; 66332}; 66333var tritonbabel_target_legacy_buildIframe = function buildIframe(url) { 66334 return "<iframe frameborder=0 border=0 width=\"100%\" height=\"100%\" class=\"adswizz-iframe\" src=\"".concat(url, "\"></iframe>"); 66335}; 66336var tritonbabel_target_legacy_TritonEngine = /*#__PURE__*/function () { 66337 function TritonEngine(config) { 66338 var _this = this; 66339 66340 classCallCheckbabel_target_legacy_default()(this, TritonEngine); 66341 66342 this.config = config; 66343 this.upcomingAdBreaks = []; 66344 this.callbacks = {}; 66345 this.currentCompanion = void 0; 66346 this.uuid = void 0; 66347 this.sbmStream = void 0; 66348 this.seenBytes = 0; 66349 66350 this.decorateStreamUrl = function (url) { 66351 return Object(utilsbabel_target_legacy["b" /* decorateUrl */])(url, [].concat(toConsumableArraybabel_target_legacy_default()(_this.getUrlParams()), [["banners", "300x250"], ["pname", "rpweb"]])); 66352 }; 66353 66354 this.handleAd = function (ad) { 66355 if (!ad.parameters.ad_url) { 66356 return; 66357 } 66358 66359 var newAd = { 66360 start: ad.timestamp, 66361 adUrl: ad.parameters.ad_url.substr(1), 66362 duration: parseInt(ad.parameters.cue_time_duration) 66363 }; 66364 66365 _this.upcomingAdBreaks.push(newAd); 66366 }; 66367 66368 this.handleCuePoint = function (data) { 66369 if (data.name === "track") { 66370 Object(loggerbabel_target_legacy["c" /* log */])("track", data); 66371 return; 66372 } 66373 66374 Object(loggerbabel_target_legacy["c" /* log */])("got ad", data); 66375 66376 _this.handleAd(data); 66377 }; 66378 66379 this.onMetadata = function (e) { 66380 var xhr = _this.sbmStream; 66381 66382 if (!xhr) { 66383 Object(loggerbabel_target_legacy["e" /* warn */])("Missing XHR"); 66384 return; 66385 } 66386 66387 Object(loggerbabel_target_legacy["c" /* log */])("state change.. state: ", xhr.readyState); 66388 66389 if (xhr.readyState === 3) { 66390 try { 66391 var newData = xhr.response.substr(_this.seenBytes); 66392 var cleaned = newData.split("\n").map(function (line) { 66393 return line.substr(6); 66394 }).join("").split("}{").join("},{"); 66395 Object(loggerbabel_target_legacy["c" /* log */])(cleaned); 66396 var obj = JSON.parse("[".concat(cleaned, "]")); 66397 obj.map(_this.handleCuePoint); 66398 } catch (e) { 66399 Object(loggerbabel_target_legacy["e" /* warn */])(e); 66400 } 66401 66402 _this.seenBytes = xhr.responseText.length; 66403 Object(loggerbabel_target_legacy["c" /* log */])("seenBytes: ".concat(_this.seenBytes)); 66404 } 66405 }; 66406 66407 this.onTime = function (currentTime, duration) { 66408 if (!_this.sbmStream) { 66409 Object(loggerbabel_target_legacy["c" /* log */])("connecting to sbm"); 66410 66411 _this.connectToSbm(); 66412 66413 return; 66414 } 66415 66416 var ad = _this.findNextAd(currentTime); 66417 66418 if (!ad || !_this.callbacks.onCompanionAds) { 66419 return; 66420 } 66421 66422 _this.currentCompanion = ad; 66423 66424 _this.callbacks.onCompanionAds("rect", [_this.getAd(ad.adUrl)]); 66425 66426 window.setTimeout(_this.adEnded, ad.duration); 66427 }; 66428 66429 this.getAd = function (url) { 66430 return { 66431 content: tritonbabel_target_legacy_buildIframe(url), 66432 width: 300, 66433 height: 250 66434 }; 66435 }; 66436 66437 this.adEnded = function () { 66438 Object(loggerbabel_target_legacy["c" /* log */])("Ad end"); 66439 _this.currentCompanion = undefined; 66440 66441 if (_this.callbacks.onCompanionAds) { 66442 _this.callbacks.onCompanionAds("rect", []); 66443 } 66444 }; 66445 66446 this.findNextAd = function (before) { 66447 var millis = before * 1000; 66448 66449 var _this$upcomingAdBreak = _this.upcomingAdBreaks.filter(function (cuedAd) { 66450 return cuedAd.start <= millis; 66451 }).sort(tritonbabel_target_legacy_sortAds), 66452 _this$upcomingAdBreak2 = slicedToArraybabel_target_legacy_default()(_this$upcomingAdBreak, 1), 66453 current = _this$upcomingAdBreak2[0]; 66454 66455 _this.upcomingAdBreaks = _this.upcomingAdBreaks.filter(function (cuedAd) { 66456 return cuedAd.start > millis; 66457 }); 66458 return current; 66459 }; 66460 66461 this.setSbmId = function () { 66462 return _this.uuid = uuid(); 66463 }; 66464 66465 this.setSbmId(); 66466 } 66467 66468 createClassbabel_target_legacy_default()(TritonEngine, [{ 66469 key: "setCallbacks", 66470 value: function setCallbacks(callbacks) { 66471 this.callbacks = tritonbabel_target_legacy_objectSpread(tritonbabel_target_legacy_objectSpread({}, this.callbacks), callbacks); 66472 } 66473 }, { 66474 key: "getUrlParams", 66475 value: function getUrlParams() {
66476 var urlParams = [["sbmid", this.uuid]]; 66477 66478 if (this.config.tcString) { 66479 urlParams.push(["gdpr", "1"], ["gdpr_consent", this.config.tcString]); 66480 } 66481 66482 return urlParams; 66483 } 66484 }, { 66485 key: "connectToSbm", 66486 value: function connectToSbm() { 66487 this.sbmStream = new XMLHttpRequest(); 66488 this.sbmStream.open("GET", Object(utilsbabel_target_legacy["b" /* decorateUrl */])(this.config.metadataUrl, this.getUrlParams())); 66489 this.sbmStream.addEventListener("readystatechange", this.onMetadata); 66490 this.sbmStream.send(); 66491 } 66492 }, { 66493 key: "onPlayStatusChanged", 66494 value: function onPlayStatusChanged(play) { 66495 // close sbmSTream when paused, will reopen inm this.onTime when play is resumed 66496 if (!play && this.sbmStream) { 66497 this.sbmStream.abort(); 66498 this.sbmStream = null; 66499 } 66500 } 66501 }]); 66502 66503 return TritonEngine; 66504}(); 66505// CONCATENATED MODULE: ./src/lib/vast.ts?babel-target=legacy 66506 66507 66508 66509 66510 66511 66512 66513 66514 66515 66516 66517 66518 66519var PrerollState; 66520 66521(function (PrerollState) { 66522 PrerollState[PrerollState["NOT_INITIALIZED"] = 0] = "NOT_INITIALIZED"; 66523 PrerollState[PrerollState["NOT_USED"] = 1] = "NOT_USED"; 66524 PrerollState[PrerollState["WILL_REQUEST"] = 2] = "WILL_REQUEST"; 66525 PrerollState[PrerollState["REQUESTED"] = 3] = "REQUESTED"; 66526 PrerollState[PrerollState["ABOUT_TO_START"] = 4] = "ABOUT_TO_START"; 66527 PrerollState[PrerollState["NONE_AVAILABLE"] = 5] = "NONE_AVAILABLE"; 66528 PrerollState[PrerollState["PLAYING"] = 6] = "PLAYING"; 66529 PrerollState[PrerollState["PLAYED"] = 7] = "PLAYED"; 66530 PrerollState[PrerollState["FAILED"] = 8] = "FAILED"; 66531 PrerollState[PrerollState["CALLED_RESULT_CALLBACK"] = 9] = "CALLED_RESULT_CALLBACK"; 66532})(PrerollState || (PrerollState = {})); 66533 66534var vastbabel_target_legacy_VastEngine = /*#__PURE__*/function () { 66535 /** 66536 * Values over 5000 might create problems, because google.ima uses its own default timeout of 5000. 66537 * If changed, Netlify docs need to be updated accordingly. 66538 * @private 66539 */ 66540 66541 /** 66542 * This state variable keeps track of the VAST preroll. 66543 * It is required to call AdEngineCallbacks.onPrerollPlayResult at the right times with the right value. 66544 * 66545 * {@see Player} also has a state variable to track VAST preroll. This was not merged into one state, 66546 * because {@see Player} and {@see VastEngine} transition between the states at different points. 66547 * @private 66548 */ 66549 function VastEngine(config, videoContainer, videoTag, companionAdSlots) { 66550 var _this = this; 66551 66552 var vastPrerollShouldPlayBeforeStream = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; 66553 66554 classCallCheckbabel_target_legacy_default()(this, VastEngine); 66555 66556 this.config = config; 66557 this.videoContainer = videoContainer; 66558 this.videoTag = videoTag; 66559 this.companionAdSlots = companionAdSlots; 66560 this.startedLoad = false; 66561 this.callbacks = void 0; 66562 this.ima = void 0; 66563 this.adContainer = void 0; 66564 this.adsLoader = void 0; 66565 this.adsManager = void 0; 66566 this.playedAd = false; 66567 this.disable = false; 66568 this.aborting = false; 66569 this.adTimeoutRef = void 0; 66570 this.audioElementProxy = { 66571 currentTime: 0, 66572 duration: 0 66573 }; 66574 this.prerollState = PrerollState.NOT_INITIALIZED; 66575 66576 this.setCallbacks = function (callbacks) { 66577 _this.callbacks = callbacks; 66578 }; 66579 66580 this.onTime = /*#__PURE__*/function () { 66581 var _ref = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee(currentTime, duration) { 66582 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 66583 while (1) { 66584 switch (_context.prev = _context.next) { 66585 case 0: 66586 _this.audioElementProxy.currentTime = currentTime; 66587 _this.audioElementProxy.duration = duration; 66588 66589 if (!_this.playedAd && _this.adsLoader && !_this.disable) { 66590 _this.requestAds(); 66591 } 66592 66593 case 3: 66594 case "end": 66595 return _context.stop(); 66596 } 66597 } 66598 }, _callee); 66599 })); 66600 66601 return function (_x, _x2) { 66602 return _ref.apply(this, arguments); 66603 }; 66604 }(); 66605 66606 this.onPlayStatusChanged = function (play) { 66607 Object(loggerbabel_target_legacy["c" /* log */])("VAST play status changed", play); 66608 66609 if (play) { 66610 _this.requestAds(); 66611 } 66612 }; 66613 66614 this.setupAds = /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 66615 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 66616 while (1) { 66617 switch (_context2.prev = _context2.next) { 66618 case 0: 66619 Object(loggerbabel_target_legacy["c" /* log */])("Setup VAST ads"); 66620 66621 if (!_this.startedLoad) { 66622 _context2.next = 4; 66623 break; 66624 } 66625 66626 Object(loggerbabel_target_legacy["c" /* log */])("started load"); 66627 return _context2.abrupt("return"); 66628 66629 case 4: 66630 _this.startedLoad = true; 66631 _context2.prev = 5; 66632 _context2.next = 8; 66633 return Object(esm_babel_target_legacy["a" /* loadImaSdk */])(); 66634 66635 case 8: 66636 _this.ima = _context2.sent; 66637 _context2.next = 14; 66638 break; 66639 66640 case 11: 66641 _context2.prev = 11; 66642 _context2.t0 = _context2["catch"](5); 66643 throw new Error("Loading IMA SDK failed, maybe because of an ad blocker."); 66644 66645 case 14: 66646 if (_this.videoContainer.current) { 66647 _context2.next = 17; 66648 break; 66649 } 66650 66651 Object(loggerbabel_target_legacy["e" /* warn */])("No video container"); 66652 return _context2.abrupt("return"); 66653 66654 case 17: 66655 _this.adContainer = new _this.ima.AdDisplayContainer(_this.videoContainer.current, _this.videoTag.current); 66656 _this.adsLoader = new _this.ima.AdsLoader(_this.adContainer); 66657 66658 _this.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, _this.onAdsManagerLoaded); 66659 66660 _this.adsLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, _this.errorHandler); 66661 66662 case 21: 66663 case "end": 66664 return _context2.stop(); 66665 } 66666 } 66667 }, _callee2, null, [[5, 11]]); 66668 })); 66669 66670 this.errorHandler = function (event) { 66671 Object(loggerbabel_target_legacy["e" /* warn */])("Ad error", event.getError()); 66672 _this.disable = true; 66673 66674 if (_this.prerollState !== PrerollState.NOT_USED && _this.prerollState !== PrerollState.CALLED_RESULT_CALLBACK) { 66675 _this.updatePrerollState(PrerollState.FAILED); 66676 } 66677 66678 _this.abort(); 66679 }; 66680 66681 this.clearTimeout = function () { 66682 if (!_this.adTimeoutRef) { 66683 return; 66684 } 66685 66686 Object(loggerbabel_target_legacy["c" /* log */])("Clearing timeout of VastEngine"); 66687 window.clearTimeout(_this.adTimeoutRef); 66688 _this.adTimeoutRef = undefined; 66689 }; 66690 66691 this.startAdsTimeout = function () { 66692 var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : VastEngine.AD_TIMEOUT_INTERVAL; 66693 66694 if (_this.adTimeoutRef) { 66695 Object(loggerbabel_target_legacy["c" /* log */])("Already waiting"); 66696 return; 66697 } 66698 66699 _this.adTimeoutRef = window.setTimeout(_this.timeoutAd, interval); 66700 }; 66701 66702 this.timeoutAd = function () { 66703 Object(loggerbabel_target_legacy["e" /* warn */])("Ad timeout"); 66704 _this.aborting = false;
66705 _this.disable = true; 66706 _this.adTimeoutRef = undefined; 66707 66708 if (_this.prerollState !== PrerollState.NOT_INITIALIZED && _this.prerollState !== PrerollState.NOT_USED && _this.prerollState !== PrerollState.NONE_AVAILABLE) { 66709 _this.updatePrerollState(PrerollState.FAILED); 66710 } 66711 66712 _this.requestPlay(); 66713 }; 66714 66715 this.requestAds = function () { 66716 var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 66717 66718 if (_this.playedAd && !force) { 66719 Object(loggerbabel_target_legacy["c" /* log */])("Already played ad"); 66720 66721 _this.requestPlay(); 66722 66723 return; 66724 } 66725 66726 if (!_this.adsLoader || _this.disable) { 66727 Object(loggerbabel_target_legacy["c" /* log */])("No ad loader or ads disabled"); 66728 66729 _this.abort(); 66730 66731 return; 66732 } 66733 66734 Object(loggerbabel_target_legacy["c" /* log */])("Requesting ad"); 66735 _this.playedAd = true; 66736 var adsRequest = new google.ima.AdsRequest(); 66737 adsRequest.adTagUrl = _this.config.tag; 66738 adsRequest.linearAdSlotWidth = 375; 66739 adsRequest.linearAdSlotHeight = 200; 66740 adsRequest.nonLinearAdSlotWidth = 375; 66741 adsRequest.nonLinearAdSlotHeight = 200; 66742 adsRequest.forceNonLinearFullSlot = false; 66743 66744 if (_this.prerollState === PrerollState.WILL_REQUEST) { 66745 _this.updatePrerollState(PrerollState.REQUESTED); 66746 } 66747 66748 _this.adsLoader.requestAds(adsRequest); 66749 66750 _this.startAdsTimeout(); 66751 }; 66752 66753 this.eventHandler = function (event) { 66754 return Object(loggerbabel_target_legacy["c" /* log */])(event, event.getAd()); 66755 }; 66756 66757 this.adLoaded = function (event) { 66758 var ad = event.getAd(); // Non-linear ads are not supported. 66759 // Therefore, if the ad is linear -> abort playback. 66760 66761 if (ad && !ad.isLinear()) { 66762 _this.abort(); 66763 } 66764 }; 66765 66766 this.completeOrSkippedHandler = function () { 66767 if (_this.prerollState === PrerollState.PLAYING) { 66768 /** 66769 * Note: Not every VAST ad can be skipped, the ad publisher must explicitly configure it to be skippable. 66770 * Therefore, "skipped" also counts as "played". 66771 */ 66772 _this.updatePrerollState(PrerollState.PLAYED); 66773 } 66774 }; 66775 66776 this.requestPause = function () { 66777 if (_this.callbacks && _this.callbacks.requestStreamPause) { 66778 _this.callbacks.requestStreamPause(); 66779 } 66780 }; 66781 66782 this.requestPlay = function () { 66783 var _this$callbacks; 66784 66785 _this.clearTimeout(); 66786 /** 66787 * If preroll requesting/playback has finished and VastEngine's parent component 66788 * needs to be informed of the result, call the onPrerollPlayResult() callback. 66789 * In all other cases, call requestStreamPlayback() callback; 66790 */ 66791 66792 66793 if ((_this$callbacks = _this.callbacks) === null || _this$callbacks === void 0 ? void 0 : _this$callbacks.onPrerollPlayResult) { 66794 if (_this.prerollState === PrerollState.FAILED || _this.prerollState === PrerollState.NONE_AVAILABLE) { 66795 _this.callbacks.onPrerollPlayResult(false); 66796 66797 _this.prerollState = PrerollState.CALLED_RESULT_CALLBACK; 66798 return; 66799 } else if (_this.prerollState === PrerollState.PLAYED) { 66800 _this.callbacks.onPrerollPlayResult(true); 66801 66802 _this.prerollState = PrerollState.CALLED_RESULT_CALLBACK; 66803 return; 66804 } 66805 } 66806 66807 if (_this.callbacks && _this.callbacks.requestStreamPlay) { 66808 _this.callbacks.requestStreamPlay(); 66809 } 66810 }; 66811 66812 this.abort = function () { 66813 if (!_this.adsManager) { 66814 _this.requestPlay(); 66815 66816 return; 66817 } 66818 66819 Object(loggerbabel_target_legacy["c" /* log */])("adsManager stop"); 66820 66821 _this.adsManager.stop(); // Give the SDK 500ms to handle stopping, otherwise we do it 66822 66823 66824 _this.aborting = true; 66825 66826 _this.startAdsTimeout(500); 66827 }; 66828 66829 this.startHandler = function (event) { 66830 Object(loggerbabel_target_legacy["c" /* log */])("Start VAST ad", event); 66831 66832 if (!_this.aborting) { 66833 _this.clearTimeout(); 66834 } 66835 66836 var ad = event.getAd(); 66837 66838 if (!ad) { 66839 Object(loggerbabel_target_legacy["c" /* log */])("No ad"); 66840 return; 66841 } 66842 66843 Object(loggerbabel_target_legacy["c" /* log */])({ 66844 ad: ad 66845 }); 66846 66847 if (_this.prerollState === PrerollState.ABOUT_TO_START) { 66848 _this.updatePrerollState(PrerollState.PLAYING); 66849 } 66850 66851 if (!_this.companionAdSlots || !_this.callbacks || !_this.callbacks.onCompanionAds) { 66852 Object(loggerbabel_target_legacy["c" /* log */])("No companion ad handler"); 66853 return; 66854 } 66855
66856 _this.companionAdSlots.forEach(function (_ref3) { 66857 var width = _ref3.width, 66858 height = _ref3.height, 66859 id = _ref3.id; 66860 var companions = ad.getCompanionAds(width, height); 66861 66862 if (!_this.callbacks || !_this.callbacks.onCompanionAds) { 66863 return; 66864 } 66865 66866 _this.callbacks.onCompanionAds(id, companions.map(function (companion) { 66867 return { 66868 width: companion.getWidth(), 66869 height: companion.getHeight(), 66870 content: companion.getContent() 66871 }; 66872 })); 66873 }); 66874 }; 66875 66876 this.clickHandler = function (event) { 66877 var ad = event.getAd(); 66878 66879 if (!ad) { 66880 return; 66881 } 66882 66883 Object(loggerbabel_target_legacy["c" /* log */])("Click ad", ad); 66884 }; 66885 66886 this.onAdsManagerLoaded = function (adsManagerLoadedEvent) { 66887 if (!_this.adContainer) { 66888 Object(loggerbabel_target_legacy["c" /* log */])("No VAST video element"); 66889 return; 66890 } 66891 /** 66892 * If a timeoutAd() was already triggered, don't start playing the ad(s) 66893 */ 66894 66895 66896 if (_this.disable) { 66897 Object(loggerbabel_target_legacy["c" /* log */])("VastEngine was disabled, not playing any ads"); 66898 return; 66899 } 66900 66901 var renderingSettings = new google.ima.AdsRenderingSettings(); 66902 _this.adsManager = adsManagerLoadedEvent.getAdsManager(_this.audioElementProxy, renderingSettings); 66903 66904 _this.adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, _this.startHandler); 66905 66906 _this.adsManager.addEventListener(google.ima.AdEvent.Type.LOG, _this.eventHandler); 66907 66908 _this.adsManager.addEventListener(google.ima.AdEvent.Type.CLICK, _this.clickHandler); 66909 66910 _this.adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, _this.adLoaded); 66911 66912 _this.adsManager.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, _this.eventHandler); 66913 66914 _this.adsManager.addEventListener(google.ima.AdEvent.Type.AD_METADATA, _this.eventHandler); 66915 66916 _this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, function () { 66917 Object(loggerbabel_target_legacy["c" /* log */])("CONTENT_PAUSE_REQUESTED"); // Bugfix: 66918 // Sometimes VastEngine's this.timeoutAd() was triggered between google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED and google.ima.AdEvent.Type.STARTED 66919 // That led to an unstable state where both 1. adTimeout was triggered and 2. the ad was played. 66920 // VastEngine's parent component then behaved as if no ad was playing while VastEngine behaved like an ad was playing. 66921 // Consequently, the stream and ad played at the same time. 66922 66923 _this.clearTimeout(); 66924 66925 _this.requestPause(); 66926 }); 66927 66928 _this.adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, _this.completeOrSkippedHandler); 66929 66930 _this.adsManager.addEventListener(google.ima.AdEvent.Type.SKIPPED, _this.completeOrSkippedHandler); 66931 66932 _this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, function () { 66933 Object(loggerbabel_target_legacy["c" /* log */])("CONTENT_RESUME_REQUESTED"); 66934 66935 _this.requestPlay(); 66936 }); 66937 66938 _this.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, _this.errorHandler); 66939 66940 _this.adContainer.initialize(); 66941 66942 Object(loggerbabel_target_legacy["c" /* log */])("About to start ad"); 66943 66944 try { 66945 _this.adsManager.init(640, 360, google.ima.ViewMode.NORMAL); 66946 66947 if (_this.prerollState === PrerollState.REQUESTED) { 66948 var hasPreroll = VastEngine.checkForPreroll(_this.adsManager); 66949 66950 _this.updatePrerollState(hasPreroll ? PrerollState.ABOUT_TO_START : PrerollState.NONE_AVAILABLE); 66951 } 66952 66953 _this.adsManager.start(); 66954 } catch (adError) { 66955 Object(loggerbabel_target_legacy["e" /* warn */])("Ad error", adError); 66956 66957 _this.updatePrerollState(PrerollState.FAILED); 66958 66959 _this.abort(); 66960 } 66961 }; 66962 66963 /** 66964 * Use dedicated constructor argument instead of config.playPrerollBeforeStream, 66965 * because not all parent components of VastEngine support the feature. 66966 * e.g. if a station enabled it in their EmbeddedPlayer JSON config, ad playback would not work properly. 66967 */ 66968 this.updatePrerollState(vastPrerollShouldPlayBeforeStream === true ? PrerollState.WILL_REQUEST : PrerollState.NOT_USED); 66969 } 66970 66971 createClassbabel_target_legacy_default()(VastEngine, [{ 66972 key: "updatePrerollState", 66973 66974 /** 66975 * Update the preroll state. 66976 * @param prerollState 66977 * @private 66978 */ 66979 value: function updatePrerollState(prerollState) { 66980 Object(loggerbabel_target_legacy["c" /* log */])("prerollState changed from ".concat(PrerollState[this.prerollState], " to ").concat(PrerollState[prerollState])); 66981 this.prerollState = prerollState; 66982 } 66983 /** 66984 * Check if the given AdsManager has a preroll Ad available 66985 * @param adsManager The AdsManager 66986 * @private 66987 * @return True, if there is a preroll, false otherwise. 66988 */ 66989 66990 }], [{ 66991 key: "checkForPreroll", 66992 value: function checkForPreroll(adsManager) { 66993 /** 66994 * This class supports VAST Prerolls and Midrolls. Postrolls are not supported. 66995 * Additionally, because of how this class is used within radioplayer
66995-web-player, the following holds true: 66996 * 1. If VastProvider.playPrerollBeforeStream=false: A preroll might not be played before the actual stream, but up to several seconds after actual content has started. 66997 * 2. If VastProvider.playPrerollBeforeStream=false: A preroll will always be played before the actual stream is loaded/played. 66998 * 3. Midrolls are only supported if VMAP is used. 66999 * 4. If VMAP is not used, each VastEngine instance issues only a single VAST request during its lifetime. This will be played as Preroll. 67000 * 67001 * To detect if a VAST response is a Preroll or not, the following heuristic is used: 67002 * 1. If the VAST server responds with a single <Ad> then AdsManager#getCuePoints() will return an empty array. The ad is a preroll. 67003 * 2. If the VAST server responds with a <vmap:VMAP> then AdsManager#getCuePoint() will return a non-empty array. To determine, whether a preroll is included, the content of the array has to be checked. 67004 */ 67005 var PREROLL_CUEPOINT = 0; // timeOffset of a Preroll is 0 67006 67007 var isSingleAd = adsManager.getCuePoints().length === 0; 67008 var isVMAPWithPreroll = adsManager.getCuePoints().includes(PREROLL_CUEPOINT); 67009 return isSingleAd || isVMAPWithPreroll; 67010 } 67011 }]); 67012 67013 return VastEngine; 67014}(); 67015vastbabel_target_legacy_VastEngine.AD_TIMEOUT_INTERVAL = 3000; 67016// EXTERNAL MODULE: ./src/lib/APIManager/APIManager.ts?babel-target=legacy 67017var APIManagerbabel_target_legacy = __webpack_require__(32); 67018 67019// EXTERNAL MODULE: ./src/components/Player/Player.module.css 67020var Player_module = __webpack_require__(489); 67021var Player_module_default = /*#__PURE__*/__webpack_require__.n(Player_module); 67022 67023// EXTERNAL MODULE: ./src/lib/APIManager/APIProvider.tsx?babel-target=legacy 67024var APIProviderbabel_target_legacy = __webpack_require__(525); 67025 67026// EXTERNAL MODULE: ./src/lib/APIManager/useAPI.ts?babel-target=legacy 67027var useAPIbabel_target_legacy = __webpack_require__(44); 67028 67029// EXTERNAL MODULE: ./src/lib/Analytics/index.ts?babel-target=legacy + 3 modules 67030var Analyticsbabel_target_legacy = __webpack_require__(184); 67031 67032// EXTERNAL MODULE: ./src/lib/EventBus/index.ts?babel-target=legacy 67033var EventBusbabel_target_legacy = __webpack_require__(152); 67034 67035// EXTERNAL MODULE: ./src/lib/useVolume.ts?babel-target=legacy 67036var useVolumebabel_target_legacy = __webpack_require__(751); 67037 67038// CONCATENATED MODULE: ./src/components/Player/Player.tsx?babel-target=legacy 67039 67040 67041 67042 67043 67044 67045 67046 67047 67048 67049 67050 67051 67052 67053 67054 67055 67056 67057 67058 67059 67060 67061 67062 67063 67064 67065 67066 67067 67068 67069function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 67070 67071function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 67072 67073function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 67074 67075function Playerbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 67076 67077function Playerbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Playerbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Playerbabel_target_legacy_ownKeys(Object(source)).forEac
67077h(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 67078 67079 67080 67081 67082 67083 67084 67085 67086 67087 67088 67089 67090 67091 67092 67093 67094 67095 67096 67097var VastPrerollState; 67098/** 67099 * AdProviderStatus needs to be stored, because AudioEngine must not load streams before all adEngines are properly initialized. 67100 * Otherwise AudioEngine will load streams too soon and attach no or only partial query params. 67101 * 67102 * Legal state changes: 67103 * NOT_USED -> NOT_YET_INITIALIZED 67104 * NOT_YET_INITIALIZED -> INITIALIZING 67105 * INITIALIZING -> BLOCKED, READY 67106 */ 67107 67108(function (VastPrerollState) { 67109 VastPrerollState[VastPrerollState["NOT_INITIALIZED"] = 0] = "NOT_INITIALIZED"; 67110 VastPrerollState[VastPrerollState["NOT_USED"] = 1] = "NOT_USED"; 67111 VastPrerollState[VastPrerollState["WILL_REQUEST"] = 2] = "WILL_REQUEST"; 67112 VastPrerollState[VastPrerollState["REQUESTED"] = 3] = "REQUESTED"; 67113 VastPrerollState[VastPrerollState["SUCCESSFULLY_PLAYED"] = 4] = "SUCCESSFULLY_PLAYED"; 67114 VastPrerollState[VastPrerollState["NONE_OR_FAILED"] = 5] = "NONE_OR_FAILED"; 67115})(VastPrerollState || (VastPrerollState = {})); 67116 67117var AdProviderStatus; 67118 67119(function (AdProviderStatus) { 67120 AdProviderStatus[AdProviderStatus["NOT_USED"] = 0] = "NOT_USED"; 67121 AdProviderStatus[AdProviderStatus["BLOCKED"] = 1] = "BLOCKED"; 67122 AdProviderStatus[AdProviderStatus["NOT_YET_INITIALIZED"] = 2] = "NOT_YET_INITIALIZED"; 67123 AdProviderStatus[AdProviderStatus["INITIALIZING"] = 3] = "INITIALIZING"; 67124 AdProviderStatus[AdProviderStatus["READY"] = 4] = "READY"; 67125})(AdProviderStatus || (AdProviderStatus = {})); 67126 67127var Playerbabel_target_legacy_Player = function Player(_ref) { 67128 var _state$cookie; 67129 67130 var streams = _ref.streams, 67131 _ref$adProviders = _ref.adProviders, 67132 adProviders = _ref$adProviders === void 0 ? [] : _ref$adProviders, 67133 _ref$adVideoWidth = _ref.adVideoWidth, 67134 adVideoWidth = _ref$adVideoWidth === void 0 ? 640 : _ref$adVideoWidth, 67135 autoplay = _ref.autoplay, 67136 rpId = _ref.rpId, 67137 onCompanionAds = _ref.onCompanionAds, 67138 isOnDemand = _ref.isOnDemand, 67139 theme = _ref.theme, 67140 stationLogo = _ref.stationLogo, 67141 stationUrl = _ref.stationUrl, 67142 stationName = _ref.stationName, 67143 onStreamError = _ref.onStreamError, 67144 disableLiveSeek = _ref.disableLiveSeek, 67145 disableScrubber = _ref.disableScrubber, 67146 disablePlaybackButtons = _ref.disablePlaybackButtons, 67147 playLocked = _ref.playLocked, 67148 streamParams = _ref.streamParams; 67149 67150 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 67151 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 67152 state = _useAPI2[0]; 67153 67154 var tcString = state.tcString; 67155 67156 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67157 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 67158 retriggeredPlayRequestOnPlayUnlock = _useState2[0], 67159 setRetriggeredPlayRequestOnPlayUnlock = _useState2[1]; 67160 67161 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67162 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 67163 playRequested = _useState4[0], 67164 setPlayRequested = _useState4[1]; 67165 /** 67166 * Used to track the state of the VAST preroll. 67167 * 67168 * By default (i.e. VastProvider.playPrerollBeforeStream=false), 67169 * VAST ads simply pause the currently playing stream once they arrive at the client ({@see VastEngine}). 67170 * However, some stations require, that VAST prerolls are played before (!) the stream is loaded/played. 67171 * These stations are using VAST + AdsWizz AIS and require the following use case to be supported: 67172 * 67173 * 0. Station configures VastProvider.playPrerollBeforeStream=true 67174 * 1. User clicks play 67175 * 2. Step 1 triggers only: 67176 * 2a. VAST XML is requested 67177 * 3. Stream is not requested/played yet 67178 * 4. Case 1: VAST XML is received and contains a preroll: 67179 * 4a. Play VAST preroll 67180 * 4b. Attach parameter to stream URL that suppresses in-stream preroll ad. 67181 * 4c. Start stream with modified URL 67182 * 4d. Stream plays without in-stream preroll ad 67183 * 4. Case 2: VAST is not configured, XML is not received, contains
67183no ad or other error occurs: 67184 * 4a. Start stream with unmodified URL 67185 * 4b. Stream plays with in-stream preroll ad 67186 */ 67187 67188 67189 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(VastPrerollState.NOT_INITIALIZED), 67190 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 67191 vastPrerollState = _useState6[0], 67192 setVastPrerollState = _useState6[1]; 67193 67194 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67195 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 2), 67196 adEngineInitializationTimedOut = _useState8[0], 67197 setAdEngineInitializationTimedOut = _useState8[1]; 67198 67199 var _useState9 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67200 _useState10 = slicedToArraybabel_target_legacy_default()(_useState9, 2), 67201 awaitingAdEngineInitializationTimeOut = _useState10[0], 67202 setAwaitingAdEngineInitializationTimeOut = _useState10[1]; 67203 67204 var _useState11 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67205 _useState12 = slicedToArraybabel_target_legacy_default()(_useState11, 2), 67206 allAdEnginesReady = _useState12[0], 67207 setAllAdEnginesReady = _useState12[1]; 67208 67209 var _useState13 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67210 _useState14 = slicedToArraybabel_target_legacy_default()(_useState13, 2), 67211 initAdEngines = _useState14[0], 67212 setInitAdEngines = _useState14[1]; 67213 67214 var adswizzProvider = (adProviders || []).find(function (provider) { 67215 return provider.type === "adswizz"; 67216 }); 67217 67218 var _useState15 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(AdProviderStatus.NOT_USED), 67219 _useState16 = slicedToArraybabel_target_legacy_default()(_useState15, 2), 67220 adsWizzProviderStatus = _useState16[0], 67221 setAdsWizzProviderStatus = _useState16[1]; 67222 67223 var vastProvider = (adProviders || []).find(function (provider) { 67224 return provider.type === "vast"; 67225 }); 67226 67227 var _useState17 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(AdProviderStatus.NOT_USED), 67228 _useState18 = slicedToArraybabel_target_legacy_default()(_useState17, 2), 67229 vastProviderStatus = _useState18[0], 67230 setVastProviderStatus = _useState18[1]; 67231 67232 var tritonProvider = (adProviders || []).find(function (provider) { 67233 return provider.type === "triton"; 67234 }); 67235 67236 var _useState19 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(AdProviderStatus.NOT_USED), 67237 _useState20 = slicedToArraybabel_target_legacy_default()(_useState19, 2), 67238 tritonProviderStatus = _useState20[0], 67239 setTritonProviderStatus = _useState20[1]; 67240 /** 67241 * Update adProviderStatuses. 67242 */ 67243 67244 67245 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67246 var newAdsWizzProviderStatus = adsWizzProviderStatus; 67247 var newVastProviderStatus = vastProviderStatus; 67248 var newTritonProviderStatus = tritonProviderStatus; 67249 67250 if (adswizzProvider != null && adsWizzProviderStatus === AdProviderStatus.NOT_USED) { 67251 newAdsWizzProviderStatus = AdProviderStatus.NOT_YET_INITIALIZED; 67252 } 67253 67254 if (vastProvider != null && vastProviderStatus === AdProviderStatus.NOT_USED) { 67255 newVastProviderStatus = AdProviderStatus.NOT_YET_INITIALIZED; 67256 } 67257 67258 if (tritonProvider != null && tritonProviderStatus === AdProviderStatus.NOT_USED) { 67259 Object(loggerbabel_target_legacy["c" /* log */])("triton used"); 67260 newTritonProviderStatus = AdProviderStatus.NOT_YET_INITIALIZED; 67261 } 67262 67263 setAdsWizzProviderStatus(newAdsWizzProviderStatus); 67264 setVastProviderStatus(newVastProviderStatus); 67265 setTritonProviderStatus(newTritonProviderStatus); // Don't use state variables, they might still hold the old value. 67266 67267 var allAdEngines = [newAdsWizzProviderStatus, newVastProviderStatus, newTritonProviderStatus]; 67268 var allAdEnginesReady = adEngineInitializationTimedOut || allAdEngines.length === allAdEngines.filter(function (status) { 67269 return status === AdProviderStatus.NOT_USED || status === AdProviderStatus.BLOCKED || status === AdProviderStatus.READY; 67270 }).length; 67271 67272 if (allAdEnginesReady) { 67273 var logStatement = "All ad engines are ready.";
67274 67275 if (adEngineInitializationTimedOut) { 67276 logStatement += " Initialization timed out."; 67277 } 67278 67279 Object(loggerbabel_target_legacy["c" /* log */])(logStatement); 67280 } 67281 67282 setAllAdEnginesReady(allAdEnginesReady); 67283 }, [adswizzProvider, vastProvider, tritonProvider, adsWizzProviderStatus, vastProviderStatus, tritonProviderStatus, adEngineInitializationTimedOut]); 67284 /** 67285 * Initialization of AdEngines might fail or take too long. 67286 * This should not prevent playback totally. 67287 * Therefore, once playLocked = false, playback should start after some time, even if ad engines aren't ready. 67288 */ 67289 67290 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67291 if (!playLocked && initAdEngines) { 67292 // Give ad engines 1 second to initialize 67293 var timeoutLength = 1000; 67294 var timeoutId = window.setTimeout(function () { 67295 window.setTimeout(function () { 67296 Object(loggerbabel_target_legacy["c" /* log */])("Stop preventing playback. Ad engines' initialization is either done or has timed out"); 67297 setAdEngineInitializationTimedOut(true); 67298 }, timeoutLength); 67299 }); 67300 return function () { 67301 window.clearTimeout(timeoutId); 67302 }; 67303 } // Dependency array must not contain more than playLocked, which only changes value once -> otherwise timeout will be reset on state changes! 67304 67305 }, [initAdEngines, playLocked]); 67306 67307 var _useAnalytics = Object(Analyticsbabel_target_legacy["b" /* useAnalytics */])(), 67308 onTrackedEvent = _useAnalytics.onTrackedEvent; 67309 67310 var _useVolume = Object(useVolumebabel_target_legacy["a" /* useVolume */])(), 67311 _useVolume2 = slicedToArraybabel_target_legacy_default()(_useVolume, 2), 67312 volume = _useVolume2[0], 67313 setVolume = _useVolume2[1]; 67314 67315 var doSetVolume = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (vol) { 67316 if (vol === 0) { 67317 onTrackedEvent("mute", rpId); 67318 } else if (volume === 0) { 67319 onTrackedEvent("unmute", rpId, { 67320 volume: vol 67321 }); 67322 } 67323 67324 setVolume(vol); 67325 }, [volume, setVolume, onTrackedEvent, rpId]); 67326 67327 var _useState21 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 67328 _useState22 = slicedToArraybabel_target_legacy_default()(_useState21, 2), 67329 adEngines = _useState22[0], 67330 setAdEngines = _useState22[1]; 67331 67332 var _useState23 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(null), 67333 _useState24 = slicedToArraybabel_target_legacy_default()(_useState23, 2), 67334 audioEngine = _useState24[0], 67335 setAudioEngine = _useState24[1]; 67336 67337 var onAudioEngineRefChange = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (newAudioEngine) { 67338 setAudioEngine(newAudioEngine); 67339 }, []); 67340 var videoAdHolder = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 67341 67342 var _useState25 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67343 _useState26 = slicedToArraybabel_target_legacy_default()(_useState25, 2), 67344 videoAdPlaying = _useState26[0], 67345 setVideoAdPlaying = _useState26[1]; 67346 67347 var videoRef = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 67348 67349 var _useState27 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 67350 _useState28 = slicedToArraybabel_target_legacy_default()(_useState27, 2), 67351 start = _useState28[0], 67352 setStart = _useState28[1]; 67353 67354 var _useState29 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 67355 _useState30 = slicedToArraybabel_target_legacy_default()(_useState29, 2), 67356 time = _useState30[0], 67357 setTime = _useState30[1]; 67358 67359 var _useState31 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 67360 _useState32 = slicedToArraybabel_target_legacy_default()(_useState31, 2), 67361 end = _useState32[0], 67362 setEnd = _useState32[1]; 67363 67364 var _useState33 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67365 _useState34 = slicedToArraybabel_target_legacy_default()(_useState33, 2), 67366 live = _useState34[0], 67367 setLive = _useState34[1]; 67368 67369 var _useState35 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67370 _useState36 = slicedToArraybabel_target_legacy_default()(_useState35, 2), 67371 seekable = _useState36[0], 67372 setSeekable = _useState36[1]; 67373 67374 var _useState37 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67375 _useState38 = slicedToArraybabel_target_legacy_default()(_useState37, 2), 67376 stalled = _useState38[0], 67377 setStalled = _useState38[1]; 67378 67379 var _useState39 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(undefined), 67380 _useState40 = slicedToArraybabel_target_legacy_default()(_useState39, 2), 67381 nowplaying = _useState40[0], 67382 setNowplaying = _useState40[1]; 67383 67384 var _useEventBus = Object(EventBusbabel_target_legacy["b" /* useEventBus */])(), 67385 emitter = _useEventBus.emitter, 67386 emit = _useEventBus.emit; 67387 67388 var _useState41 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(true),
67389 _useState42 = slicedToArraybabel_target_legacy_default()(_useState41, 2), 67390 pulsate = _useState42[0], 67391 setPulsate = _useState42[1]; 67392 67393 var requestStreamPause = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67394 setVideoAdPlaying(true); 67395 67396 if (audioEngine) { 67397 audioEngine.adPlayerRequestPause(); 67398 } 67399 }, [audioEngine]); 67400 var receivedCompanionAd = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (id, ads) { 67401 onCompanionAds && onCompanionAds(id, ads); 67402 emit("receivedcompanionads", { 67403 id: id, 67404 ads: ads 67405 }); 67406 }, [emit, onCompanionAds]); 67407 var cmpConsentFailed = state.cmpConsentFailed; 67408 var getStreamParamsAsArray = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67409 var queryParams = Object.keys(streamParams).map(function (x) { 67410 return [x, streamParams[x]]; 67411 }); // Adswizz requires the consent string, if it's not been provided as a param, we should include it. 67412 67413 if (adProviders.map(function (x) { 67414 return x.type; 67415 }).includes("adswizz") && !Object.keys(streamParams).includes("aw_0_req.userConsentV2") && typeof tcString === "string") return [].concat(toConsumableArraybabel_target_legacy_default()(queryParams), [["aw_0_req.userConsentV2", tcString]]);else if ( // If it's not a string and we've not received it, gdpr should be refused 67416 adProviders.map(function (x) { 67417 return x.type; 67418 }).includes("adswizz") && !Object.keys(streamParams).includes("aw_0_req.userConsentV2") && cmpConsentFailed) return [].concat(toConsumableArraybabel_target_legacy_default()(queryParams), [["aw_0_req.gdpr", "false"]]); 67419 return queryParams; 67420 }, [adProviders, cmpConsentFailed, streamParams, tcString]); 67421 var requestStreamPlay = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67422 setVideoAdPlaying(false); 67423 Object(loggerbabel_target_legacy["c" /* log */])("adplayer", videoRef.current); 67424 67425 if (videoRef.current) { 67426 videoRef.current.pause(); 67427 } 67428 67429 if (audioEngine) { 67430 audioEngine.adPlayerRequestPlay(); 67431 } 67432 }, [audioEngine]); 67433 var adEnginesDecorateUrl = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (url) { 67434 return [].concat(toConsumableArraybabel_target_legacy_default()(adEngines), [utilsbabel_target_legacy["c" /* decorator */]]).reduce(function (prev, next) { 67435 return next.decorateStreamUrl ? next.decorateStreamUrl(prev, getStreamParamsAsArray()) : prev; 67436 }, url); 67437 }, [adEngines, getStreamParamsAsArray]); 67438 var suppressAISPrerollParam = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 67439 /** 67440 * Attaching parameter context=fHA6LTE= to an AIS (Standalone or Plugin version) stream URL, 67441 * suppresses in-stream prerolls. 67442 * This is not documented well by AdsWizz, but supported by all AIS installations according to german publisher RMS, who use 67443 * that parameter in production. 67444 */ 67445 return vastPrerollState === VastPrerollState.SUCCESSFULLY_PLAYED ? ["context", "fHA6LTE="] : ["", ""]; 67446 }, [vastPrerollState]); 67447 var decoratedStreams = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 67448 return streams.map(function (stream) { 67449 var newUrl = Object(utilsbabel_target_legacy["b" /* decorateUrl */])(stream.url, [suppressAISPrerollParam]); 67450 newUrl = adEngines.length > 0 ? adEnginesDecorateUrl(newUrl) : Object(utilsbabel_target_legacy["b" /* decorateUrl */])(newUrl, getStreamParamsAsArray()); 67451 return Playerbabel_target_legacy_objectSpread(Playerbabel_target_legacy_objectSpread({}, stream), {}, { 67452 url: newUrl 67453 }); 67454 }); 67455 }, [streams, suppressAISPrerollParam, adEngines.length, adEnginesDecorateUrl, getStreamParamsAsArray]); 67456 67457 var _useState43 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(window.outerWidth), 67458 _useState44 = slicedToArraybabel_target_legacy_default()(_useState43, 2), 67459 currentWidth = _useState44[0], 67460 setCurrentWidth = _useState44[1]; 67461 67462 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67463 var expandToFitVideo = function expandToFitVideo() { 67464 var paddedVideoWidth = adVideoWidth + 30; 67465 67466 if (videoAdPlaying && currentWidth < paddedVideoWidth) { 67467 setCurrentWidth(window.outerWidth); 67468 window.resizeTo(paddedVideoWidth, window.outerHeight); 67469 } else if (window.outerWidth !== currentWidth) { 67470 window.resizeTo(currentWidth, window.outerHeight); 67471 } 67472 }; 67473 67474 expandToFitVideo(); 67475 }, [videoAdPlaying, currentWidth, adVideoWidth]); 67476 67477 var _useState45 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(true),
67478 _useState46 = slicedToArraybabel_target_legacy_default()(_useState45, 2), 67479 paused = _useState46[0], 67480 setPaused = _useState46[1]; 67481 67482 var onPlayStatusChanged = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (play) { 67483 if (play) { 67484 setPulsate(false); 67485 } 67486 67487 Object(loggerbabel_target_legacy["c" /* log */])("play status changed", play); 67488 emit(play ? "play" : "pause"); 67489 setPaused(!play); 67490 adEngines.forEach(function (engine) { 67491 if (engine.onPlayStatusChanged) { 67492 engine.onPlayStatusChanged(play); 67493 } 67494 }); 67495 }, [adEngines, emit]); 67496 67497 var _useState47 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67498 _useState48 = slicedToArraybabel_target_legacy_default()(_useState47, 2), 67499 awaitingTcString = _useState48[0], 67500 setAwaitingTcString = _useState48[1]; 67501 67502 var _useState49 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 67503 _useState50 = slicedToArraybabel_target_legacy_default()(_useState49, 2), 67504 hasPlayedAd = _useState50[0], 67505 setHasPlayedAd = _useState50[1]; 67506 67507 var unmuteIfTriton = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67508 if (volume === 0 && tritonProvider) setVolume(0.2); 67509 }, [setVolume, tritonProvider, volume]); 67510 /** 67511 * Checks if a VAST Preroll should be played before the stream. 67512 * If yes: {@see VastEngine} will be asked to request and play an ad. 67513 * 67514 * @return True if a VAST Preroll was requested, false otherwise 67515 */ 67516 67517 var tryPlayingVastPrerollBeforePlayingStream = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67518 if (vastProviderStatus === AdProviderStatus.READY && vastPrerollState === VastPrerollState.WILL_REQUEST) { 67519 if (adEngines.length !== 1) { 67520 Object(loggerbabel_target_legacy["e" /* warn */])("AIS Preroll will not be suppressed, because more than one adEngine was configured. Parameter playPrerollBeforeStream is ignored."); 67521 setVastPrerollState(VastPrerollState.NONE_OR_FAILED); 67522 return false; 67523 } else if (adEngines[0] instanceof vastbabel_target_legacy_VastEngine !== true) { 67524 Object(loggerbabel_target_legacy["b" /* error */])("AIS Preroll will not be suppressed, because VastEngine was not available"); 67525 return false; 67526 } else { 67527 var vastEngine = adEngines[0]; 67528 67529 if (vastEngine.onPlayStatusChanged) { 67530 setVastPrerollState(VastPrerollState.REQUESTED); 67531 vastEngine.onPlayStatusChanged(true); 67532 return true; 67533 } else { 67534 setVastPrerollState(VastPrerollState.NONE_OR_FAILED); 67535 return false; 67536 } 67537 } 67538 } 67539 67540 return false; 67541 }, [adEngines, vastPrerollState, vastProviderStatus]); 67542 var requestPlay = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (play) { 67543 // Store the value of play, if it changed from last invocation 67544 // Required to start playback, if it was previously requested but locked (see the useEffect() below). 67545 if (play !== playRequested) { 67546 setPlayRequested(play); 67547 } 67548 67549 if (play && playLocked) { 67550 Object(loggerbabel_target_legacy["c" /* log */])("Play was requested but is locked. Not playing!"); 67551 return; 67552 } 67553 67554 if (play && typeof tcString === "boolean" && tcString) { 67555 setStalled(true); 67556 setAwaitingTcString(true); 67557 return; 67558 } 67559 67560 if (play && !allAdEnginesReady) { 67561 Object(loggerbabel_target_legacy["c" /* log */])("Play was requested but not all ad engines are ready. Not playing!"); 67562 setAwaitingAdEngineInitializationTimeOut(true); 67563 } else { 67564 Object(loggerbabel_target_legacy["c" /* log */])("Request play", play); 67565 67566 if (vastPrerollState === VastPrerollState.WILL_REQUEST) { 67567 var willTry = tryPlayingVastPrerollBeforePlayingStream(); 67568 67569 if (willTry) { 67570 Object(loggerbabel_target_legacy["c" /* log */])("Play was requested but first a VAST preroll will be tried to be played"); 67571 return; 67572 } else { 67573 setVastPrerollState(VastPrerollState.NONE_OR_FAILED); 67574 } 67575 } 67576 67577 if (play) { 67578 unmuteIfTriton(); 67579 onTrackedEvent("start", rpId); 67580 setPulsate(false); 67581 } else { 67582 onTrackedEvent(seekable ? "pause" : "stop", rpId); 67583 } 67584 67585 if (!audioEngine) { 67586 Object(loggerbabel_target_legacy["e" /* warn */])("No audio engine"); 67587 return; 67588 } 67589 67590 if (play && !hasPlayedAd && videoRef.current) { 67591 Object(loggerbabel_target_legacy["c" /* log */])("Trying to play ad"); 67592 audioEngine.brieflyMute(); 67593 videoRef.current.play(); 67594 setHasPlayedAd(true); 67595 } 67596 67597 Object(loggerbabel_target_legacy["c" /* log */])("Toggling audio", play); 67598 audioEngine.toggleAudio(play); 67599 } 67600 }, [playRequested, playLocked, tcString, allAdEnginesReady, vastPrerollState, audioEngine, hasPlayedAd, tryPlayingVastPrerollBeforePlayingStream, unmuteIfTriton, onTrackedEvent, rpId, seekable]); 67601 /** 67602 * If VastProvider.playPrerollBeforeStream is configured as true, 67603 * {@see VastEngine} will inform {@see Player}, once it has (not) successfully played a preroll. 67604 */ 67605 67606 var onPrerollPlayResult = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (successfullyPlayed) { 67607 if (successfullyPlayed) { 67608 setVastPrerollState(VastPrerollState.SUCCESSFULLY_PLAYED); 67609 } else { 67610 setVastPrerollState(VastPrerollState.NONE_OR_FAILED); 67611 } 67612 67613 requestPlay(true); 67614 }, [requestPlay]); 67615 /** 67616 * Update adEngines' callbacks. 67617 * The AdEngines are not React components and their callbacks are not passed as props. 67618 * Therefore, they need to be updated explicitly, whenever they change. 67619 * */ 67620 67621 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67622 if (adEngines !== undefined && adEngines.length > 0) { 67623 var _iterator = _createForOfIteratorHelper(adEngines), 67624 _step; 67625
67626 try { 67627 for (_iterator.s(); !(_step = _iterator.n()).done;) { 67628 var engine = _step.value; 67629 engine.setCallbacks({ 67630 requestStreamPause: requestStreamPause, 67631 requestStreamPlay: requestStreamPlay, 67632 onCompanionAds: onCompanionAds, 67633 onPrerollPlayResult: onPrerollPlayResult 67634 }); 67635 } 67636 } catch (err) { 67637 _iterator.e(err); 67638 } finally { 67639 _iterator.f(); 67640 } 67641 } 67642 }, [adEngines, onCompanionAds, onPrerollPlayResult, requestStreamPause, requestStreamPlay]); 67643 /** 67644 * Request play again, if it was request previously but not started because ad engines weren't ready yet. 67645 */ 67646 67647 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67648 if (awaitingAdEngineInitializationTimeOut && (adEngineInitializationTimedOut || allAdEnginesReady)) { 67649 Object(loggerbabel_target_legacy["c" /* log */])("Ad engines initialization finished or timed out, requesting play again"); 67650 setAwaitingAdEngineInitializationTimeOut(false); 67651 requestPlay(true); 67652 } 67653 }, [adEngineInitializationTimedOut, allAdEnginesReady, awaitingAdEngineInitializationTimeOut, requestPlay]); 67654 var adEngineTimer = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 67655 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67656 if (typeof tcString === "string") { 67657 clearTimeout(adEngineTimer.current); 67658 setInitAdEngines(true); 67659 } else { 67660 adEngineTimer.current = setTimeout(function () { 67661 Object(loggerbabel_target_legacy["c" /* log */])("Consent timeout has passed, ad engines safe to initialise"); 67662 setInitAdEngines(true); 67663 }, APIProviderbabel_target_legacy["b" /* tcWaitTimeout */] + 300); // Wait for CMP configuration to finish or fail 67664 } 67665 67666 return function () { 67667 return clearTimeout(adEngineTimer.current); 67668 }; 67669 }, [tcString]); 67670 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67671 var initAdswizz = /*#__PURE__*/function () { 67672 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 67673 var hasSetCookiePolicy, cookieConsent, adswizzEngine; 67674 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 67675 while (1) { 67676 switch (_context.prev = _context.next) { 67677 case 0: 67678 if (!(tcString === true)) { 67679 _context.next = 4; 67680 break; 67681 } 67682 67683 return _context.abrupt("return"); 67684 67685 case 4: 67686 if (tcString === false) { 67687 Object(loggerbabel_target_legacy["c" /* log */])("Initialising Adswizz - not expecting a consent string"); 67688 } 67689 67690 case 5: 67691 if (!(audioEngine && adswizzProvider && adswizzProvider.type === "adswizz")) { 67692 _context.next = 19; 67693 break; 67694 } 67695 67696 if (!Object(adManagerbabel_target_legacy["b" /* adsBlockedSync */])()) { 67697 _context.next = 10; 67698 break; 67699 } 67700 67701 Object(loggerbabel_target_legacy["c" /* log */])("blocked"); 67702 setAdsWizzProviderStatus(AdProviderStatus.BLOCKED); 67703 return _context.abrupt("return"); 67704 67705 case 10: 67706 hasSetCookiePolicy = localStorage.getItem("hasSetCookiePolicy"); 67707 cookieConsent = !!hasSetCookiePolicy && !!state.cookie.policy && Object(APIManagerbabel_target_legacy["e" /* evaluateCookieConsent */])("performance", state.cookie.policy); 67708 adswizzEngine = new adsWizzbabel_target_legacy_AdsWizzEngine(Playerbabel_target_legacy_objectSpread(Playerbabel_target_legacy_objectSpread({}, adswizzProvider), {}, { 67709 cookieConsent: cookieConsent, 67710 tcString: tcString || undefined 67711 })); 67712 _context.next = 15; 67713 return adswizzEngine.init(); 67714 67715 case 15: 67716 adswizzEngine.setCallbacks({ 67717 requestStreamPause: requestStreamPause, 67718 requestStreamPlay: requestStreamPlay, 67719 onCompanionAds: receivedCompanionAd 67720 }); 67721 setAdEngines(function (adEngines) { 67722 return [].concat(toConsumableArraybabel_target_legacy_default()(adEngines), [adswizzEngine]); 67723 }); 67724 Object(loggerbabel_target_legacy["c" /* log */])("initAdswizz done"); 67725 setAdsWizzProviderStatus(AdProviderStatus.READY); 67726 67727 case 19: 67728 case "end": 67729 return _context.stop(); 67730 } 67731 } 67732 }, _callee); 67733 })); 67734 67735 return function initAdswizz() { 67736 return _ref2.apply(this, arguments); 67737 }; 67738 }(); 67739 67740 if (!playLocked && initAdEngines && (adsWizzProviderStatus === AdProviderStatus.NOT_YET_INITIALIZED || adsWizzProviderStatus === AdProviderStatus.INITIALIZING)) { 67741 setAdsWizzProviderStatus(AdProviderStatus.INITIALIZING); 67742 initAdswizz(); 67743 } 67744 }, [adswizzProvider, requestStreamPause, requestStreamPlay, receivedCompanionAd, state.cookie.policy, tcString, audioEngine, playLocked, vastProviderStatus, adsWizzProviderStatus, initAdEngines]); 67745 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67746 var initTriton = function initTriton() { 67747 if (tcString === true) return; // we are waiting for consent 67748 67749 if (audioEngine && tritonProvider && tritonProvider.type === "triton") { 67750 if (Object(adManagerbabel_target_legacy["b" /* adsBlockedSync */])()) { 67751 Object(loggerbabel_target_legacy["c" /* log */])("blocked"); 67752 setTritonProviderStatus(AdProviderStatus.BLOCKED); 67753 return; 67754 } 67755 67756 var tritonEngine = new tritonbabel_target_legacy_TritonEngine(Playerbabel_target_legacy_objectSpread(Playerbabel_target_legacy_objectSpread({}, tritonProvider), {}, { 67757 tcString: tcString || undefined 67758 })); 67759 tritonEngine.setCallbacks({ 67760 requestStreamPause: requestStreamPause, 67761 requestStreamPlay: requestStreamPlay, 67762 onCompanionAds: receivedCompanionAd 67763 }); 67764 setAdEngines(function (adEngines) { 67765 return [].concat(toConsumableArraybabel_target_legacy_default()(adEngines), [tritonEngine]); 67766 }); 67767 Object(loggerbabel_target_legacy["c" /* log */])("initTriton is done"); 67768 setTritonProviderStatus(AdProviderStatus.READY); 67769 } 67770 }; 67771 67772 if (!playLocked && initAdEngines && (tritonProviderStatus === AdProviderStatus.NOT_YET_INITIALIZED || tritonProviderStatus === AdProviderStatus.INITIALIZING)) { 67773 setTritonProviderStatus(AdProviderStatus.INITIALIZING); 67774 initTriton(); 67775 } 67776 }, [requestStreamPause, requestStreamPlay, receivedCompanionAd, tritonProvider, tcString, audioEngine, playLocked, tritonProviderStatus, initAdEngines]); 67777 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67778 var initVast = /*#__PURE__*/function () { 67779 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 67780 var vastEngine; 67781 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 67782 while (1) { 67783 switch (_context2.prev = _context2.next) { 67784 case 0: 67785 Object(loggerbabel_target_legacy["c" /* log */])("maybe vast", videoAdHolder.current, vastProvider); 67786 67787 if (!(videoAdHolder.current && audioEngine && vastProvider && vastProvider.type === "vast")) { 67788 _context2.next = 25; 67789 break; 67790 } 67791 67792 Object(loggerbabel_target_legacy["c" /* log */])("yes vast"); 67793 67794 if (!Object(adManagerbabel_target_legacy["b" /* adsBlockedSync */])()) { 67795 _context2.next = 7; 67796 break; 67797 } 67798 67799 Object(loggerbabel_target_legacy["c" /* log */])("vast blocked"); 67800 setVastProviderStatus(AdProviderStatus.BLOCKED); 67801 return _context2.abrupt("return"); 67802 67803 case 7: 67804 Object(loggerbabel_target_legacy["c" /* log */])("loaded vast"); 67805 vastEngine = new vastbabel_target_legacy_VastEngine(vastProvider, videoAdHolder, videoRef, [{ 67806 width: 300, 67807 height: 250, 67808 id: "rect" 67809 }], vastProvider.playPrerollBeforeStream); 67810 vastEngine.setCallbacks({ 67811 requestStreamPause: requestStreamPause, 67812 requestStreamPlay: requestStreamPlay, 67813 onCompanionAds: receivedCompanionAd, 67814 onPrerollPlayResult: onPrerollPlayResult 67815 }); 67816 _context2.prev = 10; 67817 _context2.next = 13; 67818 return vastEngine.setupAds(); 67819 67820 case 13: 67821 _context2.next = 21; 67822 break; 67823 67824 case 15: 67825 _context2.prev = 15; 67826 _context2.t0 = _context2["catch"](10); 67827 Object(loggerbabel_target_legacy["e" /* warn */])(_context2.t0); 67828 setVastPrerollState(VastPrerollState.NONE_OR_FAILED); 67829 setVastProviderStatus(AdProviderStatus.BLOCKED); 67830 return _context2.abrupt("return"); 67831 67832 case 21: 67833 setAdEngines(function (adEngines) { 67834 return [].concat(toConsumableArraybabel_target_legacy_default()(adEngines), [vastEngine]); 67835 }); 67836 Object(loggerbabel_target_legacy["c" /* log */])("initVast is done"); 67837 67838 if (vastProvider.playPrerollBeforeStream === true) { 67839 setVastPrerollState(VastPrerollState.WILL_REQUEST); 67840 } else { 67841 setVastPrerollState(VastPrerollState.NOT_USED); 67842 } 67843 67844 setVastProviderStatus(AdProviderStatus.READY); 67845 67846 case 25: 67847 case "end": 67848 return _context2.stop(); 67849 } 67850 } 67851 }, _callee2, null, [[10, 15]]); 67852 })); 67853 67854 return function initVast() { 67855 return _ref3.apply(this, arguments); 67856 }; 67857 }(); 67858 67859 if (!playLocked && initAdEngines && vastProviderStatus === AdProviderStatus.NOT_YET_INITIALIZED) { 67860 setVastProviderStatus(AdProviderStatus.INITIALIZING); 67861 initVast(); 67862 } 67863 }, [videoAdHolder, audioEngine, vastProvider, requestStreamPause, requestStreamPlay, receivedCompanionAd, tcString, playLocked, vastProviderStatus, initAdEngines, onPrerollPlayResult]); 67864 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67865 if (awaitingTcString && cmpConsentFailed) { 67866 requestPlay(true); 67867 setAwaitingTcString(false); 67868 } else if (awaitingTcString && typeof tcString === "string") { 67869 requestPlay(true); 67870 setAwaitingTcString(false); 67871 } 67872 }, [cmpConsentFailed, awaitingTcString, requestPlay, tcString]); 67873 var requestSeek = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (seekTo) { 67874 setTime(seekTo); 67875 67876 if (!audioEngine) { 67877 return; 67878 } 67879 67880 audioEngine.seek(seekTo); 67881 }, [audioEngine]); 67882 var skipForward = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (skipBy) { 67883 if (!audioEngine) { 67884 return; 67885 } 67886 67887 audioEngine.skipForward(skipBy); 67888 }, [audioEngine]); 67889 var skipBack = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (skipBy) { 67890 if (!audioEngine) { 67891 return; 67892 } 67893 67894 audioEngine.skipBack(skipBy); 67895 }, [audioEngine]); 67896 var skipToLive = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67897 if (!audioEngine) { 67898 return; 67899 } 67900 67901 audioEngine.skipToEnd(); 67902 }, [audioEngine]); 67903 var skipToStart = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 67904 if (!audioEngine) { 67905 return; 67906 } 67907 67908 audioEngine.skipToStart(); 67909 }, [audioEngine]); 67910 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67911 if (!emitter) { 67912 return; 67913 } 67914 67915 var play = function play() { 67916 return requestPlay(true); 67917 }; 67918 67919 var pause = function pause() { 67920 return requestPlay(false); 67921 }; 67922 67923 emitter.on("nowplaying", setNowplaying); 67924 emitter.on("requestplay", play); 67925 emitter.on("requestpause", pause); 67926 emitter.on("requestseek", requestSeek); 67927 emitter.on("requestskipback", skipBack); 67928 emitter.on("requestskipforward", skipForward); 67929 emitter.on("requestskiptostart", skipToStart); 67930 emitter.on("requestskiptolive", skipToLive); 67931 emitter.on("requestsetvolume", doSetVolume); 67932 return function () { 67933 emitter.off("nowplaying", setNowplaying); 67934 emitter.off("requestplay", play); 67935 emitter.off("requestpause", pause); 67936 emitter.off("requestseek", requestSeek); 67937 emitter.off("requestskipback", skipBack); 67938 emitter.off("requestskipforward", skipForward); 67939 emitter.off("requestskiptostart", skipToStart); 67940 emitter.off("requestskiptolive", skipToLive); 67941 emitter.off("requestsetvolume", doSetVolume); 67942 }; 67943 }, [doSetVolume, emitter, onCompanionAds, requestPlay, requestSeek, skipBack, skipForward, skipToLive, skipToStart]); 67944 var onTimeUpdated = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (status) { 67945 if (!status.paused && status.time > 1) {
67946 adEngines.forEach(function (engine) { 67947 if (engine.onTime) { 67948 engine.onTime(status.time, status.end); 67949 } 67950 }); 67951 } 67952 67953 emit("time", status); 67954 setTime(status.time || 0); 67955 setLive(!!status.live); 67956 setSeekable(!!status.seekable); 67957 67958 if (status.seekable) { 67959 setEnd(status.end); 67960 setStart(status.start); 67961 } 67962 67963 setStalled(!!status.stalled); 67964 }, [adEngines, emit]); 67965 var useNP = nowplaying && nowplaying.pi && nowplaying.pi.startTime; 67966 var showStart = useNP ? parseInt(useNP) : undefined; 67967 var showEnd = useNP ? parseInt(nowplaying && nowplaying.pi && nowplaying.pi.stopTime || "") : undefined; 67968 /** 67969 * Call requestPlay if playback becomes unlocked after requestPlay was already called. 67970 * This provides support for the following scenario: 67971 * 1. Playback is locked 67972 * 2. User (or IFrame code) requests playback 67973 * 3. requestPlayback is called, but playback is not started, because it is locked 67974 * 4. Time (e.g. several seconds) passes 67975 * 5. Playback is unlocked 67976 * 6. Playback starts without user (or IFrame code) requesting playback again 67977 */ 67978 67979 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 67980 if (!playLocked && playRequested && !retriggeredPlayRequestOnPlayUnlock) { 67981 // Bugfix: Prevent start of stream playback while Ad is playing. 67982 // This happened because this useEffect is called in sub-second intervals (namely everytime requestPlay changes, which happens on every onTimeUpdated).
67983 // The ad was playing, this useEffect called requestPlay(true) and therefore the stream started playing. 67984 // The fix is: Use retriggeredPlayRequestOnPlayUnlock to remember that we already retriggered playRequest after playback was unlocked. 67985 Object(loggerbabel_target_legacy["c" /* log */])("retriggering requestPlay!"); 67986 setRetriggeredPlayRequestOnPlayUnlock(true); 67987 requestPlay(true); 67988 } 67989 }, [playRequested, playLocked, requestPlay, retriggeredPlayRequestOnPlayUnlock]); 67990 var vastWontChangeStreamParameters = // If ad engine initialization has timed out, don't wait for changes to stream parameters. 67991 adEngineInitializationTimedOut || // Infer if vast ad provider will modify stream parameters. 67992 vastProviderStatus === AdProviderStatus.NOT_USED || vastProviderStatus === AdProviderStatus.BLOCKED || vastProviderStatus === AdProviderStatus.READY && (vastPrerollState === VastPrerollState.NOT_USED || vastPrerollState === VastPrerollState.NONE_OR_FAILED || vastPrerollState === VastPrerollState.SUCCESSFULLY_PLAYED); 67993 var audioEngineStreamsReady = !playLocked && allAdEnginesReady && vastWontChangeStreamParameters; 67994 67995 if (state === null || state === void 0 ? void 0 : (_state$cookie = state.cookie) === null || _state$cookie === void 0 ? void 0 : _state$cookie.dead) { 67996 return Object(preact_modulebabel_target_legacy["h"])(StationErrorbabel_target_legacy["a" /* StationError */], null); 67997 } 67998 67999 return Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, disablePlaybackButtons && disableScrubber || Object(preact_modulebabel_target_legacy["h"])(TransportControlsbabel_target_legacy["a" /* TransportControls */], { 68000 key: "transportControls", 68001 start: start, 68002 end: end, 68003 time: time, 68004 showStart: showStart, 68005 showEnd: showEnd, 68006 live: live, 68007 paused: paused, 68008 seekable: seekable && !disableLiveSeek, 68009 requestPlay: requestPlay, 68010 requestSeek: requestSeek, 68011 skipBack: skipBack, 68012 skipForward: skipForward, 68013 skipToLive: skipToLive, 68014 skipToStart: skipToStart, 68015 volume: volume, 68016 setVolume: doSetVolume, 68017 stalled: stalled || vastPrerollState === VastPrerollState.REQUESTED, 68018 rpId: rpId, 68019 disabled: videoAdPlaying, 68020 darkTheme: theme === "DARK", 68021 logo: stationLogo, 68022 stationUrl: stationUrl, 68023 stationName: stationName, 68024 attention: pulsate && vastPrerollState !== VastPrerollState.REQUESTED, 68025 disablePlaybackButtons: disablePlaybackButtons 68026 /* 68027 Show play button only if clicking it will trigger playback immediately (e.g. not within a setTimeout()). 68028 Rationale: Safari blocks playback from JavaScript if it's no immediate consequence of button click. 68029 */ 68030 , 68031 showPlayButton: audioEngineStreamsReady, 68032 disableScrubber: disableScrubber 68033 }), Object(preact_modulebabel_target_legacy["h"])(AudioEnginebabel_target_legacy["a" /* AudioEngine */], { 68034 key: decoratedStreams[0].url, 68035 ref: onAudioEngineRefChange, 68036 autoplay: autoplay, 68037 streams: decoratedStreams, 68038 onPlayStatusChanged: onPlayStatusChanged, 68039 onTimeUpdated: onTimeUpdated, 68040 volume: volume, 68041 isOnDemand: isOnDemand, 68042 onStreamError: onStreamError, 68043 usingTriton: !!tritonProvider, 68044 preventLoadingStreams: !audioEngineStreamsReady 68045 }), Object(preact_modulebabel_target_legacy["h"])("div", { 68046 key: "videoOverlay", 68047 className: videoAdPlaying ? Player_module_default.a.videoAdOverlay : Player_module_default.a.hidden 68048 }, vastProvider && Object(preact_modulebabel_target_legacy["h"])("div", { 68049 className: Player_module_default.a.videowrap, 68050 ref: videoAdHolder 68051 }, Object(preact_modulebabel_target_legacy["h"])("video", { 68052 className: Player_module_default.a.video, 68053 ref: videoRef, 68054 width: adVideoWidth, 68055 height: "360" 68056 })))); 68057}; 68058/* harmony default export */ var Playerbabel_target_legacy = (Playerbabel_target_legacy_Player); 68059// CONCATENATED MODULE: ./src/components/Player/index.ts?babel-target=legacy 68060 68061// EXTERNAL MODULE: ./src/components/SearchPanel/index.ts?babel-target=legacy + 3 modules 68062var SearchPanelbabel_target_legacy = __webpack_require__(966); 68063 68064// EXTERNAL MODULE: ./src/components/WidgetSpace/WidgetSpace.module.scss 68065var WidgetSpace_module = __webpack_require__(300); 68066var WidgetSpace_module_default = /*#__PURE__*/__webpack_require__.n(WidgetSpace_module); 68067 68068// CONCATENATED MODULE: ./src/components/CompanionAdHolder/CompanionAdHolder.tsx?babel-target=legacy 68069 68070 68071 68072var CompanionAdHolderbabel_target_legacy_CompanionAdHolder = function CompanionAdHolder(_ref) { 68073 var ads = _ref.ads, 68074 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["ads"]); 68075 68076 return ads && !!ads.length ? Object(preact_modulebabel_target_legacy["h"])("div", extendsbabel_target_legacy_default()({}, props, { 68077 dangerouslySetInnerHTML: { 68078 __html: typeof ads === "string" ? ads : ads[0] 68079 } 68080 })) : null; 68081}; 68082/* harmony default export */ var CompanionAdHolderbabel_target_legacy = (CompanionAdHolderbabel_target_legacy_CompanionAdHolder); 68083// CONCATENATED MODULE: ./src/components/CompanionAdHolder/index.ts?babel-target=legacy 68084 68085// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toArray.js?babel-target=legacy 68086var toArraybabel_target_legacy = __webpack_require__(780); 68087var toArraybabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(toArraybabel_target_legacy); 68088 68089// EXTERNAL MODULE: ./src/components/NowPlayingWidget/NowPlayingWidget.module.scss 68090var NowPlayingWidget_module = __webpack_require__(86); 68091var NowPlayingWidget_module_default = /*#__PURE__*/__webpack_require__.n(NowPlayingWidget_module); 68092 68093// EXTERNAL MODULE: ./src/components/LiveIcon/index.ts?babel-target=legacy + 1 modules 68094var LiveIconbabel_target_legacy = __webpack_require__(305); 68095 68096// EXTERNAL MODULE: ./node_modules/classnames?babel-target=legacy 68097var classnames_babel_target_legacy = __webpack_require__(27); 68098var classnames_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(classnames_babel_target_legacy); 68099 68100// EXTERNAL MODULE: ./src/components/SongBox/SongBox.module.scss 68101var SongBox_module = __webpack_require__(136); 68102var SongBox_module_default = /*#__PURE__*/__webpack_require__.n(SongBox_module); 68103 68104// EXTERNAL MODULE: ./src/components/EqualizerIcon/EqualizerIcon.module.scss 68105var EqualizerIcon_module = __webpack_require__(301); 68106var EqualizerIcon_module_default = /*#__PURE__*/__webpack_require__.n(EqualizerIcon_module); 68107 68108// CONCATENATED MODULE: ./src/components/EqualizerIcon/EqualizerIcon.tsx?babel-target=legacy 68109 68110 68111 68112 // Based on https://codepen.io/adamdoti/pen/wWXLpZ 68113 68114var EqualizerIconbabel_target_legacy_EqualizerIcon = function EqualizerIcon(props) { 68115 return Object(preact_modulebabel_target_legacy["h"])("svg", extendsbabel_target_legacy_default()({ 68116 width: "12", 68117 height: "12", 68118 xmlns: "http://www.w3.org/2000/svg" 68119 }, props), Object(preact_modulebabel_target_legacy["h"])("rect", { 68120 className: classnames_babel_target_legacy_default()(EqualizerIcon_module_default.a.bar, EqualizerIcon_module_default.a.eq1), 68121 x: "1", 68122 y: "5", 68123 width: "2", 68124 height: "7" 68125 }), Object(preact_modulebabel_target_legacy["h"])("rect", { 68126 className: classnames_babel_target_legacy_default()(EqualizerIcon_module_default.a.bar, EqualizerIcon_module_default.a.eq2), 68127 x: "4", 68128 y: "0", 68129 width: "2", 68130 height: "12" 68131 }), Object(preact_modulebabel_target_legacy["h"])("rect", { 68132 className: classnames_babel_target_legacy_default()(EqualizerIcon_module_default.a.bar, EqualizerIcon_module_default.a.eq3),
68133 x: "7", 68134 y: "7", 68135 width: "2", 68136 height: "5" 68137 }), Object(preact_modulebabel_target_legacy["h"])("rect", { 68138 className: classnames_babel_target_legacy_default()(EqualizerIcon_module_default.a.bar, EqualizerIcon_module_default.a.eq4), 68139 x: "10", 68140 y: "4", 68141 width: "2", 68142 height: "8" 68143 })); 68144}; 68145/* harmony default export */ var EqualizerIconbabel_target_legacy = (EqualizerIconbabel_target_legacy_EqualizerIcon); 68146// CONCATENATED MODULE: ./src/components/EqualizerIcon/index.ts?babel-target=legacy 68147 68148// EXTERNAL MODULE: ./node_modules/react-i18next/dist/es?babel-target=legacy + 9 modules 68149var es_babel_target_legacy = __webpack_require__(25); 68150 68151// EXTERNAL MODULE: ./src/components/IconSprite/index.ts?babel-target=legacy + 1 modules 68152var IconSpritebabel_target_legacy = __webpack_require__(131); 68153 68154// CONCATENATED MODULE: ./src/components/SongBox/SongBox.tsx?babel-target=legacy 68155 68156 68157 68158 68159 68160 68161 68162 68163 68164 68165 68166 68167 68168var makeSongActionLink = function makeSongActionLink(song, action) { 68169 return action.baseurl.replace("[artist]", encodeURIComponent(song.artistName || "")).replace("[title]", encodeURIComponent(song.name || "")); 68170}; 68171var icons = { 68172 DOWNLOAD: "songaction-download", 68173 INFO: "songaction-info", 68174 BUY: "songaction-buy", 68175 RATE: "songaction-rate", 68176 ADD: "songaction-add" 68177}; 68178var SongBoxbabel_target_legacy_SongBox = function SongBox(_ref) { 68179 var _moduleClassSelector, _nowPlayingClassSelec; 68180 68181 var song = _ref.song, 68182 currentSong = _ref.currentSong, 68183 narrow = _ref.narrow, 68184 className = _ref.className, 68185 songAction = _ref.songAction, 68186 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["song", "currentSong", "narrow", "className", "songAction"]); 68187 68188 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68189 t = _useTranslation.t; 68190 68191 var labels = { 68192 DOWNLOAD: t("SONG_ACTION_DOWNLOAD"), 68193 INFO: t("SONG_ACTION_INFO"), 68194 BUY: t("SONG_ACTION_BUY"), 68195 RATE: t("SONG_ACTION_RATE"), 68196 ADD: t("SONG_ACTION_ADD") 68197 }; 68198 var img = song.songArtURL && Object(preact_modulebabel_target_legacy["h"])("img", { 68199 src: song.songArtURL, 68200 alt: song.artistName, 68201 className: SongBox_module_default.a.img 68202 }); 68203 var songStatus = currentSong ? Object(preact_modulebabel_target_legacy["h"])("h5", { 68204 className: classnames_babel_target_legacy_default()(SongBox_module_default.a.label, !songAction && SongBox_module_default.a.noAction) 68205 }, t("LABEL_NOW_PLAYING"), " ", Object(preact_modulebabel_target_legacy["h"])(EqualizerIconbabel_target_legacy_EqualizerIcon, null)) : Object(preact_modulebabel_target_legacy["h"])("p", { 68206 className: classnames_babel_target_legacy_default()(SongBox_module_default.a.time, !songAction && SongBox_module_default.a.noAction) 68207 }, Object(utilsbabel_target_legacy["f" /* formatLocaleTime */])(parseInt(song.startTime))); 68208 var songArtURL = song.songArtURL; 68209 var moduleClassSelector = (_moduleClassSelector = {}, definePropertybabel_target_legacy_default()(_moduleClassSelector, SongBox_module_default.a.noActionNoArt, !songAction && !songArtURL), definePropertybabel_target_legacy_default()(_moduleClassSelector, SongBox_module_default.a.noAction, !songAction && songArtURL), definePropertybabel_target_legacy_default()(_moduleClassSelector, SongBox_module_default.a.noArt, songAction && !songArtURL), _moduleClassSelector); 68210 var currentOrNarrow = Boolean(currentSong || narrow); 68211 var hasAlbumArt = Boolean(songArtURL); 68212 var nowPlayingClassSelector = (_nowPlayingClassSelec = {}, definePropertybabel_target_legacy_default()(_nowPlayingClassSelec, SongBox_module_default.a.details, !currentOrNarrow && hasAlbumArt), definePropertybabel_target_legacy_default()(_nowPlayingClassSelec, SongBox_module_default.a.detailsNowPlaying, currentOrNarrow && hasAlbumArt), definePropertybabel_target_legacy_default()(_nowPlayingClassSelec, SongBox_module_default.a.detailsNowPlayinNoAlbumArt, currentOrNarrow && !hasAlbumArt), definePropertybabel_target_legacy_default()(_nowPlayingClassSelec, SongBox_module_default.a.detailsNoAlbumArt, !currentOrNarrow && !hasAlbumArt), _nowPlayingClassSelec); 68213 return Object(preact_modulebabel_target_legacy["h"])("div", extendsbabel_target_legacy_default()({ 68214 className: classnames_babel_target_legacy_default()(className, SongBox_module_default.a.wrap, module
68214ClassSelector) 68215 }, props), img, Object(preact_modulebabel_target_legacy["h"])("div", { 68216 className: classnames_babel_target_legacy_default()(nowPlayingClassSelector) 68217 }, songAction && Object(preact_modulebabel_target_legacy["h"])("a", { 68218 href: makeSongActionLink(song, songAction), 68219 target: "parent", 68220 rel: "noreferrer noopener", 68221 className: classnames_babel_target_legacy_default()(SongBox_module_default.a.songActionWrap) 68222 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68223 className: classnames_babel_target_legacy_default()(SongBox_module_default.a.songAction) 68224 }, Object(preact_modulebabel_target_legacy["h"])("span", { 68225 className: SongBox_module_default.a.songActionLabel 68226 }, labels[songAction.type]), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 68227 name: icons[songAction.type] 68228 }))), songStatus, Object(preact_modulebabel_target_legacy["h"])("p", { 68229 className: SongBox_module_default.a.title, 68230 title: song.name 68231 }, song.name), Object(preact_modulebabel_target_legacy["h"])("p", { 68232 className: SongBox_module_default.a.artist, 68233 title: song.artistName 68234 }, t("LABEL_BY_ARTIST", { 68235 artist: song.artistName 68236 })))); 68237}; 68238/* harmony default export */ var SongBoxbabel_target_legacy = (SongBoxbabel_target_legacy_SongBox); 68239// CONCATENATED MODULE: ./src/components/SongBox/index.ts?babel-target=legacy 68240 68241// EXTERNAL MODULE: ./src/components/RPIcon/index.ts?babel-target=legacy + 1 modules 68242var RPIconbabel_target_legacy = __webpack_require__(42); 68243 68244// EXTERNAL MODULE: ./src/components/MiniSongBox/MiniSongBox.module.scss 68245var MiniSongBox_module = __webpack_require__(417); 68246var MiniSongBox_module_default = /*#__PURE__*/__webpack_require__.n(MiniSongBox_module); 68247 68248// CONCATENATED MODULE: ./src/components/MiniSongBox/MiniSongBox.tsx?babel-target=legacy 68249 68250 68251 68252 68253 68254 68255 68256 68257var MiniSongBoxbabel_target_legacy_MiniSongBox = function MiniSongBox(_ref) { 68258 var song = _ref.song, 68259 className = _ref.className, 68260 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["song", "className"]); 68261 68262 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68263 t = _useTranslation.t; 68264 68265 return Object(preact_modulebabel_target_legacy["h"])("div", extendsbabel_target_legacy_default()({ 68266 className: classnames_babel_target_legacy_default()(className, MiniSongBox_module_default.a.wrap) 68267 }, props), song.songArtURL && Object(preact_modulebabel_target_legacy["h"])("img", { 68268 src: song.songArtURL, 68269 alt: song.artistName, 68270 className: MiniSongBox_module_default.a.img 68271 }), Object(preact_modulebabel_target_legacy["h"])("h5", { 68272 className: MiniSongBox_module_default.a.label 68273 }, Object(preact_modulebabel_target_legacy["h"])(EqualizerIconbabel_target_legacy_EqualizerIcon, null)), Object(preact_modulebabel_target_legacy["h"])("p", { 68274 className: MiniSongBox_module_default.a.title, 68275 title: song.name 68276 }, song.name), Object(preact_modulebabel_target_legacy["h"])("p", { 68277 className: MiniSongBox_module_default.a.artist, 68278 title: song.artistName 68279 }, t("LABEL_BY_ARTIST", { 68280 artist: song.artistName 68281 }))); 68282}; 68283/* harmony default export */ var MiniSongBoxbabel_target_legacy = (MiniSongBoxbabel_target_legacy_MiniSongBox); 68284// CONCATENATED MODULE: ./src/components/MiniSongBox/index.ts?babel-target=legacy 68285 68286// CONCATENATED MODULE: ./src/components/NowPlayingWidget/NowPlayingWidget.tsx?babel-target=legacy 68287 68288 68289 68290 68291 68292 68293 68294 68295 68296 68297 68298 68299 68300 68301 68302 68303 68304 68305 68306var NowPlayingWidgetbabel_target_legacy_NowPlayingWidget = function NowPlayingWidget(_ref) { 68307 var nowPlaying = _ref.nowPlaying, 68308 stacked = _ref.stacked, 68309 compact = _ref.compact; 68310 var img; 68311 var name; 68312 var subtitle; 68313 var description; 68314 var time; 68315 68316 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 68317 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 68318 expanded = _useState2[0], 68319 setExpanded = _useState2[1]; 68320 68321 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68322 t = _useTranslation.t; 68323 68324 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 68325 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 68326 state = _useAPI2[0]; 68327 68328 var toggle = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 68329 return setExpanded(function (e) { 68330 return !e; 68331 }); 68332 }, []); 68333 68334 if (!nowPlaying) { 68335 return Object(preact_modulebabel_target_legacy["h"])("div", { 68336 className: NowPlayingWidget_module_default.a.wrap 68337 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 68338 className: NowPlayingWidget_module_default.a.header 68339 }, " "), Object(preact_modulebabel_target_legacy["h"])("figure", { 68340 className: NowPlayingWidget_module_default.a.figure 68341 }), Object(preact_modulebabel_target_legacy["h"])("div", { 68342 className: NowPlayingWidget_module_default.a.details 68343 }, Object(preact_modulebabel_target_legacy["h"])("p", { 68344 className: NowPlayingWidget_module_default.a.time 68345 }
68345))); 68346 } 68347 68348 var isPlayingSong; 68349 var currentSong; 68350 var history; 68351 var isOD = false; 68352 68353 if ("streams" in nowPlaying) { 68354 isOD = true; 68355 68356 if (nowPlaying.seriesName) { 68357 name = nowPlaying.seriesName; 68358 subtitle = nowPlaying.episodeName; 68359 } else { 68360 name = nowPlaying.episodeName; 68361 } 68362 68363 description = nowPlaying.description; 68364 img = nowPlaying.imageUrl; 68365 68366 if (nowPlaying.startTime) { 68367 var secs = parseInt(nowPlaying.startTime); 68368 68369 if (secs) { 68370 time = Object(utilsbabel_target_legacy["e" /* formatLocaleDateTime */])(new Date(secs * 1000)); 68371 } 68372 } 68373 68374 if (!time && nowPlaying.startTimeString) { 68375 var date = new Date(nowPlaying.startTimeString); 68376 68377 if (date) { 68378 time = Object(utilsbabel_target_legacy["e" /* formatLocaleDateTime */])(date); 68379 } 68380 } 68381 } else { 68382 if (nowPlaying.pi) { 68383 time = Object(utilsbabel_target_legacy["g" /* formatProgrammeTime */])(nowPlaying.pi); 68384 } 68385 68386 name = nowPlaying.pi ? nowPlaying.pi.programmeName : nowPlaying.now && nowPlaying.now.serviceName || ""; 68387 description = nowPlaying.pi ? nowPlaying.pi.programmeDescription : nowPlaying.now && nowPlaying.now.serviceDescription || ""; 68388 img = nowPlaying.pi ? nowPlaying.pi.imageUrl : nowPlaying.now && nowPlaying.now.imageUrl || ""; 68389 isPlayingSong = nowPlaying.now && "song" in nowPlaying.now; 68390 history = nowPlaying.previous; 68391 68392 if (history) { 68393 history = history.sort(function (a, b) { 68394 return parseInt(b.startTime) - parseInt(a.startTime) || 0; 68395 }); 68396 } 68397 68398 if (isPlayingSong) { 68399 currentSong = nowPlaying.now; 68400 } else if (history && history.length) { 68401 var _history = history; 68402 68403 var _history2 = toArraybabel_target_legacy_default()(_history); 68404 68405 currentSong = _history2[0]; 68406 history = _history2.slice(1); 68407 } 68408 } 68409 68410 return Object(preact_modulebabel_target_legacy["h"])("div", { 68411 className: classnames_babel_target_legacy_default()(NowPlayingWidget_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, NowPlayingWidget_module_default.a.stacked, stacked)) 68412 }, Object(preact_modulebabel_target_legacy["h"])("h4", { 68413 className: NowPlayingWidget_module_default.a.header 68414 }, isOD ? Object(preact_modulebabel_target_legacy["h"])("span", { 68415 className: NowPlayingWidget_module_default.a.od 68416 }, t("LABEL_ON_DEMAND")) : Object(preact_modulebabel_target_legacy["h"])("span", { 68417 className: NowPlayingWidget_module_default.a.live 68418 }, Object(preact_modulebabel_target_legacy["h"])(LiveIconbabel_target_legacy["a" /* LiveIcon */], { 68419 animate: true 68420 }), t("LABEL_LIVE")), t("LABEL_YOURE_LISTENING")), Object(preact_modulebabel_target_legacy["h"])("div", { 68421 className: classnames_babel_target_legacy_default()(NowPlayingWidget_module_default.a.body, definePropertybabel_target_legacy_default()({}, NowPlayingWidget_module_default.a.compact, compact)) 68422 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68423 className: classnames_babel_target_legacy_default()(NowPlayingWidget_module_default.a.details, definePropertybabel_target_legacy_default()({}, NowPlayingWidget_module_default.a.hiddenWhenExpanded, expanded)) 68424 }, Object(preact_modulebabel_target_legacy["h"])("figure", { 68425 className: NowPlayingWidget_module_default.a.figure 68426 }, img && Object(preact_modulebabel_target_legacy["h"])("img", { 68427 src: img, 68428 alt: name 68429 })), Object(preact_modulebabel_target_legacy["h"])("div", { 68430 className: NowPlayingWidget_module_default.a.info 68431 }, Object(preact_modulebabel_target_legacy["h"])("p", { 68432 className: NowPlayingWidget_module_default.a.time 68433 }, time && !expanded && Object(preact_modulebabel_target_legacy["h"])("span", null, time)), Object(preact_modulebabel_target_legacy["h"])("p", { 68434 className: NowPlayingWidget_module_default.a.title 68435 }, name), subtitle && Object(preact_modulebabel_target_legacy["h"])("p", { 68436 className: NowPlayingWidget_module_default.a.subtitle 68437 }, subtitle), Object(preact_modulebabel_target_legacy["h"])("p", { 68438 className: NowPlayingWidget_module_default.a.description 68439 }, description))), currentSong && (compact ? Object(preact_modulebabel_target_legacy["h"])(MiniSongBoxbabel_target_legacy_MiniSongBox, { 68440 song: currentSong 68441 }) : Object(preact_modulebabel_target_legacy["h"])("section", { 68442 className: classnames_babel_target_legacy_default()(NowPlayingWidget_module_default.a.nowPlaying, definePropertybabel_target_legacy_default()({}, NowPlayingWidget_module_default.a.expanded, expanded)) 68443 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68444 className: NowPlayingWidget_module_default.a.current 68445 }, Object(preact_modulebabel_target_legacy["h"])(SongBoxbabel_target_legacy_SongBox, { 68446 key: currentSong.name, 68447 song: currentSong, 68448 currentSong: isPlayingSong, 68449 narrow: true, 68450 className: NowPlayingWidget_module_default.a.songbox, 68451 songAction: state.cookie.songaction 68452 }), Object(preact_modulebabel_target_legacy["h"])("button", { 68453 "aria-label": "Show recently played songs", 68454 onClick: toggle 68455 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 68456 src: __webpack_require__(896), 68457 colour: "white" 68458 }))), expanded && history && Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])("div", { 68459 className: NowPlayingWidget_module_default.a.list 68460 }, history.map(function (song) { 68461 return Object(preact_modulebabel_target_legacy["h"])(SongBoxbabel_target_legacy_SongBox, { 68462 key: song.name, 68463 song: song, 68464 className: NowPlayingWidget_module_default.a.oldsong, 68465 songAction: state.cookie.songaction 68466 }); 68467 })), Object(preact_modulebabel_target_legacy["h"])("div", { 68468 className: NowPlayingWidget_module_default.a.fade 68469 })))))); 68470}; 68471/* harmony default export */ var NowPlayingWidgetbabel_target_legacy = (NowPlayingWidgetbabel_target_legacy_NowPlayingWidget); 68472// CONCATENATED MODULE: ./src/components/NowPlayingWidget/index.ts?babel-target=legacy 68473 68474// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.starts-with.js?babel-target=legacy 68475var es_string_starts_withbabel_target_legacy = __webpack_require__(461); 68476 68477// EXTERNAL MODULE: ./src/components/IframeWidget/IframeWidget.module.scss 68478var IframeWidget_module = __webpack_require__(704); 68479var IframeWidget_module_default = /*#__PURE__*/__webpack_require__.n(IframeWidget_module); 68480 68481// EXTERNAL MODULE: ./src/lib/EventBus/useEventBus.ts?babel-target=legacy 68482var useEventBusbabel_target_legacy = __webpack_require__(430); 68483 68484// CONCATENATED MODULE: ./src/components/IframeWidget/IframeWidget.tsx?babel-target=legacy 68485 68486 68487 68488 68489/* eslint-disable @typescript-eslint/no-explicit-any */ 68490 68491 68492 68493 68494 68495 68496var IframeWidgetbabel_target_legacy_IframeWidget = function IframeWidget(_ref) { 68497 var src = _ref.src, 68498 className = _ref.className, 68499 enableMessaging = _ref.enableMessaging, 68500 narrow = _ref.narrow, 68501 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["src", "className", "enableMessaging", "narrow"]); 68502 68503 var _useEventBus = Object(useEventBusbabel_target_legacy["a" /* useEventBus */])(), 68504 emitter = _useEventBus.emitter; 68505 68506 var ref = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 68507 var current = ref.current; 68508 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 68509 if (!enableMessaging) { 68510 return; 68511 } 68512 68513 Object(loggerbabel_target_legacy["c" /* log */])("setting up frame handlers"); 68514 68515 if (!emitter) { 68516 return; 68517 } 68518 68519 var iframe = current && current.contentWindow; 68520 68521 var handler = function handler(type, payload) { 68522 if (!type.startsWith("request") && iframe) { 68523 iframe.postMessage({ 68524 type: type, 68525 payload: payload 68526 }, "*"); 68527 } 68528 }; 68529 68530 emitter.on("*", handler); 68531 68532 var messageHandler = function messageHandler(_ref2) { 68533 var data = _ref2.data; 68534 var payload = data.payload, 68535 type = data.type; 68536 Object(loggerbabel_target_legacy["c" /* log */])("Received message", data); 68537 68538 if (type && type.startsWith("request")) { 68539 emitter.emit(type, payload); 68540 } 68541 }; 68542 68543 Object(loggerbabel_target_legacy["c" /* log */])("adding iframe handler"); 68544 window.addEventListener("message", messageHandler); 68545 return function () { 68546 Object(loggerbabel_target_legacy["c" /* log */])("removing frame handlers"); 68547 emitter.off("*", handler); 68548 window.removeEventListener("message", messageHandler); 68549 }; 68550 }, [current, emitter, enableMessaging, src]); 68551 return Object(preact_modulebabel_target_legacy["h"])("div", extendsbabel_target_legacy_default()({ 68552 className: classnames_babel_target_legacy_default()(IframeWidget_module_default.a.wrap, narrow && IframeWidget_module_default.a.narrow, className) 68553 }, props), Object(preact_modulebabel_target_legacy["h"])("iframe", { 68554 src: src, 68555 className: IframeWidget_module_default.a.frame, 68556 title: "Widgets", 68557 ref: ref 68558 })); 68559}; 68560/* harmony default export */ var IframeWidgetbabel_target_legacy = (IframeWidgetbabel_target_legacy_IframeWidget); 68561// CONCATENATED MODULE: ./src/components/IframeWidget/index.ts?babel-target=legacy 68562 68563// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find-index.js?babel-target=legacy 68564var es_array_find_indexbabel_target_legacy = __webpack_require__(343); 68565 68566// EXTERNAL MODULE: ./src/components/ScheduleWidget/ScheduleWidget.module.scss 68567var ScheduleWidget_module = __webpack_require__(248); 68568var ScheduleWidget_module_default = /*#__PURE__*/__webpack_require__.n(ScheduleWidget_module); 68569 68570// EXTERNAL MODULE: ./src/components/ProgrammeCard/ProgrammeCard.module.scss 68571var ProgrammeCard_module = __webpack_require__(259); 68572var ProgrammeCard_module_default = /*#__PURE__*/__webpack_require__.n(ProgrammeCard_module); 68573 68574// CONCATENATED MODULE: ./src/components/ProgrammeCard/ProgrammeCard.tsx?babel-target=legacy 68575 68576 68577 68578 68579 68580 68581 68582 68583 68584var ProgrammeCardbabel_target_legacy_ProgrammeCard = function ProgrammeCard(_ref) { 68585 var programme = _ref.programme, 68586 live = _ref.live, 68587 past = _ref.past; 68588 var imageUrl = programme.imageUrl, 68589 startTime = programme.startTime, 68590 programmeName = programme.programmeName, 68591 programmeDescription = programme.programmeDescription; 68592 var time = parseInt(startTime); 68593 68594 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68595 t = _useTranslation.t; 68596 68597 return Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])("div", { 68598 className: classnames_babel_target_legacy_default()(ProgrammeCard_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, ProgrammeCard_module_default.a.past, past)) 68599 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68600 className: ProgrammeCard_module_default.a.imgbox 68601 }, Object(preact_modulebabel_target_legacy["h"])("img", { 68602 src: imageUrl, 68603 alt: programmeName 68604 })), Object(preact_modulebabel_target_legacy["h"])("div", { 68605 className: ProgrammeCard_module_default.a.info 68606 }, Object(preact_modulebabel_target_legacy["h"])("p", { 68607 className: ProgrammeCard_module_default.a.time // title={ 68608 // time 68609 // ? new Date(time * 1000).toISOString() 68610 // : undefined 68611 // } 68612 68613 }, time ? Object(utilsbabel_target_legacy["f" /* formatLocaleTime */])(time) : "", " ", live && Ob
68613ject(preact_modulebabel_target_legacy["h"])("span", { 68614 className: ProgrammeCard_module_default.a.live 68615 }, Object(preact_modulebabel_target_legacy["h"])(LiveIconbabel_target_legacy["a" /* LiveIcon */], { 68616 animate: true 68617 }), t("LABEL_LIVE"))), Object(preact_modulebabel_target_legacy["h"])("h4", { 68618 className: ProgrammeCard_module_default.a.title 68619 }, programmeName), Object(preact_modulebabel_target_legacy["h"])("p", { 68620 className: ProgrammeCard_module_default.a.description 68621 }, programmeDescription))), live ? Object(preact_modulebabel_target_legacy["h"])("div", { 68622 className: ProgrammeCard_module_default.a.next 68623 }, Object(preact_modulebabel_target_legacy["h"])("p", null, t("LABEL_UP_NEXT"))) : Object(preact_modulebabel_target_legacy["h"])("span", null)); 68624}; 68625/* harmony default export */ var ProgrammeCardbabel_target_legacy = (ProgrammeCardbabel_target_legacy_ProgrammeCard); 68626// CONCATENATED MODULE: ./src/components/ProgrammeCard/index.ts?babel-target=legacy 68627 68628// EXTERNAL MODULE: ./src/components/Spinner/index.ts?babel-target=legacy + 1 modules 68629var Spinnerbabel_target_legacy = __webpack_require__(236); 68630 68631// EXTERNAL MODULE: ./src/api/useBackgrounded.ts?babel-target=legacy 68632var useBackgroundedbabel_target_legacy = __webpack_require__(779); 68633 68634// CONCATENATED MODULE: ./src/components/ScheduleWidget/ScheduleWidget.tsx?babel-target=legacy 68635 68636 68637 68638 68639 68640 68641 68642 68643 68644 68645 68646 68647 68648 68649 68650 68651 68652 68653 68654 68655var now = Date.now(); 68656var midnight = Object(utilsbabel_target_legacy["i" /* getMidnightTonight */])(); 68657 68658var isPast = function isPast(timeStr) { 68659 return parseInt(timeStr) * 1000 < now; 68660}; 68661 68662var isOnNow = function isOnNow(programme) { 68663 return isPast(programme.startTime) && !isPast(programme.stopTime); 68664}; 68665 68666var isToday = function isToday(programme) { 68667 return parseInt(programme.startTime) < midnight; 68668}; 68669 68670var isTomorrow = function isTomorrow(programme) { 68671 return !isToday(programme); 68672}; 68673 68674var ScheduleWidgetbabel_target_legacy_ScheduleWidget = function ScheduleWidget(_ref) { 68675 var stacked = _ref.stacked; 68676 var list = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(); 68677 68678 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(0), 68679 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 68680 tabIndex = _useState2[0], 68681 setTabIndex = _useState2[1]; 68682 68683 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 68684 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 68685 state = _useAPI2[0]; 68686 68687 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 68688 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 68689 programmes = _useState4[0], 68690 setProgrammes = _useState4[1]; 68691 68692 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68693 t = _useTranslation.t; 68694 68695 var todaySelected = tabIndex === 0; 68696 var liveItem = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 68697 return programmes.findIndex(isOnNow); 68698 }, [programmes]); 68699 var today = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 68700 return programmes.filter(isToday); 68701 }, [programmes]); 68702 var tomorrow = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 68703 return programmes.filter(isTomorrow); 68704 }, [programmes]); 68705 var getSchedule = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])( /*#__PURE__*/asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 68706 var result; 68707 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 68708 while (1) { 68709 switch (_context.prev = _context.next) { 68710 case 0: 68711 if (!(!state.nowPlayingUrl || !state.rpId)) { 68712 _context.next = 2; 68713 break; 68714 } 68715 68716 return _context.abrupt("return"); 68717 68718 case 2: 68719 _context.next = 4; 68720 return Object(APIManagerbabel_target_legacy["r" /* loadSchedule */])(state.nowPlayingUrl, state.rpId); 68721 68722 case 4: 68723 result = _context.sent; 68724 setProgrammes(result); 68725 68726 case 6: 68727 case "end": 68728 return _context.stop(); 68729 } 68730 } 68731 }, _callee); 68732 })), [state.nowPlayingUrl, state.rpId]);
68733 var backgrounded = Object(useBackgroundedbabel_target_legacy["a" /* useBackgrounded */])(); 68734 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 68735 if (backgrounded) { 68736 return; 68737 } 68738 68739 var interval = window.setInterval(getSchedule, 60000); 68740 getSchedule(); 68741 return function () { 68742 return window.clearInterval(interval); 68743 }; 68744 }, [getSchedule, backgrounded]); 68745 68746 var renderRow = function renderRow(row, idx) { 68747 return Object(preact_modulebabel_target_legacy["h"])(ProgrammeCardbabel_target_legacy_ProgrammeCard, { 68748 programme: row, 68749 "data-index": idx, 68750 live: tabIndex === 0 && idx === liveItem, 68751 past: isPast(row.stopTime) 68752 }); 68753 }; 68754 68755 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 68756 if (list.current) { 68757 list.current.scrollTop = Math.max((liveItem - 1) * 70 - 40, 0); 68758 } 68759 }, [liveItem, list, tabIndex]); 68760 return programmes.length ? Object(preact_modulebabel_target_legacy["h"])("div", { 68761 className: classnames_babel_target_legacy_default()(ScheduleWidget_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, ScheduleWidget_module_default.a.stacked, stacked)) 68762 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 68763 className: ScheduleWidget_module_default.a.header 68764 }, t("LABEL_MORE_FROM", { 68765 serviceName: today[0].serviceName 68766 })), !!tomorrow.length && Object(preact_modulebabel_target_legacy["h"])("div", { 68767 role: "tablist", 68768 className: ScheduleWidget_module_default.a.tabs 68769 }, Object(preact_modulebabel_target_legacy["h"])("button", { 68770 role: "tab", 68771 onClick: function onClick() { 68772 return setTabIndex(0); 68773 }, 68774 "aria-selected": !tabIndex 68775 }, t("LABEL_TODAY")), Object(preact_modulebabel_target_legacy["h"])("button", { 68776 role: "tab", 68777 onClick: function onClick() { 68778 return setTabIndex(1); 68779 }, 68780 "aria-selected": !!tabIndex 68781 }, t("LABEL_TOMORROW"))), Object(preact_modulebabel_target_legacy["h"])("div", { 68782 className: ScheduleWidget_module_default.a.head 68783 }), Object(preact_modulebabel_target_legacy["h"])("div", { 68784 className: ScheduleWidget_module_default.a.list, 68785 ref: list 68786 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68787 className: ScheduleWidget_module_default.a.gradient 68788 }), (todaySelected ? today : tomorrow).map(renderRow))) : Object(preact_modulebabel_target_legacy["h"])("div", { 68789 className: classnames_babel_target_legacy_default()(ScheduleWidget_module_default.a.wrap, ScheduleWidget_module_default.a.placeholder) 68790 }, Object(preact_modulebabel_target_legacy["h"])(Spinnerbabel_target_legacy["a" /* Spinner */], { 68791 className: ScheduleWidget_module_default.a.spinner 68792 }), Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 68793 src: __webpack_require__(1059) 68794 })); 68795}; 68796/* harmony default export */ var ScheduleWidgetbabel_target_legacy = (ScheduleWidgetbabel_target_legacy_ScheduleWidget); 68797// CONCATENATED MODULE: ./src/components/ScheduleWidget/index.ts?babel-target=legacy 68798 68799// EXTERNAL MODULE: ./src/components/OnDemandWidget/OnDemandWidget.module.scss 68800var OnDemandWidget_module = __webpack_require__(345); 68801var OnDemandWidget_module_default = /*#__PURE__*/__webpack_require__.n(OnDemandWidget_module); 68802 68803// EXTERNAL MODULE: ./node_modules/@aerian/preact-virtual-list/dist/preact-virtual-list.js?babel-target=legacy 68804var preact_virtual_listbabel_target_legacy = __webpack_require__(121); 68805var preact_virtual_listbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(preact_virtual_listbabel_target_legacy); 68806 68807// EXTERNAL MODULE: ./src/components/OnDemandListItem/OnDemandListItem.module.scss 68808var OnDemandListItem_module = __webpack_require__(260); 68809var OnDemandListItem_module_default = /*#__PURE__*/__webpack_require__.n(OnDemandListItem_module); 68810 68811// CONCATENATED MODULE: ./src/components/OnDemandListItem/OnDemandListItem.tsx?babel-target=legacy 68812 68813 68814 68815 68816 68817 68818 68819var OnDemandListItembabel_target_legacy_OnDemandListItem = function OnDemandListItem(_ref) { 68820 var programme = _ref.programme; 68821 var time = parseInt(programme.odStartTime); 68822 return Object(preact_modulebabel_target_legacy["h"])("a", { 68823 className: OnDemandListItem_module_default.a.wrap, 68824 href: programme.consoleUrl 68825 }, Object(preact_modulebabel_target_legacy["h"])("div", { 68826 className: OnDemandListItem_module_default.a.body 68827 }, Object(preact_modulebabel_target_legacy["h"])("h4", { 68828 className: OnDemandListItem_module_default.a.title, 68829 title: programme.name 68830 }, programme.name), Object(preact_modulebabel_target_legacy["h"])("p", { 68831 className: OnDemandListItem_module_default.a.episode, 68832 title: programme.description 68833 }
68833, programme.description), time && Object(preact_modulebabel_target_legacy["h"])("p", { 68834 className: OnDemandListItem_module_default.a.date 68835 }, Object(utilsbabel_target_legacy["d" /* formatLocaleDate */])(time))), Object(preact_modulebabel_target_legacy["h"])("div", { 68836 className: OnDemandListItem_module_default.a.buttonarea 68837 }, Object(preact_modulebabel_target_legacy["h"])("a", { 68838 href: programme.consoleUrl, 68839 className: OnDemandListItem_module_default.a.play 68840 }, Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 68841 className: OnDemandListItem_module_default.a.nohover, 68842 name: "small-play" 68843 }), Object(preact_modulebabel_target_legacy["h"])(IconSpritebabel_target_legacy["a" /* IconSprite */], { 68844 className: OnDemandListItem_module_default.a.hover, 68845 name: "small-play-circle" 68846 })))); 68847}; 68848/* harmony default export */ var OnDemandListItembabel_target_legacy = (OnDemandListItembabel_target_legacy_OnDemandListItem); 68849// CONCATENATED MODULE: ./src/components/OnDemandListItem/index.ts?babel-target=legacy 68850 68851// CONCATENATED MODULE: ./src/components/OnDemandWidget/OnDemandWidget.tsx?babel-target=legacy 68852 68853 68854 68855 68856 68857 68858 68859 68860 68861 68862 68863 68864 68865 68866var ROW_HEIGHT = 80; 68867 68868var OnDemandWidgetbabel_target_legacy_renderRow = function renderRow(item) { 68869 return Object(preact_modulebabel_target_legacy["h"])(OnDemandListItembabel_target_legacy_OnDemandListItem, { 68870 programme: item 68871 }); 68872}; 68873 68874var OnDemandWidgetbabel_target_legacy_OnDemandWidget = function OnDemandWidget(_ref) { 68875 var stacked = _ref.stacked; 68876 68877 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 68878 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 68879 programmes = _useState2[0], 68880 setProgrammes = _useState2[1]; 68881 68882 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 68883 t = _useTranslation.t; 68884 68885 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 68886 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 68887 state = _useAPI2[0]; 68888 68889 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 68890 var getOnDemand = /*#__PURE__*/function () { 68891 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 68892 var result; 68893 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 68894 while (1) { 68895 switch (_context.prev = _context.next) { 68896 case 0: 68897 if (!(!state.queryProxyUrl || !state.rpId)) { 68898 _context.next = 2; 68899 break; 68900 } 68901 68902 return _context.abrupt("return"); 68903 68904 case 2: 68905 _context.next = 4; 68906 return Object(APIManagerbabel_target_legacy["o" /* loadOnDemand */])(state.queryProxyUrl, state.rpId); 68907 68908 case 4: 68909 result = _context.sent; 68910 setProgrammes(result); 68911 68912 case 6: 68913 case "end": 68914 return _context.stop(); 68915 } 68916 } 68917 }, _callee); 68918 })); 68919 68920 return function getOnDemand() { 68921 return _ref2.apply(this, arguments); 68922 }; 68923 }(); 68924 68925 getOnDemand(); 68926 }, [state.queryProxyUrl, state.rpId]); 68927 return Object(preact_modulebabel_target_legacy["h"])("div", { 68928 className: classnames_babel_target_legacy_default()(OnDemandWidget_module_default.a.wrap, definePropertybabel_target_legacy_default()({}, OnDemandWidget_module_default.a.stacked, stacked)) 68929 }, Object(preact_modulebabel_target_legacy["h"])("h2", { 68930 className: OnDemandWidget_module_default.a.header 68931 }, t("LABEL_ON_DEMAND")), Object(preact_modulebabel_target_legacy["h"])("div", { 68932 className: OnDemandWidget_module_default.a.gradient 68933 }), Object(preact_modulebabel_target_legacy["h"])(preact_virtual_listbabel_target_legacy_default.a, { 68934 className: OnDemandWidget_module_default.a.list, 68935 data: programmes, 68936 renderRow: OnDemandWidgetbabel_target_legacy_renderRow, 68937 rowHeight: ROW_HEIGHT, 68938 overscanCount: 10, 68939 sync: true 68940 }), Object(preact_modulebabel_target_legacy["h"])("div", { 68941 className: OnDemandWidget_module_default.a.gradientBottom 68942 })); 68943}; 68944/* harmony default export */ var OnDemandWidgetbabel_target_legacy = (OnDemandWidgetbabel_target_legacy_OnDemandWidget); 68945// CONCATENATED MODULE: ./src/components/OnDemandWidget/index.ts?babel-target=legacy 68946 68947// EXTERNAL MODULE: ./src/components/GptWrapper/index.ts?babel-target=legacy + 1 modules 68948var GptWrapperbabel_target_legacy = __webpack_require__(786); 68949 68950// CONCATENATED MODULE: ./src/components/WidgetSpace/WidgetSpace.tsx?babel-target=legacy 68951 68952 68953 68954 68955 68956 68957/* eslint-disable jsx-a11y/heading-has-content */ 68958 68959 68960 68961 68962 68963 68964 68965 68966 68967 68968
68969var WidgetSpacebabel_target_legacy_WidgetSpace = function WidgetSpace(_ref) { 68970 var _state$cookie, _classNames; 68971 68972 var companionAd = _ref.companionAd, 68973 nowPlaying = _ref.nowPlaying, 68974 _ref$widgets = _ref.widgets, 68975 widgets = _ref$widgets === void 0 ? [] : _ref$widgets, 68976 iframeSrc = _ref.iframeSrc, 68977 gptTag = _ref.gptTag, 68978 enableIframeMessaging = _ref.enableIframeMessaging, 68979 fullHeight = _ref.fullHeight, 68980 backgroundColour = _ref.backgroundColour, 68981 widgetOverrides = _ref.widgetOverrides, 68982 stationName = _ref.stationName; 68983 68984 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 68985 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 68986 state = _useAPI2[0]; 68987 68988 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(window.innerWidth), 68989 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 68990 windowWidth = _useState2[0], 68991 updateWindowWidth = _useState2[1]; 68992 68993 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 68994 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 68995 stackedWidgets = _useState4[0], 68996 updateStackedWidgets = _useState4[1]; 68997 68998 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(widgets.includes("OD")), 68999 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 1), 69000 adInOnDemand = _useState6[0]; 69001 69002 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(!adInOnDemand && widgets.includes("SC")), 69003 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 1), 69004 adInSchedule = _useState8[0]; 69005 69006 var _useState9 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(!adInSchedule && !adInOnDemand), 69007 _useState10 = slicedToArraybabel_target_legacy_default()(_useState9, 1), 69008 adInNowPlaying = _useState10[0]; 69009 69010 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69011 var trimWidgets = function trimWidgets() { 69012 // we don't want to render more than 3 widgets, 69013 // so we're trimming off anything more 69014 widgets.length = widgets.length > 3 ? 3 : widgets.length; 69015 }; 69016 69017 trimWidgets(); 69018 }, [widgets]); 69019 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69020 var updateWindowWidthFunction = function updateWindowWidthFunction() { 69021 updateWindowWidth(window.innerWidth); 69022 }; 69023 69024 var widgetsShouldStack = function widgetsShouldStack() { 69025 if (widgets.length === 1 || widgets.length === 2 && windowWidth > 650 || widgets.length === 3 && windowWidth > 950) { 69026 return false; 69027 } else { 69028 return true; 69029 } 69030 }; 69031 69032 updateStackedWidgets(widgetsShouldStack); 69033 window.addEventListener("resize", updateWindowWidthFunction, false); 69034 return function () { 69035 // widgetList listeners cleanup 69036 window.removeEventListener("resize", updateWindowWidthFunction, false); 69037 }; 69038 }, [widgets.length, windowWidth]); 69039 var ad = companionAd ? Object(preact_modulebabel_target_legacy["h"])("section", { 69040 className: WidgetSpace_module_default.a.companion 69041 }, Object(preact_modulebabel_target_legacy["h"])(CompanionAdHolderbabel_target_legacy_CompanionAdHolder, { 69042 ads: companionAd 69043 })) : gptTag && gptTag.adUnitPath && Object(preact_modulebabel_target_legacy["h"])(GptWrapperbabel_target_legacy["a" /* GptWrapper */], { 69044 adUnitPath: gptTag.adUnitPath, 69045 refreshInterval: gptTag.refreshInterval, 69046 targeting: gptTag.targeting 69047 }); 69048 var renderNarrowIframe = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (type) { 69049 return widgetOverrides && Object(preact_modulebabel_target_legacy["h"])(IframeWidgetbabel_target_legacy_IframeWidget, { 69050 src: widgetOverrides[type].source || "about:blank", 69051 enableMessaging: widgetOverrides[type].messaging, 69052 narrow: true 69053 }); 69054 }, [widgetOverrides]); 69055 var checkWidgetOverride = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (type) { 69056 return widgetOverrides && widgetOverrides[type]; 69057 }, [widgetOverrides]); 69058 var buildWidget = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (widgetContent, type) { 69059 return Object(preact_modulebabel_target_legacy["h"])("div", { 69060 className: classnames_babel_target_legacy_default()([WidgetSpace_module_default.a.widgetColumn, stackedWidgets && WidgetSpace_module_default.a.stackedWidgetColumn]), 69061 key: type 69062 }, checkWidgetOverride(type) ? renderNarrowIframe(type) : widgetContent); 69063 }, [checkWidgetOverride, renderNarrowIframe, stackedWidgets]); 69064 var renderWidget = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (type) { 69065 if (!type) return; 69066 69067 switch (type) { 69068 case "NP": 69069 return buildWidget(Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])(NowPlayingWidgetbabel_target_legacy_NowPlayingWidget, { 69070 nowPlaying: nowPlaying, 69071 stacked: stackedWidgets, 69072 compact: adInNowPlaying && !!ad 69073 }), adInNowPlaying && ad), type); 69074 69075 case "SC": 69076 return buildWidget(Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])(ScheduleWidgetbabel_target_legacy_ScheduleWidget, { 69077 stacked: stackedWidgets 69078 }), adInSchedule && ad), type); 69079 69080 case "OD": 69081 return buildWidget(Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, Object(preact_modulebabel_target_legacy["h"])(OnDemandWidgetbabel_target_legacy_OnDemandWidget, { 69082 stacked: stackedWidgets 69083 }), adInOnDemand && ad), type); 69084 69085 case "IF": 69086 return Object(preact_modulebabel_target_legacy["h"])(IframeWidgetbabel_target_legacy_IframeWidget, { 69087 src: iframeSrc || "about:blank", 69088 enableMessaging: enableIframeMessaging 69089 }); 69090 69091 default: 69092 //as a default behaviour we will try to render the widget as an iframe if the type is unknown 69093 return buildWidget(Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null), type); 69094 } 69095 }, [ad, adInNowPlaying, adInOnDemand, adInSchedule, buildWidget, enableIframeMessaging, iframeSrc, nowPlaying, stackedWidgets]); 69096 var style = {}; 69097 69098 if (backgroundColour) { 69099 style.backgroundColor = backgroundColour; 69100 } 69101 69102 if (state === null || state === void 0 ? void 0 : (_state$cookie = state.cookie) === null || _state$cookie === void 0 ? void 0 : _state$cookie.dead) { 69103 return null; 69104 } 69105 69106 return Object(preact_modulebabel_target_legacy["h"])("main", { 69107 className: WidgetSpace_module_default.a.wrap, 69108 style: style 69109 }, Object(preact_modulebabel_target_legacy["h"])("h1", { 69110 id: "main-content", 69111 className: WidgetSpace_module_default.a.hiddenH1, 69112 tabIndex: -1 69113 }, stationName), Object(preact_modulebabel_target_legacy["h"])("div", { 69114 className: classnames_babel_target_legacy_default()(WidgetSpace_module_default.a.inner, (_classNames = {}, definePropertybabel_target_legacy_default()(_classNames, WidgetSpace_module_default.a.widgetsInline, stackedWidgets === false), definePropertybabel_target_legacy_default()(_classNames, WidgetSpace_module_default.a.full, fullHeight), _classNames)) 69115 }, widgets.includes("IF") ? renderWidget("IF") : Object(preact_modulebabel_target_legacy["h"])(preact_modulebabel_target_legacy["Fragment"], null, widgets.map(function (widget) { 69116 return renderWidget(widget); 69117 })))); 69118}; 69119/* harmony default export */ var WidgetSpacebabel_target_legacy = (WidgetSpacebabel_target_legacy_Wi
69119dgetSpace); 69120// CONCATENATED MODULE: ./src/components/WidgetSpace/index.ts?babel-target=legacy 69121 69122// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.link.js?babel-target=legacy 69123var es_string_linkbabel_target_legacy = __webpack_require__(426); 69124 69125// EXTERNAL MODULE: ./src/components/SoundOfSilence/SoundOfSilence.module.scss 69126var SoundOfSilence_module = __webpack_require__(322); 69127var SoundOfSilence_module_default = /*#__PURE__*/__webpack_require__.n(SoundOfSilence_module); 69128 69129// EXTERNAL MODULE: ./src/lib/Trans/Trans.js?babel-target=legacy + 2 modules 69130var Transbabel_target_legacy = __webpack_require__(333); 69131 69132// CONCATENATED MODULE: ./src/components/SoundOfSilence/SoundOfSilence.tsx?babel-target=legacy 69133 69134 69135/* eslint-disable react/jsx-no-literals */ 69136 69137 69138 69139 69140 69141var SoundOfSilencebabel_target_legacy_SoundOfSilence = function SoundOfSilence() { 69142 var _useTranslation = Object(es_babel_target_legacy["c" /* useTranslation */])(), 69143 t = _useTranslation.t, 69144 i18n = _useTranslation.i18n; 69145 69146 return Object(preact_modulebabel_target_legacy["h"])("div", { 69147 className: SoundOfSilence_module_default.a.background 69148 }, Object(preact_modulebabel_target_legacy["h"])("section", { 69149 className: SoundOfSilence_module_default.a.container 69150 }, Object(preact_modulebabel_target_legacy["h"])("div", { 69151 className: SoundOfSilence_module_default.a.icon 69152 }, Object(preact_modulebabel_target_legacy["h"])(RPIconbabel_target_legacy["a" /* RPIcon */], { 69153 src: __webpack_require__(974) 69154 })), Object(preact_modulebabel_target_legacy["h"])("p", { 69155 className: SoundOfSilence_module_default.a.lyrics 69156 }, t("SOUND_OF_SILENCE_LYRIC")), Object(preact_modulebabel_target_legacy["h"])("h1", { 69157 className: SoundOfSilence_module_default.a.title 69158 }, t("SOUND_OF_SILENCE_TITLE")), Object(preact_modulebabel_target_legacy["h"])("div", { 69159 className: SoundOfSilence_module_default.a.copyContainer 69160 }, Object(preact_modulebabel_target_legacy["h"])("p", null, t("SOUND_OF_SILENCE_COPY_1")), Object(preact_modulebabel_target_legacy["h"])("p", null, t("SOUND_OF_SILENCE_COPY_2")), Object(preact_modulebabel_target_legacy["h"])("p", null, Object(preact_modulebabel_target_legacy["h"])(Transbabel_target_legacy["a" /* Trans */], { 69161 i18nKey: "SOUND_OF_SILENCE_APP_LINK", 69162 i18n: i18n 69163 }, "You can try using a different browser but if your device doesn't support this, why not", " ", Object(preact_modulebabel_target_legacy["h"])("a", { 69164 href: t("SOUND_OF_SILENCE_URL"), 69165 target: "_blank", 69166 rel: "noopener noreferrer", 69167 className: SoundOfSilence_module_default.a.link 69168 }, "download our free app"), " ", "for phones and tablet."))))); 69169}; 69170// CONCATENATED MODULE: ./src/components/SoundOfSilence/index.ts?babel-target=legacy 69171 69172// EXTERNAL MODULE: ./src/components/App/App.module.scss 69173var App_module = __webpack_require__(950); 69174var App_module_default = /*#__PURE__*/__webpack_require__.n(App_module); 69175 69176// EXTERNAL MODULE: ./src/lib/i18n.ts?babel-target=legacy + 21 modules 69177var i18nbabel_target_legacy = __webpack_require__(321); 69178 69179// EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js?babel-target=legacy 69180var tinycolorbabel_target_legacy = __webpack_require__(792); 69181var tinycolorbabel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(tinycolorbabel_target_legacy); 69182 69183// EXTERNAL MODULE: ./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js?babel-target=legacy 69184var css_vars_ponyfill_esmbabel_target_legacy = __webpack_require__(958); 69185 69186// EXTERNAL MODULE: ./src/components/AnnouncementBanner/index.ts?babel-target=legacy + 1 modules 69187var AnnouncementBannerbabel_target_legacy = __webpack_require__(970); 69188 69189// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.ends-with.js?babel-target=legacy 69190var es_string_ends_withbabel_target_legacy = __webpack_require__(266); 69191 69192// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js?babel-target=legacy 69193var es_string_matchbabel_target_legacy = __webpack_require__(302); 69194 69195// EXTERNAL MODULE: ./node_modules/lodash.clonedeep?babel-target=legacy 69196var lodash_clonedeep_babel_target_legacy = __webpack_require__(983); 69197var lodash_clonedeep_babel_target_legacy_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep_babel_target_legacy); 69198 69199// CONCATENATED MODULE: ./src/lib/playbackConfigUtils.ts?babel-target=legacy 69200 69201 69202 69203 69204 69205 69206 69207 69208 69209 69210 69211 69212 69213 69214 69215 69216 69217function playbackConfigUtilsbabel_target_legacy_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = playbackConfigUtilsbabel_target_legacy_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 69218 69219function playbackConfigUtilsbabel_target_legacy_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return playbackConfigUtilsbabel_target_legacy_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return playbackConfigUtilsbabel_target_legacy_arrayLikeToArray(o, minLen); } 69220 69221function playbackConfigUtilsbabel_target_legacy_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 69222 69223 69224 69225 69226/** 69227 * Ask console to unlock playback. 69228 */ 69229var playbackConfigUtilsbabel_target_legacy_unlockPlay = function unlockPlay() { 69230 window.dispatchEvent(new CustomEvent("radioplayer_unlockPlay")); 69231 Object(loggerbabel_target_legacy["c" /* log */])("Play unlocked by external <script>."); 69232}; 69233 69234var addParam = function addParam(url, param) { 69235 // Copied from src/api/utils.ts 69236 var result = url.match(/(https?:)?\/\/(.+)/); 69237 69238 if (!result || result.length < 3) { 69239 return url; 69240 } 69241 69242 var domain = result[2]; 69243 var _char = "?"; 69244 69245 if (domain.endsWith("/")) { 69246 _char = "?"; 69247 } else if (domain.endsWith(";")) { 69248 _char = ""; 69249 } else if (domain.includes("?")) { 69250 _char = "&"; 69251 } 69252 69253 return url + _char + param; 69254}; 69255/** 69256 * Send modified streams back to console 69257 */ 69258 69259 69260var playbackConfigUtilsbabel_target_legacy_sendNewStreamsToConsole = function sendNewStreamsToConsole(streams, adProviders) { 69261 // Update playback configuration 69262 window.radioplayer_playbackConfigurationFromExternalScript = { 69263 streams: streams,
69264 adProviders: adProviders 69265 }; 69266 Object(loggerbabel_target_legacy["c" /* log */])("Sent modified stream URLs and adProviders to web player!"); 69267}; 69268/** 69269 * Triggers an event which is picked up by the player. queryParams is collected and stored in state of the Player component. 69270 * @param {} queryParams 69271 */ 69272 69273 69274var syncQueryParamsWithConsole = function syncQueryParamsWithConsole(queryParams) { 69275 window.dispatchEvent(new CustomEvent("radioplayer_syncQueryParams", { 69276 detail: queryParams 69277 })); 69278}; 69279 69280var streamModifierUtils = { 69281 unlockPlay: playbackConfigUtilsbabel_target_legacy_unlockPlay, 69282 addParam: addParam, 69283 sendNewStreamsToConsole: playbackConfigUtilsbabel_target_legacy_sendNewStreamsToConsole, 69284 syncQueryParamsWithConsole: syncQueryParamsWithConsole 69285}; 69286/** 69287 * Provide playbackConfiguration to external scripts via global variable. 69288 * @param playbackConfig The playbackConfiguration 69289 */ 69290 69291var playbackConfigUtilsbabel_target_legacy_writePlaybackConfigurationFromConsole = function writePlaybackConfigurationFromConsole(playbackConfig) { 69292 /** 69293 * Store a deep clone in global variable. Reason: External scripts should not be able to modify internals (i.e. the arrays). 69294 */ 69295 window.radioplayer_playbackConfigurationFromConsole = lodash_clonedeep_babel_target_legacy_default()(playbackConfig // eslint-disable-next-line @typescript-eslint/no-explicit-any 69296 ); 69297}; 69298/** 69299 * Store playbackConfiguration from external scripts in global variable. 69300 * @param playbackConfig The playbackConfiguration 69301 */ 69302 69303var playbackConfigUtilsbabel_target_legacy_writePlaybackConfigurationFromExternalScript = function writePlaybackConfigurationFromExternalScript(playbackConfig) { 69304 /** 69305 * Store a deep clone in global variable. Reason: External scripts should not be able to modify internals (i.e. the arrays). 69306 */ 69307 window.radioplayer_playbackConfigurationFromExternalScript = lodash_clonedeep_babel_target_legacy_default()(playbackConfig // eslint-disable-next-line @typescript-eslint/no-explicit-any 69308 ); 69309}; 69310/** 69311 * Create a new playbackConfiguration. 69312 * @param onDemandItem If the console is playing an OnDemandItem (and not a stream), that item needs to be passed. 69313 * @param streams An array of Streams. Can be empty (e.g. for stations that want to set their streams via external <script>, not via SCP or config passed to preact-habitat.) 69314 * @param adProviders Ad array of AdProviders. Can be empty (e.g. for stations without ads or stations that want to set their adProviders via external <script>, not via SCP or config passed to preact-habitat). 69315 */ 69316 69317var createPlaybackConfiguration = function createPlaybackConfiguration(onDemandItem, streams, adProviders) { 69318 var playbackConfig = { 69319 isOdItem: onDemandItem != null, 69320 streams: onDemandItem != null ? onDemandItem.streams : streams, 69321 adProviders: adProviders 69322 }; 69323 return playbackConfig; 69324}; 69325/** 69326 * Sanity-check and parse playbackConfiguration set by external <script>. 69327 * @param unclonedPlaybackConfiguration A raw (i.e. not sanity-checked) object, that should (but may not) contain a valid playback configuration. 69328 * @return undefined if playbackConfiguration was invalid, otherwise an object of type PlaybackConfiguration 69329 */ 69330 69331var playbackConfigUtilsbabel_target_legacy_parseRawPlaybackConfiguration = function parseRawPlaybackConfiguration(unclonedPlaybackConfiguration) { 69332 // Deep cloning ensures external scripts can't modify the arrays anymore. 69333 var playbackConfiguration = lodash_clonedeep_babel_target_legacy_default()(unclonedPlaybackConfiguration); 69334 var parsedStreams = undefined; 69335 var parsedAdProviders = undefined; // Sanity checks: streams 69336 69337 if (playbackConfiguration != null && playbackConfiguration.streams != null && Array.isArray(playbackConfiguration.streams) && playbackConfiguration.streams.length > 0) { 69338 var newStreams = []; 69339 69340 var _iterator = playbackConfigUtilsbabel_target_legacy_createForOfIteratorHelper(playbackConfiguration.streams), 69341 _step; 69342 69343 try { 69344 for (_iterator.s(); !(_step = _iterator.n()).done;) { 69345 var stream = _step.value; 69346 69347 if (typeof (stream === null || stream === void 0 ? void 0 : stream.format) === "string" && stream.format.length > 0 && typeof (stream === null || stream === void 0 ? void 0 : stream.url) === "string" && stream.url.length > 0) { 69348 var newStream = stream; 69349 newStreams.push(newStream); 69350 } 69351 } 69352 } catch (err) { 69353 _iterator.e(err); 69354 } finally { 69355 _iterator.f(); 69356 } 69357 69358 if (newStreams.length === 0) { 69359 Object(loggerbabel_target_legacy["c" /* log */])("playbackConfiguration from external script contained 0 valid streams"); 69360 } else { 69361 parsedStreams = newStreams; 69362 } 69363 }
69363 // Sanity checks: adProviders 69364 69365 69366 if (playbackConfiguration != null && playbackConfiguration.adProviders != null && Array.isArray(playbackConfiguration.adProviders) && playbackConfiguration.adProviders.length > 0) { 69367 var newAdProviders = []; 69368 69369 var _iterator2 = playbackConfigUtilsbabel_target_legacy_createForOfIteratorHelper(playbackConfiguration.adProviders), 69370 _step2; 69371 69372 try { 69373 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 69374 var adProvider = _step2.value; 69375 // Possible improvement: detailed sanity checks of adProviders 69376 var newAdProvider = adProvider; 69377 newAdProviders.push(newAdProvider); 69378 } 69379 } catch (err) { 69380 _iterator2.e(err); 69381 } finally { 69382 _iterator2.f(); 69383 } 69384 69385 if (newAdProviders.length === 0) { 69386 Object(loggerbabel_target_legacy["c" /* log */])("playbackConfiguration from external script contained 0 adProviders"); 69387 } else { 69388 parsedAdProviders = newAdProviders; 69389 } 69390 } 69391 69392 if (parsedStreams === undefined && parsedAdProviders === undefined) { 69393 return undefined; 69394 } else { 69395 return { 69396 isOdItem: undefined, 69397 streams: parsedStreams, 69398 adProviders: parsedAdProviders 69399 }; 69400 } 69401}; 69402// CONCATENATED MODULE: ./src/lib/useAdswizzVast.tsx?babel-target=legacy 69403 69404 69405 69406 69407 69408 69409 69410 69411 69412 69413 69414 69415 69416 69417 69418 69419 69420function useAdswizzVastbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 69421 69422function useAdswizzVastbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { useAdswizzVastbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { useAdswizzVastbabel_target_legacy_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 69423 69424 69425 69426var useAdswizzVastbabel_target_legacy_useAdswizzVastDecorators = function useAdswizzVastDecorators(_ref) { 69427 var tcString = _ref.tcString, 69428 adProviders = _ref.adProviders; 69429 69430 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(adProviders || []), 69431 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 69432 decoratedAdProviders = _useState2[0], 69433 setDecoratedAdProviders = _useState2[1]; 69434 69435 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(""), 69436 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 69437 listenerId = _useState4[0], 69438 setListenerId = _useState4[1]; 69439 69440 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(5), 69441 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 69442 listenerIdCheck = _useState6[0], 69443 setListenerIdCheck = _useState6[1]; 69444 69445 var listenerIdTimeout = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(null); // If we don't have a listenerId, try to get one 69446 69447 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69448 var getListenerId = /*#__PURE__*/function () { 69449 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 69450 var id; 69451 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 69452 while (1) { 69453 switch (_context.prev = _context.next) { 69454 case 0: 69455 _context.next = 2; 69456 return getAdswizzListenerId(); 69457 69458 case 2: 69459 id = _context.sent; 69460 69461 if (!id || id.length === 0) { 69462 listenerIdTimeout.current = setTimeout(function () { 69463 return setListenerIdCheck(listenerIdCheck - 1); 69464 }, 2500 // Try every 2.5 seconds up to 5 times before assuming it's not going to happen 69465 ); 69466 } else { 69467 setListenerId(id); 69468 } 69469 69470 case 4: 69471 case "end": 69472 return _context.stop(); 69473 } 69474 } 69475 }, _callee); 69476 })); 69477 69478 return function getListenerId() { 69479 return _ref2.apply(this, arguments); 69480 }; 69481 }(); 69482 69483 if (listenerIdCheck > 0 && listenerId === "") { 69484 getListenerId(); 69485 } 69486 }, [listenerId, listenerIdCheck]); 69487 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69488 var decorateAdProvidersWithAdswizzVast = /*#__PURE__*/function () { 69489 var _ref3 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee2() { 69490 var decorated; 69491 return regenerator_babel_target_legacy_default.a.wrap(function _callee2$(_context2) { 69492 while (1) { 69493 switch (_context2.prev = _context2.next) { 69494 case 0: 69495 try { 69496 decorated = (adProviders === null || adProviders === void 0 ? void 0 : adProvi
69496ders.map(function (provider) { 69497 var _provider$tag; 69498 69499 if (provider.type !== "vast") return provider; // If the provider is an adswizz provider, decorate it with the listenerId and tcString 69500 69501 if ((_provider$tag = provider.tag) === null || _provider$tag === void 0 ? void 0 : _provider$tag.includes("adswizz")) { 69502 return useAdswizzVastbabel_target_legacy_objectSpread(useAdswizzVastbabel_target_legacy_objectSpread({}, provider), {}, { 69503 tag: "".concat(provider.tag, "?listenerid=").concat(listenerId, "&aw_0_req.userConsentV2=").concat(tcString) 69504 }); 69505 } 69506 69507 return provider; 69508 })) || []; 69509 setDecoratedAdProviders(decorated); 69510 } catch (error) { 69511 console.log("decorateAdProvidersWithAdswizzVast ERROR", error); 69512 } 69513 69514 case 1: 69515 case "end": 69516 return _context2.stop(); 69517 } 69518 } 69519 }, _callee2); 69520 })); 69521 69522 return function decorateAdProvidersWithAdswizzVast() { 69523 return _ref3.apply(this, arguments); 69524 }; 69525 }(); // This is likely to be run when adProviders updates and it's not been decorated yet 69526 69527 69528 if (tcString === false || tcString === true || listenerId.length === 0 || adProviders.length === 0) { 69529 setDecoratedAdProviders(adProviders); 69530 return; 69531 } 69532 69533 decorateAdProvidersWithAdswizzVast(); 69534 }, [tcString, listenerId, adProviders]); 69535 return { 69536 decoratedAdProviders: decoratedAdProviders 69537 }; 69538}; 69539// CONCATENATED MODULE: ./src/components/App/App.tsx?babel-target=legacy 69540 69541 69542 69543 69544 69545 69546 69547 69548 69549 69550 69551 69552 69553 69554 69555 69556 69557 69558 69559 69560 69561 69562 69563 69564function Appbabel_target_legacy_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 69565 69566function Appbabel_target_legacy_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Appbabel_target_legacy_ownKeys(Object(source), true).forEach(function (key) { definePropertybabel_target_legacy_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Appbabel_target_legacy_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 69567 69568 69569 69570 69571 69572 69573 69574 69575 69576 69577 69578 69579 69580 69581 69582 69583 //gzipped 5.3K maybe we can do something better 69584 69585 69586 69587 69588 69589 69590 69591 69592 69593 69594var EventNames; 69595 69596(function (EventNames) { 69597 EventNames["UnlockPlay"] = "radioplayer_unlockPlay"; 69598 EventNames["ReadyToReceiveEvents"] = "radioplayer_readyToReceiveEvents"; 69599 EventNames["SyncQueryParams"] = "radioplayer_syncQueryParams"; 69600})(EventNames || (EventNames = {})); 69601 69602var Appbabel_target_legacy_App = function App(_ref) { 69603 var adProvidersFromConfig = _ref.adProviders, 69604 cmp = _ref.cmp, 69605 disableLiveSeek = _ref.disableLiveSeek, 69606 disablePlaybackButtons = _ref.disablePlaybackButtons, 69607 disableScrubber = _ref.disableScrubber, 69608 enableIframeMessaging = _ref.enableIframeMessaging, 69609 fallback = _ref.fallback, 69610 id = _ref.id, 69611 iframeSrc = _ref.iframeSrc, 69612 lang = _ref.lang, 69613 _ref$localeRootUrl = _ref.localeRootUrl, 69614 localeRootUrl = _ref$localeRootUrl === void 0 ? "." : _ref$localeRootUrl, 69615 mapi = _ref.mapi, 69616 np = _ref.np, 69617 onDemandItem = _ref.onDemandItem, 69618 _ref$rpLogo = _ref.rpLogo, 69619 rpLogo = _ref$rpLogo === void 0 ? "assets/radioplayer.svg" : _ref$rpLogo, 69620 stationLogo = _ref.stationLogo, 69621 stationUrl = _ref.stationUrl, 69622 theme = _ref.theme, 69623 themeColour = _ref.themeColour, 69624 widgetBackground = _ref.widgetBackground, 69625 _ref$widgetTheme = _ref.widgetTheme, 69626 widgetTheme = _ref$widgetTheme === void 0 ? "LIGHT" : _ref$widgetTheme, 69627 _ref$widgets = _ref.widgets, 69628 widgets = _ref$widgets === void 0 ? ["NP"] : _ref$widgets, 69629 widgetColour = _ref.widgetColour, 69630 widgetHeaderColour = _ref.widgetHeaderColour, 69631 widgetOverrides = _ref.widgetOverrides, 69632 playLockedFromConfig = _ref.playLocked, 69633 _ref$numberOfUnlocker = _ref.numberOfUnlockers, 69634 numberOfUnlockers = _ref$numberOfUnlocker === void 0 ? 1 : _ref$numberOfUnlocker; 69635 69636 var _useAPI = Object(useAPIbabel_target_legacy["a" /* useAPI */])(), 69637 _useAPI2 = slicedToArraybabel_target_legacy_default()(_useAPI, 1), 69638 state = _useAPI2[0]; 69639 69640 var tcString = state.tcString; 69641 69642 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 69643 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 69644 streams = _useState2[0], 69645 setStreams = _useState2[1]; 69646 69647 var _useState3 = Object(hooks_modulebabel_target_legacy["j" /* useState */])([]), 69648 _useState4 = slicedToArraybabel_target_legacy_default()(_useState3, 2), 69649 adProviders = _useState4[0], 69650 setAdProviders = _useState4[1]; 69651 69652 var _useState5 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(undefined), 69653 _useState6 = slicedToArraybabel_target_legacy_default()(_useState5, 2), 69654 gptTag = _useState6[0], 69655 setGptTag = _useState6[1]; 69656 69657 var _useState7 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 69658 _useState8 = slicedToArraybabel_target_legacy_default()(_useState7, 2), 69659 showMenu = _useState8[0], 69660 setShowMenu = _useState8[1]; 69661 69662 var _useState9 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 69663 _useState10 = slicedToArraybabel_target_legacy_default()(_useState9, 2), 69664 showSearch = _useState10[0], 69665 setShowSearch = _useState10[1]; 69666 69667 var _useAnalytics = Object(Analyticsbabel_target_legacy["b" /* useAnalytics */])(), 69668 sendEvent = _useAnalytics.sendEvent; 69669 69670 var _useState11 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(undefined), 69671 _useState12 = slicedToArraybabel_target_legacy_default()(_useState11, 2), 69672 companionAd = _useState12[0], 69673 setCompanionAd = _useState12[1]; 69674 69675 var _useState13 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 69676 _useState14 = slicedToArraybabel_target_legacy_default()(_useState13, 2), 69677 streamError = _useState14[0], 69678 setStreamError = _useState14[1]; 69679 69680 var _useState15 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 69681 _useState16 = slicedToArraybabel_target_legacy_default()(_useState15, 2), 69682 i18nInitialized = _useState16[0], 69683 setI18nInitialized = _useState16[1]; // Watch out: Several useEffects depend on appInitialized changing only once (from false to true) 69684 69685 69686 var _useState17 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(false), 69687 _useState18 = slicedToArraybabel_target_legacy_default()(_useState17, 2), 69688 appInitialized = _useState18[0], 69689 setAppInitialized = _useState18[1]; 69690 69691 var _useState19 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(undefined), 69692 _useState20 = slicedToArraybabel_target_legacy_default()(_useState19, 2), 69693 originalPlaybackConfiguration = _useState20[0], 69694 setOriginalPlaybackConfiguration = _useState20[1]; 69695 69696 var _useEventBus = Object(EventBusbabel_target_legacy["b" /* useEventBus */])(), 69697 emitter = _useEventBus.emitter, 69698 emit = _useEventBus.emit; 69699 69700 var playbackConfigurationEmitter = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(undefined); // Not an anti-pattern, used for initialization and updated only within App.tsx itself. (c.f. https://medium.com/@justintulk/react-anti-patterns-props-in-initial-state-28687846cc2e). 69701 69702 var _useState21 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(numberOfUnlockers), 69703 _useState22 = slicedToArraybabel_target_legacy_default()(_useState21, 2), 69704 unlockCounter = _useState22[0], 69705 setUnlockCounter = _useState22[1]; 69706 69707 var onCompanionAds = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function (id, ads) { 69708 if (ads && ads.length) { 69709 setCompanionAd(ads[0].content); 69710 } else { 69711 setCompanionAd(undefined); 69712 } 69713 }, []); 69714 var divRef = Object(useElementHeightCSSVariablebabel_target_legacy["a" /* default */])("--dynamic-window-height", false); 69715 var toggleMenu = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69716 sendEvent("Navigation", "Main menu", showMenu ? "Close Menu Button" : "Menu button"); 69717 setShowMenu(function (show) { 69718 return !show; 69719 }); 69720 setShowSearch(false); 69721 }, [sendEvent, showMenu]); 69722 var hideMenu = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69723 sendEvent("Navigation", "Main menu", "Close Menu Button"); 69724 setShowMenu(false); 69725 }, [sendEvent]); 69726 var toggleSearch = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69727 setShowSearch(function (show) { 69728 return !show; 69729 }); 69730 setShowMenu(false); 69731 }, []); 69732 var closeSearch = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69733 setShowSearch(false); 69734 }, []); 69735 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69736 if (i18nInitialized && !appInitialized && onDemandItem !== "awaiting") { 69737 var processAPIResponse = /*#__PURE__*/function () { 69738 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 69739 var response, newStreams, responseStreams, fallbackStream
69739s, adProviders, gpt, currentPath, isDebug, playbackConfiguration; 69740 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 69741 while (1) { 69742 switch (_context.prev = _context.next) { 69743 case 0: 69744 _context.next = 2; 69745 return Object(initbabel_target_legacy["a" /* init */])(id === "340" ? "1411" : id, fallback, mapi); 69746 69747 case 2: 69748 response = _context.sent; 69749 69750 if (!onDemandItem || onDemandItem === "failed") { 69751 responseStreams = response.streams ? response.streams : []; 69752 fallbackStreams = fallback || []; 69753 newStreams = [].concat(toConsumableArraybabel_target_legacy_default()(responseStreams), toConsumableArraybabel_target_legacy_default()(fallbackStreams)); 69754 } else { 69755 newStreams = onDemandItem.streams; 69756 } 69757 69758 setStreams(newStreams); 69759 adProviders = adProvidersFromConfig || response.adProviders || []; 69760 69761 if (adProviders) {
69762 gpt = adProviders.find(function (ad) { 69763 return ad.type === "google"; 69764 }); 69765 69766 if (gpt) { 69767 setGptTag(gpt); 69768 } 69769 } 69770 69771 if (!lang && response.language) { 69772 currentPath = new URL(window.location.href); 69773 isDebug = currentPath.searchParams.has("debug"); 69774 Object(i18nbabel_target_legacy["a" /* changeLanguage */])(response.language, isDebug); 69775 } 69776 69777 setAdProviders(adProviders); 69778 playbackConfiguration = createPlaybackConfiguration(onDemandItem !== "failed" ? onDemandItem : undefined, newStreams, adProviders); 69779 playbackConfigUtilsbabel_target_legacy_writePlaybackConfigurationFromConsole(playbackConfiguration); 69780 setOriginalPlaybackConfiguration(playbackConfiguration); 69781 setAppInitialized(true); 69782 69783 case 13: 69784 case "end": 69785 return _context.stop(); 69786 } 69787 } 69788 }, _callee); 69789 })); 69790 69791 return function processAPIResponse() { 69792 return _ref2.apply(this, arguments); 69793 }; 69794 }(); 69795 69796 processAPIResponse(); 69797 } 69798 }, [adProvidersFromConfig, id, fallback, mapi, lang, onDemandItem, appInitialized, i18nInitialized]); 69799 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69800 var currentPath = new URL(window.location.href); 69801 var isDebug = currentPath.searchParams.has("debug"); 69802 if (i18nbabel_target_legacy["b" /* default */].isInitialized) return; 69803 Object(i18nbabel_target_legacy["d" /* initI18n */])(localeRootUrl, lang, isDebug).then(function () { 69804 setI18nInitialized(i18nbabel_target_legacy["b" /* default */].isInitialized); 69805 }); 69806 }, [lang, localeRootUrl]); 69807 var nowPlaying = Object(useNowPlayingbabel_target_legacy["a" /* useNowPlaying */])(id, np, onDemandItem !== "awaiting" && onDemandItem !== "failed" ? onDemandItem : undefined); 69808 var stationName; 69809 69810 if (nowPlaying === null || nowPlaying === void 0 ? void 0 : nowPlaying.seriesName) { 69811 stationName = nowPlaying.seriesName; 69812 } // sometimes the seriesName is not so easily available, so we use the 69813 // serviceName of the current item playing instead 69814 69815 69816 if (!(nowPlaying === null || nowPlaying === void 0 ? void 0 : nowPlaying.seriesName) && (nowPlaying === null || nowPlaying === void 0 ? void 0 : nowPlaying.now)) { 69817 stationName = nowPlaying.now.serviceName; 69818 } 69819 69820 var onStreamError = function onStreamError(errorStatus) { 69821 setStreamError(errorStatus); 69822 }; 69823 69824 var getHighLightColour = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69825 return tinycolorbabel_target_legacy_default()(widgetColour).darken(7).toString(); 69826 }, [widgetColour]); 69827 var getWidgetHeaderTextColour = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69828 return tinycolorbabel_target_legacy_default()(widgetHeaderColour).isLight() && "#000000"; 69829 }, [widgetHeaderColour]); 69830 /** 69831 * 69832 * Preconditon: Playback was not unlocked (must be ensured by caller). 69833 * 69834 * Updating playback configuration works like this for external <scripts>. (for IFrames the workflow uses IFrame messaging and is therefore different): 69835 * 1. External <script> adds event listener for EventNames.ReadyToReceiveEvents 69836 * 2. Console loads playback configuration (from 2 sources: 1. MAPI and 2. passed by preact-habitat) 69837 * 3. Console writes playback configuration to global variable 69838 * 4. Console dispatches event EventNames.ReadyToReceiveEvents 69839 * 5. External <script> receives the event 69840 * 6. External <script> updates the configuration (e.g. adds query parameters to stream urls) 69841 * 7. External <script> writes its updated configuration to global variable 69842 * 8. External <script> unlocks playback 69843 * 9. Console reads updated configuration from the global variable and applies it 69844 * 69845 * The order of steps is important! 69846 * 69847 */ 69848 69849 var applyPlaybackConfigurationFromScriptOrIframe = Object(hooks_modulebabel_target_legacy["a" /* useCallback */])(function () { 69850 var parsedPlaybackConfiguration = playbackConfigUtilsbabel_target_legacy_parseRawPlaybackConfiguration(window.radioplayer_playbackConfigurationFromExternalScript); 69851 69852 if (parsedPlaybackConfiguration === undefined) { 69853 Object(loggerbabel_target_legacy["c" /* log */])("Playback configuration from external source was not set or invalid"); 69854 return; 69855 } 69856 69857 if ((parsedPlaybackConfiguration === null || parsedPlaybackConfiguration === void 0 ? void 0 : parsedPlaybackConfiguration.streams) != null) { 69858 setStreams(parsedPlaybackConfiguration.streams); 69859 Object(loggerbabel_target_legacy["c" /* log */])("Received valid playback configuration from external source, streams were updated"); 69860 } 69861 69862 if ((parsedPlaybackConfiguration === null || parsedPlaybackConfiguration === void 0 ? void 0 : parsedPlaybackConfiguration.adProviders) != null) { 69863 /** 69864 * TS Feb 24th 2021: Officially, only modifications to the VAST provider's "tag" property are supported. This is also stated explicitly in the docs. 69865 * However, the implemented code should also support modifications to AdsWizz and Triton (not for GPT), but this has not been integration tested! 69866 * If modifying the other adProviders is required at a later point in t
69866ime, the first step should be integration testing the already available code with AdsWizz and Triton. 69867 */ 69868 setAdProviders(parsedPlaybackConfiguration.adProviders); 69869 Object(loggerbabel_target_legacy["c" /* log */])("Received valid playback configuration from external source, adProviders were updated"); 69870 } 69871 }, []); // Enable support to lock playback on page load and later unlock it from other <script>s. 69872 // Can be used e.g. to alter stream/adProvider URLs before playback starts. 69873 // Uses event handlers and global variables. Therefore, unlocking always applies to all loaded Radioplayer players per browser tab. 69874 // Initially implemented in ODWrapper.tsx. Had to be moved down the component tree to App.tsx. 69875 // Reason: Changing state in ODWrapper lead to re-rendering of child components and repeated initialization of VAST support in Player.tsx ("initVast()"). 69876 // Each initialization created a VastEngine. 69877 // Two ore more Ads were then played with a short delay between each other. 69878 // Copy prop value to initial state value. Ignore any updates to prop. 69879 // This is not an anti-pattern, because any updates are only allowed from external <script>s or from App.tsx itself. (c.f. https://medium.com/@justintulk/react-anti-patterns-props-in-initial-state-28687846cc2e). 69880 69881 /** 69882 * Watch out: Once playLocked was set to false, it must never be set to true again! Otherwise unexpected behavior might occur. 69883 */ 69884 69885 var _useState23 = Object(hooks_modulebabel_target_legacy["j" /* useState */])(playLockedFromConfig === true), 69886 _useState24 = slicedToArraybabel_target_legacy_default()(_useState23, 2), 69887 playLocked = _useState24[0], 69888 setPlayLocked = _useState24[1]; 69889 /** 69890 * Applies playback configuration and unlocks playback 69891 */ 69892 69893 69894 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69895 Object(loggerbabel_target_legacy["c" /* log */])("unlockCounter is now ".concat(unlockCounter)); 69896 69897 if (playLocked && unlockCounter === 0) { 69898 /** 69899 * External script may write to window.radioplayer_playbackConfigurationFromExternalScript multiple times. 69900 * The value that will be applied to the console in the end, is the one which is present when the last unlocker dispatches the radioplayer_unlockPlay event. 69901 * The console does not offer any Tag manager functionality: If several external <script>s are used, their execution order must be managed by console implementors. 69902 */ 69903 applyPlaybackConfigurationFromScriptOrIframe(); 69904 setPlayLocked(false); 69905 } 69906 }, [applyPlaybackConfigurationFromScriptOrIframe, playLocked, unlockCounter]); 69907 var autoUnlockPlayTimer = Object(hooks_modulebabel_target_legacy["i" /* useRef */])(undefined); 69908 /** 69909 * Handle messages from IFrame that update playback configuration and unlock playback. 69910 * 69911 * Updating playback configuration works like this for IFrames (for external <scripts> the workflow is different). 69912 * 1. IFrame adds event listener for event type 'message'. 69913 * 2. Console loads playback configuration (from 2 sources: 1. MAPI and 2. passed by preact-habitat) 69914 * 3. Console sends ReadyForUnlockPlayMessage to IFrame 69915 * 5. IFrame receives the event 69916 * 6. IFrame updates the configuration (e.g. adds query parameters to stream urls) 69917 * 7. IFrame sends its updated configuration to console as RequestPlaybackConfigurationUpdateMessage 69918 * 8. IFrame requests playback unlock by sending a RequestUnlockPlayMessage 69919 * 9. Console reads updated configuration from the global variable and applies it 69920 * 69921 * The order of steps is important! 69922 * 69923 */ 69924 69925 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69926 if (playLocked === false || emitter === undefined || originalPlaybackConfiguration === undefined) { 69927 return; 69928 } 69929 69930 var unlockEventHandler = function unlockEventHandler() { 69931 Object(loggerbabel_target_legacy["c" /* log */])("Received unlockPlay request from Iframe."); 69932 setUnlockCounter(function (prevState) { 69933 return prevState === 0 ? 0 : prevState - 1; 69934 }); 69935 }; 69936 69937 var playbackConfigurationUpdateHandler = function playbackConfigurationUpdateHandler(playbackConfig) { 69938 Object(loggerbabel_target_legacy["c" /* log */])("Received playbackConfigurationUpdate request from Iframe."); 69939 playbackConfigUtilsbabel_target_legacy_writePlaybackConfigurationFromExternalScript(playbackConfig); 69940 }; 69941 69942 emitter.on("requestplaybackconfigurationupdate", playbackConfigurationUpdateHandler); 69943 emitter.on("requestunlockplay", unlockEventHandler); // It is not trivial to set up communication between web player and IFrame without 69944 // one of them missing the "I am ready for communication" message from the other. 69945 // This pragmatic approach solves the problem by sending the message repeatedly. 69946 // Performance is not an issue, because a. timeout is high and b. payload is small (c.f. e.g. https://surma.dev/things/is-postmessage-slow/) 69947 69948 var timeout = 500; 69949 playbackConfigurationEmitter.current = window.setInterval(function () { 69950 emit("readyforunlockplay", originalPlaybackConfiguration); 69951 }, timeout); 69952 return function () { 69953 window.clearInterval(playbackConfigurationEmitter.current); 69954 playbackConfigurationEmitter.current = undefined; 69955 emitter.off("requestplaybackconfigurationupdate", playbackConfigurationUpdateHandler); 69956 emitter.off("requestunlockplay", unlockEventHandler); 69957 }; 69958 }, [emit, emitter, originalPlaybackConfiguration, playLocked]); 69959 /**
69960 * Stop playbackConfigurationEmitter once playLocked = false 69961 */ 69962 69963 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69964 if (playbackConfigurationEmitter === undefined || emitter === undefined || originalPlaybackConfiguration === undefined) { 69965 return; 69966 } 69967 69968 if (playLocked === false) { 69969 window.clearInterval(playbackConfigurationEmitter.current); 69970 playbackConfigurationEmitter.current = undefined; 69971 } 69972 }, [emitter, originalPlaybackConfiguration, playLocked]); 69973 /** 69974 * Initialize event listeners and inform external <script>s. 69975 * Watch out: If App.tsx is ever unmounted and remounted, events from external <script>s might be missed. 69976 */ 69977 69978 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 69979 if (appInitialized) { 69980 /** 69981 * Note: If no external script ever unlocks playback (e.g. because they encounter a runtime error), users could never start playback. 69982 */ 69983 autoUnlockPlayTimer.current = window.setTimeout(function () { 69984 /** 69985 * Updates to playback configuration from external <script> are applied, even if timeout occurs (decided in conference call with J. Chard, G. Perry, R.Smeikal and T. Schubert on Jan 27th ) 69986 */ 69987 setUnlockCounter(0); 69988 }, 7000); 69989 /** Decreasing timeout to lower than tcWaitTimeout (see APIProvider.tsx) might create problems.**/ 69990 69991 var unlockEventHandler = function unlockEventHandler() { 69992 /** 69993 * Note: Playback configuration updated by external <script> is not passed via event argument of event EventNames.UnlockPlay, but passed via a global variable. 69994 * Reason: The console might miss an unlockPlay event and the updated playback configuration would be lost. 69995 */ 69996 Object(loggerbabel_target_legacy["c" /* log */])("Event listener received unlockPlay event."); 69997 setUnlockCounter(function (prevState) { 69998 return prevState === 0 ? 0 : prevState - 1; 69999 }); 70000 }; 70001 70002 Object(loggerbabel_target_legacy["c" /* log */])("Adding unlockPlay event listener"); 70003 window.addEventListener(EventNames.UnlockPlay, unlockEventHandler); 70004 /** 70005 * Inform external <script>s that web player is ready to receive events. 70006 * That means: 70007 * 1. All event listeners are ready 70008 * 2. Make the stream modifier utils available to external scripts 70009 * 3. Playback configuration was written to global variable 70010 */ 70011 70012 window.streamModifierUtils = streamModifierUtils; 70013 window.dispatchEvent(new CustomEvent(EventNames.ReadyToReceiveEvents)); 70014 Object(loggerbabel_target_legacy["c" /* log */])("Radioplayer web player is ready to receive events"); 70015 return function () { 70016 window.removeEventListener(EventNames.UnlockPlay, unlockEventHandler); 70017 window.clearTimeout(autoUnlockPlayTimer.current); 70018 }; 70019 } 70020 }, [appInitialized]); 70021 /** 70022 */ 70023 70024 var _useState25 = Object(hooks_modulebabel_target_legacy["j" /* useState */])({}), 70025 _useState26 = slicedToArraybabel_target_legacy_default()(_useState25, 2), 70026 streamParams = _useState26[0], 70027 setStreamParams = _useState26[1]; 70028 /** 70029 * This useEffect emulates componentDidUnmount() + componentWillUnmount(). It needs to have an empty dependency array: 70030 * The body and its cleanup function should only be called once! 70031 */ 70032 70033 70034 Object(hooks_modulebabel_target_legacy["d" /* useEffect */])(function () { 70035 var queryParamHandler = function queryParamHandler(_ref3) { 70036 var detail = _ref3.detail; 70037 setStreamParams(function (prevStreamParams) { 70038 return Appbabel_target_legacy_objectSpread(Appbabel_target_legacy_objectSpread({}, prevStreamParams), detail); 70039 }); 70040 }; 70041 70042 window.addEventListener(EventNames.SyncQueryParams, queryParamHandler); 70043 return function () { 70044 window.removeEventListener(EventNames.SyncQueryParams, queryParamHandler); 70045 }; 70046 }, []); // Do not add dependencies to the array (see above). 70047 70048 var extraStyle = { 70049 "--radioplayer-theme-colour": themeColour || "", 70050 "--radioplayer-now-playing-highlight": widgetTheme === "DARK" ? getHighLightColour() : "",
70051 "--radioplayer-widget-custom-colour": widgetColour || "", 70052 "--radioplayer-widget-custom-transparent": widgetColour ? "".concat(widgetColour, "00") : "", 70053 "--radioplayer-widget-customTheme": widgetTheme === "DARK" ? "white" : "", 70054 "--radioplayer-secondary-colour-customTheme": widgetTheme === "DARK" ? "white" : "", 70055 "--radioplayer-contrast-colour": widgetTheme === "DARK" ? "#000000" : "", 70056 "--radioplayer-widget-header-colour": widgetHeaderColour || "", 70057 "--radioplayer-widget-header-text-colour": getWidgetHeaderTextColour() || "" 70058 }; 70059 70060 var _useAdswizzVastDecora = useAdswizzVastbabel_target_legacy_useAdswizzVastDecorators({ 70061 adProviders: adProviders, 70062 tcString: tcString 70063 }), 70064 decoratedAdProviders = _useAdswizzVastDecora.decoratedAdProviders; 70065 70066 Object(css_vars_ponyfill_esmbabel_target_legacy["a" /* default */])({ 70067 silent: true, 70068 variables: extraStyle 70069 }); 70070 var providers = decoratedAdProviders ? decoratedAdProviders.map(function (p) { 70071 return p.type; 70072 }).join() : ""; 70073 if (i18nInitialized && streams && !!streams.length) return Object(preact_modulebabel_target_legacy["h"])("div", { 70074 className: App_module_default.a.wrap, 70075 style: extraStyle, 70076 ref: divRef 70077 }, Object(preact_modulebabel_target_legacy["h"])(IconSheetbabel_target_legacy["a" /* IconSheet */], null), Object(preact_modulebabel_target_legacy["h"])(AnnouncementBannerbabel_target_legacy["a" /* AnnouncementBanner */], null), Object(preact_modulebabel_target_legacy["h"])(CookieBannerbabel_target_legacy["a" /* CookieBanner */], { 70078 adProviders: providers 70079 }), Object(preact_modulebabel_target_legacy["h"])(NavBarbabel_target_legacy["a" /* NavBar */], { 70080 onClickMenu: toggleMenu, 70081 onClickSearch: toggleSearch, 70082 logo: rpLogo, 70083 stationName: stationName 70084 }), showMenu && Object(preact_modulebabel_target_legacy["h"])(MenuPanelbabel_target_legacy["a" /* MenuPanel */], { 70085 onHide: hideMenu, 70086 adProviders: providers, 70087 cmp: cmp 70088 }), showSearch && Object(preact_modulebabel_target_legacy["h"])(SearchPanelbabel_target_legacy["a" /* SearchPanel */], { 70089 id: id, 70090 toggleSearch: toggleSearch, 70091 closeSearch: closeSearch 70092 }), streamError ? Object(preact_modulebabel_target_legacy["h"])(SoundOfSilencebabel_target_legacy_SoundOfSilence, null) : Object(preact_modulebabel_target_legacy["h"])(WidgetSpacebabel_target_legacy_WidgetSpace, { 70093 companionAd: companionAd, 70094 nowPlaying: nowPlaying, 70095 widgets: widgets, 70096 iframeSrc: iframeSrc, 70097 gptTag: gptTag, 70098 enableIframeMessaging: enableIframeMessaging, 70099 fullHeight: disablePlaybackButtons && disableScrubber, 70100 backgroundColour: widgetBackground, 70101 widgetOverrides: widgetOverrides, 70102 stationName: stationName 70103 }), Object(preact_modulebabel_target_legacy["h"])(Playerbabel_target_legacy_Player, { 70104 streams: streams, 70105 isOnDemand: !!onDemandItem, 70106 adProviders: decoratedAdProviders, 70107 rpId: id, 70108 onCompanionAds: onCompanionAds, 70109 theme: theme, 70110 stationLogo: stationLogo, 70111 stationUrl: stationUrl, 70112 stationName: stationName, 70113 onStreamError: onStreamError, 70114 disableLiveSeek: disableLiveSeek, 70115 disablePlaybackButtons: disablePlaybackButtons, 70116 disableScrubber: disableScrubber, 70117 playLocked: playLocked, 70118 streamParams: streamParams 70119 })); 70120 if (appInitialized && streams && streams.length === 0 || onDemandItem === "failed") return Object(preact_modulebabel_target_legacy["h"])(StationErrorbabel_target_legacy["a" /* StationError */], null); 70121 return Object(preact_modulebabel_target_legacy["h"])("div", null); 70122}; 70123// CONCATENATED MODULE: ./src/components/App/index.ts?babel-target=legacy 70124 70125// EXTERNAL MODULE: ./src/lib/queryString.ts?babel-target=legacy 70126var queryStringbabel_target_legacy = __webpack_require__(959); 70127 70128// EXTERNAL MODULE: ./src/lib/CustomTracking/setupCustomTracking.ts?babel-target=legacy + 5 modules 70129var setupCustomTrackingbabel_target_legacy = __webpack_require__(759); 70130 70131// EXTERNAL MODULE: ./src/lib/useMappedEndpoints.ts?babel-target=legacy 70132var useMappedEndpointsbabel_target_legacy = __webpack_require__(756); 70133 70134// EXTERNAL MODULE: ./src/lib/APIManager/index.ts?babel-target=legacy 70135var lib_APIManagerbabel_target_legacy = __webpack_require__(757); 70136 70137// CONCATENATED MODULE: ./src/components/ODWrapper/ODWrapper.tsx?babel-target=legacy 70138 70139 70140 70141 70142 70143 70144 70145 70146 70147 70148 70149 70150 70151 70152 70153 70154 70155 70156 70157 70158var ODWrapperbabel_target_legacy_ODWrapper = function ODWrapper(_ref) { 70159 var onDemandItem = _ref.onDemandItem, 70160 id = _ref.id, 70161 $qp = _ref.qp, 70162 $cm = _ref.cm, 70163 $np = _ref.np, 70164 cmp = _ref.cmp, 70165 tracking = _ref.tracking,
70166 playLocked = _ref.playLocked, 70167 numberOfUnlockers = _ref.numberOfUnlockers, 70168 mapi = _ref.mapi, 70169 disableCookieBanner = _ref.disableCookieBanner, 70170 _ref$bbcCookies = _ref.bbcCookies, 70171 bbcCookies = _ref$bbcCookies === void 0 ? false : _ref$bbcCookies, 70172 props = objectWithoutPropertiesbabel_target_legacy_default()(_ref, ["onDemandItem", "id", "qp", "cm", "np", "cmp", "tracking", "playLocked", "numberOfUnlockers", "mapi", "disableCookieBanner", "bbcCookies"]); 70173 70174 var _useMappedEndpoints = Object(useMappedEndpointsbabel_target_legacy["a" /* default */])({ 70175 $qp: $qp, 70176 $cm: $cm, 70177 $np: $np 70178 }), 70179 qp = _useMappedEndpoints.qp, 70180 cm = _useMappedEndpoints.cm, 70181 np = _useMappedEndpoints.np; 70182 70183 var _useMemo = Object(hooks_modulebabel_target_legacy["g" /* useMemo */])(function () { 70184 return Object(setupCustomTrackingbabel_target_legacy["a" /* setupCustomTracking */])(cmp, tracking); 70185 }, [cmp, tracking]), 70186 notifyTrackingObservers = _useMemo.notifyTrackingObservers, 70187 trackingProviders = _useMemo.trackingProviders; 70188 70189 var _useState = Object(hooks_modulebabel_target_legacy["j" /* useState */])(onDemandItem), 70190 _useState2 = slicedToArraybabel_target_legacy_default()(_useState, 2), 70191 odItem = _useState2[0], 70192 setOdItem = _useState2[1]; 70193 70194 var params = Object(queryStringbabel_target_legacy["a" /* parseQueryString */])(window.location.search); 70195 var rpAodUrl = window.location.search.split("rpAodUrl=")[1]; 70196 var isOD = !!odItem || "rpOdId" in params || rpAodUrl; 70197 70198 var lookupOD = /*#__PURE__*/function () { 70199 var _ref2 = asyncToGeneratorbabel_target_legacy_default()( /*#__PURE__*/regenerator_babel_target_legacy_default.a.mark(function _callee() { 70200 var od; 70201 return regenerator_babel_target_legacy_default.a.wrap(function _callee$(_context) { 70202 while (1) { 70203 switch (_context.prev = _context.next) { 70204 case 0: 70205 if (!(qp && isOD)) { 70206 _context.next = 19; 70207 break; 70208 } 70209 70210 if (!rpAodUrl) { 70211 _context.next = 11; 70212 break; 70213 } 70214 70215 _context.next = 4; 70216 return Object(APIManagerbabel_target_legacy["g" /* getODInfo */])(qp, Object(APIManagerbabel_target_legacy["f" /* getHashFromString */])(rpAodUrl), undefined); 70217 70218 case 4: 70219 _context.t0 = _context.sent; 70220 70221 if (_context.t0) { 70222 _context.next = 7; 70223 break; 70224 } 70225 70226 _context.t0 = "failed"; 70227 70228 case 7: 70229 od = _context.t0; 70230 Object(loggerbabel_target_legacy["c" /* log */])("Got On Demand from rpAodUrl: ".concat(rpAodUrl), od); 70231 _context.next = 18; 70232 break; 70233 70234 case 11: 70235 _context.next = 13; 70236 return Object(APIManagerbabel_target_legacy["g" /* getODInfo */])(qp, params.rpOdId, "rpOdUrl" in params ? window.location.href : undefined); 70237 70238 case 13: 70239 _context.t1 = _context.sent; 70240 70241 if (_context.t1) { 70242 _context.next = 16; 70243 break; 70244 } 70245 70246 _context.t1 = "failed"; 70247 70248 case 16: 70249 od = _context.t1; 70250 Object(loggerbabel_target_legacy["c" /* log */])("Got On Demand info from rpOdId", od); 70251 70252 case 18: 70253 if (od) { 70254 setOdItem(od); 70255 } 70256 70257 case 19: 70258 case "end": 70259 return _context.stop(); 70260 } 70261 } 70262 }, _callee); 70263 })); 70264 70265 return function lookupOD() { 70266 return _ref2.apply(this, arguments); 70267 }; 70268 }(); 70269 70270 if (!!onDemandItem && onDemandItem !== "awaiting") { 70271 setOdItem(onDemandItem); 70272 } else { 70273 if (!odItem) { 70274 lookupOD(); 70275 } 70276 } 70277 70278 return Object(preact_modulebabel_target_legacy["h"])(EventBusbabel_target_legacy["a" /* EventBusProvider */], null, Object(preact_modulebabel_target_legacy["h"])(lib_APIManagerbabel_target_legacy["a" /* APIProvider */], { 70279 rpId: id, 70280 mapiUrl: mapi, 70281 nowPlayingUrl: np, 70282 cookieManagerUrl: cm, 70283 queryProxyUrl: qp,
70284 bbcCookies: bbcCookies, 70285 disableCookieBanner: disableCookieBanner, 70286 tracking: trackingProviders, 70287 cmp: cmp 70288 }, Object(preact_modulebabel_target_legacy["h"])(Analyticsbabel_target_legacy["a" /* AnalyticsProvider */], extendsbabel_target_legacy_default()({}, props, { 70289 mapi: mapi, 70290 cm: cm, 70291 rpId: id, 70292 odItem: odItem !== "failed" ? odItem : undefined, 70293 odId: params.rpOdId || (rpAodUrl ? Object(APIManagerbabel_target_legacy["f" /* getHashFromString */])(rpAodUrl) : undefined), 70294 notifyTrackingObservers: notifyTrackingObservers 70295 }), Object(preact_modulebabel_target_legacy["h"])(Appbabel_target_legacy_App, extendsbabel_target_legacy_default()({}, props, { 70296 mapi: mapi, 70297 id: id, 70298 np: np, 70299 cmp: cmp, 70300 onDemandItem: isOD ? odItem || "awaiting" : undefined, 70301 playLocked: playLocked, 70302 numberOfUnlockers: numberOfUnlockers 70303 }))))); 70304}; 70305/* harmony default export */ var ODWrapperbabel_target_legacy = (ODWrapperbabel_target_legacy_ODWrapper); 70306// CONCATENATED MODULE: ./src/components/ODWrapper/index.ts?babel-target=legacy 70307 70308// CONCATENATED MODULE: ./src/index.ts?babel-target=legacy 70309 70310 70311 70312 70313var _habitat = Object(preact_habitat_esbabel_target_legacy["a" /* default */])(ODWrapperbabel_target_legacy_ODWrapper), 70314 renderApp = _habitat.render; 70315 70316if (true) { 70317 Object(loggerbabel_target_legacy["c" /* log */])("Version", "4.1.20"); 70318} // eslint-disable-next-line @typescript-eslint/no-explicit-any 70319 70320 70321if (window.__HAS_RUN) { 70322 Object(loggerbabel_target_legacy["e" /* warn */])("Safari 10 has a bug but we caught it"); 70323} else { 70324 renderApp({ 70325 selector: "[data-widget-radioplayer]", 70326 clean: true 70327 }); 70328} // eslint-disable-next-line @typescript-eslint/no-explicit-any 70329// if ((module as any).hot) { 70330// require("preact/debug"); 70331// } 70332 70333 70334if ("serviceWorker" in navigator && (window.location.protocol === "https:" || window.location.hostname === "localhost")) { 70335 var script = document.createElement("script"); 70336 if ("noModule" in script) window.addEventListener("load", function () { 70337 navigator.serviceWorker.register("".concat("https://assets.player.radio/latest/", "sw.js")).then(function (registration) { 70338 Object(loggerbabel_target_legacy["c" /* log */])("SW registered: ", registration); 70339 })["catch"](function (registrationError) { 70340 Object(loggerbabel_target_legacy["c" /* log */])("SW registration failed: ", registrationError); 70341 }); 70342 }); 70343} // eslint-disable-next-line @typescript-eslint/no-explicit-any 70344 70345 70346window.__HAS_RUN = true; 70347 70348/***/ }) 70349/******/ ]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.