vendor: 18,341 bytes, lines 1-654
1"use strict"; 2(self["webpackChunksfra_boilerplate"] = self["webpackChunksfra_boilerplate"] || []).push([[553],{ 3 4/***/ 8624 5(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6 7__webpack_require__.r(__webpack_exports__); 8/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9/* harmony export */ DOMException: () => (/* binding */ DOMException), 10/* harmony export */ Headers: () => (/* binding */ Headers), 11/* harmony export */ Request: () => (/* binding */ Request), 12/* harmony export */ Response: () => (/* binding */ Response), 13/* harmony export */ fetch: () => (/* binding */ fetch) 14/* harmony export */ }); 15/* eslint-disable no-prototype-builtins */ 16var g = 17 (typeof globalThis !== 'undefined' && globalThis) || 18 (typeof self !== 'undefined' && self) || 19 // eslint-disable-next-line no-undef 20 (typeof __webpack_require__.g !== 'undefined' && __webpack_require__.g) || 21 {} 22 23var support = { 24 searchParams: 'URLSearchParams' in g, 25 iterable: 'Symbol' in g && 'iterator' in Symbol, 26 blob: 27 'FileReader' in g && 28 'Blob' in g && 29 (function() { 30 try { 31 new Blob() 32 return true 33 } catch (e) { 34 return false 35 } 36 })(), 37 formData: 'FormData' in g, 38 arrayBuffer: 'ArrayBuffer' in g 39} 40 41function isDataView(obj) { 42 return obj && DataView.prototype.isPrototypeOf(obj) 43} 44 45if (support.arrayBuffer) { 46 var viewClasses = [ 47 '[object Int8Array]', 48 '[object Uint8Array]', 49 '[object Uint8ClampedArray]', 50 '[object Int16Array]', 51 '[object Uint16Array]', 52 '[object Int32Array]', 53 '[object Uint32Array]', 54 '[object Float32Array]', 55 '[object Float64Array]' 56 ] 57 58 var isArrayBufferView = 59 ArrayBuffer.isView || 60 function(obj) { 61 return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 62 } 63} 64 65function normalizeName(name) { 66 if (typeof name !== 'string') { 67 name = String(name) 68 } 69 if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') { 70 throw new TypeError('Invalid character in header field name: "' + name + '"') 71 } 72 return name.toLowerCase() 73} 74 75function normalizeValue(value) { 76 if (typeof value !== 'string') { 77 value = String(value) 78 } 79 return value 80} 81 82// Build a destructive iterator for the value list 83function iteratorFor(items) { 84 var iterator = { 85 next: function() { 86 var value = items.shift() 87 return {done: value === undefined, value: value} 88 } 89 } 90 91 if (support.iterable) { 92 iterator[Symbol.iterator] = function() { 93 return iterator 94 } 95 } 96 97 return iterator 98} 99 100function Headers(headers) { 101 this.map = {} 102 103 if (headers instanceof Headers) { 104 headers.forEach(function(value, name) { 105 this.append(name, value) 106 }, this) 107 } else if (Array.isArray(headers)) { 108 headers.forEach(function(header) { 109 if (header.length != 2) { 110 throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length) 111 } 112 this.append(header[0], header[1]) 113 }, this) 114 } else if (headers) { 115 Object.getOwnPropertyNames(headers).forEach(function(name) { 116 this.append(name, headers[name]) 117 }, this) 118 } 119} 120 121Headers.prototype.append = function(name, value) { 122 name = normalizeName(name) 123 value = normalizeValue(value) 124 var oldValue = this.map[name] 125 this.map[name] = oldValue ? oldValue + ', ' + value : value 126} 127 128Headers.prototype['delete'] = function(name) { 129 delete this.map[normalizeName(name)] 130} 131 132Headers.prototype.get = function(name) { 133 name = normalizeName(name) 134 return this.has(name) ? this.map[name] : null 135} 136 137Headers.prototype.has = function(name) { 138 return this.map.hasOwnProperty(normalizeName(name)) 139} 140 141Headers.prototype.set = function(name, value) { 142 this.map[normalizeName(name)] = normalizeValue(value) 143} 144 145Headers.prototype.forEach = function(callback, thisArg) { 146 for (var name in this.map) { 147 if (this.map.hasOwnProperty(name)) { 148 callback.call(thisArg, this.map[name], name, this) 149 } 150 } 151} 152 153Headers.prototype.keys = function() { 154 var items = [] 155 this.forEach(function(value, name) { 156 items.push(name) 157 }) 158 return iteratorFor(items) 159} 160 161Headers.prototype.values = function() { 162 var items = [] 163 this.forEach(function(value) { 164 items.push(value) 165 }) 166 return iteratorFor(items) 167} 168 169Headers.prototype.entries = function() { 170 var items = [] 171 this.forEach(function(value, name) { 172 items.push([name, value]) 173 }) 174 return iteratorFor(items) 175} 176 177if (support.iterable) { 178 Headers.prototype[Symbol.iterator] = Headers.prototype.entries 179} 180 181function consumed(body) { 182 if (body._noBody) return 183 if (body.bodyUsed) { 184 return Promise.reject(new TypeError('Already read')) 185 } 186 body.bodyUsed = true 187} 188 189function fileReaderReady(reader) { 190 return new Promise(function(resolve, reject) { 191 reader.onload = function() { 192 resolve(reader.result) 193 } 194 reader.onerror = function() { 195 reject(reader.error) 196 } 197 }) 198} 199 200function readBlobAsArrayBuffer(blob) { 201 var reader = new FileReader() 202 var promise = fileReaderReady(reader) 203 reader.readAsArrayBuffer(blob) 204 return promise 205} 206 207function readBlobAsText(blob) { 208 var reader = new FileReader() 209 var promise = fileReaderReady(reader) 210 var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type) 211 var encoding = match ? match[1] : 'utf-8' 212 reader.readAsText(blob, encoding) 213 return promise 214} 215 216function readArrayBufferAsText(buf) { 217 var view = new Uint8Array(buf) 218 var chars = new Array(view.length) 219 220 for (var i = 0; i < view.length; i++) { 221 chars[i] = String.fromCharCode(view[i]) 222 } 223 return chars.join('') 224} 225 226function bufferClone(buf) { 227 if (buf.slice) { 228 return buf.slice(0) 229 } else { 230 var view = new Uint8Array(buf.byteLength) 231 view.set(new Uint8Array(buf)) 232 return view.buffer 233 } 234} 235 236function Body() { 237 this.bodyUsed = false 238 239 this._initBody = function(body) { 240 /* 241 fetch-mock wraps the Response object in an ES6 Proxy to 242 provide useful test harness features such as flush. However, on 243 ES5 browsers without fetch or Proxy support pollyfills must be used; 244 the proxy-pollyfill is unable to proxy an attribute unless it exists 245 on the object before the Proxy is created. This change ensures 246 Response.bodyUsed exists on the instance, while maintaining the 247 semantic of setting Request.bodyUsed in the constructor before 248 _initBody is called. 249 */ 250 // eslint-disable-next-line no-self-assign 251 this.bodyUsed = this.bodyUsed 252 this._bodyInit = body 253 if (!body) { 254 this._noBody = true; 255 this._bodyText = '' 256 } else if (typeof body === 'string') { 257 this._bodyText = body 258 } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { 259 this._bodyBlob = body 260 } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { 261 this._bodyFormData = body 262 } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { 263 this._bodyText = body.toString() 264 } else if (support.arrayBuffer && support.blob && isDataView(body)) { 265 this._bodyArrayBuffer = bufferClone(body.buffer) 266 // IE 10-11 can't handle a DataView body. 267 this._bodyInit = new Blob([this._bodyArrayBuffer]) 268 } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { 269 this._bodyArrayBuffer = bufferClone(body) 270 } else { 271 this._bodyText = body = Object.prototype.toString.call(body) 272 } 273 274 if (!this.headers.get('content-type')) { 275 if (typeof body === 'string') { 276 this.headers.set('content-type', 'text/plain;charset=UTF-8') 277 } else if (this._bodyBlob && this._bodyBlob.type) { 278 this.headers.set('content-type', this._bodyBlob.type) 279 } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { 280 this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8') 281 } 282 } 283 } 284 285 if (support.blob) { 286 this.blob = function() { 287 var rejected = consumed(this) 288 if (rejected) { 289 return rejected 290 } 291 292 if (this._bodyBlob) { 293 return Promise.resolve(this._bodyBlob) 294 } else if (this._bodyArrayBuffer) { 295 return Promise.resolve(new Blob([this._bodyArrayBuffer])) 296 } else if (this._bodyFormData) { 297 throw new Error('could not read FormData body as blob') 298 } else { 299 return Promise.resolve(new Blob([this._bodyText])) 300 } 301 } 302 } 303 304 this.arrayBuffer = function() { 305 if (this._bodyArrayBuffer) { 306 var isConsumed = consumed(this) 307 if (isConsumed) { 308 return isConsumed 309 } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) { 310 return Promise.resolve( 311 this._bodyArrayBuffer.buffer.slice( 312 this._bodyArrayBuffer.byteOffset, 313 this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength 314 ) 315 ) 316 } else { 317 return Promise.resolve(this._bodyArrayBuffer) 318 } 319 } else if (support.blob) { 320 return this.blob().then(readBlobAsArrayBuffer) 321 } else { 322 throw new Error('could not read as ArrayBuffer') 323 } 324 } 325 326 this.text = function() { 327 var rejected = consumed(this) 328 if (rejected) { 329 return rejected 330 } 331 332 if (this._bodyBlob) { 333 return readBlobAsText(this._bodyBlob) 334 } else if (this._bodyArrayBuffer) { 335 return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)) 336 } else if (this._bodyFormData) { 337 throw new Error('could not read FormData body as text') 338 } else { 339 return Promise.resolve(this._bodyText) 340 } 341 } 342 343 if (support.formData) { 344 this.formData = function() { 345 return this.text().then(decode) 346 } 347 } 348 349 this.json = function() { 350 return this.text().then(JSON.parse) 351 } 352 353 return this 354} 355 356// HTTP methods whose capitalization should be normalized 357var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'] 358 359function normalizeMethod(method) { 360 var upcased = method.toUpperCase() 361 return methods.indexOf(upcased) > -1 ? upcased : method 362} 363 364function Request(input, options) { 365 if (!(this instanceof Request)) { 366 throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') 367 } 368 369 options = options || {} 370 var body = options.body 371 372 if (input instanceof Request) { 373 if (input.bodyUsed) { 374 throw new TypeError('Already read') 375 } 376 this.url = input.url 377 this.credentials = input.credentials 378 if (!options.headers) { 379 this.headers = new Headers(input.headers) 380 } 381 this.method = input.method 382 this.mode = input.mode 383 this.signal = input.signal 384 if (!body && input._bodyInit != null) { 385 body = input._bodyInit 386 input.bodyUsed = true 387 } 388 } else { 389 this.url = String(input) 390 } 391 392 this.credentials = options.credentials || this.credentials || 'same-origin' 393 if (options.headers || !this.headers) { 394 this.headers = new Headers(options.headers) 395 } 396 this.method = normalizeMethod(options.method || this.method || 'GET') 397 this.mode = options.mode || this.mode || null 398 this.signal = options.signal || this.signal || (function () { 399 if ('AbortController' in g) { 400 var ctrl = new AbortController(); 401 return ctrl.signal; 402 } 403 }()); 404 this.referrer = null 405 406 if ((this.method === 'GET' || this.method === 'HEAD') && body) { 407 throw new TypeError('Body not allowed for GET or HEAD requests') 408 } 409 this._initBody(body) 410 411 if (this.method === 'GET' || this.method === 'HEAD') { 412 if (options.cache === 'no-store' || options.cache === 'no-cache') { 413 // Search for a '_' parameter in the query string 414 var reParamSearch = /([?&])_=[^&]*/ 415 if (reParamSearch.test(this.url)) { 416 // If it already exists then set the value with the current time 417 this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime()) 418 } else { 419 // Otherwise add a new '_' parameter to the end with the current time 420 var reQueryString = /\?/ 421 this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime() 422 } 423 } 424 } 425} 426 427Request.prototype.clone = function() { 428 return new Request(this, {body: this._bodyInit}) 429} 430 431function decode(body) { 432 var form = new FormData() 433 body 434 .trim() 435 .split('&') 436 .forEach(function(bytes) { 437 if (bytes) { 438 var split = bytes.split('=') 439 var name = split.shift().replace(/\+/g, ' ') 440 var value = split.join('=').replace(/\+/g, ' ') 441 form.append(decodeURIComponent(name), decodeURIComponent(value)) 442 } 443 }) 444 return form 445} 446 447function parseHeaders(rawHeaders) { 448 var headers = new Headers() 449 // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space 450 // https://tools.ietf.org/html/rfc7230#section-3.2 451 var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ') 452 // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill 453 // https://github.com/github/fetch/issues/748 454 // https://github.com/zloirock/core-js/issues/751 455 preProcessedHeaders 456 .split('\r') 457 .map(function(header) { 458 return header.indexOf('\n') === 0 ? header.substr(1, header.length) : header 459 }) 460 .forEach(function(line) { 461 var parts = line.split(':') 462 var key = parts.shift().trim() 463 if (key) { 464 var value = parts.join(':').trim() 465 try { 466 headers.append(key, value) 467 } catch (error) { 468 console.warn('Response ' + error.message) 469 } 470 } 471 }) 472 return headers 473} 474 475Body.call(Request.prototype) 476 477function Response(bodyInit, options) { 478 if (!(this instanceof Response)) { 479 throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.') 480 } 481 if (!options) { 482 options = {} 483 } 484 485 this.type = 'default' 486 this.status = options.status === undefined ? 200 : options.status 487 if (this.status < 200 || this.status > 599) { 488 throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].") 489 } 490 this.ok = this.status >= 200 && this.status < 300 491 this.statusText = options.statusText === undefined ? '' : '' + options.statusText 492 this.headers = new Headers(options.headers) 493 this.url = options.url || '' 494 this._initBody(bodyInit) 495} 496 497Body.call(Response.prototype) 498 499Response.prototype.clone = function() { 500 return new Response(this._bodyInit, { 501 status: this.status, 502 statusText: this.statusText, 503 headers: new Headers(this.headers), 504 url: this.url 505 }) 506} 507 508Response.error = function() { 509 var response = new Response(null, {status: 200, statusText: ''}) 510 response.status = 0 511 response.type = 'error' 512 return response 513} 514 515var redirectStatuses = [301, 302, 303, 307, 308] 516 517Response.redirect = function(url, status) { 518 if (redirectStatuses.indexOf(status) === -1) { 519 throw new RangeError('Invalid status code') 520 } 521 522 return new Response(null, {status: status, headers: {location: url}}) 523} 524 525var DOMException = g.DOMException 526try { 527 new DOMException() 528} catch (err) { 529 DOMException = function(message, name) { 530 this.message = message 531 this.name = name 532 var error = Error(message) 533 this.stack = error.stack 534 } 535 DOMException.prototype = Object.create(Error.prototype) 536 DOMException.prototype.constructor = DOMException 537} 538 539function fetch(input, init) { 540 return new Promise(function(resolve, reject) { 541 var request = new Request(input, init) 542 543 if (request.signal && request.signal.aborted) { 544 return reject(new DOMException('Aborted', 'AbortError')) 545 } 546 547 var xhr = new XMLHttpRequest() 548 549 function abortXhr() { 550 xhr.abort() 551 } 552 553 xhr.onload = function() { 554 var options = { 555 status: xhr.status, 556 statusText: xhr.statusText, 557 headers: parseHeaders(xhr.getAllResponseHeaders() || '') 558 } 559 options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL') 560 var body = 'response' in xhr ? xhr.response : xhr.responseText 561 setTimeout(function() { 562 resolve(new Response(body, options)) 563 }, 0) 564 } 565 566 xhr.onerror = function() { 567 setTimeout(function() { 568 reject(new TypeError('Network request failed')) 569 }, 0) 570 } 571 572 xhr.ontimeout = function() { 573 setTimeout(function() { 574 reject(new TypeError('Network request failed')) 575 }, 0) 576 } 577 578 xhr.onabort = function() { 579 setTimeout(function() { 580 reject(new DOMException('Aborted', 'AbortError')) 581 }, 0) 582 } 583 584 function fixUrl(url) { 585 try { 586 return url === '' && g.location.href ? g.location.href : url 587 } catch (e) { 588 return url 589 } 590 } 591 592 xhr.open(request.method, fixUrl(request.url), true) 593 594 if (request.credentials === 'include') { 595 xhr.withCredentials = true 596 } else if (request.credentials === 'omit') { 597 xhr.withCredentials = false 598 } 599 600 if ('responseType' in xhr) { 601 if (support.blob) { 602 xhr.responseType = 'blob' 603 } else if ( 604 support.arrayBuffer 605 ) { 606 xhr.responseType = 'arraybuffer' 607 } 608 } 609 610 if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) { 611 var names = []; 612 Object.getOwnPropertyNames(init.headers).forEach(function(name) { 613 names.push(normalizeName(name)) 614 xhr.setRequestHeader(name, normalizeValue(init.headers[name])) 615 }) 616 request.headers.forEach(function(value, name) { 617 if (names.indexOf(name) === -1) { 618 xhr.setRequestHeader(name, value) 619 } 620 }) 621 } else { 622 request.headers.forEach(function(value, name) { 623 xhr.setRequestHeader(name, value) 624 }) 625 } 626 627 if (request.signal) { 628 request.signal.addEventListener('abort', abortXhr) 629 630 xhr.onreadystatechange = function() { 631 // DONE (success or failure) 632 if (xhr.readyState === 4) { 633 request.signal.removeEventListener('abort', abortXhr) 634 } 635 } 636 } 637 638 xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit) 639 }) 640} 641 642fetch.polyfill = true 643 644if (!g.fetch) { 645 g.fetch = fetch 646 g.Headers = Headers 647 g.Request = Request 648 g.Response = Response 649} 650 651 652/***/ } 653 654}]);
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.