{"version":3,"file":"static/js/main.6a3fbf7f.js","mappings":"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Ae4K,EAAwB,WAAY,CAAE1R,MAAO,qBAAU0R,EAAuBk2D,iBAAA,IAEhG1qE,GACFuK,KAIEiK,EAA0BhL,EAA0D,CAEpF0kE,OAAA,EACAG,gBAAA,EACA9yD,aAAA,EACA+yD,oBAAA,EACAF,mBAAA,EACA1D,mBAAA,EACAr/D,QAAA,EACAqjE,eAAA,IAIGl6D,CAAA,CGxUT,ICIMu1B,GAAS,SAACvgC,GAAA,gBCCQA,EACtBolC,EACAhoB,EACAsyC,GAAA,YAAAA,IAAAA,EAAkB7nD,MAEbrL,EAAAA,GAAAA,oBAAmB4gB,GAAA,OACf5f,GAAiB,EAAGL,OAAOigB,IAAA,IAK9B/I,EAAmB,kBAAa+wB,EAAqBhoB,EAAKsyC,EAASxvB,GAAAvgC,WAAA,EAAAjE,WAAA,SAGzE2Y,EAAiB+wD,WAAa,SAAA5oE,GAAA,OAC5BwD,EAAqBolC,EAAsBhoB,EAAAgF,GAAA,GAAUstC,EAAA,GAAYlzD,GAAA,EAGnE6X,EAAiBqwD,MAAQ,SAAAloE,GAAA,OACvBwD,EAAqBolC,EAAsBhoB,EAAAgF,GAAA,GACtCstC,EAAA,CACHgV,MAAO9sE,MAAMoB,UAAUgI,OAAO0uD,EAAQgV,MAAOloE,GAAO+6D,OAAO+J,WAAA,EAGxDjtD,CAAA,CDzBO,CAAqC+qB,GAAiBp/B,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA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","sources":["../node_modules/base64-js/index.js","../node_modules/buffer/index.js","../node_modules/crypto-js/core.js","../node_modules/crypto-js/sha256.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/ieee754/index.js","../node_modules/lodash.debounce/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qr.js/lib/8BitByte.js","../node_modules/qr.js/lib/BitBuffer.js","../node_modules/qr.js/lib/ErrorCorrectLevel.js","../node_modules/qr.js/lib/Polynomial.js","../node_modules/qr.js/lib/QRCode.js","../node_modules/qr.js/lib/RSBlock.js","../node_modules/qr.js/lib/math.js","../node_modules/qr.js/lib/mode.js","../node_modules/qr.js/lib/util.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-qr-code/lib/QRCodeSvg/index.js","../node_modules/react-qr-code/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/styled-components/src/base.js","common/theme.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","common/constants.js","components/Builders.js","../node_modules/styled-components/src/constructors/createGlobalStyle.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","hooks/usePrevNextStruct.js","components/SortableTitles.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","common/functions.js","components/List.js","components/ListByIngredient.js","components/BrowserFingerprintCanvas.js","apron.svg","components/Main.js","components/Burger.js","components/Navbar.js","components/Recipe.js","components/Search.js","hooks/useLocalStorage.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n bgD: _propTypes2.default.string.isRequired,\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n fgD: _propTypes2.default.string.isRequired,\n size: _propTypes2.default.number.isRequired,\n title: _propTypes2.default.string,\n viewBoxSize: _propTypes2.default.number.isRequired,\n xmlns: _propTypes2.default.string\n};\n\nvar QRCodeSvg = (0, _react.forwardRef)(function (_ref, ref) {\n var bgColor = _ref.bgColor,\n bgD = _ref.bgD,\n fgD = _ref.fgD,\n fgColor = _ref.fgColor,\n size = _ref.size,\n title = _ref.title,\n viewBoxSize = _ref.viewBoxSize,\n _ref$xmlns = _ref.xmlns,\n xmlns = _ref$xmlns === undefined ? \"http://www.w3.org/2000/svg\" : _ref$xmlns,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"bgD\", \"fgD\", \"fgColor\", \"size\", \"title\", \"viewBoxSize\", \"xmlns\"]);\n\n return _react2.default.createElement(\n \"svg\",\n _extends({}, props, { height: size, ref: ref, viewBox: \"0 0 \" + viewBoxSize + \" \" + viewBoxSize, width: size, xmlns: xmlns }),\n title ? _react2.default.createElement(\n \"title\",\n null,\n title\n ) : null,\n _react2.default.createElement(\"path\", { d: bgD, fill: bgColor }),\n _react2.default.createElement(\"path\", { d: fgD, fill: fgColor })\n );\n});\n\nQRCodeSvg.displayName = \"QRCodeSvg\";\nQRCodeSvg.propTypes = propTypes;\n\nexports.default = QRCodeSvg;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QRCode = undefined;\n\nvar _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; };\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ErrorCorrectLevel = require(\"qr.js/lib/ErrorCorrectLevel\");\n\nvar _ErrorCorrectLevel2 = _interopRequireDefault(_ErrorCorrectLevel);\n\nvar _QRCode = require(\"qr.js/lib/QRCode\");\n\nvar _QRCode2 = _interopRequireDefault(_QRCode);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _QRCodeSvg = require(\"./QRCodeSvg\");\n\nvar _QRCodeSvg2 = _interopRequireDefault(_QRCodeSvg);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n// A `qr.js` doesn't handle error level of zero (M) so we need to do it right, thus the deep require.\n\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n level: _propTypes2.default.string,\n size: _propTypes2.default.number,\n value: _propTypes2.default.string.isRequired\n};\n\nvar QRCode = (0, _react.forwardRef)(function (_ref, ref) {\n var _ref$bgColor = _ref.bgColor,\n bgColor = _ref$bgColor === undefined ? \"#FFFFFF\" : _ref$bgColor,\n _ref$fgColor = _ref.fgColor,\n fgColor = _ref$fgColor === undefined ? \"#000000\" : _ref$fgColor,\n _ref$level = _ref.level,\n level = _ref$level === undefined ? \"L\" : _ref$level,\n _ref$size = _ref.size,\n size = _ref$size === undefined ? 256 : _ref$size,\n value = _ref.value,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"fgColor\", \"level\", \"size\", \"value\"]);\n\n // Use type === -1 to automatically pick the best type.\n var qrcode = new _QRCode2.default(-1, _ErrorCorrectLevel2.default[level]);\n qrcode.addData(value);\n qrcode.make();\n var cells = qrcode.modules;\n return _react2.default.createElement(_QRCodeSvg2.default, _extends({}, props, {\n bgColor: bgColor,\n bgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return !cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n fgColor: fgColor,\n fgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n ref: ref,\n size: size,\n viewBoxSize: cells.length\n }));\n});\n\nexports.QRCode = QRCode;\nQRCode.displayName = \"QRCode\";\nQRCode.propTypes = propTypes;\n\nexports.default = QRCode;","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"86d4fe04\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"react-recipes:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkreact_recipes\"] = self[\"webpackChunkreact_recipes\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { warning, invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on
,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n detectErrorBoundary: DetectErrorBoundaryFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n hasErrorBoundary: detectErrorBoundary(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n id,\n hasErrorBoundary: detectErrorBoundary(route),\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n detectErrorBoundary,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n const starParam = params[star];\n\n // Apply the splat\n return starParam;\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n\n if (optional === \"?\") {\n return param == null ? \"\" : param;\n }\n\n if (param == null) {\n invariant(false, `Missing \":${key}\" param`);\n }\n\n return param;\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n DataResult,\n DeferredData,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n DetectErrorBoundaryFunction,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n ShouldRevalidateFunction,\n RouteManifest,\n ImmutableRouteKey,\n ActionFunction,\n LoaderFunction,\n V7_MutationFormMethod,\n V7_FormMethod,\n HTMLFormMethod,\n MutationFormMethod,\n} from \"./utils\";\nimport {\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterNavigateOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n future?: FutureConfig;\n hydrationData?: HydrationState;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\n/**\n * Options for a navigate() call for a Link navigation\n */\ntype LinkNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n};\n\n/**\n * Options for a navigate() call for a Form navigation\n */\ntype SubmissionNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n formData: FormData;\n};\n\n/**\n * Options to pass to navigate() for either a Link or Form navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions =\n | Omit\n | Omit;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\nconst isServer = !isBrowser;\n\nconst defaultDetectErrorBoundary = (route: AgnosticRouteObject) =>\n Boolean(route.hasErrorBoundary);\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let detectErrorBoundary =\n init.detectErrorBoundary || defaultDetectErrorBoundary;\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n detectErrorBoundary,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(\n dataRoutes,\n init.history.location,\n init.basename\n );\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidate()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations from their actions\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(router.state.blockers) });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n for (let [key] of blockerFunctions) {\n deleteBlocker(key);\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers: new Map(state.blockers),\n });\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n to,\n future,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(state.blockers) });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, init.basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a mutation submission\n // For example, on /page#hash and submit a which will\n // default to a navigation to /page\n if (\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n ...opts.submission,\n };\n loadingNavigation = navigation;\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts?: { replace?: boolean }\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n ...submission,\n };\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation;\n if (!loadingNavigation) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n };\n loadingNavigation = navigation;\n }\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission || fetcherSubmission\n ? submission || fetcherSubmission\n : loadingNavigation.formMethod &&\n loadingNavigation.formAction &&\n loadingNavigation.formData &&\n loadingNavigation.formEncType\n ? {\n formMethod: loadingNavigation.formMethod,\n formAction: loadingNavigation.formAction,\n formData: loadingNavigation.formData,\n formEncType: loadingNavigation.formEncType,\n }\n : undefined;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: fetcher && fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach((rf) =>\n fetchControllers.set(rf.key, pendingNavigationController!)\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n await startRedirectNavigation(state, redirect, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n\n return {\n loaderData,\n errors,\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = matchRoutes(routesToUse, href, init.basename);\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: href })\n );\n return;\n }\n\n let { path, submission } = normalizeNavigateOptions(\n href,\n future,\n opts,\n true\n );\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n ...submission,\n data: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n submission,\n isFetchActionRedirect: true,\n });\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, init.basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: actionResult.data,\n ...submission,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: existingFetcher && existingFetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(staleKey, revalidatingFetcher);\n fetchControllers.set(staleKey, abortController);\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n return startRedirectNavigation(state, redirect);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: actionResult.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads ? { fetchers: new Map(state.fetchers) } : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n await startRedirectNavigation(state, result);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (\n ABSOLUTE_URL_REGEX.test(redirect.location) &&\n isBrowser &&\n typeof window?.location !== \"undefined\"\n ) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename =\n stripBasename(url.pathname, init.basename || \"/\") == null;\n\n if (window.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n window.location.replace(redirect.location);\n } else {\n window.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType, formData } = state.navigation;\n if (!submission && formMethod && formAction && formData && formEncType) {\n submission = {\n formMethod,\n formAction,\n formEncType,\n formData,\n };\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n submission &&\n isMutationMethod(submission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...submission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else if (isFetchActionRedirect) {\n // For a fetch action redirect, we kick off a new loading navigation\n // without the fetcher submission, but we send it along for shouldRevalidate\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n },\n fetcherSubmission: submission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // Otherwise, we kick off a new loading navigation, preserving the\n // submission info for the duration of this navigation\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: submission ? submission.formMethod : undefined,\n formAction: submission ? submission.formAction : undefined,\n formEncType: submission ? submission.formEncType : undefined,\n formData: submission ? submission.formData : undefined,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, request.signal),\n f.match,\n f.matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n request.signal,\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n request.signal,\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n if (fetchControllers.has(key)) abortFetcher(key);\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): void {\n let doneKeys = [];\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n }\n }\n markFetchersDone(doneKeys);\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n state.blockers.set(key, newBlocker);\n updateState({ blockers: new Map(state.blockers) });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || ((location) => location.key);\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n inFlightDataRoutes = newRoutes;\n }\n\n router = {\n get basename() {\n return init.basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let detectErrorBoundary =\n opts?.detectErrorBoundary || defaultDetectErrorBoundary;\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n detectErrorBoundary,\n undefined,\n manifest\n );\n let basename = (opts ? opts.basename : null) || \"/\";\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n detectErrorBoundary,\n basename,\n true,\n isRouteRequest,\n requestContext\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n basename,\n true,\n isRouteRequest,\n requestContext\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return opts != null && \"formData\" in opts;\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n to: To,\n future: FutureConfig,\n opts?: RouterNavigateOptions,\n isFetcher = false\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n let path = typeof to === \"string\" ? to : createPath(to);\n\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n // Create a Submission on non-GET navigations\n let submission: Submission | undefined;\n if (opts.formData) {\n let formMethod = opts.formMethod || \"get\";\n submission = {\n formMethod: future.v7_normalizeFormMethod\n ? (formMethod.toUpperCase() as V7_FormMethod)\n : (formMethod.toLowerCase() as FormMethod),\n formAction: stripHashFromPath(path),\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData: opts.formData,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n let searchParams = convertFormDataToSearchParams(opts.formData);\n // Since fetcher GET submissions only run a single loader (as opposed to\n // navigation GET submissions which run all loaders), we need to preserve\n // any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n let defaultShouldRevalidate =\n // Forced revalidation due to submission, useRevalidate, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.toString() === nextUrl.toString() ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search;\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n defaultShouldRevalidate ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData\n if (!fetcherMatches) {\n revalidatingFetchers.push({ key, ...f, matches: null, match: null });\n return;\n }\n\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n if (cancelledFetcherLoads.includes(key)) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // hit a static href, so they _always_ check shouldRevalidate and the\n // default is strictly if a revalidation is explicitly required (action\n // submissions, useRevalidator, X-Remix-Revalidate).\n let shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate,\n });\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n detectErrorBoundary: DetectErrorBoundaryFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to detectErrorBoundary\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `detectErrorBoundary` function to set the `hasErrorBoundary` route\n // property since the logic will differ between frameworks.\n hasErrorBoundary: detectErrorBoundary({ ...routeToUpdate }),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n detectErrorBoundary: DetectErrorBoundaryFunction,\n basename = \"/\",\n isStaticRequest: boolean = false,\n isRouteRequest: boolean = false,\n requestContext?: unknown\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({ request, params: match.params, context: requestContext }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let values = await Promise.all([\n runHandler(handler),\n loadLazyRouteModule(match.route, detectErrorBoundary, manifest),\n ]);\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, detectErrorBoundary, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n throw getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else {\n invariant(\n handler,\n `Could not find the ${type} to run on the \"${match.route.id}\" route`\n );\n\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let activeMatches = matches.slice(0, matches.indexOf(match) + 1);\n let routePathnames = getPathContributingMatches(activeMatches).map(\n (match) => match.pathnameBase\n );\n let resolvedLocation = resolveTo(\n location,\n routePathnames,\n new URL(request.url).pathname\n );\n invariant(\n createPath(resolvedLocation),\n `Unable to resolve redirect location: ${location}`\n );\n\n // Prepend the basename to the redirect location if we have one\n if (basename) {\n let path = resolvedLocation.pathname;\n resolvedLocation.pathname =\n path === \"/\" ? basename : joinPaths([basename, path]);\n }\n\n location = createPath(resolvedLocation);\n } else if (!isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType, formData } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n init.body =\n formEncType === \"application/x-www-form-urlencoded\"\n ? convertFormDataToSearchParams(formData)\n : formData;\n }\n\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, value instanceof File ? value.name : value);\n }\n\n return searchParams;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n return (\n a.pathname === b.pathname && a.search === b.search && a.hash !== b.hash\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signal: AbortSignal,\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n//#endregion\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\";\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction isPolyfill(x: any, y: any) {\n return (\n (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y) // eslint-disable-line no-self-compare\n );\n}\n\nconst is: (x: any, y: any) => boolean =\n typeof Object.is === \"function\" ? Object.is : isPolyfill;\n\n// Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\nconst { useState, useEffect, useLayoutEffect, useDebugValue } = React;\n\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false;\n\n// Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\nexport function useSyncExternalStore(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n getServerSnapshot?: () => T\n): T {\n if (__DEV__) {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that \" +\n \"does not support useSyncExternalStore. The \" +\n \"use-sync-external-store shim will not work correctly. Upgrade \" +\n \"to a newer pre-release.\"\n );\n }\n }\n }\n\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n const value = getSnapshot();\n if (__DEV__) {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n );\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n const [{ inst }, forceUpdate] = useState({ inst: { value, getSnapshot } });\n\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n };\n // Subscribe to the store and return a clean-up function.\n return subscribe(handleStoreChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst: any) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n","/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nimport * as React from \"react\";\n\nimport { useSyncExternalStore as client } from \"./useSyncExternalStoreShimClient\";\nimport { useSyncExternalStore as server } from \"./useSyncExternalStoreShimServer\";\n\nconst canUseDOM: boolean = !!(\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n);\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? server : client;\n\nexport const useSyncExternalStore =\n \"useSyncExternalStore\" in React\n ? ((module) => module.useSyncExternalStore)(React)\n : shim;\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n LazyRouteFunction,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n Router as RemixRouter,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterStateContext || undefined\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own \n ErrorBoundary prop on \n <Route>\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for the current errors: ${errors}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n if (match.route.ErrorBoundary) {\n errorElement = ;\n } else if (match.route.errorElement) {\n errorElement = match.route.errorElement;\n } else {\n errorElement = ;\n }\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode = outlet;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey] = React.useState(() => String(++blockerId));\n\n let blockerFunction = React.useCallback(\n (args) => {\n return typeof shouldBlock === \"function\"\n ? !!shouldBlock(args)\n : !!shouldBlock;\n },\n [shouldBlock]\n );\n\n let blocker = router.getBlocker(blockerKey, blockerFunction);\n\n // Cleanup on unmount\n React.useEffect(\n () => () => router.deleteBlocker(blockerKey),\n [router, blockerKey]\n );\n\n // Prefer the blocker from state since DataRouterContext is memoized so this\n // ensures we update on blocker state updates\n return state.blockers.get(blockerKey) || blocker;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n RouterState,\n To,\n LazyRouteFunction,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n UNSAFE_invariant as invariant,\n parsePath,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport { useSyncExternalStore as useSyncExternalStoreShim } from \"./use-sync-external-store-shim\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n let getState = React.useCallback(() => router.state, [router]);\n\n // Sync router state to our component state to force re-renders\n let state: RouterState = useSyncExternalStoreShim(\n router.subscribe,\n getState,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n getState\n );\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a