@wix/cli-app 1.1.16 → 1.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/CreateVersionCommand-F7A6HDJI.js +4 -0
  2. package/build/CreateVersionCommand-F7A6HDJI.js.map +1 -0
  3. package/build/{DevCommand-F4JNOQD3.js → DevCommand-KHV22E2S.js} +2 -2
  4. package/build/{GenerateCommand-UOXXMOFE.js → GenerateCommand-46EMTVWN.js} +23 -23
  5. package/build/GenerateCommand-46EMTVWN.js.map +1 -0
  6. package/build/PreviewCommand-XX7TWOJR.js +4 -0
  7. package/build/{ServeCommand-SCDZSOGW.js → ServeCommand-Z5NQEEE5.js} +2 -2
  8. package/build/{build-QKFFY6BT.js → build-WOV3ZNZF.js} +2 -2
  9. package/build/{chunk-ZHOPW26J.js → chunk-3EQ4ZYU2.js} +2 -2
  10. package/build/{chunk-V4D26EXO.js → chunk-4NIGEF2O.js} +30 -30
  11. package/build/chunk-4NIGEF2O.js.map +1 -0
  12. package/build/{chunk-KOTYDSCW.js → chunk-7IB3ZF3I.js} +2 -2
  13. package/build/{chunk-N6MHPAL7.js → chunk-7TOOBLT6.js} +2 -2
  14. package/build/{chunk-C6CRDQAM.js → chunk-CUWQRNQL.js} +2 -2
  15. package/build/{chunk-RZD2Z3NM.js → chunk-EH27FYQH.js} +2 -2
  16. package/build/{chunk-J7GQKX36.js → chunk-G7NSXRI7.js} +2 -2
  17. package/build/{chunk-YYYCYGWT.js → chunk-GHVN7KTY.js} +2 -2
  18. package/build/{chunk-YYYCYGWT.js.map → chunk-GHVN7KTY.js.map} +1 -1
  19. package/build/{chunk-OQ2EIA5Y.js → chunk-JIUANWPO.js} +2 -2
  20. package/build/chunk-KK4X6NH5.js +4 -0
  21. package/build/{chunk-F3L55KWK.js.map → chunk-KK4X6NH5.js.map} +1 -1
  22. package/build/{chunk-VPVMEECP.js → chunk-LT3WXWI5.js} +2 -2
  23. package/build/{chunk-TXD4M2YS.js → chunk-LW6PZKOJ.js} +2 -2
  24. package/build/chunk-LW6PZKOJ.js.map +1 -0
  25. package/build/{chunk-KDEP6ACN.js → chunk-PSXIV7FJ.js} +2 -2
  26. package/build/{chunk-JRUKA4BX.js → chunk-QW5H4VGJ.js} +2 -2
  27. package/build/{chunk-PBVA37S6.js → chunk-RWN7XXN6.js} +2 -2
  28. package/build/{chunk-6VY5XPWN.js → chunk-RYS7G2PY.js} +2 -2
  29. package/build/{chunk-HFEDL4QC.js → chunk-YWJFUO7I.js} +2 -2
  30. package/build/{chunk-NCLWI32Y.js → chunk-ZIVYB6TM.js} +2 -2
  31. package/build/devtools-WFBFD7GB.js +10 -0
  32. package/build/devtools-WFBFD7GB.js.map +1 -0
  33. package/build/esm-CECOC7V2.js +365 -0
  34. package/build/esm-CECOC7V2.js.map +1 -0
  35. package/build/index.js +2 -2
  36. package/build/{preview-WCMD3SX5.js → preview-FV7ZP3YC.js} +2 -2
  37. package/build/{render-command-S4HOHZ67.js → render-command-JEBHYUZV.js} +2 -2
  38. package/package.json +6 -6
  39. package/templates/dashboard-modal/modal.tsx.ejs +17 -9
  40. package/build/CreateVersionCommand-EKTXL4HX.js +0 -4
  41. package/build/CreateVersionCommand-EKTXL4HX.js.map +0 -1
  42. package/build/GenerateCommand-UOXXMOFE.js.map +0 -1
  43. package/build/PreviewCommand-5SJI24RE.js +0 -4
  44. package/build/chunk-F3L55KWK.js +0 -4
  45. package/build/chunk-TXD4M2YS.js.map +0 -1
  46. package/build/chunk-V4D26EXO.js.map +0 -1
  47. package/build/devtools-SH22YG5Z.js +0 -10
  48. package/build/devtools-SH22YG5Z.js.map +0 -1
  49. package/build/esm-GVPPSDDL.js +0 -352
  50. package/build/esm-GVPPSDDL.js.map +0 -1
  51. /package/build/{DevCommand-F4JNOQD3.js.map → DevCommand-KHV22E2S.js.map} +0 -0
  52. /package/build/{PreviewCommand-5SJI24RE.js.map → PreviewCommand-XX7TWOJR.js.map} +0 -0
  53. /package/build/{ServeCommand-SCDZSOGW.js.map → ServeCommand-Z5NQEEE5.js.map} +0 -0
  54. /package/build/{build-QKFFY6BT.js.map → build-WOV3ZNZF.js.map} +0 -0
  55. /package/build/{chunk-ZHOPW26J.js.map → chunk-3EQ4ZYU2.js.map} +0 -0
  56. /package/build/{chunk-KOTYDSCW.js.map → chunk-7IB3ZF3I.js.map} +0 -0
  57. /package/build/{chunk-N6MHPAL7.js.map → chunk-7TOOBLT6.js.map} +0 -0
  58. /package/build/{chunk-C6CRDQAM.js.map → chunk-CUWQRNQL.js.map} +0 -0
  59. /package/build/{chunk-RZD2Z3NM.js.map → chunk-EH27FYQH.js.map} +0 -0
  60. /package/build/{chunk-J7GQKX36.js.map → chunk-G7NSXRI7.js.map} +0 -0
  61. /package/build/{chunk-OQ2EIA5Y.js.map → chunk-JIUANWPO.js.map} +0 -0
  62. /package/build/{chunk-VPVMEECP.js.map → chunk-LT3WXWI5.js.map} +0 -0
  63. /package/build/{chunk-KDEP6ACN.js.map → chunk-PSXIV7FJ.js.map} +0 -0
  64. /package/build/{chunk-JRUKA4BX.js.map → chunk-QW5H4VGJ.js.map} +0 -0
  65. /package/build/{chunk-PBVA37S6.js.map → chunk-RWN7XXN6.js.map} +0 -0
  66. /package/build/{chunk-6VY5XPWN.js.map → chunk-RYS7G2PY.js.map} +0 -0
  67. /package/build/{chunk-HFEDL4QC.js.map → chunk-YWJFUO7I.js.map} +0 -0
  68. /package/build/{chunk-NCLWI32Y.js.map → chunk-ZIVYB6TM.js.map} +0 -0
  69. /package/build/{preview-WCMD3SX5.js.map → preview-FV7ZP3YC.js.map} +0 -0
  70. /package/build/{render-command-S4HOHZ67.js.map → render-command-JEBHYUZV.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@wix/http-client/src/constants.ts","../../../node_modules/@wix/headers/src/globals.ts","../../../node_modules/@wix/headers/src/cookies.ts","../../../node_modules/@wix/headers/src/headers/csrf.ts","../../../node_modules/@wix/headers/src/headers/x-wix-brand.ts","../../../node_modules/@wix/headers/src/headers/consent-policy.ts","../../../node_modules/@wix/headers/src/headers/authorization.ts","../../../node_modules/@wix/headers/src/utils.ts","../../../node_modules/@wix/headers/src/headers/artifact-id.ts","../../../node_modules/@wix/headers/src/headers/common-config.ts","../../../node_modules/base-64/base64.js","../../../node_modules/@wix/headers/src/headers/linguist.ts","../../../node_modules/@wix/headers/src/errors.ts","../../../node_modules/@wix/headers/src/assert.ts","../../../node_modules/@wix/headers/src/index.ts","../../../node_modules/@wix/http-client/src/env-util.ts","../../../node_modules/@wix/http-client/src/utils.ts","../../../node_modules/@wix/http-client/dist/src/whitelist.json","../../../node_modules/@wix/http-client/src/headers.ts","../../../node_modules/@wix/http-client/src/error.ts","../../../node_modules/axios/lib/helpers/bind.js","../../../node_modules/axios/lib/utils.js","../../../node_modules/axios/lib/core/enhanceError.js","../../../node_modules/axios/lib/core/createError.js","../../../node_modules/axios/lib/core/settle.js","../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/debug/node_modules/ms/index.js","../../../node_modules/debug/src/common.js","../../../node_modules/debug/src/browser.js","../../../node_modules/supports-color/index.js","../../../node_modules/debug/src/node.js","../../../node_modules/debug/src/index.js","../../../node_modules/follow-redirects/debug.js","../../../node_modules/follow-redirects/index.js","../../../node_modules/axios/package.json","../../../node_modules/axios/lib/adapters/http.js","../../../node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/axios/lib/helpers/normalizeHeaderName.js","../../../node_modules/axios/lib/helpers/cookies.js","../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/axios/lib/adapters/xhr.js","../../../node_modules/axios/lib/defaults.js","../../../node_modules/axios/lib/core/transformData.js","../../../node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/axios/lib/helpers/validator.js","../../../node_modules/axios/lib/core/Axios.js","../../../node_modules/axios/lib/cancel/Cancel.js","../../../node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/axios/lib/helpers/spread.js","../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/axios/lib/axios.js","../../../node_modules/axios/index.js","../../../node_modules/@wix/http-client/src/options.ts","../../../node_modules/@wix/http-client/src/http-client.ts","../../../node_modules/@wix/http-client/src/http-client-node.ts","../../../node_modules/@wix/http-client/dist/src/types.js","../../../node_modules/@wix/http-client/src/index-node.ts","../../../node_modules/p-retry/node_modules/retry/lib/retry_operation.js","../../../node_modules/p-retry/node_modules/retry/lib/retry.js","../../../node_modules/p-retry/node_modules/retry/index.js","../../../node_modules/is-docker/index.js","../../../node_modules/is-wsl/index.js","../../../node_modules/define-lazy-prop/index.js","../../../node_modules/open/index.js","../../cli-telemetry-react/src/useBi.tsx","../../cli-telemetry-react/src/index.ts","../../cli-error-reporting/src/error-reporter-context.tsx","../../cli-error-reporting/src/index.ts","../../cli-http-client/src/create-http-client.ts","../../cli-http-client/src/is-http-error.ts","../../cli-error-reporting/src/components/ErrorViewer.ts","../../cli-error-reporting/src/get-error-component.tsx","../../../node_modules/outdent/src/index.ts","../../cli-error-reporting/src/components/ErrorMessage.tsx","../../cli-auth/src/providers/AccountAuthProvider.tsx","../../cli-auth/src/context.ts","../../cli-auth/src/auth-strategies/index.ts","../../cli-auth/src/client.ts","../../../node_modules/p-retry/index.js","../../../node_modules/@wix/ambassador-identity-account-v2-account/http.impl.ts","../../../node_modules/@wix/metro-runtime/src/index.ts","../../../node_modules/@wix/metro-runtime/src/serialization/index.ts","../../../node_modules/@wix/metro-runtime/src/serialization/utils.ts","../../../node_modules/@wix/metro-runtime/src/url-resolver.ts","../../../node_modules/@wix/metro-runtime/src/utils.ts","../../../node_modules/@wix/metro-runtime/src/flatten-params.ts","../../../node_modules/@wix/metro-runtime/src/ambassador-index.ts","../../../node_modules/@wix/metro-runtime/src/serializer/domain.ts","../../../node_modules/@wix/metro-runtime/src/serializer/serializer.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/converters.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/timestamp.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/field-mask.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/bytes.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/duration.ts","../../../node_modules/@wix/metro-runtime/src/serializer/protobuf-converters/float.ts","../../../node_modules/@wix/metro-runtime/src/serializer/utils.ts","../../../node_modules/@wix/ambassador-identity-oauth-v1-refresh-token/http.impl.ts","../../cli-auth/src/schemas.ts","../../cli-auth/src/auth-data.ts","../../cli-auth/src/auth-strategies/account-auth-strategy.ts","../../../node_modules/p-limit/index.js","../../../node_modules/p-limit/node_modules/yocto-queue/index.js","../../../node_modules/p-wait-for/index.js","../../../node_modules/p-timeout/index.js","../../cli-auth/src/components/EnsureLoggedIn.tsx","../../cli-auth/src/components/Login.tsx","../../../node_modules/@wix/bi-logger-wix-cli/src/v2/index.ts","../../cli-auth/src/messages.json","../../cli-auth/src/components/LoginInstructions.tsx","../../user-browser/src/index.ts","../../user-browser/src/open-testkit.ts","../../cli-auth/src/components/WarnLegacyAuthData.tsx","../../cli-auth/src/index.ts","../../cli-auth/src/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n",null,null,null,null,null,null,"[\n \"wix.com\",\n \"editorx.com\",\n \"wix-code.com\",\n \"wixapps.net\",\n \"wixprod.net\"\n]\n",null,null,"'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\nfunction hasFlag(flag, argv = process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3,\n\t};\n}\n\nfunction _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\t// Check for Azure DevOps pipelines\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL());\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n /* istanbul ignore else */\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n /* istanbul ignore next */\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n Error.captureStackTrace(this, this.constructor);\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","{\n \"name\": \"axios\",\n \"version\": \"0.21.4\",\n \"description\": \"Promise based HTTP client for the browser and node.js\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \"grunt test\",\n \"start\": \"node ./sandbox/server.js\",\n \"build\": \"NODE_ENV=production grunt build\",\n \"preversion\": \"npm test\",\n \"version\": \"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\n \"postversion\": \"git push && git push --tags\",\n \"examples\": \"node ./examples/server.js\",\n \"coveralls\": \"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\n \"fix\": \"eslint --fix lib/**/*.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/axios/axios.git\"\n },\n \"keywords\": [\n \"xhr\",\n \"http\",\n \"ajax\",\n \"promise\",\n \"node\"\n ],\n \"author\": \"Matt Zabriskie\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/axios/axios/issues\"\n },\n \"homepage\": \"https://axios-http.com\",\n \"devDependencies\": {\n \"coveralls\": \"^3.0.0\",\n \"es6-promise\": \"^4.2.4\",\n \"grunt\": \"^1.3.0\",\n \"grunt-banner\": \"^0.6.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-clean\": \"^1.1.0\",\n \"grunt-contrib-watch\": \"^1.0.0\",\n \"grunt-eslint\": \"^23.0.0\",\n \"grunt-karma\": \"^4.0.0\",\n \"grunt-mocha-test\": \"^0.13.3\",\n \"grunt-ts\": \"^6.0.0-beta.19\",\n \"grunt-webpack\": \"^4.0.2\",\n \"istanbul-instrumenter-loader\": \"^1.0.0\",\n \"jasmine-core\": \"^2.4.1\",\n \"karma\": \"^6.3.2\",\n \"karma-chrome-launcher\": \"^3.1.0\",\n \"karma-firefox-launcher\": \"^2.1.0\",\n \"karma-jasmine\": \"^1.1.1\",\n \"karma-jasmine-ajax\": \"^0.1.13\",\n \"karma-safari-launcher\": \"^1.0.0\",\n \"karma-sauce-launcher\": \"^4.3.6\",\n \"karma-sinon\": \"^1.0.5\",\n \"karma-sourcemap-loader\": \"^0.3.8\",\n \"karma-webpack\": \"^4.0.2\",\n \"load-grunt-tasks\": \"^3.5.2\",\n \"minimist\": \"^1.2.0\",\n \"mocha\": \"^8.2.1\",\n \"sinon\": \"^4.5.0\",\n \"terser-webpack-plugin\": \"^4.2.3\",\n \"typescript\": \"^4.0.5\",\n \"url-search-params\": \"^0.10.0\",\n \"webpack\": \"^4.44.2\",\n \"webpack-dev-server\": \"^3.11.0\"\n },\n \"browser\": {\n \"./lib/adapters/http.js\": \"./lib/adapters/xhr.js\"\n },\n \"jsdelivr\": \"dist/axios.min.js\",\n \"unpkg\": \"dist/axios.min.js\",\n \"typings\": \"./index.d.ts\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.14.0\"\n },\n \"bundlesize\": [\n {\n \"path\": \"./dist/axios.min.js\",\n \"threshold\": \"5kB\"\n }\n ]\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('User-Agent' in headers || 'user-agent' in headers) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers['User-Agent'] && !headers['user-agent']) {\n delete headers['User-Agent'];\n delete headers['user-agent'];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(createError(\n 'error trying to parse `config.timeout` to int',\n config,\n 'ERR_PARSE_TIMEOUT',\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError(\n 'timeout of ' + timeout + 'ms exceeded',\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n req\n ));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');",null,null,null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map",null,"function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","module.exports = require('./lib/retry');","'use strict';\nconst fs = require('fs');\n\nlet isDocker;\n\nfunction hasDockerEnv() {\n\ttry {\n\t\tfs.statSync('/.dockerenv');\n\t\treturn true;\n\t} catch (_) {\n\t\treturn false;\n\t}\n}\n\nfunction hasDockerCGroup() {\n\ttry {\n\t\treturn fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');\n\t} catch (_) {\n\t\treturn false;\n\t}\n}\n\nmodule.exports = () => {\n\tif (isDocker === undefined) {\n\t\tisDocker = hasDockerEnv() || hasDockerCGroup();\n\t}\n\n\treturn isDocker;\n};\n","'use strict';\nconst os = require('os');\nconst fs = require('fs');\nconst isDocker = require('is-docker');\n\nconst isWsl = () => {\n\tif (process.platform !== 'linux') {\n\t\treturn false;\n\t}\n\n\tif (os.release().toLowerCase().includes('microsoft')) {\n\t\tif (isDocker()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\ttry {\n\t\treturn fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?\n\t\t\t!isDocker() : false;\n\t} catch (_) {\n\t\treturn false;\n\t}\n};\n\nif (process.env.__IS_WSL_TEST__) {\n\tmodule.exports = isWsl;\n} else {\n\tmodule.exports = isWsl();\n}\n","'use strict';\nmodule.exports = (object, propertyName, fn) => {\n\tconst define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});\n\n\tObject.defineProperty(object, propertyName, {\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t\tget() {\n\t\t\tconst result = fn();\n\t\t\tdefine(result);\n\t\t\treturn result;\n\t\t},\n\t\tset(value) {\n\t\t\tdefine(value);\n\t\t}\n\t});\n\n\treturn object;\n};\n","const path = require('path');\nconst childProcess = require('child_process');\nconst {promises: fs, constants: fsConstants} = require('fs');\nconst isWsl = require('is-wsl');\nconst isDocker = require('is-docker');\nconst defineLazyProperty = require('define-lazy-prop');\n\n// Path to included `xdg-open`.\nconst localXdgOpenPath = path.join(__dirname, 'xdg-open');\n\nconst {platform, arch} = process;\n\n// Podman detection\nconst hasContainerEnv = () => {\n\ttry {\n\t\tfs.statSync('/run/.containerenv');\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nlet cachedResult;\nfunction isInsideContainer() {\n\tif (cachedResult === undefined) {\n\t\tcachedResult = hasContainerEnv() || isDocker();\n\t}\n\n\treturn cachedResult;\n}\n\n/**\nGet the mount point for fixed drives in WSL.\n\n@inner\n@returns {string} The mount point.\n*/\nconst getWslDrivesMountPoint = (() => {\n\t// Default value for \"root\" param\n\t// according to https://docs.microsoft.com/en-us/windows/wsl/wsl-config\n\tconst defaultMountPoint = '/mnt/';\n\n\tlet mountPoint;\n\n\treturn async function () {\n\t\tif (mountPoint) {\n\t\t\t// Return memoized mount point value\n\t\t\treturn mountPoint;\n\t\t}\n\n\t\tconst configFilePath = '/etc/wsl.conf';\n\n\t\tlet isConfigFileExists = false;\n\t\ttry {\n\t\t\tawait fs.access(configFilePath, fsConstants.F_OK);\n\t\t\tisConfigFileExists = true;\n\t\t} catch {}\n\n\t\tif (!isConfigFileExists) {\n\t\t\treturn defaultMountPoint;\n\t\t}\n\n\t\tconst configContent = await fs.readFile(configFilePath, {encoding: 'utf8'});\n\t\tconst configMountPoint = /(?<!#.*)root\\s*=\\s*(?<mountPoint>.*)/g.exec(configContent);\n\n\t\tif (!configMountPoint) {\n\t\t\treturn defaultMountPoint;\n\t\t}\n\n\t\tmountPoint = configMountPoint.groups.mountPoint.trim();\n\t\tmountPoint = mountPoint.endsWith('/') ? mountPoint : `${mountPoint}/`;\n\n\t\treturn mountPoint;\n\t};\n})();\n\nconst pTryEach = async (array, mapper) => {\n\tlet latestError;\n\n\tfor (const item of array) {\n\t\ttry {\n\t\t\treturn await mapper(item); // eslint-disable-line no-await-in-loop\n\t\t} catch (error) {\n\t\t\tlatestError = error;\n\t\t}\n\t}\n\n\tthrow latestError;\n};\n\nconst baseOpen = async options => {\n\toptions = {\n\t\twait: false,\n\t\tbackground: false,\n\t\tnewInstance: false,\n\t\tallowNonzeroExitCode: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(options.app)) {\n\t\treturn pTryEach(options.app, singleApp => baseOpen({\n\t\t\t...options,\n\t\t\tapp: singleApp\n\t\t}));\n\t}\n\n\tlet {name: app, arguments: appArguments = []} = options.app || {};\n\tappArguments = [...appArguments];\n\n\tif (Array.isArray(app)) {\n\t\treturn pTryEach(app, appName => baseOpen({\n\t\t\t...options,\n\t\t\tapp: {\n\t\t\t\tname: appName,\n\t\t\t\targuments: appArguments\n\t\t\t}\n\t\t}));\n\t}\n\n\tlet command;\n\tconst cliArguments = [];\n\tconst childProcessOptions = {};\n\n\tif (platform === 'darwin') {\n\t\tcommand = 'open';\n\n\t\tif (options.wait) {\n\t\t\tcliArguments.push('--wait-apps');\n\t\t}\n\n\t\tif (options.background) {\n\t\t\tcliArguments.push('--background');\n\t\t}\n\n\t\tif (options.newInstance) {\n\t\t\tcliArguments.push('--new');\n\t\t}\n\n\t\tif (app) {\n\t\t\tcliArguments.push('-a', app);\n\t\t}\n\t} else if (platform === 'win32' || (isWsl && !isInsideContainer() && !app)) {\n\t\tconst mountPoint = await getWslDrivesMountPoint();\n\n\t\tcommand = isWsl ?\n\t\t\t`${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe` :\n\t\t\t`${process.env.SYSTEMROOT}\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell`;\n\n\t\tcliArguments.push(\n\t\t\t'-NoProfile',\n\t\t\t'-NonInteractive',\n\t\t\t'–ExecutionPolicy',\n\t\t\t'Bypass',\n\t\t\t'-EncodedCommand'\n\t\t);\n\n\t\tif (!isWsl) {\n\t\t\tchildProcessOptions.windowsVerbatimArguments = true;\n\t\t}\n\n\t\tconst encodedArguments = ['Start'];\n\n\t\tif (options.wait) {\n\t\t\tencodedArguments.push('-Wait');\n\t\t}\n\n\t\tif (app) {\n\t\t\t// Double quote with double quotes to ensure the inner quotes are passed through.\n\t\t\t// Inner quotes are delimited for PowerShell interpretation with backticks.\n\t\t\tencodedArguments.push(`\"\\`\"${app}\\`\"\"`, '-ArgumentList');\n\t\t\tif (options.target) {\n\t\t\t\tappArguments.unshift(options.target);\n\t\t\t}\n\t\t} else if (options.target) {\n\t\t\tencodedArguments.push(`\"${options.target}\"`);\n\t\t}\n\n\t\tif (appArguments.length > 0) {\n\t\t\tappArguments = appArguments.map(arg => `\"\\`\"${arg}\\`\"\"`);\n\t\t\tencodedArguments.push(appArguments.join(','));\n\t\t}\n\n\t\t// Using Base64-encoded command, accepted by PowerShell, to allow special characters.\n\t\toptions.target = Buffer.from(encodedArguments.join(' '), 'utf16le').toString('base64');\n\t} else {\n\t\tif (app) {\n\t\t\tcommand = app;\n\t\t} else {\n\t\t\t// When bundled by Webpack, there's no actual package file path and no local `xdg-open`.\n\t\t\tconst isBundled = !__dirname || __dirname === '/';\n\n\t\t\t// Check if local `xdg-open` exists and is executable.\n\t\t\tlet exeLocalXdgOpen = false;\n\t\t\ttry {\n\t\t\t\tawait fs.access(localXdgOpenPath, fsConstants.X_OK);\n\t\t\t\texeLocalXdgOpen = true;\n\t\t\t} catch {}\n\n\t\t\tconst useSystemXdgOpen = process.versions.electron ||\n\t\t\t\tplatform === 'android' || isBundled || !exeLocalXdgOpen;\n\t\t\tcommand = useSystemXdgOpen ? 'xdg-open' : localXdgOpenPath;\n\t\t}\n\n\t\tif (appArguments.length > 0) {\n\t\t\tcliArguments.push(...appArguments);\n\t\t}\n\n\t\tif (!options.wait) {\n\t\t\t// `xdg-open` will block the process unless stdio is ignored\n\t\t\t// and it's detached from the parent even if it's unref'd.\n\t\t\tchildProcessOptions.stdio = 'ignore';\n\t\t\tchildProcessOptions.detached = true;\n\t\t}\n\t}\n\n\tif (options.target) {\n\t\tcliArguments.push(options.target);\n\t}\n\n\tif (platform === 'darwin' && appArguments.length > 0) {\n\t\tcliArguments.push('--args', ...appArguments);\n\t}\n\n\tconst subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);\n\n\tif (options.wait) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tsubprocess.once('error', reject);\n\n\t\t\tsubprocess.once('close', exitCode => {\n\t\t\t\tif (!options.allowNonzeroExitCode && exitCode > 0) {\n\t\t\t\t\treject(new Error(`Exited with code ${exitCode}`));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolve(subprocess);\n\t\t\t});\n\t\t});\n\t}\n\n\tsubprocess.unref();\n\n\treturn subprocess;\n};\n\nconst open = (target, options) => {\n\tif (typeof target !== 'string') {\n\t\tthrow new TypeError('Expected a `target`');\n\t}\n\n\treturn baseOpen({\n\t\t...options,\n\t\ttarget\n\t});\n};\n\nconst openApp = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError('Expected a `name`');\n\t}\n\n\tconst {arguments: appArguments = []} = options || {};\n\tif (appArguments !== undefined && appArguments !== null && !Array.isArray(appArguments)) {\n\t\tthrow new TypeError('Expected `appArguments` as Array type');\n\t}\n\n\treturn baseOpen({\n\t\t...options,\n\t\tapp: {\n\t\t\tname,\n\t\t\targuments: appArguments\n\t\t}\n\t});\n};\n\nfunction detectArchBinary(binary) {\n\tif (typeof binary === 'string' || Array.isArray(binary)) {\n\t\treturn binary;\n\t}\n\n\tconst {[arch]: archBinary} = binary;\n\n\tif (!archBinary) {\n\t\tthrow new Error(`${arch} is not supported`);\n\t}\n\n\treturn archBinary;\n}\n\nfunction detectPlatformBinary({[platform]: platformBinary}, {wsl}) {\n\tif (wsl && isWsl) {\n\t\treturn detectArchBinary(wsl);\n\t}\n\n\tif (!platformBinary) {\n\t\tthrow new Error(`${platform} is not supported`);\n\t}\n\n\treturn detectArchBinary(platformBinary);\n}\n\nconst apps = {};\n\ndefineLazyProperty(apps, 'chrome', () => detectPlatformBinary({\n\tdarwin: 'google chrome',\n\twin32: 'chrome',\n\tlinux: ['google-chrome', 'google-chrome-stable', 'chromium']\n}, {\n\twsl: {\n\t\tia32: '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe',\n\t\tx64: ['/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe']\n\t}\n}));\n\ndefineLazyProperty(apps, 'firefox', () => detectPlatformBinary({\n\tdarwin: 'firefox',\n\twin32: 'C:\\\\Program Files\\\\Mozilla Firefox\\\\firefox.exe',\n\tlinux: 'firefox'\n}, {\n\twsl: '/mnt/c/Program Files/Mozilla Firefox/firefox.exe'\n}));\n\ndefineLazyProperty(apps, 'edge', () => detectPlatformBinary({\n\tdarwin: 'microsoft edge',\n\twin32: 'msedge',\n\tlinux: ['microsoft-edge', 'microsoft-edge-dev']\n}, {\n\twsl: '/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'\n}));\n\nopen.apps = apps;\nopen.openApp = openApp;\n\nmodule.exports = open;\n","import type { ReactNode } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport type { BiLogger } from '@wix/cli-telemetry';\n\nconst BiContext = createContext<BiLogger | null>(null);\n\nexport const BiProvider = function ({\n children,\n value: biLogger,\n}: {\n children: ReactNode;\n value: BiLogger;\n}) {\n return <BiContext.Provider value={biLogger}>{children}</BiContext.Provider>;\n};\n\nexport const useBiLogger = (): BiLogger => {\n const context = useContext(BiContext);\n\n if (context === null) {\n throw new Error('useBiLogger() cannot be used without an <BiProvider>');\n }\n\n return context;\n};\n","export { useBiLogger, BiProvider } from './useBi.js';\n","import React, {\n type FC,\n type ReactNode,\n createContext,\n useContext,\n} from 'react';\nimport type { ErrorReporter } from './error-reporter.js';\n\nconst ErrorReporterContext = createContext<ErrorReporter | null>(null);\n\ninterface Props {\n value: ErrorReporter;\n children: ReactNode;\n}\n\nexport const ErrorReporterProvider: FC<Props> = (props) => (\n <ErrorReporterContext.Provider {...props} />\n);\n\nexport const useErrorReporter = (): ErrorReporter => {\n const context = useContext(ErrorReporterContext);\n if (context === null) {\n throw new Error(\n 'useErrorReporter() cannot be used without an <ErrorReporterProvider>'\n );\n }\n return context;\n};\n","export {\n createErrorHandler,\n type ErrorHandlerFn,\n} from './create-error-handler.js';\nexport { ErrorViewer } from './components/ErrorViewer.js';\nexport { createErrorReporter, type ErrorReporter } from './error-reporter.js';\nexport {\n ErrorReporterProvider,\n useErrorReporter,\n} from './error-reporter-context.js';\n","import type { IHttpClient, Headers } from '@wix/http-client';\nimport { createHttpClient as createHttpClientOriginal } from '@wix/http-client';\n\nexport interface CreateHttpClientOptions {\n getAppToken?(): Promise<string>;\n createHeaders?(): Headers;\n\n type: keyof typeof baseUrls;\n}\n\nconst baseUrls = {\n backoffice: 'https://manage.wix.com',\n editor: 'https://editor.wix.com',\n code: 'https://code.wix.com',\n general: 'https://www.wix.com',\n standalone: undefined,\n};\n\nexport function createHttpClient({\n getAppToken,\n createHeaders,\n type,\n}: CreateHttpClientOptions): IHttpClient {\n return createHttpClientOriginal({\n baseURL: baseUrls[type],\n ...(type !== 'standalone'\n ? {\n getAppToken,\n }\n : {}),\n createHeaders: () => ({\n ...createHeaders?.(),\n // See https://wix.slack.com/archives/C0JLGMT28/p1667219337530909\n 'X-XSRF-TOKEN': 'nocheck',\n Cookie: 'XSRF-TOKEN=nocheck',\n 'User-Agent': 'wix-cli',\n }),\n });\n}\n","import type { IHttpError } from '@wix/http-client';\nimport { HttpClient } from '@wix/http-client';\n\nexport function isHttpError(error: unknown): error is IHttpError {\n return HttpClient.isHttpError(error);\n}\n","import { type FC, type ReactNode, createElement, useMemo } from 'react';\nimport { isCliSystemError, normalizeError } from '@wix/cli-error';\nimport { getErrorComponent } from '../get-error-component.js';\n\ninterface Props {\n error: unknown;\n systemErrorOverride?: ReactNode;\n}\n\nexport const ErrorViewer: FC<Props> = ({\n error: originalError,\n systemErrorOverride,\n}) => {\n return useMemo(() => {\n const error = normalizeError(originalError);\n\n return isCliSystemError(error) && systemErrorOverride\n ? systemErrorOverride\n : createElement(getErrorComponent(error.cliCode));\n }, [originalError, systemErrorOverride]);\n};\n","import type { ComponentType } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\nimport { Box, Newline, Text } from '@wix/cli-ui-kit';\nimport { outdent } from 'outdent';\nimport type { ZodIssue } from 'zod';\nimport type { CliErrorCodeType } from '@wix/cli-error';\nimport { ErrorMessage, SystemErrorMessage } from './components/ErrorMessage.js';\n\nexport function getErrorComponent(code: CliErrorCodeType): ComponentType {\n return match(code, {\n UnknownFailure: ({ error }) => {\n return () => (\n <>\n <Text skin=\"error\">\n Oh no, seems like the CLI encountered an unexpected error:\n </Text>\n\n {error instanceof Error ? (\n <Text skin=\"error\">{error.message}</Text>\n ) : (\n <Text>{JSON.stringify(error)}</Text>\n )}\n </>\n );\n },\n FailedToGetDeviceCode: () => {\n return () => (\n <SystemErrorMessage message=\"An error occured while logging in: Failed to issue a login device code\" />\n );\n },\n FailedToGetAuthToken: () => {\n return () => (\n <SystemErrorMessage message=\"An error occured while logging in: Failed to issue refresh token\" />\n );\n },\n FailedToRefreshTokenForSite: () => {\n return () => (\n <SystemErrorMessage message=\"An error occured while logging in: Failed to issue refresh token for site\" />\n );\n },\n FailedToRenewAuthToken: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to renew access token.\" />\n );\n },\n FailedToRenewAuthTokenSiteNotFound: ({ siteId }) => {\n return () => (\n <ErrorMessage\n message={`Authenticate failed, your configured development site (${siteId}) could not be accessed`}\n hint=\"Make sure the site exists and you still have access to it\"\n />\n );\n },\n FailedToRevokeRefreshToken: ({ email }) => {\n return () => (\n <SystemErrorMessage\n message=\"An error occured while trying to logout: Failed to revoke refresh token!\"\n explanation={`Wix CLI is still logged in to account ${email}`}\n />\n );\n },\n FailedToFetchPackageJson: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to fetch package data.\" />\n );\n },\n LatestVersionOfCreateAppRequired: ({\n currentVersion,\n latestVersion,\n updateCommand,\n }) => {\n return () => (\n <ErrorMessage\n message={\n <>\n Generating a Wix App is only supported using the latest version (\n {latestVersion}) of <Text bold>@wix/create-app</Text> (current:{' '}\n {currentVersion})\n </>\n }\n hint={\n <Text>\n Make sure you are using the following command:\n <Newline />\n <Text bold>{updateCommand}</Text>\n <Newline />\n If the problem persists, try clearing your package manager's cache\n </Text>\n }\n />\n );\n },\n EmptyDirectoryRequiredAppGeneration: ({ folder }) => {\n return () => (\n <ErrorMessage\n message={\n <>\n Generating a Wix App requires an empty directory but{' '}\n <Text bold>{folder}</Text> already exists and isn't empty\n </>\n }\n hint={\n <Text>\n Choose a different project name or delete the existing{' '}\n <Text bold>{folder}</Text> folder\n </Text>\n }\n />\n );\n },\n InvalidNewPackageName: ({ packageName, validations }) => {\n return () => (\n <ErrorMessage\n message={\n <>\n Generating a Wix App requires a valid npm package name for the\n generated <Text bold>package.json</Text> <Newline />\n The name <Text bold>{packageName}</Text> failed the following\n validations:\n <Newline />\n {validations.map((validation, id) => (\n <Text key={id}>\n <Newline />- {validation}\n </Text>\n ))}\n </>\n }\n hint={`Choose a different project name that follows the validations above`}\n />\n );\n },\n SiteSelectorTimedout: () => {\n return () => (\n <ErrorMessage\n message={`Waiting for application installation timed out.`}\n />\n );\n },\n TypeErrorInvalidUrl: () => {\n return () => <ErrorMessage message={`Invalid assets URL.`} />;\n },\n UnsupportedPackageManager: ({ packageManagerName }) => {\n return () => (\n <ErrorMessage\n message={`Generating a Wix App requires the usage of a supported package manager`}\n hint={`Expected Yarn or NPM but ${\n packageManagerName\n ? `got ${packageManagerName}`\n : `failed to detect a package manager`\n }`}\n />\n );\n },\n UnsupportedPackageManagerWorkspaces: ({ packageManagerName }) => {\n return () => (\n <ErrorMessage\n message={`Generating a Wix App inside ${packageManagerName} workspaces is not supported`}\n />\n );\n },\n FailedToGetDeveloperApps: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to get the list of your applications\" />\n );\n },\n FailedToCreateDevCenterApp: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to register your application in Wix Dev Center\" />\n );\n },\n SitePermissionDenied: ({ siteId }) => {\n return () => {\n return (\n <ErrorMessage\n message={`You don't have permissions to site ${siteId}`}\n />\n );\n };\n },\n AppPermissionDenied: ({ appId }) => {\n return () => {\n return (\n <ErrorMessage\n message={`You don't have permissions to application ${appId}`}\n />\n );\n };\n },\n FailedToUpdateTelemetryConfig: () => {\n return () => (\n <ErrorMessage message=\"Failed to change telemetry preferences\" />\n );\n },\n FailedToInstallPackage: ({ packageName, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to install npm package ${packageName}. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToResolveNpmDependencies: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to resolve npm dependencies\" />\n );\n },\n FailedToInstallPackages: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to install npm packages. Cause: ${causeMessage}`}\n />\n );\n },\n FailedMigrationToAnyNpm: () => {\n return () => (\n <ErrorMessage\n message={<>Could not start the migration process</>}\n hint={\n <Text>\n Make sure that your package.json does not have packages installed\n outside of dev dependencies\n </Text>\n }\n />\n );\n },\n DeprecatedVersion: ({ currentVersion }) => {\n return () => (\n <ErrorMessage\n message={\n <>\n {`Your version of the Wix CLI (${currentVersion}) is`}\n <Text bold> deprecated</Text>.\n </>\n }\n hint={`Please update to the latest version to continue`}\n />\n );\n },\n FailedToUninstallPackage: ({ packageName, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to uninstall npm package ${packageName}. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToSyncToRevision: ({ revision }) => {\n return () => (\n <ErrorMessage\n message={`Failed to sync the local project to revision ${revision}`}\n />\n );\n },\n FailedToCreateVersion: () => {\n return () => (\n <ErrorMessage message=\"Wix CLI failed to create version for your app\" />\n );\n },\n FailedToReadCache: ({ path }) => {\n return () => (\n <ErrorMessage message={`Failed to read cache file at ${path}.`} />\n );\n },\n FailedToWriteCache: ({ path }) => {\n return () => (\n <ErrorMessage message={`Failed to write cache file at ${path}.`} />\n );\n },\n UploadApplicationFailed: () => {\n return () => <ErrorMessage message=\"Failed to upload the application\" />;\n },\n BuiltProjectNeeded: () => {\n return () => (\n <ErrorMessage message=\"Can not find build output, please execute `wix app build` to build your app before proceeding\" />\n );\n },\n UnsupportedWixInstallCommand: () => {\n return () => (\n <ErrorMessage message=\"`wix install` is not supported now. Please use `wix install <package-name>`\" />\n );\n },\n WixUninstallMissingPackageName: () => {\n return () => <ErrorMessage message=\"Please specify a package name\" />;\n },\n FailedToReadJson: ({ filePath, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to read ${filePath}. Cause: ${causeMessage}`}\n />\n );\n },\n InvalidJsonFile: ({ filePath, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Invalid JSON file located at ${filePath}. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToWriteWixLock: () => {\n return () => <ErrorMessage message={`Failed to write 'wix.lock'`} />;\n },\n InvalidVeloConfigJson: ({ configFilename, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Invalid ${configFilename}, make sure it's configured correctly. Cause: ${causeMessage}`}\n />\n );\n },\n DashboardPageConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Dashboard page config not found at ${configPath}`}\n />\n );\n },\n EmbeddedScriptConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Embedded script config not found at ${configPath}`}\n />\n );\n },\n CustomElementConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Custom element config not found at ${configPath}`}\n />\n );\n },\n NoExtensionsFound: () => {\n return () => (\n <ErrorMessage\n message=\"Your project doesn't seem to have any extensions.\"\n explanation=\"Extensions are the building blocks of your app.\"\n hint=\"Make sure it is configured properly, or read our documentation (​https://wix.to/b7o4Ml0) to start developing your first extension.\"\n />\n );\n },\n NoPagesDirectoryFound: ({ srcDir }) => {\n return () => (\n <ErrorMessage\n message={\n <>\n No <Text bold>pages</Text> directory was found under{' '}\n <Text bold>{srcDir}</Text>.\n </>\n }\n hint={\n <Text>\n Consider re-cloning the project repository or creating a{' '}\n <Text bold>pages</Text> directory under <Text bold>{srcDir}</Text>\n .\n </Text>\n }\n />\n );\n },\n DashboardPluginConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Dashboard plugin config not found at ${configPath}`}\n />\n );\n },\n DashboardMenuPluginConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Dashboard menu plugin config not found at ${configPath}`}\n />\n );\n },\n DashboardModalConfigNotFound: ({ configPath }) => {\n return () => (\n <ErrorMessage\n message={`Dashboard modal config not found at ${configPath}`}\n />\n );\n },\n InvalidConfigSchemaError: ({ configPath, zodError }) => {\n return () => (\n <ErrorMessage\n message={outdent`\n Invalid configuration found at \\`${configPath}\\`:\n The following errors were found:\n ${zodError.errors.map(formatZodIssue).join('\\n')}`}\n hint=\"Fix the errors above for your configurations to be applied successfully.\"\n />\n );\n },\n InvalidParamsOverrideSchemaError: ({ paramsOverridePath, zodError }) => {\n return () => (\n <ErrorMessage\n message={outdent`\n Invalid params override found at \\`${paramsOverridePath}\\`:\n The following errors were found:\n ${zodError.errors.map(formatZodIssue).join('\\n')}`}\n hint=\"Fix the errors above for your params override to be applied successfully.\"\n />\n );\n },\n PermissionDenied: () => {\n return () => (\n <ErrorMessage message=\"Forbidden operation. Missing permissions\" />\n );\n },\n FailedToReadProjectFiles: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to read source files: make sure you have an 'src' folder and that it's readable. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToCreateVersionForSubmittedApp: () => {\n return () => (\n <ErrorMessage\n message=\"Cannot create a new application version because the app has an active marketplace submission\"\n hint=\"You will be able continue creating versions when your submission is approved or retracted\"\n />\n );\n },\n GridAppFilesMaxLengthExcceeded: ({ maxSizeViolationsData, filePaths }) => {\n let errorMessage =\n 'Found one or more project files that are bigger than the allowed limit';\n\n if (maxSizeViolationsData?.files?.length) {\n errorMessage += ` (${\n maxSizeViolationsData.expectedSize\n }KB): ${maxSizeViolationsData.files\n .map((f) => `${filePaths[f.fileIndex]} (${f.receivedSize}KB)`)\n .join(', ')}`;\n }\n\n return () => <ErrorMessage message={errorMessage} />;\n },\n GridAppFailedToUpdateFiles: () => {\n return () => (\n <ErrorMessage\n message={outdent`\n Failed to update files.\n Failed to sync changes from local files to the Dev Editor\n Still watching local files and will continue to sync changes...\n `}\n />\n );\n },\n FailedToWatchFiles: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n\n return () => (\n <ErrorMessage\n message={`Failed to watch files. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToCreateGridApp: ({ error }) => {\n return () => (\n <ErrorMessage\n message=\"Failed to create an isolated environment.\"\n explanation={error}\n />\n );\n },\n DeviceCodeTimedOut: () => {\n return () => (\n <ErrorMessage message=\"The device code has not been approved in the time allocated, please start the login process again.\" />\n );\n },\n DuplicateComponentIdsError: ({ issues }) => {\n const Issue = ({ issue }: { issue: (typeof issues)[0] }) => {\n const typeToName = (type: (typeof issue)['components'][0]['type']) =>\n match(type, {\n page: () => 'page',\n plugin: () => 'plugin',\n 'menu-plugin': () => 'menu plugin',\n 'sidebar-category': () => 'sidebar category',\n 'embedded-script': () => 'embedded script',\n 'custom-element': () => 'custom element',\n modal: () => 'modal',\n });\n return (\n <Box flexDirection=\"column\">\n <Text>\n <Text bold>Duplicate ID: </Text>\n {issue.id}\n </Text>\n <Text bold>Extensions:</Text>\n {issue.components.map(({ name, path, type }) => (\n <Text key={path}>\n [{typeToName(type)}] {name} ({path})\n </Text>\n ))}\n <Text>\n <Text bold>Possible GUID: </Text>\n {issue.suggestedId}\n </Text>\n </Box>\n );\n };\n const hint = (\n <Box flexDirection=\"column\" rowGap={1}>\n <Text>\n You can use the provided suggested GUIDs as the ID of the newly\n created extension.\n </Text>\n {issues.map((issue) => (\n <Issue issue={issue} key={issue.id} />\n ))}\n </Box>\n );\n\n return () => (\n <ErrorMessage\n message=\"Found multiple extensions with the same id, this might happen if you copy paste folders.\"\n hint={hint}\n />\n );\n },\n FailedToGetPackageDetails: () => {\n return () => <ErrorMessage message=\"Failed to get package info.\" />;\n },\n InvalidCreateAppResponse: () => {\n return () => (\n <ErrorMessage message=\"`createApp` returned an invalid response.\" />\n );\n },\n InvalidDeployAppResponse: () => {\n return () => (\n <ErrorMessage message=\"Got unexpected response from server. Make sure you are running a supported version of the Velo CLI.\" />\n );\n },\n InvalidGetDeploymentResponse: () => {\n return () => (\n <ErrorMessage message=\"Got unexpected response from server. Please try again later..\" />\n );\n },\n FailedToGetPagesDiff: () => {\n return () => <ErrorMessage message=\"Failed to request pages diff.\" />;\n },\n InvalidViteBuildOutput: () => {\n return () => <ErrorMessage message=\"Invalid vite build output\" />;\n },\n ViteModuleBundleNotFound: () => {\n return () => (\n <ErrorMessage message=\"Could not find module bundle in vite build output\" />\n );\n },\n ViteFileNotFoundInOutput: ({ fileName }) => {\n return () => (\n <ErrorMessage\n message={`Could not find ${fileName} in vite build output`}\n />\n );\n },\n FailedToCreatePresignedUrl: () => {\n return () => (\n <ErrorMessage message=\"Failed to create a presigned upload url\" />\n );\n },\n FailedToUploadApplicationFiles: () => {\n return () => (\n <ErrorMessage message=\"Failed to upload the application files\" />\n );\n },\n FailedToVerifyDeployment: () => {\n return () => (\n <ErrorMessage message=\"Deployment was not finished within the desired timeframe, please try again later.\" />\n );\n },\n FailedToGetUserInfo: () => {\n return () => <ErrorMessage message=\"Failed to get user information.\" />;\n },\n FailedToGetMyAccount: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to get account information.\" />\n );\n },\n FailedToCreateDevelopmentSite: () => {\n return () => (\n <ErrorMessage message=\"Failed to create a Development Site\" />\n );\n },\n FailedToGetDevelopmentSites: () => {\n return () => (\n <ErrorMessage message=\"Failed to request development sites.\" />\n );\n },\n FailedToGetDevelopmentSitesLimit: () => {\n return () => (\n <ErrorMessage message=\"Failed to request development sites limit.\" />\n );\n },\n FailedToGetRequiredApps: () => {\n return () => <ErrorMessage message=\"Failed to get app required apps.\" />;\n },\n FailedToGetMarketListing: () => {\n return () => <ErrorMessage message=\"Failed to get market listing.\" />;\n },\n FailedToAddRequiredApp: () => {\n return () => <ErrorMessage message=\"Failed to add required app.\" />;\n },\n FailedToQuerySites: () => {\n return () => <ErrorMessage message=\"Failed to request sites list.\" />;\n },\n FailedToGetSite: () => {\n return () => (\n <ErrorMessage message=\"Failed to get information about your configured Development Site\" />\n );\n },\n FailedToDeploySite: () => {\n return () => <ErrorMessage message=\"Failed to deploy site.\" />;\n },\n FailedToPublishDeployment: () => {\n return () => <SystemErrorMessage message=\"Failed to publish site.\" />;\n },\n FailedToSaveDevelopmentSite: ({ path }) => {\n return () => (\n <ErrorMessage\n message=\"Failed to save the current development site.\"\n hint={`Make sure the \\`${path}\\` file has proper permissions and is accessible`}\n />\n );\n },\n FailedToBuildApp: () => {\n return () => (\n <ErrorMessage\n message={'Failed to build the application.'}\n hint={'Please check the build output for more information'}\n />\n );\n },\n FailedToCheckIfAppInstalled: () => {\n return () => (\n <ErrorMessage message=\"Failed to fetch site installation details\" />\n );\n },\n FailedToInitializeGitRepo: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to initialize git repo. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToInstallDependencies: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to install dependencies. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToCommitChanges: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to commit changes. Cause: ${causeMessage}`}\n />\n );\n },\n FailedToDeleteAuthData: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage message={`Failed to delete auth data: ${causeMessage}`} />\n );\n },\n FailedToDeleteLegacyAuthData: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to delete legacy auth data: ${causeMessage}`}\n />\n );\n },\n FailedToSaveAuthData: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage message={`Failed to save auth data: ${causeMessage}`} />\n );\n },\n FailedToSaveApiKeyAuthData: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to save api key auth data: ${causeMessage}`}\n />\n );\n },\n FailedToWriteJson: ({ filePath, cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to write JSON at path: ${filePath}. Cause: ${causeMessage}`}\n />\n );\n },\n TemplatePathNotFound: ({ templatePath }) => {\n return () => (\n <ErrorMessage\n message={`Template path not found: ${templatePath}`}\n hint=\"Make sure the template path exists in the remote repository\"\n />\n );\n },\n FailedToCloneRepo: ({ cause }) => {\n const causeMessage = getErrorMessage(cause);\n return () => (\n <ErrorMessage\n message={`Failed to clone repo: ${causeMessage}`}\n hint=\"Make sure the Git URL is correct and that your local Git is configured properly to access the remote repository\"\n />\n );\n },\n InvalidGitUrl: ({ url }) => {\n return () => (\n <ErrorMessage\n message={`Invalid Git URL: ${url}`}\n hint=\"Make sure the Git URL is in the correct format\"\n />\n );\n },\n AuthenticationRequired: () => {\n return () => (\n <ErrorMessage message=\"You have to already be logged in to run this command.\" />\n );\n },\n SiteConfiguredRequired: () => {\n return () => (\n <ErrorMessage message=\"You must configure the development site before running this command, or provide a site-id in the command options.\" />\n );\n },\n FailedAddingPackageToWorkspace: () => {\n return () => (\n <ErrorMessage\n message=\"Could not add package to the workspaces configuration. Please add it as instructed by your package manager.\"\n hint={\n <Text>\n Full error can be found in <Text bold>wix-error.log</Text>\n </Text>\n }\n />\n );\n },\n FailedToGenerateSelfsignedCertificate: () => {\n return () => (\n <ErrorMessage message=\"Failed to generate a Selfsigned certificate for development.\" />\n );\n },\n NonInteractiveTerminal: () => {\n return () => (\n <ErrorMessage message=\"This command is not supported in non-interactive terminals. Please run the command in an interactive terminal (TTY).\" />\n );\n },\n FailedToResolveViteOrigin: () => {\n return () => (\n <ErrorMessage message=\"Failed to resolve the base url for CSS asset urls\" />\n );\n },\n FailedToCreateAppRelease: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to create an app configuration in dev center.\" />\n );\n },\n FailedToUpdateAppRelease: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to update an app configuration in dev center.\" />\n );\n },\n FailedToCheckDeprecatedStatus: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to check cli version deprecated status.\" />\n );\n },\n FailedToGetResolveNpmDependenciesResult: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to resolve Wix's lockfile.\" />\n );\n },\n CliAppVersionMismatch: ({ cliVersion, cliAppVersion }) => {\n return () => (\n <ErrorMessage\n message={\n <Text>\n The versions of <Text bold>@wix/cli</Text> ({cliVersion}) and{' '}\n <Text bold>@wix/cli-app</Text> ({cliAppVersion}) dependencies do\n not match\n </Text>\n }\n hint={\n <Text>\n Align their versions in your <Text bold>package.json</Text> and\n re-install dependencies\n </Text>\n }\n />\n );\n },\n FailedToGetAppValidity: () => {\n return () => (\n <ErrorMessage\n message={\n 'Failed to get validation status for app version from dev center'\n }\n ></ErrorMessage>\n );\n },\n InvalidDashboardPageRoute: ({ route, errorMessage }) => {\n return () => (\n <ErrorMessage\n message={`Invalid dashboard page route: ${route}`}\n hint={errorMessage}\n />\n );\n },\n InvalidEmbeddedScriptFolder: ({ path, errorMessage }) => {\n return () => (\n <ErrorMessage\n message={`Invalid embedded script folder: ${path}`}\n hint={errorMessage}\n />\n );\n },\n InvalidEmbeddedScriptTemplate: ({ templateFilename, errorMessage }) => {\n return () => (\n <ErrorMessage\n message={`Invalid embedded script template in ${templateFilename}`}\n hint={errorMessage}\n />\n );\n },\n InvalidCustomElementTagName: ({ tagName, errorMessage }) => {\n return () => (\n <ErrorMessage\n message={\n <Text>\n We use name of folder as tagName for your custom element.\n Unfortunately, <Text bold>{tagName}</Text> is invalid tagName.\n Reason: {errorMessage}\n </Text>\n }\n hint={\n <Text>\n You can find rules for tagName here:{' '}\n <Text bold>\n https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define#valid_custom_element_names\n </Text>\n </Text>\n }\n />\n );\n },\n FailedToCreateSiteOverride: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to create site override configuration\" />\n );\n },\n FailedToGetPipelineErrorInfo: () => {\n return () => <SystemErrorMessage message=\"Failed to get error details\" />;\n },\n FailedToGetDeploymentStatus: () => {\n return () => (\n <SystemErrorMessage message=\"Failed to get deployment status\" />\n );\n },\n });\n}\n\nfunction getErrorMessage(cause: unknown) {\n return cause instanceof Error ? cause.message : JSON.stringify(cause);\n}\n\nfunction formatZodIssue(issue: ZodIssue) {\n const path = issue.path.join('.');\n\n if (!path) {\n return `- ${issue.message}`;\n }\n\n return `- \\`${path}\\`: ${issue.message}`;\n}\n","type TODO = any;\n\n// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop(...args: Array<any>) {}\nfunction createWeakMap<K extends object, V>(): MyWeakMap<K, V> {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap<K, V>();\n } else {\n return fakeSetOrMap<K, V>();\n }\n}\n\ntype MyWeakMap<K extends object, V> = Pick<\n WeakMap<K, V>,\n \"delete\" | \"get\" | \"set\" | \"has\"\n>;\ntype MyWeakSetMap<K extends object, V> =\n & Pick<WeakMap<K, V>, \"delete\" | \"get\" | \"set\" | \"has\">\n & Pick<WeakSet<K>, \"add\">;\n\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap<K extends object, V = any>(): MyWeakSetMap<K, V> {\n return {\n add: noop as WeakSet<K>[\"add\"],\n delete: noop as WeakMap<K, V>[\"delete\"],\n get: noop as WeakMap<K, V>[\"get\"],\n set: noop as WeakMap<K, V>[\"set\"],\n has(k: K) {\n return false;\n },\n };\n}\n\n// Safe hasOwnProperty\nconst hop = Object.prototype.hasOwnProperty;\nconst has = function (obj: object, prop: string): boolean {\n return hop.call(obj, prop);\n};\n\n// Copy all own enumerable properties from source to target\nfunction extend<T, S extends object>(target: T, source: S) {\n type Extended = T & S;\n for (const prop in source) {\n if (has(source, prop)) {\n (target as any)[prop] = source[prop];\n }\n }\n return target as Extended;\n}\n\nconst reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nconst reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nconst reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nconst reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nconst reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\n\nfunction _outdentArray(\n strings: ReadonlyArray<string>,\n firstInterpolatedValueSetsIndentationLevel: boolean,\n options: Options,\n) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n let indentationLevel = 0;\n\n const match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n\n const reSource = `(\\\\r\\\\n|\\\\r|\\\\n).{0,${indentationLevel}}`;\n const reMatchIndent = new RegExp(reSource, \"g\");\n\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n\n const { newline, trimLeadingNewline, trimTrailingNewline } = options;\n const normalizeNewlines = typeof newline === \"string\";\n const l = strings.length;\n const outdentedStrings = strings.map((v, i) => {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, (_) => newline as string);\n }\n return v;\n });\n return outdentedStrings;\n}\n\nfunction concatStringsAndValues(\n strings: ReadonlyArray<string>,\n values: ReadonlyArray<any>,\n): string {\n let ret = \"\";\n for (let i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\n\nfunction isTemplateStringsArray(v: any): v is TemplateStringsArray {\n return has(v, \"raw\") && has(v, \"length\");\n}\n\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options: Options): Outdent {\n /** Cache of pre-processed template literal arrays */\n const arrayAutoIndentCache = createWeakMap<\n TemplateStringsArray,\n Array<string>\n >();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n const arrayFirstInterpSetsIndentCache = createWeakMap<\n TemplateStringsArray,\n Array<string>\n >();\n\n /* tslint:disable:no-shadowed-variable */\n function outdent(\n stringsOrOptions: TemplateStringsArray,\n ...values: Array<any>\n ): string;\n function outdent(stringsOrOptions: Options): Outdent;\n function outdent(\n stringsOrOptions: TemplateStringsArray | Options,\n ...values: Array<any>\n ): string | Outdent {\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n const strings = stringsOrOptions;\n\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n const firstInterpolatedValueSetsIndentationLevel =\n (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n\n // Perform outdentation\n const cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n let renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(\n strings,\n firstInterpolatedValueSetsIndentationLevel,\n options,\n );\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n const rendered = concatStringsAndValues(\n renderedArray,\n firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values,\n );\n\n return rendered;\n } else {\n // Create and return a new instance of outdent with the given options\n return createInstance(\n extend(extend({}, options), stringsOrOptions || {}),\n );\n }\n }\n\n const fullOutdent = extend(outdent, {\n string(str: string): string {\n return _outdentArray([str], false, options)[0];\n },\n });\n\n return fullOutdent;\n}\n\nconst defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n\nexport interface Outdent {\n /**\n * Remove indentation from a template literal.\n */\n (strings: TemplateStringsArray, ...values: Array<any>): string;\n /**\n * Create and return a new Outdent instance with the given options.\n */\n (options: Options): Outdent;\n\n /**\n * Remove indentation from a string\n */\n string(str: string): string;\n\n // /**\n // * Remove indentation from a template literal, but return a tuple of the\n // * outdented TemplateStringsArray and\n // */\n // pass(strings: TemplateStringsArray, ...values: Array<any>): [TemplateStringsArray, ...Array<any>];\n}\nexport interface Options {\n trimLeadingNewline?: boolean;\n trimTrailingNewline?: boolean;\n /**\n * Normalize all newlines in the template literal to this value.\n * \n * If `null`, newlines are left untouched.\n * \n * Newlines that get normalized are '\\r\\n', '\\r', and '\\n'.\n * \n * Newlines within interpolated values are *never* normalized.\n * \n * Although intended for normalizing to '\\n' or '\\r\\n',\n * you can also set to any string; for example ' '.\n */\n newline?: string | null;\n}\n\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\n\n// In CommonJS environments, enable `var outdent = require('outdent');` by\n// replacing the exports object.\n// Make sure that our replacement includes the named exports from above.\ndeclare var module: any;\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n (defaultOutdent as any).default = defaultOutdent;\n (defaultOutdent as any).outdent = defaultOutdent;\n } catch (e) {}\n}\n","import React, { type ReactElement, type FC, type ReactNode } from 'react';\nimport { Alert, Box, InsightIcon, Text } from '@wix/cli-ui-kit';\n\nexport const ErrorMessage: FC<{\n message: string | ReactNode;\n explanation?: string | ReactNode;\n hint?: string | ReactElement;\n}> = ({ message, explanation, hint }) => (\n <Box flexDirection=\"column\">\n <Alert type=\"error\">{message}</Alert>\n\n {explanation && <Alert type=\"warning\">{explanation}</Alert>}\n\n {hint && (\n <Box paddingTop={1} columnGap={1}>\n <InsightIcon />\n {typeof hint === 'string' ? <Text>{hint}</Text> : hint}\n </Box>\n )}\n </Box>\n);\n\nexport const SystemErrorMessage: FC<{\n message: string | ReactNode;\n explanation?: string | ReactNode;\n hint?: string | ReactElement;\n}> = ({ message, explanation, hint }) => (\n <ErrorMessage\n message={message}\n explanation={explanation}\n hint={\n hint ??\n 'This is probably a temporary system error and has been logged. Try again shortly.'\n }\n />\n);\n","import React, { type FC, type ReactNode } from 'react';\nimport { useExit } from '@wix/cli-ui-kit';\nimport { AuthContext } from '../context.js';\nimport type { UserInfo } from '../schemas.js';\nimport { accountAuthStrategy } from '../auth-strategies/index.js';\nimport { EnsureLoggedIn } from '../components/EnsureLoggedIn.js';\n\ninterface Props {\n children: ReactNode;\n onError?: (error: unknown) => void;\n onLogin?: (userInfo: UserInfo) => void;\n}\n\nexport const AccountAuthProvider: FC<Props> = ({\n children,\n onError,\n onLogin,\n}) => {\n const exit = useExit();\n\n return (\n <EnsureLoggedIn\n authStrategy={accountAuthStrategy}\n onLogin={({ userInfo }) => onLogin?.(userInfo)}\n onError={onError ?? exit}\n >\n {({ getAccessToken, getRequestHeaders, userInfo }) => (\n <AuthContext.Provider\n value={{ getAccessToken, getRequestHeaders, userInfo }}\n >\n {children}\n </AuthContext.Provider>\n )}\n </EnsureLoggedIn>\n );\n};\n","import { createContext } from 'react';\nimport type { AuthStrategyState } from './auth-strategies/index.js';\n\nexport type AuthState = Pick<\n AuthStrategyState,\n 'getAccessToken' | 'getRequestHeaders' | 'userInfo'\n>;\n\nexport const AuthContext = createContext<AuthState | null>(null);\n","export type { AuthStrategyState, AuthStrategy } from './auth-strategy-types.js';\nexport { apiKeyAuthStrategy } from './api-key-auth-strategy.js';\nexport { accountAuthStrategy } from './account-auth-strategy.js';\nexport { createSiteAuthStrategy } from './site-auth-strategy.js';\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport type {\n DeviceCodeRequest,\n RevokeRefreshTokenRequest,\n} from '@wix/ambassador-identity-oauth-v1-refresh-token/types';\nimport { getMyAccount } from '@wix/ambassador-identity-account-v2-account/http';\nimport {\n deviceCode as deviceCodeRequest,\n token as tokenRequest,\n revokeRefreshToken,\n} from '@wix/ambassador-identity-oauth-v1-refresh-token/http';\nimport type { HttpClient, HttpError } from '@wix/cli-http-client';\nimport { isHttpError, createHttpClient } from '@wix/cli-http-client';\nimport type { VariantOf } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { fields, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { SiteAuth, UserInfo } from './schemas.js';\nimport {\n deviceCodeSchema,\n tokenSchema,\n userInfoSchema,\n getMyAccountSchema,\n} from './schemas.js';\n\nconst {\n FailedToGetAuthToken,\n FailedToGetDeviceCode,\n FailedToRenewAuthToken,\n FailedToRenewAuthTokenSiteNotFound,\n FailedToRevokeRefreshToken,\n} = CliErrorCode;\n\nconst clientId = '6f95cec8-3e98-48b9-b4e5-1fb92fcd9973';\n\nconst getCurrentTimestamp = () => Math.floor(Date.now() / 1000);\n\ntype TokenRequest = {\n clientId: string;\n grantType: string;\n scope?: string;\n deviceCode?: string;\n refreshToken?: string;\n siteId?: string;\n};\n\ntype TokenResponse = {\n access_token: string;\n refresh_token: string;\n expires_in: number;\n};\n\nexport class DeviceCodeNotYetVerifiedError extends Error {}\n\nexport const RenewTokenData = variant({\n TokenRenewed: fields<SiteAuth>(),\n RefreshTokenRevoked: fields<{ cause: HttpError; siteId?: string }>(),\n});\n\nexport type RenewTokenData = VariantOf<typeof RenewTokenData>;\n\nexport class AuthClient {\n private readonly retryOptions: Options;\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n async requestDeviceCode(req: DeviceCodeRequest = {}) {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(deviceCodeRequest({ ...req, clientId })),\n this.retryOptions\n );\n\n return deviceCodeSchema.parse(data);\n } catch (error) {\n throw new CliError({\n code: FailedToGetDeviceCode(),\n cause: error,\n });\n }\n }\n\n async createToken(req: { deviceCode: string }) {\n try {\n const payload: TokenRequest = {\n clientId,\n grantType: 'urn:ietf:params:oauth:grant-type:device_code',\n scope: 'offline_access',\n ...req,\n };\n\n // any is needed because `tokenRequest` uses `RawHttpRequest` and `RawHttpResponse` which are not typed correctly\n const { data } = await pRetry(\n () =>\n this.httpClient.request<TokenResponse>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenRequest(payload as any) as any\n ),\n this.retryOptions\n );\n\n const tokenData = tokenSchema.parse(data);\n\n return {\n ...tokenData,\n issuedAt: getCurrentTimestamp(),\n };\n } catch (error) {\n if (isHttpError(error)) {\n if (\n error.response?.data?.message === 'Device code is not yet verified' ||\n // https://github.com/wix-private/wix-cli/pull/655#discussion_r1145992702\n error.response?.data?.error === 'authorization_pending'\n ) {\n throw new DeviceCodeNotYetVerifiedError(\n 'Device code is not yet verified.'\n );\n }\n }\n\n throw new CliError({\n code: FailedToGetAuthToken(),\n cause: error,\n });\n }\n }\n\n async renewToken(req: { refreshToken: string; siteId?: string }) {\n try {\n const payload: TokenRequest = {\n clientId,\n grantType: 'refresh_token',\n ...req,\n };\n\n // any is needed because `tokenRequest` uses `RawHttpRequest` and `RawHttpResponse` which are not typed correctly\n const { data } = await pRetry(\n () =>\n this.httpClient.request<TokenResponse>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tokenRequest(payload as any) as any\n ),\n this.retryOptions\n );\n\n const tokenData = tokenSchema.parse(data);\n\n return RenewTokenData.TokenRenewed({\n ...tokenData,\n issuedAt: getCurrentTimestamp(),\n });\n } catch (error) {\n if (isHttpError(error)) {\n if (\n error.response?.status === 400 &&\n error.response?.data?.error === 'invalid_grant'\n ) {\n return RenewTokenData.RefreshTokenRevoked({\n cause: error,\n siteId: req.siteId,\n });\n }\n if (\n req.siteId &&\n error.response?.status === 404 &&\n error.response?.data?.details?.applicationError?.code ===\n 'SITE_NOT_FOUND'\n ) {\n throw new CliError({\n code: FailedToRenewAuthTokenSiteNotFound({ siteId: req.siteId }),\n cause: error,\n });\n }\n }\n\n throw new CliError({\n code: FailedToRenewAuthToken(),\n cause: error,\n });\n }\n }\n\n async revokeRefreshToken(\n req: RevokeRefreshTokenRequest,\n { email }: UserInfo\n ) {\n try {\n const { data } = await this.httpClient.request(revokeRefreshToken(req));\n\n return data;\n } catch (error) {\n throw new CliError({\n code: FailedToRevokeRefreshToken({\n email,\n }),\n info: {\n email,\n },\n cause: error,\n });\n }\n }\n\n async userInfo({ accessToken }: { accessToken: string }) {\n try {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: async () => accessToken,\n });\n const { data: userInfoData } = await httpClient.get(\n '/_serverless/wix-cli-userinfo/userinfo'\n );\n\n return userInfoSchema.parse(userInfoData);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetUserInfo(),\n cause: error,\n });\n }\n }\n\n async getMyAccount({ token }: { token: string }) {\n try {\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: async () => token,\n });\n const { data } = await httpClient.request(getMyAccount({}));\n\n return getMyAccountSchema.parse(data).account;\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetMyAccount(),\n cause: error,\n });\n }\n }\n}\n\nexport const client = new AuthClient(createHttpClient({ type: 'backoffice' }));\n","import retry from 'retry';\n\nconst networkErrorMsgs = new Set([\n\t'Failed to fetch', // Chrome\n\t'NetworkError when attempting to fetch resource.', // Firefox\n\t'The Internet connection appears to be offline.', // Safari\n\t'Network request failed', // `cross-fetch`\n\t'fetch failed', // Undici (Node.js)\n]);\n\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\nconst decorateErrorWithCounts = (error, attemptNumber, options) => {\n\t// Minus 1 from attemptNumber because the first attempt does not count as a retry\n\tconst retriesLeft = options.retries - (attemptNumber - 1);\n\n\terror.attemptNumber = attemptNumber;\n\terror.retriesLeft = retriesLeft;\n\treturn error;\n};\n\nconst isNetworkError = errorMessage => networkErrorMsgs.has(errorMessage);\n\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new Error(errorMessage)\n\t: new DOMException(errorMessage);\n\nexport default async function pRetry(input, options) {\n\treturn new Promise((resolve, reject) => {\n\t\toptions = {\n\t\t\tonFailedAttempt() {},\n\t\t\tretries: 10,\n\t\t\t...options,\n\t\t};\n\n\t\tconst operation = retry.operation(options);\n\n\t\toperation.attempt(async attemptNumber => {\n\t\t\ttry {\n\t\t\t\tresolve(await input(attemptNumber));\n\t\t\t} catch (error) {\n\t\t\t\tif (!(error instanceof Error)) {\n\t\t\t\t\treject(new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (error instanceof AbortError) {\n\t\t\t\t\toperation.stop();\n\t\t\t\t\treject(error.originalError);\n\t\t\t\t} else if (error instanceof TypeError && !isNetworkError(error.message)) {\n\t\t\t\t\toperation.stop();\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tdecorateErrorWithCounts(error, attemptNumber, options);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait options.onFailedAttempt(error);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!operation.retry(error)) {\n\t\t\t\t\t\treject(operation.mainError());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (options.signal && !options.signal.aborted) {\n\t\t\toptions.signal.addEventListener('abort', () => {\n\t\t\t\toperation.stop();\n\t\t\t\tconst reason = options.signal.reason === undefined\n\t\t\t\t\t? getDOMException('The operation was aborted.')\n\t\t\t\t\t: options.signal.reason;\n\t\t\t\treject(reason instanceof Error ? reason : getDOMException(reason));\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\t});\n}\n",null,"export * from './serialization';\nexport * from './url-resolver';\nexport * from './flatten-params';\n","export * from './utils';\n","type SchemaType = 'Array' | 'Map';\n\nexport function parseLeanSchemaRef(renderedSchemaName: string = ''): {\n schemaName: string;\n schemaType?: SchemaType;\n} {\n const [typeOrName, schemaName] = getSchemaNameAndType(renderedSchemaName);\n\n if (schemaName) {\n return {\n schemaName,\n schemaType: typeOrName as SchemaType,\n };\n }\n\n return {\n schemaName: typeOrName,\n };\n}\n\n// if there is no type, returns only the name\nconst getSchemaNameAndType = (leanSchema: string): string[] =>\n leanSchema.split('#');\n","import { findByPath } from './utils';\n\nconst USER_DOMAIN = '_';\n\nconst DOMAINS = ['wix.com', 'editorx.com'];\n\nconst WIX_API_DOMAINS = ['42.wixprod.net', 'uw2-edt-1.wixprod.net'];\n\nconst DEV_WIX_CODE_DOMAIN = 'dev.wix-code.com';\n\nconst REGEX_CAPTURE_PROTO_FIELD = /{(.*)}/;\n\nconst REGEX_CAPTURE_DOMAINS = new RegExp(`\\\\.(${DOMAINS.join('|')})$`);\n\nconst REGEX_CAPTURE_API_DOMAINS = new RegExp(\n `\\\\.(${WIX_API_DOMAINS.join('|')})$`,\n);\n\nconst REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN = new RegExp(\n `.*\\\\.${DEV_WIX_CODE_DOMAIN}$`,\n);\n\nexport type ResolveUrlOpts = {\n // resource path as defined in proto file, including all wildcards & co.\n protoPath: string;\n\n // domain as defined on FP to its mappings (might be more than one)\n // www._base_domain_ => [{ srcPath: '/_api/foo', destPath: '/api' }]\n domainToMappings: DomainToMappings;\n\n // actual payload attached to request, needed in order to rersolve path,\n // in case it conatins some dynamic parameters\n data?: object;\n\n // request's host\n host: string;\n};\n\nexport function resolveUrl(opts: ResolveUrlOpts) {\n const domain = resolveDomain(opts.host);\n const mappings = resolveMappingsByDomain(domain, opts.domainToMappings);\n const path = injectDataIntoProtoPath(opts.protoPath, opts.data || {});\n\n return resolvePath(path, mappings);\n}\n\nfunction injectDataIntoProtoPath(protoPath: string, data: object) {\n return protoPath\n .split('/')\n .map((path) => maybeProtoPathToData(path, data))\n .join('/');\n}\n\nfunction maybeProtoPathToData(protoPath: string, data: object) {\n const protoRegExpMatch = protoPath.match(REGEX_CAPTURE_PROTO_FIELD) || [];\n\n const field = protoRegExpMatch[1];\n\n if (field) {\n const suffix = protoPath.replace(protoRegExpMatch[0]!, '');\n return findByPath(data, field, protoPath, suffix);\n }\n\n return protoPath;\n}\n\nfunction resolveDomain(host: string) {\n const resolvedHost = fixHostExceptions(host);\n\n return resolvedHost\n .replace(REGEX_CAPTURE_DOMAINS, '._base_domain_')\n .replace(REGEX_CAPTURE_API_DOMAINS, '._api_base_domain_')\n .replace(REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN, '*.dev.wix-code.com');\n}\n\n// hosts which standard string replacing doesn't apply to them, will be fixed here.\nfunction fixHostExceptions(host: string) {\n // https://system-kb.wixanswers.com/kb/en/article/editorx-domains-matching-to-wixcom\n return host.replace('create.editorx.com', 'editor.editorx.com');\n}\n\nfunction resolveMappingsByDomain(\n domain: string,\n domainToMappings: DomainToMappings,\n) {\n const mappings = domainToMappings[domain] || domainToMappings[USER_DOMAIN];\n\n if (!mappings) {\n if (isBaseDomain(domain)) {\n // fallback <lang>.wix.com sub domains to www.wix.com\n // since all of the languages subdomain are not mapped automatically in FP and we want to support those kind of calls\n // for example: fr.wix.com\n return domainToMappings[wwwBaseDomain];\n }\n }\n\n return mappings;\n}\n\nfunction resolvePath(protoPath: string, mappings: Mapping[]) {\n const mapping = mappings?.find((m) => protoPath.startsWith(m.destPath));\n\n if (!mapping) {\n // todo: should we return the path? if no - what should we do in case of testings?\n return protoPath;\n }\n\n return mapping.srcPath + protoPath.slice(mapping.destPath.length);\n}\n\ntype Mapping = {\n srcPath: string;\n destPath: string;\n};\n\ntype DomainToMappings = Record<string, Mapping[]>;\n\nfunction isBaseDomain(domain: string) {\n return !!domain.match(/\\._base_domain_$/);\n}\n\nconst wwwBaseDomain = 'www._base_domain_';\n","export function findByPath(\n obj: object,\n path: string,\n defaultValue: string,\n suffix: string,\n) {\n let result: any = obj;\n for (const field of path.split('.')) {\n if (!result) {\n return defaultValue;\n }\n result = result[field];\n }\n\n return `${result}${suffix}`;\n}\n","// Flatten a nested object to params object { field: { text: 'foo' } } => { field.text ='foo' }\nfunction flattenParams(data: object, path = '') {\n const params: any = {};\n\n Object.entries(data).forEach(([key, value]) => {\n const isObject =\n value !== null && typeof value === 'object' && !Array.isArray(value);\n const fieldPath = resolvePath(path, key);\n\n if (isObject) {\n const serializedObject = flattenParams(value, fieldPath);\n Object.assign(params, serializedObject);\n } else {\n params[fieldPath] = value;\n }\n });\n\n return params;\n}\n\nfunction resolvePath(path: string, key: string) {\n return `${path}${path ? '.' : ''}${key}`;\n}\n\nexport function toURLSearchParams(params: any) {\n const flatten = flattenParams(params);\n\n return Object.entries(flatten).reduce((urlSearchParams, [key, value]) => {\n // inorder to make `foo: [1,2]` turn into `foo=1&foo=2` and not `foo[]=1&foo[]=2`\n const keyParams = Array.isArray(value) ? value : [value];\n\n keyParams.forEach((param: any) => {\n if (param === undefined || param === null) {\n return;\n }\n\n urlSearchParams.append(key, param);\n });\n\n return urlSearchParams;\n }, new URLSearchParams());\n}\n","import type {\n RenderedLeanSchema,\n RenderedLeanSchemaFields,\n} from '@wix/metro-public-utils';\nimport { ConverterType, Payload } from './serializer/domain';\nimport { schemaSerializer } from './serializer/serializer';\nimport { protobufConverters } from './serializer/protobuf-converters/converters';\nimport { typeToConverterSet } from './serializer/utils';\n\nconst ambassadorConverters = typeToConverterSet([...protobufConverters]);\n\nexport type {\n Long,\n GoogleProtoDuration,\n} from './serializer/protobuf-converters/types';\n\nexport function serializer<T>(\n rootSchema: RenderedLeanSchemaFields,\n depSchemas: RenderedLeanSchema = {},\n) {\n const transform = schemaSerializer(\n rootSchema,\n depSchemas,\n ambassadorConverters,\n );\n\n return {\n fromJSON(jsonOrString: Payload | string): T {\n const jsonOrText = safeJsonParse(jsonOrString) || jsonOrString;\n return transform(jsonOrText, ConverterType.FROM_JSON) as T;\n },\n\n toJSON(json: T) {\n return transform(json, ConverterType.TO_JSON) as Payload;\n },\n };\n}\n\nfunction safeJsonParse(someString: string): any {\n try {\n return JSON.parse(someString);\n } catch (error) {}\n}\n","export enum ConverterType {\n TO_JSON,\n FROM_JSON,\n}\n\nexport type Payload = any;\n\nexport type Converter = {\n transform: (val: any) => any;\n checkRepetable?: (val: any) => boolean;\n};\n\nexport type ConverterSet = {\n types: string[];\n [ConverterType.FROM_JSON]: Converter;\n [ConverterType.TO_JSON]: Converter;\n};\n\nexport type TypeToConverterSet = Record<string, ConverterSet>;\n","import type {\n RenderedLeanSchemaFields,\n RenderedLeanSchema,\n} from '@wix/metro-public-utils';\nimport { parseLeanSchemaRef } from '..';\nimport { ConverterType, Payload, TypeToConverterSet } from './domain';\n\nexport function schemaSerializer(\n rootSchema: RenderedLeanSchemaFields,\n depSchemas: RenderedLeanSchema = {},\n converterSets: TypeToConverterSet,\n) {\n return function serialize(\n json: Payload = {},\n converterType: ConverterType,\n ): Payload {\n return typeof json === 'string' ? json : transformSchema(rootSchema, json);\n\n function transformSchema(\n schema: RenderedLeanSchemaFields,\n payload: any,\n ): Payload {\n const result = {} as Payload;\n if ([null, undefined].includes(payload)) {\n return payload;\n }\n\n Object.entries(payload).forEach(([key, val]) => {\n const renderedSchemaName = schema[key];\n const { schemaName, schemaType } =\n parseLeanSchemaRef(renderedSchemaName);\n\n const isMap = schemaType === 'Map';\n const isRepeatable =\n getConverter(schemaName)?.checkRepetable?.(val) ?? Array.isArray(val);\n\n let parsedValue;\n\n if (isRepeatable) {\n parsedValue = (val as any[]).map((v) => applyField(v, schemaName));\n } else if (isMap) {\n parsedValue = applyFieldOnMap(val, schemaName);\n } else {\n parsedValue = applyField(val, schemaName);\n }\n\n result[key] = parsedValue;\n });\n\n return result;\n }\n\n function applyField(val: unknown, schemaOrSerializer?: string) {\n if (!schemaOrSerializer) {\n return val;\n }\n\n const maybeSchema = depSchemas[schemaOrSerializer];\n const maybeConverter = getConverter(schemaOrSerializer);\n\n if (maybeConverter) {\n return getConverter(schemaOrSerializer).transform(val);\n } else if (maybeSchema) {\n return transformSchema(maybeSchema, val);\n }\n\n throw new Error(\n `${schemaOrSerializer} is neither schema nor serializable type`,\n );\n }\n\n function getConverter(name: string) {\n return converterSets[name]?.[converterType];\n }\n\n function applyFieldOnMap(val: any, sanitizedSchemaOrSerializer: string) {\n return Object.entries(val).reduce<Record<string, any>>(\n (acc, [propertyName, value]) => {\n acc[propertyName] = applyField(value, sanitizedSchemaOrSerializer);\n return acc;\n },\n {},\n );\n }\n };\n}\n","import { ConverterSet } from '../domain';\nimport { timestamp } from './timestamp';\nimport { fieldMask } from './field-mask';\nimport { bytes } from './bytes';\nimport { duration } from './duration';\nimport { float } from './float';\n\nexport const protobufConverters: ConverterSet[] = [\n timestamp,\n fieldMask,\n bytes,\n duration,\n float,\n];\n","import { ConverterSet, ConverterType } from '../domain';\n\nexport const timestamp: ConverterSet = {\n types: ['google.protobuf.Timestamp'],\n\n [ConverterType.TO_JSON]: {\n transform: (val: Date) => val?.toISOString(),\n },\n\n [ConverterType.FROM_JSON]: {\n transform: (val: string) => (val ? new Date(val) : undefined),\n },\n};\n","import { ConverterSet, ConverterType } from '../domain';\n\nexport const fieldMask: ConverterSet = {\n types: ['google.protobuf.FieldMask'],\n\n [ConverterType.TO_JSON]: {\n transform: (val: string[]) => val.join(','),\n\n /**\n * This one handles cases where we have a repeated google.protobuf.FieldMask type,\n * so it will look like: [['foo', 'bar'], ['qux']].\n *\n * The problem is that the serializer detects it as an array with actual fields (strings),\n * while in practice it is an array of multiple google.protobuf.FieldMask.\n *\n * We should determine if the items are actual fields (so each item is a string),\n * or arrays of google.protobuf.FieldMask (so each item is array that has items with fields).\n *\n * Another approach could be marking on the schama itseld each field if it's a repeatable or not,\n * it's not a good appraoch, but as long as google.protobuf.FieldMask is our only issue, it's\n * not _that_ bad solution.\n */\n checkRepetable: (val: string[] | string[][]) => {\n return val.some((v: string | string[]) => Array.isArray(v));\n },\n },\n\n [ConverterType.FROM_JSON]: {\n transform: (val: string | { paths: string[] }) => {\n /**\n * Support Scala FW JSON mapping bug, for more details see:\n *\n * https://github.com/wix-private/server-infra/issues/17953\n */\n if (typeof val === 'object') {\n return val.paths;\n }\n\n return val.split(',');\n },\n },\n};\n","import { ConverterSet, ConverterType } from '../domain';\n\nexport const bytes: ConverterSet = {\n types: ['google.protobuf.BytesValue', 'BYTES'],\n\n [ConverterType.TO_JSON]: {\n transform: (val: number[]) => {\n const chars = val.reduce((res, c) => res + String.fromCharCode(c), '');\n\n return btoa(chars);\n },\n },\n\n [ConverterType.FROM_JSON]: {\n transform: (val: string) => {\n return Uint8Array.from(atob(val), (c) => c.charCodeAt(0));\n },\n },\n};\n","import { ConverterSet, ConverterType } from '../domain';\nimport { GoogleProtoDuration } from './types';\n\nexport const duration: ConverterSet = {\n types: ['google.protobuf.Duration'],\n\n [ConverterType.TO_JSON]: {\n transform: ({ seconds = '0', nanos = 0 }: GoogleProtoDuration) => {\n let nanosPortion = '';\n\n if (nanos !== 0) {\n nanosPortion = `.${nanos.toString().padStart(9, '0')}`;\n }\n\n return `${seconds}${nanosPortion}s`;\n },\n },\n\n [ConverterType.FROM_JSON]: {\n transform: (val: string): GoogleProtoDuration => {\n const [seconds, nanos] = val.substring(0, val.length - 1).split('.');\n\n return {\n seconds,\n nanos: nanosForString(nanos),\n };\n },\n },\n};\n\nfunction nanosForString(nanos: string) {\n let res = 0;\n\n if (nanos !== undefined) {\n const precision = 3 - nanos.length / 3;\n res = parseInt(nanos, 10) * Math.pow(1000, precision);\n }\n\n return res;\n}\n","import { ConverterSet, ConverterType } from '../domain';\n\nexport const float: ConverterSet = {\n types: [\n 'FLOAT',\n 'DOUBLE',\n 'google.protobuf.FloatValue',\n 'google.protobuf.DoubleValue',\n ],\n\n [ConverterType.TO_JSON]: {\n transform: (val: number) => {\n return isFinite(val) ? val : val.toString();\n },\n },\n\n [ConverterType.FROM_JSON]: {\n transform: (val: string | number) => {\n if (val === 'NaN') {\n return NaN;\n }\n\n if (val === 'Infinity') {\n return Infinity;\n }\n\n if (val === '-Infinity') {\n return -Infinity;\n }\n\n return val;\n },\n },\n};\n","import { TypeToConverterSet, ConverterSet } from './domain';\n\nexport function typeToConverterSet(\n converterSets: ConverterSet[],\n): TypeToConverterSet {\n return converterSets.reduce((result, converterSet) => {\n const types = converterSet.types.reduce((typeResult, type) => {\n return {\n ...typeResult,\n [type]: converterSet,\n };\n }, {} as TypeToConverterSet);\n\n return {\n ...result,\n ...types,\n };\n }, {} as TypeToConverterSet);\n}\n",null,"import { z } from 'zod';\n\nexport const deviceCodeSchema = z.object({\n deviceCode: z.string(),\n verificationUri: z.string().url(),\n userCode: z.string(),\n expiresIn: z.number(),\n});\n\nexport type DeviceCodeResponse = z.TypeOf<typeof deviceCodeSchema>;\n\nexport const tokenSchema = z\n .object({\n access_token: z.string(),\n refresh_token: z.string(),\n expires_in: z.number(),\n })\n .transform((token) => ({\n accessToken: token.access_token,\n refreshToken: token.refresh_token,\n expiresIn: token.expires_in,\n }));\n\nexport const userInfoSchema = z.object({\n userId: z.string().uuid(),\n email: z.string().email(),\n});\n\nexport type UserInfo = z.TypeOf<typeof userInfoSchema>;\n\nexport const getMyAccountSchema = z.object({\n account: z.object({\n slug: z.string(),\n accountId: z.string().uuid(),\n accountOwner: z.string().uuid(),\n }),\n});\n\nexport const siteAuthSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string(),\n expiresIn: z.number(),\n issuedAt: z.number(),\n});\n\nexport type SiteAuth = z.TypeOf<typeof siteAuthSchema>;\n\nexport const accountAuthSchema = siteAuthSchema.extend({\n userInfo: userInfoSchema,\n});\n\nexport type AccountAuth = z.TypeOf<typeof accountAuthSchema>;\n\nexport const apiKeyAuthSchema = z.object({\n token: z.string(),\n accountId: z.string().uuid(),\n userInfo: z.object({\n userId: z.string().uuid(),\n email: z.string(),\n }),\n});\n\nexport type ApiKeyAuth = z.TypeOf<typeof apiKeyAuthSchema>;\n","import { unlink, rm } from 'node:fs/promises';\nimport { resolve } from 'node:path';\nimport { getDataDirPath } from '@wix/cli-data-dir';\nimport type { VariantOf } from 'variant';\nimport { match, fields, variant, payload, isType } from 'variant';\nimport { pathExists, readJson, writeJson } from '@wix/cli-fs';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { ApiKeyAuth, AccountAuth, SiteAuth, UserInfo } from './schemas.js';\nimport {\n apiKeyAuthSchema,\n accountAuthSchema,\n siteAuthSchema,\n} from './schemas.js';\n\nfunction getLegacyAuthDataFilePath() {\n return resolve(getDataDirPath(), 'auth.json');\n}\n\nfunction getAuthDataFolder() {\n return resolve(getDataDirPath(), 'auth');\n}\n\nfunction getApiKeyAuthDataFilePath() {\n return resolve(getAuthDataFolder(), 'api-key.json');\n}\n\nfunction getAccountAuthDataFilePath() {\n return resolve(getAuthDataFolder(), 'account.json');\n}\n\nfunction getSiteAuthDataFilePath(siteId: string) {\n return resolve(getAuthDataFolder(), `${siteId}.json`);\n}\n\nexport const ApiKeyAuthData = variant({\n Authenticated: payload<ApiKeyAuth>(),\n Unauthenticated: {},\n});\nexport type ApiKeyAuthData = VariantOf<typeof ApiKeyAuthData>;\n\nexport async function readApiKeyAuthData(): Promise<ApiKeyAuthData> {\n const apiKeyAuthDataFilePath = getApiKeyAuthDataFilePath();\n\n if (!(await pathExists(apiKeyAuthDataFilePath))) {\n return ApiKeyAuthData.Unauthenticated();\n }\n\n const apiKeyFileContents = await readJson(apiKeyAuthDataFilePath);\n const savedApiKeyAuthData = apiKeyAuthSchema.parse(apiKeyFileContents);\n\n return ApiKeyAuthData.Authenticated(savedApiKeyAuthData);\n}\n\nexport async function saveApiKeyAuthData(authData: ApiKeyAuth) {\n try {\n const targetFilePath = getApiKeyAuthDataFilePath();\n\n await writeJson(targetFilePath, authData);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveApiKeyAuthData({\n cause: error,\n }),\n cause: error,\n });\n }\n}\n\nexport const AccountAuthData = variant({\n Authenticated: fields<AccountAuth>(),\n Unauthenticated: {},\n Expired: fields<AccountAuth>(),\n});\nexport type AccountAuthData = VariantOf<typeof AccountAuthData>;\n\nexport async function readAccountAuthData(): Promise<AccountAuthData> {\n const accountAuthDataFilePath = getAccountAuthDataFilePath();\n\n if (!(await pathExists(accountAuthDataFilePath))) {\n return AccountAuthData.Unauthenticated();\n }\n\n const authFileContents = await readJson(accountAuthDataFilePath);\n const savedAccountAuthData = accountAuthSchema.parse(authFileContents);\n\n if (!isValidToken(savedAccountAuthData)) {\n return AccountAuthData.Expired(savedAccountAuthData);\n }\n\n return AccountAuthData.Authenticated(savedAccountAuthData);\n}\n\nexport const SiteAuthData = variant({\n Authenticated: fields<SiteAuth>(),\n Unauthenticated: {},\n Expired: fields<SiteAuth>(),\n});\nexport type SiteAuthData = VariantOf<typeof SiteAuthData>;\n\nexport async function readSiteAuthData(siteId: string): Promise<SiteAuthData> {\n const siteAuthDataFilePath = getSiteAuthDataFilePath(siteId);\n\n if (!(await pathExists(siteAuthDataFilePath))) {\n return SiteAuthData.Unauthenticated();\n }\n\n const authFileContents = await readJson(siteAuthDataFilePath);\n const savedSiteAuthData = siteAuthSchema.parse(authFileContents);\n\n if (!isValidToken(savedSiteAuthData)) {\n return SiteAuthData.Expired(savedSiteAuthData);\n }\n\n return SiteAuthData.Authenticated(savedSiteAuthData);\n}\n\nexport async function saveAuthData(\n authData: AccountAuth | SiteAuth,\n siteId?: string\n) {\n try {\n const targetFilePath = siteId\n ? getSiteAuthDataFilePath(siteId)\n : getAccountAuthDataFilePath();\n\n await writeJson(targetFilePath, authData);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveAuthData({\n cause: error,\n }),\n cause: error,\n });\n }\n}\n\nexport async function deleteAuthData() {\n try {\n await rm(getAuthDataFolder(), { recursive: true, force: true });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToDeleteAuthData({\n cause: error,\n }),\n cause: error,\n });\n }\n\n if (await hasLegacyAuthData()) {\n await deleteLegacyAuthData();\n }\n}\n\nexport async function deleteLegacyAuthData() {\n try {\n await unlink(getLegacyAuthDataFilePath());\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToDeleteLegacyAuthData({\n cause: error,\n }),\n cause: error,\n });\n }\n}\n\nexport async function hasLegacyAuthData() {\n return pathExists(getLegacyAuthDataFilePath());\n}\n\nexport function isValidToken(authData: {\n expiresIn: number;\n issuedAt: number;\n}): boolean {\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const tokenOffset = 10 * 60; // 10 minutes\n const tokenLifetime = authData.expiresIn - tokenOffset;\n const tokenGenerationTimestamp = authData.issuedAt;\n\n return tokenGenerationTimestamp + tokenLifetime > currentTimestamp;\n}\n\nexport async function getUserInfo(): Promise<UserInfo | null> {\n const apiKeyAuthData = await readApiKeyAuthData();\n\n if (isType(apiKeyAuthData, ApiKeyAuthData.Authenticated)) {\n return apiKeyAuthData.payload.userInfo;\n }\n\n const accountAuthData = await readAccountAuthData();\n return match(accountAuthData, {\n Authenticated: ({ userInfo }) => userInfo,\n Expired: ({ userInfo }) => userInfo,\n Unauthenticated: () => null,\n });\n}\n","import pLimit from 'p-limit';\nimport { match, variant, payload, unpack, fields, constant } from 'variant';\nimport pWaitFor, { TimeoutError } from 'p-wait-for';\nimport type { HttpError } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport type { AccountAuth, DeviceCodeResponse } from '../schemas.js';\nimport { client, DeviceCodeNotYetVerifiedError } from '../client.js';\nimport {\n isValidToken,\n deleteAuthData,\n readAccountAuthData,\n saveAuthData,\n} from '../auth-data.js';\nimport type { AuthStrategyState, AuthStrategy } from './auth-strategy-types.js';\n\nconst seconds = (n: number) => 1000 * n;\n\nasync function waitForLogin(\n { deviceCode, expiresIn }: DeviceCodeResponse,\n { signal }: { signal: AbortSignal }\n) {\n try {\n const authData = await pWaitFor(\n async () => {\n try {\n const tokenData = await client.createToken({\n deviceCode,\n });\n\n return pWaitFor.resolveWith(tokenData);\n } catch (error) {\n if (error instanceof DeviceCodeNotYetVerifiedError) {\n // continue polling\n return false;\n }\n\n throw error;\n }\n },\n {\n interval: getTestOverrides().waitForLoginInterval ?? seconds(3),\n timeout: { milliseconds: seconds(expiresIn), signal },\n }\n );\n\n const userInfo = await client.userInfo({\n accessToken: authData.accessToken,\n });\n\n const result = { ...authData, userInfo };\n\n await deleteAuthData();\n await saveAuthData(result);\n\n return result;\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({ code: CliErrorCode.DeviceCodeTimedOut() });\n }\n\n throw error;\n }\n}\n\nconst RenewResult = variant({\n Ok: payload<AccountAuth>(),\n Error: fields<{ cause: HttpError }>(),\n});\nasync function renewAccountAuth({ refreshToken, userInfo }: AccountAuth) {\n const renewTokenResult = await client.renewToken({ refreshToken });\n\n return match(renewTokenResult, {\n TokenRenewed: async (tokenData) => {\n const newAuthData = { userInfo, ...tokenData };\n await saveAuthData(newAuthData);\n return RenewResult.Ok(newAuthData);\n },\n RefreshTokenRevoked: ({ cause }) => RenewResult.Error({ cause }),\n });\n}\n\nasync function getNonExpiredAccountAuth(): Promise<AccountAuth | null> {\n const accountAuthStatus = await readAccountAuthData();\n\n return match(accountAuthStatus, {\n Authenticated: (accountAuth) => accountAuth,\n Unauthenticated: () => null,\n Expired: async (accountAuth) => {\n const renewTokenResult = await renewAccountAuth(accountAuth);\n\n return match(renewTokenResult, {\n Ok: unpack,\n Error: constant(null),\n });\n },\n });\n}\n\nfunction createAccountAuthState({\n userInfo,\n ...initialTokenData\n}: AccountAuth): AuthStrategyState {\n const limiter = pLimit(1);\n let tokenData = { ...initialTokenData };\n\n return {\n getAccessToken: () => {\n return limiter(async () => {\n if (isValidToken(tokenData)) {\n return tokenData.accessToken;\n }\n\n const renewTokenResult = await renewAccountAuth({\n ...tokenData,\n userInfo,\n });\n\n return match(renewTokenResult, {\n Ok: ({ payload: newTokenData }) => {\n tokenData = newTokenData;\n return tokenData.accessToken;\n },\n Error: ({ cause }) => {\n throw new CliError({\n code: CliErrorCode.FailedToRenewAuthToken(),\n cause,\n });\n },\n });\n });\n },\n getRefreshToken: () => tokenData.refreshToken,\n userInfo,\n };\n}\n\nexport const accountAuthStrategy: AuthStrategy = {\n async isLoggedIn() {\n const accountAuth = await getNonExpiredAccountAuth();\n\n if (accountAuth) {\n return createAccountAuthState(accountAuth);\n }\n\n return null;\n },\n async login({ deviceCode, signal }) {\n const accountAuth = await waitForLogin(deviceCode, { signal });\n\n return createAccountAuthState(accountAuth);\n },\n};\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n}\n","import pTimeout from 'p-timeout';\n\nconst resolveValue = Symbol('resolveValue');\n\nexport default async function pWaitFor(condition, options = {}) {\n\tconst {\n\t\tinterval = 20,\n\t\ttimeout = Number.POSITIVE_INFINITY,\n\t\tbefore = true,\n\t} = options;\n\n\tlet retryTimeout;\n\tlet abort = false;\n\n\tconst promise = new Promise((resolve, reject) => {\n\t\tconst check = async () => {\n\t\t\ttry {\n\t\t\t\tconst value = await condition();\n\n\t\t\t\tif (typeof value === 'object' && value[resolveValue]) {\n\t\t\t\t\tresolve(value[resolveValue]);\n\t\t\t\t} else if (typeof value !== 'boolean') {\n\t\t\t\t\tthrow new TypeError('Expected condition to return a boolean');\n\t\t\t\t} else if (value === true) {\n\t\t\t\t\tresolve();\n\t\t\t\t} else if (!abort) {\n\t\t\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\n\t\tif (before) {\n\t\t\tcheck();\n\t\t} else {\n\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t}\n\t});\n\n\tif (timeout === Number.POSITIVE_INFINITY) {\n\t\treturn promise;\n\t}\n\n\ttry {\n\t\treturn await pTimeout(promise, typeof timeout === 'number' ? {milliseconds: timeout} : timeout);\n\t} finally {\n\t\tabort = true;\n\t\tclearTimeout(retryTimeout);\n\t}\n}\n\npWaitFor.resolveWith = value => ({[resolveValue]: value});\n\nexport {TimeoutError} from 'p-timeout';\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import React, { type ReactNode, type FC } from 'react';\nimport { match } from 'variant';\nimport { useAsync, Spinner } from '@wix/cli-ui-kit';\nimport { I18nProvider } from '@wix/cli-i18n';\nimport type {\n AuthStrategy,\n AuthStrategyState,\n} from '../auth-strategies/index.js';\nimport { Login } from './Login.js';\nimport { WarnLegacyAuthData } from './WarnLegacyAuthData.js';\nimport messages from '../messages.json';\n\ninterface Props {\n authStrategy: AuthStrategy;\n onLogin: (data: AuthStrategyState) => void;\n onError: (error: unknown) => void;\n children: (data: AuthStrategyState) => ReactNode;\n}\n\nexport const EnsureLoggedIn: FC<Props> = ({\n authStrategy: { login, isLoggedIn },\n onLogin,\n onError,\n children,\n}) => {\n const { status, merge: updateAccountAuth } = useAsync(isLoggedIn, [], {\n onSuccess: (result) => {\n if (result) {\n onLogin(result);\n }\n },\n onError,\n });\n\n return match(status, {\n Loading: () => <Spinner />,\n Error: () => null,\n Success: ({ result: accountAuth }) => {\n if (accountAuth === null) {\n return (\n <I18nProvider messages={messages}>\n <WarnLegacyAuthData>\n <Login\n loginFn={login}\n onLogin={(data) => {\n updateAccountAuth({ result: data });\n onLogin(data);\n }}\n onError={onError}\n />\n </WarnLegacyAuthData>\n </I18nProvider>\n );\n }\n\n return children(accountAuth);\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { I18nProvider } from '@wix/cli-i18n';\nimport { useBiLogger } from '@wix/cli-telemetry-react';\nimport { wixCliLoginStart, wixCliLoginEnd } from '@wix/bi-logger-wix-cli/v2';\nimport { match } from 'variant';\nimport type { DeviceCodeResponse } from '../schemas.js';\nimport messages from '../messages.json';\nimport {\n type AuthStrategy,\n type AuthStrategyState,\n accountAuthStrategy,\n} from '../auth-strategies/index.js';\nimport { LoginInstructions } from './LoginInstructions.js';\nimport { client } from '../client.js';\n\ninterface Props {\n loginFn: AuthStrategy['login'];\n onLogin: (data: AuthStrategyState) => void;\n onError: (error: unknown) => void;\n}\n\nexport const Login: FC<Props> = ({ loginFn, onLogin, onError }) => {\n const biLogger = useBiLogger();\n\n function handleError(error: unknown) {\n biLogger.report(\n wixCliLoginEnd({\n isSuccess: false,\n ...(error instanceof Error\n ? {\n errorType: error.name,\n }\n : {\n errorType: 'unknown',\n errorMessage: JSON.stringify(error),\n }),\n })\n );\n\n onError(error);\n }\n\n const loginAction = useAsyncCallback(\n async ({ signal }, deviceCodeResponse: DeviceCodeResponse) => {\n try {\n const authData = await loginFn({\n deviceCode: deviceCodeResponse,\n signal,\n });\n biLogger.report(\n wixCliLoginEnd({\n isSuccess: true,\n })\n );\n onLogin(authData);\n } catch (error) {\n handleError(error);\n }\n }\n );\n\n const { status } = useAsync(\n async () => {\n biLogger.report(wixCliLoginStart({}));\n\n return client.requestDeviceCode();\n },\n [],\n {\n onSuccess: (deviceCodeResponse) => {\n loginAction.execute(deviceCodeResponse);\n },\n onError: handleError,\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner />,\n Success: ({ result: { userCode, verificationUri } }) => (\n <LoginInstructions\n userCode={userCode}\n verificationUri={verificationUri}\n />\n ),\n });\n};\n\nexport function LoginWithI18n(props: Omit<Props, 'loginFn'>) {\n return (\n <I18nProvider messages={messages}>\n <Login loginFn={accountAuthStrategy.login} {...props} />\n </I18nProvider>\n );\n}\n","import { LogObject, wixCliAppFlowAppGenerationAppGenerationEndParams, wixCliAppFlowAppGenerationExistingAppSelectedParams, wixCliAppFlowAppGenerationNewAppNameEnteredParams, wixCliAppFlowAppGenerationNewAppRegistrationEndParams, wixCliAppFlowAppGenerationTypeOfCreationSelectedParams, wixCliAppFlowComponentInstalledInTheAppParams, wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams, wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams, wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams, wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams, wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams, wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams, wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams, wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams, wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams, wixCliAppFlowExtensionGenerationExtensionWasAddedParams, wixCliAppFlowFileUploadStartedParams, wixCliAppFlowStepsAnswersParams, wixCliAppFlowZipUploadDoneParams, wixCliAppFlowZipUploadEndedParams, wixCliCliCommandParams, wixCliCliCommandStatusParams, wixCliCliErrorParams, wixCliCliMessageDisplayedParams, wixCliCodeHasBeenChangedParams, wixCliFileFolderCreatedRenamedDeletedParams, wixCliLoginEndParams, wixCliLoginStartParams, wixCliReadyForReloadAfterCodeChangeParams, wixCliUserResponseToCliMessageParams } from '../types';\n\n/**\n * A function to create a log object for the 'wixCliCliCommand' event (evid: 5200)\n *\n * Event description: Sent when a user enters a command (valid/invalid) in the Wix CLI\n *\n * @param {wixCliCliCommandParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} extraFileds - A Json of extra filed - for example - for dev & preview with embedded scripts - is_mocking_values\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {boolean} isValid - Is the entered command a valid CLI command\n * @property {string} nodeVersion - The Node (full) version\n * @property {string} flags - (Optional) Flags that were added to the command (e.g. \"-h\")\n * @property {string} cliVersion - The CLI version\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} command - The command that was entered by the user (e.g. \"wix dev\", \"preview-deployment\"). Note: This can be an invalid command.\n * @property {string} shellVersion - Which version of the shell is being used\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - Which version of the terminal is being used\n * @property {number} siteRevision - (Optional) Site revision, if available\n * @property {string} osName - Which OS is being used\n * @property {string} terminalName - Which terminal is being used\n * @property {string} osVersion - Which version of the OS is being used\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {string} arguments - The arguments/params that are added to the command (comma separated list)\n * @return {LogObject<wixCliCliCommandParams>} LogObject<wixCliCliCommandParams>\n */\nexport function wixCliCliCommand(params: wixCliCliCommandParams): LogObject<wixCliCliCommandParams> {\n return { evid: 5200, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliCliCommandStatus' event (evid: 5201)\n *\n * Event description: Sent after a user enters a command in the Wix CLI\n *\n * @param {wixCliCliCommandStatusParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} extraFileds - A Json with extra data - for example - for build command - build statistics\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {number} duration - The time it took for the command to run (in ms)\n * @property {boolean} isValid - Is the entered command a valid CLI command\n * @property {string} errorMessage - (Optional) The error message displayed, if the command was invalid\n * @property {string} nodeVersion - The Node (full) version\n * @property {string} flags - (Optional) Flags that were added to the command (e.g. \"-h\")\n * @property {string} cliVersion - The CLI version\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} command - The command that was entered by the user (e.g. \"wix dev\", \"preview-deployment\"). Note: This can be an invalid command.\n * @property {boolean} isSuccess - Was the command successful\n * @property {string} extensions - Jsom of extensions type & number of each extensions: {side_bar_category:3,dashboard_page:4...}\n * @property {string} errorType - (Optional) The error type, if the command was invalid - User/ System error\n * @property {string} shellVersion - Which version of the shell is being used\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - Which version of the terminal is being used\n * @property {number} siteRevision - (Optional) Site revision, if available\n * @property {string} failedStep - (Optional) If the generation was unsuccessful, which step failed\n * @property {string} osName - Which OS is being used\n * @property {string} errorName - The error name - a generic name for a group off errors. (Optional) if the command was invalid\n * @property {string} suggestion - (Optional) Which suggestion was shown to the user, if any\n * @property {string} terminalName - Which terminal is being used\n * @property {string} osVersion - Which version of the OS is being used\n * @property {string} previewUrl - The preview url that the user gets from us, can be null (will be sent only for preview command)\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {string} arguments - The arguments/params that are added to the command (comma separated list)\n * @return {LogObject<wixCliCliCommandStatusParams>} LogObject<wixCliCliCommandStatusParams>\n */\nexport function wixCliCliCommandStatus(params: wixCliCliCommandStatusParams): LogObject<wixCliCliCommandStatusParams> {\n return { evid: 5201, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliFileFolderCreatedRenamedDeleted' event (evid: 5202)\n *\n * Event description: Sent when a user creates, renames or deletes a file/folder in the local flow using Wix CLI\n *\n * @param {wixCliFileFolderCreatedRenamedDeletedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {string} path - Full path of the file/folder after its creation/rename (e.g. \"backend/media-control.jsw\"), or name of the file that has been deleted\n * @property {string} nodeVersion - The Node (full) version\n * @property {string} cliVersion - The CLI version\n * @property {string} oldPath - (Optional) Previous full path of the file/folder, in case action = \"Rename\"\n * @property {string} sectionName - Section name (\"public\"/\"backend\"/\"other\")\n * @property {string} shellVersion - Which version of the shell is being used\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - Which version of the terminal is being used\n * @property {number} siteRevision - (Optional) Site revision\n * @property {string} osName - Which OS is being used\n * @property {string} terminalName - Which terminal is being used\n * @property {string} type - Type of the created object: \"folder\"/file extension\n * @property {string} osVersion - Which version of the OS is being used\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {string} action - \"Create\" / \"Rename\" / \"Delete\"\n * @return {LogObject<wixCliFileFolderCreatedRenamedDeletedParams>} LogObject<wixCliFileFolderCreatedRenamedDeletedParams>\n */\nexport function wixCliFileFolderCreatedRenamedDeleted(params: wixCliFileFolderCreatedRenamedDeletedParams): LogObject<wixCliFileFolderCreatedRenamedDeletedParams> {\n return { evid: 5202, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliCodeHasBeenChanged' event (evid: 5203)\n *\n * Event description: Sent when the user changes their code while Wix CLI is running (per local save)\n *\n * @param {wixCliCodeHasBeenChangedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {string} nodeVersion - Which Node (full) version is being used\n * @property {string} cliVersion - The CLI version\n * @property {string} fileName - Full path of file (e.g. \"public/pages/lkrir.js\")\n * @property {string} shellVersion - Which version of the shell is being used\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - Which version of the terminal is being used\n * @property {number} siteRevision - Site revision\n * @property {string} osName - Which OS is being used\n * @property {string} terminalName - Which terminal is being used\n * @property {string} osVersion - Which version of the OS is being used\n * @property {GUID} cliSessionID - A unique ID for each Wix dev session\n * @return {LogObject<wixCliCodeHasBeenChangedParams>} LogObject<wixCliCodeHasBeenChangedParams>\n */\nexport function wixCliCodeHasBeenChanged(params: wixCliCodeHasBeenChangedParams): LogObject<wixCliCodeHasBeenChangedParams> {\n return { evid: 5203, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliCliMessageDisplayed' event (evid: 5204)\n *\n * Event description: Sent when the Wix CLI presents a message to the user (e.g. after the editor disconnects)\n *\n * @param {wixCliCliMessageDisplayedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {string} nodeVersion - Which Node (full) version is being used\n * @property {string} cliVersion - The CLI version\n * @property {string} shellVersion - Which version of the shell is being used\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - Which version of the terminal is being used\n * @property {number} siteRevision - (Optional) Site revision, if available\n * @property {GUID} messageId - A unique ID for each message displayed\n * @property {string} osName - Which OS is being used\n * @property {string} message - The message that the CLI displays to the user\n * @property {string} terminalName - Which terminal is being used\n * @property {string} osVersion - Which version of the OS is being used\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliCliMessageDisplayedParams>} LogObject<wixCliCliMessageDisplayedParams>\n */\nexport function wixCliCliMessageDisplayed(params: wixCliCliMessageDisplayedParams): LogObject<wixCliCliMessageDisplayedParams> {\n return { evid: 5204, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliUserResponseToCliMessage' event (evid: 5205)\n *\n * Event description: Sent when the user responds to a message presented by the CLI\n *\n * @param {wixCliUserResponseToCliMessageParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {string} nodeVersion - The Node (full) version\n * @property {string} cliVersion - The CLI version\n * @property {string} shellVersion - The shell version\n * @property {string} shellName - The shell that is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - The terminal version\n * @property {number} siteRevision - (Optional) Site revision, if available\n * @property {GUID} messageId - A unique ID for each message displayed\n * @property {string} osName - The OS that is being used\n * @property {string} message - The message that the CLI displays to the user\n * @property {string} terminalName - The terminal that is being used\n * @property {string} osVersion - The version of the OS that is being used\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {string} action - The action performed by the user\n * @return {LogObject<wixCliUserResponseToCliMessageParams>} LogObject<wixCliUserResponseToCliMessageParams>\n */\nexport function wixCliUserResponseToCliMessage(params: wixCliUserResponseToCliMessageParams): LogObject<wixCliUserResponseToCliMessageParams> {\n return { evid: 5205, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliReadyForReloadAfterCodeChange' event (evid: 5206)\n *\n * Event description: Sent when Wix CLI is ready to reload the page after it has detected the user has changed code in the project\n *\n * @param {wixCliReadyForReloadAfterCodeChangeParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} isCI - Should be true if was fired from a CI environment\n * @property {number} duration - Time it took for Wix CLI to be ready to load the page after the code change (in ms)\n * @property {string} nodeVersion - The Node (full) version\n * @property {string} cliVersion - The CLI version\n * @property {string} fileName - Full path of file (e.g. \"public/pages/lkrir.js\")\n * @property {string} shellVersion - The shell version\n * @property {string} shellName - Which shell is being used\n * @property {string} flow - \"Sites\"/\"Apps\"\n * @property {string} terminalVersion - The terminal version\n * @property {number} siteRevision - Site revision\n * @property {string} osName - Which OS is being used\n * @property {string} terminalName - Which terminal is being used\n * @property {string} osVersion - The OS version\n * @property {GUID} cliSessionID - A unique ID for each Wix dev session\n * @return {LogObject<wixCliReadyForReloadAfterCodeChangeParams>} LogObject<wixCliReadyForReloadAfterCodeChangeParams>\n */\nexport function wixCliReadyForReloadAfterCodeChange(params: wixCliReadyForReloadAfterCodeChangeParams): LogObject<wixCliReadyForReloadAfterCodeChangeParams> {\n return { evid: 5206, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowFileUploadStarted' event (evid: 5208)\n *\n * Event description: Sent when the hosting service starts uploading files required by an app\n *\n * @param {wixCliAppFlowFileUploadStartedParams} params - The parameters for this event\n * @property {number} numFiles - How many files are uploaded\n * @property {string} projectId - The project that the users is currently working on\n * @property {number} fileSizeNotCompressed - The total size of the uploaded files\n * @property {string} hostingProvider - The hosting provider (\"Wix\"/...)\n * @property {number} timestampMs - The event's start time\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {number} fileSizeCompressed - The total size of the uploaded files, compressed\n * @return {LogObject<wixCliAppFlowFileUploadStartedParams>} LogObject<wixCliAppFlowFileUploadStartedParams>\n */\nexport function wixCliAppFlowFileUploadStarted(params: wixCliAppFlowFileUploadStartedParams): LogObject<wixCliAppFlowFileUploadStartedParams> {\n return { evid: 5208, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowZipUploadDone' event (evid: 5209)\n *\n * Event description: Sent when the hosting service is done uploading the zip\n *\n * @param {wixCliAppFlowZipUploadDoneParams} params - The parameters for this event\n * @property {number} duration - How much time it took to to upload the zip (in ms)\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowZipUploadDoneParams>} LogObject<wixCliAppFlowZipUploadDoneParams>\n */\nexport function wixCliAppFlowZipUploadDone(params: wixCliAppFlowZipUploadDoneParams): LogObject<wixCliAppFlowZipUploadDoneParams> {\n return { evid: 5209, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowZipUploadEnded' event (evid: 5210)\n *\n * Event description: Sent when the hosting service is done with the entire upload of the files\n *\n * @param {wixCliAppFlowZipUploadEndedParams} params - The parameters for this event\n * @property {number} duration - How much time it took for the entire upload (in ms)\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowZipUploadEndedParams>} LogObject<wixCliAppFlowZipUploadEndedParams>\n */\nexport function wixCliAppFlowZipUploadEnded(params: wixCliAppFlowZipUploadEndedParams): LogObject<wixCliAppFlowZipUploadEndedParams> {\n return { evid: 5210, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliLoginStart' event (evid: 5211)\n *\n * Event description: Sent when the Wix CLI authentication flow starts\n *\n * @param {wixCliLoginStartParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {boolean} wasLoggedIn - Was the user logged in before; i.e. did the user log out before starting the login process\n * @property {number} try - Which login is this - if 0, first try; if > 0, then this is a retry\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliLoginStartParams>} LogObject<wixCliLoginStartParams>\n */\nexport function wixCliLoginStart(params: wixCliLoginStartParams): LogObject<wixCliLoginStartParams> {\n return { evid: 5211, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliLoginEnd' event (evid: 5212)\n *\n * Event description: Sent when the Wix CLI authentication flow ends\n *\n * @param {wixCliLoginEndParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {number} try - Which login is this - if 0, first try; if > 0, then this is a retry\n * @property {string} errorMessage - (Optional) The error message displayed, if the login was unsuccessul\n * @property {boolean} isSuccess - Was the login successful\n * @property {string} errorType - (Optional) The error type, if the login was unsuccessful\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliLoginEndParams>} LogObject<wixCliLoginEndParams>\n */\nexport function wixCliLoginEnd(params: wixCliLoginEndParams): LogObject<wixCliLoginEndParams> {\n return { evid: 5212, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowAppGenerationTypeOfCreationSelected' event (evid: 5213)\n *\n * Event description: Sent when the user selects whether they would like to create a new Wix app or extend an existing one\n *\n * @param {wixCliAppFlowAppGenerationTypeOfCreationSelectedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} type - What would the user like to create: a new Wix app, or add new extensions to an existing app\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowAppGenerationTypeOfCreationSelectedParams>} LogObject<wixCliAppFlowAppGenerationTypeOfCreationSelectedParams>\n */\nexport function wixCliAppFlowAppGenerationTypeOfCreationSelected(params: wixCliAppFlowAppGenerationTypeOfCreationSelectedParams): LogObject<wixCliAppFlowAppGenerationTypeOfCreationSelectedParams> {\n return { evid: 5213, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowAppGenerationNewAppNameEntered' event (evid: 5214)\n *\n * Event description: Sent when the user enters the name of the new app they want to create\n *\n * @param {wixCliAppFlowAppGenerationNewAppNameEnteredParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} name - Name of the new Wix App the user wants to create\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowAppGenerationNewAppNameEnteredParams>} LogObject<wixCliAppFlowAppGenerationNewAppNameEnteredParams>\n */\nexport function wixCliAppFlowAppGenerationNewAppNameEntered(params: wixCliAppFlowAppGenerationNewAppNameEnteredParams): LogObject<wixCliAppFlowAppGenerationNewAppNameEnteredParams> {\n return { evid: 5214, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowAppGenerationNewAppRegistrationEnd' event (evid: 5215)\n *\n * Event description: Sent when the new app registration ends (successfully or not)\n *\n * @param {wixCliAppFlowAppGenerationNewAppRegistrationEndParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} errorMessage - (Optional) If the registration was unsuccessful, the error message displayed to the user\n * @property {string} result - Was the app registration in the Dev Center successful or not\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} errorType - (Optional) If the registration was unsuccessful, the error type\n * @property {string} appId - ID of the newly created Wix App\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowAppGenerationNewAppRegistrationEndParams>} LogObject<wixCliAppFlowAppGenerationNewAppRegistrationEndParams>\n */\nexport function wixCliAppFlowAppGenerationNewAppRegistrationEnd(params: wixCliAppFlowAppGenerationNewAppRegistrationEndParams): LogObject<wixCliAppFlowAppGenerationNewAppRegistrationEndParams> {\n return { evid: 5215, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowAppGenerationExistingAppSelected' event (evid: 5216)\n *\n * Event description: Sent when the user selects an existing app they want to extend\n *\n * @param {wixCliAppFlowAppGenerationExistingAppSelectedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} appName - Name of the existing Wix App the user wants to extend\n * @property {string} projectId - The project that the users is currently working on\n * @property {number} numApps - How many apps does the user have\n * @property {string} appId - ID of the existing Wix App the user wants to extend\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowAppGenerationExistingAppSelectedParams>} LogObject<wixCliAppFlowAppGenerationExistingAppSelectedParams>\n */\nexport function wixCliAppFlowAppGenerationExistingAppSelected(params: wixCliAppFlowAppGenerationExistingAppSelectedParams): LogObject<wixCliAppFlowAppGenerationExistingAppSelectedParams> {\n return { evid: 5216, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowAppGenerationAppGenerationEnd' event (evid: 5217)\n *\n * Event description: Sent when the new app generation end (successfully or not)\n *\n * @param {wixCliAppFlowAppGenerationAppGenerationEndParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the command was entered\n * @property {string} errorMessage - (Optional) If the generation was unsuccessful, the error message displayed to the user\n * @property {string} result - Was the app folder generation successful or not\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} errorType - (Optional) If the generation was unsuccessful, the error type\n * @property {string} failedStep - (Optional) If the generation was unsuccessful, which step failed\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowAppGenerationAppGenerationEndParams>} LogObject<wixCliAppFlowAppGenerationAppGenerationEndParams>\n */\nexport function wixCliAppFlowAppGenerationAppGenerationEnd(params: wixCliAppFlowAppGenerationAppGenerationEndParams): LogObject<wixCliAppFlowAppGenerationAppGenerationEndParams> {\n return { evid: 5217, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowComponentInstalledInTheApp' event (evid: 5218)\n *\n * Event description: Sent the components installed in the app when the app is published.\n *\n * @param {wixCliAppFlowComponentInstalledInTheAppParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} cliVersion - The CLI version\n * @property {string} appCurrentVersion - The app version\n * @property {string} componentId - The Component Id\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} widgetType - Relevant only for component type = widget. Pushed / Asked\n * @property {string} componentType - widget, page, sidebar category\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowComponentInstalledInTheAppParams>} LogObject<wixCliAppFlowComponentInstalledInTheAppParams>\n */\nexport function wixCliAppFlowComponentInstalledInTheApp(params: wixCliAppFlowComponentInstalledInTheAppParams): LogObject<wixCliAppFlowComponentInstalledInTheAppParams> {\n return { evid: 5218, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteSiteSelectorOpened' event (evid: 5219)\n *\n * Event description: Sent when the sites selector is open\n *\n * @param {wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {number} devSitesLimit - How many development sites CAN the user have\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {string} origin - From where did the user get to the Development Site Selector\n * @property {number} devSitesCount - How many development sites does the user currently have\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams>} LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams>\n */\nexport function wixCliAppFlowDevelopmentSiteSiteSelectorOpened(params: wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams): LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorOpenedParams> {\n return { evid: 5219, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelected' event (evid: 5220)\n *\n * Event description: Sent when a site was selected at the sites selector\n *\n * @param {wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {string} type - Would the user like to create a new development site or pick an existing one\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams>} LogObject<wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams>\n */\nexport function wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelected(params: wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams): LogObject<wixCliAppFlowDevelopmentSiteTypeOfDevelopmentSiteSelectedParams> {\n return { evid: 5220, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStart' event (evid: 5221)\n *\n * Event description: Sent when a New Development Site Creation Starts\n *\n * @param {wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams>} LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams>\n */\nexport function wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStart(params: wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams): LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationStartParams> {\n return { evid: 5221, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEnd' event (evid: 5222)\n *\n * Event description: Sent when a New Development Site Creation Ends\n *\n * @param {wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} errorMessage - (Optional) If the site creation was unsuccessful, the error message displayed to the user\n * @property {string} result - Was the new site creation successful or not\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {string} errorType - (Optional) If the site creation was unsuccessful, the error type\n * @property {string} siteName - (Optional) Name of the newly created development site\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {GUID} msid - The site's ID\n * @property {string} siteUrl - (Optional) URL of the newly created development site\n * @return {LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams>} LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams>\n */\nexport function wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEnd(params: wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams): LogObject<wixCliAppFlowDevelopmentSiteNewDevelopmentSiteCreationEndParams> {\n return { evid: 5222, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteExistingSiteSelected' event (evid: 5223)\n *\n * Event description: Sent when an Existing site was selected\n *\n * @param {wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {string} siteName - (Optional) Name of the newly created development site\n * @property {number} numSites - How many sites does the user have (>=1)\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {GUID} msid - The site's ID\n * @property {string} siteUrl - (Optional) URL of the newly created development site\n * @return {LogObject<wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams>} LogObject<wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams>\n */\nexport function wixCliAppFlowDevelopmentSiteExistingSiteSelected(params: wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams): LogObject<wixCliAppFlowDevelopmentSiteExistingSiteSelectedParams> {\n return { evid: 5223, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStart' event (evid: 5224)\n *\n * Event description: Sent when an App Installation on Development Site Starts\n *\n * @param {wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} appName - Name of the Wix App the user wants to install\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {GUID} appId - ID of the Wix App the user wants to install\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {GUID} msid - The site's ID\n * @return {LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams>} LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams>\n */\nexport function wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStart(params: wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams): LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteStartParams> {\n return { evid: 5224, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEnd' event (evid: 5225)\n *\n * Event description: Sent when an App Installation on Development Site Ends\n *\n * @param {wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} errorMessage - (Optional) If the app installation on the site was unsuccessful, the error message displayed to the user\n * @property {string} result - Was the app successfully installed on the development site or not\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {string} errorType - (Optional) If the site installation on the site was unsuccessful, the error type\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {GUID} msid - The site's ID\n * @return {LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams>} LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams>\n */\nexport function wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEnd(params: wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams): LogObject<wixCliAppFlowDevelopmentSiteAppInstallationOnDevelopmentSiteEndParams> {\n return { evid: 5225, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteDevelopmentSiteSet' event (evid: 5226)\n *\n * Event description: Sent when a development site was set\n *\n * @param {wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {GUID} msid - The site's ID\n * @return {LogObject<wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams>} LogObject<wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams>\n */\nexport function wixCliAppFlowDevelopmentSiteDevelopmentSiteSet(params: wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams): LogObject<wixCliAppFlowDevelopmentSiteDevelopmentSiteSetParams> {\n return { evid: 5226, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowDevelopmentSiteSiteSelectorAborted' event (evid: 5227)\n *\n * Event description: Sent when there was a Site Selector Abort\n *\n * @param {wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} projectId - The project that the users is currently working on\n * @property {GUID} siteSelectorSessionId - A unique ID for each Site Selector session\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams>} LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams>\n */\nexport function wixCliAppFlowDevelopmentSiteSiteSelectorAborted(params: wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams): LogObject<wixCliAppFlowDevelopmentSiteSiteSelectorAbortedParams> {\n return { evid: 5227, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowExtensionGenerationExtensionWasAdded' event (evid: 5228)\n *\n * Event description: Sent the Extension generated in the app when the generate session is finished.\n *\n * @param {wixCliAppFlowExtensionGenerationExtensionWasAddedParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} failureReason - The failure reason, will be null if the extension was added successfully\n * @property {string} cliVersion - The CLI version\n * @property {string} appCurrentVersion - The app version\n * @property {string} componentId - The Component Id\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} widgetType - Relevant only for component type = widget. Pushed / Asked\n * @property {string} componentType - widget, page, sidebar category\n * @property {boolean} wasSuccess - True if the extension was added successfully\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliAppFlowExtensionGenerationExtensionWasAddedParams>} LogObject<wixCliAppFlowExtensionGenerationExtensionWasAddedParams>\n */\nexport function wixCliAppFlowExtensionGenerationExtensionWasAdded(params: wixCliAppFlowExtensionGenerationExtensionWasAddedParams): LogObject<wixCliAppFlowExtensionGenerationExtensionWasAddedParams> {\n return { evid: 5228, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliAppFlowStepsAnswers' event (evid: 5229)\n *\n * Event description: Sent on each answer the user writes, on each step of the flow. (answers for CLI questions)\n *\n * @param {wixCliAppFlowStepsAnswersParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the component was published\n * @property {string} question - The question that the user is answering on\n * @property {string} cliVersion - The CLI version\n * @property {string} appCurrentVersion - The app version\n * @property {string} projectId - The project that the users is currently working on\n * @property {string} command - The command that the user is working on now\n * @property {string} componentType - deprecate\n * @property {number} questionNum - deprecate\n * @property {string} answer - The answer that the user wrote\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @property {string} flow - Apps / Sites\n * @property {string} arguments - Additional data - for example the template name\n * @property {string} additionalInfo - Any additional info needed in Json - {extensionType:”...”, extensionGroup:”...”, etc…}.\n * extensionType - dashboard page / side bar category / specific-ecomm-checkout-plugin / etc.. (relevant only for Existing app extension flow)\n * extensionGroup - Dashboard / site / backend\n * @return {LogObject<wixCliAppFlowStepsAnswersParams>} LogObject<wixCliAppFlowStepsAnswersParams>\n */\nexport function wixCliAppFlowStepsAnswers(params: wixCliAppFlowStepsAnswersParams): LogObject<wixCliAppFlowStepsAnswersParams> {\n return { evid: 5229, src: 11, endpoint: 'wix-cli', params };\n}\n\n/**\n * A function to create a log object for the 'wixCliCliError' event (evid: 5230)\n *\n * Event description: Sent when there is a user/ system error at the CLI\n *\n * @param {wixCliCliErrorParams} params - The parameters for this event\n * @property {DateTime} localTime - The local time during which the error happened\n * @property {string} errorMessage - (Optional) The error message displayed, if the command was invalid\n * @property {string} projectId - The project id that the dev is currently working on\n * @property {string} errorType - (Optional) The error type, if the command was invalid - User/ System error\n * @property {string} errorName - The error name - a generic name for a group off errors. (Optional) if the command was invalid\n * @property {GUID} cliSessionId - A unique ID for each Wix dev session\n * @return {LogObject<wixCliCliErrorParams>} LogObject<wixCliCliErrorParams>\n */\nexport function wixCliCliError(params: wixCliCliErrorParams): LogObject<wixCliCliErrorParams> {\n return { evid: 5230, src: 11, endpoint: 'wix-cli', params };\n}\n","{\n \"login.instructions_title\": \"Authorize the CLI to access your Wix account:\",\n \"login.instructions_details\": \"1. Copy this code to the clipboard: <0>{code}</0>\\n2. Press <1/> to connect to <2/> then paste the code\",\n \"login.legacy_auth_notice\": \"We implemented a new and more secure login method. You'll need to re-login to continue using the CLI.\",\n \"login.error_opening_browser\": \"Failed to open browser, please try opening <0/> manually.\"\n}\n","import React, { useState, type FC } from 'react';\nimport { Box, Text, Link, useInput, Key } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { ErrorViewer, useErrorReporter } from '@wix/cli-error-reporting';\n\ninterface Props {\n userCode: string;\n verificationUri: string;\n}\n\nexport const LoginInstructions: FC<Props> = ({ userCode, verificationUri }) => {\n const { reportError } = useErrorReporter();\n const [openBrowserError, setOpenBrowserError] = useState<unknown | null>(\n null\n );\n\n useInput((input, key) => {\n if (key.return) {\n openBrowser(verificationUri).catch((error: unknown) => {\n reportError(error);\n setOpenBrowserError(error);\n });\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"login.instructions_title\" />\n <Box flexDirection=\"column\" marginTop={1} marginBottom={1} marginLeft={2}>\n <Trans\n i18nKey=\"login.instructions_details\"\n components={[\n <Text skin=\"legacyBlue\" />,\n <Key value=\"enter\" />,\n <Link url={verificationUri} />,\n ]}\n values={{ code: userCode }}\n />\n </Box>\n\n {openBrowserError && (\n <>\n <Box flexDirection=\"column\" marginBottom={1}>\n <ErrorViewer error={openBrowserError} />\n </Box>\n\n <Trans\n i18nKey=\"login.error_opening_browser\"\n components={[<Link url={verificationUri} />]}\n />\n </>\n )}\n </>\n );\n};\n","import open from 'open';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { open as openTestkit } from './open-testkit.js';\n\nexport async function openBrowser(url: string) {\n const { userBrowserTestEndpoint: testEndpoint } = getTestOverrides();\n\n if (testEndpoint) {\n await openTestkit(testEndpoint, url);\n } else {\n await open(url, {\n background: true,\n });\n }\n}\n","import { createHttpClient } from '@wix/http-client';\n\nexport async function open(testEndpoint: string, url: string) {\n await createHttpClient().post(testEndpoint, undefined, {\n params: {\n url,\n },\n });\n}\n","import React, { type FC, type ReactNode } from 'react';\nimport { match } from 'variant';\nimport { Box, useAsync } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { hasLegacyAuthData } from '../auth-data.js';\n\ninterface Props {\n children: ReactNode;\n}\n\nexport const WarnLegacyAuthData: FC<Props> = ({ children }) => {\n const { status } = useAsync(hasLegacyAuthData, [], { onError: () => {} });\n\n return match(status, {\n Error: () => null,\n Loading: () => null,\n Success: ({ result }) => (\n <>\n {result && (\n <Box marginBottom={1}>\n <Trans i18nKey=\"login.legacy_auth_notice\" />\n </Box>\n )}\n {children}\n </>\n ),\n });\n};\n","import { accountAuthStrategy } from './auth-strategies/index.js';\n\nexport const { isLoggedIn: isLoggedInToAccount } = accountAuthStrategy;\n\nexport { logout } from './logout.js';\nexport { getUserInfo } from './auth-data.js';\nexport type { UserInfo } from './schemas.js';\nexport { useAuth } from './useAuth.js';\nexport { ApiKeyLogin } from './components/ApiKeyLogin.js';\nexport { LoginWithI18n as Login } from './components/Login.js';\nexport { AccountAuthProvider } from './providers/AccountAuthProvider.js';\nexport { SiteAuthProvider } from './providers/SiteAuthProvider.js';\nexport { authenticate, authenticateWithSiteId } from './authenticate.js';\nexport type { AuthState } from './context.js';\n","import { useContext } from 'react';\nimport { AuthContext, type AuthState } from './context.js';\n\nexport function useAuth(): AuthState {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error('useAuth() cannot be used without an <AuthProvider>');\n }\n\n return context;\n}\n"],"mappings":"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","names":["exports","maybeGetDocument","maybeGetGlobal","init_globals","__esmMin","init_esm_shims","readCookie","name","cookieValue","getCookieByName","loadCookies","documentObj","maybeGetDocument","cookie","init_cookies","__esmMin","init_esm_shims","init_globals","csrf","value","readCookie","XSRF_TOKEN_COOKIE_NAME","XSRF_HEADER_NAME","init_csrf","__esmMin","init_esm_shims","init_cookies","xWixBrand","value","extractBrand","X_WIX_BRAND_NAME","globalObj","maybeGetGlobal","init_x_wix_brand","__esmMin","init_esm_shims","init_globals","consentPolicy","tryResolveNativeAPI","tryResolveJsSDK","none","globalObj","maybeGetGlobal","init_consent_policy","__esmMin","init_esm_shims","init_globals","authorization","signedInstance","init_authorization","__esmMin","init_esm_shims","isCI","isNode","init_utils","__esmMin","init_esm_shims","artifactId","override","artifactIdToUse","isCI","init_artifact_id","__esmMin","init_esm_shims","init_utils","extractCommonConfigValues","commonConfigObj","maybeGetGlobal","res","addedKeys","key","newKey","MAP_KEYS","IGNORE_KEYS","COMMON_CONFIG_NAME","commonConfig","init_common_config","__esmMin","init_esm_shims","init_globals","commonConfigValues","value","require_base64","__commonJSMin","exports","module","init_esm_shims","root","freeExports","freeModule","freeGlobal","InvalidCharacterError","message","error","TABLE","REGEX_SPACE_CHARACTERS","decode","input","length","bitCounter","bitStorage","buffer","output","position","encode","padding","a","b","c","base64","key","linguistHeader","lang","locale","isPrimaryLanguage","signedInstance","isMultilingualOptionsAreValid","instanceId","getInstanceIdFromSignedInstance","LINGUIST_HEADER_KEY","encodedInstance","base64","import_base_64","init_linguist","__esmMin","init_esm_shims","WixHeadersValidationError","init_errors","__esmMin","init_esm_shims","type","key","value","assertBoolean","key","value","WixHeadersValidationError","assertString","init_assert","__esmMin","init_esm_shims","init_errors","esm_exports","__export","createHeaders","opts","verifyOptsOrThrow","headers","xWixBrand","consentPolicy","authorization","artifactId","commonConfig","linguistHeader","csrf","hdrs","v","result","assertBoolean","assertString","init_esm","__esmMin","init_esm_shims","init_csrf","init_x_wix_brand","init_consent_policy","init_authorization","init_artifact_id","init_common_config","init_linguist","init_assert","isBrowser","exports","isWebWorker","_a","isNode","constants_1","env_util_1","isAbsoluteUrl","url","exports","silent","fn","extractProp","data","path","prop","result","resolveHost","opts","extractHost","resolveProtocol","extractProtocol","extractHostAndProtocolUsingRegExp","asUrl","regExp","urlOptions","changeHost","urlOrPath","host","getGlobalConfig","defaultConfig","globalConfig","isHttpMockServerEnabled","shouldAllowUnmocked","toSearchQueryParams","params","key","value","require_whitelist","__commonJSMin","exports","module","headers_1","utils_1","whitelist_json_1","tslib_1","requestIdOrEmptyString","response","_a","exports","composeHeaders","url","disableWixHeaders","wixHeadersOpts","isWixDomain","host","wixHost","headers_1","exports","HttpError","_HttpError","error","key","createHttpError","args","require_bind","__commonJSMin","exports","module","init_esm_shims","fn","thisArg","args","require_utils","__commonJSMin","exports","module","init_esm_shims","bind","toString","isArray","val","isUndefined","isBuffer","isArrayBuffer","isFormData","isArrayBufferView","result","isString","isNumber","isObject","isPlainObject","prototype","isDate","isFile","isBlob","isFunction","isStream","isURLSearchParams","trim","str","isStandardBrowserEnv","forEach","obj","fn","i","l","key","merge","assignValue","extend","a","b","thisArg","stripBOM","content","require_enhanceError","__commonJSMin","exports","module","init_esm_shims","error","config","code","request","response","require_createError","__commonJSMin","exports","module","init_esm_shims","enhanceError","message","config","code","request","response","error","require_settle","__commonJSMin","exports","module","init_esm_shims","createError","resolve","reject","response","validateStatus","require_isAbsoluteURL","__commonJSMin","exports","module","init_esm_shims","url","require_combineURLs","__commonJSMin","exports","module","init_esm_shims","baseURL","relativeURL","require_buildFullPath","__commonJSMin","exports","module","init_esm_shims","isAbsoluteURL","combineURLs","baseURL","requestedURL","require_buildURL","__commonJSMin","exports","module","init_esm_shims","utils","encode","val","url","params","paramsSerializer","serializedParams","parts","key","v","hashmarkIndex","require_ms","__commonJSMin","exports","module","init_esm_shims","s","m","h","d","w","y","val","options","type","parse","fmtLong","fmtShort","str","match","n","ms","msAbs","plural","name","isPlural","require_common","__commonJSMin","exports","module","init_esm_shims","setup","env","createDebug","coerce","disable","enable","enabled","destroy","key","selectColor","namespace","hash","i","prevTime","enableOverride","namespacesCache","enabledCache","debug","args","self","curr","ms","index","match","format","formatter","val","extend","v","delimiter","newDebug","namespaces","split","len","toNamespace","name","regexp","require_browser","__commonJSMin","exports","module","init_esm_shims","formatArgs","save","load","useColors","localstorage","warned","args","c","index","lastC","match","namespaces","r","formatters","v","error","supports_color_exports","__export","createSupportsColor","supports_color_default","process","os","tty","hasFlag","flag","argv","prefix","position","terminatorPosition","envForceColor","env","translateLevel","level","_supportsColor","haveStream","streamIsTTY","sniffFlags","noFlagForceColor","flagForceColor","forceColor","min","osRelease","sign","version","stream","options","supportsColor","init_supports_color","__esmMin","init_esm_shims","require_node","__commonJSMin","exports","module","init_esm_shims","tty","util","init","log","formatArgs","save","load","useColors","supportsColor","key","obj","prop","_","k","val","args","name","c","colorCode","prefix","getDate","namespaces","debug","keys","i","formatters","v","str","require_src","__commonJSMin","exports","module","init_esm_shims","require_debug","__commonJSMin","exports","module","init_esm_shims","debug","require_follow_redirects","__commonJSMin","exports","module","init_esm_shims","url","URL","http","https","Writable","assert","debug","useNativeURL","error","preservedUrlFields","events","eventHandlers","event","arg1","arg2","arg3","InvalidUrlError","createErrorType","RedirectionError","TooManyRedirectsError","MaxBodyLengthExceededError","WriteAfterEndError","destroy","noop","RedirectableRequest","options","responseCallback","self","response","cause","destroyRequest","data","encoding","callback","isString","isBuffer","isFunction","currentRequest","name","value","msecs","destroyOnTimeout","socket","startTimer","clearTimer","method","a","b","property","searchPos","protocol","nativeProtocol","scheme","request","buffers","writeNext","buffer","statusCode","location","requestHeaders","beforeRedirect","removeMatchingHeaders","currentHostHeader","currentUrlParts","parseUrl","currentHost","currentUrl","redirectUrl","resolveUrl","spreadUrlObject","isSubdomain","responseDetails","requestDetails","wrap","protocols","nativeProtocols","wrappedProtocol","input","isURL","validateUrl","get","wrappedRequest","parsed","relative","base","urlObject","target","spread","key","regex","headers","lastValue","header","code","message","baseClass","CustomError","properties","subdomain","domain","dot","require_package","__commonJSMin","exports","module","require_http","__commonJSMin","exports","module","init_esm_shims","utils","settle","buildFullPath","buildURL","http","https","httpFollow","httpsFollow","url","zlib","pkg","createError","enhanceError","isHttps","setProxy","options","proxy","location","base64","redirection","config","resolvePromise","rejectPromise","resolve","value","reject","data","headers","auth","username","password","fullPath","parsed","protocol","urlAuth","urlUsername","urlPassword","isHttpsRequest","agent","proxyEnv","proxyUrl","parsedProxyUrl","noProxyEnv","shouldProxy","noProxy","s","proxyElement","proxyUrlAuth","transport","isHttpsProxy","req","res","stream","lastRequest","response","responseBuffer","totalResponseBytes","chunk","err","responseData","timeout","cancel","require_InterceptorManager","__commonJSMin","exports","module","init_esm_shims","utils","InterceptorManager","fulfilled","rejected","options","id","fn","h","require_normalizeHeaderName","__commonJSMin","exports","module","init_esm_shims","utils","headers","normalizedName","value","name","require_cookies","__commonJSMin","exports","module","init_esm_shims","utils","name","value","expires","path","domain","secure","cookie","match","require_parseHeaders","__commonJSMin","exports","module","init_esm_shims","utils","ignoreDuplicateOf","headers","parsed","key","val","line","require_isURLSameOrigin","__commonJSMin","exports","module","init_esm_shims","utils","msie","urlParsingNode","originURL","resolveURL","url","href","requestURL","parsed","require_xhr","__commonJSMin","exports","module","init_esm_shims","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","resolve","reject","requestData","requestHeaders","responseType","request","username","password","fullPath","onloadend","responseHeaders","responseData","response","timeoutErrorMessage","xsrfValue","val","key","cancel","require_defaults","__commonJSMin","exports","module","init_esm_shims","utils","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","getDefaultAdapter","adapter","stringifySafely","rawValue","parser","encoder","e","defaults","data","transitional","silentJSONParsing","forcedJSONParsing","strictJSONParsing","status","method","require_transformData","__commonJSMin","exports","module","init_esm_shims","utils","defaults","data","headers","fns","context","fn","require_isCancel","__commonJSMin","exports","module","init_esm_shims","value","require_dispatchRequest","__commonJSMin","exports","module","init_esm_shims","utils","transformData","isCancel","defaults","throwIfCancellationRequested","config","method","adapter","response","reason","require_mergeConfig","__commonJSMin","exports","module","init_esm_shims","utils","config1","config2","config","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","axiosKeys","otherKeys","key","require_validator","__commonJSMin","exports","module","init_esm_shims","pkg","validators","type","i","thing","deprecatedWarnings","currentVerArr","isOlderVersion","version","thanVersion","pkgVersionArr","destVer","validator","message","isDeprecated","formatMessage","opt","desc","value","opts","assertOptions","options","schema","allowUnknown","keys","result","require_Axios","__commonJSMin","exports","module","init_esm_shims","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","config","transitional","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","error","method","url","data","require_Cancel","__commonJSMin","exports","module","init_esm_shims","Cancel","message","require_CancelToken","__commonJSMin","exports","module","init_esm_shims","Cancel","CancelToken","executor","resolvePromise","resolve","token","message","cancel","c","require_spread","__commonJSMin","exports","module","init_esm_shims","callback","arr","require_isAxiosError","__commonJSMin","exports","module","init_esm_shims","payload","require_axios","__commonJSMin","exports","module","init_esm_shims","utils","bind","Axios","mergeConfig","defaults","createInstance","defaultConfig","context","instance","axios","instanceConfig","promises","require_axios","__commonJSMin","exports","module","init_esm_shims","constants_1","headers_1","utils_1","buildOptions","requestOptions","urlObject","headers","globalConfig","url","params","localConfigOptions","maybeRedirectToMockServer","exports","buildAllHeaders","wixHeadersOpts","disableWixHeaders","composedHeaders","originalUrlHeader","lowerAllJsonKeys","getUrlHeaders","host","protocol","buildUrlFromRequest","mockUrl","requestParams","pathname","searchParams","paramsAsString","objectToChange","prev","key","axios_1","tslib_1","xhr_1","constants_1","env_util_1","error_1","headers_1","options_1","utils_1","HttpClient","opts","defaultClientOptions","checkSanitizerPocEnabled","payload","requestOptionsOrFactory","overrides","host","urlObject","requestOptions","signedInstance","_b","_a","headers","options","res","err","e","url","data","wixHeadersOpts","authHeader","customHeaders","originalUrlHeader","error","requestError","_c","prodOptions","requestId","transformData","exports","adapter","getNodeAdapter","flags","resData","sanitizeResponse","logs","log","start","sanitizer","sanitizeStringValue","jsonResponse","key","end","createHttpClient","args","http_1","tslib_1","http_client_1","HttpClientNode","opts","exports","createHttpClientNode","args","require_types","__commonJSMin","exports","init_esm_shims","constants_1","exports","error_1","http_client_node_1","tslib_1","require_retry_operation","__commonJSMin","exports","module","init_esm_shims","RetryOperation","timeouts","options","err","currentTime","timeout","self","fn","timeoutOps","counts","mainError","mainErrorCount","i","error","message","count","require_retry","__commonJSMin","exports","init_esm_shims","RetryOperation","options","timeouts","opts","key","i","a","b","attempt","random","timeout","obj","methods","method","original","op","args","callback","err","require_retry","__commonJSMin","exports","module","init_esm_shims","require_is_docker","__commonJSMin","exports","module","init_esm_shims","fs","isDocker","hasDockerEnv","hasDockerCGroup","require_is_wsl","__commonJSMin","exports","module","init_esm_shims","os","fs","isDocker","isWsl","require_define_lazy_prop","__commonJSMin","exports","module","init_esm_shims","object","propertyName","fn","define","value","result","require_open","__commonJSMin","exports","module","init_esm_shims","path","childProcess","fs","fsConstants","isWsl","isDocker","defineLazyProperty","localXdgOpenPath","__dirname","platform","arch","hasContainerEnv","cachedResult","isInsideContainer","getWslDrivesMountPoint","defaultMountPoint","mountPoint","configFilePath","isConfigFileExists","configContent","configMountPoint","pTryEach","array","mapper","latestError","item","error","baseOpen","options","singleApp","app","appArguments","appName","command","cliArguments","childProcessOptions","encodedArguments","arg","isBundled","exeLocalXdgOpen","subprocess","resolve","reject","exitCode","open","target","openApp","name","detectArchBinary","binary","archBinary","detectPlatformBinary","platformBinary","wsl","apps","init_esm_shims","React","createContext","useContext","BiContext","BiProvider","children","biLogger","useBiLogger","context","init_esm_shims","init_esm_shims","React","createContext","useContext","ErrorReporterContext","ErrorReporterProvider","props","useErrorReporter","context","init_esm_shims","init_esm_shims","import_http_client","baseUrls","createHttpClient","getAppToken","createHeaders","type","createHttpClientOriginal","init_esm_shims","import_http_client","isHttpError","error","init_esm_shims","createElement","useMemo","init_esm_shims","import_variant","React","init_esm_shims","noop","args","_i","createWeakMap","fakeSetOrMap","k","hop","has","obj","prop","extend","target","source","reLeadingNewline","reTrailingNewline","reStartsWithNewlineOrIsEmpty","reDetectIndentation","reOnlyWhitespaceWithAtLeastOneNewline","_outdentArray","strings","firstInterpolatedValueSetsIndentationLevel","options","indentationLevel","match","reSource","reMatchIndent","newline","trimLeadingNewline","trimTrailingNewline","normalizeNewlines","l","outdentedStrings","v","i","_","concatStringsAndValues","values","ret","isTemplateStringsArray","createInstance","arrayAutoIndentCache","arrayFirstInterpSetsIndentCache","outdent","stringsOrOptions","defaultOutdent","cache","renderedArray","rendered","fullOutdent","str","defaultOutdent","init_esm_shims","React","ErrorMessage","message","explanation","hint","React","Box_default","Alert","InsightIcon","Text","SystemErrorMessage","getErrorComponent","code","error","React","Text","SystemErrorMessage","siteId","ErrorMessage","email","currentVersion","latestVersion","updateCommand","Newline","folder","packageName","validations","validation","id","packageManagerName","appId","cause","causeMessage","getErrorMessage","revision","path","filePath","configFilename","configPath","srcDir","zodError","defaultOutdent","formatZodIssue","paramsOverridePath","maxSizeViolationsData","filePaths","errorMessage","f","issues","Issue","issue","typeToName","type","Box_default","name","hint","fileName","templatePath","url","cliVersion","cliAppVersion","route","templateFilename","tagName","ErrorViewer","originalError","systemErrorOverride","useMemo","error","normalizeError","isCliSystemError","createElement","getErrorComponent","init_esm_shims","React","init_esm_shims","createContext","AuthContext","init_esm_shims","init_esm_shims","init_esm_shims","import_retry","networkErrorMsgs","AbortError","message","decorateErrorWithCounts","error","attemptNumber","options","retriesLeft","isNetworkError","errorMessage","getDOMException","pRetry","input","resolve","reject","operation","retry","reason","init_esm_shims","init_esm_shims","init_esm_shims","init_esm_shims","parseLeanSchemaRef","renderedSchemaName","typeOrName","schemaName","getSchemaNameAndType","leanSchema","init_esm_shims","init_esm_shims","findByPath","obj","path","defaultValue","suffix","result","field","USER_DOMAIN","DOMAINS","WIX_API_DOMAINS","DEV_WIX_CODE_DOMAIN","REGEX_CAPTURE_PROTO_FIELD","REGEX_CAPTURE_DOMAINS","REGEX_CAPTURE_API_DOMAINS","REGEX_CAPTURE_DEV_WIX_CODE_DOMAIN","resolveUrl","opts","domain","resolveDomain","mappings","resolveMappingsByDomain","path","injectDataIntoProtoPath","resolvePath","protoPath","data","maybeProtoPathToData","protoRegExpMatch","field","suffix","findByPath","host","fixHostExceptions","domainToMappings","isBaseDomain","wwwBaseDomain","mapping","m","init_esm_shims","flattenParams","data","path","params","key","value","isObject","fieldPath","resolvePath","serializedObject","toURLSearchParams","flatten","urlSearchParams","param","init_esm_shims","init_esm_shims","ConverterType","init_esm_shims","schemaSerializer","rootSchema","depSchemas","converterSets","json","converterType","transformSchema","schema","payload","result","key","val","renderedSchemaName","schemaName","schemaType","parseLeanSchemaRef","isMap","isRepeatable","getConverter","parsedValue","v","applyField","applyFieldOnMap","schemaOrSerializer","maybeSchema","name","sanitizedSchemaOrSerializer","acc","propertyName","value","init_esm_shims","init_esm_shims","timestamp","ConverterType","val","init_esm_shims","fieldMask","ConverterType","val","v","init_esm_shims","bytes","ConverterType","val","chars","res","c","init_esm_shims","duration","ConverterType","seconds","nanos","nanosPortion","val","nanosForString","res","precision","init_esm_shims","float","ConverterType","val","protobufConverters","timestamp","fieldMask","bytes","duration","float","init_esm_shims","typeToConverterSet","converterSets","result","converterSet","types","typeResult","type","ambassadorConverters","typeToConverterSet","protobufConverters","serializer","rootSchema","depSchemas","transform","schemaSerializer","jsonOrString","jsonOrText","safeJsonParse","ConverterType","json","someString","_account","_accountResponse","_getMyAccountRequest","resolveComWixpressAccountApiAccountServiceUrl","opts","domainToMappings","resolveUrl","getMyAccount","payload","_a","serializer","_getMyAccountRequest","toReq","fromReq","fromRes","_accountResponse","_account","__getMyAccount","host","serializedData","metadata","resolveComWixpressAccountApiAccountServiceUrl","toURLSearchParams","init_esm_shims","_deviceCodeRequest","_deviceCodeResponse","_rawHttpRequest","_rawHttpResponse","_revokeRefreshTokenRequest","_revokeRefreshTokenResponse","resolveWixIdentityOauth2V1Oauth2NgUrl","opts","domainToMappings","resolveUrl","token","payload","_a","serializer","_rawHttpRequest","toReq","fromReq","fromRes","_rawHttpResponse","__token","host","serializedData","metadata","resolveWixIdentityOauth2V1Oauth2NgUrl","deviceCode","_deviceCodeRequest","_deviceCodeResponse","__deviceCode","toURLSearchParams","revokeRefreshToken","payload","_a","serializer","_revokeRefreshTokenRequest","toReq","fromReq","fromRes","_revokeRefreshTokenResponse","__revokeRefreshToken","host","serializedData","metadata","resolveWixIdentityOauth2V1Oauth2NgUrl","import_variant","init_esm_shims","deviceCodeSchema","z","tokenSchema","token","userInfoSchema","getMyAccountSchema","siteAuthSchema","accountAuthSchema","apiKeyAuthSchema","FailedToGetAuthToken","FailedToGetDeviceCode","FailedToRenewAuthToken","FailedToRenewAuthTokenSiteNotFound","FailedToRevokeRefreshToken","CliErrorCode","clientId","getCurrentTimestamp","DeviceCodeNotYetVerifiedError","RenewTokenData","AuthClient","httpClient","minRetryTimeout","getTestOverrides","req","data","pRetry","deviceCode","deviceCodeSchema","error","CliError","payload","token","tokenSchema","isHttpError","tokenData","email","revokeRefreshToken","accessToken","createHttpClient","userInfoData","userInfoSchema","getMyAccount","getMyAccountSchema","client","init_esm_shims","unlink","rm","resolve","import_variant","getLegacyAuthDataFilePath","resolve","getDataDirPath","getAuthDataFolder","getAccountAuthDataFilePath","resolve","getAuthDataFolder","getSiteAuthDataFilePath","siteId","ApiKeyAuthData","AccountAuthData","readAccountAuthData","accountAuthDataFilePath","getAccountAuthDataFilePath","pathExists","authFileContents","readJson","savedAccountAuthData","accountAuthSchema","isValidToken","SiteAuthData","saveAuthData","authData","siteId","targetFilePath","getSiteAuthDataFilePath","getAccountAuthDataFilePath","writeJson","error","CliError","CliErrorCode","deleteAuthData","rm","getAuthDataFolder","hasLegacyAuthData","deleteLegacyAuthData","unlink","getLegacyAuthDataFilePath","pathExists","isValidToken","currentTimestamp","tokenOffset","tokenLifetime","init_esm_shims","init_esm_shims","init_esm_shims","Node","value","Queue","#head","#tail","#size","node","current","pLimit","concurrency","queue","Queue","activeCount","next","run","fn","resolve","args","result","enqueue","generator","import_variant","init_esm_shims","init_esm_shims","TimeoutError","message","AbortError","getDOMException","errorMessage","getAbortedReason","signal","reason","pTimeout","promise","options","milliseconds","fallback","customTimers","timer","cancelablePromise","resolve","reject","timeoutError","error","resolveValue","pWaitFor","condition","options","interval","timeout","before","retryTimeout","abort","promise","resolve","reject","check","value","error","pTimeout","seconds","n","waitForLogin","deviceCode","expiresIn","signal","authData","pWaitFor","tokenData","client","error","DeviceCodeNotYetVerifiedError","getTestOverrides","userInfo","result","deleteAuthData","saveAuthData","TimeoutError","CliError","CliErrorCode","RenewResult","renewAccountAuth","refreshToken","renewTokenResult","newAuthData","cause","getNonExpiredAccountAuth","accountAuthStatus","readAccountAuthData","accountAuth","createAccountAuthState","initialTokenData","limiter","pLimit","isValidToken","newTokenData","accountAuthStrategy","init_esm_shims","import_variant","React","init_esm_shims","React","init_esm_shims","wixCliCliCommand","params","wixCliCliCommandStatus","wixCliAppFlowFileUploadStarted","params","wixCliAppFlowZipUploadDone","wixCliAppFlowZipUploadEnded","wixCliLoginStart","wixCliLoginEnd","import_variant","messages_default","init_esm_shims","React","useState","init_esm_shims","import_open","init_esm_shims","import_http_client","open","testEndpoint","url","openBrowser","url","testEndpoint","getTestOverrides","open","LoginInstructions","userCode","verificationUri","reportError","useErrorReporter","openBrowserError","setOpenBrowserError","useState","use_input_default","input","key","openBrowser","error","React","Trans","Box_default","Text","Key","Link","ErrorViewer","Login","loginFn","onLogin","onError","biLogger","useBiLogger","handleError","error","wixCliLoginEnd","loginAction","useAsyncCallback","signal","deviceCodeResponse","authData","status","useAsync","wixCliLoginStart","client","React","Spinner","userCode","verificationUri","LoginInstructions","init_esm_shims","import_variant","React","WarnLegacyAuthData","children","status","useAsync","hasLegacyAuthData","result","React","Box_default","Trans","EnsureLoggedIn","login","isLoggedIn","onLogin","onError","children","status","updateAccountAuth","useAsync","result","React","Spinner","accountAuth","I18nProvider","messages_default","WarnLegacyAuthData","Login","data","AccountAuthProvider","children","onError","onLogin","exit","useExit","React","EnsureLoggedIn","accountAuthStrategy","userInfo","getAccessToken","getRequestHeaders","AuthContext","init_esm_shims","init_esm_shims","useContext","useAuth","context","useContext","AuthContext","isLoggedInToAccount","accountAuthStrategy"]}