| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 | (function(self) {var irrelevant = (function (exports) {  var support = {    searchParams: 'URLSearchParams' in self,    iterable: 'Symbol' in self && 'iterator' in Symbol,    blob:      'FileReader' in self &&      'Blob' in self &&      (function() {        try {          new Blob();          return true        } catch (e) {          return false        }      })(),    formData: 'FormData' in self,    arrayBuffer: 'ArrayBuffer' in self  };  function isDataView(obj) {    return obj && DataView.prototype.isPrototypeOf(obj)  }  if (support.arrayBuffer) {    var viewClasses = [      '[object Int8Array]',      '[object Uint8Array]',      '[object Uint8ClampedArray]',      '[object Int16Array]',      '[object Uint16Array]',      '[object Int32Array]',      '[object Uint32Array]',      '[object Float32Array]',      '[object Float64Array]'    ];    var isArrayBufferView =      ArrayBuffer.isView ||      function(obj) {        return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1      };  }  function normalizeName(name) {    if (typeof name !== 'string') {      name = String(name);    }    if (/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(name)) {      throw new TypeError('Invalid character in header field name')    }    return name.toLowerCase()  }  function normalizeValue(value) {    if (typeof value !== 'string') {      value = String(value);    }    return value  }  // Build a destructive iterator for the value list  function iteratorFor(items) {    var iterator = {      next: function() {        var value = items.shift();        return {done: value === undefined, value: value}      }    };    if (support.iterable) {      iterator[Symbol.iterator] = function() {        return iterator      };    }    return iterator  }  function Headers(headers) {    this.map = {};    if (headers instanceof Headers) {      headers.forEach(function(value, name) {        this.append(name, value);      }, this);    } else if (Array.isArray(headers)) {      headers.forEach(function(header) {        this.append(header[0], header[1]);      }, this);    } else if (headers) {      Object.getOwnPropertyNames(headers).forEach(function(name) {        this.append(name, headers[name]);      }, this);    }  }  Headers.prototype.append = function(name, value) {    name = normalizeName(name);    value = normalizeValue(value);    var oldValue = this.map[name];    this.map[name] = oldValue ? oldValue + ', ' + value : value;  };  Headers.prototype['delete'] = function(name) {    delete this.map[normalizeName(name)];  };  Headers.prototype.get = function(name) {    name = normalizeName(name);    return this.has(name) ? this.map[name] : null  };  Headers.prototype.has = function(name) {    return this.map.hasOwnProperty(normalizeName(name))  };  Headers.prototype.set = function(name, value) {    this.map[normalizeName(name)] = normalizeValue(value);  };  Headers.prototype.forEach = function(callback, thisArg) {    for (var name in this.map) {      if (this.map.hasOwnProperty(name)) {        callback.call(thisArg, this.map[name], name, this);      }    }  };  Headers.prototype.keys = function() {    var items = [];    this.forEach(function(value, name) {      items.push(name);    });    return iteratorFor(items)  };  Headers.prototype.values = function() {    var items = [];    this.forEach(function(value) {      items.push(value);    });    return iteratorFor(items)  };  Headers.prototype.entries = function() {    var items = [];    this.forEach(function(value, name) {      items.push([name, value]);    });    return iteratorFor(items)  };  if (support.iterable) {    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;  }  function consumed(body) {    if (body.bodyUsed) {      return Promise.reject(new TypeError('Already read'))    }    body.bodyUsed = true;  }  function fileReaderReady(reader) {    return new Promise(function(resolve, reject) {      reader.onload = function() {        resolve(reader.result);      };      reader.onerror = function() {        reject(reader.error);      };    })  }  function readBlobAsArrayBuffer(blob) {    var reader = new FileReader();    var promise = fileReaderReady(reader);    reader.readAsArrayBuffer(blob);    return promise  }  function readBlobAsText(blob) {    var reader = new FileReader();    var promise = fileReaderReady(reader);    reader.readAsText(blob);    return promise  }  function readArrayBufferAsText(buf) {    var view = new Uint8Array(buf);    var chars = new Array(view.length);    for (var i = 0; i < view.length; i++) {      chars[i] = String.fromCharCode(view[i]);    }    return chars.join('')  }  function bufferClone(buf) {    if (buf.slice) {      return buf.slice(0)    } else {      var view = new Uint8Array(buf.byteLength);      view.set(new Uint8Array(buf));      return view.buffer    }  }  function Body() {    this.bodyUsed = false;    this._initBody = function(body) {      this._bodyInit = body;      if (!body) {        this._bodyText = '';      } else if (typeof body === 'string') {        this._bodyText = body;      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {        this._bodyBlob = body;      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {        this._bodyFormData = body;      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {        this._bodyText = body.toString();      } else if (support.arrayBuffer && support.blob && isDataView(body)) {        this._bodyArrayBuffer = bufferClone(body.buffer);        // IE 10-11 can't handle a DataView body.        this._bodyInit = new Blob([this._bodyArrayBuffer]);      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {        this._bodyArrayBuffer = bufferClone(body);      } else {        this._bodyText = body = Object.prototype.toString.call(body);      }      if (!this.headers.get('content-type')) {        if (typeof body === 'string') {          this.headers.set('content-type', 'text/plain;charset=UTF-8');        } else if (this._bodyBlob && this._bodyBlob.type) {          this.headers.set('content-type', this._bodyBlob.type);        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');        }      }    };    if (support.blob) {      this.blob = function() {        var rejected = consumed(this);        if (rejected) {          return rejected        }        if (this._bodyBlob) {          return Promise.resolve(this._bodyBlob)        } else if (this._bodyArrayBuffer) {          return Promise.resolve(new Blob([this._bodyArrayBuffer]))        } else if (this._bodyFormData) {          throw new Error('could not read FormData body as blob')        } else {          return Promise.resolve(new Blob([this._bodyText]))        }      };      this.arrayBuffer = function() {        if (this._bodyArrayBuffer) {          return consumed(this) || Promise.resolve(this._bodyArrayBuffer)        } else {          return this.blob().then(readBlobAsArrayBuffer)        }      };    }    this.text = function() {      var rejected = consumed(this);      if (rejected) {        return rejected      }      if (this._bodyBlob) {        return readBlobAsText(this._bodyBlob)      } else if (this._bodyArrayBuffer) {        return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))      } else if (this._bodyFormData) {        throw new Error('could not read FormData body as text')      } else {        return Promise.resolve(this._bodyText)      }    };    if (support.formData) {      this.formData = function() {        return this.text().then(decode)      };    }    this.json = function() {      return this.text().then(JSON.parse)    };    return this  }  // HTTP methods whose capitalization should be normalized  var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];  function normalizeMethod(method) {    var upcased = method.toUpperCase();    return methods.indexOf(upcased) > -1 ? upcased : method  }  function Request(input, options) {    options = options || {};    var body = options.body;    if (input instanceof Request) {      if (input.bodyUsed) {        throw new TypeError('Already read')      }      this.url = input.url;      this.credentials = input.credentials;      if (!options.headers) {        this.headers = new Headers(input.headers);      }      this.method = input.method;      this.mode = input.mode;      this.signal = input.signal;      if (!body && input._bodyInit != null) {        body = input._bodyInit;        input.bodyUsed = true;      }    } else {      this.url = String(input);    }    this.credentials = options.credentials || this.credentials || 'same-origin';    if (options.headers || !this.headers) {      this.headers = new Headers(options.headers);    }    this.method = normalizeMethod(options.method || this.method || 'GET');    this.mode = options.mode || this.mode || null;    this.signal = options.signal || this.signal;    this.referrer = null;    if ((this.method === 'GET' || this.method === 'HEAD') && body) {      throw new TypeError('Body not allowed for GET or HEAD requests')    }    this._initBody(body);  }  Request.prototype.clone = function() {    return new Request(this, {body: this._bodyInit})  };  function decode(body) {    var form = new FormData();    body      .trim()      .split('&')      .forEach(function(bytes) {        if (bytes) {          var split = bytes.split('=');          var name = split.shift().replace(/\+/g, ' ');          var value = split.join('=').replace(/\+/g, ' ');          form.append(decodeURIComponent(name), decodeURIComponent(value));        }      });    return form  }  function parseHeaders(rawHeaders) {    var headers = new Headers();    // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space    // https://tools.ietf.org/html/rfc7230#section-3.2    var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');    preProcessedHeaders.split(/\r?\n/).forEach(function(line) {      var parts = line.split(':');      var key = parts.shift().trim();      if (key) {        var value = parts.join(':').trim();        headers.append(key, value);      }    });    return headers  }  Body.call(Request.prototype);  function Response(bodyInit, options) {    if (!options) {      options = {};    }    this.type = 'default';    this.status = options.status === undefined ? 200 : options.status;    this.ok = this.status >= 200 && this.status < 300;    this.statusText = 'statusText' in options ? options.statusText : 'OK';    this.headers = new Headers(options.headers);    this.url = options.url || '';    this._initBody(bodyInit);  }  Body.call(Response.prototype);  Response.prototype.clone = function() {    return new Response(this._bodyInit, {      status: this.status,      statusText: this.statusText,      headers: new Headers(this.headers),      url: this.url    })  };  Response.error = function() {    var response = new Response(null, {status: 0, statusText: ''});    response.type = 'error';    return response  };  var redirectStatuses = [301, 302, 303, 307, 308];  Response.redirect = function(url, status) {    if (redirectStatuses.indexOf(status) === -1) {      throw new RangeError('Invalid status code')    }    return new Response(null, {status: status, headers: {location: url}})  };  exports.DOMException = self.DOMException;  try {    new exports.DOMException();  } catch (err) {    exports.DOMException = function(message, name) {      this.message = message;      this.name = name;      var error = Error(message);      this.stack = error.stack;    };    exports.DOMException.prototype = Object.create(Error.prototype);    exports.DOMException.prototype.constructor = exports.DOMException;  }  function fetch(input, init) {    return new Promise(function(resolve, reject) {      var request = new Request(input, init);      if (request.signal && request.signal.aborted) {        return reject(new exports.DOMException('Aborted', 'AbortError'))      }      var xhr = new XMLHttpRequest();      function abortXhr() {        xhr.abort();      }      xhr.onload = function() {        var options = {          status: xhr.status,          statusText: xhr.statusText,          headers: parseHeaders(xhr.getAllResponseHeaders() || '')        };        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');        var body = 'response' in xhr ? xhr.response : xhr.responseText;        resolve(new Response(body, options));      };      xhr.onerror = function() {        reject(new TypeError('Network request failed'));      };      xhr.ontimeout = function() {        reject(new TypeError('Network request failed'));      };      xhr.onabort = function() {        reject(new exports.DOMException('Aborted', 'AbortError'));      };      xhr.open(request.method, request.url, true);      if (request.credentials === 'include') {        xhr.withCredentials = true;      } else if (request.credentials === 'omit') {        xhr.withCredentials = false;      }      if ('responseType' in xhr && support.blob) {        xhr.responseType = 'blob';      }      request.headers.forEach(function(value, name) {        xhr.setRequestHeader(name, value);      });      if (request.signal) {        request.signal.addEventListener('abort', abortXhr);        xhr.onreadystatechange = function() {          // DONE (success or failure)          if (xhr.readyState === 4) {            request.signal.removeEventListener('abort', abortXhr);          }        };      }      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);    })  }  fetch.polyfill = true;  if (!self.fetch) {    self.fetch = fetch;    self.Headers = Headers;    self.Request = Request;    self.Response = Response;  }  exports.Headers = Headers;  exports.Request = Request;  exports.Response = Response;  exports.fetch = fetch;  Object.defineProperty(exports, '__esModule', { value: true });  return exports;})({});})(typeof self !== 'undefined' ? self : this);
 |