{"version":3,"file":"static/chunks/727-67cdf4794eae55c6.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@commercetools/sdk-client-v2/dist/commercetools-sdk-client-v2.browser.esm.js","webpack://_N_E/./node_modules/next/dist/shared/lib/dynamic.js","webpack://_N_E/./node_modules/next/dist/shared/lib/loadable-context.js","webpack://_N_E/./node_modules/next/dist/shared/lib/loadable.js","webpack://_N_E/./node_modules/next/dynamic.js","webpack://_N_E/./node_modules/node-fetch/browser.js","webpack://_N_E/./node_modules/qrcode.react/lib/esm/index.js","webpack://_N_E/./node_modules/querystring/decode.js","webpack://_N_E/./node_modules/querystring/encode.js","webpack://_N_E/./node_modules/querystring/index.js","webpack://_N_E/./node_modules/use-subscription/cjs/use-subscription.production.min.js","webpack://_N_E/./node_modules/use-subscription/index.js"],"sourcesContent":["import fetch$1 from 'node-fetch';\nimport qs from 'querystring';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];\n\n/**\n * @throws {Error}\n */\n\nfunction validate(funcName, request, options = {\n allowedMethods: METHODS\n}) {\n if (!request) throw new Error(`The \"${funcName}\" function requires a \"Request\" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);\n if (typeof request.uri !== 'string') throw new Error(`The \"${funcName}\" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);\n if (!options.allowedMethods.includes(request.method)) throw new Error(`The \"${funcName}\" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);\n}\n\nlet _options;\n\nfunction compose(...funcs) {\n funcs = funcs.filter(func => typeof func === 'function');\n if (funcs.length === 1) return funcs[0];\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n\nfunction process$1(request, fn, processOpt) {\n validate('process', request, {\n allowedMethods: ['GET']\n });\n if (typeof fn !== 'function') throw new Error('The \"process\" function accepts a \"Function\" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options'); // Set default process options\n\n const opt = {\n total: Number.POSITIVE_INFINITY,\n accumulate: true,\n ...processOpt\n };\n return new Promise((resolve, reject) => {\n let _path,\n _queryString = '';\n\n if (request && request.uri) {\n const [path, queryString] = request.uri.split('?');\n _path = path;\n _queryString = queryString;\n }\n\n const requestQuery = { ...qs.parse(_queryString)\n };\n const query = {\n // defaults\n limit: 20,\n // merge given query params\n ...requestQuery\n };\n let hasFirstPageBeenProcessed = false;\n let itemsToGet = opt.total;\n\n const processPage = async (lastId, acc = []) => {\n // Use the lesser value between limit and itemsToGet in query\n const limit = query.limit < itemsToGet ? query.limit : itemsToGet;\n const originalQueryString = qs.stringify({ ...query,\n limit\n });\n const enhancedQuery = {\n sort: 'id asc',\n withTotal: false,\n ...(lastId ? {\n where: `id > \"${lastId}\"`\n } : {})\n };\n const enhancedQueryString = qs.stringify(enhancedQuery);\n const enhancedRequest = { ...request,\n uri: `${_path}?${enhancedQueryString}&${originalQueryString}`\n };\n\n try {\n const payload = await createClient(_options).execute(enhancedRequest);\n const {\n results,\n count: resultsLength\n } = payload.body;\n\n if (!resultsLength && hasFirstPageBeenProcessed) {\n return resolve(acc || []);\n }\n\n const result = await Promise.resolve(fn(payload));\n let accumulated;\n hasFirstPageBeenProcessed = true;\n if (opt.accumulate) accumulated = acc.concat(result || []);\n itemsToGet -= resultsLength; // If there are no more items to get, it means the total number\n // of items in the original request have been fetched so we\n // resolve the promise.\n // Also, if we get less results in a page then the limit set it\n // means that there are no more pages and that we can finally\n // resolve the promise.\n\n if (resultsLength < query.limit || !itemsToGet) {\n return resolve(accumulated || []);\n }\n\n const last = results[resultsLength - 1];\n const newLastId = last && last.id;\n processPage(newLastId, accumulated);\n } catch (error) {\n reject(error);\n }\n }; // Start iterating through pages\n\n\n processPage();\n });\n}\nfunction createClient(options) {\n _options = options;\n if (!options) throw new Error('Missing required options');\n if (options.middlewares && !Array.isArray(options.middlewares)) throw new Error('Middlewares should be an array');\n if (!options.middlewares || !Array.isArray(options.middlewares) || !options.middlewares.length) throw new Error('You need to provide at least one middleware');\n return {\n /**\n * Given a request object,\n */\n process: process$1,\n\n execute(request) {\n validate('exec', request);\n return new Promise((resolve, reject) => {\n const resolver = (rq, rs) => {\n // Note: pick the promise `resolve` and `reject` function from\n // the response object. This is not necessary the same function\n // given from the `new Promise` constructor, as middlewares could\n // override those functions for custom behaviours.\n if (rs.error) rs.reject(rs.error);else {\n const resObj = {\n body: rs.body || {},\n statusCode: rs.statusCode\n };\n if (rs.headers) resObj.headers = rs.headers;\n if (rs.request) resObj.request = rs.request;\n rs.resolve(resObj);\n }\n };\n\n const dispatch = compose(...options.middlewares)(resolver);\n dispatch(request, // Initial response shape\n {\n resolve,\n reject,\n body: undefined,\n error: undefined\n });\n });\n }\n\n };\n}\n\n// POST https://{host}/oauth/token?grant_type=client_credentials&scope={scope}\n// Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==\nconst Buffer$2 = require('buffer/').Buffer;\n\nfunction buildRequestForClientCredentialsFlow(options) {\n if (!options) throw new Error('Missing required options');\n if (!options.host) throw new Error('Missing required option (host)');\n if (!options.projectKey) throw new Error('Missing required option (projectKey)');\n if (!options.credentials) throw new Error('Missing required option (credentials)');\n const {\n clientId,\n clientSecret\n } = options.credentials;\n if (!(clientId && clientSecret)) throw new Error('Missing required credentials (clientId, clientSecret)');\n const scope = options.scopes ? options.scopes.join(' ') : undefined;\n const basicAuth = Buffer$2.from(`${clientId}:${clientSecret}`).toString('base64'); // This is mostly useful for internal testing purposes to be able to check\n // other oauth endpoints.\n\n const oauthUri = options.oauthUri || '/oauth/token';\n const url = options.host.replace(/\\/$/, '') + oauthUri;\n const body = `grant_type=client_credentials${scope ? `&scope=${scope}` : ''}`;\n return {\n basicAuth,\n url,\n body\n };\n}\nfunction buildRequestForPasswordFlow(options) {\n if (!options) throw new Error('Missing required options');\n if (!options.host) throw new Error('Missing required option (host)');\n if (!options.projectKey) throw new Error('Missing required option (projectKey)');\n if (!options.credentials) throw new Error('Missing required option (credentials)');\n const {\n clientId,\n clientSecret,\n user\n } = options.credentials;\n const pKey = options.projectKey;\n if (!(clientId && clientSecret && user)) throw new Error('Missing required credentials (clientId, clientSecret, user)');\n const {\n username,\n password\n } = user;\n if (!(username && password)) throw new Error('Missing required user credentials (username, password)');\n const scope = (options.scopes || []).join(' ');\n const scopeStr = scope ? `&scope=${scope}` : '';\n const basicAuth = Buffer$2.from(`${clientId}:${clientSecret}`).toString('base64');\n /**\n * This is mostly useful for internal testing purposes to be able to check\n * other oauth endpoints.\n */\n\n const oauthUri = options.oauthUri || `/oauth/${pKey}/customers/token`;\n const url = options.host.replace(/\\/$/, '') + oauthUri; // encode username and password as requested by platform\n\n const body = `grant_type=password&username=${encodeURIComponent(username)}&password=${encodeURIComponent(password)}${scopeStr}`;\n return {\n basicAuth,\n url,\n body\n };\n}\nfunction buildRequestForRefreshTokenFlow(options) {\n if (!options) throw new Error('Missing required options');\n if (!options.host) throw new Error('Missing required option (host)');\n if (!options.projectKey) throw new Error('Missing required option (projectKey)');\n if (!options.credentials) throw new Error('Missing required option (credentials)');\n if (!options.refreshToken) throw new Error('Missing required option (refreshToken)');\n const {\n clientId,\n clientSecret\n } = options.credentials;\n if (!(clientId && clientSecret)) throw new Error('Missing required credentials (clientId, clientSecret)');\n const basicAuth = Buffer$2.from(`${clientId}:${clientSecret}`).toString('base64'); // This is mostly useful for internal testing purposes to be able to check\n // other oauth endpoints.\n\n const oauthUri = options.oauthUri || '/oauth/token';\n const url = options.host.replace(/\\/$/, '') + oauthUri;\n const body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(options.refreshToken)}`;\n return {\n basicAuth,\n url,\n body\n };\n}\nfunction buildRequestForAnonymousSessionFlow(options) {\n if (!options) throw new Error('Missing required options');\n if (!options.projectKey) throw new Error('Missing required option (projectKey)');\n const pKey = options.projectKey;\n options.oauthUri = options.oauthUri || `/oauth/${pKey}/anonymous/token`;\n const result = buildRequestForClientCredentialsFlow(options);\n if (options.credentials.anonymousId) result.body += `&anonymous_id=${options.credentials.anonymousId}`;\n return { ...result\n };\n}\n\nconst Buffer$1 = require('buffer/').Buffer;\n\nfunction mergeAuthHeader(token, req) {\n return { ...req,\n headers: { ...req.headers,\n Authorization: `Bearer ${token}`\n }\n };\n}\n\nfunction calculateExpirationTime(expiresIn) {\n return Date.now() + // Add a gap of 2 hours before expiration time.\n expiresIn * 1000 - 2 * 60 * 60 * 1000;\n}\n\nasync function executeRequest({\n fetcher,\n url,\n basicAuth,\n body,\n tokenCache,\n requestState,\n pendingTasks,\n response,\n tokenCacheKey\n}) {\n try {\n const _res = await fetcher(url, {\n method: 'POST',\n headers: {\n Authorization: `Basic ${basicAuth}`,\n 'Content-Length': Buffer$1.byteLength(body).toString(),\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n body\n });\n\n if (_res.ok) {\n const {\n access_token: token,\n expires_in: expiresIn,\n refresh_token: refreshToken\n } = await _res.json();\n const expirationTime = calculateExpirationTime(expiresIn); // cache new generated token\n\n tokenCache.set({\n token,\n expirationTime,\n refreshToken\n }, tokenCacheKey); // Dispatch all pending requests\n\n requestState.set(false);\n /**\n * Freeze and copy pending queue, reset original one for accepting\n * new pending tasks\n */\n\n const executionQueue = pendingTasks.slice();\n pendingTasks = [];\n executionQueue.forEach(task => {\n // Assign the new token in the request header\n const requestWithAuth = mergeAuthHeader(token, task.request);\n /**\n * console.log('test', cache, pendingTasks)\n * Continue by calling the task's own next function\n */\n\n task.next(requestWithAuth, task.response);\n });\n return;\n } // Handle error response\n\n\n let parsed;\n const text = await _res.text();\n\n try {\n parsed = JSON.parse(text);\n } catch (error) {\n /* noop */\n }\n\n const error = new Error(parsed ? parsed.message : text);\n if (parsed) error.body = parsed;\n /**\n * to notify that token is either fetched or failed\n * in the below case token failed to be fetched\n * and reset requestState to false\n * so requestState could be shared between multi authMiddlewareBase functions\n */\n\n requestState.set(false);\n response.reject(error);\n } catch (error) {\n /**\n * to notify that token is either fetched or failed\n * in the below case token failed to be fetched\n * and reset requestState to false\n * so requestState could be shared between multi authMiddlewareBase functions\n */\n requestState.set(false);\n if (response && typeof response.reject === 'function') response.reject(error);\n }\n}\n\nfunction authMiddlewareBase({\n request,\n response,\n url,\n basicAuth,\n body,\n pendingTasks,\n requestState,\n tokenCache,\n tokenCacheKey,\n fetch: fetcher\n}, next, userOptions) {\n if (!fetcher && typeof fetch === 'undefined') throw new Error('`fetch` is not available. Please pass in `fetch` as an option or have it globally available.');\n if (!fetcher) fetcher = fetch; // Check if there is already a `Authorization` header in the request.\n // If so, then go directly to the next middleware.\n\n if (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) {\n next(request, response);\n return;\n } // If there was a token in the tokenCache, and it's not expired, append\n // the token in the `Authorization` header.\n\n\n const tokenObj = tokenCache.get(tokenCacheKey);\n\n if (tokenObj && tokenObj.token && Date.now() < tokenObj.expirationTime) {\n const requestWithAuth = mergeAuthHeader(tokenObj.token, request);\n next(requestWithAuth, response);\n return;\n }\n /**\n * Keep pending tasks until a token is fetched\n * Save next function as well, to call it once the token has been fetched, which prevents\n * unexpected behaviour in a context in which the next function uses global vars\n * or Promises to capture the token to hand it to other libraries, e.g. Apollo\n */\n\n\n pendingTasks.push({\n request,\n response,\n next\n }); // If a token is currently being fetched, just wait ;)\n\n if (requestState.get()) return; // Mark that a token is being fetched\n\n requestState.set(true);\n /**\n * If there was a refreshToken in the tokenCache, and there was an expired\n * token or no token in the tokenCache, use the refreshToken flow\n */\n\n if (tokenObj && tokenObj.refreshToken && (!tokenObj.token || tokenObj.token && Date.now() > tokenObj.expirationTime)) {\n if (!userOptions) throw new Error('Missing required options');\n executeRequest({\n fetcher,\n ...buildRequestForRefreshTokenFlow({ ...userOptions,\n refreshToken: tokenObj.refreshToken\n }),\n tokenCacheKey,\n tokenCache,\n requestState,\n pendingTasks,\n response\n });\n return;\n } // Token and refreshToken are not present or invalid. Request a new token...\n\n\n executeRequest({\n fetcher,\n url,\n basicAuth,\n body,\n tokenCacheKey,\n tokenCache,\n requestState,\n pendingTasks,\n response\n });\n}\n\nfunction store(initVal) {\n let value = initVal;\n return {\n get: () => value,\n set: val => {\n value = val;\n return value;\n }\n };\n}\n\nfunction createAuthMiddlewareForAnonymousSessionFlow$1(options) {\n const tokenCache = store({});\n const pendingTasks = [];\n const requestState = store(false);\n return next => (request, response) => {\n // Check if there is already a `Authorization` header in the request.\n // If so, then go directly to the next middleware.\n if (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) {\n next(request, response);\n return;\n }\n\n const params = {\n request,\n response,\n ...buildRequestForAnonymousSessionFlow(options),\n pendingTasks,\n requestState,\n tokenCache,\n fetch: options.fetch\n };\n authMiddlewareBase(params, next, options);\n };\n}\n\nfunction buildTokenCacheKey(options) {\n return {\n clientId: options.credentials.clientId,\n host: options.host,\n projectKey: options.projectKey\n };\n}\n\nfunction createAuthMiddlewareForClientCredentialsFlow$1(options) {\n const tokenCache = options.tokenCache || store({\n token: '',\n expirationTime: -1\n });\n const requestState = store(false);\n const pendingTasks = [];\n return next => (request, response) => {\n // Check if there is already a `Authorization` header in the request.\n // If so, then go directly to the next middleware.\n if (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) {\n next(request, response);\n return;\n }\n\n const params = {\n request,\n response,\n ...buildRequestForClientCredentialsFlow(options),\n pendingTasks,\n requestState,\n tokenCache,\n tokenCacheKey: buildTokenCacheKey(options),\n fetch: options.fetch\n };\n authMiddlewareBase(params, next);\n };\n}\n\nfunction createAuthMiddlewareWithExistingToken$1(authorization = '', options = {}) {\n return next => (request, response) => {\n if (typeof authorization !== 'string') throw new Error('authorization must be a string');\n const force = options.force === undefined ? true : options.force;\n /** The request will not be modified if:\n * 1. no argument is passed\n * 2. force is false and authorization header exists\n */\n\n if (!authorization || (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) && force === false) {\n return next(request, response);\n }\n\n const requestWithAuth = { ...request,\n headers: { ...request.headers,\n Authorization: authorization\n }\n };\n return next(requestWithAuth, response);\n };\n}\n\nfunction createAuthMiddlewareForPasswordFlow$1(options) {\n const tokenCache = store({});\n const pendingTasks = [];\n const requestState = store(false);\n return next => (request, response) => {\n // Check if there is already a `Authorization` header in the request.\n // If so, then go directly to the next middleware.\n if (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) {\n next(request, response);\n return;\n }\n\n const params = {\n request,\n response,\n ...buildRequestForPasswordFlow(options),\n pendingTasks,\n requestState,\n tokenCache,\n fetch: options.fetch\n };\n authMiddlewareBase(params, next, options);\n };\n}\n\nfunction createAuthMiddlewareForRefreshTokenFlow$1(options) {\n const tokenCache = store({});\n const pendingTasks = [];\n const requestState = store(false);\n return next => (request, response) => {\n // Check if there is already a `Authorization` header in the request.\n // If so, then go directly to the next middleware.\n if (request.headers && request.headers.authorization || request.headers && request.headers.Authorization) {\n next(request, response);\n return;\n }\n\n const params = {\n request,\n response,\n ...buildRequestForRefreshTokenFlow(options),\n pendingTasks,\n requestState,\n tokenCache,\n fetch: options.fetch\n };\n authMiddlewareBase(params, next);\n };\n}\n\nvar authMiddlewares = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createAuthMiddlewareForAnonymousSessionFlow: createAuthMiddlewareForAnonymousSessionFlow$1,\n createAuthMiddlewareForClientCredentialsFlow: createAuthMiddlewareForClientCredentialsFlow$1,\n createAuthMiddlewareWithExistingToken: createAuthMiddlewareWithExistingToken$1,\n createAuthMiddlewareForPasswordFlow: createAuthMiddlewareForPasswordFlow$1,\n createAuthMiddlewareForRefreshTokenFlow: createAuthMiddlewareForRefreshTokenFlow$1\n});\n\nfunction createCorrelationIdMiddleware(options) {\n return next => (request, response) => {\n const nextRequest = { ...request,\n headers: { ...request.headers,\n 'X-Correlation-ID': options.generate()\n }\n };\n next(nextRequest, response);\n };\n}\n\nfunction defineError(statusCode, message, meta = {}) {\n this.status = this.statusCode = this.code = statusCode;\n this.message = message;\n Object.assign(this, meta);\n this.name = this.constructor.name;\n this.constructor.prototype.__proto__ = Error.prototype;\n if (Error.captureStackTrace) Error.captureStackTrace(this, this.constructor);\n}\n\nfunction NetworkError(...args) {\n defineError.call(this, 0\n /* special code to indicate network errors */\n , ...args);\n}\nfunction HttpError(...args) {\n defineError.call(this,\n /* code will be passed as arg */\n ...args);\n}\nfunction BadRequest(...args) {\n defineError.call(this, 400, ...args);\n}\nfunction Unauthorized(...args) {\n defineError.call(this, 401, ...args);\n}\nfunction Forbidden(...args) {\n defineError.call(this, 403, ...args);\n}\nfunction NotFound(...args) {\n defineError.call(this, 404, ...args);\n}\nfunction ConcurrentModification(...args) {\n defineError.call(this, 409, ...args);\n}\nfunction InternalServerError(...args) {\n defineError.call(this, 500, ...args);\n}\nfunction ServiceUnavailable(...args) {\n defineError.call(this, 503, ...args);\n}\nfunction getErrorByCode(code) {\n switch (code) {\n case 0:\n return NetworkError;\n\n case 400:\n return BadRequest;\n\n case 401:\n return Unauthorized;\n\n case 403:\n return Forbidden;\n\n case 404:\n return NotFound;\n\n case 409:\n return ConcurrentModification;\n\n case 500:\n return InternalServerError;\n\n case 503:\n return ServiceUnavailable;\n\n default:\n return undefined;\n }\n}\n\nfunction parseHeaders(headers) {\n if (headers.raw) // node-fetch\n return headers.raw(); // Tmp fix for Firefox until it supports iterables\n\n if (!headers.forEach) return {}; // whatwg-fetch\n\n const map = {};\n headers.forEach((value, name) => {\n map[name] = value;\n });\n return map;\n}\n\nconst Buffer = require('buffer/').Buffer;\n\nfunction createError({\n statusCode,\n message,\n ...rest\n}) {\n let errorMessage = message || 'Unexpected non-JSON error response';\n if (statusCode === 404) errorMessage = `URI not found: ${rest.originalRequest.uri}`;\n const ResponseError = getErrorByCode(statusCode);\n if (ResponseError) return new ResponseError(errorMessage, rest);\n return new HttpError(statusCode, errorMessage, rest);\n} // calculates the delay duration exponentially\n// More info about the algorithm use here https://goo.gl/Xk8h5f\n\n\nfunction calcDelayDuration(retryCount, retryDelay, maxRetries, backoff, maxDelay) {\n if (backoff) return retryCount !== 0 // do not increase if it's the first retry\n ? Math.min(Math.round((Math.random() + 1) * retryDelay * 2 ** retryCount), maxDelay) : retryDelay;\n return retryDelay;\n}\n\nfunction maskAuthData(request, maskSensitiveHeaderData) {\n if (maskSensitiveHeaderData) {\n if (request && request.headers && request.headers.authorization) request.headers.authorization = 'Bearer ********';\n if (request && request.headers && request.headers.Authorization) request.headers.Authorization = 'Bearer ********';\n }\n}\n\nfunction createHttpMiddleware({\n host,\n credentialsMode,\n includeResponseHeaders,\n includeOriginalRequest,\n includeRequestInErrorResponse = true,\n maskSensitiveHeaderData = true,\n enableRetry,\n timeout,\n retryConfig: {\n // encourage exponential backoff to prevent spamming the server if down\n maxRetries = 10,\n backoff = true,\n retryDelay = 200,\n maxDelay = Infinity,\n retryCodes = [503]\n } = {},\n fetch: fetcher,\n getAbortController\n}) {\n if (!fetcher && typeof fetch === 'undefined') throw new Error('`fetch` is not available. Please pass in `fetch` as an option or have it globally available.');\n if (timeout && !getAbortController && typeof AbortController === 'undefined') throw new Error('`AbortController` is not available. Please pass in `getAbortController` as an option or have AbortController globally available when using timeout.');\n let fetchFunction;\n\n if (fetcher) {\n fetchFunction = fetcher;\n } else {\n // `fetcher` is set here rather than the destructuring to ensure fetch is\n // declared before referencing it otherwise it would cause a `ReferenceError`.\n // For reference of this pattern: https://github.com/apollographql/apollo-link/blob/498b413a5b5199b0758ce898b3bb55451f57a2fa/packages/apollo-link-http/src/httpLink.ts#L49\n fetchFunction = fetch;\n }\n\n if (!Array.isArray(retryCodes)) {\n throw new Error('`retryCodes` option must be an array of retry status (error) codes.');\n }\n\n return next => (request, response) => {\n let abortController;\n if (timeout || getAbortController) abortController = (getAbortController ? getAbortController() : null) || new AbortController();\n const url = host.replace(/\\/$/, '') + request.uri;\n const requestHeader = { ...request.headers\n }; // Unset the content-type header if explicitly asked to (passing `null` as value).\n\n if (requestHeader['Content-Type'] === null) {\n delete requestHeader['Content-Type'];\n }\n\n if (!Object.prototype.hasOwnProperty.call(requestHeader, 'Content-Type') || !Object.prototype.hasOwnProperty.call(requestHeader, 'content-type')) {\n requestHeader['Content-Type'] = 'application/json';\n } // Ensure body is a string if content type is application/json\n\n\n const body = requestHeader['Content-Type'] === 'application/json' && typeof request.body === 'string' || Buffer.isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);\n\n if (body && (typeof body === 'string' || Buffer.isBuffer(body))) {\n requestHeader['Content-Length'] = Buffer.byteLength(body).toString();\n }\n\n const fetchOptions = {\n method: request.method,\n headers: requestHeader\n };\n\n if (credentialsMode) {\n fetchOptions.credentialsMode = credentialsMode;\n }\n\n if (abortController) {\n fetchOptions.signal = abortController.signal;\n }\n\n if (body) {\n fetchOptions.body = body;\n }\n\n let retryCount = 0; // wrap in a fn so we can retry if error occur\n\n function executeFetch() {\n // Kick off timer for abortController directly before fetch.\n let timer;\n if (timeout) timer = setTimeout(() => {\n abortController.abort();\n }, timeout);\n fetchFunction(url, fetchOptions).then(res => {\n if (res.ok) {\n if (fetchOptions.method === 'HEAD') {\n next(request, { ...response,\n statusCode: res.status\n });\n return;\n }\n\n res.text().then(result => {\n // Try to parse the response as JSON\n let parsed;\n\n try {\n parsed = result.length > 0 ? JSON.parse(result) : {};\n } catch (err) {\n if (enableRetry && retryCount < maxRetries) {\n setTimeout(executeFetch, calcDelayDuration(retryCount, retryDelay, maxRetries, backoff, maxDelay));\n retryCount += 1;\n return;\n }\n\n parsed = result;\n }\n\n const parsedResponse = { ...response,\n body: parsed,\n statusCode: res.status\n };\n if (includeResponseHeaders) parsedResponse.headers = parseHeaders(res.headers);\n\n if (includeOriginalRequest) {\n parsedResponse.request = { ...fetchOptions\n };\n maskAuthData(parsedResponse.request, maskSensitiveHeaderData);\n }\n\n next(request, parsedResponse);\n });\n return;\n } // if (res.status === 503 && enableRetry)\n // if (retryCount < maxRetries) {\n // setTimeout(\n // executeFetch,\n // calcDelayDuration(\n // retryCount,\n // retryDelay,\n // maxRetries,\n // backoff,\n // maxDelay\n // )\n // )\n // retryCount += 1\n // return\n // }\n // Server responded with an error. Try to parse it as JSON, then\n // return a proper error type with all necessary meta information.\n\n\n res.text().then(text => {\n // Try to parse the error response as JSON\n let parsed;\n\n try {\n parsed = JSON.parse(text);\n } catch (error) {\n parsed = text;\n }\n\n const error = createError({\n statusCode: res.status,\n ...(includeRequestInErrorResponse ? {\n originalRequest: request\n } : {}),\n retryCount,\n headers: parseHeaders(res.headers),\n ...(typeof parsed === 'object' ? {\n message: parsed.message,\n body: parsed\n } : {\n message: parsed,\n body: parsed\n })\n });\n\n if (enableRetry && (retryCodes.indexOf(error.statusCode) !== -1 || (retryCodes === null || retryCodes === void 0 ? void 0 : retryCodes.indexOf(error.message)) !== -1)) {\n if (retryCount < maxRetries) {\n setTimeout(executeFetch, calcDelayDuration(retryCount, retryDelay, maxRetries, backoff, maxDelay));\n retryCount += 1;\n return;\n }\n }\n\n maskAuthData(error.originalRequest, maskSensitiveHeaderData); // Let the final resolver to reject the promise\n\n const parsedResponse = { ...response,\n error,\n statusCode: res.status\n };\n next(request, parsedResponse);\n });\n }, // We know that this is a \"network\" error thrown by the `fetch` library\n e => {\n if (enableRetry) if (retryCount < maxRetries) {\n setTimeout(executeFetch, calcDelayDuration(retryCount, retryDelay, maxRetries, backoff, maxDelay));\n retryCount += 1;\n return;\n }\n const error = new NetworkError(e.message, { ...(includeRequestInErrorResponse ? {\n originalRequest: request\n } : {}),\n retryCount\n });\n maskAuthData(error.originalRequest, maskSensitiveHeaderData);\n next(request, { ...response,\n error,\n statusCode: 0\n });\n }).finally(() => {\n clearTimeout(timer);\n });\n }\n\n executeFetch();\n };\n}\n\nfunction createLoggerMiddleware() {\n return next => (request, response) => {\n const {\n error,\n body,\n statusCode\n } = response;\n console.log('Request: ', request);\n console.log('Response: ', {\n error,\n body,\n statusCode\n });\n next(request, response);\n };\n}\n\nfunction createQueueMiddleware({\n concurrency = 20\n}) {\n const queue = [];\n let runningCount = 0;\n\n const dequeue = next => {\n // We assume here that this task has been completed\n runningCount -= 1; // Check if there are any other pending tasks and execute them\n\n if (queue.length && runningCount <= concurrency) {\n const nextTask = queue.shift();\n runningCount += 1;\n next(nextTask.request, nextTask.response);\n }\n };\n\n return next => (request, response) => {\n // Override response `resolve` and `reject` to know when the request has\n // been completed and therefore trigger a pending task in the queue.\n const patchedResponse = { ...response,\n\n resolve(data) {\n // Resolve original promise\n response.resolve(data);\n dequeue(next);\n },\n\n reject(error) {\n // Reject original promise\n response.reject(error);\n dequeue(next);\n }\n\n }; // Add task to the queue\n\n queue.push({\n request,\n response: patchedResponse\n }); // If possible, run the task straight away\n\n if (runningCount < concurrency) {\n const nextTask = queue.shift();\n runningCount += 1;\n next(nextTask.request, nextTask.response);\n }\n };\n}\n\nvar packageJson = {\n\tname: \"@commercetools/sdk-client-v2\",\n\tversion: \"1.4.0\",\n\tdescription: \"commercetools TypeScript SDK client.\",\n\tkeywords: [\n\t\t\"commercetools\",\n\t\t\"sdk\",\n\t\t\"typescript\",\n\t\t\"client\",\n\t\t\"middleware\",\n\t\t\"http\",\n\t\t\"oauth\",\n\t\t\"auth\"\n\t],\n\thomepage: \"https://github.com/commercetools/commercetools-sdk-typescript\",\n\tlicense: \"MIT\",\n\tdirectories: {\n\t\tlib: \"lib\",\n\t\ttest: \"test\"\n\t},\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\trepository: {\n\t\ttype: \"git\",\n\t\turl: \"git+https://github.com/commercetools/commercetools-sdk-typescript.git\"\n\t},\n\tbugs: {\n\t\turl: \"https://github.com/commercetools/commercetools-sdk-typescript/issues\"\n\t},\n\tdependencies: {\n\t\tbuffer: \"^6.0.3\",\n\t\t\"node-fetch\": \"^2.6.1\",\n\t\tquerystring: \"^0.2.1\"\n\t},\n\tfiles: [\n\t\t\"dist\",\n\t\t\"CHANGELOG.md\"\n\t],\n\tauthor: \"Chukwuemeka Ajima \",\n\tmain: \"dist/commercetools-sdk-client-v2.cjs.js\",\n\tmodule: \"dist/commercetools-sdk-client-v2.esm.js\",\n\tbrowser: {\n\t\t\"./dist/commercetools-sdk-client-v2.cjs.js\": \"./dist/commercetools-sdk-client-v2.browser.cjs.js\",\n\t\t\"./dist/commercetools-sdk-client-v2.esm.js\": \"./dist/commercetools-sdk-client-v2.browser.esm.js\"\n\t},\n\tdevDependencies: {\n\t\t\"abort-controller\": \"3.0.0\",\n\t\t\"common-tags\": \"1.8.2\",\n\t\tdotenv: \"16.0.0\",\n\t\tjest: \"27.4.7\",\n\t\tnock: \"12.0.3\",\n\t\t\"organize-imports-cli\": \"0.9.0\"\n\t},\n\tscripts: {\n\t\torganize_imports: \"find src -type f -name '*.ts' | xargs organize-imports-cli\",\n\t\tpostbuild: \"yarn organize_imports\",\n\t\tpost_process_generate: \"yarn organize_imports\"\n\t}\n};\n\n/*\n This is the easiest way, for this use case, to detect if we're running in\n Node.js or in a browser environment. In other cases, this won't be even a\n problem as Rollup will provide the correct polyfill in the bundle.\n The main advantage by doing it this way is that it allows to easily test\n the code running in both environments, by overriding `global.window` in\n the specific test.\n*/\nconst isBrowser = () => window.document && window.document.nodeType === 9;\n\nfunction getSystemInfo() {\n var _process;\n\n if (isBrowser()) return window.navigator.userAgent;\n const nodeVersion = ((_process = process) === null || _process === void 0 ? void 0 : _process.version.slice(1)) || '12'; // temporary fix for rn environment\n // const platformInfo = `(${process.platform}; ${process.arch})`\n // return `Node.js/${nodeVersion} ${platformInfo}`\n\n return `node.js/${nodeVersion}`;\n}\n\nfunction createUserAgent(options) {\n if (!options || Object.keys(options).length === 0 || !{}.hasOwnProperty.call(options, 'name')) throw new Error('Missing required option `name`'); // Main info\n\n const baseInfo = options.version ? `${options.name}/${options.version}` : options.name; // Library info\n\n let libraryInfo = null;\n if (options.libraryName && !options.libraryVersion) libraryInfo = options.libraryName;else if (options.libraryName && options.libraryVersion) libraryInfo = `${options.libraryName}/${options.libraryVersion}`; // Contact info\n\n let contactInfo = null;\n if (options.contactUrl && !options.contactEmail) contactInfo = `(+${options.contactUrl})`;else if (!options.contactUrl && options.contactEmail) contactInfo = `(+${options.contactEmail})`;else if (options.contactUrl && options.contactEmail) contactInfo = `(+${options.contactUrl}; +${options.contactEmail})`; // System info\n\n const systemInfo = getSystemInfo(); // customName\n\n const customAgent = options.customAgent || '';\n return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');\n}\n\nfunction createUserAgentMiddleware(options) {\n const userAgent = createUserAgent({ ...options,\n name: `commercetools-sdk-javascript-v2/${packageJson.version}`\n });\n return next => (request, response) => {\n const requestWithUserAgent = { ...request,\n headers: { ...request.headers,\n 'User-Agent': userAgent\n }\n };\n next(requestWithUserAgent, response);\n };\n}\n\nconst {\n createAuthMiddlewareForPasswordFlow,\n createAuthMiddlewareForAnonymousSessionFlow,\n createAuthMiddlewareForClientCredentialsFlow,\n createAuthMiddlewareForRefreshTokenFlow,\n createAuthMiddlewareWithExistingToken\n} = authMiddlewares;\nclass ClientBuilder {\n constructor() {\n _defineProperty(this, \"projectKey\", void 0);\n\n _defineProperty(this, \"authMiddleware\", void 0);\n\n _defineProperty(this, \"httpMiddleware\", void 0);\n\n _defineProperty(this, \"userAgentMiddleware\", void 0);\n\n _defineProperty(this, \"correlationIdMiddleware\", void 0);\n\n _defineProperty(this, \"loggerMiddleware\", void 0);\n\n _defineProperty(this, \"queueMiddleware\", void 0);\n\n _defineProperty(this, \"middlewares\", []);\n }\n\n withProjectKey(key) {\n this.projectKey = key;\n return this;\n }\n\n defaultClient(baseUri, credentials, oauthUri, projectKey) {\n return this.withClientCredentialsFlow({\n host: oauthUri,\n projectKey: projectKey || this.projectKey,\n credentials\n }).withHttpMiddleware({\n host: baseUri,\n fetch: fetch$1\n }).withLoggerMiddleware();\n }\n\n withAuthMiddleware(authMiddleware) {\n this.authMiddleware = authMiddleware;\n return this;\n }\n\n withMiddleware(middleware) {\n this.middlewares.push(middleware);\n return this;\n }\n\n withClientCredentialsFlow(options) {\n return this.withAuthMiddleware(createAuthMiddlewareForClientCredentialsFlow({\n host: options.host || 'https://auth.europe-west1.gcp.commercetools.com',\n projectKey: options.projectKey || this.projectKey,\n credentials: {\n clientId: options.credentials.clientId || '',\n clientSecret: options.credentials.clientSecret || ''\n },\n oauthUri: options.oauthUri || '',\n scopes: options.scopes,\n fetch: options.fetch || fetch$1,\n ...options\n }));\n }\n\n withPasswordFlow(options) {\n return this.withAuthMiddleware(createAuthMiddlewareForPasswordFlow({\n host: options.host || 'https://auth.europe-west1.gcp.commercetools.com',\n projectKey: options.projectKey || this.projectKey,\n credentials: {\n clientId: options.credentials.clientId || '',\n clientSecret: options.credentials.clientSecret || '',\n user: {\n username: options.credentials.user.username || '',\n password: options.credentials.user.password || ''\n }\n },\n fetch: options.fetch || fetch$1,\n ...options\n }));\n }\n\n withAnonymousSessionFlow(options) {\n return this.withAuthMiddleware(createAuthMiddlewareForAnonymousSessionFlow({\n host: options.host || 'https://auth.europe-west1.gcp.commercetools.com',\n projectKey: this.projectKey || options.projectKey,\n credentials: {\n clientId: options.credentials.clientId || '',\n clientSecret: options.credentials.clientSecret || '',\n anonymousId: options.credentials.anonymousId || ''\n },\n fetch: options.fetch || fetch$1,\n ...options\n }));\n }\n\n withRefreshTokenFlow(options) {\n return this.withAuthMiddleware(createAuthMiddlewareForRefreshTokenFlow({\n host: options.host || 'https://auth.europe-west1.gcp.commercetools.com',\n projectKey: this.projectKey || options.projectKey,\n credentials: {\n clientId: options.credentials.clientId || '',\n clientSecret: options.credentials.clientSecret || ''\n },\n fetch: options.fetch || fetch$1,\n refreshToken: options.refreshToken || '',\n ...options\n }));\n }\n\n withExistingTokenFlow(authorization, options) {\n return this.withAuthMiddleware(createAuthMiddlewareWithExistingToken(authorization, {\n force: options.force || true,\n ...options\n }));\n }\n\n withHttpMiddleware(options) {\n this.httpMiddleware = createHttpMiddleware({\n host: options.host || 'https://api.europe-west1.gcp.commercetools.com',\n fetch: options.fetch || fetch$1,\n ...options\n });\n return this;\n }\n\n withUserAgentMiddleware(options) {\n this.userAgentMiddleware = createUserAgentMiddleware(options);\n return this;\n }\n\n withQueueMiddleware(options) {\n this.queueMiddleware = createQueueMiddleware({\n concurrency: options.concurrency || 20,\n ...options\n });\n return this;\n }\n\n withLoggerMiddleware() {\n this.loggerMiddleware = createLoggerMiddleware();\n return this;\n }\n\n withCorrelationIdMiddleware(options) {\n this.correlationIdMiddleware = createCorrelationIdMiddleware({\n generate: options.generate || null,\n ...options\n });\n return this;\n }\n\n build() {\n const middlewares = this.middlewares.slice();\n if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);\n if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);\n if (this.authMiddleware) middlewares.push(this.authMiddleware);\n if (this.loggerMiddleware) middlewares.push(this.loggerMiddleware);\n if (this.queueMiddleware) middlewares.push(this.queueMiddleware);\n if (this.httpMiddleware) middlewares.push(this.httpMiddleware);\n return createClient({\n middlewares\n });\n }\n\n}\n\nexport { ClientBuilder, process$1 as Process, createAuthMiddlewareForAnonymousSessionFlow$1 as createAuthForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow$1 as createAuthForClientCredentialsFlow, createAuthMiddlewareForPasswordFlow$1 as createAuthForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow$1 as createAuthForRefreshTokenFlow, createAuthMiddlewareWithExistingToken$1 as createAuthWithExistingToken, createClient, createCorrelationIdMiddleware, createHttpMiddleware as createHttpClient, createLoggerMiddleware, createQueueMiddleware, createUserAgentMiddleware, getErrorByCode };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noSSR = noSSR;\nexports.default = dynamic;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _loadable = _interopRequireDefault(require(\"./loadable\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst isServerSide = typeof window === 'undefined';\nfunction noSSR(LoadableInitializer, loadableOptions) {\n // Removing webpack and modules means react-loadable won't try preloading\n delete loadableOptions.webpack;\n delete loadableOptions.modules;\n // This check is necessary to prevent react-loadable from initializing on the server\n if (!isServerSide) {\n return LoadableInitializer(loadableOptions);\n }\n const Loading = loadableOptions.loading;\n // This will only be rendered on the server side\n return ()=>/*#__PURE__*/ _react.default.createElement(Loading, {\n error: null,\n isLoading: true,\n pastDelay: false,\n timedOut: false\n })\n ;\n}\nfunction dynamic(dynamicOptions, options) {\n let loadableFn = _loadable.default;\n let loadableOptions = {\n // A loading component is not required, so we default it\n loading: ({ error , isLoading , pastDelay })=>{\n if (!pastDelay) return null;\n if (process.env.NODE_ENV === 'development') {\n if (isLoading) {\n return null;\n }\n if (error) {\n return(/*#__PURE__*/ _react.default.createElement(\"p\", null, error.message, /*#__PURE__*/ _react.default.createElement(\"br\", null), error.stack));\n }\n }\n return null;\n }\n };\n // Support for direct import(), eg: dynamic(import('../hello-world'))\n // Note that this is only kept for the edge case where someone is passing in a promise as first argument\n // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))\n // To make sure we don't execute the import without rendering first\n if (dynamicOptions instanceof Promise) {\n loadableOptions.loader = ()=>dynamicOptions\n ;\n // Support for having import as a function, eg: dynamic(() => import('../hello-world'))\n } else if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions;\n // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})\n } else if (typeof dynamicOptions === 'object') {\n loadableOptions = {\n ...loadableOptions,\n ...dynamicOptions\n };\n }\n // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () =>

Loading something

})\n loadableOptions = {\n ...loadableOptions,\n ...options\n };\n const suspenseOptions = loadableOptions;\n if (!process.env.__NEXT_CONCURRENT_FEATURES) {\n // Error if react root is not enabled and `suspense` option is set to true\n if (!process.env.__NEXT_REACT_ROOT && suspenseOptions.suspense) {\n // TODO: add error doc when this feature is stable\n throw new Error(`Invalid suspense option usage in next/dynamic. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense`);\n }\n }\n if (suspenseOptions.suspense) {\n return loadableFn(suspenseOptions);\n }\n // coming from build/babel/plugins/react-loadable-plugin.js\n if (loadableOptions.loadableGenerated) {\n loadableOptions = {\n ...loadableOptions,\n ...loadableOptions.loadableGenerated\n };\n delete loadableOptions.loadableGenerated;\n }\n // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false})\n if (typeof loadableOptions.ssr === 'boolean') {\n if (!loadableOptions.ssr) {\n delete loadableOptions.ssr;\n return noSSR(loadableFn, loadableOptions);\n }\n delete loadableOptions.ssr;\n }\n return loadableFn(loadableOptions);\n}\n\n//# sourceMappingURL=dynamic.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadableContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst LoadableContext = _react.default.createContext(null);\nexports.LoadableContext = LoadableContext;\nif (process.env.NODE_ENV !== 'production') {\n LoadableContext.displayName = 'LoadableContext';\n}\n\n//# sourceMappingURL=loadable-context.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _useSubscription = require(\"use-subscription\");\nvar _loadableContext = require(\"./loadable-context\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst ALL_INITIALIZERS = [];\nconst READY_INITIALIZERS = [];\nlet initialized = false;\nfunction load(loader) {\n let promise = loader();\n let state = {\n loading: true,\n loaded: null,\n error: null\n };\n state.promise = promise.then((loaded)=>{\n state.loading = false;\n state.loaded = loaded;\n return loaded;\n }).catch((err)=>{\n state.loading = false;\n state.error = err;\n throw err;\n });\n return state;\n}\nfunction resolve(obj) {\n return obj && obj.__esModule ? obj.default : obj;\n}\nfunction createLoadableComponent(loadFn, options) {\n let opts = Object.assign({\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n webpack: null,\n modules: null,\n suspense: false\n }, options);\n if (opts.suspense) {\n opts.lazy = _react.default.lazy(opts.loader);\n }\n let subscription = null;\n function init() {\n if (!subscription) {\n const sub = new LoadableSubscription(loadFn, opts);\n subscription = {\n getCurrentValue: sub.getCurrentValue.bind(sub),\n subscribe: sub.subscribe.bind(sub),\n retry: sub.retry.bind(sub),\n promise: sub.promise.bind(sub)\n };\n }\n return subscription.promise();\n }\n // Server only\n if (typeof window === 'undefined' && !opts.suspense) {\n ALL_INITIALIZERS.push(init);\n }\n // Client only\n if (!initialized && typeof window !== 'undefined' && !opts.suspense) {\n // require.resolveWeak check is needed for environments that don't have it available like Jest\n const moduleIds = opts.webpack && typeof require.resolveWeak === 'function' ? opts.webpack() : opts.modules;\n if (moduleIds) {\n READY_INITIALIZERS.push((ids)=>{\n for (const moduleId of moduleIds){\n if (ids.indexOf(moduleId) !== -1) {\n return init();\n }\n }\n });\n }\n }\n function LoadableImpl(props, ref) {\n init();\n const context = _react.default.useContext(_loadableContext.LoadableContext);\n const state = (0, _useSubscription).useSubscription(subscription);\n _react.default.useImperativeHandle(ref, ()=>({\n retry: subscription.retry\n })\n , []);\n if (context && Array.isArray(opts.modules)) {\n opts.modules.forEach((moduleName)=>{\n context(moduleName);\n });\n }\n return _react.default.useMemo(()=>{\n if (state.loading || state.error) {\n return _react.default.createElement(opts.loading, {\n isLoading: state.loading,\n pastDelay: state.pastDelay,\n timedOut: state.timedOut,\n error: state.error,\n retry: subscription.retry\n });\n } else if (state.loaded) {\n return _react.default.createElement(resolve(state.loaded), props);\n } else {\n return null;\n }\n }, [\n props,\n state\n ]);\n }\n function LazyImpl(props, ref) {\n return _react.default.createElement(opts.lazy, {\n ...props,\n ref\n });\n }\n const LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;\n LoadableComponent.preload = ()=>!opts.suspense && init()\n ;\n LoadableComponent.displayName = 'LoadableComponent';\n return _react.default.forwardRef(LoadableComponent);\n}\nclass LoadableSubscription {\n constructor(loadFn, opts){\n this._loadFn = loadFn;\n this._opts = opts;\n this._callbacks = new Set();\n this._delay = null;\n this._timeout = null;\n this.retry();\n }\n promise() {\n return this._res.promise;\n }\n retry() {\n this._clearTimeouts();\n this._res = this._loadFn(this._opts.loader);\n this._state = {\n pastDelay: false,\n timedOut: false\n };\n const { _res: res , _opts: opts } = this;\n if (res.loading) {\n if (typeof opts.delay === 'number') {\n if (opts.delay === 0) {\n this._state.pastDelay = true;\n } else {\n this._delay = setTimeout(()=>{\n this._update({\n pastDelay: true\n });\n }, opts.delay);\n }\n }\n if (typeof opts.timeout === 'number') {\n this._timeout = setTimeout(()=>{\n this._update({\n timedOut: true\n });\n }, opts.timeout);\n }\n }\n this._res.promise.then(()=>{\n this._update({\n });\n this._clearTimeouts();\n }).catch((_err)=>{\n this._update({\n });\n this._clearTimeouts();\n });\n this._update({\n });\n }\n _update(partial) {\n this._state = {\n ...this._state,\n error: this._res.error,\n loaded: this._res.loaded,\n loading: this._res.loading,\n ...partial\n };\n this._callbacks.forEach((callback)=>callback()\n );\n }\n _clearTimeouts() {\n clearTimeout(this._delay);\n clearTimeout(this._timeout);\n }\n getCurrentValue() {\n return this._state;\n }\n subscribe(callback) {\n this._callbacks.add(callback);\n return ()=>{\n this._callbacks.delete(callback);\n };\n }\n}\nfunction Loadable(opts) {\n return createLoadableComponent(load, opts);\n}\nfunction flushInitializers(initializers, ids) {\n let promises = [];\n while(initializers.length){\n let init = initializers.pop();\n promises.push(init(ids));\n }\n return Promise.all(promises).then(()=>{\n if (initializers.length) {\n return flushInitializers(initializers, ids);\n }\n });\n}\nLoadable.preloadAll = ()=>{\n return new Promise((resolveInitializers, reject)=>{\n flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject);\n });\n};\nLoadable.preloadReady = (ids = [])=>{\n return new Promise((resolvePreload)=>{\n const res = ()=>{\n initialized = true;\n return resolvePreload();\n };\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS, ids).then(res, res);\n });\n};\nif (typeof window !== 'undefined') {\n window.__NEXT_PRELOADREADY = Loadable.preloadReady;\n}\nvar _default = Loadable;\nexports.default = _default;\n\n//# sourceMappingURL=loadable.js.map","module.exports = require('./dist/shared/lib/dynamic')\n","\"use strict\";\n\n// ref: https://github.com/tc39/proposal-global\nvar getGlobal = function () {\n\t// the only reliable means to get the global object is\n\t// `Function('return this')()`\n\t// However, this causes CSP violations in Chrome apps.\n\tif (typeof self !== 'undefined') { return self; }\n\tif (typeof window !== 'undefined') { return window; }\n\tif (typeof global !== 'undefined') { return global; }\n\tthrow new Error('unable to locate global object');\n}\n\nvar global = getGlobal();\n\nmodule.exports = exports = global.fetch;\n\n// Needed for TypeScript and Webpack.\nif (global.fetch) {\n\texports.default = global.fetch.bind(global);\n}\n\nexports.Headers = global.Headers;\nexports.Request = global.Request;\nexports.Response = global.Response;","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/index.tsx\nimport React, { useRef, useEffect, useState } from \"react\";\n\n// src/third-party/qrcodegen/index.ts\n/**\n * @license QR Code generator library (TypeScript)\n * Copyright (c) Project Nayuki.\n * SPDX-License-Identifier: MIT\n */\nvar qrcodegen;\n((qrcodegen2) => {\n const _QrCode = class {\n constructor(version, errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.modules = [];\n this.isFunction = [];\n if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n let row = [];\n for (let i = 0; i < this.size; i++)\n row.push(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.isFunction.push(row.slice());\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk == -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n this.isFunction = [];\n }\n static encodeText(text, ecl) {\n const segs = qrcodegen2.QrSegment.makeSegments(text);\n return _QrCode.encodeSegments(segs, ecl);\n }\n static encodeBinary(data, ecl) {\n const seg = qrcodegen2.QrSegment.makeBytes(data);\n return _QrCode.encodeSegments([seg], ecl);\n }\n static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;\n const usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {\n if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n let bb = [];\n for (const seg of segs) {\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n assert(bb.length == dataUsedBits);\n const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n let dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new _QrCode(version, ecl, dataCodewords, mask);\n }\n getModule(x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n }\n getModules() {\n return this.modules;\n }\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n drawFormatBits(mask) {\n const data = this.errorCorrectionLevel.formatBits << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n assert(bits >>> 15 == 0);\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n assert(bits >>> 18 == 0);\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n }\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n }\n setFunctionModule(x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n }\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.errorCorrectionLevel;\n if (data.length != _QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n let blocks = [];\n const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n let result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n assert(result.length == rawCodewords);\n return result;\n }\n drawCodewords(data) {\n if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right == 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) == 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n assert(i == data.length * 8);\n }\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += _QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += _QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])\n result += _QrCode.PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * _QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888);\n return result;\n }\n getAlignmentPatternPositions() {\n if (this.version == 1)\n return [];\n else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n let result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n static getNumRawDataModules(ver) {\n if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n }\n static getNumDataCodewords(ver, ecl) {\n return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n }\n static reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n let result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = _QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = _QrCode.reedSolomonMultiply(root, 2);\n }\n return result;\n }\n static reedSolomonComputeRemainder(data, divisor) {\n let result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));\n }\n return result;\n }\n static reedSolomonMultiply(x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n }\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n assert(n <= this.size * 3);\n const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n };\n let QrCode = _QrCode;\n QrCode.MIN_VERSION = 1;\n QrCode.MAX_VERSION = 40;\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n ];\n qrcodegen2.QrCode = QrCode;\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n }\n function getBit(x, i) {\n return (x >>> i & 1) != 0;\n }\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n const _QrSegment = class {\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n static makeBytes(data) {\n let bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);\n }\n static makeNumeric(digits) {\n if (!_QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n let bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);\n }\n static makeAlphanumeric(text) {\n if (!_QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n let bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n }\n static makeSegments(text) {\n if (text == \"\")\n return [];\n else if (_QrSegment.isNumeric(text))\n return [_QrSegment.makeNumeric(text)];\n else if (_QrSegment.isAlphanumeric(text))\n return [_QrSegment.makeAlphanumeric(text)];\n else\n return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];\n }\n static makeEci(assignVal) {\n let bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < 1 << 7)\n appendBits(assignVal, 8, bb);\n else if (assignVal < 1 << 14) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n } else if (assignVal < 1e6) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n } else\n throw new RangeError(\"ECI assignment value out of range\");\n return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);\n }\n static isNumeric(text) {\n return _QrSegment.NUMERIC_REGEX.test(text);\n }\n static isAlphanumeric(text) {\n return _QrSegment.ALPHANUMERIC_REGEX.test(text);\n }\n getData() {\n return this.bitData.slice();\n }\n static getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= 1 << ccbits)\n return Infinity;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n }\n static toUtf8ByteArray(str) {\n str = encodeURI(str);\n let result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substr(i + 1, 2), 16));\n i += 2;\n }\n }\n return result;\n }\n };\n let QrSegment = _QrSegment;\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n qrcodegen2.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrCode;\n ((QrCode2) => {\n const _Ecc = class {\n constructor(ordinal, formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n };\n let Ecc = _Ecc;\n Ecc.LOW = new _Ecc(0, 1);\n Ecc.MEDIUM = new _Ecc(1, 0);\n Ecc.QUARTILE = new _Ecc(2, 3);\n Ecc.HIGH = new _Ecc(3, 2);\n QrCode2.Ecc = Ecc;\n })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrSegment;\n ((QrSegment2) => {\n const _Mode = class {\n constructor(modeBits, numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n numCharCountBits(ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n }\n };\n let Mode = _Mode;\n Mode.NUMERIC = new _Mode(1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);\n Mode.BYTE = new _Mode(4, [8, 16, 16]);\n Mode.KANJI = new _Mode(8, [8, 10, 12]);\n Mode.ECI = new _Mode(7, [0, 0, 0]);\n QrSegment2.Mode = Mode;\n })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar qrcodegen_default = qrcodegen;\n\n// src/index.tsx\n/**\n * @license qrcode.react\n * Copyright (c) Paul O'Shannessy\n * SPDX-License-Identifier: ISC\n */\nvar ERROR_LEVEL_MAP = {\n L: qrcodegen_default.QrCode.Ecc.LOW,\n M: qrcodegen_default.QrCode.Ecc.MEDIUM,\n Q: qrcodegen_default.QrCode.Ecc.QUARTILE,\n H: qrcodegen_default.QrCode.Ecc.HIGH\n};\nvar DEFAULT_SIZE = 128;\nvar DEFAULT_LEVEL = \"L\";\nvar DEFAULT_BGCOLOR = \"#FFFFFF\";\nvar DEFAULT_FGCOLOR = \"#000000\";\nvar DEFAULT_INCLUDEMARGIN = false;\nvar MARGIN_SIZE = 4;\nvar DEFAULT_IMG_SCALE = 0.1;\nfunction generatePath(modules, margin = 0) {\n const ops = [];\n modules.forEach(function(row, y) {\n let start = null;\n row.forEach(function(cell, x) {\n if (!cell && start !== null) {\n ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);\n start = null;\n return;\n }\n if (x === row.length - 1) {\n if (!cell) {\n return;\n }\n if (start === null) {\n ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);\n } else {\n ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join(\"\");\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map((row, y) => {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map((cell, x) => {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nfunction getImageSettings(cells, size, includeMargin, imageSettings) {\n if (imageSettings == null) {\n return null;\n }\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n const scale = numCells / size;\n const w = (imageSettings.width || defaultSize) * scale;\n const h = (imageSettings.height || defaultSize) * scale;\n const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n let excavation = null;\n if (imageSettings.excavate) {\n let floorX = Math.floor(x);\n let floorY = Math.floor(y);\n let ceilW = Math.ceil(w + x - floorX);\n let ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x, y, h, w, excavation };\n}\nvar SUPPORTS_PATH2D = function() {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n return true;\n}();\nfunction QRCodeCanvas(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n style,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"style\",\n \"imageSettings\"\n ]);\n const imgSrc = imageSettings == null ? void 0 : imageSettings.src;\n const _canvas = useRef(null);\n const _image = useRef(null);\n const [isImgLoaded, setIsImageLoaded] = useState(false);\n useEffect(() => {\n if (_canvas.current != null) {\n const canvas = _canvas.current;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n return;\n }\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n const image = _image.current;\n const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;\n if (haveImageToRender) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n }\n const pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n const scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function(row, rdx) {\n row.forEach(function(cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (haveImageToRender) {\n ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n });\n useEffect(() => {\n setIsImageLoaded(false);\n }, [imgSrc]);\n const canvasStyle = __spreadValues({ height: size, width: size }, style);\n let img = null;\n if (imgSrc != null) {\n img = /* @__PURE__ */ React.createElement(\"img\", {\n src: imgSrc,\n key: imgSrc,\n style: { display: \"none\" },\n onLoad: () => {\n setIsImageLoaded(true);\n },\n ref: _image\n });\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"canvas\", __spreadValues({\n style: canvasStyle,\n height: size,\n width: size,\n ref: _canvas\n }, otherProps)), img);\n}\nfunction QRCodeSVG(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"imageSettings\"\n ]);\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n let image = null;\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n image = /* @__PURE__ */ React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n }\n const fgPath = generatePath(cells, margin);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n height: size,\n width: size,\n viewBox: `0 0 ${numCells} ${numCells}`\n }, otherProps), /* @__PURE__ */ React.createElement(\"path\", {\n fill: bgColor,\n d: `M0,0 h${numCells}v${numCells}H0z`,\n shapeRendering: \"crispEdges\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath,\n shapeRendering: \"crispEdges\"\n }), image);\n}\nvar QRCode = (props) => {\n const _a = props, { renderAs } = _a, otherProps = __objRest(_a, [\"renderAs\"]);\n if (renderAs === \"svg\") {\n return /* @__PURE__ */ React.createElement(QRCodeSVG, __spreadValues({}, otherProps));\n }\n return /* @__PURE__ */ React.createElement(QRCodeCanvas, __spreadValues({}, otherProps));\n};\nexport {\n QRCodeCanvas,\n QRCodeSVG,\n QRCode as default\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).filter(Boolean).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/** @license React vundefined\n * use-subscription.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 e=require(\"object-assign\"),g=require(\"react\");\nexports.useSubscription=function(a){var c=a.getCurrentValue,d=a.subscribe,b=g.useState(function(){return{getCurrentValue:c,subscribe:d,value:c()}});a=b[0];var f=b[1];b=a.value;if(a.getCurrentValue!==c||a.subscribe!==d)b=c(),f({getCurrentValue:c,subscribe:d,value:b});g.useDebugValue(b);g.useEffect(function(){function b(){if(!a){var b=c();f(function(a){return a.getCurrentValue!==c||a.subscribe!==d||a.value===b?a:e({},a,{value:b})})}}var a=!1,h=d(b);b();return function(){a=!0;h()}},[c,d]);return b};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/use-subscription.production.min.js');\n} else {\n module.exports = require('./cjs/use-subscription.development.js');\n}\n"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","METHODS","validate","funcName","request","options","allowedMethods","Error","uri","includes","method","_options","process$1","fn","processOpt","opt","total","Number","POSITIVE_INFINITY","accumulate","Promise","resolve","reject","_path","_queryString","path","queryString","split","query","limit","hasFirstPageBeenProcessed","itemsToGet","processPage","async","lastId","acc","originalQueryString","enhancedQuery","sort","withTotal","where","enhancedQueryString","enhancedRequest","payload","createClient","execute","results","count","resultsLength","body","result","accumulated","concat","last","newLastId","id","error","middlewares","Array","isArray","length","process","funcs","filter","func","reduce","a","b","args","compose","rq","rs","resObj","statusCode","headers","dispatch","undefined","Buffer$2","buildRequestForClientCredentialsFlow","host","projectKey","credentials","clientId","clientSecret","scope","scopes","join","basicAuth","from","toString","oauthUri","url","replace","buildRequestForPasswordFlow","user","pKey","username","password","scopeStr","encodeURIComponent","buildRequestForRefreshTokenFlow","refreshToken","buildRequestForAnonymousSessionFlow","anonymousId","Buffer$1","mergeAuthHeader","token","req","Authorization","executeRequest","fetcher","tokenCache","requestState","pendingTasks","response","tokenCacheKey","_res","byteLength","ok","access_token","expires_in","expiresIn","refresh_token","json","expirationTime","Date","now","calculateExpirationTime","set","executionQueue","slice","forEach","task","requestWithAuth","next","parsed","text","JSON","parse","message","authMiddlewareBase","fetch","userOptions","authorization","tokenObj","get","push","store","initVal","val","buildTokenCacheKey","authMiddlewares","freeze","__proto__","createAuthMiddlewareForAnonymousSessionFlow","createAuthMiddlewareForClientCredentialsFlow","createAuthMiddlewareWithExistingToken","force","createAuthMiddlewareForPasswordFlow","createAuthMiddlewareForRefreshTokenFlow","defineError","meta","this","status","code","assign","name","constructor","prototype","captureStackTrace","NetworkError","call","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","ConcurrentModification","InternalServerError","ServiceUnavailable","parseHeaders","raw","map","Buffer","createError","rest","errorMessage","originalRequest","ResponseError","getErrorByCode","calcDelayDuration","retryCount","retryDelay","maxRetries","backoff","maxDelay","Math","min","round","random","maskAuthData","maskSensitiveHeaderData","packageJson","getSystemInfo","window","document","nodeType","navigator","userAgent","version","createUserAgentMiddleware","keys","hasOwnProperty","baseInfo","libraryInfo","libraryName","libraryVersion","contactInfo","contactUrl","contactEmail","customAgent","Boolean","createUserAgent","requestWithUserAgent","ClientBuilder","withProjectKey","defaultClient","baseUri","withClientCredentialsFlow","withHttpMiddleware","withLoggerMiddleware","withAuthMiddleware","authMiddleware","withMiddleware","middleware","withPasswordFlow","withAnonymousSessionFlow","withRefreshTokenFlow","withExistingTokenFlow","httpMiddleware","credentialsMode","includeResponseHeaders","includeOriginalRequest","includeRequestInErrorResponse","enableRetry","timeout","retryConfig","Infinity","retryCodes","getAbortController","AbortController","fetchFunction","abortController","requestHeader","isBuffer","stringify","fetchOptions","signal","executeFetch","timer","setTimeout","abort","then","res","err","parsedResponse","indexOf","e","finally","clearTimeout","createHttpMiddleware","withUserAgentMiddleware","userAgentMiddleware","withQueueMiddleware","queueMiddleware","concurrency","queue","runningCount","dequeue","nextTask","shift","patchedResponse","data","createQueueMiddleware","loggerMiddleware","console","log","withCorrelationIdMiddleware","correlationIdMiddleware","nextRequest","generate","createCorrelationIdMiddleware","build","exports","dynamicOptions","loadableFn","_loadable","default","loadableOptions","loading","isLoading","pastDelay","loader","suspenseOptions","suspense","loadableGenerated","ssr","noSSR","_interopRequireDefault","require","__esModule","LoadableInitializer","webpack","modules","LoadableContext","createContext","_react","_useSubscription","_loadableContext","ALL_INITIALIZERS","READY_INITIALIZERS","initialized","load","promise","state","loaded","catch","LoadableSubscription","loadFn","opts","_loadFn","_opts","_callbacks","Set","_delay","_timeout","retry","_clearTimeouts","_state","timedOut","delay","_update","_err","partial","callback","getCurrentValue","subscribe","add","delete","Loadable","init","subscription","sub","bind","lazy","moduleIds","ids","moduleId","LoadableComponent","props","ref","createElement","context","useContext","useSubscription","useImperativeHandle","moduleName","useMemo","preload","displayName","forwardRef","createLoadableComponent","flushInitializers","initializers","promises","pop","all","preloadAll","resolveInitializers","preloadReady","resolvePreload","__NEXT_PRELOADREADY","_default","module","global","self","getGlobal","Headers","Request","Response","qrcodegen","__defProp","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","__spreadValues","prop","__objRest","source","exclude","target","qrcodegen2","_QrCode","errorCorrectionLevel","dataCodewords","msk","isFunction","MIN_VERSION","MAX_VERSION","RangeError","size","row","i","drawFunctionPatterns","allCodewords","addEccAndInterleave","drawCodewords","minPenalty","applyMask","drawFormatBits","penalty","getPenaltyScore","assert","mask","static","ecl","segs","QrSegment","makeSegments","encodeSegments","seg","makeBytes","minVersion","maxVersion","boostEcl","dataUsedBits","dataCapacityBits2","getNumDataCodewords","usedBits","getTotalBits","newEcl","Ecc","MEDIUM","QUARTILE","HIGH","bb","appendBits","mode","modeBits","numChars","numCharCountBits","getData","dataCapacityBits","padByte","getModule","x","y","getModules","setFunctionModule","drawFinderPattern","alignPatPos","getAlignmentPatternPositions","numAlign","j","drawAlignmentPattern","drawVersion","formatBits","rem","bits","getBit","color","floor","dy","dx","dist","max","abs","xx","yy","isDark","ver","numBlocks","NUM_ERROR_CORRECTION_BLOCKS","ordinal","blockEccLen","ECC_CODEWORDS_PER_BLOCK","rawCodewords","getNumRawDataModules","numShortBlocks","shortBlockLen","blocks","rsDiv","reedSolomonComputeDivisor","k","dat","ecc","reedSolomonComputeRemainder","block","right","vert","invert","runColor","runX","runHistory","PENALTY_N1","finderPenaltyAddHistory","finderPenaltyCountPatterns","PENALTY_N3","finderPenaltyTerminateAndCount","runY","PENALTY_N2","dark","sum","ceil","PENALTY_N4","step","pos","splice","degree","root","reedSolomonMultiply","divisor","_","factor","coef","z","n","core","currentRunColor","currentRunLength","unshift","QrCode","len","cond","_QrSegment","bitData","Mode","BYTE","digits","isNumeric","parseInt","substr","NUMERIC","isAlphanumeric","temp","ALPHANUMERIC_CHARSET","charAt","ALPHANUMERIC","makeNumeric","makeAlphanumeric","toUtf8ByteArray","assignVal","ECI","NUMERIC_REGEX","test","ALPHANUMERIC_REGEX","ccbits","str","encodeURI","charCodeAt","QrCode2","_Ecc","LOW","QrSegment2","_Mode","numBitsCharCount","KANJI","qrcodegen_default","ERROR_LEVEL_MAP","L","M","Q","H","DEFAULT_SIZE","DEFAULT_LEVEL","DEFAULT_BGCOLOR","DEFAULT_FGCOLOR","DEFAULT_INCLUDEMARGIN","generatePath","margin","ops","start","cell","excavateModules","excavation","h","w","getImageSettings","cells","includeMargin","imageSettings","numCells","defaultSize","scale","width","height","excavate","floorX","floorY","Path2D","addPath","QRCodeSVG","_a","level","bgColor","fgColor","otherProps","encodeText","calculatedImageSettings","image","xlinkHref","src","preserveAspectRatio","fgPath","viewBox","fill","d","shapeRendering","qs","sep","eq","regexp","maxKeys","kstr","vstr","v","idx","decodeURIComponent","stringifyPrimitive","isFinite","ks","decode","encode","g","c","useState","f","useDebugValue","useEffect"],"sourceRoot":""}