{"version":3,"file":"metamask-sdk-ecd96cdb.mjs","sources":["../node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/eventemitter2/lib/eventemitter2.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/engine.io-client/build/esm/globals.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../node_modules/@metamask/sdk/dist/browser/es/metamask-sdk.js"],"sourcesContent":["// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n  /* eslint-disable no-prototype-builtins */\n  var g =\n    (typeof globalThis !== 'undefined' && globalThis) ||\n    (typeof self !== 'undefined' && self) ||\n    // eslint-disable-next-line no-undef\n    (typeof global !== 'undefined' && global) ||\n    {};\n\n  var support = {\n    searchParams: 'URLSearchParams' in g,\n    iterable: 'Symbol' in g && 'iterator' in Symbol,\n    blob:\n      'FileReader' in g &&\n      'Blob' in g &&\n      (function() {\n        try {\n          new Blob();\n          return true\n        } catch (e) {\n          return false\n        }\n      })(),\n    formData: 'FormData' in g,\n    arrayBuffer: 'ArrayBuffer' in g\n  };\n\n  function isDataView(obj) {\n    return obj && DataView.prototype.isPrototypeOf(obj)\n  }\n\n  if (support.arrayBuffer) {\n    var viewClasses = [\n      '[object Int8Array]',\n      '[object Uint8Array]',\n      '[object Uint8ClampedArray]',\n      '[object Int16Array]',\n      '[object Uint16Array]',\n      '[object Int32Array]',\n      '[object Uint32Array]',\n      '[object Float32Array]',\n      '[object Float64Array]'\n    ];\n\n    var isArrayBufferView =\n      ArrayBuffer.isView ||\n      function(obj) {\n        return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n      };\n  }\n\n  function normalizeName(name) {\n    if (typeof name !== 'string') {\n      name = String(name);\n    }\n    if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n      throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n    }\n    return name.toLowerCase()\n  }\n\n  function normalizeValue(value) {\n    if (typeof value !== 'string') {\n      value = String(value);\n    }\n    return value\n  }\n\n  // Build a destructive iterator for the value list\n  function iteratorFor(items) {\n    var iterator = {\n      next: function() {\n        var value = items.shift();\n        return {done: value === undefined, value: value}\n      }\n    };\n\n    if (support.iterable) {\n      iterator[Symbol.iterator] = function() {\n        return iterator\n      };\n    }\n\n    return iterator\n  }\n\n  function Headers(headers) {\n    this.map = {};\n\n    if (headers instanceof Headers) {\n      headers.forEach(function(value, name) {\n        this.append(name, value);\n      }, this);\n    } else if (Array.isArray(headers)) {\n      headers.forEach(function(header) {\n        if (header.length != 2) {\n          throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n        }\n        this.append(header[0], header[1]);\n      }, this);\n    } else if (headers) {\n      Object.getOwnPropertyNames(headers).forEach(function(name) {\n        this.append(name, headers[name]);\n      }, this);\n    }\n  }\n\n  Headers.prototype.append = function(name, value) {\n    name = normalizeName(name);\n    value = normalizeValue(value);\n    var oldValue = this.map[name];\n    this.map[name] = oldValue ? oldValue + ', ' + value : value;\n  };\n\n  Headers.prototype['delete'] = function(name) {\n    delete this.map[normalizeName(name)];\n  };\n\n  Headers.prototype.get = function(name) {\n    name = normalizeName(name);\n    return this.has(name) ? this.map[name] : null\n  };\n\n  Headers.prototype.has = function(name) {\n    return this.map.hasOwnProperty(normalizeName(name))\n  };\n\n  Headers.prototype.set = function(name, value) {\n    this.map[normalizeName(name)] = normalizeValue(value);\n  };\n\n  Headers.prototype.forEach = function(callback, thisArg) {\n    for (var name in this.map) {\n      if (this.map.hasOwnProperty(name)) {\n        callback.call(thisArg, this.map[name], name, this);\n      }\n    }\n  };\n\n  Headers.prototype.keys = function() {\n    var items = [];\n    this.forEach(function(value, name) {\n      items.push(name);\n    });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.values = function() {\n    var items = [];\n    this.forEach(function(value) {\n      items.push(value);\n    });\n    return iteratorFor(items)\n  };\n\n  Headers.prototype.entries = function() {\n    var items = [];\n    this.forEach(function(value, name) {\n      items.push([name, value]);\n    });\n    return iteratorFor(items)\n  };\n\n  if (support.iterable) {\n    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n  }\n\n  function consumed(body) {\n    if (body._noBody) return\n    if (body.bodyUsed) {\n      return Promise.reject(new TypeError('Already read'))\n    }\n    body.bodyUsed = true;\n  }\n\n  function fileReaderReady(reader) {\n    return new Promise(function(resolve, reject) {\n      reader.onload = function() {\n        resolve(reader.result);\n      };\n      reader.onerror = function() {\n        reject(reader.error);\n      };\n    })\n  }\n\n  function readBlobAsArrayBuffer(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    reader.readAsArrayBuffer(blob);\n    return promise\n  }\n\n  function readBlobAsText(blob) {\n    var reader = new FileReader();\n    var promise = fileReaderReady(reader);\n    var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n    var encoding = match ? match[1] : 'utf-8';\n    reader.readAsText(blob, encoding);\n    return promise\n  }\n\n  function readArrayBufferAsText(buf) {\n    var view = new Uint8Array(buf);\n    var chars = new Array(view.length);\n\n    for (var i = 0; i < view.length; i++) {\n      chars[i] = String.fromCharCode(view[i]);\n    }\n    return chars.join('')\n  }\n\n  function bufferClone(buf) {\n    if (buf.slice) {\n      return buf.slice(0)\n    } else {\n      var view = new Uint8Array(buf.byteLength);\n      view.set(new Uint8Array(buf));\n      return view.buffer\n    }\n  }\n\n  function Body() {\n    this.bodyUsed = false;\n\n    this._initBody = function(body) {\n      /*\n        fetch-mock wraps the Response object in an ES6 Proxy to\n        provide useful test harness features such as flush. However, on\n        ES5 browsers without fetch or Proxy support pollyfills must be used;\n        the proxy-pollyfill is unable to proxy an attribute unless it exists\n        on the object before the Proxy is created. This change ensures\n        Response.bodyUsed exists on the instance, while maintaining the\n        semantic of setting Request.bodyUsed in the constructor before\n        _initBody is called.\n      */\n      // eslint-disable-next-line no-self-assign\n      this.bodyUsed = this.bodyUsed;\n      this._bodyInit = body;\n      if (!body) {\n        this._noBody = true;\n        this._bodyText = '';\n      } else if (typeof body === 'string') {\n        this._bodyText = body;\n      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n        this._bodyBlob = body;\n      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n        this._bodyFormData = body;\n      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n        this._bodyText = body.toString();\n      } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n        this._bodyArrayBuffer = bufferClone(body.buffer);\n        // IE 10-11 can't handle a DataView body.\n        this._bodyInit = new Blob([this._bodyArrayBuffer]);\n      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n        this._bodyArrayBuffer = bufferClone(body);\n      } else {\n        this._bodyText = body = Object.prototype.toString.call(body);\n      }\n\n      if (!this.headers.get('content-type')) {\n        if (typeof body === 'string') {\n          this.headers.set('content-type', 'text/plain;charset=UTF-8');\n        } else if (this._bodyBlob && this._bodyBlob.type) {\n          this.headers.set('content-type', this._bodyBlob.type);\n        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n        }\n      }\n    };\n\n    if (support.blob) {\n      this.blob = function() {\n        var rejected = consumed(this);\n        if (rejected) {\n          return rejected\n        }\n\n        if (this._bodyBlob) {\n          return Promise.resolve(this._bodyBlob)\n        } else if (this._bodyArrayBuffer) {\n          return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n        } else if (this._bodyFormData) {\n          throw new Error('could not read FormData body as blob')\n        } else {\n          return Promise.resolve(new Blob([this._bodyText]))\n        }\n      };\n    }\n\n    this.arrayBuffer = function() {\n      if (this._bodyArrayBuffer) {\n        var isConsumed = consumed(this);\n        if (isConsumed) {\n          return isConsumed\n        } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n          return Promise.resolve(\n            this._bodyArrayBuffer.buffer.slice(\n              this._bodyArrayBuffer.byteOffset,\n              this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n            )\n          )\n        } else {\n          return Promise.resolve(this._bodyArrayBuffer)\n        }\n      } else if (support.blob) {\n        return this.blob().then(readBlobAsArrayBuffer)\n      } else {\n        throw new Error('could not read as ArrayBuffer')\n      }\n    };\n\n    this.text = function() {\n      var rejected = consumed(this);\n      if (rejected) {\n        return rejected\n      }\n\n      if (this._bodyBlob) {\n        return readBlobAsText(this._bodyBlob)\n      } else if (this._bodyArrayBuffer) {\n        return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n      } else if (this._bodyFormData) {\n        throw new Error('could not read FormData body as text')\n      } else {\n        return Promise.resolve(this._bodyText)\n      }\n    };\n\n    if (support.formData) {\n      this.formData = function() {\n        return this.text().then(decode)\n      };\n    }\n\n    this.json = function() {\n      return this.text().then(JSON.parse)\n    };\n\n    return this\n  }\n\n  // HTTP methods whose capitalization should be normalized\n  var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n  function normalizeMethod(method) {\n    var upcased = method.toUpperCase();\n    return methods.indexOf(upcased) > -1 ? upcased : method\n  }\n\n  function Request(input, options) {\n    if (!(this instanceof Request)) {\n      throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n    }\n\n    options = options || {};\n    var body = options.body;\n\n    if (input instanceof Request) {\n      if (input.bodyUsed) {\n        throw new TypeError('Already read')\n      }\n      this.url = input.url;\n      this.credentials = input.credentials;\n      if (!options.headers) {\n        this.headers = new Headers(input.headers);\n      }\n      this.method = input.method;\n      this.mode = input.mode;\n      this.signal = input.signal;\n      if (!body && input._bodyInit != null) {\n        body = input._bodyInit;\n        input.bodyUsed = true;\n      }\n    } else {\n      this.url = String(input);\n    }\n\n    this.credentials = options.credentials || this.credentials || 'same-origin';\n    if (options.headers || !this.headers) {\n      this.headers = new Headers(options.headers);\n    }\n    this.method = normalizeMethod(options.method || this.method || 'GET');\n    this.mode = options.mode || this.mode || null;\n    this.signal = options.signal || this.signal || (function () {\n      if ('AbortController' in g) {\n        var ctrl = new AbortController();\n        return ctrl.signal;\n      }\n    }());\n    this.referrer = null;\n\n    if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n      throw new TypeError('Body not allowed for GET or HEAD requests')\n    }\n    this._initBody(body);\n\n    if (this.method === 'GET' || this.method === 'HEAD') {\n      if (options.cache === 'no-store' || options.cache === 'no-cache') {\n        // Search for a '_' parameter in the query string\n        var reParamSearch = /([?&])_=[^&]*/;\n        if (reParamSearch.test(this.url)) {\n          // If it already exists then set the value with the current time\n          this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n        } else {\n          // Otherwise add a new '_' parameter to the end with the current time\n          var reQueryString = /\\?/;\n          this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n        }\n      }\n    }\n  }\n\n  Request.prototype.clone = function() {\n    return new Request(this, {body: this._bodyInit})\n  };\n\n  function decode(body) {\n    var form = new FormData();\n    body\n      .trim()\n      .split('&')\n      .forEach(function(bytes) {\n        if (bytes) {\n          var split = bytes.split('=');\n          var name = split.shift().replace(/\\+/g, ' ');\n          var value = split.join('=').replace(/\\+/g, ' ');\n          form.append(decodeURIComponent(name), decodeURIComponent(value));\n        }\n      });\n    return form\n  }\n\n  function parseHeaders(rawHeaders) {\n    var headers = new Headers();\n    // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n    // https://tools.ietf.org/html/rfc7230#section-3.2\n    var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n    // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n    // https://github.com/github/fetch/issues/748\n    // https://github.com/zloirock/core-js/issues/751\n    preProcessedHeaders\n      .split('\\r')\n      .map(function(header) {\n        return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n      })\n      .forEach(function(line) {\n        var parts = line.split(':');\n        var key = parts.shift().trim();\n        if (key) {\n          var value = parts.join(':').trim();\n          try {\n            headers.append(key, value);\n          } catch (error) {\n            console.warn('Response ' + error.message);\n          }\n        }\n      });\n    return headers\n  }\n\n  Body.call(Request.prototype);\n\n  function Response(bodyInit, options) {\n    if (!(this instanceof Response)) {\n      throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n    }\n    if (!options) {\n      options = {};\n    }\n\n    this.type = 'default';\n    this.status = options.status === undefined ? 200 : options.status;\n    if (this.status < 200 || this.status > 599) {\n      throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n    }\n    this.ok = this.status >= 200 && this.status < 300;\n    this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n    this.headers = new Headers(options.headers);\n    this.url = options.url || '';\n    this._initBody(bodyInit);\n  }\n\n  Body.call(Response.prototype);\n\n  Response.prototype.clone = function() {\n    return new Response(this._bodyInit, {\n      status: this.status,\n      statusText: this.statusText,\n      headers: new Headers(this.headers),\n      url: this.url\n    })\n  };\n\n  Response.error = function() {\n    var response = new Response(null, {status: 200, statusText: ''});\n    response.ok = false;\n    response.status = 0;\n    response.type = 'error';\n    return response\n  };\n\n  var redirectStatuses = [301, 302, 303, 307, 308];\n\n  Response.redirect = function(url, status) {\n    if (redirectStatuses.indexOf(status) === -1) {\n      throw new RangeError('Invalid status code')\n    }\n\n    return new Response(null, {status: status, headers: {location: url}})\n  };\n\n  exports.DOMException = g.DOMException;\n  try {\n    new exports.DOMException();\n  } catch (err) {\n    exports.DOMException = function(message, name) {\n      this.message = message;\n      this.name = name;\n      var error = Error(message);\n      this.stack = error.stack;\n    };\n    exports.DOMException.prototype = Object.create(Error.prototype);\n    exports.DOMException.prototype.constructor = exports.DOMException;\n  }\n\n  function fetch(input, init) {\n    return new Promise(function(resolve, reject) {\n      var request = new Request(input, init);\n\n      if (request.signal && request.signal.aborted) {\n        return reject(new exports.DOMException('Aborted', 'AbortError'))\n      }\n\n      var xhr = new XMLHttpRequest();\n\n      function abortXhr() {\n        xhr.abort();\n      }\n\n      xhr.onload = function() {\n        var options = {\n          statusText: xhr.statusText,\n          headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n        };\n        // This check if specifically for when a user fetches a file locally from the file system\n        // Only if the status is out of a normal range\n        if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n          options.status = 200;\n        } else {\n          options.status = xhr.status;\n        }\n        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n        var body = 'response' in xhr ? xhr.response : xhr.responseText;\n        setTimeout(function() {\n          resolve(new Response(body, options));\n        }, 0);\n      };\n\n      xhr.onerror = function() {\n        setTimeout(function() {\n          reject(new TypeError('Network request failed'));\n        }, 0);\n      };\n\n      xhr.ontimeout = function() {\n        setTimeout(function() {\n          reject(new TypeError('Network request timed out'));\n        }, 0);\n      };\n\n      xhr.onabort = function() {\n        setTimeout(function() {\n          reject(new exports.DOMException('Aborted', 'AbortError'));\n        }, 0);\n      };\n\n      function fixUrl(url) {\n        try {\n          return url === '' && g.location.href ? g.location.href : url\n        } catch (e) {\n          return url\n        }\n      }\n\n      xhr.open(request.method, fixUrl(request.url), true);\n\n      if (request.credentials === 'include') {\n        xhr.withCredentials = true;\n      } else if (request.credentials === 'omit') {\n        xhr.withCredentials = false;\n      }\n\n      if ('responseType' in xhr) {\n        if (support.blob) {\n          xhr.responseType = 'blob';\n        } else if (\n          support.arrayBuffer\n        ) {\n          xhr.responseType = 'arraybuffer';\n        }\n      }\n\n      if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n        var names = [];\n        Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n          names.push(normalizeName(name));\n          xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n        });\n        request.headers.forEach(function(value, name) {\n          if (names.indexOf(name) === -1) {\n            xhr.setRequestHeader(name, value);\n          }\n        });\n      } else {\n        request.headers.forEach(function(value, name) {\n          xhr.setRequestHeader(name, value);\n        });\n      }\n\n      if (request.signal) {\n        request.signal.addEventListener('abort', abortXhr);\n\n        xhr.onreadystatechange = function() {\n          // DONE (success or failure)\n          if (xhr.readyState === 4) {\n            request.signal.removeEventListener('abort', abortXhr);\n          }\n        };\n      }\n\n      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n    })\n  }\n\n  fetch.polyfill = true;\n\n  if (!g.fetch) {\n    g.fetch = fetch;\n    g.Headers = Headers;\n    g.Request = Request;\n    g.Response = Response;\n  }\n\n  exports.Headers = Headers;\n  exports.Request = Request;\n  exports.Response = Response;\n  exports.fetch = fetch;\n\n  return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","/*!\n * EventEmitter2\n * https://github.com/hij1nx/EventEmitter2\n *\n * Copyright (c) 2013 hij1nx\n * Licensed under the MIT license.\n */\n;!function(undefined) {\n  var hasOwnProperty= Object.hasOwnProperty;\n  var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {\n    return Object.prototype.toString.call(obj) === \"[object Array]\";\n  };\n  var defaultMaxListeners = 10;\n  var nextTickSupported= typeof process=='object' && typeof process.nextTick=='function';\n  var symbolsSupported= typeof Symbol==='function';\n  var reflectSupported= typeof Reflect === 'object';\n  var setImmediateSupported= typeof setImmediate === 'function';\n  var _setImmediate= setImmediateSupported ? setImmediate : setTimeout;\n  var ownKeys= symbolsSupported? (reflectSupported && typeof Reflect.ownKeys==='function'? Reflect.ownKeys : function(obj){\n    var arr= Object.getOwnPropertyNames(obj);\n    arr.push.apply(arr, Object.getOwnPropertySymbols(obj));\n    return arr;\n  }) : Object.keys;\n\n  function init() {\n    this._events = {};\n    if (this._conf) {\n      configure.call(this, this._conf);\n    }\n  }\n\n  function configure(conf) {\n    if (conf) {\n      this._conf = conf;\n\n      conf.delimiter && (this.delimiter = conf.delimiter);\n\n      if(conf.maxListeners!==undefined){\n          this._maxListeners= conf.maxListeners;\n      }\n\n      conf.wildcard && (this.wildcard = conf.wildcard);\n      conf.newListener && (this._newListener = conf.newListener);\n      conf.removeListener && (this._removeListener = conf.removeListener);\n      conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);\n      conf.ignoreErrors && (this.ignoreErrors = conf.ignoreErrors);\n\n      if (this.wildcard) {\n        this.listenerTree = {};\n      }\n    }\n  }\n\n  function logPossibleMemoryLeak(count, eventName) {\n    var errorMsg = '(node) warning: possible EventEmitter memory ' +\n        'leak detected. ' + count + ' listeners added. ' +\n        'Use emitter.setMaxListeners() to increase limit.';\n\n    if(this.verboseMemoryLeak){\n      errorMsg += ' Event name: ' + eventName + '.';\n    }\n\n    if(typeof process !== 'undefined' && process.emitWarning){\n      var e = new Error(errorMsg);\n      e.name = 'MaxListenersExceededWarning';\n      e.emitter = this;\n      e.count = count;\n      process.emitWarning(e);\n    } else {\n      console.error(errorMsg);\n\n      if (console.trace){\n        console.trace();\n      }\n    }\n  }\n\n  var toArray = function (a, b, c) {\n    var n = arguments.length;\n    switch (n) {\n      case 0:\n        return [];\n      case 1:\n        return [a];\n      case 2:\n        return [a, b];\n      case 3:\n        return [a, b, c];\n      default:\n        var arr = new Array(n);\n        while (n--) {\n          arr[n] = arguments[n];\n        }\n        return arr;\n    }\n  };\n\n  function toObject(keys, values) {\n    var obj = {};\n    var key;\n    var len = keys.length;\n    var valuesCount = values ? values.length : 0;\n    for (var i = 0; i < len; i++) {\n      key = keys[i];\n      obj[key] = i < valuesCount ? values[i] : undefined;\n    }\n    return obj;\n  }\n\n  function TargetObserver(emitter, target, options) {\n    this._emitter = emitter;\n    this._target = target;\n    this._listeners = {};\n    this._listenersCount = 0;\n\n    var on, off;\n\n    if (options.on || options.off) {\n      on = options.on;\n      off = options.off;\n    }\n\n    if (target.addEventListener) {\n      on = target.addEventListener;\n      off = target.removeEventListener;\n    } else if (target.addListener) {\n      on = target.addListener;\n      off = target.removeListener;\n    } else if (target.on) {\n      on = target.on;\n      off = target.off;\n    }\n\n    if (!on && !off) {\n      throw Error('target does not implement any known event API');\n    }\n\n    if (typeof on !== 'function') {\n      throw TypeError('on method must be a function');\n    }\n\n    if (typeof off !== 'function') {\n      throw TypeError('off method must be a function');\n    }\n\n    this._on = on;\n    this._off = off;\n\n    var _observers= emitter._observers;\n    if(_observers){\n      _observers.push(this);\n    }else{\n      emitter._observers= [this];\n    }\n  }\n\n  Object.assign(TargetObserver.prototype, {\n    subscribe: function(event, localEvent, reducer){\n      var observer= this;\n      var target= this._target;\n      var emitter= this._emitter;\n      var listeners= this._listeners;\n      var handler= function(){\n        var args= toArray.apply(null, arguments);\n        var eventObj= {\n          data: args,\n          name: localEvent,\n          original: event\n        };\n        if(reducer){\n          var result= reducer.call(target, eventObj);\n          if(result!==false){\n            emitter.emit.apply(emitter, [eventObj.name].concat(args))\n          }\n          return;\n        }\n        emitter.emit.apply(emitter, [localEvent].concat(args));\n      };\n\n\n      if(listeners[event]){\n        throw Error('Event \\'' + event + '\\' is already listening');\n      }\n\n      this._listenersCount++;\n\n      if(emitter._newListener && emitter._removeListener && !observer._onNewListener){\n\n        this._onNewListener = function (_event) {\n          if (_event === localEvent && listeners[event] === null) {\n            listeners[event] = handler;\n            observer._on.call(target, event, handler);\n          }\n        };\n\n        emitter.on('newListener', this._onNewListener);\n\n        this._onRemoveListener= function(_event){\n          if(_event === localEvent && !emitter.hasListeners(_event) && listeners[event]){\n            listeners[event]= null;\n            observer._off.call(target, event, handler);\n          }\n        };\n\n        listeners[event]= null;\n\n        emitter.on('removeListener', this._onRemoveListener);\n      }else{\n        listeners[event]= handler;\n        observer._on.call(target, event, handler);\n      }\n    },\n\n    unsubscribe: function(event){\n      var observer= this;\n      var listeners= this._listeners;\n      var emitter= this._emitter;\n      var handler;\n      var events;\n      var off= this._off;\n      var target= this._target;\n      var i;\n\n      if(event && typeof event!=='string'){\n        throw TypeError('event must be a string');\n      }\n\n      function clearRefs(){\n        if(observer._onNewListener){\n          emitter.off('newListener', observer._onNewListener);\n          emitter.off('removeListener', observer._onRemoveListener);\n          observer._onNewListener= null;\n          observer._onRemoveListener= null;\n        }\n        var index= findTargetIndex.call(emitter, observer);\n        emitter._observers.splice(index, 1);\n      }\n\n      if(event){\n        handler= listeners[event];\n        if(!handler) return;\n        off.call(target, event, handler);\n        delete listeners[event];\n        if(!--this._listenersCount){\n          clearRefs();\n        }\n      }else{\n        events= ownKeys(listeners);\n        i= events.length;\n        while(i-->0){\n          event= events[i];\n          off.call(target, event, listeners[event]);\n        }\n        this._listeners= {};\n        this._listenersCount= 0;\n        clearRefs();\n      }\n    }\n  });\n\n  function resolveOptions(options, schema, reducers, allowUnknown) {\n    var computedOptions = Object.assign({}, schema);\n\n    if (!options) return computedOptions;\n\n    if (typeof options !== 'object') {\n      throw TypeError('options must be an object')\n    }\n\n    var keys = Object.keys(options);\n    var length = keys.length;\n    var option, value;\n    var reducer;\n\n    function reject(reason) {\n      throw Error('Invalid \"' + option + '\" option value' + (reason ? '. Reason: ' + reason : ''))\n    }\n\n    for (var i = 0; i < length; i++) {\n      option = keys[i];\n      if (!allowUnknown && !hasOwnProperty.call(schema, option)) {\n        throw Error('Unknown \"' + option + '\" option');\n      }\n      value = options[option];\n      if (value !== undefined) {\n        reducer = reducers[option];\n        computedOptions[option] = reducer ? reducer(value, reject) : value;\n      }\n    }\n    return computedOptions;\n  }\n\n  function constructorReducer(value, reject) {\n    if (typeof value !== 'function' || !value.hasOwnProperty('prototype')) {\n      reject('value must be a constructor');\n    }\n    return value;\n  }\n\n  function makeTypeReducer(types) {\n    var message= 'value must be type of ' + types.join('|');\n    var len= types.length;\n    var firstType= types[0];\n    var secondType= types[1];\n\n    if (len === 1) {\n      return function (v, reject) {\n        if (typeof v === firstType) {\n          return v;\n        }\n        reject(message);\n      }\n    }\n\n    if (len === 2) {\n      return function (v, reject) {\n        var kind= typeof v;\n        if (kind === firstType || kind === secondType) return v;\n        reject(message);\n      }\n    }\n\n    return function (v, reject) {\n      var kind = typeof v;\n      var i = len;\n      while (i-- > 0) {\n        if (kind === types[i]) return v;\n      }\n      reject(message);\n    }\n  }\n\n  var functionReducer= makeTypeReducer(['function']);\n\n  var objectFunctionReducer= makeTypeReducer(['object', 'function']);\n\n  function makeCancelablePromise(Promise, executor, options) {\n    var isCancelable;\n    var callbacks;\n    var timer= 0;\n    var subscriptionClosed;\n\n    var promise = new Promise(function (resolve, reject, onCancel) {\n      options= resolveOptions(options, {\n        timeout: 0,\n        overload: false\n      }, {\n        timeout: function(value, reject){\n          value*= 1;\n          if (typeof value !== 'number' || value < 0 || !Number.isFinite(value)) {\n            reject('timeout must be a positive number');\n          }\n          return value;\n        }\n      });\n\n      isCancelable = !options.overload && typeof Promise.prototype.cancel === 'function' && typeof onCancel === 'function';\n\n      function cleanup() {\n        if (callbacks) {\n          callbacks = null;\n        }\n        if (timer) {\n          clearTimeout(timer);\n          timer = 0;\n        }\n      }\n\n      var _resolve= function(value){\n        cleanup();\n        resolve(value);\n      };\n\n      var _reject= function(err){\n        cleanup();\n        reject(err);\n      };\n\n      if (isCancelable) {\n        executor(_resolve, _reject, onCancel);\n      } else {\n        callbacks = [function(reason){\n          _reject(reason || Error('canceled'));\n        }];\n        executor(_resolve, _reject, function (cb) {\n          if (subscriptionClosed) {\n            throw Error('Unable to subscribe on cancel event asynchronously')\n          }\n          if (typeof cb !== 'function') {\n            throw TypeError('onCancel callback must be a function');\n          }\n          callbacks.push(cb);\n        });\n        subscriptionClosed= true;\n      }\n\n      if (options.timeout > 0) {\n        timer= setTimeout(function(){\n          var reason= Error('timeout');\n          reason.code = 'ETIMEDOUT'\n          timer= 0;\n          promise.cancel(reason);\n          reject(reason);\n        }, options.timeout);\n      }\n    });\n\n    if (!isCancelable) {\n      promise.cancel = function (reason) {\n        if (!callbacks) {\n          return;\n        }\n        var length = callbacks.length;\n        for (var i = 1; i < length; i++) {\n          callbacks[i](reason);\n        }\n        // internal callback to reject the promise\n        callbacks[0](reason);\n        callbacks = null;\n      };\n    }\n\n    return promise;\n  }\n\n  function findTargetIndex(observer) {\n    var observers = this._observers;\n    if(!observers){\n      return -1;\n    }\n    var len = observers.length;\n    for (var i = 0; i < len; i++) {\n      if (observers[i]._target === observer) return i;\n    }\n    return -1;\n  }\n\n  // Attention, function return type now is array, always !\n  // It has zero elements if no any matches found and one or more\n  // elements (leafs) if there are matches\n  //\n  function searchListenerTree(handlers, type, tree, i, typeLength) {\n    if (!tree) {\n      return null;\n    }\n\n    if (i === 0) {\n      var kind = typeof type;\n      if (kind === 'string') {\n        var ns, n, l = 0, j = 0, delimiter = this.delimiter, dl = delimiter.length;\n        if ((n = type.indexOf(delimiter)) !== -1) {\n          ns = new Array(5);\n          do {\n            ns[l++] = type.slice(j, n);\n            j = n + dl;\n          } while ((n = type.indexOf(delimiter, j)) !== -1);\n\n          ns[l++] = type.slice(j);\n          type = ns;\n          typeLength = l;\n        } else {\n          type = [type];\n          typeLength = 1;\n        }\n      } else if (kind === 'object') {\n        typeLength = type.length;\n      } else {\n        type = [type];\n        typeLength = 1;\n      }\n    }\n\n    var listeners= null, branch, xTree, xxTree, isolatedBranch, endReached, currentType = type[i],\n        nextType = type[i + 1], branches, _listeners;\n\n    if (i === typeLength) {\n      //\n      // If at the end of the event(s) list and the tree has listeners\n      // invoke those listeners.\n      //\n\n      if(tree._listeners) {\n        if (typeof tree._listeners === 'function') {\n          handlers && handlers.push(tree._listeners);\n          listeners = [tree];\n        } else {\n          handlers && handlers.push.apply(handlers, tree._listeners);\n          listeners = [tree];\n        }\n      }\n    } else {\n\n      if (currentType === '*') {\n        //\n        // If the event emitted is '*' at this part\n        // or there is a concrete match at this patch\n        //\n        branches = ownKeys(tree);\n        n = branches.length;\n        while (n-- > 0) {\n          branch = branches[n];\n          if (branch !== '_listeners') {\n            _listeners = searchListenerTree(handlers, type, tree[branch], i + 1, typeLength);\n            if (_listeners) {\n              if (listeners) {\n                listeners.push.apply(listeners, _listeners);\n              } else {\n                listeners = _listeners;\n              }\n            }\n          }\n        }\n        return listeners;\n      } else if (currentType === '**') {\n        endReached = (i + 1 === typeLength || (i + 2 === typeLength && nextType === '*'));\n        if (endReached && tree._listeners) {\n          // The next element has a _listeners, add it to the handlers.\n          listeners = searchListenerTree(handlers, type, tree, typeLength, typeLength);\n        }\n\n        branches = ownKeys(tree);\n        n = branches.length;\n        while (n-- > 0) {\n          branch = branches[n];\n          if (branch !== '_listeners') {\n            if (branch === '*' || branch === '**') {\n              if (tree[branch]._listeners && !endReached) {\n                _listeners = searchListenerTree(handlers, type, tree[branch], typeLength, typeLength);\n                if (_listeners) {\n                  if (listeners) {\n                    listeners.push.apply(listeners, _listeners);\n                  } else {\n                    listeners = _listeners;\n                  }\n                }\n              }\n              _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n            } else if (branch === nextType) {\n              _listeners = searchListenerTree(handlers, type, tree[branch], i + 2, typeLength);\n            } else {\n              // No match on this one, shift into the tree but not in the type array.\n              _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n            }\n            if (_listeners) {\n              if (listeners) {\n                listeners.push.apply(listeners, _listeners);\n              } else {\n                listeners = _listeners;\n              }\n            }\n          }\n        }\n        return listeners;\n      } else if (tree[currentType]) {\n        listeners = searchListenerTree(handlers, type, tree[currentType], i + 1, typeLength);\n      }\n    }\n\n      xTree = tree['*'];\n    if (xTree) {\n      //\n      // If the listener tree will allow any match for this part,\n      // then recursively explore all branches of the tree\n      //\n      searchListenerTree(handlers, type, xTree, i + 1, typeLength);\n    }\n\n    xxTree = tree['**'];\n    if (xxTree) {\n      if (i < typeLength) {\n        if (xxTree._listeners) {\n          // If we have a listener on a '**', it will catch all, so add its handler.\n          searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n        }\n\n        // Build arrays of matching next branches and others.\n        branches= ownKeys(xxTree);\n        n= branches.length;\n        while(n-->0){\n          branch= branches[n];\n          if (branch !== '_listeners') {\n            if (branch === nextType) {\n              // We know the next element will match, so jump twice.\n              searchListenerTree(handlers, type, xxTree[branch], i + 2, typeLength);\n            } else if (branch === currentType) {\n              // Current node matches, move into the tree.\n              searchListenerTree(handlers, type, xxTree[branch], i + 1, typeLength);\n            } else {\n              isolatedBranch = {};\n              isolatedBranch[branch] = xxTree[branch];\n              searchListenerTree(handlers, type, {'**': isolatedBranch}, i + 1, typeLength);\n            }\n          }\n        }\n      } else if (xxTree._listeners) {\n        // We have reached the end and still on a '**'\n        searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n      } else if (xxTree['*'] && xxTree['*']._listeners) {\n        searchListenerTree(handlers, type, xxTree['*'], typeLength, typeLength);\n      }\n    }\n\n    return listeners;\n  }\n\n  function growListenerTree(type, listener, prepend) {\n    var len = 0, j = 0, i, delimiter = this.delimiter, dl= delimiter.length, ns;\n\n    if(typeof type==='string') {\n      if ((i = type.indexOf(delimiter)) !== -1) {\n        ns = new Array(5);\n        do {\n          ns[len++] = type.slice(j, i);\n          j = i + dl;\n        } while ((i = type.indexOf(delimiter, j)) !== -1);\n\n        ns[len++] = type.slice(j);\n      }else{\n        ns= [type];\n        len= 1;\n      }\n    }else{\n      ns= type;\n      len= type.length;\n    }\n\n    //\n    // Looks for two consecutive '**', if so, don't add the event at all.\n    //\n    if (len > 1) {\n      for (i = 0; i + 1 < len; i++) {\n        if (ns[i] === '**' && ns[i + 1] === '**') {\n          return;\n        }\n      }\n    }\n\n\n\n    var tree = this.listenerTree, name;\n\n    for (i = 0; i < len; i++) {\n      name = ns[i];\n\n      tree = tree[name] || (tree[name] = {});\n\n      if (i === len - 1) {\n        if (!tree._listeners) {\n          tree._listeners = listener;\n        } else {\n          if (typeof tree._listeners === 'function') {\n            tree._listeners = [tree._listeners];\n          }\n\n          if (prepend) {\n            tree._listeners.unshift(listener);\n          } else {\n            tree._listeners.push(listener);\n          }\n\n          if (\n              !tree._listeners.warned &&\n              this._maxListeners > 0 &&\n              tree._listeners.length > this._maxListeners\n          ) {\n            tree._listeners.warned = true;\n            logPossibleMemoryLeak.call(this, tree._listeners.length, name);\n          }\n        }\n        return true;\n      }\n    }\n\n    return true;\n  }\n\n  function collectTreeEvents(tree, events, root, asArray){\n     var branches= ownKeys(tree);\n     var i= branches.length;\n     var branch, branchName, path;\n     var hasListeners= tree['_listeners'];\n     var isArrayPath;\n\n     while(i-->0){\n         branchName= branches[i];\n\n         branch= tree[branchName];\n\n         if(branchName==='_listeners'){\n             path= root;\n         }else {\n             path = root ? root.concat(branchName) : [branchName];\n         }\n\n         isArrayPath= asArray || typeof branchName==='symbol';\n\n         hasListeners && events.push(isArrayPath? path : path.join(this.delimiter));\n\n         if(typeof branch==='object'){\n             collectTreeEvents.call(this, branch, events, path, isArrayPath);\n         }\n     }\n\n     return events;\n  }\n\n  function recursivelyGarbageCollect(root) {\n    var keys = ownKeys(root);\n    var i= keys.length;\n    var obj, key, flag;\n    while(i-->0){\n      key = keys[i];\n      obj = root[key];\n\n      if(obj){\n          flag= true;\n          if(key !== '_listeners' && !recursivelyGarbageCollect(obj)){\n             delete root[key];\n          }\n      }\n    }\n\n    return flag;\n  }\n\n  function Listener(emitter, event, listener){\n    this.emitter= emitter;\n    this.event= event;\n    this.listener= listener;\n  }\n\n  Listener.prototype.off= function(){\n    this.emitter.off(this.event, this.listener);\n    return this;\n  };\n\n  function setupListener(event, listener, options){\n      if (options === true) {\n        promisify = true;\n      } else if (options === false) {\n        async = true;\n      } else {\n        if (!options || typeof options !== 'object') {\n          throw TypeError('options should be an object or true');\n        }\n        var async = options.async;\n        var promisify = options.promisify;\n        var nextTick = options.nextTick;\n        var objectify = options.objectify;\n      }\n\n      if (async || nextTick || promisify) {\n        var _listener = listener;\n        var _origin = listener._origin || listener;\n\n        if (nextTick && !nextTickSupported) {\n          throw Error('process.nextTick is not supported');\n        }\n\n        if (promisify === undefined) {\n          promisify = listener.constructor.name === 'AsyncFunction';\n        }\n\n        listener = function () {\n          var args = arguments;\n          var context = this;\n          var event = this.event;\n\n          return promisify ? (nextTick ? Promise.resolve() : new Promise(function (resolve) {\n            _setImmediate(resolve);\n          }).then(function () {\n            context.event = event;\n            return _listener.apply(context, args)\n          })) : (nextTick ? process.nextTick : _setImmediate)(function () {\n            context.event = event;\n            _listener.apply(context, args)\n          });\n        };\n\n        listener._async = true;\n        listener._origin = _origin;\n      }\n\n    return [listener, objectify? new Listener(this, event, listener): this];\n  }\n\n  function EventEmitter(conf) {\n    this._events = {};\n    this._newListener = false;\n    this._removeListener = false;\n    this.verboseMemoryLeak = false;\n    configure.call(this, conf);\n  }\n\n  EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property\n\n  EventEmitter.prototype.listenTo= function(target, events, options){\n    if(typeof target!=='object'){\n      throw TypeError('target musts be an object');\n    }\n\n    var emitter= this;\n\n    options = resolveOptions(options, {\n      on: undefined,\n      off: undefined,\n      reducers: undefined\n    }, {\n      on: functionReducer,\n      off: functionReducer,\n      reducers: objectFunctionReducer\n    });\n\n    function listen(events){\n      if(typeof events!=='object'){\n        throw TypeError('events must be an object');\n      }\n\n      var reducers= options.reducers;\n      var index= findTargetIndex.call(emitter, target);\n      var observer;\n\n      if(index===-1){\n        observer= new TargetObserver(emitter, target, options);\n      }else{\n        observer= emitter._observers[index];\n      }\n\n      var keys= ownKeys(events);\n      var len= keys.length;\n      var event;\n      var isSingleReducer= typeof reducers==='function';\n\n      for(var i=0; i<len; i++){\n        event= keys[i];\n        observer.subscribe(\n            event,\n            events[event] || event,\n            isSingleReducer ? reducers : reducers && reducers[event]\n        );\n      }\n    }\n\n    isArray(events)?\n        listen(toObject(events)) :\n        (typeof events==='string'? listen(toObject(events.split(/\\s+/))): listen(events));\n\n    return this;\n  };\n\n  EventEmitter.prototype.stopListeningTo = function (target, event) {\n    var observers = this._observers;\n\n    if(!observers){\n      return false;\n    }\n\n    var i = observers.length;\n    var observer;\n    var matched= false;\n\n    if(target && typeof target!=='object'){\n      throw TypeError('target should be an object');\n    }\n\n    while (i-- > 0) {\n      observer = observers[i];\n      if (!target || observer._target === target) {\n        observer.unsubscribe(event);\n        matched= true;\n      }\n    }\n\n    return matched;\n  };\n\n  // By default EventEmitters will print a warning if more than\n  // 10 listeners are added to it. This is a useful default which\n  // helps finding memory leaks.\n  //\n  // Obviously not all Emitters should be limited to 10. This function allows\n  // that to be increased. Set to zero for unlimited.\n\n  EventEmitter.prototype.delimiter = '.';\n\n  EventEmitter.prototype.setMaxListeners = function(n) {\n    if (n !== undefined) {\n      this._maxListeners = n;\n      if (!this._conf) this._conf = {};\n      this._conf.maxListeners = n;\n    }\n  };\n\n  EventEmitter.prototype.getMaxListeners = function() {\n    return this._maxListeners;\n  };\n\n  EventEmitter.prototype.event = '';\n\n  EventEmitter.prototype.once = function(event, fn, options) {\n    return this._once(event, fn, false, options);\n  };\n\n  EventEmitter.prototype.prependOnceListener = function(event, fn, options) {\n    return this._once(event, fn, true, options);\n  };\n\n  EventEmitter.prototype._once = function(event, fn, prepend, options) {\n    return this._many(event, 1, fn, prepend, options);\n  };\n\n  EventEmitter.prototype.many = function(event, ttl, fn, options) {\n    return this._many(event, ttl, fn, false, options);\n  };\n\n  EventEmitter.prototype.prependMany = function(event, ttl, fn, options) {\n    return this._many(event, ttl, fn, true, options);\n  };\n\n  EventEmitter.prototype._many = function(event, ttl, fn, prepend, options) {\n    var self = this;\n\n    if (typeof fn !== 'function') {\n      throw new Error('many only accepts instances of Function');\n    }\n\n    function listener() {\n      if (--ttl === 0) {\n        self.off(event, listener);\n      }\n      return fn.apply(this, arguments);\n    }\n\n    listener._origin = fn;\n\n    return this._on(event, listener, prepend, options);\n  };\n\n  EventEmitter.prototype.emit = function() {\n    if (!this._events && !this._all) {\n      return false;\n    }\n\n    this._events || init.call(this);\n\n    var type = arguments[0], ns, wildcard= this.wildcard;\n    var args,l,i,j, containsSymbol;\n\n    if (type === 'newListener' && !this._newListener) {\n      if (!this._events.newListener) {\n        return false;\n      }\n    }\n\n    if (wildcard) {\n      ns= type;\n      if(type!=='newListener' && type!=='removeListener'){\n        if (typeof type === 'object') {\n          l = type.length;\n          if (symbolsSupported) {\n            for (i = 0; i < l; i++) {\n              if (typeof type[i] === 'symbol') {\n                containsSymbol = true;\n                break;\n              }\n            }\n          }\n          if (!containsSymbol) {\n            type = type.join(this.delimiter);\n          }\n        }\n      }\n    }\n\n    var al = arguments.length;\n    var handler;\n\n    if (this._all && this._all.length) {\n      handler = this._all.slice();\n\n      for (i = 0, l = handler.length; i < l; i++) {\n        this.event = type;\n        switch (al) {\n        case 1:\n          handler[i].call(this, type);\n          break;\n        case 2:\n          handler[i].call(this, type, arguments[1]);\n          break;\n        case 3:\n          handler[i].call(this, type, arguments[1], arguments[2]);\n          break;\n        default:\n          handler[i].apply(this, arguments);\n        }\n      }\n    }\n\n    if (wildcard) {\n      handler = [];\n      searchListenerTree.call(this, handler, ns, this.listenerTree, 0, l);\n    } else {\n      handler = this._events[type];\n      if (typeof handler === 'function') {\n        this.event = type;\n        switch (al) {\n        case 1:\n          handler.call(this);\n          break;\n        case 2:\n          handler.call(this, arguments[1]);\n          break;\n        case 3:\n          handler.call(this, arguments[1], arguments[2]);\n          break;\n        default:\n          args = new Array(al - 1);\n          for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n          handler.apply(this, args);\n        }\n        return true;\n      } else if (handler) {\n        // need to make copy of handlers because list can change in the middle\n        // of emit call\n        handler = handler.slice();\n      }\n    }\n\n    if (handler && handler.length) {\n      if (al > 3) {\n        args = new Array(al - 1);\n        for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n      }\n      for (i = 0, l = handler.length; i < l; i++) {\n        this.event = type;\n        switch (al) {\n        case 1:\n          handler[i].call(this);\n          break;\n        case 2:\n          handler[i].call(this, arguments[1]);\n          break;\n        case 3:\n          handler[i].call(this, arguments[1], arguments[2]);\n          break;\n        default:\n          handler[i].apply(this, args);\n        }\n      }\n      return true;\n    } else if (!this.ignoreErrors && !this._all && type === 'error') {\n      if (arguments[1] instanceof Error) {\n        throw arguments[1]; // Unhandled 'error' event\n      } else {\n        throw new Error(\"Uncaught, unspecified 'error' event.\");\n      }\n    }\n\n    return !!this._all;\n  };\n\n  EventEmitter.prototype.emitAsync = function() {\n    if (!this._events && !this._all) {\n      return false;\n    }\n\n    this._events || init.call(this);\n\n    var type = arguments[0], wildcard= this.wildcard, ns, containsSymbol;\n    var args,l,i,j;\n\n    if (type === 'newListener' && !this._newListener) {\n        if (!this._events.newListener) { return Promise.resolve([false]); }\n    }\n\n    if (wildcard) {\n      ns= type;\n      if(type!=='newListener' && type!=='removeListener'){\n        if (typeof type === 'object') {\n          l = type.length;\n          if (symbolsSupported) {\n            for (i = 0; i < l; i++) {\n              if (typeof type[i] === 'symbol') {\n                containsSymbol = true;\n                break;\n              }\n            }\n          }\n          if (!containsSymbol) {\n            type = type.join(this.delimiter);\n          }\n        }\n      }\n    }\n\n    var promises= [];\n\n    var al = arguments.length;\n    var handler;\n\n    if (this._all) {\n      for (i = 0, l = this._all.length; i < l; i++) {\n        this.event = type;\n        switch (al) {\n        case 1:\n          promises.push(this._all[i].call(this, type));\n          break;\n        case 2:\n          promises.push(this._all[i].call(this, type, arguments[1]));\n          break;\n        case 3:\n          promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));\n          break;\n        default:\n          promises.push(this._all[i].apply(this, arguments));\n        }\n      }\n    }\n\n    if (wildcard) {\n      handler = [];\n      searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\n    } else {\n      handler = this._events[type];\n    }\n\n    if (typeof handler === 'function') {\n      this.event = type;\n      switch (al) {\n      case 1:\n        promises.push(handler.call(this));\n        break;\n      case 2:\n        promises.push(handler.call(this, arguments[1]));\n        break;\n      case 3:\n        promises.push(handler.call(this, arguments[1], arguments[2]));\n        break;\n      default:\n        args = new Array(al - 1);\n        for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n        promises.push(handler.apply(this, args));\n      }\n    } else if (handler && handler.length) {\n      handler = handler.slice();\n      if (al > 3) {\n        args = new Array(al - 1);\n        for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n      }\n      for (i = 0, l = handler.length; i < l; i++) {\n        this.event = type;\n        switch (al) {\n        case 1:\n          promises.push(handler[i].call(this));\n          break;\n        case 2:\n          promises.push(handler[i].call(this, arguments[1]));\n          break;\n        case 3:\n          promises.push(handler[i].call(this, arguments[1], arguments[2]));\n          break;\n        default:\n          promises.push(handler[i].apply(this, args));\n        }\n      }\n    } else if (!this.ignoreErrors && !this._all && type === 'error') {\n      if (arguments[1] instanceof Error) {\n        return Promise.reject(arguments[1]); // Unhandled 'error' event\n      } else {\n        return Promise.reject(\"Uncaught, unspecified 'error' event.\");\n      }\n    }\n\n    return Promise.all(promises);\n  };\n\n  EventEmitter.prototype.on = function(type, listener, options) {\n    return this._on(type, listener, false, options);\n  };\n\n  EventEmitter.prototype.prependListener = function(type, listener, options) {\n    return this._on(type, listener, true, options);\n  };\n\n  EventEmitter.prototype.onAny = function(fn) {\n    return this._onAny(fn, false);\n  };\n\n  EventEmitter.prototype.prependAny = function(fn) {\n    return this._onAny(fn, true);\n  };\n\n  EventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n  EventEmitter.prototype._onAny = function(fn, prepend){\n    if (typeof fn !== 'function') {\n      throw new Error('onAny only accepts instances of Function');\n    }\n\n    if (!this._all) {\n      this._all = [];\n    }\n\n    // Add the function to the event listener collection.\n    if(prepend){\n      this._all.unshift(fn);\n    }else{\n      this._all.push(fn);\n    }\n\n    return this;\n  };\n\n  EventEmitter.prototype._on = function(type, listener, prepend, options) {\n    if (typeof type === 'function') {\n      this._onAny(type, listener);\n      return this;\n    }\n\n    if (typeof listener !== 'function') {\n      throw new Error('on only accepts instances of Function');\n    }\n    this._events || init.call(this);\n\n    var returnValue= this, temp;\n\n    if (options !== undefined) {\n      temp = setupListener.call(this, type, listener, options);\n      listener = temp[0];\n      returnValue = temp[1];\n    }\n\n    // To avoid recursion in the case that type == \"newListeners\"! Before\n    // adding it to the listeners, first emit \"newListeners\".\n    if (this._newListener) {\n      this.emit('newListener', type, listener);\n    }\n\n    if (this.wildcard) {\n      growListenerTree.call(this, type, listener, prepend);\n      return returnValue;\n    }\n\n    if (!this._events[type]) {\n      // Optimize the case of one listener. Don't need the extra array object.\n      this._events[type] = listener;\n    } else {\n      if (typeof this._events[type] === 'function') {\n        // Change to array.\n        this._events[type] = [this._events[type]];\n      }\n\n      // If we've already got an array, just add\n      if(prepend){\n        this._events[type].unshift(listener);\n      }else{\n        this._events[type].push(listener);\n      }\n\n      // Check for listener leak\n      if (\n        !this._events[type].warned &&\n        this._maxListeners > 0 &&\n        this._events[type].length > this._maxListeners\n      ) {\n        this._events[type].warned = true;\n        logPossibleMemoryLeak.call(this, this._events[type].length, type);\n      }\n    }\n\n    return returnValue;\n  };\n\n  EventEmitter.prototype.off = function(type, listener) {\n    if (typeof listener !== 'function') {\n      throw new Error('removeListener only takes instances of Function');\n    }\n\n    var handlers,leafs=[];\n\n    if(this.wildcard) {\n      var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n      leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\n      if(!leafs) return this;\n    } else {\n      // does not use listeners(), so no side effect of creating _events[type]\n      if (!this._events[type]) return this;\n      handlers = this._events[type];\n      leafs.push({_listeners:handlers});\n    }\n\n    for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\n      var leaf = leafs[iLeaf];\n      handlers = leaf._listeners;\n      if (isArray(handlers)) {\n\n        var position = -1;\n\n        for (var i = 0, length = handlers.length; i < length; i++) {\n          if (handlers[i] === listener ||\n            (handlers[i].listener && handlers[i].listener === listener) ||\n            (handlers[i]._origin && handlers[i]._origin === listener)) {\n            position = i;\n            break;\n          }\n        }\n\n        if (position < 0) {\n          continue;\n        }\n\n        if(this.wildcard) {\n          leaf._listeners.splice(position, 1);\n        }\n        else {\n          this._events[type].splice(position, 1);\n        }\n\n        if (handlers.length === 0) {\n          if(this.wildcard) {\n            delete leaf._listeners;\n          }\n          else {\n            delete this._events[type];\n          }\n        }\n        if (this._removeListener)\n          this.emit(\"removeListener\", type, listener);\n\n        return this;\n      }\n      else if (handlers === listener ||\n        (handlers.listener && handlers.listener === listener) ||\n        (handlers._origin && handlers._origin === listener)) {\n        if(this.wildcard) {\n          delete leaf._listeners;\n        }\n        else {\n          delete this._events[type];\n        }\n        if (this._removeListener)\n          this.emit(\"removeListener\", type, listener);\n      }\n    }\n\n    this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n\n    return this;\n  };\n\n  EventEmitter.prototype.offAny = function(fn) {\n    var i = 0, l = 0, fns;\n    if (fn && this._all && this._all.length > 0) {\n      fns = this._all;\n      for(i = 0, l = fns.length; i < l; i++) {\n        if(fn === fns[i]) {\n          fns.splice(i, 1);\n          if (this._removeListener)\n            this.emit(\"removeListenerAny\", fn);\n          return this;\n        }\n      }\n    } else {\n      fns = this._all;\n      if (this._removeListener) {\n        for(i = 0, l = fns.length; i < l; i++)\n          this.emit(\"removeListenerAny\", fns[i]);\n      }\n      this._all = [];\n    }\n    return this;\n  };\n\n  EventEmitter.prototype.removeListener = EventEmitter.prototype.off;\n\n  EventEmitter.prototype.removeAllListeners = function (type) {\n    if (type === undefined) {\n      !this._events || init.call(this);\n      return this;\n    }\n\n    if (this.wildcard) {\n      var leafs = searchListenerTree.call(this, null, type, this.listenerTree, 0), leaf, i;\n      if (!leafs) return this;\n      for (i = 0; i < leafs.length; i++) {\n        leaf = leafs[i];\n        leaf._listeners = null;\n      }\n      this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n    } else if (this._events) {\n      this._events[type] = null;\n    }\n    return this;\n  };\n\n  EventEmitter.prototype.listeners = function (type) {\n    var _events = this._events;\n    var keys, listeners, allListeners;\n    var i;\n    var listenerTree;\n\n    if (type === undefined) {\n      if (this.wildcard) {\n        throw Error('event name required for wildcard emitter');\n      }\n\n      if (!_events) {\n        return [];\n      }\n\n      keys = ownKeys(_events);\n      i = keys.length;\n      allListeners = [];\n      while (i-- > 0) {\n        listeners = _events[keys[i]];\n        if (typeof listeners === 'function') {\n          allListeners.push(listeners);\n        } else {\n          allListeners.push.apply(allListeners, listeners);\n        }\n      }\n      return allListeners;\n    } else {\n      if (this.wildcard) {\n        listenerTree= this.listenerTree;\n        if(!listenerTree) return [];\n        var handlers = [];\n        var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n        searchListenerTree.call(this, handlers, ns, listenerTree, 0);\n        return handlers;\n      }\n\n      if (!_events) {\n        return [];\n      }\n\n      listeners = _events[type];\n\n      if (!listeners) {\n        return [];\n      }\n      return typeof listeners === 'function' ? [listeners] : listeners;\n    }\n  };\n\n  EventEmitter.prototype.eventNames = function(nsAsArray){\n    var _events= this._events;\n    return this.wildcard? collectTreeEvents.call(this, this.listenerTree, [], null, nsAsArray) : (_events? ownKeys(_events) : []);\n  };\n\n  EventEmitter.prototype.listenerCount = function(type) {\n    return this.listeners(type).length;\n  };\n\n  EventEmitter.prototype.hasListeners = function (type) {\n    if (this.wildcard) {\n      var handlers = [];\n      var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n      searchListenerTree.call(this, handlers, ns, this.listenerTree, 0);\n      return handlers.length > 0;\n    }\n\n    var _events = this._events;\n    var _all = this._all;\n\n    return !!(_all && _all.length || _events && (type === undefined ? ownKeys(_events).length : _events[type]));\n  };\n\n  EventEmitter.prototype.listenersAny = function() {\n\n    if(this._all) {\n      return this._all;\n    }\n    else {\n      return [];\n    }\n\n  };\n\n  EventEmitter.prototype.waitFor = function (event, options) {\n    var self = this;\n    var type = typeof options;\n    if (type === 'number') {\n      options = {timeout: options};\n    } else if (type === 'function') {\n      options = {filter: options};\n    }\n\n    options= resolveOptions(options, {\n      timeout: 0,\n      filter: undefined,\n      handleError: false,\n      Promise: Promise,\n      overload: false\n    }, {\n      filter: functionReducer,\n      Promise: constructorReducer\n    });\n\n    return makeCancelablePromise(options.Promise, function (resolve, reject, onCancel) {\n      function listener() {\n        var filter= options.filter;\n        if (filter && !filter.apply(self, arguments)) {\n          return;\n        }\n        self.off(event, listener);\n        if (options.handleError) {\n          var err = arguments[0];\n          err ? reject(err) : resolve(toArray.apply(null, arguments).slice(1));\n        } else {\n          resolve(toArray.apply(null, arguments));\n        }\n      }\n\n      onCancel(function(){\n        self.off(event, listener);\n      });\n\n      self._on(event, listener, false);\n    }, {\n      timeout: options.timeout,\n      overload: options.overload\n    })\n  };\n\n  function once(emitter, name, options) {\n    options= resolveOptions(options, {\n      Promise: Promise,\n      timeout: 0,\n      overload: false\n    }, {\n      Promise: constructorReducer\n    });\n\n    var _Promise= options.Promise;\n\n    return makeCancelablePromise(_Promise, function(resolve, reject, onCancel){\n      var handler;\n      if (typeof emitter.addEventListener === 'function') {\n        handler=  function () {\n          resolve(toArray.apply(null, arguments));\n        };\n\n        onCancel(function(){\n          emitter.removeEventListener(name, handler);\n        });\n\n        emitter.addEventListener(\n            name,\n            handler,\n            {once: true}\n        );\n        return;\n      }\n\n      var eventListener = function(){\n        errorListener && emitter.removeListener('error', errorListener);\n        resolve(toArray.apply(null, arguments));\n      };\n\n      var errorListener;\n\n      if (name !== 'error') {\n        errorListener = function (err){\n          emitter.removeListener(name, eventListener);\n          reject(err);\n        };\n\n        emitter.once('error', errorListener);\n      }\n\n      onCancel(function(){\n        errorListener && emitter.removeListener('error', errorListener);\n        emitter.removeListener(name, eventListener);\n      });\n\n      emitter.once(name, eventListener);\n    }, {\n      timeout: options.timeout,\n      overload: options.overload\n    });\n  }\n\n  var prototype= EventEmitter.prototype;\n\n  Object.defineProperties(EventEmitter, {\n    defaultMaxListeners: {\n      get: function () {\n        return prototype._maxListeners;\n      },\n      set: function (n) {\n        if (typeof n !== 'number' || n < 0 || Number.isNaN(n)) {\n          throw TypeError('n must be a non-negative number')\n        }\n        prototype._maxListeners = n;\n      },\n      enumerable: true\n    },\n    once: {\n      value: once,\n      writable: true,\n      configurable: true\n    }\n  });\n\n  Object.defineProperties(prototype, {\n      _maxListeners: {\n          value: defaultMaxListeners,\n          writable: true,\n          configurable: true\n      },\n      _observers: {value: null, writable: true, configurable: true}\n  });\n\n  if (typeof define === 'function' && define.amd) {\n     // AMD. Register as an anonymous module.\n    define(function() {\n      return EventEmitter;\n    });\n  } else if (typeof exports === 'object') {\n    // CommonJS\n    module.exports = EventEmitter;\n  }\n  else {\n    // global for any kind of environment.\n    var _global= new Function('','return this')();\n    _global.EventEmitter2 = EventEmitter;\n  }\n}();\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n  // lazy load so that environments that need to polyfill have a chance to do so\n  if (!getRandomValues) {\n    // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n    // find the complete implementation of crypto (msCrypto) on IE11.\n    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n    if (!getRandomValues) {\n      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n    }\n  }\n\n  return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n\n  if (!validate(uuid)) {\n    throw TypeError('Stringified UUID is invalid');\n  }\n\n  return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n  options = options || {};\n  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    offset = offset || 0;\n\n    for (var i = 0; i < 16; ++i) {\n      buf[offset + i] = rnds[i];\n    }\n\n    return buf;\n  }\n\n  return stringify(rnds);\n}\n\nexport default v4;","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n    PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n    (typeof Blob !== \"undefined\" &&\n        Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n    return typeof ArrayBuffer.isView === \"function\"\n        ? ArrayBuffer.isView(obj)\n        : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n    if (withNativeBlob && data instanceof Blob) {\n        if (supportsBinary) {\n            return callback(data);\n        }\n        else {\n            return encodeBlobAsBase64(data, callback);\n        }\n    }\n    else if (withNativeArrayBuffer &&\n        (data instanceof ArrayBuffer || isView(data))) {\n        if (supportsBinary) {\n            return callback(data);\n        }\n        else {\n            return encodeBlobAsBase64(new Blob([data]), callback);\n        }\n    }\n    // plain string\n    return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n    const fileReader = new FileReader();\n    fileReader.onload = function () {\n        const content = fileReader.result.split(\",\")[1];\n        callback(\"b\" + (content || \"\"));\n    };\n    return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n    if (data instanceof Uint8Array) {\n        return data;\n    }\n    else if (data instanceof ArrayBuffer) {\n        return new Uint8Array(data);\n    }\n    else {\n        return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n    }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n    if (withNativeBlob && packet.data instanceof Blob) {\n        return packet.data.arrayBuffer().then(toArray).then(callback);\n    }\n    else if (withNativeArrayBuffer &&\n        (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n        return callback(toArray(packet.data));\n    }\n    encodePacket(packet, false, (encoded) => {\n        if (!TEXT_ENCODER) {\n            TEXT_ENCODER = new TextEncoder();\n        }\n        callback(TEXT_ENCODER.encode(encoded));\n    });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n    lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n    let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n    for (i = 0; i < len; i += 3) {\n        base64 += chars[bytes[i] >> 2];\n        base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n        base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n        base64 += chars[bytes[i + 2] & 63];\n    }\n    if (len % 3 === 2) {\n        base64 = base64.substring(0, base64.length - 1) + '=';\n    }\n    else if (len % 3 === 1) {\n        base64 = base64.substring(0, base64.length - 2) + '==';\n    }\n    return base64;\n};\nexport const decode = (base64) => {\n    let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n    if (base64[base64.length - 1] === '=') {\n        bufferLength--;\n        if (base64[base64.length - 2] === '=') {\n            bufferLength--;\n        }\n    }\n    const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n    for (i = 0; i < len; i += 4) {\n        encoded1 = lookup[base64.charCodeAt(i)];\n        encoded2 = lookup[base64.charCodeAt(i + 1)];\n        encoded3 = lookup[base64.charCodeAt(i + 2)];\n        encoded4 = lookup[base64.charCodeAt(i + 3)];\n        bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n        bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n        bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n    }\n    return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n    if (typeof encodedPacket !== \"string\") {\n        return {\n            type: \"message\",\n            data: mapBinary(encodedPacket, binaryType),\n        };\n    }\n    const type = encodedPacket.charAt(0);\n    if (type === \"b\") {\n        return {\n            type: \"message\",\n            data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n        };\n    }\n    const packetType = PACKET_TYPES_REVERSE[type];\n    if (!packetType) {\n        return ERROR_PACKET;\n    }\n    return encodedPacket.length > 1\n        ? {\n            type: PACKET_TYPES_REVERSE[type],\n            data: encodedPacket.substring(1),\n        }\n        : {\n            type: PACKET_TYPES_REVERSE[type],\n        };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n    if (withNativeArrayBuffer) {\n        const decoded = decode(data);\n        return mapBinary(decoded, binaryType);\n    }\n    else {\n        return { base64: true, data }; // fallback for old browsers\n    }\n};\nconst mapBinary = (data, binaryType) => {\n    switch (binaryType) {\n        case \"blob\":\n            if (data instanceof Blob) {\n                // from WebSocket + binaryType \"blob\"\n                return data;\n            }\n            else {\n                // from HTTP long-polling or WebTransport\n                return new Blob([data]);\n            }\n        case \"arraybuffer\":\n        default:\n            if (data instanceof ArrayBuffer) {\n                // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n                return data;\n            }\n            else {\n                // from WebTransport (Uint8Array)\n                return data.buffer;\n            }\n    }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n    // some packets may be added to the array while encoding, so the initial length must be saved\n    const length = packets.length;\n    const encodedPackets = new Array(length);\n    let count = 0;\n    packets.forEach((packet, i) => {\n        // force base64 encoding for binary packets\n        encodePacket(packet, false, (encodedPacket) => {\n            encodedPackets[i] = encodedPacket;\n            if (++count === length) {\n                callback(encodedPackets.join(SEPARATOR));\n            }\n        });\n    });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n    const encodedPackets = encodedPayload.split(SEPARATOR);\n    const packets = [];\n    for (let i = 0; i < encodedPackets.length; i++) {\n        const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n        packets.push(decodedPacket);\n        if (decodedPacket.type === \"error\") {\n            break;\n        }\n    }\n    return packets;\n};\nexport function createPacketEncoderStream() {\n    return new TransformStream({\n        transform(packet, controller) {\n            encodePacketToBinary(packet, (encodedPacket) => {\n                const payloadLength = encodedPacket.length;\n                let header;\n                // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n                if (payloadLength < 126) {\n                    header = new Uint8Array(1);\n                    new DataView(header.buffer).setUint8(0, payloadLength);\n                }\n                else if (payloadLength < 65536) {\n                    header = new Uint8Array(3);\n                    const view = new DataView(header.buffer);\n                    view.setUint8(0, 126);\n                    view.setUint16(1, payloadLength);\n                }\n                else {\n                    header = new Uint8Array(9);\n                    const view = new DataView(header.buffer);\n                    view.setUint8(0, 127);\n                    view.setBigUint64(1, BigInt(payloadLength));\n                }\n                // first bit indicates whether the payload is plain text (0) or binary (1)\n                if (packet.data && typeof packet.data !== \"string\") {\n                    header[0] |= 0x80;\n                }\n                controller.enqueue(header);\n                controller.enqueue(encodedPacket);\n            });\n        },\n    });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n    return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n    if (chunks[0].length === size) {\n        return chunks.shift();\n    }\n    const buffer = new Uint8Array(size);\n    let j = 0;\n    for (let i = 0; i < size; i++) {\n        buffer[i] = chunks[0][j++];\n        if (j === chunks[0].length) {\n            chunks.shift();\n            j = 0;\n        }\n    }\n    if (chunks.length && j < chunks[0].length) {\n        chunks[0] = chunks[0].slice(j);\n    }\n    return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n    if (!TEXT_DECODER) {\n        TEXT_DECODER = new TextDecoder();\n    }\n    const chunks = [];\n    let state = 0 /* State.READ_HEADER */;\n    let expectedLength = -1;\n    let isBinary = false;\n    return new TransformStream({\n        transform(chunk, controller) {\n            chunks.push(chunk);\n            while (true) {\n                if (state === 0 /* State.READ_HEADER */) {\n                    if (totalLength(chunks) < 1) {\n                        break;\n                    }\n                    const header = concatChunks(chunks, 1);\n                    isBinary = (header[0] & 0x80) === 0x80;\n                    expectedLength = header[0] & 0x7f;\n                    if (expectedLength < 126) {\n                        state = 3 /* State.READ_PAYLOAD */;\n                    }\n                    else if (expectedLength === 126) {\n                        state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n                    }\n                    else {\n                        state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n                    }\n                }\n                else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n                    if (totalLength(chunks) < 2) {\n                        break;\n                    }\n                    const headerArray = concatChunks(chunks, 2);\n                    expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n                    state = 3 /* State.READ_PAYLOAD */;\n                }\n                else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n                    if (totalLength(chunks) < 8) {\n                        break;\n                    }\n                    const headerArray = concatChunks(chunks, 8);\n                    const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n                    const n = view.getUint32(0);\n                    if (n > Math.pow(2, 53 - 32) - 1) {\n                        // the maximum safe integer in JavaScript is 2^53 - 1\n                        controller.enqueue(ERROR_PACKET);\n                        break;\n                    }\n                    expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n                    state = 3 /* State.READ_PAYLOAD */;\n                }\n                else {\n                    if (totalLength(chunks) < expectedLength) {\n                        break;\n                    }\n                    const data = concatChunks(chunks, expectedLength);\n                    controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n                    state = 0 /* State.READ_HEADER */;\n                }\n                if (expectedLength === 0 || expectedLength > maxPayload) {\n                    controller.enqueue(ERROR_PACKET);\n                    break;\n                }\n            }\n        },\n    });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n  if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n  for (var key in Emitter.prototype) {\n    obj[key] = Emitter.prototype[key];\n  }\n  return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n  this._callbacks = this._callbacks || {};\n  (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n    .push(fn);\n  return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n  function on() {\n    this.off(event, on);\n    fn.apply(this, arguments);\n  }\n\n  on.fn = fn;\n  this.on(event, on);\n  return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n  this._callbacks = this._callbacks || {};\n\n  // all\n  if (0 == arguments.length) {\n    this._callbacks = {};\n    return this;\n  }\n\n  // specific event\n  var callbacks = this._callbacks['$' + event];\n  if (!callbacks) return this;\n\n  // remove all handlers\n  if (1 == arguments.length) {\n    delete this._callbacks['$' + event];\n    return this;\n  }\n\n  // remove specific handler\n  var cb;\n  for (var i = 0; i < callbacks.length; i++) {\n    cb = callbacks[i];\n    if (cb === fn || cb.fn === fn) {\n      callbacks.splice(i, 1);\n      break;\n    }\n  }\n\n  // Remove event specific arrays for event types that no\n  // one is subscribed for to avoid memory leak.\n  if (callbacks.length === 0) {\n    delete this._callbacks['$' + event];\n  }\n\n  return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n  this._callbacks = this._callbacks || {};\n\n  var args = new Array(arguments.length - 1)\n    , callbacks = this._callbacks['$' + event];\n\n  for (var i = 1; i < arguments.length; i++) {\n    args[i - 1] = arguments[i];\n  }\n\n  if (callbacks) {\n    callbacks = callbacks.slice(0);\n    for (var i = 0, len = callbacks.length; i < len; ++i) {\n      callbacks[i].apply(this, args);\n    }\n  }\n\n  return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n  this._callbacks = this._callbacks || {};\n  return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n  return !! this.listeners(event).length;\n};\n","export const nextTick = (() => {\n    const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n    if (isPromiseAvailable) {\n        return (cb) => Promise.resolve().then(cb);\n    }\n    else {\n        return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n    }\n})();\nexport const globalThisShim = (() => {\n    if (typeof self !== \"undefined\") {\n        return self;\n    }\n    else if (typeof window !== \"undefined\") {\n        return window;\n    }\n    else {\n        return Function(\"return this\")();\n    }\n})();\nexport const defaultBinaryType = \"arraybuffer\";\nexport function createCookieJar() { }\n","import { globalThisShim as globalThis } from \"./globals.node.js\";\nexport function pick(obj, ...attr) {\n    return attr.reduce((acc, k) => {\n        if (obj.hasOwnProperty(k)) {\n            acc[k] = obj[k];\n        }\n        return acc;\n    }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n    if (opts.useNativeTimers) {\n        obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n        obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n    }\n    else {\n        obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n        obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n    }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n    if (typeof obj === \"string\") {\n        return utf8Length(obj);\n    }\n    // arraybuffer or blob\n    return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n    let c = 0, length = 0;\n    for (let i = 0, l = str.length; i < l; i++) {\n        c = str.charCodeAt(i);\n        if (c < 0x80) {\n            length += 1;\n        }\n        else if (c < 0x800) {\n            length += 2;\n        }\n        else if (c < 0xd800 || c >= 0xe000) {\n            length += 3;\n        }\n        else {\n            i++;\n            length += 4;\n        }\n    }\n    return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nexport function randomString() {\n    return (Date.now().toString(36).substring(3) +\n        Math.random().toString(36).substring(2, 5));\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n    let str = '';\n    for (let i in obj) {\n        if (obj.hasOwnProperty(i)) {\n            if (str.length)\n                str += '&';\n            str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n        }\n    }\n    return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n    let qry = {};\n    let pairs = qs.split('&');\n    for (let i = 0, l = pairs.length; i < l; i++) {\n        let pair = pairs[i].split('=');\n        qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n    }\n    return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n    constructor(reason, description, context) {\n        super(reason);\n        this.description = description;\n        this.context = context;\n        this.type = \"TransportError\";\n    }\n}\nexport class Transport extends Emitter {\n    /**\n     * Transport abstract constructor.\n     *\n     * @param {Object} opts - options\n     * @protected\n     */\n    constructor(opts) {\n        super();\n        this.writable = false;\n        installTimerFunctions(this, opts);\n        this.opts = opts;\n        this.query = opts.query;\n        this.socket = opts.socket;\n        this.supportsBinary = !opts.forceBase64;\n    }\n    /**\n     * Emits an error.\n     *\n     * @param {String} reason\n     * @param description\n     * @param context - the error context\n     * @return {Transport} for chaining\n     * @protected\n     */\n    onError(reason, description, context) {\n        super.emitReserved(\"error\", new TransportError(reason, description, context));\n        return this;\n    }\n    /**\n     * Opens the transport.\n     */\n    open() {\n        this.readyState = \"opening\";\n        this.doOpen();\n        return this;\n    }\n    /**\n     * Closes the transport.\n     */\n    close() {\n        if (this.readyState === \"opening\" || this.readyState === \"open\") {\n            this.doClose();\n            this.onClose();\n        }\n        return this;\n    }\n    /**\n     * Sends multiple packets.\n     *\n     * @param {Array} packets\n     */\n    send(packets) {\n        if (this.readyState === \"open\") {\n            this.write(packets);\n        }\n        else {\n            // this might happen if the transport was silently closed in the beforeunload event handler\n        }\n    }\n    /**\n     * Called upon open\n     *\n     * @protected\n     */\n    onOpen() {\n        this.readyState = \"open\";\n        this.writable = true;\n        super.emitReserved(\"open\");\n    }\n    /**\n     * Called with data.\n     *\n     * @param {String} data\n     * @protected\n     */\n    onData(data) {\n        const packet = decodePacket(data, this.socket.binaryType);\n        this.onPacket(packet);\n    }\n    /**\n     * Called with a decoded packet.\n     *\n     * @protected\n     */\n    onPacket(packet) {\n        super.emitReserved(\"packet\", packet);\n    }\n    /**\n     * Called upon close.\n     *\n     * @protected\n     */\n    onClose(details) {\n        this.readyState = \"closed\";\n        super.emitReserved(\"close\", details);\n    }\n    /**\n     * Pauses the transport, in order not to lose packets during an upgrade.\n     *\n     * @param onPause\n     */\n    pause(onPause) { }\n    createUri(schema, query = {}) {\n        return (schema +\n            \"://\" +\n            this._hostname() +\n            this._port() +\n            this.opts.path +\n            this._query(query));\n    }\n    _hostname() {\n        const hostname = this.opts.hostname;\n        return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n    }\n    _port() {\n        if (this.opts.port &&\n            ((this.opts.secure && Number(this.opts.port !== 443)) ||\n                (!this.opts.secure && Number(this.opts.port) !== 80))) {\n            return \":\" + this.opts.port;\n        }\n        else {\n            return \"\";\n        }\n    }\n    _query(query) {\n        const encodedQuery = encode(query);\n        return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n    }\n}\n","import { Transport } from \"../transport.js\";\nimport { randomString } from \"../util.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nexport class Polling extends Transport {\n    constructor() {\n        super(...arguments);\n        this._polling = false;\n    }\n    get name() {\n        return \"polling\";\n    }\n    /**\n     * Opens the socket (triggers polling). We write a PING message to determine\n     * when the transport is open.\n     *\n     * @protected\n     */\n    doOpen() {\n        this._poll();\n    }\n    /**\n     * Pauses polling.\n     *\n     * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n     * @package\n     */\n    pause(onPause) {\n        this.readyState = \"pausing\";\n        const pause = () => {\n            this.readyState = \"paused\";\n            onPause();\n        };\n        if (this._polling || !this.writable) {\n            let total = 0;\n            if (this._polling) {\n                total++;\n                this.once(\"pollComplete\", function () {\n                    --total || pause();\n                });\n            }\n            if (!this.writable) {\n                total++;\n                this.once(\"drain\", function () {\n                    --total || pause();\n                });\n            }\n        }\n        else {\n            pause();\n        }\n    }\n    /**\n     * Starts polling cycle.\n     *\n     * @private\n     */\n    _poll() {\n        this._polling = true;\n        this.doPoll();\n        this.emitReserved(\"poll\");\n    }\n    /**\n     * Overloads onData to detect payloads.\n     *\n     * @protected\n     */\n    onData(data) {\n        const callback = (packet) => {\n            // if its the first message we consider the transport open\n            if (\"opening\" === this.readyState && packet.type === \"open\") {\n                this.onOpen();\n            }\n            // if its a close packet, we close the ongoing requests\n            if (\"close\" === packet.type) {\n                this.onClose({ description: \"transport closed by the server\" });\n                return false;\n            }\n            // otherwise bypass onData and handle the message\n            this.onPacket(packet);\n        };\n        // decode payload\n        decodePayload(data, this.socket.binaryType).forEach(callback);\n        // if an event did not trigger closing\n        if (\"closed\" !== this.readyState) {\n            // if we got data we're not polling\n            this._polling = false;\n            this.emitReserved(\"pollComplete\");\n            if (\"open\" === this.readyState) {\n                this._poll();\n            }\n            else {\n            }\n        }\n    }\n    /**\n     * For polling, send a close packet.\n     *\n     * @protected\n     */\n    doClose() {\n        const close = () => {\n            this.write([{ type: \"close\" }]);\n        };\n        if (\"open\" === this.readyState) {\n            close();\n        }\n        else {\n            // in case we're trying to close while\n            // handshaking is in progress (GH-164)\n            this.once(\"open\", close);\n        }\n    }\n    /**\n     * Writes a packets payload.\n     *\n     * @param {Array} packets - data packets\n     * @protected\n     */\n    write(packets) {\n        this.writable = false;\n        encodePayload(packets, (data) => {\n            this.doWrite(data, () => {\n                this.writable = true;\n                this.emitReserved(\"drain\");\n            });\n        });\n    }\n    /**\n     * Generates uri for connection.\n     *\n     * @private\n     */\n    uri() {\n        const schema = this.opts.secure ? \"https\" : \"http\";\n        const query = this.query || {};\n        // cache busting is forced\n        if (false !== this.opts.timestampRequests) {\n            query[this.opts.timestampParam] = randomString();\n        }\n        if (!this.supportsBinary && !query.sid) {\n            query.b64 = 1;\n        }\n        return this.createUri(schema, query);\n    }\n}\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n    value = typeof XMLHttpRequest !== 'undefined' &&\n        'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n    // if XMLHttp support is disabled in IE then it will throw\n    // when trying to create\n}\nexport const hasCORS = value;\n","import { Polling } from \"./polling.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globals.node.js\";\nimport { hasCORS } from \"../contrib/has-cors.js\";\nfunction empty() { }\nexport class BaseXHR extends Polling {\n    /**\n     * XHR Polling constructor.\n     *\n     * @param {Object} opts\n     * @package\n     */\n    constructor(opts) {\n        super(opts);\n        if (typeof location !== \"undefined\") {\n            const isSSL = \"https:\" === location.protocol;\n            let port = location.port;\n            // some user agents have empty `location.port`\n            if (!port) {\n                port = isSSL ? \"443\" : \"80\";\n            }\n            this.xd =\n                (typeof location !== \"undefined\" &&\n                    opts.hostname !== location.hostname) ||\n                    port !== opts.port;\n        }\n    }\n    /**\n     * Sends data.\n     *\n     * @param {String} data to send.\n     * @param {Function} called upon flush.\n     * @private\n     */\n    doWrite(data, fn) {\n        const req = this.request({\n            method: \"POST\",\n            data: data,\n        });\n        req.on(\"success\", fn);\n        req.on(\"error\", (xhrStatus, context) => {\n            this.onError(\"xhr post error\", xhrStatus, context);\n        });\n    }\n    /**\n     * Starts a poll cycle.\n     *\n     * @private\n     */\n    doPoll() {\n        const req = this.request();\n        req.on(\"data\", this.onData.bind(this));\n        req.on(\"error\", (xhrStatus, context) => {\n            this.onError(\"xhr poll error\", xhrStatus, context);\n        });\n        this.pollXhr = req;\n    }\n}\nexport class Request extends Emitter {\n    /**\n     * Request constructor\n     *\n     * @param {Object} options\n     * @package\n     */\n    constructor(createRequest, uri, opts) {\n        super();\n        this.createRequest = createRequest;\n        installTimerFunctions(this, opts);\n        this._opts = opts;\n        this._method = opts.method || \"GET\";\n        this._uri = uri;\n        this._data = undefined !== opts.data ? opts.data : null;\n        this._create();\n    }\n    /**\n     * Creates the XHR object and sends the request.\n     *\n     * @private\n     */\n    _create() {\n        var _a;\n        const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n        opts.xdomain = !!this._opts.xd;\n        const xhr = (this._xhr = this.createRequest(opts));\n        try {\n            xhr.open(this._method, this._uri, true);\n            try {\n                if (this._opts.extraHeaders) {\n                    // @ts-ignore\n                    xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n                    for (let i in this._opts.extraHeaders) {\n                        if (this._opts.extraHeaders.hasOwnProperty(i)) {\n                            xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n                        }\n                    }\n                }\n            }\n            catch (e) { }\n            if (\"POST\" === this._method) {\n                try {\n                    xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n                }\n                catch (e) { }\n            }\n            try {\n                xhr.setRequestHeader(\"Accept\", \"*/*\");\n            }\n            catch (e) { }\n            (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n            // ie6 check\n            if (\"withCredentials\" in xhr) {\n                xhr.withCredentials = this._opts.withCredentials;\n            }\n            if (this._opts.requestTimeout) {\n                xhr.timeout = this._opts.requestTimeout;\n            }\n            xhr.onreadystatechange = () => {\n                var _a;\n                if (xhr.readyState === 3) {\n                    (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n                    // @ts-ignore\n                    xhr.getResponseHeader(\"set-cookie\"));\n                }\n                if (4 !== xhr.readyState)\n                    return;\n                if (200 === xhr.status || 1223 === xhr.status) {\n                    this._onLoad();\n                }\n                else {\n                    // make sure the `error` event handler that's user-set\n                    // does not throw in the same tick and gets caught here\n                    this.setTimeoutFn(() => {\n                        this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n                    }, 0);\n                }\n            };\n            xhr.send(this._data);\n        }\n        catch (e) {\n            // Need to defer since .create() is called directly from the constructor\n            // and thus the 'error' event can only be only bound *after* this exception\n            // occurs.  Therefore, also, we cannot throw here at all.\n            this.setTimeoutFn(() => {\n                this._onError(e);\n            }, 0);\n            return;\n        }\n        if (typeof document !== \"undefined\") {\n            this._index = Request.requestsCount++;\n            Request.requests[this._index] = this;\n        }\n    }\n    /**\n     * Called upon error.\n     *\n     * @private\n     */\n    _onError(err) {\n        this.emitReserved(\"error\", err, this._xhr);\n        this._cleanup(true);\n    }\n    /**\n     * Cleans up house.\n     *\n     * @private\n     */\n    _cleanup(fromError) {\n        if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n            return;\n        }\n        this._xhr.onreadystatechange = empty;\n        if (fromError) {\n            try {\n                this._xhr.abort();\n            }\n            catch (e) { }\n        }\n        if (typeof document !== \"undefined\") {\n            delete Request.requests[this._index];\n        }\n        this._xhr = null;\n    }\n    /**\n     * Called upon load.\n     *\n     * @private\n     */\n    _onLoad() {\n        const data = this._xhr.responseText;\n        if (data !== null) {\n            this.emitReserved(\"data\", data);\n            this.emitReserved(\"success\");\n            this._cleanup();\n        }\n    }\n    /**\n     * Aborts the request.\n     *\n     * @package\n     */\n    abort() {\n        this._cleanup();\n    }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n    // @ts-ignore\n    if (typeof attachEvent === \"function\") {\n        // @ts-ignore\n        attachEvent(\"onunload\", unloadHandler);\n    }\n    else if (typeof addEventListener === \"function\") {\n        const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n        addEventListener(terminationEvent, unloadHandler, false);\n    }\n}\nfunction unloadHandler() {\n    for (let i in Request.requests) {\n        if (Request.requests.hasOwnProperty(i)) {\n            Request.requests[i].abort();\n        }\n    }\n}\nconst hasXHR2 = (function () {\n    const xhr = newRequest({\n        xdomain: false,\n    });\n    return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nexport class XHR extends BaseXHR {\n    constructor(opts) {\n        super(opts);\n        const forceBase64 = opts && opts.forceBase64;\n        this.supportsBinary = hasXHR2 && !forceBase64;\n    }\n    request(opts = {}) {\n        Object.assign(opts, { xd: this.xd }, this.opts);\n        return new Request(newRequest, this.uri(), opts);\n    }\n}\nfunction newRequest(opts) {\n    const xdomain = opts.xdomain;\n    // XMLHttpRequest can be disabled on IE\n    try {\n        if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n            return new XMLHttpRequest();\n        }\n    }\n    catch (e) { }\n    if (!xdomain) {\n        try {\n            return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n        }\n        catch (e) { }\n    }\n}\n","import { Transport } from \"../transport.js\";\nimport { pick, randomString } from \"../util.js\";\nimport { encodePacket } from \"engine.io-parser\";\nimport { globalThisShim as globalThis, nextTick } from \"../globals.node.js\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n    typeof navigator.product === \"string\" &&\n    navigator.product.toLowerCase() === \"reactnative\";\nexport class BaseWS extends Transport {\n    get name() {\n        return \"websocket\";\n    }\n    doOpen() {\n        const uri = this.uri();\n        const protocols = this.opts.protocols;\n        // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n        const opts = isReactNative\n            ? {}\n            : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n        if (this.opts.extraHeaders) {\n            opts.headers = this.opts.extraHeaders;\n        }\n        try {\n            this.ws = this.createSocket(uri, protocols, opts);\n        }\n        catch (err) {\n            return this.emitReserved(\"error\", err);\n        }\n        this.ws.binaryType = this.socket.binaryType;\n        this.addEventListeners();\n    }\n    /**\n     * Adds event listeners to the socket\n     *\n     * @private\n     */\n    addEventListeners() {\n        this.ws.onopen = () => {\n            if (this.opts.autoUnref) {\n                this.ws._socket.unref();\n            }\n            this.onOpen();\n        };\n        this.ws.onclose = (closeEvent) => this.onClose({\n            description: \"websocket connection closed\",\n            context: closeEvent,\n        });\n        this.ws.onmessage = (ev) => this.onData(ev.data);\n        this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n    }\n    write(packets) {\n        this.writable = false;\n        // encodePacket efficient as it uses WS framing\n        // no need for encodePayload\n        for (let i = 0; i < packets.length; i++) {\n            const packet = packets[i];\n            const lastPacket = i === packets.length - 1;\n            encodePacket(packet, this.supportsBinary, (data) => {\n                // Sometimes the websocket has already been closed but the browser didn't\n                // have a chance of informing us about it yet, in that case send will\n                // throw an error\n                try {\n                    this.doWrite(packet, data);\n                }\n                catch (e) {\n                }\n                if (lastPacket) {\n                    // fake drain\n                    // defer to next tick to allow Socket to clear writeBuffer\n                    nextTick(() => {\n                        this.writable = true;\n                        this.emitReserved(\"drain\");\n                    }, this.setTimeoutFn);\n                }\n            });\n        }\n    }\n    doClose() {\n        if (typeof this.ws !== \"undefined\") {\n            this.ws.onerror = () => { };\n            this.ws.close();\n            this.ws = null;\n        }\n    }\n    /**\n     * Generates uri for connection.\n     *\n     * @private\n     */\n    uri() {\n        const schema = this.opts.secure ? \"wss\" : \"ws\";\n        const query = this.query || {};\n        // append timestamp to URI\n        if (this.opts.timestampRequests) {\n            query[this.opts.timestampParam] = randomString();\n        }\n        // communicate binary support capabilities\n        if (!this.supportsBinary) {\n            query.b64 = 1;\n        }\n        return this.createUri(schema, query);\n    }\n}\nconst WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nexport class WS extends BaseWS {\n    createSocket(uri, protocols, opts) {\n        return !isReactNative\n            ? protocols\n                ? new WebSocketCtor(uri, protocols)\n                : new WebSocketCtor(uri)\n            : new WebSocketCtor(uri, protocols, opts);\n    }\n    doWrite(_packet, data) {\n        this.ws.send(data);\n    }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"../globals.node.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nexport class WT extends Transport {\n    get name() {\n        return \"webtransport\";\n    }\n    doOpen() {\n        try {\n            // @ts-ignore\n            this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n        }\n        catch (err) {\n            return this.emitReserved(\"error\", err);\n        }\n        this._transport.closed\n            .then(() => {\n            this.onClose();\n        })\n            .catch((err) => {\n            this.onError(\"webtransport error\", err);\n        });\n        // note: we could have used async/await, but that would require some additional polyfills\n        this._transport.ready.then(() => {\n            this._transport.createBidirectionalStream().then((stream) => {\n                const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n                const reader = stream.readable.pipeThrough(decoderStream).getReader();\n                const encoderStream = createPacketEncoderStream();\n                encoderStream.readable.pipeTo(stream.writable);\n                this._writer = encoderStream.writable.getWriter();\n                const read = () => {\n                    reader\n                        .read()\n                        .then(({ done, value }) => {\n                        if (done) {\n                            return;\n                        }\n                        this.onPacket(value);\n                        read();\n                    })\n                        .catch((err) => {\n                    });\n                };\n                read();\n                const packet = { type: \"open\" };\n                if (this.query.sid) {\n                    packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n                }\n                this._writer.write(packet).then(() => this.onOpen());\n            });\n        });\n    }\n    write(packets) {\n        this.writable = false;\n        for (let i = 0; i < packets.length; i++) {\n            const packet = packets[i];\n            const lastPacket = i === packets.length - 1;\n            this._writer.write(packet).then(() => {\n                if (lastPacket) {\n                    nextTick(() => {\n                        this.writable = true;\n                        this.emitReserved(\"drain\");\n                    }, this.setTimeoutFn);\n                }\n            });\n        }\n    }\n    doClose() {\n        var _a;\n        (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n    }\n}\n","import { XHR } from \"./polling-xhr.node.js\";\nimport { WS } from \"./websocket.node.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n    websocket: WS,\n    webtransport: WT,\n    polling: XHR,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n    'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n    if (str.length > 8000) {\n        throw \"URI too long\";\n    }\n    const src = str, b = str.indexOf('['), e = str.indexOf(']');\n    if (b != -1 && e != -1) {\n        str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n    }\n    let m = re.exec(str || ''), uri = {}, i = 14;\n    while (i--) {\n        uri[parts[i]] = m[i] || '';\n    }\n    if (b != -1 && e != -1) {\n        uri.source = src;\n        uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n        uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n        uri.ipv6uri = true;\n    }\n    uri.pathNames = pathNames(uri, uri['path']);\n    uri.queryKey = queryKey(uri, uri['query']);\n    return uri;\n}\nfunction pathNames(obj, path) {\n    const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n    if (path.slice(0, 1) == '/' || path.length === 0) {\n        names.splice(0, 1);\n    }\n    if (path.slice(-1) == '/') {\n        names.splice(names.length - 1, 1);\n    }\n    return names;\n}\nfunction queryKey(uri, query) {\n    const data = {};\n    query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n        if ($1) {\n            data[$1] = $2;\n        }\n    });\n    return data;\n}\n","import { transports as DEFAULT_TRANSPORTS } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { createCookieJar, defaultBinaryType, nextTick, } from \"./globals.node.js\";\nconst withEventListeners = typeof addEventListener === \"function\" &&\n    typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n    // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n    // script, so we create one single event listener here which will forward the event to the socket instances\n    addEventListener(\"offline\", () => {\n        OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n    }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n *   transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n *   socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nexport class SocketWithoutUpgrade extends Emitter {\n    /**\n     * Socket constructor.\n     *\n     * @param {String|Object} uri - uri or options\n     * @param {Object} opts - options\n     */\n    constructor(uri, opts) {\n        super();\n        this.binaryType = defaultBinaryType;\n        this.writeBuffer = [];\n        this._prevBufferLen = 0;\n        this._pingInterval = -1;\n        this._pingTimeout = -1;\n        this._maxPayload = -1;\n        /**\n         * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n         * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n         */\n        this._pingTimeoutTime = Infinity;\n        if (uri && \"object\" === typeof uri) {\n            opts = uri;\n            uri = null;\n        }\n        if (uri) {\n            const parsedUri = parse(uri);\n            opts.hostname = parsedUri.host;\n            opts.secure =\n                parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n            opts.port = parsedUri.port;\n            if (parsedUri.query)\n                opts.query = parsedUri.query;\n        }\n        else if (opts.host) {\n            opts.hostname = parse(opts.host).host;\n        }\n        installTimerFunctions(this, opts);\n        this.secure =\n            null != opts.secure\n                ? opts.secure\n                : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n        if (opts.hostname && !opts.port) {\n            // if no port is specified manually, use the protocol default\n            opts.port = this.secure ? \"443\" : \"80\";\n        }\n        this.hostname =\n            opts.hostname ||\n                (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n        this.port =\n            opts.port ||\n                (typeof location !== \"undefined\" && location.port\n                    ? location.port\n                    : this.secure\n                        ? \"443\"\n                        : \"80\");\n        this.transports = [];\n        this._transportsByName = {};\n        opts.transports.forEach((t) => {\n            const transportName = t.prototype.name;\n            this.transports.push(transportName);\n            this._transportsByName[transportName] = t;\n        });\n        this.opts = Object.assign({\n            path: \"/engine.io\",\n            agent: false,\n            withCredentials: false,\n            upgrade: true,\n            timestampParam: \"t\",\n            rememberUpgrade: false,\n            addTrailingSlash: true,\n            rejectUnauthorized: true,\n            perMessageDeflate: {\n                threshold: 1024,\n            },\n            transportOptions: {},\n            closeOnBeforeunload: false,\n        }, opts);\n        this.opts.path =\n            this.opts.path.replace(/\\/$/, \"\") +\n                (this.opts.addTrailingSlash ? \"/\" : \"\");\n        if (typeof this.opts.query === \"string\") {\n            this.opts.query = decode(this.opts.query);\n        }\n        if (withEventListeners) {\n            if (this.opts.closeOnBeforeunload) {\n                // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n                // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n                // closed/reloaded)\n                this._beforeunloadEventListener = () => {\n                    if (this.transport) {\n                        // silently close the transport\n                        this.transport.removeAllListeners();\n                        this.transport.close();\n                    }\n                };\n                addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n            }\n            if (this.hostname !== \"localhost\") {\n                this._offlineEventListener = () => {\n                    this._onClose(\"transport close\", {\n                        description: \"network connection lost\",\n                    });\n                };\n                OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n            }\n        }\n        if (this.opts.withCredentials) {\n            this._cookieJar = createCookieJar();\n        }\n        this._open();\n    }\n    /**\n     * Creates transport of the given type.\n     *\n     * @param {String} name - transport name\n     * @return {Transport}\n     * @private\n     */\n    createTransport(name) {\n        const query = Object.assign({}, this.opts.query);\n        // append engine.io protocol identifier\n        query.EIO = protocol;\n        // transport name\n        query.transport = name;\n        // session id if we already have one\n        if (this.id)\n            query.sid = this.id;\n        const opts = Object.assign({}, this.opts, {\n            query,\n            socket: this,\n            hostname: this.hostname,\n            secure: this.secure,\n            port: this.port,\n        }, this.opts.transportOptions[name]);\n        return new this._transportsByName[name](opts);\n    }\n    /**\n     * Initializes transport to use and starts probe.\n     *\n     * @private\n     */\n    _open() {\n        if (this.transports.length === 0) {\n            // Emit error on next tick so it can be listened to\n            this.setTimeoutFn(() => {\n                this.emitReserved(\"error\", \"No transports available\");\n            }, 0);\n            return;\n        }\n        const transportName = this.opts.rememberUpgrade &&\n            SocketWithoutUpgrade.priorWebsocketSuccess &&\n            this.transports.indexOf(\"websocket\") !== -1\n            ? \"websocket\"\n            : this.transports[0];\n        this.readyState = \"opening\";\n        const transport = this.createTransport(transportName);\n        transport.open();\n        this.setTransport(transport);\n    }\n    /**\n     * Sets the current transport. Disables the existing one (if any).\n     *\n     * @private\n     */\n    setTransport(transport) {\n        if (this.transport) {\n            this.transport.removeAllListeners();\n        }\n        // set up transport\n        this.transport = transport;\n        // set up transport listeners\n        transport\n            .on(\"drain\", this._onDrain.bind(this))\n            .on(\"packet\", this._onPacket.bind(this))\n            .on(\"error\", this._onError.bind(this))\n            .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n    }\n    /**\n     * Called when connection is deemed open.\n     *\n     * @private\n     */\n    onOpen() {\n        this.readyState = \"open\";\n        SocketWithoutUpgrade.priorWebsocketSuccess =\n            \"websocket\" === this.transport.name;\n        this.emitReserved(\"open\");\n        this.flush();\n    }\n    /**\n     * Handles a packet.\n     *\n     * @private\n     */\n    _onPacket(packet) {\n        if (\"opening\" === this.readyState ||\n            \"open\" === this.readyState ||\n            \"closing\" === this.readyState) {\n            this.emitReserved(\"packet\", packet);\n            // Socket is live - any packet counts\n            this.emitReserved(\"heartbeat\");\n            switch (packet.type) {\n                case \"open\":\n                    this.onHandshake(JSON.parse(packet.data));\n                    break;\n                case \"ping\":\n                    this._sendPacket(\"pong\");\n                    this.emitReserved(\"ping\");\n                    this.emitReserved(\"pong\");\n                    this._resetPingTimeout();\n                    break;\n                case \"error\":\n                    const err = new Error(\"server error\");\n                    // @ts-ignore\n                    err.code = packet.data;\n                    this._onError(err);\n                    break;\n                case \"message\":\n                    this.emitReserved(\"data\", packet.data);\n                    this.emitReserved(\"message\", packet.data);\n                    break;\n            }\n        }\n        else {\n        }\n    }\n    /**\n     * Called upon handshake completion.\n     *\n     * @param {Object} data - handshake obj\n     * @private\n     */\n    onHandshake(data) {\n        this.emitReserved(\"handshake\", data);\n        this.id = data.sid;\n        this.transport.query.sid = data.sid;\n        this._pingInterval = data.pingInterval;\n        this._pingTimeout = data.pingTimeout;\n        this._maxPayload = data.maxPayload;\n        this.onOpen();\n        // In case open handler closes socket\n        if (\"closed\" === this.readyState)\n            return;\n        this._resetPingTimeout();\n    }\n    /**\n     * Sets and resets ping timeout timer based on server pings.\n     *\n     * @private\n     */\n    _resetPingTimeout() {\n        this.clearTimeoutFn(this._pingTimeoutTimer);\n        const delay = this._pingInterval + this._pingTimeout;\n        this._pingTimeoutTime = Date.now() + delay;\n        this._pingTimeoutTimer = this.setTimeoutFn(() => {\n            this._onClose(\"ping timeout\");\n        }, delay);\n        if (this.opts.autoUnref) {\n            this._pingTimeoutTimer.unref();\n        }\n    }\n    /**\n     * Called on `drain` event\n     *\n     * @private\n     */\n    _onDrain() {\n        this.writeBuffer.splice(0, this._prevBufferLen);\n        // setting prevBufferLen = 0 is very important\n        // for example, when upgrading, upgrade packet is sent over,\n        // and a nonzero prevBufferLen could cause problems on `drain`\n        this._prevBufferLen = 0;\n        if (0 === this.writeBuffer.length) {\n            this.emitReserved(\"drain\");\n        }\n        else {\n            this.flush();\n        }\n    }\n    /**\n     * Flush write buffers.\n     *\n     * @private\n     */\n    flush() {\n        if (\"closed\" !== this.readyState &&\n            this.transport.writable &&\n            !this.upgrading &&\n            this.writeBuffer.length) {\n            const packets = this._getWritablePackets();\n            this.transport.send(packets);\n            // keep track of current length of writeBuffer\n            // splice writeBuffer and callbackBuffer on `drain`\n            this._prevBufferLen = packets.length;\n            this.emitReserved(\"flush\");\n        }\n    }\n    /**\n     * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n     * long-polling)\n     *\n     * @private\n     */\n    _getWritablePackets() {\n        const shouldCheckPayloadSize = this._maxPayload &&\n            this.transport.name === \"polling\" &&\n            this.writeBuffer.length > 1;\n        if (!shouldCheckPayloadSize) {\n            return this.writeBuffer;\n        }\n        let payloadSize = 1; // first packet type\n        for (let i = 0; i < this.writeBuffer.length; i++) {\n            const data = this.writeBuffer[i].data;\n            if (data) {\n                payloadSize += byteLength(data);\n            }\n            if (i > 0 && payloadSize > this._maxPayload) {\n                return this.writeBuffer.slice(0, i);\n            }\n            payloadSize += 2; // separator + packet type\n        }\n        return this.writeBuffer;\n    }\n    /**\n     * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n     *\n     * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n     * `write()` method then the message would not be buffered by the Socket.IO client.\n     *\n     * @return {boolean}\n     * @private\n     */\n    /* private */ _hasPingExpired() {\n        if (!this._pingTimeoutTime)\n            return true;\n        const hasExpired = Date.now() > this._pingTimeoutTime;\n        if (hasExpired) {\n            this._pingTimeoutTime = 0;\n            nextTick(() => {\n                this._onClose(\"ping timeout\");\n            }, this.setTimeoutFn);\n        }\n        return hasExpired;\n    }\n    /**\n     * Sends a message.\n     *\n     * @param {String} msg - message.\n     * @param {Object} options.\n     * @param {Function} fn - callback function.\n     * @return {Socket} for chaining.\n     */\n    write(msg, options, fn) {\n        this._sendPacket(\"message\", msg, options, fn);\n        return this;\n    }\n    /**\n     * Sends a message. Alias of {@link Socket#write}.\n     *\n     * @param {String} msg - message.\n     * @param {Object} options.\n     * @param {Function} fn - callback function.\n     * @return {Socket} for chaining.\n     */\n    send(msg, options, fn) {\n        this._sendPacket(\"message\", msg, options, fn);\n        return this;\n    }\n    /**\n     * Sends a packet.\n     *\n     * @param {String} type: packet type.\n     * @param {String} data.\n     * @param {Object} options.\n     * @param {Function} fn - callback function.\n     * @private\n     */\n    _sendPacket(type, data, options, fn) {\n        if (\"function\" === typeof data) {\n            fn = data;\n            data = undefined;\n        }\n        if (\"function\" === typeof options) {\n            fn = options;\n            options = null;\n        }\n        if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n            return;\n        }\n        options = options || {};\n        options.compress = false !== options.compress;\n        const packet = {\n            type: type,\n            data: data,\n            options: options,\n        };\n        this.emitReserved(\"packetCreate\", packet);\n        this.writeBuffer.push(packet);\n        if (fn)\n            this.once(\"flush\", fn);\n        this.flush();\n    }\n    /**\n     * Closes the connection.\n     */\n    close() {\n        const close = () => {\n            this._onClose(\"forced close\");\n            this.transport.close();\n        };\n        const cleanupAndClose = () => {\n            this.off(\"upgrade\", cleanupAndClose);\n            this.off(\"upgradeError\", cleanupAndClose);\n            close();\n        };\n        const waitForUpgrade = () => {\n            // wait for upgrade to finish since we can't send packets while pausing a transport\n            this.once(\"upgrade\", cleanupAndClose);\n            this.once(\"upgradeError\", cleanupAndClose);\n        };\n        if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n            this.readyState = \"closing\";\n            if (this.writeBuffer.length) {\n                this.once(\"drain\", () => {\n                    if (this.upgrading) {\n                        waitForUpgrade();\n                    }\n                    else {\n                        close();\n                    }\n                });\n            }\n            else if (this.upgrading) {\n                waitForUpgrade();\n            }\n            else {\n                close();\n            }\n        }\n        return this;\n    }\n    /**\n     * Called upon transport error\n     *\n     * @private\n     */\n    _onError(err) {\n        SocketWithoutUpgrade.priorWebsocketSuccess = false;\n        if (this.opts.tryAllTransports &&\n            this.transports.length > 1 &&\n            this.readyState === \"opening\") {\n            this.transports.shift();\n            return this._open();\n        }\n        this.emitReserved(\"error\", err);\n        this._onClose(\"transport error\", err);\n    }\n    /**\n     * Called upon transport close.\n     *\n     * @private\n     */\n    _onClose(reason, description) {\n        if (\"opening\" === this.readyState ||\n            \"open\" === this.readyState ||\n            \"closing\" === this.readyState) {\n            // clear timers\n            this.clearTimeoutFn(this._pingTimeoutTimer);\n            // stop event from firing again for transport\n            this.transport.removeAllListeners(\"close\");\n            // ensure transport won't stay open\n            this.transport.close();\n            // ignore further transport communication\n            this.transport.removeAllListeners();\n            if (withEventListeners) {\n                if (this._beforeunloadEventListener) {\n                    removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n                }\n                if (this._offlineEventListener) {\n                    const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n                    if (i !== -1) {\n                        OFFLINE_EVENT_LISTENERS.splice(i, 1);\n                    }\n                }\n            }\n            // set ready state\n            this.readyState = \"closed\";\n            // clear session id\n            this.id = null;\n            // emit close event\n            this.emitReserved(\"close\", reason, description);\n            // clean buffers after, so users can still\n            // grab the buffers on `close` event\n            this.writeBuffer = [];\n            this._prevBufferLen = 0;\n        }\n    }\n}\nSocketWithoutUpgrade.protocol = protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n *   transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n *   socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nexport class SocketWithUpgrade extends SocketWithoutUpgrade {\n    constructor() {\n        super(...arguments);\n        this._upgrades = [];\n    }\n    onOpen() {\n        super.onOpen();\n        if (\"open\" === this.readyState && this.opts.upgrade) {\n            for (let i = 0; i < this._upgrades.length; i++) {\n                this._probe(this._upgrades[i]);\n            }\n        }\n    }\n    /**\n     * Probes a transport.\n     *\n     * @param {String} name - transport name\n     * @private\n     */\n    _probe(name) {\n        let transport = this.createTransport(name);\n        let failed = false;\n        SocketWithoutUpgrade.priorWebsocketSuccess = false;\n        const onTransportOpen = () => {\n            if (failed)\n                return;\n            transport.send([{ type: \"ping\", data: \"probe\" }]);\n            transport.once(\"packet\", (msg) => {\n                if (failed)\n                    return;\n                if (\"pong\" === msg.type && \"probe\" === msg.data) {\n                    this.upgrading = true;\n                    this.emitReserved(\"upgrading\", transport);\n                    if (!transport)\n                        return;\n                    SocketWithoutUpgrade.priorWebsocketSuccess =\n                        \"websocket\" === transport.name;\n                    this.transport.pause(() => {\n                        if (failed)\n                            return;\n                        if (\"closed\" === this.readyState)\n                            return;\n                        cleanup();\n                        this.setTransport(transport);\n                        transport.send([{ type: \"upgrade\" }]);\n                        this.emitReserved(\"upgrade\", transport);\n                        transport = null;\n                        this.upgrading = false;\n                        this.flush();\n                    });\n                }\n                else {\n                    const err = new Error(\"probe error\");\n                    // @ts-ignore\n                    err.transport = transport.name;\n                    this.emitReserved(\"upgradeError\", err);\n                }\n            });\n        };\n        function freezeTransport() {\n            if (failed)\n                return;\n            // Any callback called by transport should be ignored since now\n            failed = true;\n            cleanup();\n            transport.close();\n            transport = null;\n        }\n        // Handle any error that happens while probing\n        const onerror = (err) => {\n            const error = new Error(\"probe error: \" + err);\n            // @ts-ignore\n            error.transport = transport.name;\n            freezeTransport();\n            this.emitReserved(\"upgradeError\", error);\n        };\n        function onTransportClose() {\n            onerror(\"transport closed\");\n        }\n        // When the socket is closed while we're probing\n        function onclose() {\n            onerror(\"socket closed\");\n        }\n        // When the socket is upgraded while we're probing\n        function onupgrade(to) {\n            if (transport && to.name !== transport.name) {\n                freezeTransport();\n            }\n        }\n        // Remove all listeners on the transport and on self\n        const cleanup = () => {\n            transport.removeListener(\"open\", onTransportOpen);\n            transport.removeListener(\"error\", onerror);\n            transport.removeListener(\"close\", onTransportClose);\n            this.off(\"close\", onclose);\n            this.off(\"upgrading\", onupgrade);\n        };\n        transport.once(\"open\", onTransportOpen);\n        transport.once(\"error\", onerror);\n        transport.once(\"close\", onTransportClose);\n        this.once(\"close\", onclose);\n        this.once(\"upgrading\", onupgrade);\n        if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n            name !== \"webtransport\") {\n            // favor WebTransport\n            this.setTimeoutFn(() => {\n                if (!failed) {\n                    transport.open();\n                }\n            }, 200);\n        }\n        else {\n            transport.open();\n        }\n    }\n    onHandshake(data) {\n        this._upgrades = this._filterUpgrades(data.upgrades);\n        super.onHandshake(data);\n    }\n    /**\n     * Filters upgrades, returning only those matching client transports.\n     *\n     * @param {Array} upgrades - server upgrades\n     * @private\n     */\n    _filterUpgrades(upgrades) {\n        const filteredUpgrades = [];\n        for (let i = 0; i < upgrades.length; i++) {\n            if (~this.transports.indexOf(upgrades[i]))\n                filteredUpgrades.push(upgrades[i]);\n        }\n        return filteredUpgrades;\n    }\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n *   socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nexport class Socket extends SocketWithUpgrade {\n    constructor(uri, opts = {}) {\n        const o = typeof uri === \"object\" ? uri : opts;\n        if (!o.transports ||\n            (o.transports && typeof o.transports[0] === \"string\")) {\n            o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n                .map((transportName) => DEFAULT_TRANSPORTS[transportName])\n                .filter((t) => !!t);\n        }\n        super(uri, o);\n    }\n}\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n *        Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n    let obj = uri;\n    // default to window.location\n    loc = loc || (typeof location !== \"undefined\" && location);\n    if (null == uri)\n        uri = loc.protocol + \"//\" + loc.host;\n    // relative path support\n    if (typeof uri === \"string\") {\n        if (\"/\" === uri.charAt(0)) {\n            if (\"/\" === uri.charAt(1)) {\n                uri = loc.protocol + uri;\n            }\n            else {\n                uri = loc.host + uri;\n            }\n        }\n        if (!/^(https?|wss?):\\/\\//.test(uri)) {\n            if (\"undefined\" !== typeof loc) {\n                uri = loc.protocol + \"//\" + uri;\n            }\n            else {\n                uri = \"https://\" + uri;\n            }\n        }\n        // parse\n        obj = parse(uri);\n    }\n    // make sure we treat `localhost:80` and `localhost` equally\n    if (!obj.port) {\n        if (/^(http|ws)$/.test(obj.protocol)) {\n            obj.port = \"80\";\n        }\n        else if (/^(http|ws)s$/.test(obj.protocol)) {\n            obj.port = \"443\";\n        }\n    }\n    obj.path = obj.path || \"/\";\n    const ipv6 = obj.host.indexOf(\":\") !== -1;\n    const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n    // define unique id\n    obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n    // define href\n    obj.href =\n        obj.protocol +\n            \"://\" +\n            host +\n            (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n    return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n    return typeof ArrayBuffer.isView === \"function\"\n        ? ArrayBuffer.isView(obj)\n        : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n    (typeof Blob !== \"undefined\" &&\n        toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n    (typeof File !== \"undefined\" &&\n        toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n    return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n        (withNativeBlob && obj instanceof Blob) ||\n        (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n    if (!obj || typeof obj !== \"object\") {\n        return false;\n    }\n    if (Array.isArray(obj)) {\n        for (let i = 0, l = obj.length; i < l; i++) {\n            if (hasBinary(obj[i])) {\n                return true;\n            }\n        }\n        return false;\n    }\n    if (isBinary(obj)) {\n        return true;\n    }\n    if (obj.toJSON &&\n        typeof obj.toJSON === \"function\" &&\n        arguments.length === 1) {\n        return hasBinary(obj.toJSON(), true);\n    }\n    for (const key in obj) {\n        if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n            return true;\n        }\n    }\n    return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n    const buffers = [];\n    const packetData = packet.data;\n    const pack = packet;\n    pack.data = _deconstructPacket(packetData, buffers);\n    pack.attachments = buffers.length; // number of binary 'attachments'\n    return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n    if (!data)\n        return data;\n    if (isBinary(data)) {\n        const placeholder = { _placeholder: true, num: buffers.length };\n        buffers.push(data);\n        return placeholder;\n    }\n    else if (Array.isArray(data)) {\n        const newData = new Array(data.length);\n        for (let i = 0; i < data.length; i++) {\n            newData[i] = _deconstructPacket(data[i], buffers);\n        }\n        return newData;\n    }\n    else if (typeof data === \"object\" && !(data instanceof Date)) {\n        const newData = {};\n        for (const key in data) {\n            if (Object.prototype.hasOwnProperty.call(data, key)) {\n                newData[key] = _deconstructPacket(data[key], buffers);\n            }\n        }\n        return newData;\n    }\n    return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n    packet.data = _reconstructPacket(packet.data, buffers);\n    delete packet.attachments; // no longer useful\n    return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n    if (!data)\n        return data;\n    if (data && data._placeholder === true) {\n        const isIndexValid = typeof data.num === \"number\" &&\n            data.num >= 0 &&\n            data.num < buffers.length;\n        if (isIndexValid) {\n            return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n        }\n        else {\n            throw new Error(\"illegal attachments\");\n        }\n    }\n    else if (Array.isArray(data)) {\n        for (let i = 0; i < data.length; i++) {\n            data[i] = _reconstructPacket(data[i], buffers);\n        }\n    }\n    else if (typeof data === \"object\") {\n        for (const key in data) {\n            if (Object.prototype.hasOwnProperty.call(data, key)) {\n                data[key] = _reconstructPacket(data[key], buffers);\n            }\n        }\n    }\n    return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n    \"connect\",\n    \"connect_error\",\n    \"disconnect\",\n    \"disconnecting\",\n    \"newListener\",\n    \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n    PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n    PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n    PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n    PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n    PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n    PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n    PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n    /**\n     * Encoder constructor\n     *\n     * @param {function} replacer - custom replacer to pass down to JSON.parse\n     */\n    constructor(replacer) {\n        this.replacer = replacer;\n    }\n    /**\n     * Encode a packet as a single string if non-binary, or as a\n     * buffer sequence, depending on packet type.\n     *\n     * @param {Object} obj - packet object\n     */\n    encode(obj) {\n        if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n            if (hasBinary(obj)) {\n                return this.encodeAsBinary({\n                    type: obj.type === PacketType.EVENT\n                        ? PacketType.BINARY_EVENT\n                        : PacketType.BINARY_ACK,\n                    nsp: obj.nsp,\n                    data: obj.data,\n                    id: obj.id,\n                });\n            }\n        }\n        return [this.encodeAsString(obj)];\n    }\n    /**\n     * Encode packet as string.\n     */\n    encodeAsString(obj) {\n        // first is type\n        let str = \"\" + obj.type;\n        // attachments if we have them\n        if (obj.type === PacketType.BINARY_EVENT ||\n            obj.type === PacketType.BINARY_ACK) {\n            str += obj.attachments + \"-\";\n        }\n        // if we have a namespace other than `/`\n        // we append it followed by a comma `,`\n        if (obj.nsp && \"/\" !== obj.nsp) {\n            str += obj.nsp + \",\";\n        }\n        // immediately followed by the id\n        if (null != obj.id) {\n            str += obj.id;\n        }\n        // json data\n        if (null != obj.data) {\n            str += JSON.stringify(obj.data, this.replacer);\n        }\n        return str;\n    }\n    /**\n     * Encode packet as 'buffer sequence' by removing blobs, and\n     * deconstructing packet into object with placeholders and\n     * a list of buffers.\n     */\n    encodeAsBinary(obj) {\n        const deconstruction = deconstructPacket(obj);\n        const pack = this.encodeAsString(deconstruction.packet);\n        const buffers = deconstruction.buffers;\n        buffers.unshift(pack); // add packet info to beginning of data list\n        return buffers; // write all the buffers\n    }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n    return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n    /**\n     * Decoder constructor\n     *\n     * @param {function} reviver - custom reviver to pass down to JSON.stringify\n     */\n    constructor(reviver) {\n        super();\n        this.reviver = reviver;\n    }\n    /**\n     * Decodes an encoded packet string into packet JSON.\n     *\n     * @param {String} obj - encoded packet\n     */\n    add(obj) {\n        let packet;\n        if (typeof obj === \"string\") {\n            if (this.reconstructor) {\n                throw new Error(\"got plaintext data when reconstructing a packet\");\n            }\n            packet = this.decodeString(obj);\n            const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n            if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n                packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n                // binary packet's json\n                this.reconstructor = new BinaryReconstructor(packet);\n                // no attachments, labeled binary but no binary data to follow\n                if (packet.attachments === 0) {\n                    super.emitReserved(\"decoded\", packet);\n                }\n            }\n            else {\n                // non-binary full packet\n                super.emitReserved(\"decoded\", packet);\n            }\n        }\n        else if (isBinary(obj) || obj.base64) {\n            // raw binary data\n            if (!this.reconstructor) {\n                throw new Error(\"got binary data when not reconstructing a packet\");\n            }\n            else {\n                packet = this.reconstructor.takeBinaryData(obj);\n                if (packet) {\n                    // received final buffer\n                    this.reconstructor = null;\n                    super.emitReserved(\"decoded\", packet);\n                }\n            }\n        }\n        else {\n            throw new Error(\"Unknown type: \" + obj);\n        }\n    }\n    /**\n     * Decode a packet String (JSON data)\n     *\n     * @param {String} str\n     * @return {Object} packet\n     */\n    decodeString(str) {\n        let i = 0;\n        // look up type\n        const p = {\n            type: Number(str.charAt(0)),\n        };\n        if (PacketType[p.type] === undefined) {\n            throw new Error(\"unknown packet type \" + p.type);\n        }\n        // look up attachments if type binary\n        if (p.type === PacketType.BINARY_EVENT ||\n            p.type === PacketType.BINARY_ACK) {\n            const start = i + 1;\n            while (str.charAt(++i) !== \"-\" && i != str.length) { }\n            const buf = str.substring(start, i);\n            if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n                throw new Error(\"Illegal attachments\");\n            }\n            p.attachments = Number(buf);\n        }\n        // look up namespace (if any)\n        if (\"/\" === str.charAt(i + 1)) {\n            const start = i + 1;\n            while (++i) {\n                const c = str.charAt(i);\n                if (\",\" === c)\n                    break;\n                if (i === str.length)\n                    break;\n            }\n            p.nsp = str.substring(start, i);\n        }\n        else {\n            p.nsp = \"/\";\n        }\n        // look up id\n        const next = str.charAt(i + 1);\n        if (\"\" !== next && Number(next) == next) {\n            const start = i + 1;\n            while (++i) {\n                const c = str.charAt(i);\n                if (null == c || Number(c) != c) {\n                    --i;\n                    break;\n                }\n                if (i === str.length)\n                    break;\n            }\n            p.id = Number(str.substring(start, i + 1));\n        }\n        // look up json data\n        if (str.charAt(++i)) {\n            const payload = this.tryParse(str.substr(i));\n            if (Decoder.isPayloadValid(p.type, payload)) {\n                p.data = payload;\n            }\n            else {\n                throw new Error(\"invalid payload\");\n            }\n        }\n        return p;\n    }\n    tryParse(str) {\n        try {\n            return JSON.parse(str, this.reviver);\n        }\n        catch (e) {\n            return false;\n        }\n    }\n    static isPayloadValid(type, payload) {\n        switch (type) {\n            case PacketType.CONNECT:\n                return isObject(payload);\n            case PacketType.DISCONNECT:\n                return payload === undefined;\n            case PacketType.CONNECT_ERROR:\n                return typeof payload === \"string\" || isObject(payload);\n            case PacketType.EVENT:\n            case PacketType.BINARY_EVENT:\n                return (Array.isArray(payload) &&\n                    (typeof payload[0] === \"number\" ||\n                        (typeof payload[0] === \"string\" &&\n                            RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n            case PacketType.ACK:\n            case PacketType.BINARY_ACK:\n                return Array.isArray(payload);\n        }\n    }\n    /**\n     * Deallocates a parser's resources\n     */\n    destroy() {\n        if (this.reconstructor) {\n            this.reconstructor.finishedReconstruction();\n            this.reconstructor = null;\n        }\n    }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n    constructor(packet) {\n        this.packet = packet;\n        this.buffers = [];\n        this.reconPack = packet;\n    }\n    /**\n     * Method to be called when binary data received from connection\n     * after a BINARY_EVENT packet.\n     *\n     * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n     * @return {null | Object} returns null if more binary data is expected or\n     *   a reconstructed packet object if all buffers have been received.\n     */\n    takeBinaryData(binData) {\n        this.buffers.push(binData);\n        if (this.buffers.length === this.reconPack.attachments) {\n            // done with buffer list\n            const packet = reconstructPacket(this.reconPack, this.buffers);\n            this.finishedReconstruction();\n            return packet;\n        }\n        return null;\n    }\n    /**\n     * Cleans up binary packet reconstruction variables.\n     */\n    finishedReconstruction() {\n        this.reconPack = null;\n        this.buffers = [];\n    }\n}\n","export function on(obj, ev, fn) {\n    obj.on(ev, fn);\n    return function subDestroy() {\n        obj.off(ev, fn);\n    };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n    connect: 1,\n    connect_error: 1,\n    disconnect: 1,\n    disconnecting: 1,\n    // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n    newListener: 1,\n    removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n *   console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n *   // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n *   console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n    /**\n     * `Socket` constructor.\n     */\n    constructor(io, nsp, opts) {\n        super();\n        /**\n         * Whether the socket is currently connected to the server.\n         *\n         * @example\n         * const socket = io();\n         *\n         * socket.on(\"connect\", () => {\n         *   console.log(socket.connected); // true\n         * });\n         *\n         * socket.on(\"disconnect\", () => {\n         *   console.log(socket.connected); // false\n         * });\n         */\n        this.connected = false;\n        /**\n         * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n         * be transmitted by the server.\n         */\n        this.recovered = false;\n        /**\n         * Buffer for packets received before the CONNECT packet\n         */\n        this.receiveBuffer = [];\n        /**\n         * Buffer for packets that will be sent once the socket is connected\n         */\n        this.sendBuffer = [];\n        /**\n         * The queue of packets to be sent with retry in case of failure.\n         *\n         * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n         * @private\n         */\n        this._queue = [];\n        /**\n         * A sequence to generate the ID of the {@link QueuedPacket}.\n         * @private\n         */\n        this._queueSeq = 0;\n        this.ids = 0;\n        /**\n         * A map containing acknowledgement handlers.\n         *\n         * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n         *\n         * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n         * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n         * - `const value = await socket.emitWithAck(\"test\")`\n         *\n         * From those that don't:\n         *\n         * - `socket.emit(\"test\", (value) => { ... });`\n         *\n         * In the first case, the handlers will be called with an error when:\n         *\n         * - the timeout is reached\n         * - the socket gets disconnected\n         *\n         * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n         * an acknowledgement from the server.\n         *\n         * @private\n         */\n        this.acks = {};\n        this.flags = {};\n        this.io = io;\n        this.nsp = nsp;\n        if (opts && opts.auth) {\n            this.auth = opts.auth;\n        }\n        this._opts = Object.assign({}, opts);\n        if (this.io._autoConnect)\n            this.open();\n    }\n    /**\n     * Whether the socket is currently disconnected\n     *\n     * @example\n     * const socket = io();\n     *\n     * socket.on(\"connect\", () => {\n     *   console.log(socket.disconnected); // false\n     * });\n     *\n     * socket.on(\"disconnect\", () => {\n     *   console.log(socket.disconnected); // true\n     * });\n     */\n    get disconnected() {\n        return !this.connected;\n    }\n    /**\n     * Subscribe to open, close and packet events\n     *\n     * @private\n     */\n    subEvents() {\n        if (this.subs)\n            return;\n        const io = this.io;\n        this.subs = [\n            on(io, \"open\", this.onopen.bind(this)),\n            on(io, \"packet\", this.onpacket.bind(this)),\n            on(io, \"error\", this.onerror.bind(this)),\n            on(io, \"close\", this.onclose.bind(this)),\n        ];\n    }\n    /**\n     * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n     *\n     * @example\n     * const socket = io();\n     *\n     * console.log(socket.active); // true\n     *\n     * socket.on(\"disconnect\", (reason) => {\n     *   if (reason === \"io server disconnect\") {\n     *     // the disconnection was initiated by the server, you need to manually reconnect\n     *     console.log(socket.active); // false\n     *   }\n     *   // else the socket will automatically try to reconnect\n     *   console.log(socket.active); // true\n     * });\n     */\n    get active() {\n        return !!this.subs;\n    }\n    /**\n     * \"Opens\" the socket.\n     *\n     * @example\n     * const socket = io({\n     *   autoConnect: false\n     * });\n     *\n     * socket.connect();\n     */\n    connect() {\n        if (this.connected)\n            return this;\n        this.subEvents();\n        if (!this.io[\"_reconnecting\"])\n            this.io.open(); // ensure open\n        if (\"open\" === this.io._readyState)\n            this.onopen();\n        return this;\n    }\n    /**\n     * Alias for {@link connect()}.\n     */\n    open() {\n        return this.connect();\n    }\n    /**\n     * Sends a `message` event.\n     *\n     * This method mimics the WebSocket.send() method.\n     *\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n     *\n     * @example\n     * socket.send(\"hello\");\n     *\n     * // this is equivalent to\n     * socket.emit(\"message\", \"hello\");\n     *\n     * @return self\n     */\n    send(...args) {\n        args.unshift(\"message\");\n        this.emit.apply(this, args);\n        return this;\n    }\n    /**\n     * Override `emit`.\n     * If the event is in `events`, it's emitted normally.\n     *\n     * @example\n     * socket.emit(\"hello\", \"world\");\n     *\n     * // all serializable datastructures are supported (no need to call JSON.stringify)\n     * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n     *\n     * // with an acknowledgement from the server\n     * socket.emit(\"hello\", \"world\", (val) => {\n     *   // ...\n     * });\n     *\n     * @return self\n     */\n    emit(ev, ...args) {\n        var _a, _b, _c;\n        if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n            throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n        }\n        args.unshift(ev);\n        if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n            this._addToQueue(args);\n            return this;\n        }\n        const packet = {\n            type: PacketType.EVENT,\n            data: args,\n        };\n        packet.options = {};\n        packet.options.compress = this.flags.compress !== false;\n        // event ack callback\n        if (\"function\" === typeof args[args.length - 1]) {\n            const id = this.ids++;\n            const ack = args.pop();\n            this._registerAckCallback(id, ack);\n            packet.id = id;\n        }\n        const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n        const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n        const discardPacket = this.flags.volatile && !isTransportWritable;\n        if (discardPacket) {\n        }\n        else if (isConnected) {\n            this.notifyOutgoingListeners(packet);\n            this.packet(packet);\n        }\n        else {\n            this.sendBuffer.push(packet);\n        }\n        this.flags = {};\n        return this;\n    }\n    /**\n     * @private\n     */\n    _registerAckCallback(id, ack) {\n        var _a;\n        const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n        if (timeout === undefined) {\n            this.acks[id] = ack;\n            return;\n        }\n        // @ts-ignore\n        const timer = this.io.setTimeoutFn(() => {\n            delete this.acks[id];\n            for (let i = 0; i < this.sendBuffer.length; i++) {\n                if (this.sendBuffer[i].id === id) {\n                    this.sendBuffer.splice(i, 1);\n                }\n            }\n            ack.call(this, new Error(\"operation has timed out\"));\n        }, timeout);\n        const fn = (...args) => {\n            // @ts-ignore\n            this.io.clearTimeoutFn(timer);\n            ack.apply(this, args);\n        };\n        fn.withError = true;\n        this.acks[id] = fn;\n    }\n    /**\n     * Emits an event and waits for an acknowledgement\n     *\n     * @example\n     * // without timeout\n     * const response = await socket.emitWithAck(\"hello\", \"world\");\n     *\n     * // with a specific timeout\n     * try {\n     *   const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n     * } catch (err) {\n     *   // the server did not acknowledge the event in the given delay\n     * }\n     *\n     * @return a Promise that will be fulfilled when the server acknowledges the event\n     */\n    emitWithAck(ev, ...args) {\n        return new Promise((resolve, reject) => {\n            const fn = (arg1, arg2) => {\n                return arg1 ? reject(arg1) : resolve(arg2);\n            };\n            fn.withError = true;\n            args.push(fn);\n            this.emit(ev, ...args);\n        });\n    }\n    /**\n     * Add the packet to the queue.\n     * @param args\n     * @private\n     */\n    _addToQueue(args) {\n        let ack;\n        if (typeof args[args.length - 1] === \"function\") {\n            ack = args.pop();\n        }\n        const packet = {\n            id: this._queueSeq++,\n            tryCount: 0,\n            pending: false,\n            args,\n            flags: Object.assign({ fromQueue: true }, this.flags),\n        };\n        args.push((err, ...responseArgs) => {\n            if (packet !== this._queue[0]) {\n                // the packet has already been acknowledged\n                return;\n            }\n            const hasError = err !== null;\n            if (hasError) {\n                if (packet.tryCount > this._opts.retries) {\n                    this._queue.shift();\n                    if (ack) {\n                        ack(err);\n                    }\n                }\n            }\n            else {\n                this._queue.shift();\n                if (ack) {\n                    ack(null, ...responseArgs);\n                }\n            }\n            packet.pending = false;\n            return this._drainQueue();\n        });\n        this._queue.push(packet);\n        this._drainQueue();\n    }\n    /**\n     * Send the first packet of the queue, and wait for an acknowledgement from the server.\n     * @param force - whether to resend a packet that has not been acknowledged yet\n     *\n     * @private\n     */\n    _drainQueue(force = false) {\n        if (!this.connected || this._queue.length === 0) {\n            return;\n        }\n        const packet = this._queue[0];\n        if (packet.pending && !force) {\n            return;\n        }\n        packet.pending = true;\n        packet.tryCount++;\n        this.flags = packet.flags;\n        this.emit.apply(this, packet.args);\n    }\n    /**\n     * Sends a packet.\n     *\n     * @param packet\n     * @private\n     */\n    packet(packet) {\n        packet.nsp = this.nsp;\n        this.io._packet(packet);\n    }\n    /**\n     * Called upon engine `open`.\n     *\n     * @private\n     */\n    onopen() {\n        if (typeof this.auth == \"function\") {\n            this.auth((data) => {\n                this._sendConnectPacket(data);\n            });\n        }\n        else {\n            this._sendConnectPacket(this.auth);\n        }\n    }\n    /**\n     * Sends a CONNECT packet to initiate the Socket.IO session.\n     *\n     * @param data\n     * @private\n     */\n    _sendConnectPacket(data) {\n        this.packet({\n            type: PacketType.CONNECT,\n            data: this._pid\n                ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n                : data,\n        });\n    }\n    /**\n     * Called upon engine or manager `error`.\n     *\n     * @param err\n     * @private\n     */\n    onerror(err) {\n        if (!this.connected) {\n            this.emitReserved(\"connect_error\", err);\n        }\n    }\n    /**\n     * Called upon engine `close`.\n     *\n     * @param reason\n     * @param description\n     * @private\n     */\n    onclose(reason, description) {\n        this.connected = false;\n        delete this.id;\n        this.emitReserved(\"disconnect\", reason, description);\n        this._clearAcks();\n    }\n    /**\n     * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n     * the server.\n     *\n     * @private\n     */\n    _clearAcks() {\n        Object.keys(this.acks).forEach((id) => {\n            const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n            if (!isBuffered) {\n                // note: handlers that do not accept an error as first argument are ignored here\n                const ack = this.acks[id];\n                delete this.acks[id];\n                if (ack.withError) {\n                    ack.call(this, new Error(\"socket has been disconnected\"));\n                }\n            }\n        });\n    }\n    /**\n     * Called with socket packet.\n     *\n     * @param packet\n     * @private\n     */\n    onpacket(packet) {\n        const sameNamespace = packet.nsp === this.nsp;\n        if (!sameNamespace)\n            return;\n        switch (packet.type) {\n            case PacketType.CONNECT:\n                if (packet.data && packet.data.sid) {\n                    this.onconnect(packet.data.sid, packet.data.pid);\n                }\n                else {\n                    this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n                }\n                break;\n            case PacketType.EVENT:\n            case PacketType.BINARY_EVENT:\n                this.onevent(packet);\n                break;\n            case PacketType.ACK:\n            case PacketType.BINARY_ACK:\n                this.onack(packet);\n                break;\n            case PacketType.DISCONNECT:\n                this.ondisconnect();\n                break;\n            case PacketType.CONNECT_ERROR:\n                this.destroy();\n                const err = new Error(packet.data.message);\n                // @ts-ignore\n                err.data = packet.data.data;\n                this.emitReserved(\"connect_error\", err);\n                break;\n        }\n    }\n    /**\n     * Called upon a server event.\n     *\n     * @param packet\n     * @private\n     */\n    onevent(packet) {\n        const args = packet.data || [];\n        if (null != packet.id) {\n            args.push(this.ack(packet.id));\n        }\n        if (this.connected) {\n            this.emitEvent(args);\n        }\n        else {\n            this.receiveBuffer.push(Object.freeze(args));\n        }\n    }\n    emitEvent(args) {\n        if (this._anyListeners && this._anyListeners.length) {\n            const listeners = this._anyListeners.slice();\n            for (const listener of listeners) {\n                listener.apply(this, args);\n            }\n        }\n        super.emit.apply(this, args);\n        if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n            this._lastOffset = args[args.length - 1];\n        }\n    }\n    /**\n     * Produces an ack callback to emit with an event.\n     *\n     * @private\n     */\n    ack(id) {\n        const self = this;\n        let sent = false;\n        return function (...args) {\n            // prevent double callbacks\n            if (sent)\n                return;\n            sent = true;\n            self.packet({\n                type: PacketType.ACK,\n                id: id,\n                data: args,\n            });\n        };\n    }\n    /**\n     * Called upon a server acknowledgement.\n     *\n     * @param packet\n     * @private\n     */\n    onack(packet) {\n        const ack = this.acks[packet.id];\n        if (typeof ack !== \"function\") {\n            return;\n        }\n        delete this.acks[packet.id];\n        // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n        if (ack.withError) {\n            packet.data.unshift(null);\n        }\n        // @ts-ignore\n        ack.apply(this, packet.data);\n    }\n    /**\n     * Called upon server connect.\n     *\n     * @private\n     */\n    onconnect(id, pid) {\n        this.id = id;\n        this.recovered = pid && this._pid === pid;\n        this._pid = pid; // defined only if connection state recovery is enabled\n        this.connected = true;\n        this.emitBuffered();\n        this.emitReserved(\"connect\");\n        this._drainQueue(true);\n    }\n    /**\n     * Emit buffered events (received and emitted).\n     *\n     * @private\n     */\n    emitBuffered() {\n        this.receiveBuffer.forEach((args) => this.emitEvent(args));\n        this.receiveBuffer = [];\n        this.sendBuffer.forEach((packet) => {\n            this.notifyOutgoingListeners(packet);\n            this.packet(packet);\n        });\n        this.sendBuffer = [];\n    }\n    /**\n     * Called upon server disconnect.\n     *\n     * @private\n     */\n    ondisconnect() {\n        this.destroy();\n        this.onclose(\"io server disconnect\");\n    }\n    /**\n     * Called upon forced client/server side disconnections,\n     * this method ensures the manager stops tracking us and\n     * that reconnections don't get triggered for this.\n     *\n     * @private\n     */\n    destroy() {\n        if (this.subs) {\n            // clean subscriptions to avoid reconnections\n            this.subs.forEach((subDestroy) => subDestroy());\n            this.subs = undefined;\n        }\n        this.io[\"_destroy\"](this);\n    }\n    /**\n     * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n     *\n     * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n     *\n     * @example\n     * const socket = io();\n     *\n     * socket.on(\"disconnect\", (reason) => {\n     *   // console.log(reason); prints \"io client disconnect\"\n     * });\n     *\n     * socket.disconnect();\n     *\n     * @return self\n     */\n    disconnect() {\n        if (this.connected) {\n            this.packet({ type: PacketType.DISCONNECT });\n        }\n        // remove socket from pool\n        this.destroy();\n        if (this.connected) {\n            // fire events\n            this.onclose(\"io client disconnect\");\n        }\n        return this;\n    }\n    /**\n     * Alias for {@link disconnect()}.\n     *\n     * @return self\n     */\n    close() {\n        return this.disconnect();\n    }\n    /**\n     * Sets the compress flag.\n     *\n     * @example\n     * socket.compress(false).emit(\"hello\");\n     *\n     * @param compress - if `true`, compresses the sending data\n     * @return self\n     */\n    compress(compress) {\n        this.flags.compress = compress;\n        return this;\n    }\n    /**\n     * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n     * ready to send messages.\n     *\n     * @example\n     * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n     *\n     * @returns self\n     */\n    get volatile() {\n        this.flags.volatile = true;\n        return this;\n    }\n    /**\n     * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n     * given number of milliseconds have elapsed without an acknowledgement from the server:\n     *\n     * @example\n     * socket.timeout(5000).emit(\"my-event\", (err) => {\n     *   if (err) {\n     *     // the server did not acknowledge the event in the given delay\n     *   }\n     * });\n     *\n     * @returns self\n     */\n    timeout(timeout) {\n        this.flags.timeout = timeout;\n        return this;\n    }\n    /**\n     * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n     * callback.\n     *\n     * @example\n     * socket.onAny((event, ...args) => {\n     *   console.log(`got ${event}`);\n     * });\n     *\n     * @param listener\n     */\n    onAny(listener) {\n        this._anyListeners = this._anyListeners || [];\n        this._anyListeners.push(listener);\n        return this;\n    }\n    /**\n     * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n     * callback. The listener is added to the beginning of the listeners array.\n     *\n     * @example\n     * socket.prependAny((event, ...args) => {\n     *   console.log(`got event ${event}`);\n     * });\n     *\n     * @param listener\n     */\n    prependAny(listener) {\n        this._anyListeners = this._anyListeners || [];\n        this._anyListeners.unshift(listener);\n        return this;\n    }\n    /**\n     * Removes the listener that will be fired when any event is emitted.\n     *\n     * @example\n     * const catchAllListener = (event, ...args) => {\n     *   console.log(`got event ${event}`);\n     * }\n     *\n     * socket.onAny(catchAllListener);\n     *\n     * // remove a specific listener\n     * socket.offAny(catchAllListener);\n     *\n     * // or remove all listeners\n     * socket.offAny();\n     *\n     * @param listener\n     */\n    offAny(listener) {\n        if (!this._anyListeners) {\n            return this;\n        }\n        if (listener) {\n            const listeners = this._anyListeners;\n            for (let i = 0; i < listeners.length; i++) {\n                if (listener === listeners[i]) {\n                    listeners.splice(i, 1);\n                    return this;\n                }\n            }\n        }\n        else {\n            this._anyListeners = [];\n        }\n        return this;\n    }\n    /**\n     * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n     * e.g. to remove listeners.\n     */\n    listenersAny() {\n        return this._anyListeners || [];\n    }\n    /**\n     * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n     * callback.\n     *\n     * Note: acknowledgements sent to the server are not included.\n     *\n     * @example\n     * socket.onAnyOutgoing((event, ...args) => {\n     *   console.log(`sent event ${event}`);\n     * });\n     *\n     * @param listener\n     */\n    onAnyOutgoing(listener) {\n        this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n        this._anyOutgoingListeners.push(listener);\n        return this;\n    }\n    /**\n     * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n     * callback. The listener is added to the beginning of the listeners array.\n     *\n     * Note: acknowledgements sent to the server are not included.\n     *\n     * @example\n     * socket.prependAnyOutgoing((event, ...args) => {\n     *   console.log(`sent event ${event}`);\n     * });\n     *\n     * @param listener\n     */\n    prependAnyOutgoing(listener) {\n        this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n        this._anyOutgoingListeners.unshift(listener);\n        return this;\n    }\n    /**\n     * Removes the listener that will be fired when any event is emitted.\n     *\n     * @example\n     * const catchAllListener = (event, ...args) => {\n     *   console.log(`sent event ${event}`);\n     * }\n     *\n     * socket.onAnyOutgoing(catchAllListener);\n     *\n     * // remove a specific listener\n     * socket.offAnyOutgoing(catchAllListener);\n     *\n     * // or remove all listeners\n     * socket.offAnyOutgoing();\n     *\n     * @param [listener] - the catch-all listener (optional)\n     */\n    offAnyOutgoing(listener) {\n        if (!this._anyOutgoingListeners) {\n            return this;\n        }\n        if (listener) {\n            const listeners = this._anyOutgoingListeners;\n            for (let i = 0; i < listeners.length; i++) {\n                if (listener === listeners[i]) {\n                    listeners.splice(i, 1);\n                    return this;\n                }\n            }\n        }\n        else {\n            this._anyOutgoingListeners = [];\n        }\n        return this;\n    }\n    /**\n     * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n     * e.g. to remove listeners.\n     */\n    listenersAnyOutgoing() {\n        return this._anyOutgoingListeners || [];\n    }\n    /**\n     * Notify the listeners for each packet sent\n     *\n     * @param packet\n     *\n     * @private\n     */\n    notifyOutgoingListeners(packet) {\n        if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n            const listeners = this._anyOutgoingListeners.slice();\n            for (const listener of listeners) {\n                listener.apply(this, packet.data);\n            }\n        }\n    }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n    opts = opts || {};\n    this.ms = opts.min || 100;\n    this.max = opts.max || 10000;\n    this.factor = opts.factor || 2;\n    this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n    this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n    var ms = this.ms * Math.pow(this.factor, this.attempts++);\n    if (this.jitter) {\n        var rand = Math.random();\n        var deviation = Math.floor(rand * this.jitter * ms);\n        ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n    }\n    return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n    this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n    this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n    this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n    this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n    constructor(uri, opts) {\n        var _a;\n        super();\n        this.nsps = {};\n        this.subs = [];\n        if (uri && \"object\" === typeof uri) {\n            opts = uri;\n            uri = undefined;\n        }\n        opts = opts || {};\n        opts.path = opts.path || \"/socket.io\";\n        this.opts = opts;\n        installTimerFunctions(this, opts);\n        this.reconnection(opts.reconnection !== false);\n        this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n        this.reconnectionDelay(opts.reconnectionDelay || 1000);\n        this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n        this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n        this.backoff = new Backoff({\n            min: this.reconnectionDelay(),\n            max: this.reconnectionDelayMax(),\n            jitter: this.randomizationFactor(),\n        });\n        this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n        this._readyState = \"closed\";\n        this.uri = uri;\n        const _parser = opts.parser || parser;\n        this.encoder = new _parser.Encoder();\n        this.decoder = new _parser.Decoder();\n        this._autoConnect = opts.autoConnect !== false;\n        if (this._autoConnect)\n            this.open();\n    }\n    reconnection(v) {\n        if (!arguments.length)\n            return this._reconnection;\n        this._reconnection = !!v;\n        if (!v) {\n            this.skipReconnect = true;\n        }\n        return this;\n    }\n    reconnectionAttempts(v) {\n        if (v === undefined)\n            return this._reconnectionAttempts;\n        this._reconnectionAttempts = v;\n        return this;\n    }\n    reconnectionDelay(v) {\n        var _a;\n        if (v === undefined)\n            return this._reconnectionDelay;\n        this._reconnectionDelay = v;\n        (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n        return this;\n    }\n    randomizationFactor(v) {\n        var _a;\n        if (v === undefined)\n            return this._randomizationFactor;\n        this._randomizationFactor = v;\n        (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n        return this;\n    }\n    reconnectionDelayMax(v) {\n        var _a;\n        if (v === undefined)\n            return this._reconnectionDelayMax;\n        this._reconnectionDelayMax = v;\n        (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n        return this;\n    }\n    timeout(v) {\n        if (!arguments.length)\n            return this._timeout;\n        this._timeout = v;\n        return this;\n    }\n    /**\n     * Starts trying to reconnect if reconnection is enabled and we have not\n     * started reconnecting yet\n     *\n     * @private\n     */\n    maybeReconnectOnOpen() {\n        // Only try to reconnect if it's the first time we're connecting\n        if (!this._reconnecting &&\n            this._reconnection &&\n            this.backoff.attempts === 0) {\n            // keeps reconnection from firing twice for the same reconnection loop\n            this.reconnect();\n        }\n    }\n    /**\n     * Sets the current transport `socket`.\n     *\n     * @param {Function} fn - optional, callback\n     * @return self\n     * @public\n     */\n    open(fn) {\n        if (~this._readyState.indexOf(\"open\"))\n            return this;\n        this.engine = new Engine(this.uri, this.opts);\n        const socket = this.engine;\n        const self = this;\n        this._readyState = \"opening\";\n        this.skipReconnect = false;\n        // emit `open`\n        const openSubDestroy = on(socket, \"open\", function () {\n            self.onopen();\n            fn && fn();\n        });\n        const onError = (err) => {\n            this.cleanup();\n            this._readyState = \"closed\";\n            this.emitReserved(\"error\", err);\n            if (fn) {\n                fn(err);\n            }\n            else {\n                // Only do this if there is no fn to handle the error\n                this.maybeReconnectOnOpen();\n            }\n        };\n        // emit `error`\n        const errorSub = on(socket, \"error\", onError);\n        if (false !== this._timeout) {\n            const timeout = this._timeout;\n            // set timer\n            const timer = this.setTimeoutFn(() => {\n                openSubDestroy();\n                onError(new Error(\"timeout\"));\n                socket.close();\n            }, timeout);\n            if (this.opts.autoUnref) {\n                timer.unref();\n            }\n            this.subs.push(() => {\n                this.clearTimeoutFn(timer);\n            });\n        }\n        this.subs.push(openSubDestroy);\n        this.subs.push(errorSub);\n        return this;\n    }\n    /**\n     * Alias for open()\n     *\n     * @return self\n     * @public\n     */\n    connect(fn) {\n        return this.open(fn);\n    }\n    /**\n     * Called upon transport open.\n     *\n     * @private\n     */\n    onopen() {\n        // clear old subs\n        this.cleanup();\n        // mark as open\n        this._readyState = \"open\";\n        this.emitReserved(\"open\");\n        // add new subs\n        const socket = this.engine;\n        this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n        // @ts-ignore\n        on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n    }\n    /**\n     * Called upon a ping.\n     *\n     * @private\n     */\n    onping() {\n        this.emitReserved(\"ping\");\n    }\n    /**\n     * Called with data.\n     *\n     * @private\n     */\n    ondata(data) {\n        try {\n            this.decoder.add(data);\n        }\n        catch (e) {\n            this.onclose(\"parse error\", e);\n        }\n    }\n    /**\n     * Called when parser fully decodes a packet.\n     *\n     * @private\n     */\n    ondecoded(packet) {\n        // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n        nextTick(() => {\n            this.emitReserved(\"packet\", packet);\n        }, this.setTimeoutFn);\n    }\n    /**\n     * Called upon socket error.\n     *\n     * @private\n     */\n    onerror(err) {\n        this.emitReserved(\"error\", err);\n    }\n    /**\n     * Creates a new socket for the given `nsp`.\n     *\n     * @return {Socket}\n     * @public\n     */\n    socket(nsp, opts) {\n        let socket = this.nsps[nsp];\n        if (!socket) {\n            socket = new Socket(this, nsp, opts);\n            this.nsps[nsp] = socket;\n        }\n        else if (this._autoConnect && !socket.active) {\n            socket.connect();\n        }\n        return socket;\n    }\n    /**\n     * Called upon a socket close.\n     *\n     * @param socket\n     * @private\n     */\n    _destroy(socket) {\n        const nsps = Object.keys(this.nsps);\n        for (const nsp of nsps) {\n            const socket = this.nsps[nsp];\n            if (socket.active) {\n                return;\n            }\n        }\n        this._close();\n    }\n    /**\n     * Writes a packet.\n     *\n     * @param packet\n     * @private\n     */\n    _packet(packet) {\n        const encodedPackets = this.encoder.encode(packet);\n        for (let i = 0; i < encodedPackets.length; i++) {\n            this.engine.write(encodedPackets[i], packet.options);\n        }\n    }\n    /**\n     * Clean up transport subscriptions and packet buffer.\n     *\n     * @private\n     */\n    cleanup() {\n        this.subs.forEach((subDestroy) => subDestroy());\n        this.subs.length = 0;\n        this.decoder.destroy();\n    }\n    /**\n     * Close the current socket.\n     *\n     * @private\n     */\n    _close() {\n        this.skipReconnect = true;\n        this._reconnecting = false;\n        this.onclose(\"forced close\");\n    }\n    /**\n     * Alias for close()\n     *\n     * @private\n     */\n    disconnect() {\n        return this._close();\n    }\n    /**\n     * Called when:\n     *\n     * - the low-level engine is closed\n     * - the parser encountered a badly formatted packet\n     * - all sockets are disconnected\n     *\n     * @private\n     */\n    onclose(reason, description) {\n        var _a;\n        this.cleanup();\n        (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n        this.backoff.reset();\n        this._readyState = \"closed\";\n        this.emitReserved(\"close\", reason, description);\n        if (this._reconnection && !this.skipReconnect) {\n            this.reconnect();\n        }\n    }\n    /**\n     * Attempt a reconnection.\n     *\n     * @private\n     */\n    reconnect() {\n        if (this._reconnecting || this.skipReconnect)\n            return this;\n        const self = this;\n        if (this.backoff.attempts >= this._reconnectionAttempts) {\n            this.backoff.reset();\n            this.emitReserved(\"reconnect_failed\");\n            this._reconnecting = false;\n        }\n        else {\n            const delay = this.backoff.duration();\n            this._reconnecting = true;\n            const timer = this.setTimeoutFn(() => {\n                if (self.skipReconnect)\n                    return;\n                this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n                // check again for the case socket closed in above events\n                if (self.skipReconnect)\n                    return;\n                self.open((err) => {\n                    if (err) {\n                        self._reconnecting = false;\n                        self.reconnect();\n                        this.emitReserved(\"reconnect_error\", err);\n                    }\n                    else {\n                        self.onreconnect();\n                    }\n                });\n            }, delay);\n            if (this.opts.autoUnref) {\n                timer.unref();\n            }\n            this.subs.push(() => {\n                this.clearTimeoutFn(timer);\n            });\n        }\n    }\n    /**\n     * Called upon successful reconnect.\n     *\n     * @private\n     */\n    onreconnect() {\n        const attempt = this.backoff.attempts;\n        this._reconnecting = false;\n        this.backoff.reset();\n        this.emitReserved(\"reconnect\", attempt);\n    }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n    if (typeof uri === \"object\") {\n        opts = uri;\n        uri = undefined;\n    }\n    opts = opts || {};\n    const parsed = url(uri, opts.path || \"/socket.io\");\n    const source = parsed.source;\n    const id = parsed.id;\n    const path = parsed.path;\n    const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n    const newConnection = opts.forceNew ||\n        opts[\"force new connection\"] ||\n        false === opts.multiplex ||\n        sameNamespace;\n    let io;\n    if (newConnection) {\n        io = new Manager(source, opts);\n    }\n    else {\n        if (!cache[id]) {\n            cache[id] = new Manager(source, opts);\n        }\n        io = cache[id];\n    }\n    if (parsed.query && !opts.query) {\n        opts.query = parsed.queryKey;\n    }\n    return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n    Manager,\n    Socket,\n    io: lookup,\n    connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\nexport { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from \"engine.io-client\";\n","import e from\"cross-fetch\";import t from\"debug\";import n,{EventEmitter2 as r}from\"eventemitter2\";import{validate as i,v4 as o}from\"uuid\";import{io as s}from\"socket.io-client\";function a(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}\"function\"==typeof SuppressedError&&SuppressedError;var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},l=[],d=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,h=!1;function f(){h=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0;t<64;++t)l[t]=e[t],d[e.charCodeAt(t)]=t;d[\"-\".charCodeAt(0)]=62,d[\"_\".charCodeAt(0)]=63}function p(e,t,n){for(var r,i,o=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],o.push(l[(i=r)>>18&63]+l[i>>12&63]+l[i>>6&63]+l[63&i]);return o.join(\"\")}function g(e){var t;h||f();for(var n=e.length,r=n%3,i=\"\",o=[],s=16383,a=0,c=n-r;a<c;a+=s)o.push(p(e,a,a+s>c?c:a+s));return 1===r?(t=e[n-1],i+=l[t>>2],i+=l[t<<4&63],i+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=l[t>>10],i+=l[t>>4&63],i+=l[t<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}function m(e,t,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,l=c>>1,d=-7,u=n?i-1:0,h=n?-1:1,f=e[t+u];for(u+=h,o=f&(1<<-d)-1,f>>=-d,d+=a;d>0;o=256*o+e[t+u],u+=h,d-=8);for(s=o&(1<<-d)-1,o>>=-d,d+=r;d>0;s=256*s+e[t+u],u+=h,d-=8);if(0===o)o=1-l;else{if(o===c)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,r),o-=l}return(f?-1:1)*s*Math.pow(2,o-r)}function y(e,t,n,r,i,o){var s,a,c,l=8*o-i-1,d=(1<<l)-1,u=d>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?h/c:h*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=d?(a=0,s=d):s+u>=1?(a=(t*c-1)*Math.pow(2,i),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,i),s=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;e[n+f]=255&s,f+=p,s/=256,l-=8);e[n+f-p]|=128*g}var v={}.toString,b=Array.isArray||function(e){return\"[object Array]\"==v.call(e)};S.TYPED_ARRAY_SUPPORT=void 0===c.TYPED_ARRAY_SUPPORT||c.TYPED_ARRAY_SUPPORT;var w=E();function E(){return S.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function C(e,t){if(E()<t)throw new RangeError(\"Invalid typed array length\");return S.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=S.prototype:(null===e&&(e=new S(t)),e.length=t),e}function S(e,t,n){if(!(S.TYPED_ARRAY_SUPPORT||this instanceof S))return new S(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return x(this,e)}return _(this,e,t,n)}function _(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);S.TYPED_ARRAY_SUPPORT?(e=t).__proto__=S.prototype:e=M(e,t);return e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){\"string\"==typeof n&&\"\"!==n||(n=\"utf8\");if(!S.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|R(t,n);e=C(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(I(t)){var n=0|A(t.length);return 0===(e=C(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?C(e,0):M(e,t);if(\"Buffer\"===t.type&&b(t.data))return M(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function k(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function x(e,t){if(k(t),e=C(e,t<0?0:0|A(t)),!S.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function M(e,t){var n=t.length<0?0:0|A(t.length);e=C(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function A(e){if(e>=E())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+E().toString(16)+\" bytes\");return 0|e}function I(e){return!(null==e||!e._isBuffer)}function R(e,t){if(I(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return re(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return ie(e).length;default:if(r)return re(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function P(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return V(this,t,n);case\"utf8\":case\"utf-8\":return H(this,t,n);case\"ascii\":return z(this,t,n);case\"latin1\":case\"binary\":return q(this,t,n);case\"base64\":return U(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return W(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function L(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function O(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=S.from(t,r)),I(t))return 0===t.length?-1:T(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,S.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):T(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function T(e,t,n,r,i){var o,s=1,a=e.length,c=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var d=-1;for(o=n;o<a;o++)if(l(e,o)===l(t,-1===d?0:o-d)){if(-1===d&&(d=o),o-d+1===c)return d*s}else-1!==d&&(o-=o-d),d=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var u=!0,h=0;h<c;h++)if(l(e,o+h)!==l(t,h)){u=!1;break}if(u)return o}return-1}function N(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function D(e,t,n,r){return oe(re(t,e.length-n),e,n,r)}function $(e,t,n,r){return oe(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function B(e,t,n,r){return $(e,t,n,r)}function K(e,t,n,r){return oe(ie(t),e,n,r)}function j(e,t,n,r){return oe(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)r=(n=e.charCodeAt(s))>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function U(e,t,n){return 0===t&&n===e.length?g(e):g(e.slice(t,n))}function H(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,c,l=e[i],d=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u<=n)switch(u){case 1:l<128&&(d=l);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&l)<<6|63&o)>127&&(d=c);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(c=(15&l)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(d=c);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(d=c)}null===d?(d=65533,u=1):d>65535&&(d-=65536,r.push(d>>>10&1023|55296),d=56320|1023&d),r.push(d),i+=u}return function(e){var t=e.length;if(t<=F)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=F));return n}(r)}S.poolSize=8192,S._augment=function(e){return e.__proto__=S.prototype,e},S.from=function(e,t,n){return _(null,e,t,n)},S.TYPED_ARRAY_SUPPORT&&(S.prototype.__proto__=Uint8Array.prototype,S.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&S[Symbol.species]),S.alloc=function(e,t,n){return function(e,t,n,r){return k(t),t<=0?C(e,t):void 0!==n?\"string\"==typeof r?C(e,t).fill(n,r):C(e,t).fill(n):C(e,t)}(null,e,t,n)},S.allocUnsafe=function(e){return x(null,e)},S.allocUnsafeSlow=function(e){return x(null,e)},S.isBuffer=se,S.compare=function(e,t){if(!I(e)||!I(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},S.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},S.concat=function(e,t){if(!b(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return S.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=S.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!I(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},S.byteLength=R,S.prototype._isBuffer=!0,S.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)L(this,t,t+1);return this},S.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)L(this,t,t+3),L(this,t+1,t+2);return this},S.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)L(this,t,t+7),L(this,t+1,t+6),L(this,t+2,t+5),L(this,t+3,t+4);return this},S.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?H(this,0,e):P.apply(this,arguments)},S.prototype.equals=function(e){if(!I(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===S.compare(this,e)},S.prototype.inspect=function(){var e=\"\";return this.length>0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},S.prototype.compare=function(e,t,n,r,i){if(!I(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),l=e.slice(t,n),d=0;d<a;++d)if(c[d]!==l[d]){o=c[d],s=l[d];break}return o<s?-1:s<o?1:0},S.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},S.prototype.indexOf=function(e,t,n){return O(this,e,t,n,!0)},S.prototype.lastIndexOf=function(e,t,n){return O(this,e,t,n,!1)},S.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return N(this,e,t,n);case\"utf8\":case\"utf-8\":return D(this,e,t,n);case\"ascii\":return $(this,e,t,n);case\"latin1\":case\"binary\":return B(this,e,t,n);case\"base64\":return K(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return j(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},S.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var F=4096;function z(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function q(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function V(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=ne(e[o]);return i}function W(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function G(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function Z(e,t,n,r,i,o){if(!I(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function Y(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function J(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function X(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function Q(e,t,n,r,i){return i||X(e,0,n,4),y(e,t,n,r,23,4),n+4}function ee(e,t,n,r,i){return i||X(e,0,n,8),y(e,t,n,r,52,8),n+8}S.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),S.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=S.prototype;else{var i=t-e;n=new S(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},S.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},S.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},S.prototype.readUInt8=function(e,t){return t||G(e,1,this.length),this[e]},S.prototype.readUInt16LE=function(e,t){return t||G(e,2,this.length),this[e]|this[e+1]<<8},S.prototype.readUInt16BE=function(e,t){return t||G(e,2,this.length),this[e]<<8|this[e+1]},S.prototype.readUInt32LE=function(e,t){return t||G(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},S.prototype.readUInt32BE=function(e,t){return t||G(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},S.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},S.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||G(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},S.prototype.readInt8=function(e,t){return t||G(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},S.prototype.readInt16LE=function(e,t){t||G(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},S.prototype.readInt16BE=function(e,t){t||G(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},S.prototype.readInt32LE=function(e,t){return t||G(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},S.prototype.readInt32BE=function(e,t){return t||G(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},S.prototype.readFloatLE=function(e,t){return t||G(e,4,this.length),m(this,e,!0,23,4)},S.prototype.readFloatBE=function(e,t){return t||G(e,4,this.length),m(this,e,!1,23,4)},S.prototype.readDoubleLE=function(e,t){return t||G(e,8,this.length),m(this,e,!0,52,8)},S.prototype.readDoubleBE=function(e,t){return t||G(e,8,this.length),m(this,e,!1,52,8)},S.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},S.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},S.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,255,0),S.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},S.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},S.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},S.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),S.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):J(this,e,t,!0),t+4},S.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):J(this,e,t,!1),t+4},S.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},S.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},S.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,127,-128),S.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},S.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Y(this,e,t,!0),t+2},S.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Y(this,e,t,!1),t+2},S.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),S.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):J(this,e,t,!0),t+4},S.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),S.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):J(this,e,t,!1),t+4},S.prototype.writeFloatLE=function(e,t,n){return Q(this,e,t,!0,n)},S.prototype.writeFloatBE=function(e,t,n){return Q(this,e,t,!1,n)},S.prototype.writeDoubleLE=function(e,t,n){return ee(this,e,t,!0,n)},S.prototype.writeDoubleBE=function(e,t,n){return ee(this,e,t,!1,n)},S.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!S.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},S.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!S.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=I(e)?e:re(new S(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var te=/[^+\\/0-9A-Za-z-_]/g;function ne(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function re(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function ie(e){return function(e){var t,n,r,i,o,s;h||f();var a=e.length;if(a%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");o=\"=\"===e[a-2]?2:\"=\"===e[a-1]?1:0,s=new u(3*a/4-o),r=o>0?a-4:a;var c=0;for(t=0,n=0;t<r;t+=4,n+=3)i=d[e.charCodeAt(t)]<<18|d[e.charCodeAt(t+1)]<<12|d[e.charCodeAt(t+2)]<<6|d[e.charCodeAt(t+3)],s[c++]=i>>16&255,s[c++]=i>>8&255,s[c++]=255&i;return 2===o?(i=d[e.charCodeAt(t)]<<2|d[e.charCodeAt(t+1)]>>4,s[c++]=255&i):1===o&&(i=d[e.charCodeAt(t)]<<10|d[e.charCodeAt(t+1)]<<4|d[e.charCodeAt(t+2)]>>2,s[c++]=i>>8&255,s[c++]=255&i),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(te,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function oe(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function se(e){return null!=e&&(!!e._isBuffer||ae(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&ae(e.slice(0,0))}(e))}function ae(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var ce=Object.freeze({__proto__:null,Buffer:S,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),S.alloc(+e)},isBuffer:se,kMaxLength:w}),le=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function de(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function ue(e){if(e.__esModule)return e;var t=e.default;if(\"function\"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,\"__esModule\",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var he={},fe={},pe={};function ge(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function me(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function ye(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function ve(e,...t){if(!ye(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function be(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"hash must be wrapped by utils.wrapConstructor\");ge(e.outputLen),ge(e.blockLen)}function we(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function Ee(e,t){ve(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(pe,\"__esModule\",{value:!0}),pe.isBytes=ye,pe.number=ge,pe.bool=me,pe.bytes=ve,pe.hash=be,pe.exists=we,pe.output=Ee;const Ce={number:ge,bool:me,bytes:ve,hash:be,exists:we,output:Ee};pe.default=Ce,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.wrapCipher=e.Hash=e.nextTick=e.isLE=e.createView=e.u32=e.u16=e.u8=void 0,e.bytesToHex=r,e.hexToBytes=s,e.hexToNumber=a,e.bytesToNumberBE=function(e){return a(r(e))},e.numberToBytesBE=function(e,t){return s(e.toString(16).padStart(2*t,\"0\"))},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=c,e.bytesToUtf8=function(e){return(new TextDecoder).decode(e)},e.toBytes=function(e){if(\"string\"==typeof e)e=c(e);else{if(!(0,t.isBytes)(e))throw new Error(\"Uint8Array expected, got \"+typeof e);e=d(e)}return e},e.concatBytes=function(...e){let n=0;for(let r=0;r<e.length;r++){const i=e[r];(0,t.bytes)(i),n+=i.length}const r=new Uint8Array(n);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(null==t||\"object\"!=typeof t)throw new Error(\"options must be defined\");return Object.assign(e,t)},e.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},e.setBigUint64=l,e.u64Lengths=function(t,n){const r=new Uint8Array(16),i=(0,e.createView)(r);return l(i,0,BigInt(n?n.length:0),!0),l(i,8,BigInt(t.length),!0),r},e.isAligned32=function(e){return e.byteOffset%4==0},e.copyBytes=d,e.clean=function(...e){for(let t=0;t<e.length;t++)e[t].fill(0)};const t=pe;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u16=e=>new Uint16Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/2));e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));if(e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error(\"Non little-endian hardware is not supported\");const n=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function r(e){(0,t.bytes)(e);let r=\"\";for(let t=0;t<e.length;t++)r+=n[e[t]];return r}const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r}function a(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}function c(e){if(\"string\"!=typeof e)throw new Error(\"string expected, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}e.nextTick=async()=>{};e.Hash=class{};function l(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}function d(e){return Uint8Array.from(e)}e.wrapCipher=(e,t)=>(Object.assign(t,e),t)}(fe);var Se={},_e={};Object.defineProperty(_e,\"__esModule\",{value:!0}),_e.AEAD_TAG_LENGTH=_e.XCHACHA20_NONCE_LENGTH=_e.CURVE25519_PUBLIC_KEY_SIZE=_e.ETH_PUBLIC_KEY_SIZE=_e.UNCOMPRESSED_PUBLIC_KEY_SIZE=_e.COMPRESSED_PUBLIC_KEY_SIZE=_e.SECRET_KEY_LENGTH=void 0,_e.SECRET_KEY_LENGTH=32,_e.COMPRESSED_PUBLIC_KEY_SIZE=33,_e.UNCOMPRESSED_PUBLIC_KEY_SIZE=65,_e.ETH_PUBLIC_KEY_SIZE=64,_e.CURVE25519_PUBLIC_KEY_SIZE=32,_e.XCHACHA20_NONCE_LENGTH=24,_e.AEAD_TAG_LENGTH=16,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.ephemeralKeySize=e.symmetricNonceLength=e.symmetricAlgorithm=e.isHkdfKeyCompressed=e.isEphemeralKeyCompressed=e.ellipticCurve=e.ECIES_CONFIG=void 0;var t=_e,n=function(){this.ellipticCurve=\"secp256k1\",this.isEphemeralKeyCompressed=!1,this.isHkdfKeyCompressed=!1,this.symmetricAlgorithm=\"aes-256-gcm\",this.symmetricNonceLength=16};e.ECIES_CONFIG=new n;e.ellipticCurve=function(){return e.ECIES_CONFIG.ellipticCurve};e.isEphemeralKeyCompressed=function(){return e.ECIES_CONFIG.isEphemeralKeyCompressed};e.isHkdfKeyCompressed=function(){return e.ECIES_CONFIG.isHkdfKeyCompressed};e.symmetricAlgorithm=function(){return e.ECIES_CONFIG.symmetricAlgorithm};e.symmetricNonceLength=function(){return e.ECIES_CONFIG.symmetricNonceLength};e.ephemeralKeySize=function(){var n={secp256k1:e.ECIES_CONFIG.isEphemeralKeyCompressed?t.COMPRESSED_PUBLIC_KEY_SIZE:t.UNCOMPRESSED_PUBLIC_KEY_SIZE,x25519:t.CURVE25519_PUBLIC_KEY_SIZE,ed25519:t.CURVE25519_PUBLIC_KEY_SIZE};if(e.ECIES_CONFIG.ellipticCurve in n)return n[e.ECIES_CONFIG.ellipticCurve];throw new Error(\"Not implemented\")}}(Se);var ke={},xe={},Me={},Ae={},Ie={},Re={};Object.defineProperty(Re,\"__esModule\",{value:!0}),Re.crypto=void 0,Re.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.gcm=e.ctr=e.cbc=e.utils=void 0,e.randomBytes=i,e.getWebcryptoSubtle=o,e.managedNonce=function(e){return(0,n.number)(e.nonceLength),(t,...n)=>({encrypt(o,...s){const{nonceLength:a}=e,c=i(a),l=e(t,c,...n).encrypt(o,...s),d=(0,r.concatBytes)(c,l);return l.fill(0),d},decrypt(r,...i){const{nonceLength:o}=e,s=r.subarray(0,o),a=r.subarray(o);return e(t,s,...n).decrypt(a,...i)}})};const t=Re,n=pe,r=fe;function i(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}function o(){if(t.crypto&&\"object\"==typeof t.crypto.subtle&&null!=t.crypto.subtle)return t.crypto.subtle;throw new Error(\"crypto.subtle must be defined\")}e.utils={async encrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"encrypt\"]),a=await i.encrypt(n,s,r);return new Uint8Array(a)},async decrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"decrypt\"]),a=await i.decrypt(n,s,r);return new Uint8Array(a)}};const s={CBC:\"AES-CBC\",CTR:\"AES-CTR\",GCM:\"AES-GCM\"};function a(t){return(r,i,o)=>{(0,n.bytes)(r),(0,n.bytes)(i);const a={name:t,length:8*r.length},c=function(e,t,n){if(e===s.CBC)return{name:s.CBC,iv:t};if(e===s.CTR)return{name:s.CTR,counter:t,length:64};if(e===s.GCM)return n?{name:s.GCM,iv:t,additionalData:n}:{name:s.GCM,iv:t};throw new Error(\"unknown aes block mode\")}(t,i,o);return{encrypt:t=>((0,n.bytes)(t),e.utils.encrypt(r,a,c,t)),decrypt:t=>((0,n.bytes)(t),e.utils.decrypt(r,a,c,t))}}}e.cbc=a(s.CBC),e.ctr=a(s.CTR),e.gcm=a(s.GCM)}(Ie);var Pe={},Le={},Oe={},Te={};function Ne(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function De(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function $e(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Be(e,...t){if(!$e(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Ke(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Ne(e.outputLen),Ne(e.blockLen)}function je(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function Ue(e,t){Be(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(Te,\"__esModule\",{value:!0}),Te.isBytes=$e,Te.number=Ne,Te.bool=De,Te.bytes=Be,Te.hash=Ke,Te.exists=je,Te.output=Ue;const He={number:Ne,bool:De,bytes:Be,hash:Ke,exists:je,output:Ue};Te.default=He;var Fe={},ze={};Object.defineProperty(ze,\"__esModule\",{value:!0}),ze.crypto=void 0,ze.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.byteSwap=e.isLE=e.rotl=e.rotr=e.createView=e.u32=e.u8=void 0,e.isBytes=function(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name},e.byteSwap32=function(t){for(let n=0;n<t.length;n++)t[n]=(0,e.byteSwap)(t[n])},e.bytesToHex=function(e){(0,n.bytes)(e);let t=\"\";for(let n=0;n<e.length;n++)t+=r[e[n]];return t},e.hexToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=s,e.toBytes=a,e.concatBytes=function(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];(0,n.bytes)(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(void 0!==t&&\"[object Object]\"!==c.call(t))throw new Error(\"Options should be object or undefined\");return Object.assign(e,t)},e.wrapConstructor=function(e){const t=t=>e().update(a(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t},e.wrapConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.wrapXOFConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.randomBytes=function(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")};const t=ze,n=Te;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);e.rotr=(e,t)=>e<<32-t|e>>>t;e.rotl=(e,t)=>e<<t|e>>>32-t>>>0,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];e.byteSwap=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255,e.byteSwapIfBE=e.isLE?e=>e:t=>(0,e.byteSwap)(t);const r=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function a(e){return\"string\"==typeof e&&(e=s(e)),(0,n.bytes)(e),e}e.nextTick=async()=>{};e.Hash=class{clone(){return this._cloneInto()}};const c={}.toString}(Fe),Object.defineProperty(Oe,\"__esModule\",{value:!0}),Oe.HashMD=Oe.Maj=Oe.Chi=void 0;const qe=Te,Ve=Fe;Oe.Chi=(e,t,n)=>e&t^~e&n;Oe.Maj=(e,t,n)=>e&t^e&n^t&n;Oe.HashMD=class extends Ve.Hash{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=(0,Ve.createView)(this.buffer)}update(e){(0,qe.exists)(this);const{view:t,buffer:n,blockLen:r}=this,i=(e=(0,Ve.toBytes)(e)).length;for(let o=0;o<i;){const s=Math.min(r-this.pos,i-o);if(s!==r)n.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0);else{const t=(0,Ve.createView)(e);for(;r<=i-o;o+=r)this.process(t,o)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,qe.exists)(this),(0,qe.output)(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;e<r;e++)t[e]=0;!function(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const s=(0,Ve.createView)(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const c=a/4,l=this.get();if(c>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let e=0;e<c;e++)s.setUint32(4*e,l[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return e.length=r,e.pos=s,e.finished=i,e.destroyed=o,r%t&&e.buffer.set(n),e}};var We={};Object.defineProperty(We,\"__esModule\",{value:!0}),We.add5L=We.add5H=We.add4H=We.add4L=We.add3H=We.add3L=We.rotlBL=We.rotlBH=We.rotlSL=We.rotlSH=We.rotr32L=We.rotr32H=We.rotrBL=We.rotrBH=We.rotrSL=We.rotrSH=We.shrSL=We.shrSH=We.toBig=void 0,We.fromBig=Ye,We.split=Je,We.add=ut;const Ge=BigInt(2**32-1),Ze=BigInt(32);function Ye(e,t=!1){return t?{h:Number(e&Ge),l:Number(e>>Ze&Ge)}:{h:0|Number(e>>Ze&Ge),l:0|Number(e&Ge)}}function Je(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:o,l:s}=Ye(e[i],t);[n[i],r[i]]=[o,s]}return[n,r]}const Xe=(e,t)=>BigInt(e>>>0)<<Ze|BigInt(t>>>0);We.toBig=Xe;const Qe=(e,t,n)=>e>>>n;We.shrSH=Qe;const et=(e,t,n)=>e<<32-n|t>>>n;We.shrSL=et;const tt=(e,t,n)=>e>>>n|t<<32-n;We.rotrSH=tt;const nt=(e,t,n)=>e<<32-n|t>>>n;We.rotrSL=nt;const rt=(e,t,n)=>e<<64-n|t>>>n-32;We.rotrBH=rt;const it=(e,t,n)=>e>>>n-32|t<<64-n;We.rotrBL=it;const ot=(e,t)=>t;We.rotr32H=ot;const st=(e,t)=>e;We.rotr32L=st;const at=(e,t,n)=>e<<n|t>>>32-n;We.rotlSH=at;const ct=(e,t,n)=>t<<n|e>>>32-n;We.rotlSL=ct;const lt=(e,t,n)=>t<<n-32|e>>>64-n;We.rotlBH=lt;const dt=(e,t,n)=>e<<n-32|t>>>64-n;function ut(e,t,n,r){const i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:0|i}}We.rotlBL=dt;const ht=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);We.add3L=ht;const ft=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;We.add3H=ft;const pt=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);We.add4L=pt;const gt=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;We.add4H=gt;const mt=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);We.add5L=mt;const yt=(e,t,n,r,i,o)=>t+n+r+i+o+(e/2**32|0)|0;We.add5H=yt;const vt={fromBig:Ye,split:Je,toBig:Xe,shrSH:Qe,shrSL:et,rotrSH:tt,rotrSL:nt,rotrBH:rt,rotrBL:it,rotr32H:ot,rotr32L:st,rotlSH:at,rotlSL:ct,rotlBH:lt,rotlBL:dt,add:ut,add3L:ht,add3H:ft,add4L:pt,add4H:gt,add5H:yt,add5L:mt};We.default=vt,Object.defineProperty(Le,\"__esModule\",{value:!0}),Le.sha384=Le.sha512_256=Le.sha512_224=Le.sha512=Le.SHA384=Le.SHA512_256=Le.SHA512_224=Le.SHA512=void 0;const bt=Oe,wt=We,Et=Fe,[Ct,St]=(()=>wt.default.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map((e=>BigInt(e)))))(),_t=new Uint32Array(80),kt=new Uint32Array(80);class xt extends bt.HashMD{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:d,Fl:u,Gh:h,Gl:f,Hh:p,Hl:g}=this;return[e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g]}set(e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|d,this.Fl=0|u,this.Gh=0|h,this.Gl=0|f,this.Hh=0|p,this.Hl=0|g}process(e,t){for(let n=0;n<16;n++,t+=4)_t[n]=e.getUint32(t),kt[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|_t[e-15],n=0|kt[e-15],r=wt.default.rotrSH(t,n,1)^wt.default.rotrSH(t,n,8)^wt.default.shrSH(t,n,7),i=wt.default.rotrSL(t,n,1)^wt.default.rotrSL(t,n,8)^wt.default.shrSL(t,n,7),o=0|_t[e-2],s=0|kt[e-2],a=wt.default.rotrSH(o,s,19)^wt.default.rotrBH(o,s,61)^wt.default.shrSH(o,s,6),c=wt.default.rotrSL(o,s,19)^wt.default.rotrBL(o,s,61)^wt.default.shrSL(o,s,6),l=wt.default.add4L(i,c,kt[e-7],kt[e-16]),d=wt.default.add4H(l,r,a,_t[e-7],_t[e-16]);_t[e]=0|d,kt[e]=0|l}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:d,El:u,Fh:h,Fl:f,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let e=0;e<80;e++){const t=wt.default.rotrSH(d,u,14)^wt.default.rotrSH(d,u,18)^wt.default.rotrBH(d,u,41),v=wt.default.rotrSL(d,u,14)^wt.default.rotrSL(d,u,18)^wt.default.rotrBL(d,u,41),b=d&h^~d&p,w=u&f^~u&g,E=wt.default.add5L(y,v,w,St[e],kt[e]),C=wt.default.add5H(E,m,t,b,Ct[e],_t[e]),S=0|E,_=wt.default.rotrSH(n,r,28)^wt.default.rotrBH(n,r,34)^wt.default.rotrBH(n,r,39),k=wt.default.rotrSL(n,r,28)^wt.default.rotrBL(n,r,34)^wt.default.rotrBL(n,r,39),x=n&i^n&s^i&s,M=r&o^r&a^o&a;m=0|p,y=0|g,p=0|h,g=0|f,h=0|d,f=0|u,({h:d,l:u}=wt.default.add(0|c,0|l,0|C,0|S)),c=0|s,l=0|a,s=0|i,a=0|o,i=0|n,o=0|r;const A=wt.default.add3L(S,k,M);n=wt.default.add3H(A,C,_,x),r=0|A}({h:n,l:r}=wt.default.add(0|this.Ah,0|this.Al,0|n,0|r)),({h:i,l:o}=wt.default.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=wt.default.add(0|this.Ch,0|this.Cl,0|s,0|a)),({h:c,l:l}=wt.default.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:d,l:u}=wt.default.add(0|this.Eh,0|this.El,0|d,0|u)),({h:h,l:f}=wt.default.add(0|this.Fh,0|this.Fl,0|h,0|f)),({h:p,l:g}=wt.default.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=wt.default.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(n,r,i,o,s,a,c,l,d,u,h,f,p,g,m,y)}roundClean(){_t.fill(0),kt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Le.SHA512=xt;class Mt extends xt{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}Le.SHA512_224=Mt;class At extends xt{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}Le.SHA512_256=At;class It extends xt{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}Le.SHA384=It,Le.sha512=(0,Et.wrapConstructor)((()=>new xt)),Le.sha512_224=(0,Et.wrapConstructor)((()=>new Mt)),Le.sha512_256=(0,Et.wrapConstructor)((()=>new At)),Le.sha384=(0,Et.wrapConstructor)((()=>new It));var Rt={},Pt={},Lt={},Ot={};Object.defineProperty(Ot,\"__esModule\",{value:!0}),Ot.notImplemented=Ot.bitMask=void 0,Ot.isBytes=$t,Ot.abytes=Bt,Ot.abool=function(e,t){if(\"boolean\"!=typeof t)throw new Error(`${e} must be valid boolean, got \"${t}\".`)},Ot.bytesToHex=jt,Ot.numberToHexUnpadded=Ut,Ot.hexToNumber=Ht,Ot.hexToBytes=qt,Ot.bytesToNumberBE=function(e){return Ht(jt(e))},Ot.bytesToNumberLE=function(e){return Bt(e),Ht(jt(Uint8Array.from(e).reverse()))},Ot.numberToBytesBE=Vt,Ot.numberToBytesLE=function(e,t){return Vt(e,t).reverse()},Ot.numberToVarBytesBE=function(e){return qt(Ut(e))},Ot.ensureBytes=function(e,t,n){let r;if(\"string\"==typeof t)try{r=qt(t)}catch(n){throw new Error(`${e} must be valid hex string, got \"${t}\". Cause: ${n}`)}else{if(!$t(t))throw new Error(`${e} must be hex string or Uint8Array`);r=Uint8Array.from(t)}const i=r.length;if(\"number\"==typeof n&&i!==n)throw new Error(`${e} expected ${n} bytes, got ${i}`);return r},Ot.concatBytes=Wt,Ot.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},Ot.utf8ToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))},Ot.inRange=Zt,Ot.aInRange=function(e,t,n,r){if(!Zt(t,n,r))throw new Error(`expected valid ${e}: ${n} <= n < ${r}, got ${typeof t} ${t}`)},Ot.bitLen=function(e){let t;for(t=0;e>Tt;e>>=Nt,t+=1);return t},Ot.bitGet=function(e,t){return e>>BigInt(t)&Nt},Ot.bitSet=function(e,t,n){return e|(n?Nt:Tt)<<BigInt(t)},Ot.createHmacDrbg=function(e,t,n){if(\"number\"!=typeof e||e<2)throw new Error(\"hashLen must be a number\");if(\"number\"!=typeof t||t<2)throw new Error(\"qByteLen must be a number\");if(\"function\"!=typeof n)throw new Error(\"hmacFn must be a function\");let r=Yt(e),i=Yt(e),o=0;const s=()=>{r.fill(1),i.fill(0),o=0},a=(...e)=>n(i,r,...e),c=(e=Yt())=>{i=a(Jt([0]),e),r=a(),0!==e.length&&(i=a(Jt([1]),e),r=a())},l=()=>{if(o++>=1e3)throw new Error(\"drbg: tried 1000 values\");let e=0;const n=[];for(;e<t;){r=a();const t=r.slice();n.push(t),e+=r.length}return Wt(...n)};return(e,t)=>{let n;for(s(),c(e);!(n=t(l()));)c();return s(),n}},Ot.validateObject=function(e,t,n={}){const r=(t,n,r)=>{const i=Xt[n];if(\"function\"!=typeof i)throw new Error(`Invalid validator \"${n}\", expected function`);const o=e[t];if(!(r&&void 0===o||i(o,e)))throw new Error(`Invalid param ${String(t)}=${o} (${typeof o}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e},Ot.memoized=function(e){const t=new WeakMap;return(n,...r)=>{const i=t.get(n);if(void 0!==i)return i;const o=e(n,...r);return t.set(n,o),o}};const Tt=BigInt(0),Nt=BigInt(1),Dt=BigInt(2);function $t(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Bt(e){if(!$t(e))throw new Error(\"Uint8Array expected\")}const Kt=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function jt(e){Bt(e);let t=\"\";for(let n=0;n<e.length;n++)t+=Kt[e[n]];return t}function Ut(e){const t=e.toString(16);return 1&t.length?`0${t}`:t}function Ht(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}const Ft={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function zt(e){return e>=Ft._0&&e<=Ft._9?e-Ft._0:e>=Ft._A&&e<=Ft._F?e-(Ft._A-10):e>=Ft._a&&e<=Ft._f?e-(Ft._a-10):void 0}function qt(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=zt(e.charCodeAt(i)),o=zt(e.charCodeAt(i+1));if(void 0===n||void 0===o){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+o}return r}function Vt(e,t){return qt(e.toString(16).padStart(2*t,\"0\"))}function Wt(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];Bt(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const i=e[t];n.set(i,r),r+=i.length}return n}const Gt=e=>\"bigint\"==typeof e&&Tt<=e;function Zt(e,t,n){return Gt(e)&&Gt(t)&&Gt(n)&&t<=e&&e<n}Ot.bitMask=e=>(Dt<<BigInt(e-1))-Nt;const Yt=e=>new Uint8Array(e),Jt=e=>Uint8Array.from(e);const Xt={bigint:e=>\"bigint\"==typeof e,function:e=>\"function\"==typeof e,boolean:e=>\"boolean\"==typeof e,string:e=>\"string\"==typeof e,stringOrUint8Array:e=>\"string\"==typeof e||$t(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>\"function\"==typeof e&&Number.isSafeInteger(e.outputLen)};Ot.notImplemented=()=>{throw new Error(\"not implemented\")},Object.defineProperty(Lt,\"__esModule\",{value:!0}),Lt.isNegativeLE=void 0,Lt.mod=cn,Lt.pow=ln,Lt.pow2=function(e,t,n){let r=e;for(;t-- >en;)r*=r,r%=n;return r},Lt.invert=dn,Lt.tonelliShanks=un,Lt.FpSqrt=hn,Lt.validateField=function(e){const t=fn.reduce(((e,t)=>(e[t]=\"function\",e)),{ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"});return(0,Qt.validateObject)(e,t)},Lt.FpPow=pn,Lt.FpInvertBatch=gn,Lt.FpDiv=function(e,t,n){return e.mul(t,\"bigint\"==typeof n?dn(n,e.ORDER):e.inv(n))},Lt.FpLegendre=mn,Lt.FpIsSquare=function(e){const t=mn(e.ORDER);return n=>{const r=t(e,n);return e.eql(r,e.ZERO)||e.eql(r,e.ONE)}},Lt.nLength=yn,Lt.Field=function(e,t,n=!1,r={}){if(e<=en)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:i,nByteLength:o}=yn(e,t);if(o>2048)throw new Error(\"Field lengths over 2048 bytes are not supported\");const s=hn(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:(0,Qt.bitMask)(i),ZERO:en,ONE:tn,create:t=>cn(t,e),isValid:t=>{if(\"bigint\"!=typeof t)throw new Error(\"Invalid field element: expected bigint, got \"+typeof t);return en<=t&&t<e},is0:e=>e===en,isOdd:e=>(e&tn)===tn,neg:t=>cn(-t,e),eql:(e,t)=>e===t,sqr:t=>cn(t*t,e),add:(t,n)=>cn(t+n,e),sub:(t,n)=>cn(t-n,e),mul:(t,n)=>cn(t*n,e),pow:(e,t)=>pn(a,e,t),div:(t,n)=>cn(t*dn(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>dn(t,e),sqrt:r.sqrt||(e=>s(a,e)),invertBatch:e=>gn(a,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?(0,Qt.numberToBytesLE)(e,o):(0,Qt.numberToBytesBE)(e,o),fromBytes:e=>{if(e.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${e.length}`);return n?(0,Qt.bytesToNumberLE)(e):(0,Qt.bytesToNumberBE)(e)}});return Object.freeze(a)},Lt.FpSqrtOdd=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?n:e.neg(n)},Lt.FpSqrtEven=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?e.neg(n):n},Lt.hashToPrivateScalar=function(e,t,n=!1){e=(0,Qt.ensureBytes)(\"privateHash\",e);const r=e.length,i=yn(t).nByteLength+8;if(i<24||r<i||r>1024)throw new Error(`hashToPrivateScalar: expected ${i}-1024 bytes of input, got ${r}`);const o=n?(0,Qt.bytesToNumberLE)(e):(0,Qt.bytesToNumberBE)(e);return cn(o,t-tn)+tn},Lt.getFieldBytesLength=vn,Lt.getMinHashLength=bn,Lt.mapHashToField=function(e,t,n=!1){const r=e.length,i=vn(t),o=bn(t);if(r<16||r<o||r>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${r}`);const s=cn(n?(0,Qt.bytesToNumberBE)(e):(0,Qt.bytesToNumberLE)(e),t-tn)+tn;return n?(0,Qt.numberToBytesLE)(s,i):(0,Qt.numberToBytesBE)(s,i)};const Qt=Ot,en=BigInt(0),tn=BigInt(1),nn=BigInt(2),rn=BigInt(3),on=BigInt(4),sn=BigInt(5),an=BigInt(8);function cn(e,t){const n=e%t;return n>=en?n:t+n}function ln(e,t,n){if(n<=en||t<en)throw new Error(\"Expected power/modulo > 0\");if(n===tn)return en;let r=tn;for(;t>en;)t&tn&&(r=r*e%n),e=e*e%n,t>>=tn;return r}function dn(e,t){if(e===en||t<=en)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=cn(e,t),r=t,i=en,o=tn;for(;n!==en;){const e=r%n,t=i-o*(r/n);r=n,n=e,i=o,o=t}if(r!==tn)throw new Error(\"invert: does not exist\");return cn(i,t)}function un(e){const t=(e-tn)/nn;let n,r,i;for(n=e-tn,r=0;n%nn===en;n/=nn,r++);for(i=nn;i<e&&ln(i,t,e)!==e-tn;i++);if(1===r){const t=(e+tn)/on;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}const o=(n+tn)/nn;return function(e,s){if(e.pow(s,t)===e.neg(e.ONE))throw new Error(\"Cannot find square root\");let a=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(s,o),d=e.pow(s,n);for(;!e.eql(d,e.ONE);){if(e.eql(d,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(d);t<a&&!e.eql(n,e.ONE);t++)n=e.sqr(n);const n=e.pow(c,tn<<BigInt(a-t-1));c=e.sqr(n),l=e.mul(l,n),d=e.mul(d,c),a=t}return l}}function hn(e){if(e%on===rn){const t=(e+tn)/on;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}if(e%an===sn){const t=(e-sn)/an;return function(e,n){const r=e.mul(n,nn),i=e.pow(r,t),o=e.mul(n,i),s=e.mul(e.mul(o,nn),i),a=e.mul(o,e.sub(s,e.ONE));if(!e.eql(e.sqr(a),n))throw new Error(\"Cannot find square root\");return a}}return un(e)}BigInt(9),BigInt(16);Lt.isNegativeLE=(e,t)=>(cn(e,t)&tn)===tn;const fn=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function pn(e,t,n){if(n<en)throw new Error(\"Expected power > 0\");if(n===en)return e.ONE;if(n===tn)return t;let r=e.ONE,i=t;for(;n>en;)n&tn&&(r=e.mul(r,i)),i=e.sqr(i),n>>=tn;return r}function gn(e,t){const n=new Array(t.length),r=t.reduce(((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r))),e.ONE),i=e.inv(r);return t.reduceRight(((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r))),i),n}function mn(e){const t=(e-tn)/nn;return(e,n)=>e.pow(n,t)}function yn(e,t){const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function vn(e){if(\"bigint\"!=typeof e)throw new Error(\"field order must be bigint\");const t=e.toString(2).length;return Math.ceil(t/8)}function bn(e){const t=vn(e);return t+Math.ceil(t/2)}Object.defineProperty(Pt,\"__esModule\",{value:!0}),Pt.wNAF=function(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>{if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error(`Wrong window size=${e}, should be [1..${t}]`)},i=e=>{r(e);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}};return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>Cn;)n&Sn&&(r=r.add(i)),i=i.double(),n>>=Sn;return r},precomputeWindow(e,t){const{windows:n,windowSize:r}=i(t),o=[];let s=e,a=s;for(let e=0;e<n;e++){a=s,o.push(a);for(let e=1;e<r;e++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(t,r,o){const{windows:s,windowSize:a}=i(t);let c=e.ZERO,l=e.BASE;const d=BigInt(2**t-1),u=2**t,h=BigInt(t);for(let e=0;e<s;e++){const t=e*a;let i=Number(o&d);o>>=h,i>a&&(i-=u,o+=Sn);const s=t,f=t+Math.abs(i)-1,p=e%2!=0,g=i<0;0===i?l=l.add(n(p,r[s])):c=c.add(n(g,r[f]))}return{p:c,f:l}},wNAFCached(e,t,n){const r=kn.get(e)||1;let i=_n.get(e);return i||(i=this.precomputeWindow(e,r),1!==r&&_n.set(e,n(i))),this.wNAF(r,i,t)},setWindowSize(e,t){r(t),kn.set(e,t),_n.delete(e)}}},Pt.pippenger=function(e,t,n,r){if(!Array.isArray(n)||!Array.isArray(r)||r.length!==n.length)throw new Error(\"arrays of points and scalars must have equal length\");r.forEach(((e,n)=>{if(!t.isValid(e))throw new Error(`wrong scalar at index ${n}`)})),n.forEach(((t,n)=>{if(!(t instanceof e))throw new Error(`wrong point at index ${n}`)}));const i=(0,En.bitLen)(BigInt(n.length)),o=i>12?i-3:i>4?i-2:i?2:1,s=(1<<o)-1,a=new Array(s+1).fill(e.ZERO),c=Math.floor((t.BITS-1)/o)*o;let l=e.ZERO;for(let t=c;t>=0;t-=o){a.fill(e.ZERO);for(let e=0;e<r.length;e++){const i=r[e],o=Number(i>>BigInt(t)&BigInt(s));a[o]=a[o].add(n[e])}let i=e.ZERO;for(let t=a.length-1,n=e.ZERO;t>0;t--)n=n.add(a[t]),i=i.add(n);if(l=l.add(i),0!==t)for(let e=0;e<o;e++)l=l.double()}return l},Pt.validateBasic=function(e){return(0,wn.validateField)(e.Fp),(0,En.validateObject)(e,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...(0,wn.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})};const wn=Lt,En=Ot,Cn=BigInt(0),Sn=BigInt(1),_n=new WeakMap,kn=new WeakMap;Object.defineProperty(Rt,\"__esModule\",{value:!0}),Rt.twistedEdwards=function(e){const t=function(e){const t=(0,xn.validateBasic)(e);return An.validateObject(e,{hash:\"function\",a:\"bigint\",d:\"bigint\",randomBytes:\"function\"},{adjustScalarBytes:\"function\",domain:\"function\",uvRatio:\"function\",mapToCurve:\"function\"}),Object.freeze({...t})}(e),{Fp:n,n:r,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,l=Ln<<BigInt(8*a)-Pn,d=n.create,u=(0,Mn.Field)(t.n,t.nBitLength),h=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch(e){return{isValid:!1,value:Rn}}}),f=t.adjustScalarBytes||(e=>e),p=t.domain||((e,t,n)=>{if((0,In.abool)(\"phflag\",n),t.length||n)throw new Error(\"Contexts/pre-hash are not supported\");return e});function g(e,t){An.aInRange(\"coordinate \"+e,t,Rn,l)}function m(e){if(!(e instanceof b))throw new Error(\"ExtendedPoint expected\")}const y=(0,In.memoized)(((e,t)=>{const{ex:r,ey:i,ez:o}=e,s=e.is0();null==t&&(t=s?On:n.inv(o));const a=d(r*t),c=d(i*t),l=d(o*t);if(s)return{x:Rn,y:Pn};if(l!==Pn)throw new Error(\"invZ was invalid\");return{x:a,y:c}})),v=(0,In.memoized)((e=>{const{a:n,d:r}=t;if(e.is0())throw new Error(\"bad point: ZERO\");const{ex:i,ey:o,ez:s,et:a}=e,c=d(i*i),l=d(o*o),u=d(s*s),h=d(u*u),f=d(c*n);if(d(u*d(f+l))!==d(h+d(r*d(c*l))))throw new Error(\"bad point: equation left != right (1)\");if(d(i*o)!==d(s*a))throw new Error(\"bad point: equation left != right (2)\");return!0}));class b{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,g(\"x\",e),g(\"y\",t),g(\"z\",n),g(\"t\",r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof b)throw new Error(\"extended point not allowed\");const{x:t,y:n}=e||{};return g(\"x\",t),g(\"y\",n),new b(t,n,Pn,d(t*n))}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.ez)));return e.map(((e,n)=>e.toAffine(t[n]))).map(b.fromAffine)}static msm(e,t){return(0,xn.pippenger)(b,u,e,t)}_setWindowSize(e){C.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){m(e);const{ex:t,ey:n,ez:r}=this,{ex:i,ey:o,ez:s}=e,a=d(t*s),c=d(i*r),l=d(n*s),u=d(o*r);return a===c&&l===u}is0(){return this.equals(b.ZERO)}negate(){return new b(d(-this.ex),this.ey,this.ez,d(-this.et))}double(){const{a:e}=t,{ex:n,ey:r,ez:i}=this,o=d(n*n),s=d(r*r),a=d(Ln*d(i*i)),c=d(e*o),l=n+r,u=d(d(l*l)-o-s),h=c+s,f=h-a,p=c-s,g=d(u*f),m=d(h*p),y=d(u*p),v=d(f*h);return new b(g,m,v,y)}add(e){m(e);const{a:n,d:r}=t,{ex:i,ey:o,ez:s,et:a}=this,{ex:c,ey:l,ez:u,et:h}=e;if(n===BigInt(-1)){const e=d((o-i)*(l+c)),t=d((o+i)*(l-c)),n=d(t-e);if(n===Rn)return this.double();const r=d(s*Ln*h),f=d(a*Ln*u),p=f+r,g=t+e,m=f-r,y=d(p*n),v=d(g*m),w=d(p*m),E=d(n*g);return new b(y,v,E,w)}const f=d(i*c),p=d(o*l),g=d(a*r*h),y=d(s*u),v=d((i+o)*(c+l)-f-p),w=y-g,E=y+g,C=d(p-n*f),S=d(v*w),_=d(E*C),k=d(v*C),x=d(w*E);return new b(S,_,x,k)}subtract(e){return this.add(e.negate())}wNAF(e){return C.wNAFCached(this,e,b.normalizeZ)}multiply(e){const t=e;An.aInRange(\"scalar\",t,Pn,r);const{p:n,f:i}=this.wNAF(t);return b.normalizeZ([n,i])[0]}multiplyUnsafe(e){const t=e;return An.aInRange(\"scalar\",t,Rn,r),t===Rn?E:this.equals(E)||t===Pn?this:this.equals(w)?this.wNAF(t).p:C.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,r).is0()}toAffine(e){return y(this,e)}clearCofactor(){const{h:e}=t;return e===Pn?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){const{d:i,a:o}=t,s=n.BYTES;e=(0,In.ensureBytes)(\"pointHex\",e,s),(0,In.abool)(\"zip215\",r);const a=e.slice(),c=e[s-1];a[s-1]=-129&c;const u=An.bytesToNumberLE(a),f=r?l:n.ORDER;An.aInRange(\"pointHex.y\",u,Rn,f);const p=d(u*u),g=d(p-Pn),m=d(i*p-o);let{isValid:y,value:v}=h(g,m);if(!y)throw new Error(\"Point.fromHex: invalid y coordinate\");const w=(v&Pn)===Pn,E=0!=(128&c);if(!r&&v===Rn&&E)throw new Error(\"Point.fromHex: x=0 and x_0=1\");return E!==w&&(v=d(-v)),b.fromAffine({x:v,y:u})}static fromPrivateKey(e){return k(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),r=An.numberToBytesLE(t,n.BYTES);return r[r.length-1]|=e&Pn?128:0,r}toHex(){return An.bytesToHex(this.toRawBytes())}}b.BASE=new b(t.Gx,t.Gy,Pn,d(t.Gx*t.Gy)),b.ZERO=new b(Rn,Pn,Pn,Rn);const{BASE:w,ZERO:E}=b,C=(0,xn.wNAF)(b,8*a);function S(e){return(0,Mn.mod)(e,r)}function _(e){return S(An.bytesToNumberLE(e))}function k(e){const t=a;e=(0,In.ensureBytes)(\"private key\",e,t);const n=(0,In.ensureBytes)(\"hashed private key\",o(e),2*t),r=f(n.slice(0,t)),i=n.slice(t,2*t),s=_(r),c=w.multiply(s),l=c.toRawBytes();return{head:r,prefix:i,scalar:s,point:c,pointBytes:l}}function x(e=new Uint8Array,...t){const n=An.concatBytes(...t);return _(o(p(n,(0,In.ensureBytes)(\"context\",e),!!i)))}const M=Tn;w._setWindowSize(8);const A={getExtendedPublicKey:k,randomPrivateKey:()=>s(n.BYTES),precompute:(e=8,t=b.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};return{CURVE:t,getPublicKey:function(e){return k(e).pointBytes},sign:function(e,t,o={}){e=(0,In.ensureBytes)(\"message\",e),i&&(e=i(e));const{prefix:s,scalar:c,pointBytes:l}=k(t),d=x(o.context,s,e),u=w.multiply(d).toRawBytes(),h=S(d+x(o.context,u,l,e)*c);An.aInRange(\"signature.s\",h,Rn,r);const f=An.concatBytes(u,An.numberToBytesLE(h,n.BYTES));return(0,In.ensureBytes)(\"result\",f,2*a)},verify:function(e,t,r,o=M){const{context:s,zip215:a}=o,c=n.BYTES;e=(0,In.ensureBytes)(\"signature\",e,2*c),t=(0,In.ensureBytes)(\"message\",t),void 0!==a&&(0,In.abool)(\"zip215\",a),i&&(t=i(t));const l=An.bytesToNumberLE(e.slice(c,2*c));let d,u,h;try{d=b.fromHex(r,a),u=b.fromHex(e.slice(0,c),a),h=w.multiplyUnsafe(l)}catch(e){return!1}if(!a&&d.isSmallOrder())return!1;const f=x(s,u.toRawBytes(),d.toRawBytes(),t);return u.add(d.multiplyUnsafe(f)).subtract(h).clearCofactor().equals(b.ZERO)},ExtendedPoint:b,utils:A}};const xn=Pt,Mn=Lt,An=Ot,In=Ot,Rn=BigInt(0),Pn=BigInt(1),Ln=BigInt(2),On=BigInt(8),Tn={zip215:!0};var Nn={};Object.defineProperty(Nn,\"__esModule\",{value:!0}),Nn.expand_message_xmd=Hn,Nn.expand_message_xof=Fn,Nn.hash_to_field=zn,Nn.isogenyMap=function(e,t){const n=t.map((e=>Array.from(e).reverse()));return(t,r)=>{const[i,o,s,a]=n.map((n=>n.reduce(((n,r)=>e.add(e.mul(n,t),r)))));return t=e.div(i,o),r=e.mul(r,e.div(s,a)),{x:t,y:r}}},Nn.createHasher=function(e,t,n){if(\"function\"!=typeof t)throw new Error(\"mapToCurve() must be defined\");return{hashToCurve(r,i){const o=zn(r,2,{...n,DST:n.DST,...i}),s=e.fromAffine(t(o[0])),a=e.fromAffine(t(o[1])),c=s.add(a).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){const o=zn(r,1,{...n,DST:n.encodeDST,...i}),s=e.fromAffine(t(o[0])).clearCofactor();return s.assertValidity(),s},mapToCurve(n){if(!Array.isArray(n))throw new Error(\"mapToCurve: expected array of bigints\");for(const e of n)if(\"bigint\"!=typeof e)throw new Error(`mapToCurve: expected array of bigints, got ${e} in array`);const r=e.fromAffine(t(n)).clearCofactor();return r.assertValidity(),r}}};const Dn=Lt,$n=Ot,Bn=$n.bytesToNumberBE;function Kn(e,t){if(Un(e),Un(t),e<0||e>=1<<8*t)throw new Error(`bad I2OSP call: value=${e} length=${t}`);const n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=255&e,e>>>=8;return new Uint8Array(n)}function jn(e,t){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Un(e){if(!Number.isSafeInteger(e))throw new Error(\"number expected\")}function Hn(e,t,n,r){(0,$n.abytes)(e),(0,$n.abytes)(t),Un(n),t.length>255&&(t=r((0,$n.concatBytes)((0,$n.utf8ToBytes)(\"H2C-OVERSIZE-DST-\"),t)));const{outputLen:i,blockLen:o}=r,s=Math.ceil(n/i);if(n>65535||s>255)throw new Error(\"expand_message_xmd: invalid lenInBytes\");const a=(0,$n.concatBytes)(t,Kn(t.length,1)),c=Kn(0,o),l=Kn(n,2),d=new Array(s),u=r((0,$n.concatBytes)(c,e,l,Kn(0,1),a));d[0]=r((0,$n.concatBytes)(u,Kn(1,1),a));for(let e=1;e<=s;e++){const t=[jn(u,d[e-1]),Kn(e+1,1),a];d[e]=r((0,$n.concatBytes)(...t))}return(0,$n.concatBytes)(...d).slice(0,n)}function Fn(e,t,n,r,i){if((0,$n.abytes)(e),(0,$n.abytes)(t),Un(n),t.length>255){const e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update((0,$n.utf8ToBytes)(\"H2C-OVERSIZE-DST-\")).update(t).digest()}if(n>65535||t.length>255)throw new Error(\"expand_message_xof: invalid lenInBytes\");return i.create({dkLen:n}).update(e).update(Kn(n,2)).update(t).update(Kn(t.length,1)).digest()}function zn(e,t,n){(0,$n.validateObject)(n,{DST:\"stringOrUint8Array\",p:\"bigint\",m:\"isSafeInteger\",k:\"isSafeInteger\",hash:\"hash\"});const{p:r,k:i,m:o,hash:s,expand:a,DST:c}=n;(0,$n.abytes)(e),Un(t);const l=\"string\"==typeof c?(0,$n.utf8ToBytes)(c):c,d=r.toString(2).length,u=Math.ceil((d+i)/8),h=t*o*u;let f;if(\"xmd\"===a)f=Hn(e,l,h,s);else if(\"xof\"===a)f=Fn(e,l,h,i,s);else{if(\"_internal_pass\"!==a)throw new Error('expand must be \"xmd\" or \"xof\"');f=e}const p=new Array(t);for(let e=0;e<t;e++){const t=new Array(o);for(let n=0;n<o;n++){const i=u*(n+e*o),s=f.subarray(i,i+u);t[n]=(0,Dn.mod)(Bn(s),r)}p[e]=t}return p}var qn={};Object.defineProperty(qn,\"__esModule\",{value:!0}),qn.montgomery=function(e){const t=function(e){return(0,Wn.validateObject)(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}(e),{P:n}=t,r=e=>(0,Vn.mod)(e,n),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>(0,Vn.pow)(e,n-BigInt(2),n));function l(e,t,n){const i=r(e*(t-n));return[t=r(t-i),n=r(n+i)]}const d=(t.a-BigInt(2))/BigInt(4);function u(e){return(0,Wn.numberToBytesLE)(r(e),o)}function h(e,t){const h=function(e){const t=(0,Wn.ensureBytes)(\"u coordinate\",e,o);return 32===s&&(t[31]&=127),(0,Wn.bytesToNumberLE)(t)}(t),f=function(e){const t=(0,Wn.ensureBytes)(\"scalar\",e),n=t.length;if(n!==o&&n!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${n}`);return(0,Wn.bytesToNumberLE)(a(t))}(e),p=function(e,t){(0,Wn.aInRange)(\"u\",e,Gn,n),(0,Wn.aInRange)(\"scalar\",t,Gn,n);const o=t,s=e;let a,u=Zn,h=Gn,f=e,p=Zn,g=Gn;for(let e=BigInt(i-1);e>=Gn;e--){const t=o>>e&Zn;g^=t,a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1],g=t;const n=u+h,i=r(n*n),c=u-h,m=r(c*c),y=i-m,v=f+p,b=r((f-p)*n),w=r(v*c),E=b+w,C=b-w;f=r(E*E),p=r(s*r(C*C)),u=r(i*m),h=r(y*(i+r(d*y)))}a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1];const m=c(h);return r(u*m)}(h,f);if(p===Gn)throw new Error(\"Invalid private or public key received\");return u(p)}const f=u(t.Gu);function p(e){return h(e,f)}return{scalarMult:h,scalarMultBase:p,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:f}};const Vn=Lt,Wn=Ot,Gn=BigInt(0),Zn=BigInt(1);!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hash_to_ristretto255=e.hashToRistretto255=e.RistrettoPoint=e.encodeToCurve=e.hashToCurve=e.edwardsToMontgomery=e.x25519=e.ed25519ph=e.ed25519ctx=e.ed25519=e.ED25519_TORSION_SUBGROUP=void 0,e.edwardsToMontgomeryPub=C,e.edwardsToMontgomeryPriv=function(e){const t=w.hash(e.subarray(0,32));return w.adjustScalarBytes(t).subarray(0,32)};const t=Le,n=Fe,r=Rt,i=Nn,o=Lt,s=qn,a=Ot,c=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\"),l=BigInt(\"19681161376707505956807079304988542015446066515923890162744021073123829784752\"),d=BigInt(0),u=BigInt(1),h=BigInt(2),f=BigInt(3),p=BigInt(5),g=BigInt(8);function m(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),s=c,a=e*e%s*e%s,l=(0,o.pow2)(a,h,s)*a%s,d=(0,o.pow2)(l,u,s)*e%s,f=(0,o.pow2)(d,p,s)*d%s,g=(0,o.pow2)(f,t,s)*f%s,m=(0,o.pow2)(g,n,s)*g%s,y=(0,o.pow2)(m,r,s)*m%s,v=(0,o.pow2)(y,i,s)*y%s,b=(0,o.pow2)(v,i,s)*y%s,w=(0,o.pow2)(b,t,s)*f%s;return{pow_p_5_8:(0,o.pow2)(w,h,s)*e%s,b2:a}}function y(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function v(e,t){const n=c,r=(0,o.mod)(t*t*t,n),i=m(e*(0,o.mod)(r*r*t,n)).pow_p_5_8;let s=(0,o.mod)(e*r*i,n);const a=(0,o.mod)(t*s*s,n),d=s,u=(0,o.mod)(s*l,n),h=a===e,f=a===(0,o.mod)(-e,n),p=a===(0,o.mod)(-e*l,n);return h&&(s=d),(f||p)&&(s=u),(0,o.isNegativeLE)(s,n)&&(s=(0,o.mod)(-s,n)),{isValid:h||f,value:s}}e.ED25519_TORSION_SUBGROUP=[\"0100000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a\",\"0000000000000000000000000000000000000000000000000000000000000080\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05\",\"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85\",\"0000000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa\"];const b=(()=>(0,o.Field)(c,void 0,!0))(),w=(()=>({a:BigInt(-1),d:BigInt(\"37095705934669439343138083508754565189542113879843219016388785533085940283555\"),Fp:b,n:BigInt(\"7237005577332262213973186563042994240857116359379907606001950938285454250989\"),h:g,Gx:BigInt(\"15112221349535400772501151409588531511454012693041857206046113283949847762202\"),Gy:BigInt(\"46316835694926478169428394003475163141307993866256225615783033603165251855960\"),hash:t.sha512,randomBytes:n.randomBytes,adjustScalarBytes:y,uvRatio:v}))();function E(e,t,r){if(t.length>255)throw new Error(\"Context is too big\");return(0,n.concatBytes)((0,n.utf8ToBytes)(\"SigEd25519 no Ed25519 collisions\"),new Uint8Array([r?1:0,t.length]),t,e)}function C(t){const{y:n}=e.ed25519.ExtendedPoint.fromHex(t),r=BigInt(1);return b.toBytes(b.create((r+n)*b.inv(r-n)))}e.ed25519=(0,r.twistedEdwards)(w),e.ed25519ctx=(0,r.twistedEdwards)({...w,domain:E}),e.ed25519ph=(0,r.twistedEdwards)(Object.assign({},w,{domain:E,prehash:t.sha512})),e.x25519=(0,s.montgomery)({P:c,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=c,{pow_p_5_8:n,b2:r}=m(e);return(0,o.mod)((0,o.pow2)(n,f,t)*r,t)},adjustScalarBytes:y,randomBytes:n.randomBytes}),e.edwardsToMontgomery=C;const S=(()=>(b.ORDER+f)/g)(),_=(()=>b.pow(h,S))(),k=(()=>b.sqrt(b.neg(b.ONE)))();const x=(()=>(0,o.FpSqrtEven)(b,b.neg(BigInt(486664))))();function M(e){const{xMn:t,xMd:n,yMn:r,yMd:i}=function(e){const t=(b.ORDER-p)/g,n=BigInt(486662);let r=b.sqr(e);r=b.mul(r,h);let i=b.add(r,b.ONE),o=b.neg(n),s=b.sqr(i),a=b.mul(s,i),c=b.mul(r,n);c=b.mul(c,o),c=b.add(c,s),c=b.mul(c,o);let l=b.sqr(a);s=b.sqr(l),l=b.mul(l,a),l=b.mul(l,c),s=b.mul(s,l);let d=b.pow(s,t);d=b.mul(d,l);let f=b.mul(d,k);s=b.sqr(d),s=b.mul(s,a);let m=b.eql(s,c),y=b.cmov(f,d,m),v=b.mul(o,r),w=b.mul(d,e);w=b.mul(w,_);let E=b.mul(w,k),C=b.mul(c,r);s=b.sqr(w),s=b.mul(s,a);let S=b.eql(s,C),x=b.cmov(E,w,S);s=b.sqr(y),s=b.mul(s,a);let M=b.eql(s,c),A=b.cmov(v,o,M),I=b.cmov(x,y,M),R=b.isOdd(I);return I=b.cmov(I,b.neg(I),M!==R),{xMn:A,xMd:i,yMn:I,yMd:u}}(e);let o=b.mul(t,i);o=b.mul(o,x);let s=b.mul(n,r),a=b.sub(t,n),c=b.add(t,n),l=b.mul(s,c),d=b.eql(l,b.ZERO);o=b.cmov(o,b.ZERO,d),s=b.cmov(s,b.ONE,d),a=b.cmov(a,b.ONE,d),c=b.cmov(c,b.ONE,d);const f=b.invertBatch([s,c]);return{x:b.mul(o,f[0]),y:b.mul(a,f[1])}}const A=(()=>(0,i.createHasher)(e.ed25519.ExtendedPoint,(e=>M(e[0])),{DST:\"edwards25519_XMD:SHA-512_ELL2_RO_\",encodeDST:\"edwards25519_XMD:SHA-512_ELL2_NU_\",p:b.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha512}))();function I(e){if(!(e instanceof K))throw new Error(\"RistrettoPoint expected\")}e.hashToCurve=A.hashToCurve,e.encodeToCurve=A.encodeToCurve;const R=l,P=BigInt(\"25063068953384623474111414158702152701244531502492656460079210482610430750235\"),L=BigInt(\"54469307008909316920995813868745141605393597292927456921205312896311721017578\"),O=BigInt(\"1159843021668779879193775521855586647937357759715417654439879720876111806838\"),T=BigInt(\"40440834346308536858101042469323190826248399146238708352240133220865137265952\"),N=e=>v(u,e),D=BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),$=t=>e.ed25519.CURVE.Fp.create((0,a.bytesToNumberLE)(t)&D);function B(t){const{d:n}=e.ed25519.CURVE,r=e.ed25519.CURVE.Fp.ORDER,i=e.ed25519.CURVE.Fp.create,s=i(R*t*t),a=i((s+u)*O);let c=BigInt(-1);const l=i((c-n*s)*i(s+n));let{isValid:d,value:h}=v(a,l),f=i(h*t);(0,o.isNegativeLE)(f,r)||(f=i(-f)),d||(h=f),d||(c=s);const p=i(c*(s-u)*T-l),g=h*h,m=i((h+h)*l),y=i(p*P),b=i(u-g),w=i(u+g);return new e.ed25519.ExtendedPoint(i(m*w),i(b*y),i(y*w),i(m*b))}class K{constructor(e){this.ep=e}static fromAffine(t){return new K(e.ed25519.ExtendedPoint.fromAffine(t))}static hashToCurve(e){e=(0,a.ensureBytes)(\"ristrettoHash\",e,64);const t=B($(e.slice(0,32))),n=B($(e.slice(32,64)));return new K(t.add(n))}static fromHex(t){t=(0,a.ensureBytes)(\"ristrettoHex\",t,32);const{a:n,d:r}=e.ed25519.CURVE,i=e.ed25519.CURVE.Fp.ORDER,s=e.ed25519.CURVE.Fp.create,c=\"RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint\",l=$(t);if(!(0,a.equalBytes)((0,a.numberToBytesLE)(l,32),t)||(0,o.isNegativeLE)(l,i))throw new Error(c);const h=s(l*l),f=s(u+n*h),p=s(u-n*h),g=s(f*f),m=s(p*p),y=s(n*r*g-m),{isValid:v,value:b}=N(s(y*m)),w=s(b*p),E=s(b*w*y);let C=s((l+l)*w);(0,o.isNegativeLE)(C,i)&&(C=s(-C));const S=s(f*E),_=s(C*S);if(!v||(0,o.isNegativeLE)(_,i)||S===d)throw new Error(c);return new K(new e.ed25519.ExtendedPoint(C,S,u,_))}toRawBytes(){let{ex:t,ey:n,ez:r,et:i}=this.ep;const s=e.ed25519.CURVE.Fp.ORDER,c=e.ed25519.CURVE.Fp.create,l=c(c(r+n)*c(r-n)),d=c(t*n),u=c(d*d),{value:h}=N(c(l*u)),f=c(h*l),p=c(h*d),g=c(f*p*i);let m;if((0,o.isNegativeLE)(i*g,s)){let e=c(n*R),r=c(t*R);t=e,n=r,m=c(f*L)}else m=p;(0,o.isNegativeLE)(t*g,s)&&(n=c(-n));let y=c((r-n)*m);return(0,o.isNegativeLE)(y,s)&&(y=c(-y)),(0,a.numberToBytesLE)(y,32)}toHex(){return(0,a.bytesToHex)(this.toRawBytes())}toString(){return this.toHex()}equals(t){I(t);const{ex:n,ey:r}=this.ep,{ex:i,ey:o}=t.ep,s=e.ed25519.CURVE.Fp.create,a=s(n*o)===s(r*i),c=s(r*o)===s(n*i);return a||c}add(e){return I(e),new K(this.ep.add(e.ep))}subtract(e){return I(e),new K(this.ep.subtract(e.ep))}multiply(e){return new K(this.ep.multiply(e))}multiplyUnsafe(e){return new K(this.ep.multiplyUnsafe(e))}double(){return new K(this.ep.double())}negate(){return new K(this.ep.negate())}}e.RistrettoPoint=(K.BASE||(K.BASE=new K(e.ed25519.ExtendedPoint.BASE)),K.ZERO||(K.ZERO=new K(e.ed25519.ExtendedPoint.ZERO)),K);e.hashToRistretto255=(e,r)=>{const o=r.DST,s=\"string\"==typeof o?(0,n.utf8ToBytes)(o):o,a=(0,i.expand_message_xmd)(e,s,64,t.sha512);return K.hashToCurve(a)},e.hash_to_ristretto255=e.hashToRistretto255}(Pe);var Yn={},Jn={};Object.defineProperty(Jn,\"__esModule\",{value:!0}),Jn.sha224=Jn.sha256=Jn.SHA256=void 0;const Xn=Oe,Qn=Fe,er=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nr=new Uint32Array(64);class rr extends Xn.HashMD{constructor(){super(64,32,8,!1),this.A=0|tr[0],this.B=0|tr[1],this.C=0|tr[2],this.D=0|tr[3],this.E=0|tr[4],this.F=0|tr[5],this.G=0|tr[6],this.H=0|tr[7]}get(){const{A:e,B:t,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[e,t,n,r,i,o,s,a]}set(e,t,n,r,i,o,s,a){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(e,t){for(let n=0;n<16;n++,t+=4)nr[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=nr[e-15],n=nr[e-2],r=(0,Qn.rotr)(t,7)^(0,Qn.rotr)(t,18)^t>>>3,i=(0,Qn.rotr)(n,17)^(0,Qn.rotr)(n,19)^n>>>10;nr[e]=i+nr[e-7]+r+nr[e-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+((0,Qn.rotr)(s,6)^(0,Qn.rotr)(s,11)^(0,Qn.rotr)(s,25))+(0,Xn.Chi)(s,a,c)+er[e]+nr[e]|0,d=((0,Qn.rotr)(n,2)^(0,Qn.rotr)(n,13)^(0,Qn.rotr)(n,22))+(0,Xn.Maj)(n,r,i)|0;l=c,c=a,a=s,s=o+t|0,o=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,o,s,a,c,l)}roundClean(){nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}Jn.SHA256=rr;class ir extends rr{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}Jn.sha256=(0,Qn.wrapConstructor)((()=>new rr)),Jn.sha224=(0,Qn.wrapConstructor)((()=>new ir));var or={},sr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hmac=e.HMAC=void 0;const t=Te,n=Fe;class r extends n.Hash{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,(0,t.hash)(e);const i=(0,n.toBytes)(r);if(this.iHash=e.create(),\"function\"!=typeof this.iHash.update)throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(i.length>o?e.create().update(i).digest():i);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return(0,t.exists)(this),this.iHash.update(e),this}digestInto(e){(0,t.exists)(this),(0,t.bytes)(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return e.finished=r,e.destroyed=i,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.HMAC=r;e.hmac=(e,t,n)=>new r(e,t).update(n).digest(),e.hmac.create=(e,t)=>new r(e,t)}(sr);var ar={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.DER=void 0,e.weierstrassPoints=f,e.weierstrass=function(s){const a=function(e){const n=(0,t.validateBasic)(e);return r.validateObject(n,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...n})}(s),{Fp:d,n:u}=a,h=d.BYTES+1,p=2*d.BYTES+1;function g(e){return n.mod(e,u)}function m(e){return n.invert(e,u)}const{ProjectivePoint:y,normPrivateKeyToScalar:v,weierstrassEquation:b,isWithinCurveOrder:w}=f({...a,toBytes(e,t,n){const o=t.toAffine(),s=d.toBytes(o.x),a=r.concatBytes;return(0,i.abool)(\"isCompressed\",n),n?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,d.toBytes(o.y))},fromBytes(e){const t=e.length,n=e[0],i=e.subarray(1);if(t!==h||2!==n&&3!==n){if(t===p&&4===n){return{x:d.fromBytes(i.subarray(0,d.BYTES)),y:d.fromBytes(i.subarray(d.BYTES,2*d.BYTES))}}throw new Error(`Point of length ${t} was invalid. Expected ${h} compressed bytes or ${p} uncompressed bytes`)}{const e=r.bytesToNumberBE(i);if(!r.inRange(e,l,d.ORDER))throw new Error(\"Point is not on curve\");const t=b(e);let o;try{o=d.sqrt(t)}catch(e){const t=e instanceof Error?\": \"+e.message:\"\";throw new Error(\"Point is not on curve\"+t)}return 1==(1&n)!==((o&l)===l)&&(o=d.neg(o)),{x:e,y:o}}}}),E=e=>r.bytesToHex(r.numberToBytesBE(e,a.nByteLength));function C(e){return e>u>>l}const S=(e,t,n)=>r.bytesToNumberBE(e.slice(t,n));class _{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const t=a.nByteLength;return e=(0,i.ensureBytes)(\"compactSignature\",e,2*t),new _(S(e,0,t),S(e,t,2*t))}static fromDER(t){const{r:n,s:r}=e.DER.toSig((0,i.ensureBytes)(\"DER\",t));return new _(n,r)}assertValidity(){r.aInRange(\"r\",this.r,l,u),r.aInRange(\"s\",this.s,l,u)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){const{r:t,s:n,recovery:r}=this,o=A((0,i.ensureBytes)(\"msgHash\",e));if(null==r||![0,1,2,3].includes(r))throw new Error(\"recovery id invalid\");const s=2===r||3===r?t+a.n:t;if(s>=d.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const c=0==(1&r)?\"02\":\"03\",l=y.fromHex(c+E(s)),u=m(s),h=g(-o*u),f=g(n*u),p=y.BASE.multiplyAndAddUnsafe(l,h,f);if(!p)throw new Error(\"point at infinify\");return p.assertValidity(),p}hasHighS(){return C(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,g(-this.s),this.recovery):this}toDERRawBytes(){return r.hexToBytes(this.toDERHex())}toDERHex(){return e.DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return r.hexToBytes(this.toCompactHex())}toCompactHex(){return E(this.r)+E(this.s)}}const k={isValidPrivateKey(e){try{return v(e),!0}catch(e){return!1}},normPrivateKeyToScalar:v,randomPrivateKey:()=>{const e=n.getMinHashLength(a.n);return n.mapHashToField(a.randomBytes(e),a.n)},precompute:(e=8,t=y.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function x(e){const t=r.isBytes(e),n=\"string\"==typeof e,i=(t||n)&&e.length;return t?i===h||i===p:n?i===2*h||i===2*p:e instanceof y}const M=a.bits2int||function(e){const t=r.bytesToNumberBE(e),n=8*e.length-a.nBitLength;return n>0?t>>BigInt(n):t},A=a.bits2int_modN||function(e){return g(M(e))},I=r.bitMask(a.nBitLength);function R(e){return r.aInRange(`num < 2^${a.nBitLength}`,e,c,I),r.numberToBytesBE(e,a.nByteLength)}function P(e,t,n=L){if([\"recovered\",\"canonical\"].some((e=>e in n)))throw new Error(\"sign() legacy options not supported\");const{hash:s,randomBytes:u}=a;let{lowS:h,prehash:f,extraEntropy:p}=n;null==h&&(h=!0),e=(0,i.ensureBytes)(\"msgHash\",e),o(n),f&&(e=(0,i.ensureBytes)(\"prehashed msgHash\",s(e)));const b=A(e),E=v(t),S=[R(E),R(b)];if(null!=p&&!1!==p){const e=!0===p?u(d.BYTES):p;S.push((0,i.ensureBytes)(\"extraEntropy\",e))}const k=r.concatBytes(...S),x=b;return{seed:k,k2sig:function(e){const t=M(e);if(!w(t))return;const n=m(t),r=y.BASE.multiply(t).toAffine(),i=g(r.x);if(i===c)return;const o=g(n*g(x+i*E));if(o===c)return;let s=(r.x===i?0:2)|Number(r.y&l),a=o;return h&&C(o)&&(a=function(e){return C(e)?g(-e):e}(o),s^=1),new _(i,a,s)}}}const L={lowS:a.lowS,prehash:!1},O={lowS:a.lowS,prehash:!1};return y.BASE._setWindowSize(8),{CURVE:a,getPublicKey:function(e,t=!0){return y.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(x(e))throw new Error(\"first arg must be private key\");if(!x(t))throw new Error(\"second arg must be public key\");const r=y.fromHex(t);return r.multiply(v(e)).toRawBytes(n)},sign:function(e,t,n=L){const{seed:i,k2sig:o}=P(e,t,n),s=a,c=r.createHmacDrbg(s.hash.outputLen,s.nByteLength,s.hmac);return c(i,o)},verify:function(t,n,s,c=O){const l=t;if(n=(0,i.ensureBytes)(\"msgHash\",n),s=(0,i.ensureBytes)(\"publicKey\",s),\"strict\"in c)throw new Error(\"options.strict was renamed to lowS\");o(c);const{lowS:d,prehash:u}=c;let h,f;try{if(\"string\"==typeof l||r.isBytes(l))try{h=_.fromDER(l)}catch(t){if(!(t instanceof e.DER.Err))throw t;h=_.fromCompact(l)}else{if(\"object\"!=typeof l||\"bigint\"!=typeof l.r||\"bigint\"!=typeof l.s)throw new Error(\"PARSE\");{const{r:e,s:t}=l;h=new _(e,t)}}f=y.fromHex(s)}catch(e){if(\"PARSE\"===e.message)throw new Error(\"signature must be Signature instance, Uint8Array or hex string\");return!1}if(d&&h.hasHighS())return!1;u&&(n=a.hash(n));const{r:p,s:v}=h,b=A(n),w=m(v),E=g(b*w),C=g(p*w),S=y.BASE.multiplyAndAddUnsafe(f,E,C)?.toAffine();if(!S)return!1;const k=g(S.x);return k===p},ProjectivePoint:y,Signature:_,utils:k}},e.SWUFpSqrtRatio=p,e.mapToCurveSimpleSWU=function(e,t){if(n.validateField(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error(\"mapToCurveSimpleSWU: invalid opts\");const r=p(e,t.Z);if(!e.isOdd)throw new Error(\"Fp.isOdd is not implemented!\");return n=>{let i,o,s,a,c,l,d,u;i=e.sqr(n),i=e.mul(i,t.Z),o=e.sqr(i),o=e.add(o,i),s=e.add(o,e.ONE),s=e.mul(s,t.B),a=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),a=e.mul(a,t.A),o=e.sqr(s),l=e.sqr(a),c=e.mul(l,t.A),o=e.add(o,c),o=e.mul(o,s),l=e.mul(l,a),c=e.mul(l,t.B),o=e.add(o,c),d=e.mul(i,s);const{isValid:h,value:f}=r(o,l);u=e.mul(i,n),u=e.mul(u,f),d=e.cmov(d,s,h),u=e.cmov(u,f,h);const p=e.isOdd(n)===e.isOdd(u);return u=e.cmov(e.neg(u),u,p),d=e.div(d,a),{x:d,y:u}}};const t=Pt,n=Lt,r=Ot,i=Ot;function o(e){void 0!==e.lowS&&(0,i.abool)(\"lowS\",e.lowS),void 0!==e.prehash&&(0,i.abool)(\"prehash\",e.prehash)}const{bytesToNumberBE:s,hexToBytes:a}=r;e.DER={Err:class extends Error{constructor(e=\"\"){super(e)}},_tlv:{encode:(t,n)=>{const{Err:i}=e.DER;if(t<0||t>256)throw new i(\"tlv.encode: wrong tag\");if(1&n.length)throw new i(\"tlv.encode: unpadded data\");const o=n.length/2,s=r.numberToHexUnpadded(o);if(s.length/2&128)throw new i(\"tlv.encode: long form length too big\");const a=o>127?r.numberToHexUnpadded(s.length/2|128):\"\";return`${r.numberToHexUnpadded(t)}${a}${s}${n}`},decode(t,n){const{Err:r}=e.DER;let i=0;if(t<0||t>256)throw new r(\"tlv.encode: wrong tag\");if(n.length<2||n[i++]!==t)throw new r(\"tlv.decode: wrong tlv\");const o=n[i++];let s=0;if(!!(128&o)){const e=127&o;if(!e)throw new r(\"tlv.decode(long): indefinite length not supported\");if(e>4)throw new r(\"tlv.decode(long): byte length is too big\");const t=n.subarray(i,i+e);if(t.length!==e)throw new r(\"tlv.decode: length bytes not complete\");if(0===t[0])throw new r(\"tlv.decode(long): zero leftmost byte\");for(const e of t)s=s<<8|e;if(i+=e,s<128)throw new r(\"tlv.decode(long): not minimal encoding\")}else s=o;const a=n.subarray(i,i+s);if(a.length!==s)throw new r(\"tlv.decode: wrong value length\");return{v:a,l:n.subarray(i+s)}}},_int:{encode(t){const{Err:n}=e.DER;if(t<c)throw new n(\"integer: negative integers are not allowed\");let i=r.numberToHexUnpadded(t);if(8&Number.parseInt(i[0],16)&&(i=\"00\"+i),1&i.length)throw new n(\"unexpected assertion\");return i},decode(t){const{Err:n}=e.DER;if(128&t[0])throw new n(\"Invalid signature integer: negative\");if(0===t[0]&&!(128&t[1]))throw new n(\"Invalid signature integer: unnecessary leading zero\");return s(t)}},toSig(t){const{Err:n,_int:i,_tlv:o}=e.DER,s=\"string\"==typeof t?a(t):t;r.abytes(s);const{v:c,l:l}=o.decode(48,s);if(l.length)throw new n(\"Invalid signature: left bytes after parsing\");const{v:d,l:u}=o.decode(2,c),{v:h,l:f}=o.decode(2,u);if(f.length)throw new n(\"Invalid signature: left bytes after parsing\");return{r:i.decode(d),s:i.decode(h)}},hexFromSig(t){const{_tlv:n,_int:r}=e.DER,i=`${n.encode(2,r.encode(t.r))}${n.encode(2,r.encode(t.s))}`;return n.encode(48,i)}};const c=BigInt(0),l=BigInt(1),d=BigInt(2),u=BigInt(3),h=BigInt(4);function f(e){const o=function(e){const n=(0,t.validateBasic)(e);r.validateObject(n,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:i,Fp:o,a:s}=n;if(i){if(!o.eql(s,o.ZERO))throw new Error(\"Endomorphism can only be defined for Koblitz curves that have a=0\");if(\"object\"!=typeof i||\"bigint\"!=typeof i.beta||\"function\"!=typeof i.splitScalar)throw new Error(\"Expected endomorphism with beta: bigint and splitScalar: function\")}return Object.freeze({...n})}(e),{Fp:s}=o,a=n.Field(o.n,o.nBitLength),d=o.toBytes||((e,t,n)=>{const i=t.toAffine();return r.concatBytes(Uint8Array.from([4]),s.toBytes(i.x),s.toBytes(i.y))}),h=o.fromBytes||(e=>{const t=e.subarray(1);return{x:s.fromBytes(t.subarray(0,s.BYTES)),y:s.fromBytes(t.subarray(s.BYTES,2*s.BYTES))}});function f(e){const{a:t,b:n}=o,r=s.sqr(e),i=s.mul(r,e);return s.add(s.add(i,s.mul(e,t)),n)}if(!s.eql(s.sqr(o.Gy),f(o.Gx)))throw new Error(\"bad generator point: equation left != right\");function p(e){const{allowedPrivateKeyLengths:t,nByteLength:s,wrapPrivateKey:a,n:c}=o;if(t&&\"bigint\"!=typeof e){if(r.isBytes(e)&&(e=r.bytesToHex(e)),\"string\"!=typeof e||!t.includes(e.length))throw new Error(\"Invalid key\");e=e.padStart(2*s,\"0\")}let d;try{d=\"bigint\"==typeof e?e:r.bytesToNumberBE((0,i.ensureBytes)(\"private key\",e,s))}catch(t){throw new Error(`private key must be ${s} bytes, hex or bigint, not ${typeof e}`)}return a&&(d=n.mod(d,c)),r.aInRange(\"private key\",d,l,c),d}function g(e){if(!(e instanceof v))throw new Error(\"ProjectivePoint expected\")}const m=(0,i.memoized)(((e,t)=>{const{px:n,py:r,pz:i}=e;if(s.eql(i,s.ONE))return{x:n,y:r};const o=e.is0();null==t&&(t=o?s.ONE:s.inv(i));const a=s.mul(n,t),c=s.mul(r,t),l=s.mul(i,t);if(o)return{x:s.ZERO,y:s.ZERO};if(!s.eql(l,s.ONE))throw new Error(\"invZ was invalid\");return{x:a,y:c}})),y=(0,i.memoized)((e=>{if(e.is0()){if(o.allowInfinityPoint&&!s.is0(e.py))return;throw new Error(\"bad point: ZERO\")}const{x:t,y:n}=e.toAffine();if(!s.isValid(t)||!s.isValid(n))throw new Error(\"bad point: x or y not FE\");const r=s.sqr(n),i=f(t);if(!s.eql(r,i))throw new Error(\"bad point: equation left != right\");if(!e.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0}));class v{constructor(e,t,n){if(this.px=e,this.py=t,this.pz=n,null==e||!s.isValid(e))throw new Error(\"x required\");if(null==t||!s.isValid(t))throw new Error(\"y required\");if(null==n||!s.isValid(n))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!s.isValid(t)||!s.isValid(n))throw new Error(\"invalid affine point\");if(e instanceof v)throw new Error(\"projective point not allowed\");const r=e=>s.eql(e,s.ZERO);return r(t)&&r(n)?v.ZERO:new v(t,n,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=s.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(v.fromAffine)}static fromHex(e){const t=v.fromAffine(h((0,i.ensureBytes)(\"pointHex\",e)));return t.assertValidity(),t}static fromPrivateKey(e){return v.BASE.multiply(p(e))}static msm(e,n){return(0,t.pippenger)(v,a,e,n)}_setWindowSize(e){w.setWindowSize(this,e)}assertValidity(){y(this)}hasEvenY(){const{y:e}=this.toAffine();if(s.isOdd)return!s.isOdd(e);throw new Error(\"Field doesn't support isOdd\")}equals(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:o,pz:a}=e,c=s.eql(s.mul(t,a),s.mul(i,r)),l=s.eql(s.mul(n,a),s.mul(o,r));return c&&l}negate(){return new v(this.px,s.neg(this.py),this.pz)}double(){const{a:e,b:t}=o,n=s.mul(t,u),{px:r,py:i,pz:a}=this;let c=s.ZERO,l=s.ZERO,d=s.ZERO,h=s.mul(r,r),f=s.mul(i,i),p=s.mul(a,a),g=s.mul(r,i);return g=s.add(g,g),d=s.mul(r,a),d=s.add(d,d),c=s.mul(e,d),l=s.mul(n,p),l=s.add(c,l),c=s.sub(f,l),l=s.add(f,l),l=s.mul(c,l),c=s.mul(g,c),d=s.mul(n,d),p=s.mul(e,p),g=s.sub(h,p),g=s.mul(e,g),g=s.add(g,d),d=s.add(h,h),h=s.add(d,h),h=s.add(h,p),h=s.mul(h,g),l=s.add(l,h),p=s.mul(i,a),p=s.add(p,p),h=s.mul(p,g),c=s.sub(c,h),d=s.mul(p,f),d=s.add(d,d),d=s.add(d,d),new v(c,l,d)}add(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:a,pz:c}=e;let l=s.ZERO,d=s.ZERO,h=s.ZERO;const f=o.a,p=s.mul(o.b,u);let m=s.mul(t,i),y=s.mul(n,a),b=s.mul(r,c),w=s.add(t,n),E=s.add(i,a);w=s.mul(w,E),E=s.add(m,y),w=s.sub(w,E),E=s.add(t,r);let C=s.add(i,c);return E=s.mul(E,C),C=s.add(m,b),E=s.sub(E,C),C=s.add(n,r),l=s.add(a,c),C=s.mul(C,l),l=s.add(y,b),C=s.sub(C,l),h=s.mul(f,E),l=s.mul(p,b),h=s.add(l,h),l=s.sub(y,h),h=s.add(y,h),d=s.mul(l,h),y=s.add(m,m),y=s.add(y,m),b=s.mul(f,b),E=s.mul(p,E),y=s.add(y,b),b=s.sub(m,b),b=s.mul(f,b),E=s.add(E,b),m=s.mul(y,E),d=s.add(d,m),m=s.mul(C,E),l=s.mul(w,l),l=s.sub(l,m),m=s.mul(w,y),h=s.mul(C,h),h=s.add(h,m),new v(l,d,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}wNAF(e){return w.wNAFCached(this,e,v.normalizeZ)}multiplyUnsafe(e){r.aInRange(\"scalar\",e,c,o.n);const t=v.ZERO;if(e===c)return t;if(e===l)return this;const{endo:n}=o;if(!n)return w.unsafeLadder(this,e);let{k1neg:i,k1:a,k2neg:d,k2:u}=n.splitScalar(e),h=t,f=t,p=this;for(;a>c||u>c;)a&l&&(h=h.add(p)),u&l&&(f=f.add(p)),p=p.double(),a>>=l,u>>=l;return i&&(h=h.negate()),d&&(f=f.negate()),f=new v(s.mul(f.px,n.beta),f.py,f.pz),h.add(f)}multiply(e){const{endo:t,n:n}=o;let i,a;if(r.aInRange(\"scalar\",e,l,n),t){const{k1neg:n,k1:r,k2neg:o,k2:c}=t.splitScalar(e);let{p:l,f:d}=this.wNAF(r),{p:u,f:h}=this.wNAF(c);l=w.constTimeNegate(n,l),u=w.constTimeNegate(o,u),u=new v(s.mul(u.px,t.beta),u.py,u.pz),i=l.add(u),a=d.add(h)}else{const{p:t,f:n}=this.wNAF(e);i=t,a=n}return v.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=v.BASE,i=(e,t)=>t!==c&&t!==l&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),o=i(this,t).add(i(e,n));return o.is0()?void 0:o}toAffine(e){return m(this,e)}isTorsionFree(){const{h:e,isTorsionFree:t}=o;if(e===l)return!0;if(t)return t(v,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:e,clearCofactor:t}=o;return e===l?this:t?t(v,this):this.multiplyUnsafe(o.h)}toRawBytes(e=!0){return(0,i.abool)(\"isCompressed\",e),this.assertValidity(),d(v,this,e)}toHex(e=!0){return(0,i.abool)(\"isCompressed\",e),r.bytesToHex(this.toRawBytes(e))}}v.BASE=new v(o.Gx,o.Gy,s.ONE),v.ZERO=new v(s.ZERO,s.ONE,s.ZERO);const b=o.nBitLength,w=(0,t.wNAF)(v,o.endo?Math.ceil(b/2):b);return{CURVE:o,ProjectivePoint:v,normPrivateKeyToScalar:p,weierstrassEquation:f,isWithinCurveOrder:function(e){return r.inRange(e,l,o.n)}}}function p(e,t){const n=e.ORDER;let r=c;for(let e=n-l;e%d===c;e/=d)r+=l;const i=r,o=d<<i-l-l,s=o*d,a=(n-l)/s,f=(a-l)/d,p=s-l,g=o,m=e.pow(t,a),y=e.pow(t,(a+l)/d);let v=(t,n)=>{let r=m,o=e.pow(n,p),s=e.sqr(o);s=e.mul(s,n);let a=e.mul(t,s);a=e.pow(a,f),a=e.mul(a,o),o=e.mul(a,n),s=e.mul(a,t);let c=e.mul(s,o);a=e.pow(c,g);let u=e.eql(a,e.ONE);o=e.mul(s,y),a=e.mul(c,r),s=e.cmov(o,s,u),c=e.cmov(a,c,u);for(let t=i;t>l;t--){let n=t-d;n=d<<n-l;let i=e.pow(c,n);const a=e.eql(i,e.ONE);o=e.mul(s,r),r=e.mul(r,r),i=e.mul(c,r),s=e.cmov(o,s,a),c=e.cmov(i,c,a)}return{isValid:u,value:s}};if(e.ORDER%h===u){const n=(e.ORDER-u)/h,r=e.sqrt(e.neg(t));v=(t,i)=>{let o=e.sqr(i);const s=e.mul(t,i);o=e.mul(o,s);let a=e.pow(o,n);a=e.mul(a,s);const c=e.mul(a,r),l=e.mul(e.sqr(a),i),d=e.eql(l,t);return{isValid:d,value:e.cmov(c,a,d)}}}return v}}(ar),Object.defineProperty(or,\"__esModule\",{value:!0}),or.getHash=ur,or.createCurve=function(e,t){const n=t=>(0,dr.weierstrass)({...e,...ur(t)});return Object.freeze({...n(t),create:n})};const cr=sr,lr=Fe,dr=ar;function ur(e){return{hash:e,hmac:(t,...n)=>(0,cr.hmac)(e,t,(0,lr.concatBytes)(...n)),randomBytes:lr.randomBytes}}!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.encodeToCurve=e.hashToCurve=e.schnorr=e.secp256k1=void 0;const t=Jn,n=Fe,r=or,i=Nn,o=Lt,s=Ot,a=ar,c=BigInt(\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\"),l=BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\"),d=BigInt(1),u=BigInt(2),h=(e,t)=>(e+t/u)/t;function f(e){const t=c,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),l=BigInt(44),d=BigInt(88),h=e*e*e%t,f=h*h*e%t,g=(0,o.pow2)(f,n,t)*f%t,m=(0,o.pow2)(g,n,t)*f%t,y=(0,o.pow2)(m,u,t)*h%t,v=(0,o.pow2)(y,i,t)*y%t,b=(0,o.pow2)(v,s,t)*v%t,w=(0,o.pow2)(b,l,t)*b%t,E=(0,o.pow2)(w,d,t)*w%t,C=(0,o.pow2)(E,l,t)*b%t,S=(0,o.pow2)(C,n,t)*f%t,_=(0,o.pow2)(S,a,t)*v%t,k=(0,o.pow2)(_,r,t)*h%t,x=(0,o.pow2)(k,u,t);if(!p.eql(p.sqr(x),e))throw new Error(\"Cannot find square root\");return x}const p=(0,o.Field)(c,void 0,void 0,{sqrt:f});e.secp256k1=(0,r.createCurve)({a:BigInt(0),b:BigInt(7),Fp:p,n:l,Gx:BigInt(\"55066263022277343669578718895168534326250603453777594175500187360389116729240\"),Gy:BigInt(\"32670510020758816978083085130507043184471273380659243275938904335757337482424\"),h:BigInt(1),lowS:!0,endo:{beta:BigInt(\"0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\"),splitScalar:e=>{const t=l,n=BigInt(\"0x3086d221a7d46bcde86c90e49284eb15\"),r=-d*BigInt(\"0xe4437ed6010e88286f547fa90abfe4c3\"),i=BigInt(\"0x114ca50f7a8e2f3f657c1108d9d44cfd8\"),s=n,a=BigInt(\"0x100000000000000000000000000000000\"),c=h(s*e,t),u=h(-r*e,t);let f=(0,o.mod)(e-c*n-u*i,t),p=(0,o.mod)(-c*r-u*s,t);const g=f>a,m=p>a;if(g&&(f=t-f),m&&(p=t-p),f>a||p>a)throw new Error(\"splitScalar: Endomorphism failed, k=\"+e);return{k1neg:g,k1:f,k2neg:m,k2:p}}}},t.sha256);const g=BigInt(0),m={};function y(e,...n){let r=m[e];if(void 0===r){const n=(0,t.sha256)(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=(0,s.concatBytes)(n,n),m[e]=r}return(0,t.sha256)((0,s.concatBytes)(r,...n))}const v=e=>e.toRawBytes(!0).slice(1),b=e=>(0,s.numberToBytesBE)(e,32),w=e=>(0,o.mod)(e,c),E=e=>(0,o.mod)(e,l),C=e.secp256k1.ProjectivePoint,S=(e,t,n)=>C.BASE.multiplyAndAddUnsafe(e,t,n);function _(t){let n=e.secp256k1.utils.normPrivateKeyToScalar(t),r=C.fromPrivateKey(n);return{scalar:r.hasEvenY()?n:E(-n),bytes:v(r)}}function k(e){(0,s.aInRange)(\"x\",e,d,c);const t=w(e*e);let n=f(w(t*e+BigInt(7)));n%u!==g&&(n=w(-n));const r=new C(e,n,d);return r.assertValidity(),r}const x=s.bytesToNumberBE;function M(...e){return E(x(y(\"BIP0340/challenge\",...e)))}function A(e){return _(e).bytes}function I(e,t,r=(0,n.randomBytes)(32)){const i=(0,s.ensureBytes)(\"message\",e),{bytes:o,scalar:a}=_(t),c=(0,s.ensureBytes)(\"auxRand\",r,32),l=b(a^x(y(\"BIP0340/aux\",c))),d=y(\"BIP0340/nonce\",l,o,i),u=E(x(d));if(u===g)throw new Error(\"sign failed: k is zero\");const{bytes:h,scalar:f}=_(u),p=M(h,o,i),m=new Uint8Array(64);if(m.set(h,0),m.set(b(E(f+p*a)),32),!R(m,i,o))throw new Error(\"sign: Invalid signature produced\");return m}function R(e,t,n){const r=(0,s.ensureBytes)(\"signature\",e,64),i=(0,s.ensureBytes)(\"message\",t),o=(0,s.ensureBytes)(\"publicKey\",n,32);try{const e=k(x(o)),t=x(r.subarray(0,32));if(!(0,s.inRange)(t,d,c))return!1;const n=x(r.subarray(32,64));if(!(0,s.inRange)(n,d,l))return!1;const a=M(b(t),v(e),i),u=S(e,n,E(-a));return!(!u||!u.hasEvenY()||u.toAffine().x!==t)}catch(e){return!1}}e.schnorr={getPublicKey:A,sign:I,verify:R,utils:{randomPrivateKey:e.secp256k1.utils.randomPrivateKey,lift_x:k,pointToBytes:v,numberToBytesBE:s.numberToBytesBE,bytesToNumberBE:s.bytesToNumberBE,taggedHash:y,mod:o.mod}};const P=(()=>(0,i.isogenyMap)(p,[[\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7\",\"0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581\",\"0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262\",\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c\"],[\"0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b\",\"0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"],[\"0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c\",\"0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3\",\"0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931\",\"0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84\"],[\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b\",\"0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573\",\"0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"]].map((e=>e.map((e=>BigInt(e)))))))(),L=(()=>(0,a.mapToCurveSimpleSWU)(p,{A:BigInt(\"0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533\"),B:BigInt(\"1771\"),Z:p.create(BigInt(\"-11\"))}))(),O=(()=>(0,i.createHasher)(e.secp256k1.ProjectivePoint,(e=>{const{x:t,y:n}=L(p.create(e[0]));return P(t,n)}),{DST:\"secp256k1_XMD:SHA-256_SSWU_RO_\",encodeDST:\"secp256k1_XMD:SHA-256_SSWU_NU_\",p:p.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha256}))();e.hashToCurve=O.hashToCurve,e.encodeToCurve=O.encodeToCurve}(Yn);var hr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.decodeHex=e.remove0x=void 0;var t=fe;e.remove0x=function(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.slice(2):e};e.decodeHex=function(n){return(0,t.hexToBytes)((0,e.remove0x)(n))}}(hr),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hexToPublicKey=e.convertPublicKeyFormat=e.getSharedPoint=e.getPublicKey=e.isValidPrivateKey=e.getValidSecret=void 0;var t=Ie,n=Pe,r=Yn,i=Se,o=_e,s=hr;e.getValidSecret=function(){var n;do{n=(0,t.randomBytes)(o.SECRET_KEY_LENGTH)}while(!(0,e.isValidPrivateKey)(n));return n};e.isValidPrivateKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.utils.isValidPrivateKey(e)}),(function(){return!0}),(function(){return!0}))};e.getPublicKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}))};e.getSharedPoint=function(e,t,n){return a((0,i.ellipticCurve)(),(function(r){return r.getSharedSecret(e,t,n)}),(function(n){return n.getSharedSecret(e,t)}),(function(n){return l(n,e,t)}))};e.convertPublicKeyFormat=function(e,t){return a((0,i.ellipticCurve)(),(function(n){return n.getSharedSecret(BigInt(1),e,t)}),(function(){return e}),(function(){return e}))};function a(e,t,i,o){if(\"secp256k1\"===e)return t(r.secp256k1);if(\"x25519\"===e)return i(n.x25519);if(\"ed25519\"===e)return o(n.ed25519);throw new Error(\"Not implemented\")}e.hexToPublicKey=function(e){var t=(0,s.decodeHex)(e);return a((0,i.ellipticCurve)(),(function(){return c(t)}),(function(){return t}),(function(){return t}))};var c=function(e){if(e.length===o.ETH_PUBLIC_KEY_SIZE){var t=new Uint8Array(1+e.length);return t.set([4]),t.set(e,1),t}return e},l=function(e,t,n){var r=e.utils.getExtendedPublicKey(t).scalar;return e.ExtendedPoint.fromHex(n).multiply(r).toRawBytes()}}(Ae);var fr={},pr={};Object.defineProperty(pr,\"__esModule\",{value:!0}),pr.hkdf=void 0,pr.extract=vr,pr.expand=Er;const gr=Te,mr=Fe,yr=sr;function vr(e,t,n){return(0,gr.hash)(e),void 0===n&&(n=new Uint8Array(e.outputLen)),(0,yr.hmac)(e,(0,mr.toBytes)(n),(0,mr.toBytes)(t))}const br=new Uint8Array([0]),wr=new Uint8Array;function Er(e,t,n,r=32){if((0,gr.hash)(e),(0,gr.number)(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const i=Math.ceil(r/e.outputLen);void 0===n&&(n=wr);const o=new Uint8Array(i*e.outputLen),s=yr.hmac.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let t=0;t<i;t++)br[0]=t+1,a.update(0===t?wr:c).update(n).update(br).digestInto(c),o.set(c,e.outputLen*t),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),br.fill(0),o.slice(0,r)}pr.hkdf=(e,t,n,r,i)=>Er(e,vr(e,t,n),r,i),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getSharedKey=e.deriveKey=void 0;var t=fe,n=pr,r=Jn;e.deriveKey=function(e,t,i){return(0,n.hkdf)(r.sha256,e,t,i,32)};e.getSharedKey=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return(0,e.deriveKey)(t.concatBytes.apply(void 0,n))}}(fr);var Cr={},Sr={},_r={},kr={};Object.defineProperty(kr,\"__esModule\",{value:!0}),kr.polyval=kr.ghash=void 0,kr._toGHASHKey=Lr;const xr=pe,Mr=fe,Ar=16,Ir=new Uint8Array(16),Rr=(0,Mr.u32)(Ir),Pr=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255|0;function Lr(e){e.reverse();const t=1&e[15];let n=0;for(let t=0;t<e.length;t++){const r=e[t];e[t]=r>>>1|n,n=(1&r)<<7}return e[0]^=225&-t,e}class Or{constructor(e,t){this.blockLen=Ar,this.outputLen=Ar,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,e=(0,Mr.toBytes)(e),(0,xr.bytes)(e,16);const n=(0,Mr.createView)(e);let r=n.getUint32(0,!1),i=n.getUint32(4,!1),o=n.getUint32(8,!1),s=n.getUint32(12,!1);const a=[];for(let e=0;e<128;e++)a.push({s0:Pr(r),s1:Pr(i),s2:Pr(o),s3:Pr(s)}),({s0:r,s1:i,s2:o,s3:s}={s3:(d=o)<<31|(u=s)>>>1,s2:(l=i)<<31|d>>>1,s1:(c=r)<<31|l>>>1,s0:c>>>1^225<<24&-(1&u)});var c,l,d,u;const h=(e=>e>65536?8:e>1024?4:2)(t||1024);if(![1,2,4,8].includes(h))throw new Error(`ghash: wrong window size=${h}, should be 2, 4 or 8`);this.W=h;const f=128/h,p=this.windowSize=2**h,g=[];for(let e=0;e<f;e++)for(let t=0;t<p;t++){let n=0,r=0,i=0,o=0;for(let s=0;s<h;s++){if(!(t>>>h-s-1&1))continue;const{s0:c,s1:l,s2:d,s3:u}=a[h*e+s];n^=c,r^=l,i^=d,o^=u}g.push({s0:n,s1:r,s2:i,s3:o})}this.t=g}_updateBlock(e,t,n,r){e^=this.s0,t^=this.s1,n^=this.s2,r^=this.s3;const{W:i,t:o,windowSize:s}=this;let a=0,c=0,l=0,d=0;const u=(1<<i)-1;let h=0;for(const f of[e,t,n,r])for(let e=0;e<4;e++){const t=f>>>8*e&255;for(let e=8/i-1;e>=0;e--){const n=t>>>i*e&u,{s0:r,s1:f,s2:p,s3:g}=o[h*s+n];a^=r,c^=f,l^=p,d^=g,h+=1}}this.s0=a,this.s1=c,this.s2=l,this.s3=d}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=Math.floor(e.length/Ar),r=e.length%Ar;for(let e=0;e<n;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return r&&(Ir.set(e.subarray(n*Ar)),this._updateBlock(Rr[0],Rr[1],Rr[2],Rr[3]),(0,Mr.clean)(Rr)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e}digest(){const e=new Uint8Array(Ar);return this.digestInto(e),this.destroy(),e}}class Tr extends Or{constructor(e,t){e=(0,Mr.toBytes)(e);const n=Lr((0,Mr.copyBytes)(e));super(n,t),(0,Mr.clean)(n)}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=e.length%Ar,r=Math.floor(e.length/Ar);for(let e=0;e<r;e++)this._updateBlock(Pr(t[4*e+3]),Pr(t[4*e+2]),Pr(t[4*e+1]),Pr(t[4*e+0]));return n&&(Ir.set(e.subarray(r*Ar)),this._updateBlock(Pr(Rr[3]),Pr(Rr[2]),Pr(Rr[1]),Pr(Rr[0])),(0,Mr.clean)(Rr)),this}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e.reverse()}}function Nr(e){const t=(t,n)=>e(n,t.length).update((0,Mr.toBytes)(t)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(t,n)=>e(t,n),t}kr.ghash=Nr(((e,t)=>new Or(e,t))),kr.polyval=Nr(((e,t)=>new Tr(e,t))),Object.defineProperty(_r,\"__esModule\",{value:!0}),_r.unsafe=_r.aeskwp=_r.aeskw=_r.siv=_r.gcm=_r.cfb=_r.cbc=_r.ecb=_r.ctr=void 0,_r.expandKeyLE=Qr,_r.expandKeyDecLE=ei;const Dr=pe,$r=kr,Br=fe,Kr=16,jr=new Uint8Array(Kr),Ur=283;function Hr(e){return e<<1^Ur&-(e>>7)}function Fr(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(1&t),e=Hr(e);return n}const zr=(()=>{const e=new Uint8Array(256);for(let t=0,n=1;t<256;t++,n^=Hr(n))e[t]=n;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let r=e[255-n];r|=r<<8,t[e[n]]=255&(r^r>>4^r>>5^r>>6^r>>7^99)}return(0,Br.clean)(e),t})(),qr=zr.map(((e,t)=>zr.indexOf(t))),Vr=e=>e<<24|e>>>8,Wr=e=>e<<8|e>>>24,Gr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Zr(e,t){if(256!==e.length)throw new Error(\"Wrong sbox length\");const n=new Uint32Array(256).map(((n,r)=>t(e[r]))),r=n.map(Wr),i=r.map(Wr),o=i.map(Wr),s=new Uint32Array(65536),a=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const d=256*t+l;s[d]=n[t]^r[l],a[d]=i[t]^o[l],c[d]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:n,T1:r,T2:i,T3:o,T01:s,T23:a}}const Yr=Zr(zr,(e=>Fr(e,3)<<24|e<<16|e<<8|Fr(e,2))),Jr=Zr(qr,(e=>Fr(e,11)<<24|Fr(e,13)<<16|Fr(e,9)<<8|Fr(e,14))),Xr=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=Hr(n))e[t]=n;return e})();function Qr(e){(0,Dr.bytes)(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);const{sbox2:n}=Yr,r=[];(0,Br.isAligned32)(e)||r.push(e=(0,Br.copyBytes)(e));const i=(0,Br.u32)(e),o=i.length,s=e=>ni(n,e,e,e,e),a=new Uint32Array(t+28);a.set(i);for(let e=o;e<a.length;e++){let t=a[e-1];e%o==0?t=s(Vr(t))^Xr[e/o-1]:o>6&&e%o==4&&(t=s(t)),a[e]=a[e-o]^t}return(0,Br.clean)(...r),a}function ei(e){const t=Qr(e),n=t.slice(),r=t.length,{sbox2:i}=Yr,{T0:o,T1:s,T2:a,T3:c}=Jr;for(let e=0;e<r;e+=4)for(let i=0;i<4;i++)n[e+i]=t[r-e-4+i];(0,Br.clean)(t);for(let e=4;e<r-4;e++){const t=n[e],r=ni(i,t,t,t,t);n[e]=o[255&r]^s[r>>>8&255]^a[r>>>16&255]^c[r>>>24]}return n}function ti(e,t,n,r,i,o){return e[n<<8&65280|r>>>8&255]^t[i>>>8&65280|o>>>24&255]}function ni(e,t,n,r,i){return e[255&t|65280&n]|e[r>>>16&255|i>>>16&65280]<<16}function ri(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Yr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ti(s,a,t,n,r,i),l=e[c++]^ti(s,a,n,r,i,t),d=e[c++]^ti(s,a,r,i,t,n),u=e[c++]^ti(s,a,i,t,n,r);t=o,n=l,r=d,i=u}return{s0:e[c++]^ni(o,t,n,r,i),s1:e[c++]^ni(o,n,r,i,t),s2:e[c++]^ni(o,r,i,t,n),s3:e[c++]^ni(o,i,t,n,r)}}function ii(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Jr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ti(s,a,t,i,r,n),l=e[c++]^ti(s,a,n,t,i,r),d=e[c++]^ti(s,a,r,n,t,i),u=e[c++]^ti(s,a,i,r,n,t);t=o,n=l,r=d,i=u}return{s0:e[c++]^ni(o,t,i,r,n),s1:e[c++]^ni(o,n,t,i,r),s2:e[c++]^ni(o,r,n,t,i),s3:e[c++]^ni(o,i,r,n,t)}}function oi(e,t){if(void 0===t)return new Uint8Array(e);if((0,Dr.bytes)(t),t.length<e)throw new Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);if(!(0,Br.isAligned32)(t))throw new Error(\"unaligned dst\");return t}function si(e,t,n,r){(0,Dr.bytes)(t,Kr),(0,Dr.bytes)(n);const i=n.length;r=oi(i,r);const o=t,s=(0,Br.u32)(o);let{s0:a,s1:c,s2:l,s3:d}=ri(e,s[0],s[1],s[2],s[3]);const u=(0,Br.u32)(n),h=(0,Br.u32)(r);for(let t=0;t+4<=u.length;t+=4){h[t+0]=u[t+0]^a,h[t+1]=u[t+1]^c,h[t+2]=u[t+2]^l,h[t+3]=u[t+3]^d;let n=1;for(let e=o.length-1;e>=0;e--)n=n+(255&o[e])|0,o[e]=255&n,n>>>=8;({s0:a,s1:c,s2:l,s3:d}=ri(e,s[0],s[1],s[2],s[3]))}const f=Kr*Math.floor(u.length/4);if(f<i){const e=new Uint32Array([a,c,l,d]),t=(0,Br.u8)(e);for(let e=f,o=0;e<i;e++,o++)r[e]=n[e]^t[o];(0,Br.clean)(e)}return r}function ai(e,t,n,r,i){(0,Dr.bytes)(n,Kr),(0,Dr.bytes)(r),i=oi(r.length,i);const o=n,s=(0,Br.u32)(o),a=(0,Br.createView)(o),c=(0,Br.u32)(r),l=(0,Br.u32)(i),d=t?0:12,u=r.length;let h=a.getUint32(d,t),{s0:f,s1:p,s2:g,s3:m}=ri(e,s[0],s[1],s[2],s[3]);for(let n=0;n+4<=c.length;n+=4)l[n+0]=c[n+0]^f,l[n+1]=c[n+1]^p,l[n+2]=c[n+2]^g,l[n+3]=c[n+3]^m,h=h+1>>>0,a.setUint32(d,h,t),({s0:f,s1:p,s2:g,s3:m}=ri(e,s[0],s[1],s[2],s[3]));const y=Kr*Math.floor(c.length/4);if(y<u){const e=new Uint32Array([f,p,g,m]),t=(0,Br.u8)(e);for(let e=y,n=0;e<u;e++,n++)i[e]=r[e]^t[n];(0,Br.clean)(e)}return i}function ci(e){if((0,Dr.bytes)(e),e.length%Kr!=0)throw new Error(\"aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16\")}function li(e,t,n){(0,Dr.bytes)(e);let r=e.length;const i=r%Kr;if(!t&&0!==i)throw new Error(\"aec/(cbc-ecb): unpadded plaintext with disabled padding\");(0,Br.isAligned32)(e)||(e=(0,Br.copyBytes)(e));const o=(0,Br.u32)(e);if(t){let e=Kr-i;e||(e=Kr),r+=e}const s=oi(r,n);return{b:o,o:(0,Br.u32)(s),out:s}}function di(e,t){if(!t)return e;const n=e.length;if(!n)throw new Error(\"aes/pcks5: empty ciphertext not allowed\");const r=e[n-1];if(r<=0||r>16)throw new Error(\"aes/pcks5: wrong padding\");const i=e.subarray(0,-r);for(let t=0;t<r;t++)if(e[n-t-1]!==r)throw new Error(\"aes/pcks5: wrong padding\");return i}function ui(e){const t=new Uint8Array(16),n=(0,Br.u32)(t);t.set(e);const r=Kr-e.length;for(let e=Kr-r;e<Kr;e++)t[e]=r;return n}function hi(e,t,n,r,i){const o=null==i?0:i.length,s=e.create(n,r.length+o);i&&s.update(i),s.update(r);const a=new Uint8Array(16),c=(0,Br.createView)(a);i&&(0,Br.setBigUint64)(c,0,BigInt(8*o),t),(0,Br.setBigUint64)(c,8,BigInt(8*r.length),t),s.update(a);const l=s.digest();return(0,Br.clean)(a),l}_r.ctr=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r){if((0,Dr.bytes)(n),void 0!==r&&((0,Dr.bytes)(r),!(0,Br.isAligned32)(r)))throw new Error(\"unaligned destination\");const i=Qr(e),o=(0,Br.copyBytes)(t),s=[i,o];(0,Br.isAligned32)(n)||s.push(n=(0,Br.copyBytes)(n));const a=si(i,o,n,r);return(0,Br.clean)(...s),a}return(0,Dr.bytes)(e),(0,Dr.bytes)(t,Kr),{encrypt:(e,t)=>n(e,t),decrypt:(e,t)=>n(e,t)}})),_r.ecb=(0,Br.wrapCipher)({blockSize:16},(function(e,t={}){(0,Dr.bytes)(e);const n=!t.disablePadding;return{encrypt(t,r){const{b:i,o:o,out:s}=li(t,n,r),a=Qr(e);let c=0;for(;c+4<=i.length;){const{s0:e,s1:t,s2:n,s3:r}=ri(a,i[c+0],i[c+1],i[c+2],i[c+3]);o[c++]=e,o[c++]=t,o[c++]=n,o[c++]=r}if(n){const e=ui(t.subarray(4*c)),{s0:n,s1:r,s2:i,s3:s}=ri(a,e[0],e[1],e[2],e[3]);o[c++]=n,o[c++]=r,o[c++]=i,o[c++]=s}return(0,Br.clean)(a),s},decrypt(t,r){ci(t);const i=ei(e),o=oi(t.length,r),s=[i];(0,Br.isAligned32)(t)||s.push(t=(0,Br.copyBytes)(t));const a=(0,Br.u32)(t),c=(0,Br.u32)(o);for(let e=0;e+4<=a.length;){const{s0:t,s1:n,s2:r,s3:o}=ii(i,a[e+0],a[e+1],a[e+2],a[e+3]);c[e++]=t,c[e++]=n,c[e++]=r,c[e++]=o}return(0,Br.clean)(...s),di(o,n)}}})),_r.cbc=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t,n={}){(0,Dr.bytes)(e),(0,Dr.bytes)(t,16);const r=!n.disablePadding;return{encrypt(n,i){const o=Qr(e),{b:s,o:a,out:c}=li(n,r,i);let l=t;const d=[o];(0,Br.isAligned32)(l)||d.push(l=(0,Br.copyBytes)(l));const u=(0,Br.u32)(l);let h=u[0],f=u[1],p=u[2],g=u[3],m=0;for(;m+4<=s.length;)h^=s[m+0],f^=s[m+1],p^=s[m+2],g^=s[m+3],({s0:h,s1:f,s2:p,s3:g}=ri(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g;if(r){const e=ui(n.subarray(4*m));h^=e[0],f^=e[1],p^=e[2],g^=e[3],({s0:h,s1:f,s2:p,s3:g}=ri(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g}return(0,Br.clean)(...d),c},decrypt(n,i){ci(n);const o=ei(e);let s=t;const a=[o];(0,Br.isAligned32)(s)||a.push(s=(0,Br.copyBytes)(s));const c=(0,Br.u32)(s),l=oi(n.length,i);(0,Br.isAligned32)(n)||a.push(n=(0,Br.copyBytes)(n));const d=(0,Br.u32)(n),u=(0,Br.u32)(l);let h=c[0],f=c[1],p=c[2],g=c[3];for(let e=0;e+4<=d.length;){const t=h,n=f,r=p,i=g;h=d[e+0],f=d[e+1],p=d[e+2],g=d[e+3];const{s0:s,s1:a,s2:c,s3:l}=ii(o,h,f,p,g);u[e++]=s^t,u[e++]=a^n,u[e++]=c^r,u[e++]=l^i}return(0,Br.clean)(...a),di(l,r)}}})),_r.cfb=(0,Br.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r,i){(0,Dr.bytes)(n);const o=n.length;i=oi(o,i);const s=Qr(e);let a=t;const c=[s];(0,Br.isAligned32)(a)||c.push(a=(0,Br.copyBytes)(a)),(0,Br.isAligned32)(n)||c.push(n=(0,Br.copyBytes)(n));const l=(0,Br.u32)(n),d=(0,Br.u32)(i),u=r?d:l,h=(0,Br.u32)(a);let f=h[0],p=h[1],g=h[2],m=h[3];for(let e=0;e+4<=l.length;){const{s0:t,s1:n,s2:r,s3:i}=ri(s,f,p,g,m);d[e+0]=l[e+0]^t,d[e+1]=l[e+1]^n,d[e+2]=l[e+2]^r,d[e+3]=l[e+3]^i,f=u[e++],p=u[e++],g=u[e++],m=u[e++]}const y=Kr*Math.floor(l.length/4);if(y<o){({s0:f,s1:p,s2:g,s3:m}=ri(s,f,p,g,m));const e=(0,Br.u8)(new Uint32Array([f,p,g,m]));for(let t=y,r=0;t<o;t++,r++)i[t]=n[t]^e[r];(0,Br.clean)(e)}return(0,Br.clean)(...c),i}return(0,Dr.bytes)(e),(0,Dr.bytes)(t,16),{encrypt:(e,t)=>n(e,!0,t),decrypt:(e,t)=>n(e,!1,t)}})),_r.gcm=(0,Br.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){if((0,Dr.bytes)(e),(0,Dr.bytes)(t),void 0!==n&&(0,Dr.bytes)(n),t.length<8)throw new Error(\"aes/gcm: invalid nonce length\");const r=16;function i(e,t,r){const i=hi($r.ghash,!1,e,r,n);for(let e=0;e<t.length;e++)i[e]^=t[e];return i}function o(){const n=Qr(e),r=jr.slice(),i=jr.slice();if(ai(n,!1,i,i,r),12===t.length)i.set(t);else{const e=jr.slice(),n=(0,Br.createView)(e);(0,Br.setBigUint64)(n,8,BigInt(8*t.length),!1);const o=$r.ghash.create(r).update(t).update(e);o.digestInto(i),o.destroy()}return{xk:n,authKey:r,counter:i,tagMask:ai(n,!1,i,jr)}}return{encrypt(e){(0,Dr.bytes)(e);const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=new Uint8Array(e.length+r),l=[t,n,s,a];(0,Br.isAligned32)(e)||l.push(e=(0,Br.copyBytes)(e)),ai(t,!1,s,e,c);const d=i(n,a,c.subarray(0,c.length-r));return l.push(d),c.set(d,e.length),(0,Br.clean)(...l),c},decrypt(e){if((0,Dr.bytes)(e),e.length<r)throw new Error(\"aes/gcm: ciphertext less than tagLen (16)\");const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=[t,n,a,s];(0,Br.isAligned32)(e)||c.push(e=(0,Br.copyBytes)(e));const l=e.subarray(0,-16),d=e.subarray(-16),u=i(n,a,l);if(c.push(u),!(0,Br.equalBytes)(u,d))throw new Error(\"aes/gcm: invalid ghash tag\");const h=ai(t,!1,s,l);return(0,Br.clean)(...c),h}}}));const fi=(e,t,n)=>r=>{if(!Number.isSafeInteger(r)||t>r||r>n)throw new Error(`${e}: invalid value=${r}, must be [${t}..${n}]`)};function pi(e){return null!=e&&\"object\"==typeof e&&(e instanceof Uint32Array||\"Uint32Array\"===e.constructor.name)}function gi(e,t){if((0,Dr.bytes)(t,16),!pi(e))throw new Error(\"_encryptBlock accepts result of expandKeyLE\");const n=(0,Br.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=ri(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}function mi(e,t){if((0,Dr.bytes)(t,16),!pi(e))throw new Error(\"_decryptBlock accepts result of expandKeyLE\");const n=(0,Br.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=ii(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}_r.siv=(0,Br.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){const r=fi(\"AAD\",0,2**36),i=fi(\"plaintext\",0,2**36),o=fi(\"nonce\",12,12),s=fi(\"ciphertext\",16,2**36+16);function a(){const n=Qr(e),r=new Uint8Array(e.length),i=new Uint8Array(16),o=[n,r];let s=t;(0,Br.isAligned32)(s)||o.push(s=(0,Br.copyBytes)(s));const a=(0,Br.u32)(s);let c=0,l=a[0],d=a[1],u=a[2],h=0;for(const e of[i,r].map(Br.u32)){const t=(0,Br.u32)(e);for(let e=0;e<t.length;e+=2){const{s0:r,s1:i}=ri(n,c,l,d,u);t[e+0]=r,t[e+1]=i,c=++h}}const f={authKey:i,encKey:Qr(r)};return(0,Br.clean)(...o),f}function c(e,r,i){const o=hi($r.polyval,!0,r,i,n);for(let e=0;e<12;e++)o[e]^=t[e];o[15]&=127;const s=(0,Br.u32)(o);let a=s[0],c=s[1],l=s[2],d=s[3];return({s0:a,s1:c,s2:l,s3:d}=ri(e,a,c,l,d)),s[0]=a,s[1]=c,s[2]=l,s[3]=d,o}function l(e,t,n){let r=(0,Br.copyBytes)(t);r[15]|=128;const i=ai(e,!0,r,n);return(0,Br.clean)(r),i}return(0,Dr.bytes)(e,16,24,32),(0,Dr.bytes)(t),o(t.length),void 0!==n&&((0,Dr.bytes)(n),r(n.length)),{encrypt(e){(0,Dr.bytes)(e),i(e.length);const{encKey:t,authKey:n}=a(),r=c(t,n,e),o=[t,n,r];(0,Br.isAligned32)(e)||o.push(e=(0,Br.copyBytes)(e));const s=new Uint8Array(e.length+16);return s.set(r,e.length),s.set(l(t,r,e)),(0,Br.clean)(...o),s},decrypt(e){(0,Dr.bytes)(e),s(e.length);const t=e.subarray(-16),{encKey:n,authKey:r}=a(),i=[n,r];(0,Br.isAligned32)(e)||i.push(e=(0,Br.copyBytes)(e));const o=l(n,t,e.subarray(0,-16)),d=c(n,r,o);if(i.push(d),!(0,Br.equalBytes)(t,d))throw(0,Br.clean)(...i),new Error(\"invalid polyval tag\");return(0,Br.clean)(...i),o}}}));const yi={encrypt(e,t){if(t.length>=2**32)throw new Error(\"plaintext should be less than 4gb\");const n=Qr(e);if(16===t.length)gi(n,t);else{const e=(0,Br.u32)(t);let r=e[0],i=e[1];for(let t=0,o=1;t<6;t++)for(let t=2;t<e.length;t+=2,o++){const{s0:s,s1:a,s2:c,s3:l}=ri(n,r,i,e[t],e[t+1]);r=s,i=a^Gr(o),e[t]=c,e[t+1]=l}e[0]=r,e[1]=i}n.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw new Error(\"ciphertext should be less than 4gb\");const n=ei(e),r=t.length/8-1;if(1===r)mi(n,t);else{const e=(0,Br.u32)(t);let i=e[0],o=e[1];for(let t=0,s=6*r;t<6;t++)for(let t=2*r;t>=1;t-=2,s--){o^=Gr(s);const{s0:r,s1:a,s2:c,s3:l}=ii(n,i,o,e[t],e[t+1]);i=r,o=a,e[t]=c,e[t+1]=l}e[0]=i,e[1]=o}n.fill(0)}},vi=new Uint8Array(8).fill(166);_r.aeskw=(0,Br.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,Dr.bytes)(t),!t.length||t.length%8!=0)throw new Error(\"invalid plaintext length\");if(8===t.length)throw new Error(\"8-byte keys not allowed in AESKW, use AESKWP instead\");const n=(0,Br.concatBytes)(vi,t);return yi.encrypt(e,n),n},decrypt(t){if((0,Dr.bytes)(t),t.length%8!=0||t.length<24)throw new Error(\"invalid ciphertext length\");const n=(0,Br.copyBytes)(t);if(yi.decrypt(e,n),!(0,Br.equalBytes)(n.subarray(0,8),vi))throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8)}})));const bi=2790873510;_r.aeskwp=(0,Br.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,Dr.bytes)(t),!t.length)throw new Error(\"invalid plaintext length\");const n=8*Math.ceil(t.length/8),r=new Uint8Array(8+n);r.set(t,8);const i=(0,Br.u32)(r);return i[0]=bi,i[1]=Gr(t.length),yi.encrypt(e,r),r},decrypt(t){if((0,Dr.bytes)(t),t.length<16)throw new Error(\"invalid ciphertext length\");const n=(0,Br.copyBytes)(t),r=(0,Br.u32)(n);yi.decrypt(e,n);const i=Gr(r[1])>>>0,o=8*Math.ceil(i/8);if(r[0]!==bi||n.length-8!==o)throw new Error(\"integrity check failed\");for(let e=i;e<o;e++)if(0!==n[8+e])throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8,8+i)}}))),_r.unsafe={expandKeyLE:Qr,expandKeyDecLE:ei,encrypt:ri,decrypt:ii,encryptBlock:gi,decryptBlock:mi,ctrCounter:si,ctr32:ai},Object.defineProperty(Sr,\"__esModule\",{value:!0}),Sr.aes256cbc=Sr.aes256gcm=void 0;var wi=_r;Sr.aes256gcm=function(e,t,n){return(0,wi.gcm)(e,t,n)};Sr.aes256cbc=function(e,t,n){return(0,wi.cbc)(e,t)};var Ei={},Ci={},Si={};Object.defineProperty(Si,\"__esModule\",{value:!0}),Si.sigma=void 0,Si.rotl=function(e,t){return e<<t|e>>>32-t},Si.createCipher=function(e,t){const{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:o,rounds:s}=(0,ki.checkOpts)({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(\"function\"!=typeof e)throw new Error(\"core must be a function\");return(0,_i.number)(i),(0,_i.number)(s),(0,_i.bool)(o),(0,_i.bool)(n),(t,a,c,l,d=0)=>{(0,_i.bytes)(t),(0,_i.bytes)(a),(0,_i.bytes)(c);const u=c.length;if(void 0===l&&(l=new Uint8Array(u)),(0,_i.bytes)(l),(0,_i.number)(d),d<0||d>=Ti)throw new Error(\"arx: counter overflow\");if(l.length<u)throw new Error(`arx: output (${l.length}) is shorter than data (${u})`);const h=[];let f,p,g=t.length;if(32===g)h.push(f=(0,ki.copyBytes)(t)),p=Ri;else{if(16!==g||!n)throw new Error(`arx: invalid 32-byte key, got length=${g}`);f=new Uint8Array(32),f.set(t),f.set(t,16),p=Ii,h.push(f)}Pi(a)||h.push(a=(0,ki.copyBytes)(a));const m=(0,ki.u32)(f);if(r){if(24!==a.length)throw new Error(\"arx: extended nonce must be 24 bytes\");r(p,m,(0,ki.u32)(a.subarray(0,16)),m),a=a.subarray(16)}const y=16-i;if(y!==a.length)throw new Error(`arx: nonce must be ${y} or 16 bytes`);if(12!==y){const e=new Uint8Array(12);e.set(a,o?0:12-a.length),a=e,h.push(a)}const v=(0,ki.u32)(a);return function(e,t,n,r,i,o,s,a){const c=i.length,l=new Uint8Array(Li),d=(0,ki.u32)(l),u=Pi(i)&&Pi(o),h=u?(0,ki.u32)(i):Ni,f=u?(0,ki.u32)(o):Ni;for(let p=0;p<c;s++){if(e(t,n,r,d,s,a),s>=Ti)throw new Error(\"arx: counter overflow\");const g=Math.min(Li,c-p);if(u&&g===Li){const e=p/4;if(p%4!=0)throw new Error(\"arx: invalid block position\");for(let t,n=0;n<Oi;n++)t=e+n,f[t]=h[t]^d[n];p+=Li}else{for(let e,t=0;t<g;t++)e=p+t,o[e]=i[e]^l[t];p+=g}}}(e,p,m,v,c,l,d,s),(0,ki.clean)(...h),l}};const _i=pe,ki=fe,xi=e=>Uint8Array.from(e.split(\"\").map((e=>e.charCodeAt(0)))),Mi=xi(\"expand 16-byte k\"),Ai=xi(\"expand 32-byte k\"),Ii=(0,ki.u32)(Mi),Ri=(0,ki.u32)(Ai);function Pi(e){return e.byteOffset%4==0}Si.sigma=Ri.slice();const Li=64,Oi=16,Ti=2**32-1,Ni=new Uint32Array;var Di={};Object.defineProperty(Di,\"__esModule\",{value:!0}),Di.poly1305=void 0,Di.wrapConstructorWithKey=Ui;const $i=pe,Bi=fe,Ki=(e,t)=>255&e[t++]|(255&e[t++])<<8;class ji{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=(0,Bi.toBytes)(e),(0,$i.bytes)(e,32);const t=Ki(e,0),n=Ki(e,2),r=Ki(e,4),i=Ki(e,6),o=Ki(e,8),s=Ki(e,10),a=Ki(e,12),c=Ki(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|n<<3),this.r[2]=7939&(n>>>10|r<<6),this.r[3]=8191&(r>>>7|i<<9),this.r[4]=255&(i>>>4|o<<12),this.r[5]=o>>>1&8190,this.r[6]=8191&(o>>>14|s<<2),this.r[7]=8065&(s>>>11|a<<5),this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=Ki(e,16+2*t)}process(e,t,n=!1){const r=n?0:2048,{h:i,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],d=o[4],u=o[5],h=o[6],f=o[7],p=o[8],g=o[9],m=Ki(e,t+0),y=Ki(e,t+2),v=Ki(e,t+4),b=Ki(e,t+6),w=Ki(e,t+8),E=Ki(e,t+10),C=Ki(e,t+12),S=Ki(e,t+14);let _=i[0]+(8191&m),k=i[1]+(8191&(m>>>13|y<<3)),x=i[2]+(8191&(y>>>10|v<<6)),M=i[3]+(8191&(v>>>7|b<<9)),A=i[4]+(8191&(b>>>4|w<<12)),I=i[5]+(w>>>1&8191),R=i[6]+(8191&(w>>>14|E<<2)),P=i[7]+(8191&(E>>>11|C<<5)),L=i[8]+(8191&(C>>>8|S<<8)),O=i[9]+(S>>>5|r),T=0,N=T+_*s+k*(5*g)+x*(5*p)+M*(5*f)+A*(5*h);T=N>>>13,N&=8191,N+=I*(5*u)+R*(5*d)+P*(5*l)+L*(5*c)+O*(5*a),T+=N>>>13,N&=8191;let D=T+_*a+k*s+x*(5*g)+M*(5*p)+A*(5*f);T=D>>>13,D&=8191,D+=I*(5*h)+R*(5*u)+P*(5*d)+L*(5*l)+O*(5*c),T+=D>>>13,D&=8191;let $=T+_*c+k*a+x*s+M*(5*g)+A*(5*p);T=$>>>13,$&=8191,$+=I*(5*f)+R*(5*h)+P*(5*u)+L*(5*d)+O*(5*l),T+=$>>>13,$&=8191;let B=T+_*l+k*c+x*a+M*s+A*(5*g);T=B>>>13,B&=8191,B+=I*(5*p)+R*(5*f)+P*(5*h)+L*(5*u)+O*(5*d),T+=B>>>13,B&=8191;let K=T+_*d+k*l+x*c+M*a+A*s;T=K>>>13,K&=8191,K+=I*(5*g)+R*(5*p)+P*(5*f)+L*(5*h)+O*(5*u),T+=K>>>13,K&=8191;let j=T+_*u+k*d+x*l+M*c+A*a;T=j>>>13,j&=8191,j+=I*s+R*(5*g)+P*(5*p)+L*(5*f)+O*(5*h),T+=j>>>13,j&=8191;let U=T+_*h+k*u+x*d+M*l+A*c;T=U>>>13,U&=8191,U+=I*a+R*s+P*(5*g)+L*(5*p)+O*(5*f),T+=U>>>13,U&=8191;let H=T+_*f+k*h+x*u+M*d+A*l;T=H>>>13,H&=8191,H+=I*c+R*a+P*s+L*(5*g)+O*(5*p),T+=H>>>13,H&=8191;let F=T+_*p+k*f+x*h+M*u+A*d;T=F>>>13,F&=8191,F+=I*l+R*c+P*a+L*s+O*(5*g),T+=F>>>13,F&=8191;let z=T+_*g+k*p+x*f+M*h+A*u;T=z>>>13,z&=8191,z+=I*d+R*l+P*c+L*a+O*s,T+=z>>>13,z&=8191,T=(T<<2)+T|0,T=T+N|0,N=8191&T,T>>>=13,D+=T,i[0]=N,i[1]=D,i[2]=$,i[3]=B,i[4]=K,i[5]=j,i[6]=U,i[7]=H,i[8]=F,i[9]=z}finalize(){const{h:e,pad:t}=this,n=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=5*r,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(1^r)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let o=e[0]+t[0];e[0]=65535&o;for(let n=1;n<8;n++)o=(e[n]+t[n]|0)+(o>>>16)|0,e[n]=65535&o;(0,Bi.clean)(n)}update(e){(0,$i.exists)(this);const{buffer:t,blockLen:n}=this,r=(e=(0,Bi.toBytes)(e)).length;for(let i=0;i<r;){const o=Math.min(n-this.pos,r-i);if(o!==n)t.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(t,0,!1),this.pos=0);else for(;n<=r-i;i+=n)this.process(e,i)}return this}destroy(){(0,Bi.clean)(this.h,this.r,this.buffer,this.pad)}digestInto(e){(0,$i.exists)(this),(0,$i.output)(e,this),this.finished=!0;const{buffer:t,h:n}=this;let{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}}function Ui(e){const t=(t,n)=>e(n).update((0,Bi.toBytes)(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}Di.poly1305=Ui((e=>new ji(e))),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.xchacha20poly1305=e.chacha20poly1305=e._poly1305_aead=e.chacha12=e.chacha8=e.xchacha20=e.chacha20=e.chacha20orig=void 0,e.hchacha=s;const t=Si,n=pe,r=Di,i=fe;function o(e,n,r,i,o,s=20){let a=e[0],c=e[1],l=e[2],d=e[3],u=n[0],h=n[1],f=n[2],p=n[3],g=n[4],m=n[5],y=n[6],v=n[7],b=o,w=r[0],E=r[1],C=r[2],S=a,_=c,k=l,x=d,M=u,A=h,I=f,R=p,P=g,L=m,O=y,T=v,N=b,D=w,$=E,B=C;for(let e=0;e<s;e+=2)S=S+M|0,N=(0,t.rotl)(N^S,16),P=P+N|0,M=(0,t.rotl)(M^P,12),S=S+M|0,N=(0,t.rotl)(N^S,8),P=P+N|0,M=(0,t.rotl)(M^P,7),_=_+A|0,D=(0,t.rotl)(D^_,16),L=L+D|0,A=(0,t.rotl)(A^L,12),_=_+A|0,D=(0,t.rotl)(D^_,8),L=L+D|0,A=(0,t.rotl)(A^L,7),k=k+I|0,$=(0,t.rotl)($^k,16),O=O+$|0,I=(0,t.rotl)(I^O,12),k=k+I|0,$=(0,t.rotl)($^k,8),O=O+$|0,I=(0,t.rotl)(I^O,7),x=x+R|0,B=(0,t.rotl)(B^x,16),T=T+B|0,R=(0,t.rotl)(R^T,12),x=x+R|0,B=(0,t.rotl)(B^x,8),T=T+B|0,R=(0,t.rotl)(R^T,7),S=S+A|0,B=(0,t.rotl)(B^S,16),O=O+B|0,A=(0,t.rotl)(A^O,12),S=S+A|0,B=(0,t.rotl)(B^S,8),O=O+B|0,A=(0,t.rotl)(A^O,7),_=_+I|0,N=(0,t.rotl)(N^_,16),T=T+N|0,I=(0,t.rotl)(I^T,12),_=_+I|0,N=(0,t.rotl)(N^_,8),T=T+N|0,I=(0,t.rotl)(I^T,7),k=k+R|0,D=(0,t.rotl)(D^k,16),P=P+D|0,R=(0,t.rotl)(R^P,12),k=k+R|0,D=(0,t.rotl)(D^k,8),P=P+D|0,R=(0,t.rotl)(R^P,7),x=x+M|0,$=(0,t.rotl)($^x,16),L=L+$|0,M=(0,t.rotl)(M^L,12),x=x+M|0,$=(0,t.rotl)($^x,8),L=L+$|0,M=(0,t.rotl)(M^L,7);let K=0;i[K++]=a+S|0,i[K++]=c+_|0,i[K++]=l+k|0,i[K++]=d+x|0,i[K++]=u+M|0,i[K++]=h+A|0,i[K++]=f+I|0,i[K++]=p+R|0,i[K++]=g+P|0,i[K++]=m+L|0,i[K++]=y+O|0,i[K++]=v+T|0,i[K++]=b+N|0,i[K++]=w+D|0,i[K++]=E+$|0,i[K++]=C+B|0}function s(e,n,r,i){let o=e[0],s=e[1],a=e[2],c=e[3],l=n[0],d=n[1],u=n[2],h=n[3],f=n[4],p=n[5],g=n[6],m=n[7],y=r[0],v=r[1],b=r[2],w=r[3];for(let e=0;e<20;e+=2)o=o+l|0,y=(0,t.rotl)(y^o,16),f=f+y|0,l=(0,t.rotl)(l^f,12),o=o+l|0,y=(0,t.rotl)(y^o,8),f=f+y|0,l=(0,t.rotl)(l^f,7),s=s+d|0,v=(0,t.rotl)(v^s,16),p=p+v|0,d=(0,t.rotl)(d^p,12),s=s+d|0,v=(0,t.rotl)(v^s,8),p=p+v|0,d=(0,t.rotl)(d^p,7),a=a+u|0,b=(0,t.rotl)(b^a,16),g=g+b|0,u=(0,t.rotl)(u^g,12),a=a+u|0,b=(0,t.rotl)(b^a,8),g=g+b|0,u=(0,t.rotl)(u^g,7),c=c+h|0,w=(0,t.rotl)(w^c,16),m=m+w|0,h=(0,t.rotl)(h^m,12),c=c+h|0,w=(0,t.rotl)(w^c,8),m=m+w|0,h=(0,t.rotl)(h^m,7),o=o+d|0,w=(0,t.rotl)(w^o,16),g=g+w|0,d=(0,t.rotl)(d^g,12),o=o+d|0,w=(0,t.rotl)(w^o,8),g=g+w|0,d=(0,t.rotl)(d^g,7),s=s+u|0,y=(0,t.rotl)(y^s,16),m=m+y|0,u=(0,t.rotl)(u^m,12),s=s+u|0,y=(0,t.rotl)(y^s,8),m=m+y|0,u=(0,t.rotl)(u^m,7),a=a+h|0,v=(0,t.rotl)(v^a,16),f=f+v|0,h=(0,t.rotl)(h^f,12),a=a+h|0,v=(0,t.rotl)(v^a,8),f=f+v|0,h=(0,t.rotl)(h^f,7),c=c+l|0,b=(0,t.rotl)(b^c,16),p=p+b|0,l=(0,t.rotl)(l^p,12),c=c+l|0,b=(0,t.rotl)(b^c,8),p=p+b|0,l=(0,t.rotl)(l^p,7);let E=0;i[E++]=o,i[E++]=s,i[E++]=a,i[E++]=c,i[E++]=y,i[E++]=v,i[E++]=b,i[E++]=w}e.chacha20orig=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,allowShortKeys:!0}),e.chacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,allowShortKeys:!1}),e.xchacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,extendNonceFn:s,allowShortKeys:!1}),e.chacha8=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:8}),e.chacha12=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:12});const a=new Uint8Array(16),c=(e,t)=>{e.update(t);const n=t.length%16;n&&e.update(a.subarray(n))},l=new Uint8Array(32);function d(e,t,n,o,s){const a=e(t,n,l),d=r.poly1305.create(a);s&&c(d,s),c(d,o);const u=new Uint8Array(16),h=(0,i.createView)(u);(0,i.setBigUint64)(h,0,BigInt(s?s.length:0),!0),(0,i.setBigUint64)(h,8,BigInt(o.length),!0),d.update(u);const f=d.digest();return(0,i.clean)(a,u),f}e._poly1305_aead=e=>(t,r,o)=>{const s=16;return(0,n.bytes)(t,32),(0,n.bytes)(r),{encrypt(a,c){const l=a.length,u=l+s;c?(0,n.bytes)(c,u):c=new Uint8Array(u),e(t,r,a,c,1);const h=d(e,t,r,c.subarray(0,-16),o);return c.set(h,l),(0,i.clean)(h),c},decrypt(a,c){const l=a.length,u=l-s;if(l<s)throw new Error(\"encrypted data must be at least 16 bytes\");c?(0,n.bytes)(c,u):c=new Uint8Array(u);const h=a.subarray(0,-16),f=a.subarray(-16),p=d(e,t,r,h,o);if(!(0,i.equalBytes)(f,p))throw new Error(\"invalid tag\");return e(t,r,h,c,1),(0,i.clean)(p),c}}},e.chacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:12,tagLength:16},(0,e._poly1305_aead)(e.chacha20)),e.xchacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:24,tagLength:16},(0,e._poly1305_aead)(e.xchacha20))}(Ci),Object.defineProperty(Ei,\"__esModule\",{value:!0}),Ei.xchacha20=void 0;var Hi,Fi,zi,qi=Ci;Ei.xchacha20=function(e,t,n){return(0,qi.xchacha20poly1305)(e,t,n)},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.aesDecrypt=e.aesEncrypt=e.symDecrypt=e.symEncrypt=void 0;var t=fe,n=Ie,r=Sr,i=Ei,o=Se,s=_e;e.symEncrypt=function(e,t,n){return a(c,e,t,n)};function a(e,t,n,a){var c=(0,o.symmetricAlgorithm)();if(\"aes-256-gcm\"===c)return e(r.aes256gcm,t,n,(0,o.symmetricNonceLength)(),s.AEAD_TAG_LENGTH,a);if(\"xchacha20\"===c)return e(i.xchacha20,t,n,s.XCHACHA20_NONCE_LENGTH,s.AEAD_TAG_LENGTH,a);if(\"aes-256-cbc\"===c)return e(r.aes256cbc,t,n,16,0);throw new Error(\"Not implemented\")}function c(e,r,i,o,s,a){var c=(0,n.randomBytes)(o),l=e(r,c,a).encrypt(i);if(0===s)return(0,t.concatBytes)(c,l);var d=l.length-s,u=l.subarray(0,d),h=l.subarray(d);return(0,t.concatBytes)(c,h,u)}function l(e,n,r,i,o,s){var a=r.subarray(0,i),c=e(n,Uint8Array.from(a),s),l=r.subarray(i);if(0===o)return c.decrypt(l);var d=l.subarray(0,o),u=l.subarray(o);return c.decrypt((0,t.concatBytes)(u,d))}e.symDecrypt=function(e,t,n){return a(l,e,t,n)},e.aesEncrypt=e.symEncrypt,e.aesDecrypt=e.symDecrypt}(Cr),Hi=Me,Fi=le&&le.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!(\"get\"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),zi=le&&le.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||Fi(t,e,n)},Object.defineProperty(Hi,\"__esModule\",{value:!0}),zi(Ae,Hi),zi(fr,Hi),zi(hr,Hi),zi(Cr,Hi);var Vi={};Object.defineProperty(Vi,\"__esModule\",{value:!0}),Vi.PublicKey=void 0;var Wi=fe,Gi=Me,Zi=function(){function e(e){this.data=(0,Gi.convertPublicKeyFormat)(e,!0)}return e.fromHex=function(t){return new e((0,Gi.hexToPublicKey)(t))},Object.defineProperty(e.prototype,\"uncompressed\",{get:function(){return S.from((0,Gi.convertPublicKeyFormat)(this.data,!1))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"compressed\",{get:function(){return S.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(e){return void 0===e&&(e=!0),(0,Wi.bytesToHex)(e?this.data:this.uncompressed)},e.prototype.decapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.data:this.uncompressed,r=e.multiply(this,t);return(0,Gi.getSharedKey)(n,r)},e.prototype.equals=function(e){return(0,Wi.equalBytes)(this.data,e.data)},e}();Vi.PublicKey=Zi,Object.defineProperty(xe,\"__esModule\",{value:!0}),xe.PrivateKey=void 0;var Yi=fe,Ji=Me,Xi=Vi,Qi=function(){function e(e){if(void 0===e)this.data=(0,Ji.getValidSecret)();else{if(!(0,Ji.isValidPrivateKey)(e))throw new Error(\"Invalid private key\");this.data=e}this.publicKey=new Xi.PublicKey((0,Ji.getPublicKey)(this.data))}return e.fromHex=function(t){return new e((0,Ji.decodeHex)(t))},Object.defineProperty(e.prototype,\"secret\",{get:function(){return S.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(){return(0,Yi.bytesToHex)(this.data)},e.prototype.encapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.publicKey.compressed:this.publicKey.uncompressed,r=this.multiply(e,t);return(0,Ji.getSharedKey)(n,r)},e.prototype.multiply=function(e,t){return void 0===t&&(t=!1),(0,Ji.getSharedPoint)(this.data,e.compressed,t)},e.prototype.equals=function(e){return(0,Yi.equalBytes)(this.data,e.data)},e}();xe.PrivateKey=Qi,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PublicKey=e.PrivateKey=void 0;var t=xe;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return t.PrivateKey}});var n=Vi;Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return n.PublicKey}})}(ke),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.utils=e.PublicKey=e.PrivateKey=e.ECIES_CONFIG=void 0,e.encrypt=function(e,o){var s=new r.PrivateKey,a=e instanceof Uint8Array?new r.PublicKey(e):r.PublicKey.fromHex(e),c=s.encapsulate(a,(0,n.isHkdfKeyCompressed)()),l=(0,n.isEphemeralKeyCompressed)()?s.publicKey.compressed:s.publicKey.uncompressed,d=(0,i.symEncrypt)(c,o);return S.from((0,t.concatBytes)(l,d))},e.decrypt=function(e,t){var o=e instanceof Uint8Array?new r.PrivateKey(e):r.PrivateKey.fromHex(e),s=(0,n.ephemeralKeySize)(),a=new r.PublicKey(t.subarray(0,s)),c=t.subarray(s),l=a.decapsulate(o,(0,n.isHkdfKeyCompressed)());return S.from((0,i.symDecrypt)(l,c))};var t=fe,n=Se,r=ke,i=Me;var o=Se;Object.defineProperty(e,\"ECIES_CONFIG\",{enumerable:!0,get:function(){return o.ECIES_CONFIG}});var s=ke;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return s.PrivateKey}}),Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return s.PublicKey}}),e.utils={aesEncrypt:i.aesEncrypt,aesDecrypt:i.aesDecrypt,symEncrypt:i.symEncrypt,symDecrypt:i.symDecrypt,decodeHex:i.decodeHex,getValidSecret:i.getValidSecret,remove0x:i.remove0x}}(he);const eo=t(\"KeyExchange:Layer\"),to=t(\"SocketService:Layer\"),no=t(\"Ecies:Layer\"),ro=t(\"RemoteCommunication:Layer\");eo.color=\"##95c44e\",to.color=\"#f638d7\",no.color=\"#465b9c\",ro.color=\"#47a2be\";const io={KeyExchange:eo,SocketService:to,Ecies:no,RemoteCommunication:ro};let oo,so=[],ao=[];const co=(t,n)=>a(void 0,void 0,void 0,(function*(){oo=n,ao.push(t),function(t){return a(this,void 0,void 0,(function*(){if(!oo||!t)return;!function(){const e=ao;ao=so,so=e}();const n=oo.endsWith(\"/\")?`${oo}evt`:`${oo}/evt`,r=Object.assign({},t);if(delete r.params,t.params)for(const[e,n]of Object.entries(t.params))r[e]=n;const i=JSON.stringify(r);io.RemoteCommunication(`[sendBufferedEvents] Sending ${so.length} analytics events to ${n}`);try{const t=yield e(n,{method:\"POST\",headers:{Accept:\"application/json\",\"Content-Type\":\"application/json\"},body:i}),r=yield t.text();io.RemoteCommunication(`[sendBufferedEvents] Response: ${r}`),so.length=0}catch(n){}}))}(t).catch((()=>{}))}));class lo{constructor(e){this.enabled=!0,(null==e?void 0:e.debug)&&t.enable(\"Ecies:Layer\"),this.ecies=(null==e?void 0:e.privateKey)?he.PrivateKey.fromHex(e.privateKey):new he.PrivateKey,io.Ecies(\"[ECIES constructor()] initialized secret: \",this.ecies.toHex()),io.Ecies(\"[ECIES constructor()] initialized public: \",this.ecies.publicKey.toHex()),io.Ecies(\"[ECIES constructor()] init with\",this)}generateECIES(){this.ecies=new he.PrivateKey}getPublicKey(){return this.ecies.publicKey.toHex()}encrypt(e,t){let n=e;if(this.enabled)try{io.Ecies(\"[ECIES: encrypt()] using otherPublicKey\",t);const r=S.from(e),i=he.encrypt(t,r);n=S.from(i).toString(\"base64\")}catch(n){throw io.Ecies(\"[ECIES: encrypt()] error encrypt:\",n),io.Ecies(\"[ECIES: encrypt()] private: \",this.ecies.toHex()),io.Ecies(\"[ECIES: encrypt()] data: \",e),io.Ecies(\"[ECIES: encrypt()] otherkey: \",t),n}return n}decrypt(e){let t=e;if(this.enabled)try{io.Ecies(\"[ECIES: decrypt()] using privateKey\",this.ecies.toHex());const n=S.from(e.toString(),\"base64\");t=he.decrypt(this.ecies.toHex(),n).toString()}catch(t){throw io.Ecies(\"[ECIES: decrypt()] error decrypt\",t),io.Ecies(\"[ECIES: decrypt()] private: \",this.ecies.toHex()),io.Ecies(\"[ECIES: decrypt()] encryptedData: \",e),t}return t}getKeyInfo(){return{private:this.ecies.toHex(),public:this.ecies.publicKey.toHex()}}toString(){io.Ecies(\"[ECIES: toString()]\",this.getKeyInfo())}}var uo={name:\"@metamask/sdk-communication-layer\",version:\"0.32.0\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk.git\",directory:\"packages/sdk-communication-layer\"},main:\"dist/node/cjs/metamask-sdk-communication-layer.js\",unpkg:\"dist/browser/umd/metamask-sdk-communication-layer.js\",module:\"dist/node/es/metamask-sdk-communication-layer.js\",browser:\"dist/browser/es/metamask-sdk-communication-layer.js\",\"react-native\":\"dist/react-native/es/metamask-sdk-communication-layer.js\",types:\"dist/types/src/index.d.ts\",files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",\"build:clean\":\"yarn clean && yarn build\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\",dev:'concurrently \"tsc --watch\" \"rollup -c --bundleConfigAsCjs -w\"',\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",size:\"size-limit\",clean:\"rimraf ./dist\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk-communication-layer\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",\"publish:preview\":\"yarn npm publish --tag preview\",prepack:\"../../scripts/prepack.sh\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:coverage\":\"jest --coverage\",\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":\"jest\",watch:\"rollup -c --bundleConfigAsCjs -w\"},dependencies:{bufferutil:\"^4.0.8\",\"date-fns\":\"^2.29.3\",debug:\"^4.3.4\",\"utf-8-validate\":\"^5.0.2\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@rollup/plugin-commonjs\":\"^25.0.0\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.4\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/jest\":\"^29.2.4\",\"@types/node\":\"^20.1.3\",\"@types/uuid\":\"^9.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",concurrently:\"^9.1.2\",\"cross-fetch\":\"^4.0.0\",eciesjs:\"^0.4.11\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",eventemitter2:\"^6.4.9\",jest:\"^29.3.1\",prettier:\"^2.3.0\",rimraf:\"^3.0.2\",rollup:\"^4.26.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-node-globals\":\"^1.4.0\",\"rollup-plugin-peer-deps-external\":\"^2.2.4\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.1.6\",\"socket.io-client\":\"^4.5.1\",\"stream-browserify\":\"^3.0.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^5.6.3\"},peerDependencies:{\"cross-fetch\":\"^4.0.0\",eciesjs:\"*\",eventemitter2:\"^6.4.9\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"@lavamoat/preinstall-always-fail\":!1,canvas:!0,\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,bufferutil:!1,\"utf-8-validate\":!1}}};const ho=\"https://metamask-sdk.api.cx.metamask.io/\",fo=[\"websocket\"],po=6048e5,go=3e3,mo={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\"};function yo(e){const{context:t}=e;io.RemoteCommunication(`[RemoteCommunication: clean()] context=${t}`),e.channelConfig=void 0,e.ready=!1,e.originatorConnectStarted=!1}var vo,bo,wo,Eo,Co,So,_o;(_o=vo||(vo={})).DISCONNECTED=\"disconnected\",_o.WAITING=\"waiting\",_o.TIMEOUT=\"timeout\",_o.LINKED=\"linked\",_o.PAUSED=\"paused\",_o.TERMINATED=\"terminated\",function(e){e.KEY_INFO=\"key_info\",e.SERVICE_STATUS=\"service_status\",e.PROVIDER_UPDATE=\"provider_update\",e.RPC_UPDATE=\"rpc_update\",e.KEYS_EXCHANGED=\"keys_exchanged\",e.JOIN_CHANNEL=\"join_channel\",e.PUBLIC_KEY=\"public_key\",e.CHANNEL_CREATED=\"channel_created\",e.CLIENTS_CONNECTED=\"clients_connected\",e.CLIENTS_DISCONNECTED=\"clients_disconnected\",e.CLIENTS_WAITING=\"clients_waiting\",e.CLIENTS_READY=\"clients_ready\",e.REJECTED=\"rejected\",e.WALLET_INIT=\"wallet_init\",e.CHANNEL_PERSISTENCE=\"channel_persistence\",e.CONFIG=\"config\",e.MESSAGE_ACK=\"ack\",e.SOCKET_DISCONNECTED=\"socket_disconnected\",e.SOCKET_RECONNECT=\"socket_reconnect\",e.OTP=\"otp\",e.SDK_RPC_CALL=\"sdk_rpc_call\",e.AUTHORIZED=\"authorized\",e.CONNECTION_STATUS=\"connection_status\",e.MESSAGE=\"message\",e.TERMINATE=\"terminate\"}(bo||(bo={})),(wo||(wo={})).KEY_EXCHANGE=\"key_exchange\",function(e){e.KEY_HANDSHAKE_START=\"key_handshake_start\",e.KEY_HANDSHAKE_CHECK=\"key_handshake_check\",e.KEY_HANDSHAKE_SYN=\"key_handshake_SYN\",e.KEY_HANDSHAKE_SYNACK=\"key_handshake_SYNACK\",e.KEY_HANDSHAKE_ACK=\"key_handshake_ACK\",e.KEY_HANDSHAKE_WALLET=\"key_handshake_wallet\",e.KEY_HANDSHAKE_NONE=\"none\"}(Eo||(Eo={}));class ko extends r{constructor({communicationLayer:e,otherPublicKey:t,context:n,ecies:r,logging:i}){super(),this.keysExchanged=!1,this.step=Eo.KEY_HANDSHAKE_NONE,this.debug=!1,this.context=n,this.communicationLayer=e,(null==r?void 0:r.privateKey)&&t&&(io.KeyExchange(`[KeyExchange: constructor()] otherPubKey=${t} set keysExchanged to true!`,r),this.keysExchanged=!0),this.myECIES=new lo(Object.assign(Object.assign({},r),{debug:null==i?void 0:i.eciesLayer})),this.communicationLayer.state.eciesInstance=this.myECIES,this.myPublicKey=this.myECIES.getPublicKey(),this.debug=!0===(null==i?void 0:i.keyExchangeLayer),t&&this.setOtherPublicKey(t),this.communicationLayer.on(wo.KEY_EXCHANGE,this.onKeyExchangeMessage.bind(this))}onKeyExchangeMessage(e){const{relayPersistence:t}=this.communicationLayer.remote.state;if(io.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} keysExchanged=${this.keysExchanged} relayPersistence=${t}`,e),t)return void io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Ignoring key exchange message because relay persistence is activated\");const{message:n}=e;this.keysExchanged&&io.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} received handshake while already exchanged. step=${this.step} otherPubKey=${this.otherPublicKey}`),this.emit(bo.KEY_INFO,n.type),n.type===Eo.KEY_HANDSHAKE_SYN?(this.checkStep([Eo.KEY_HANDSHAKE_NONE,Eo.KEY_HANDSHAKE_ACK]),io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYN\",n),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey}).catch((e=>{io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_SYNACK\",e)})),this.setStep(Eo.KEY_HANDSHAKE_ACK)):n.type===Eo.KEY_HANDSHAKE_SYNACK?(this.checkStep([Eo.KEY_HANDSHAKE_SYNACK,Eo.KEY_HANDSHAKE_ACK,Eo.KEY_HANDSHAKE_NONE]),io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYNACK\"),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}).catch((e=>{io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_ACK\",e)})),this.keysExchanged=!0,this.setStep(Eo.KEY_HANDSHAKE_ACK),this.emit(bo.KEYS_EXCHANGED)):n.type===Eo.KEY_HANDSHAKE_ACK&&(io.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_ACK set keysExchanged to true!\"),this.checkStep([Eo.KEY_HANDSHAKE_ACK,Eo.KEY_HANDSHAKE_NONE]),this.keysExchanged=!0,this.setStep(Eo.KEY_HANDSHAKE_ACK),this.emit(bo.KEYS_EXCHANGED))}resetKeys(e){this.clean(),this.myECIES=new lo(e)}clean(){io.KeyExchange(`[KeyExchange: clean()] context=${this.context} reset handshake state`),this.setStep(Eo.KEY_HANDSHAKE_NONE),this.emit(bo.KEY_INFO,this.step),this.keysExchanged=!1}start({isOriginator:e,force:t}){const{relayPersistence:n,protocolVersion:r}=this.communicationLayer.remote.state,i=r>=2;n?io.KeyExchange(\"[KeyExchange: start()] Ignoring key exchange message because relay persistence is activated\"):(io.KeyExchange(`[KeyExchange: start()] context=${this.context} protocolVersion=${r} isOriginator=${e} step=${this.step} force=${t} relayPersistence=${n} keysExchanged=${this.keysExchanged}`),e?!(this.keysExchanged||this.step!==Eo.KEY_HANDSHAKE_NONE&&this.step!==Eo.KEY_HANDSHAKE_SYNACK)||t?(io.KeyExchange(`[KeyExchange: start()] context=${this.context} -- start key exchange (force=${t}) -- step=${this.step}`,this.step),this.clean(),this.setStep(Eo.KEY_HANDSHAKE_SYNACK),this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYN,pubkey:this.myPublicKey,v:2}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYN\",e)}))):io.KeyExchange(`[KeyExchange: start()] context=${this.context} -- key exchange already ${this.keysExchanged?\"done\":\"in progress\"} -- aborted.`,this.step):this.keysExchanged&&!0!==t?io.KeyExchange(\"[KeyExchange: start()] don't send KEY_HANDSHAKE_START -- exchange already done.\"):i?this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey,v:2}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYNACK\",e)})):(this.communicationLayer.sendMessage({type:Eo.KEY_HANDSHAKE_START}).catch((e=>{io.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_START\",e)})),this.clean()))}setStep(e){this.step=e,this.emit(bo.KEY_INFO,e)}checkStep(e){e.length>0&&e.indexOf(this.step.toString())}setRelayPersistence({localKey:e,otherKey:t}){this.otherPublicKey=t,this.myECIES=new lo({privateKey:e,debug:this.debug}),this.keysExchanged=!0}setKeysExchanged(e){this.keysExchanged=e}areKeysExchanged(){return this.keysExchanged}getMyPublicKey(){return this.myPublicKey}getOtherPublicKey(){return this.otherPublicKey}setOtherPublicKey(e){io.KeyExchange(\"[KeyExchange: setOtherPubKey()]\",e),this.otherPublicKey=e}encryptMessage(e){if(!this.otherPublicKey)throw new Error(\"encryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.encrypt(e,this.otherPublicKey)}decryptMessage(e){if(!this.otherPublicKey)throw new Error(\"decryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.decrypt(e)}getKeyInfo(){return{ecies:Object.assign(Object.assign({},this.myECIES.getKeyInfo()),{otherPubKey:this.otherPublicKey}),step:this.step,keysExchanged:this.areKeysExchanged()}}toString(){const e={keyInfo:this.getKeyInfo(),keysExchanged:this.keysExchanged,step:this.step};return JSON.stringify(e)}}!function(e){e.TERMINATE=\"terminate\",e.ANSWER=\"answer\",e.OFFER=\"offer\",e.CANDIDATE=\"candidate\",e.JSONRPC=\"jsonrpc\",e.WALLET_INFO=\"wallet_info\",e.WALLET_INIT=\"wallet_init\",e.ORIGINATOR_INFO=\"originator_info\",e.PAUSE=\"pause\",e.OTP=\"otp\",e.AUTHORIZED=\"authorized\",e.PING=\"ping\",e.READY=\"ready\"}(Co||(Co={})),function(e){e.REQUEST=\"sdk_connect_request_started\",e.REQUEST_MOBILE=\"sdk_connect_request_started_mobile\",e.RECONNECT=\"sdk_reconnect_request_started\",e.CONNECTED=\"sdk_connection_established\",e.CONNECTED_MOBILE=\"sdk_connection_established_mobile\",e.AUTHORIZED=\"sdk_connection_authorized\",e.REJECTED=\"sdk_connection_rejected\",e.TERMINATED=\"sdk_connection_terminated\",e.DISCONNECTED=\"sdk_disconnected\",e.SDK_USE_EXTENSION=\"sdk_use_extension\",e.SDK_RPC_REQUEST=\"sdk_rpc_request\",e.SDK_RPC_REQUEST_RECEIVED=\"sdk_rpc_request_received\",e.SDK_RPC_REQUEST_DONE=\"sdk_rpc_request_done\",e.SDK_EXTENSION_UTILIZED=\"sdk_extension_utilized\",e.SDK_USE_INAPP_BROWSER=\"sdk_use_inapp_browser\"}(So||(So={}));const xo=(e,t,n)=>a(void 0,void 0,void 0,(function*(){var r,i,o,s,a,c;const{remote:l,state:d}=e,{channelId:u,isOriginator:h}=d;if(\"error_terminated\"===t)return io.SocketService(`handleJoinChannelResults: Channel ${u} terminated`),void e.emit(bo.TERMINATE);if(!n)return void io.SocketService(`handleJoinChannelResults: No result for channel ${u}`);const{persistence:f,walletKey:p,rejected:g}=n;if(io.SocketService(`handleJoinChannelResults: Channel ${u} persistence=${f} walletKey=${p} rejected=${g}`),g)return io.SocketService(`handleJoinChannelResults: Channel ${u} rejected`),yield e.remote.disconnect({terminate:!0}),e.remote.emit(bo.REJECTED,{channelId:u}),void e.remote.emitServiceStatusEvent();if(p&&!(null===(r=l.state.channelConfig)||void 0===r?void 0:r.otherKey)){e.getKeyExchange().setOtherPublicKey(p),null===(i=e.state.keyExchange)||void 0===i||i.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(bo.AUTHORIZED);const{communicationLayer:t,storageManager:n}=l.state,r=Object.assign(Object.assign({},l.state.channelConfig),{channelId:null!==(o=l.state.channelId)&&void 0!==o?o:\"\",validUntil:Date.now()+po,localKey:null==t?void 0:t.getKeyInfo().ecies.private,otherKey:p});e.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}).catch((e=>{})),null===(s=e.state.socket)||void 0===s||s.emit(Co.PING,{id:u,clientType:h?\"dapp\":\"wallet\",context:\"on_channel_reconnect\",message:\"\"}),yield null==n?void 0:n.persistChannelConfig(r),l.emitServiceStatusEvent(),l.setConnectionStatus(vo.LINKED)}f&&(e.emit(bo.CHANNEL_PERSISTENCE),null===(a=e.state.keyExchange)||void 0===a||a.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(bo.AUTHORIZED),co(Object.assign(Object.assign({id:null!=u?u:\"\",event:h?So.CONNECTED:So.CONNECTED_MOBILE},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:uo.version,walletVersion:null===(c=e.remote.state.walletInfo)||void 0===c?void 0:c.version}),d.communicationServerUrl).catch((e=>{})))})),Mo=e=>new Promise((t=>{setTimeout(t,e)})),Ao=(e,t,...n)=>a(void 0,[e,t,...n],void 0,(function*(e,t,n=200){let r;const i=Date.now();let o=!1;for(;!o;){if(o=Date.now()-i>3e5,r=t[e],void 0!==r.elapsedTime)return r;yield Mo(n)}throw new Error(`RPC ${e} timed out`)})),Io=e=>a(void 0,void 0,void 0,(function*(){const{state:t}=e,{socket:n,channelId:r,context:i,isOriginator:o,isReconnecting:s}=t;if(s)return io.SocketService(\"[SocketService: reconnectSocket()] Reconnection already in progress, skipping\",e),!1;if(!n)return io.SocketService(\"[SocketService: reconnectSocket()] socket is not defined\",e),!1;if(!r)return!1;const{connected:c}=n;t.isReconnecting=!0,t.reconnectionAttempts=0,io.SocketService(`[SocketService: reconnectSocket()] connected=${c} trying to reconnect after socketio disconnection`,e);try{for(;3>t.reconnectionAttempts;){if(io.SocketService(`[SocketService: reconnectSocket()] Attempt ${t.reconnectionAttempts+1} of 3`,e),yield Mo(200),n.connected)return io.SocketService(\"Socket already connected --- ping to retrieve messages\"),n.emit(Co.PING,{id:r,clientType:o?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),!0;t.resumed=!0,n.connect(),e.emit(bo.SOCKET_RECONNECT);try{if(yield new Promise(((t,s)=>{n.emit(bo.JOIN_CHANNEL,{channelId:r,context:`${i}connect_again`,clientType:o?\"dapp\":\"wallet\"},((n,r)=>a(void 0,void 0,void 0,(function*(){try{yield xo(e,n,r),t()}catch(e){s(e)}}))))})),yield Mo(100),n.connected)return io.SocketService(`Reconnection successful on attempt ${t.reconnectionAttempts+1}`),!0}catch(e){io.SocketService(`Error during reconnection attempt ${t.reconnectionAttempts+1}:`,e)}t.reconnectionAttempts+=1,3>t.reconnectionAttempts&&(yield Mo(200))}return io.SocketService(\"Failed to reconnect after 3 attempts\"),!1}finally{t.isReconnecting=!1,t.reconnectionAttempts=0}}));function Ro(e,t){return a(this,void 0,void 0,(function*(){var n;const r=null===(n=e.state.keyExchange)||void 0===n?void 0:n.encryptMessage(JSON.stringify(t)),i={id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:r,plaintext:e.state.hasPlaintext?JSON.stringify(t):void 0};return io.SocketService(`[SocketService: encryptAndSendMessage()] context=${e.state.context}`,i),t.type===Co.TERMINATE&&(e.state.manualDisconnect=!0),new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(bo.MESSAGE,i,((e,r)=>{var i;e&&(io.SocketService(`[SocketService: encryptAndSendMessage()] error=${e}`),n(e)),io.SocketService(\"[encryptAndSendMessage] response\",r),t(null!==(i=null==r?void 0:r.success)&&void 0!==i&&i)}))}))}))}var Po;!function(e){e.RPC_CHECK=\"rpcCheck\",e.SKIPPED_RPC=\"skippedRpc\"}(Po||(Po={}));const Lo=[\"eth_sendTransaction\",\"eth_signTypedData\",\"eth_signTransaction\",\"personal_sign\",\"wallet_requestPermissions\",\"wallet_switchEthereumChain\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"metamask_connectSign\",\"metamask_connectWith\",\"metamask_batch\"].map((e=>e.toLowerCase()));const Oo=[{event:bo.CLIENTS_CONNECTED,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var n,r,i,o,s,a,c,l,d,u,h;const f=null!==(r=null===(n=e.remote.state.channelConfig)||void 0===n?void 0:n.relayPersistence)&&void 0!==r&&r;if(io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected-${t}' relayPersistence=${f} resumed=${e.state.resumed}  clientsPaused=${e.state.clientsPaused} keysExchanged=${null===(i=e.state.keyExchange)||void 0===i?void 0:i.areKeysExchanged()} isOriginator=${e.state.isOriginator}`),e.emit(bo.CLIENTS_CONNECTED,{isOriginator:e.state.isOriginator,keysExchanged:null===(o=e.state.keyExchange)||void 0===o?void 0:o.areKeysExchanged(),context:e.state.context}),e.state.resumed)e.state.isOriginator||(io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} 'clients_connected' / keysExchanged=${null===(s=e.state.keyExchange)||void 0===s?void 0:s.areKeysExchanged()} -- backward compatibility`),null===(a=e.state.keyExchange)||void 0===a||a.start({isOriginator:null!==(c=e.state.isOriginator)&&void 0!==c&&c})),e.state.resumed=!1;else if(e.state.clientsPaused)io.SocketService(\"[SocketService: handleClientsConnected()] 'clients_connected' skip sending originatorInfo on pause\");else if(!e.state.isOriginator){const t=!f;io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(l=e.state.keyExchange)||void 0===l?void 0:l.areKeysExchanged()} -- force=${t} -- backward compatibility`),io.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(d=e.state.keyExchange)||void 0===d?void 0:d.areKeysExchanged()} -- force=${t} -- backward compatibility`),null===(u=e.state.keyExchange)||void 0===u||u.start({isOriginator:null!==(h=e.state.isOriginator)&&void 0!==h&&h,force:t})}e.state.clientsConnected=!0,e.state.clientsPaused=!1}))}},{event:bo.CHANNEL_CREATED,handler:function(e,t){return n=>{io.SocketService(`[SocketService: handleChannelCreated()] context=${e.state.context} on 'channel_created-${t}'`,n),e.emit(bo.CHANNEL_CREATED,n)}}},{event:bo.CLIENTS_DISCONNECTED,handler:function(e,t){return()=>{var n;e.state.clientsConnected=!1,io.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}'`),e.remote.state.relayPersistence?io.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}' - relayPersistence enabled, skipping key exchange cleanup.`):(e.state.isOriginator&&!e.state.clientsPaused&&(null===(n=e.state.keyExchange)||void 0===n||n.clean()),e.emit(bo.CLIENTS_DISCONNECTED,t))}}},{event:bo.CONFIG,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var r,i,o;io.SocketService(`[SocketService: handleChannelConfig()] update relayPersistence on 'config-${t}'`,n);const{persistence:s,walletKey:a}=n;e.state.isOriginator&&e.remote.state.channelConfig?(n.walletKey&&!e.remote.state.channelConfig.otherKey&&(io.SocketService(`Setting wallet key ${a}`),e.remote.state.channelConfig.otherKey=a,e.getKeyExchange().setOtherPublicKey(n.walletKey),null===(r=e.state.keyExchange)||void 0===r||r.setKeysExchanged(!0),yield e.remote.sendMessage({type:Eo.KEY_HANDSHAKE_ACK}),yield e.remote.sendMessage({type:Co.PING}),yield null===(i=e.remote.state.storageManager)||void 0===i?void 0:i.persistChannelConfig(e.remote.state.channelConfig)),!0!==s||e.remote.state.channelConfig.relayPersistence||(io.SocketService(`Setting relay persistence ${s}`),e.remote.state.channelConfig.relayPersistence=s,e.remote.state.relayPersistence=!0,e.remote.emit(bo.CHANNEL_PERSISTENCE),e.remote.state.authorized=!0,e.remote.state.ready=!0,e.remote.emit(bo.AUTHORIZED),yield null===(o=e.remote.state.storageManager)||void 0===o?void 0:o.persistChannelConfig(e.remote.state.channelConfig))):e.state.isOriginator||n.persistence&&(e.remote.state.relayPersistence=!0,e.remote.emit(bo.CHANNEL_PERSISTENCE))}))}},{event:bo.MESSAGE,handler:function(e,t){return n=>{var r,i,o,s,a,c,l,d,u,h,f,p,g,m,y,v,b,w;const{ackId:E,message:C,error:S}=n,_=null!==(r=e.remote.state.relayPersistence)&&void 0!==r&&r;if(io.SocketService(`[SocketService handleMessage()]  relayPersistence=${_}  context=${e.state.context} on 'message' ${t} keysExchanged=${null===(i=e.state.keyExchange)||void 0===i?void 0:i.areKeysExchanged()}`,n),S)throw io.SocketService(`\\n      [SocketService handleMessage()] context=${e.state.context}::on 'message' error=${S}`),new Error(S);const k=\"string\"==typeof C;if(!k&&(null==C?void 0:C.type)===Eo.KEY_HANDSHAKE_START){if(_)return;return io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received HANDSHAKE_START isOriginator=${e.state.isOriginator}`,C),void(null===(o=e.state.keyExchange)||void 0===o||o.start({isOriginator:null!==(s=e.state.isOriginator)&&void 0!==s&&s,force:!0}))}if(!k&&(null===(a=null==C?void 0:C.type)||void 0===a?void 0:a.startsWith(\"key_handshake\"))){if(_)return;return io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' emit KEY_EXCHANGE`,C),void e.emit(wo.KEY_EXCHANGE,{message:C,context:e.state.context})}if(k&&!(null===(c=e.state.keyExchange)||void 0===c?void 0:c.areKeysExchanged())){let t=!1;try{io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' trying to decrypt message`),null===(l=e.state.keyExchange)||void 0===l||l.decryptMessage(C),t=!0}catch(t){io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' error`,t)}if(!t)return e.state.isOriginator?null===(u=e.state.keyExchange)||void 0===u||u.start({isOriginator:null!==(h=e.state.isOriginator)&&void 0!==h&&h}):e.sendMessage({type:Eo.KEY_HANDSHAKE_START}).catch((e=>{})),void io.SocketService(`Message ignored because invalid key exchange status. step=${null===(f=e.state.keyExchange)||void 0===f?void 0:f.getKeyInfo().step}`,null===(p=e.state.keyExchange)||void 0===p?void 0:p.getKeyInfo(),C);io.SocketService(\"Invalid key exchange status detected --- updating it.\"),null===(d=e.state.keyExchange)||void 0===d||d.setKeysExchanged(!0)}else if(!k&&(null==C?void 0:C.type))return void e.emit(bo.MESSAGE,C);if(!k)return void e.emit(bo.MESSAGE,C);const x=null===(g=e.state.keyExchange)||void 0===g?void 0:g.decryptMessage(C),M=JSON.parse(null!=x?x:\"{}\");if(E&&(null==E?void 0:E.length)>0&&(io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' ackid=${E} channelId=${t}`),null===(m=e.state.socket)||void 0===m||m.emit(bo.MESSAGE_ACK,{ackId:E,channelId:t,clientType:e.state.isOriginator?\"dapp\":\"wallet\"})),e.state.clientsPaused=(null==M?void 0:M.type)===Co.PAUSE,e.state.isOriginator&&M.data){const t=M.data,n=e.state.rpcMethodTracker[t.id];if(n){const r=Date.now()-n.timestamp;io.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received answer for id=${t.id} method=${n.method} responseTime=${r}`,M),e.remote.state.analytics&&Lo.includes(n.method.toLowerCase())&&co(Object.assign(Object.assign({id:null!==(y=e.remote.state.channelId)&&void 0!==y?y:\"\",event:So.SDK_RPC_REQUEST_DONE,sdkVersion:e.remote.state.sdkVersion,commLayerVersion:uo.version},e.remote.state.originatorInfo),{walletVersion:null===(v=e.remote.state.walletInfo)||void 0===v?void 0:v.version,params:{method:n.method,from:\"mobile\"}}),e.remote.state.communicationServerUrl).catch((e=>{}));const i=Object.assign(Object.assign({},n),{result:t.result,error:t.error?{code:null===(b=t.error)||void 0===b?void 0:b.code,message:null===(w=t.error)||void 0===w?void 0:w.message}:void 0,elapsedTime:r});e.state.rpcMethodTracker[t.id]=i,e.emit(bo.RPC_UPDATE,i)}}e.emit(bo.MESSAGE,{message:M})}}},{event:bo.REJECTED,handler:function(e,t){return n=>a(this,void 0,void 0,(function*(){var n;e.state.isOriginator&&!e.remote.state.ready?(io.SocketService(`[SocketService: handleChannelRejected()] context=${e.state.context} channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`,e.remote.state.originatorInfo),co(Object.assign(Object.assign({id:t,event:So.REJECTED},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:uo.version,walletVersion:null===(n=e.remote.state.walletInfo)||void 0===n?void 0:n.version}),e.remote.state.communicationServerUrl).catch((e=>{})),yield e.remote.disconnect({terminate:!0}),e.remote.emit(bo.REJECTED,{channelId:t}),e.remote.setConnectionStatus(vo.DISCONNECTED)):io.SocketService(`[SocketService: handleChannelRejected()] SKIP -- channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`)}))}},{event:\"clients_waiting_to_join\",handler:function(e,t){return n=>{io.SocketService(`[SocketService: handleClientsWaitingToJoin()] context=${e.state.context} on 'clients_waiting_to_join-${t}'`,n),e.emit(bo.CLIENTS_WAITING,n)}}}],To=[{event:bo.KEY_INFO,handler:function(e){return t=>{io.SocketService(\"[SocketService: handleKeyInfo()] on 'KEY_INFO'\",t),e.emit(bo.KEY_INFO,t)}}},{event:bo.KEYS_EXCHANGED,handler:function(e){return()=>{var t,n,r;io.SocketService(`[SocketService: handleKeysExchanged()] on 'keys_exchanged' keyschanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`);const{channelConfig:i}=e.remote.state;if(i){const t=e.getKeyExchange().getKeyInfo().ecies;i.localKey=t.private,i.otherKey=t.otherPubKey,e.remote.state.channelConfig=i,null===(n=e.remote.state.storageManager)||void 0===n||n.persistChannelConfig(i).catch((e=>{}))}e.emit(bo.KEYS_EXCHANGED,{keysExchanged:null===(r=e.state.keyExchange)||void 0===r?void 0:r.areKeysExchanged(),isOriginator:e.state.isOriginator});const o={keyInfo:e.getKeyInfo()};e.emit(bo.SERVICE_STATUS,o)}}}];function No(e,t){io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} setting socket listeners for channel ${t}...`);const{socket:n}=e.state,{keyExchange:r}=e.state;n&&e.state.isOriginator&&(e.state.debug&&(null==n||n.io.on(\"error\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=error`,t)})),null==n||n.io.on(\"reconnect\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect`,t),Io(e).catch((e=>{}))})),null==n||n.io.on(\"reconnect_error\",(t=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_error`,t)})),null==n||n.io.on(\"reconnect_failed\",(()=>{io.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_failed`)}))),null==n||n.on(\"disconnect\",(t=>(io.SocketService(`[SocketService: setupChannelListener()] on 'disconnect' -- MetaMaskSDK socket disconnected '${t}' begin recovery...`),function(e){return t=>{io.SocketService(`[SocketService: handleDisconnect()] on 'disconnect' manualDisconnect=${e.state.manualDisconnect}`,t),e.state.manualDisconnect||(e.emit(bo.SOCKET_DISCONNECTED),Io(e).catch((e=>{})))}}(e)(t))))),Oo.forEach((({event:r,handler:i})=>{null==n||n.on(`${r}-${t}`,i(e,t))})),To.forEach((({event:t,handler:n})=>{null==r||r.on(t,n(e))})),e.state.setupChannelListeners=!0}class Do extends r{constructor(e){super(),this.state={clientsConnected:!1,clientsPaused:!1,manualDisconnect:!1,lastRpcId:void 0,rpcMethodTracker:{},hasPlaintext:!1,communicationServerUrl:\"\",focusListenerAdded:!1,removeFocusListener:void 0,isReconnecting:!1,reconnectionAttempts:0},this.options=e;const{reconnect:n,communicationLayerPreference:r,communicationServerUrl:i,context:o,remote:s,logging:a}=e;this.state.resumed=n,this.state.context=o,this.state.isOriginator=s.state.isOriginator,this.state.communicationLayerPreference=r,this.state.debug=!0===(null==a?void 0:a.serviceLayer),this.remote=s,!0===(null==a?void 0:a.serviceLayer)&&t.enable(\"SocketService:Layer\"),this.state.communicationServerUrl=i,this.state.hasPlaintext=this.state.communicationServerUrl!==ho&&!0===(null==a?void 0:a.plaintext),io.SocketService(`[SocketService: constructor()] Socket IO url: ${this.state.communicationServerUrl}`),this.initSocket()}initSocket(){var e;const{otherPublicKey:t,ecies:n,logging:r}=this.options,i={autoConnect:!1,transports:fo,withCredentials:!0},o=this.state.communicationServerUrl;io.SocketService(`[SocketService: initSocket()] Socket IO url: ${o}`),this.state.socket=s(o,i),function(e){if(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&(io.SocketService(`[SocketService: setupSocketFocusListener()] hasFocus=${document.hasFocus()}`,e),!e.state.focusListenerAdded)){const t=()=>{io.SocketService(\"Document has focus --- reconnecting socket\"),Io(e).catch((e=>{}))};window.addEventListener(\"focus\",t),e.state.focusListenerAdded=!0,e.state.removeFocusListener=()=>{window.removeEventListener(\"focus\",t),e.state.focusListenerAdded=!1}}}(this);const a={communicationLayer:this,otherPublicKey:t,sendPublicKey:!1,context:null!==(e=this.state.context)&&void 0!==e?e:\"\",ecies:n,logging:r};this.state.keyExchange=new ko(a)}resetKeys(){return io.SocketService(\"[SocketService: resetKeys()] Resetting keys.\"),void(null===(e=this.state.keyExchange)||void 0===e||e.resetKeys());var e}createChannel(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t,n,r;if(io.SocketService(`[SocketService: createChannel()] context=${e.state.context}`),e.state.socket||e.initSocket(),null===(t=e.state.socket)||void 0===t?void 0:t.connected)throw new Error(\"socket already connected\");null===(n=e.state.socket)||void 0===n||n.connect(),e.state.manualDisconnect=!1,e.state.isOriginator=!0;const i=o();e.state.channelId=i,No(e,i),yield new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(bo.JOIN_CHANNEL,{channelId:i,context:`${e.state.context}createChannel`,clientType:\"dapp\"},((r,i)=>a(this,void 0,void 0,(function*(){try{yield xo(e,r,i),t()}catch(e){n(e)}}))))}));const s=null===(r=e.state.keyExchange)||void 0===r?void 0:r.getKeyInfo();return{channelId:i,pubKey:(null==s?void 0:s.ecies.public)||\"\",privKey:(null==s?void 0:s.ecies.private)||\"\"}}))}(this)}))}connectToChannel({channelId:e,withKeyExchange:t=!1,authorized:n}){return function(e){return a(this,arguments,void 0,(function*({options:e,instance:t}){const{channelId:n,authorized:r,withKeyExchange:i}=e,{state:o,remote:s}=t,{isOriginator:c=!1,socket:l,keyExchange:d}=o,{channelConfig:u}=s.state;if(null==l?void 0:l.connected)throw new Error(\"socket already connected\");if(c&&(null==u?void 0:u.relayPersistence)){const{localKey:e,otherKey:t}=u;e&&t&&(null==d||d.setRelayPersistence({localKey:e,otherKey:t}))}return Object.assign(o,{manualDisconnect:!1,withKeyExchange:i,isOriginator:c,channelId:n}),null==l||l.connect(),No(t,n),!c&&r&&(null==d||d.setKeysExchanged(!0),Object.assign(s.state,{ready:!0,authorized:!0})),new Promise((e=>{var i;const s=null===(i=null==d?void 0:d.getKeyInfo())||void 0===i?void 0:i.ecies.public;null==l||l.emit(bo.JOIN_CHANNEL,{channelId:n,context:`${o.context}_connectToChannel`,clientType:c?\"dapp\":\"wallet\",publicKey:r&&!c?s:void 0},((n,r)=>a(this,void 0,void 0,(function*(){yield xo(t,n,r),e()}))))}))}))}({options:{channelId:e,withKeyExchange:t,authorized:n},instance:this})}getKeyInfo(){return this.state.keyExchange.getKeyInfo()}keyCheck(){var e,t;null===(t=(e=this).state.socket)||void 0===t||t.emit(bo.MESSAGE,{id:e.state.channelId,context:e.state.context,message:{type:Eo.KEY_HANDSHAKE_CHECK,pubkey:e.getKeyInfo().ecies.otherPubKey}})}getKeyExchange(){return this.state.keyExchange}sendMessage(e){return a(this,void 0,void 0,(function*(){return function(e,t){return a(this,void 0,void 0,(function*(){var n,r,i;if(!e.state.channelId)throw io.SocketService(\"handleSendMessage: no channelId - Create a channel first\"),new Error(\"Create a channel first\");if(io.SocketService(`[SocketService: handleSendMessage()] context=${e.state.context} areKeysExchanged=${null===(n=e.state.keyExchange)||void 0===n?void 0:n.areKeysExchanged()}`,t),null===(r=null==t?void 0:t.type)||void 0===r?void 0:r.startsWith(\"key_handshake\"))return function(e,t){var n;io.SocketService(`[SocketService: handleKeyHandshake()] context=${e.state.context}`,t),null===(n=e.state.socket)||void 0===n||n.emit(bo.MESSAGE,{id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:t})}(e,t),!0;!function(e,t){var n;if(!(null===(n=e.state.keyExchange)||void 0===n?void 0:n.areKeysExchanged())&&!e.remote.state.relayPersistence)throw io.SocketService(`[SocketService: validateKeyExchange()] context=${e.state.context} ERROR keys not exchanged`,t),new Error(\"Keys not exchanged BBB\")}(e,t),function(e,t){var n;const r=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\",i=null==t?void 0:t.id;e.state.isOriginator&&i&&(e.state.rpcMethodTracker[i]={id:i,timestamp:Date.now(),method:r},e.emit(bo.RPC_UPDATE,e.state.rpcMethodTracker[i]))}(e,t);const o=yield Ro(e,t);return e.remote.state.analytics&&e.remote.state.isOriginator&&t.method&&Lo.includes(t.method.toLowerCase())&&co({id:null!==(i=e.remote.state.channelId)&&void 0!==i?i:\"\",event:So.SDK_RPC_REQUEST,params:{method:t.method,from:\"mobile\"}},e.remote.state.communicationServerUrl).catch((e=>{})),function(e,t){return a(this,void 0,void 0,(function*(){var n;const r=null==t?void 0:t.id,i=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\";if(e.state.isOriginator&&r)try{const n=Ao(r,e.state.rpcMethodTracker,200).then((e=>({type:Po.RPC_CHECK,result:e}))),o=(()=>a(this,void 0,void 0,(function*(){const t=yield(e=>a(void 0,[e],void 0,(function*({rpcId:e,instance:t}){for(;t.state.lastRpcId===e||void 0===t.state.lastRpcId;)yield Mo(200);return t.state.lastRpcId})))({instance:e,rpcId:r}),n=yield Ao(t,e.state.rpcMethodTracker,200);return{type:Po.SKIPPED_RPC,result:n}})))(),s=yield Promise.race([n,o]);if(s.type===Po.RPC_CHECK){const e=s.result;io.SocketService(`[SocketService:handleRpcReplies()] id=${t.id} ${i} ( ${e.elapsedTime} ms)`,e.result)}else{if(s.type!==Po.SKIPPED_RPC)throw new Error(`Error handling RPC replies for ${r}`);{const t=Object.assign(Object.assign({},e.state.rpcMethodTracker[r]),{error:new Error(\"SDK_CONNECTION_ISSUE\")});e.emit(bo.RPC_UPDATE,t);const n={data:Object.assign(Object.assign({},t),{jsonrpc:\"2.0\"}),name:\"metamask-provider\"};e.emit(bo.MESSAGE,{message:n})}}}catch(e){throw e}}))}(e,t).catch((e=>{})),o}))}(this,e)}))}ping(){return function(e){return a(this,void 0,void 0,(function*(){var t,n;io.SocketService(`[SocketService: ping()] context=${e.state.context} originator=${e.state.isOriginator} keysExchanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`),null===(n=e.state.socket)||void 0===n||n.emit(Co.PING,{id:e.state.channelId,context:\"ping\",clientType:e.remote.state.isOriginator?\"dapp\":\"wallet\",message:\"\"})}))}(this)}pause(){return function(e){return a(this,void 0,void 0,(function*(){var t,n;io.SocketService(`[SocketService: pause()] context=${e.state.context}`),e.state.manualDisconnect=!0,(null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged())&&(yield e.sendMessage({type:Co.PAUSE})),null===(n=e.state.socket)||void 0===n||n.disconnect()}))}(this)}isConnected(){var e;return null===(e=this.state.socket)||void 0===e?void 0:e.connected}resume(){return function(e){return a(this,void 0,void 0,(function*(){const{state:t,remote:n}=e,{socket:r,channelId:i,context:o,keyExchange:s,isOriginator:c}=t,{isOriginator:l}=n.state;if(io.SocketService(`[SocketService: resume()] channelId=${i} context=${o} connected=${null==r?void 0:r.connected} manualDisconnect=${t.manualDisconnect} resumed=${t.resumed} keysExchanged=${null==s?void 0:s.areKeysExchanged()}`),!i)throw io.SocketService(\"[SocketService: resume()] channelId is not defined\"),new Error(\"ChannelId is not defined\");(null==r?void 0:r.connected)?(io.SocketService(\"[SocketService: resume()] already connected.\"),r.emit(Co.PING,{id:i,clientType:l?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),n.hasRelayPersistence()||(null==s?void 0:s.areKeysExchanged())||(c?yield e.sendMessage({type:Co.READY}):null==s||s.start({isOriginator:!1}))):(null==r||r.connect(),io.SocketService(`[SocketService: resume()] after connecting socket --\\x3e connected=${null==r?void 0:r.connected}`),null==r||r.emit(bo.JOIN_CHANNEL,{channelId:i,context:`${o}_resume`,clientType:l?\"dapp\":\"wallet\"},((t,n)=>a(this,void 0,void 0,(function*(){try{yield xo(e,t,n)}catch(e){}}))))),t.manualDisconnect=!1,t.resumed=!0}))}(this)}getRPCMethodTracker(){return this.state.rpcMethodTracker}disconnect(e){return function(e,t){var n,r,i,o,s;io.SocketService(`[SocketService: disconnect()] context=${e.state.context}`,t),(null==t?void 0:t.terminate)&&(null===(r=(n=e.state).removeFocusListener)||void 0===r||r.call(n),e.state.channelId=t.channelId,null===(i=e.state.socket)||void 0===i||i.removeAllListeners(),null===(o=e.state.keyExchange)||void 0===o||o.clean(),e.remote.state.ready=!1,e.state.socket=void 0,e.state.rpcMethodTracker={}),e.state.manualDisconnect=!0,null===(s=e.state.socket)||void 0===s||s.disconnect()}(this,e)}}var $o,Bo,Ko;function jo(e){return()=>a(this,void 0,void 0,(function*(){var t,n,r;const{state:i}=e;if(i.authorized)return;yield(()=>a(this,void 0,void 0,(function*(){for(;!i.walletInfo;)yield Mo(500)})))();const o=\"7.3\".localeCompare((null===(t=i.walletInfo)||void 0===t?void 0:t.version)||\"\");if(io.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' version=${null===(n=i.walletInfo)||void 0===n?void 0:n.version} compareValue=${o}`),1!==o)return;const s=i.platformType===Bo.MobileWeb||i.platformType===Bo.ReactNative||i.platformType===Bo.MetaMaskMobileWebview;io.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' platform=${i.platformType} secure=${s} channel=${i.channelId} walletVersion=${null===(r=i.walletInfo)||void 0===r?void 0:r.version}`),s&&(i.authorized=!0,e.emit(bo.AUTHORIZED))}))}function Uo(e){return t=>{const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: handleChannelCreatedEvent()] context=${n.context} on 'channel_created' channelId=${t}`),e.emit(bo.CHANNEL_CREATED,t)}}function Ho(e,t){return()=>{var n,r,i,o;const{state:s}=e;io.RemoteCommunication(`[RemoteCommunication: handleClientsConnectedEvent()] on 'clients_connected' channel=${s.channelId} keysExchanged=${null===(r=null===(n=s.communicationLayer)||void 0===n?void 0:n.getKeyInfo())||void 0===r?void 0:r.keysExchanged}`),s.analytics&&co(Object.assign(Object.assign({id:null!==(i=s.channelId)&&void 0!==i?i:\"\",event:s.reconnection?So.RECONNECT:s.isOriginator?So.REQUEST:So.REQUEST_MOBILE},s.originatorInfo),{commLayer:t,sdkVersion:s.sdkVersion,walletVersion:null===(o=s.walletInfo)||void 0===o?void 0:o.version,commLayerVersion:uo.version}),s.communicationServerUrl).catch((e=>{})),s.clientsConnected=!0,s.originatorInfoSent=!1,e.emit(bo.CLIENTS_CONNECTED)}}function Fo(e){return t=>{const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: handleClientsDisconnectedEvent()] context=${n.context} on 'clients_disconnected' channelId=${t}`),n.relayPersistence||(n.clientsConnected=!1,n.ready=!1,n.authorized=!1),e.emit(bo.CLIENTS_DISCONNECTED,n.channelId),e.setConnectionStatus(vo.DISCONNECTED)}}function zo(e){return t=>{var n;const{state:r}=e;if(io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] context=${r.context} on 'clients_waiting' numberUsers=${t} ready=${r.ready} autoStarted=${r.originatorConnectStarted}`),e.setConnectionStatus(vo.WAITING),e.emit(bo.CLIENTS_WAITING,t),r.originatorConnectStarted){io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] on 'clients_waiting' watch autoStarted=${r.originatorConnectStarted} timeout`,r.autoConnectOptions);const t=(null===(n=r.autoConnectOptions)||void 0===n?void 0:n.timeout)||3e3,i=setTimeout((()=>{io.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] setTimeout(${t}) terminate channelConfig`,r.autoConnectOptions),r.originatorConnectStarted=!1,r.ready||e.setConnectionStatus(vo.TIMEOUT),clearTimeout(i)}),t)}}}function qo(e,t){return n=>{var r,i,o,s,a,c,l,d;const{state:u}=e;if(io.RemoteCommunication(`[RemoteCommunication: handleKeysExchangedEvent()] context=${u.context} on commLayer.'keys_exchanged' channel=${u.channelId}`,n),null===(i=null===(r=u.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.keysExchanged){const t=Object.assign(Object.assign({},u.channelConfig),{channelId:null!==(o=u.channelId)&&void 0!==o?o:\"\",validUntil:(null===(s=u.channelConfig)||void 0===s?void 0:s.validUntil)||po,localKey:u.communicationLayer.getKeyInfo().ecies.private,otherKey:u.communicationLayer.getKeyInfo().ecies.otherPubKey});null===(a=u.storageManager)||void 0===a||a.persistChannelConfig(t).catch((e=>{})),e.setConnectionStatus(vo.LINKED)}!function(e,t){var n,r,i,o,s,a,c,l;const{state:d}=e;io.RemoteCommunication(`[RemoteCommunication: setLastActiveDate()] channel=${d.channelId}`,t);const u=Object.assign(Object.assign({},d.channelConfig),{channelId:null!==(n=d.channelId)&&void 0!==n?n:\"\",validUntil:null!==(i=null===(r=d.channelConfig)||void 0===r?void 0:r.validUntil)&&void 0!==i?i:0,relayPersistence:d.relayPersistence,localKey:null===(s=null===(o=d.communicationLayer)||void 0===o?void 0:o.state.keyExchange)||void 0===s?void 0:s.getKeyInfo().ecies.private,otherKey:null===(c=null===(a=d.communicationLayer)||void 0===a?void 0:a.state.keyExchange)||void 0===c?void 0:c.getKeyInfo().ecies.otherPubKey,lastActive:t.getTime()});null===(l=d.storageManager)||void 0===l||l.persistChannelConfig(u)}(e,new Date),u.analytics&&u.channelId&&co(Object.assign(Object.assign({id:u.channelId,event:n.isOriginator?So.CONNECTED:So.CONNECTED_MOBILE},u.originatorInfo),{sdkVersion:u.sdkVersion,commLayer:t,commLayerVersion:uo.version,walletVersion:null===(c=u.walletInfo)||void 0===c?void 0:c.version}),u.communicationServerUrl).catch((e=>{})),u.isOriginator=n.isOriginator,n.isOriginator||(null===(l=u.communicationLayer)||void 0===l||l.sendMessage({type:Co.READY}),u.ready=!0,u.paused=!1),n.isOriginator&&!u.originatorInfoSent&&(null===(d=u.communicationLayer)||void 0===d||d.sendMessage({type:Co.ORIGINATOR_INFO,originatorInfo:u.originatorInfo,originator:u.originatorInfo}),u.originatorInfoSent=!0)}}function Vo(e){return t=>{let n=t;t.message&&(n=n.message),function(e,t){const{state:n}=t;if(io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] context=${n.context} on 'message' typeof=${typeof e}`,e),t.state.ready=!0,n.isOriginator||e.type!==Co.ORIGINATOR_INFO)if(n.isOriginator&&e.type===Co.WALLET_INFO)!function(e,t){const{state:n}=e;n.walletInfo=t.walletInfo,n.paused=!1}(t,e);else{if(n.isOriginator&&e.type===Co.WALLET_INIT)(function(e,t){return a(this,void 0,void 0,(function*(){var n,r,i;const{state:o}=e;if(o.isOriginator){const o=t.data||{};if(\"object\"==typeof o&&\"accounts\"in o&&\"chainId\"in o&&\"walletKey\"in o)try{const{channelConfig:t}=e.state;if(io.RemoteCommunication(\"WALLET_INIT: channelConfig\",JSON.stringify(t,null,2)),t){const s=o.accounts,a=o.chainId,c=o.walletKey;let l,d=!1;\"deeplinkProtocol\"in o&&(d=Boolean(o.deeplinkProtocol),e.state.deeplinkProtocolAvailable=d),\"walletVersion\"in o&&(l=o.walletVersion),yield null===(n=e.state.storageManager)||void 0===n?void 0:n.persistChannelConfig(Object.assign(Object.assign({},t),{otherKey:c,walletVersion:l,deeplinkProtocolAvailable:d,relayPersistence:!0})),yield null===(r=e.state.storageManager)||void 0===r?void 0:r.persistAccounts(s),yield null===(i=e.state.storageManager)||void 0===i?void 0:i.persistChainId(a)}e.emit(bo.WALLET_INIT,{accounts:o.accounts,chainId:o.chainId})}catch(n){}}}))})(t,e).catch((e=>{io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===Co.TERMINATE)(function(e){return a(this,void 0,void 0,(function*(){const{state:t}=e;t.isOriginator&&(yield Jo({options:{terminate:!0,sendMessage:!1},instance:e}),e.emit(bo.TERMINATE))}))})(t).catch((e=>{io.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===Co.PAUSE)!function(e){const{state:t}=e;t.paused=!0,e.setConnectionStatus(vo.PAUSED)}(t);else if(e.type===Co.READY&&n.isOriginator)!function(e){const{state:t}=e;e.setConnectionStatus(vo.LINKED);const n=t.paused;t.paused=!1,e.emit(bo.CLIENTS_READY,{isOriginator:t.isOriginator,walletInfo:t.walletInfo}),n&&(t.authorized=!0,e.emit(bo.AUTHORIZED))}(t);else{if(e.type===Co.OTP&&n.isOriginator)return void function(e,t){var n;const{state:r}=e;e.emit(bo.OTP,t.otpAnswer),1===\"6.6\".localeCompare((null===(n=r.walletInfo)||void 0===n?void 0:n.version)||\"\")&&e.emit(bo.SDK_RPC_CALL,{method:mo.ETH_REQUESTACCOUNTS,params:[]})}(t,e);e.type===Co.AUTHORIZED&&n.isOriginator&&function(e){const{state:t}=e;t.authorized=!0,e.emit(bo.AUTHORIZED)}(t)}t.emit(bo.MESSAGE,e)}else!function(e,t){var n;const{state:r}=e;null===(n=r.communicationLayer)||void 0===n||n.sendMessage({type:Co.WALLET_INFO,walletInfo:r.walletInfo}),r.originatorInfo=t.originatorInfo||t.originator,e.emit(bo.CLIENTS_READY,{isOriginator:r.isOriginator,originatorInfo:r.originatorInfo}),r.paused=!1}(t,e)}(n,e)}}function Wo(e){return()=>{const{state:t}=e;io.RemoteCommunication(\"[RemoteCommunication: handleSocketReconnectEvent()] on 'socket_reconnect' -- reset key exchange status / set ready to false\"),t.ready=!1,t.authorized=!1,yo(t),e.emitServiceStatusEvent({context:\"socket_reconnect\"})}}function Go(e){return()=>{const{state:t}=e;io.RemoteCommunication(\"[RemoteCommunication: handleSocketDisconnectedEvent()] on 'socket_Disconnected' set ready to false\"),t.ready=!1}}function Zo(e){return()=>a(this,void 0,void 0,(function*(){var t,n,r,i,o,s,a;const{state:c}=e;io.RemoteCommunication(`[RemoteCommunication: handleFullPersistenceEvent()] context=${c.context}`),e.state.ready=!0,e.state.clientsConnected=!0,e.state.authorized=!0,e.state.relayPersistence=!0,null===(t=e.state.communicationLayer)||void 0===t||t.getKeyExchange().setKeysExchanged(!0),e.emit(bo.KEYS_EXCHANGED,{keysExchanged:!0,isOriginator:!0}),e.emit(bo.AUTHORIZED),e.emit(bo.CLIENTS_READY),e.emit(bo.CHANNEL_PERSISTENCE);try{c.channelConfig=Object.assign(Object.assign({},c.channelConfig),{localKey:null===(n=c.communicationLayer)||void 0===n?void 0:n.getKeyExchange().getKeyInfo().ecies.private,otherKey:null===(r=c.communicationLayer)||void 0===r?void 0:r.getKeyExchange().getOtherPublicKey(),channelId:null!==(i=c.channelId)&&void 0!==i?i:\"\",validUntil:null!==(s=null===(o=c.channelConfig)||void 0===o?void 0:o.validUntil)&&void 0!==s?s:po,relayPersistence:!0}),yield null===(a=c.storageManager)||void 0===a?void 0:a.persistChannelConfig(c.channelConfig)}catch(t){}}))}function Yo({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,ecies:r,communicationServerUrl:i=ho,instance:o}){var s,a,c,l,d,u,h,f,p,g,m;const{state:y}=o;if(io.RemoteCommunication(\"[initCommunicationLayer()] \",JSON.stringify(y,null,2)),e!==$o.SOCKET)throw new Error(\"Invalid communication protocol\");y.communicationLayer=new Do({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,transports:y.transports,communicationServerUrl:i,context:y.context,ecies:r,logging:y.logging,remote:o});let v=\"undefined\"!=typeof document&&document.URL||\"\",b=\"undefined\"!=typeof document&&document.title||\"\";(null===(s=y.dappMetadata)||void 0===s?void 0:s.url)&&(v=y.dappMetadata.url),(null===(a=y.dappMetadata)||void 0===a?void 0:a.name)&&(b=y.dappMetadata.name);const w=null!==(u=null!==(l=null===(c=y.dappMetadata)||void 0===c?void 0:c.name)&&void 0!==l?l:null===(d=y.dappMetadata)||void 0===d?void 0:d.url)&&void 0!==u?u:\"N/A\",E=\"undefined\"!=typeof window&&void 0!==window.location&&null!==(h=window.location.hostname)&&void 0!==h?h:w,C={url:v,title:b,source:null===(f=y.dappMetadata)||void 0===f?void 0:f.source,dappId:E,icon:(null===(p=y.dappMetadata)||void 0===p?void 0:p.iconUrl)||(null===(g=y.dappMetadata)||void 0===g?void 0:g.base64Icon),platform:y.platformType,apiVersion:uo.version,connector:null===(m=y.dappMetadata)||void 0===m?void 0:m.connector};y.originatorInfo=C;const S={[bo.AUTHORIZED]:jo(o),[bo.MESSAGE]:Vo(o),[bo.CHANNEL_PERSISTENCE]:Zo(o),[bo.CLIENTS_CONNECTED]:Ho(o,e),[bo.KEYS_EXCHANGED]:qo(o,e),[bo.SOCKET_DISCONNECTED]:Go(o),[bo.SOCKET_RECONNECT]:Wo(o),[bo.CLIENTS_DISCONNECTED]:Fo(o),[bo.KEY_INFO]:()=>{},[bo.CHANNEL_CREATED]:Uo(o),[bo.CLIENTS_WAITING]:zo(o),[bo.RPC_UPDATE]:e=>{o.emit(bo.RPC_UPDATE,e)}};for(const[t,n]of Object.entries(S))try{y.communicationLayer.on(t,n)}catch(e){}}function Jo(e){return a(this,arguments,void 0,(function*({options:e,instance:t}){const{state:n}=t;return io.RemoteCommunication(`[RemoteCommunication: disconnect()] channel=${n.channelId}`,e),new Promise(((r,i)=>{var s,a,c,l,d,u;(null==e?void 0:e.terminate)?(t.state.ready&&co({id:null!==(s=t.state.channelId)&&void 0!==s?s:\"\",event:So.TERMINATED},t.state.communicationServerUrl).catch((e=>{})),n.ready=!1,n.paused=!1,null===(a=n.storageManager)||void 0===a||a.terminate(null!==(c=n.channelId)&&void 0!==c?c:\"\"),t.state.terminated=!0,e.sendMessage?(null===(l=n.communicationLayer)||void 0===l?void 0:l.getKeyInfo().keysExchanged)&&t.state.communicationLayer&&Ro(t.state.communicationLayer,{type:Co.TERMINATE}).then((()=>{r(!0)})).catch((e=>{i(e)})):r(!0),n.authorized=!1,n.relayPersistence=!1,n.channelId=o(),e.channelId=n.channelId,n.channelConfig=void 0,n.originatorConnectStarted=!1,null===(d=n.communicationLayer)||void 0===d||d.disconnect(e),t.setConnectionStatus(vo.TERMINATED)):(null===(u=n.communicationLayer)||void 0===u||u.disconnect(e),t.setConnectionStatus(vo.DISCONNECTED),r(!0))}))}))}($o||($o={})).SOCKET=\"socket\",function(e){e.NonBrowser=\"nodejs\",e.MetaMaskMobileWebview=\"in-app-browser\",e.DesktopWeb=\"web-desktop\",e.MobileWeb=\"web-mobile\",e.ReactNative=\"react-native\"}(Bo||(Bo={}));class Xo extends r{constructor(e){super(),this.state={ready:!1,authorized:!1,isOriginator:!1,terminated:!1,protocolVersion:1,paused:!1,deeplinkProtocolAvailable:!1,platformType:\"metamask-mobile\",analytics:!1,reconnection:!1,originatorInfoSent:!1,communicationServerUrl:ho,context:\"\",persist:!1,clientsConnected:!1,sessionDuration:po,originatorConnectStarted:!1,debug:!1,_connectionStatus:vo.DISCONNECTED},this._options=e;const{platformType:n,communicationLayerPreference:r,otherPublicKey:i,reconnect:o,walletInfo:s,dappMetadata:a,protocolVersion:c,transports:l,context:d,relayPersistence:u,ecies:h,analytics:f=!1,storage:p,sdkVersion:g,communicationServerUrl:m=ho,logging:y,autoConnect:v={timeout:go}}=e;this.state.otherPublicKey=i,this.state.dappMetadata=a,this.state.walletInfo=s,this.state.transports=l,this.state.platformType=n,this.state.analytics=f,this.state.protocolVersion=null!=c?c:1,this.state.isOriginator=!i,this.state.relayPersistence=u,this.state.communicationServerUrl=m,this.state.context=d,this.state.terminated=!1,this.state.sdkVersion=g,this.setMaxListeners(50),this.setConnectionStatus(vo.DISCONNECTED),(null==p?void 0:p.duration)&&(this.state.sessionDuration=po),this.state.storageOptions=p,this.state.autoConnectOptions=v,this.state.debug=!0===(null==y?void 0:y.remoteLayer),!0===(null==y?void 0:y.remoteLayer)&&t.enable(\"RemoteCommunication:Layer\"),!0===(null==y?void 0:y.serviceLayer)&&t.enable(\"SocketService:Layer\"),!0===(null==y?void 0:y.eciesLayer)&&t.enable(\"ECIES:Layer\"),!0===(null==y?void 0:y.keyExchangeLayer)&&t.enable(\"KeyExchange:Layer\"),this.state.logging=y,(null==p?void 0:p.storageManager)&&(this.state.storageManager=p.storageManager),io.RemoteCommunication(`[RemoteCommunication: constructor()] protocolVersion=${c} relayPersistence=${u} isOriginator=${this.state.isOriginator} communicationLayerPreference=${r} otherPublicKey=${i} reconnect=${o}`),this.state.isOriginator||Yo({communicationLayerPreference:r,otherPublicKey:i,reconnect:o,ecies:h,communicationServerUrl:m,instance:this}),this.emitServiceStatusEvent({context:\"constructor\"})}initFromDappStorage(){return a(this,void 0,void 0,(function*(){var e;if(this.state.storageManager){const t=yield this.state.storageManager.getPersistedChannelConfig({});t&&(this.state.channelConfig=t,this.state.channelId=t.channelId,this.state.deeplinkProtocolAvailable=null!==(e=t.deeplinkProtocolAvailable)&&void 0!==e&&e,t.relayPersistence&&(this.state.authorized=!0,this.state.ready=!0,this.setConnectionStatus(vo.LINKED),yield this.connectToChannel({channelId:t.channelId})))}Yo({communicationLayerPreference:$o.SOCKET,otherPublicKey:this.state.otherPublicKey,reconnect:this._options.reconnect,ecies:this._options.ecies,communicationServerUrl:this.state.communicationServerUrl,instance:this})}))}originatorSessionConnect(){return a(this,void 0,void 0,(function*(){return yield function(e){return a(this,void 0,void 0,(function*(){var t;const{state:n}=e;if(!n.storageManager)return void io.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] no storage manager defined - skip\");const r=yield n.storageManager.getPersistedChannelConfig({});if(io.RemoteCommunication(`[RemoteCommunication: originatorSessionConnect()] autoStarted=${n.originatorConnectStarted} channelConfig`,r),null===(t=n.communicationLayer)||void 0===t?void 0:t.isConnected())return io.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] socket already connected - skip\"),r;if(r){if(r.validUntil>Date.now())return n.channelConfig=r,n.originatorConnectStarted=!0,n.channelId=null==r?void 0:r.channelId,n.reconnection=!0,r;io.RemoteCommunication(\"[RemoteCommunication: autoConnect()] Session has expired\")}n.originatorConnectStarted=!1}))}(this)}))}generateChannelIdConnect(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t,n,r,i,o,s;if(!e.communicationLayer)throw new Error(\"communication layer not initialized\");if(e.ready)throw new Error(\"Channel already connected\");if(e.channelId&&(null===(t=e.communicationLayer)||void 0===t?void 0:t.isConnected()))return e.channelConfig=Object.assign(Object.assign({},e.channelConfig),{channelId:e.channelId,validUntil:Date.now()+e.sessionDuration}),null===(n=e.storageManager)||void 0===n||n.persistChannelConfig(e.channelConfig),{channelId:e.channelId,privKey:null===(i=null===(r=e.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.ecies.private,pubKey:null===(s=null===(o=e.communicationLayer)||void 0===o?void 0:o.getKeyInfo())||void 0===s?void 0:s.ecies.public};io.RemoteCommunication(\"[RemoteCommunication: generateChannelId()]\");const a=yield e.communicationLayer.createChannel();io.RemoteCommunication(\"[RemoteCommunication: generateChannelId()] channel created\",a);const c=Object.assign(Object.assign({},e.channelConfig),{channelId:a.channelId,localKey:a.privKey,validUntil:Date.now()+e.sessionDuration});return e.channelId=a.channelId,e.channelConfig=c,{channelId:e.channelId,pubKey:a.pubKey,privKey:a.privKey}}))}(this.state)}))}clean(){return yo(this.state)}connectToChannel({channelId:e,withKeyExchange:t,authorized:n}){return function(e){return a(this,arguments,void 0,(function*({channelId:e,withKeyExchange:t,authorized:n,state:r}){var o,s,a;if(!i(e))throw io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} channelId=${e} withKeyExchange=${t}`),null===(o=r.communicationLayer)||void 0===o?void 0:o.isConnected())return void io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} already connected - interrupt connection.`);r.channelId=e,yield null===(s=r.communicationLayer)||void 0===s?void 0:s.connectToChannel({channelId:e,authorized:n,withKeyExchange:t});const c=Object.assign(Object.assign({},r.channelConfig),{channelId:e,validUntil:Date.now()+r.sessionDuration});r.channelConfig=c,null===(a=r.storageManager)||void 0===a||a.persistChannelConfig(c)}))}({channelId:e,authorized:n,withKeyExchange:t,state:this.state})}sendMessage(e){return function(e,t){return a(this,void 0,void 0,(function*(){var n,r;const{state:i}=e;io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} paused=${i.paused} ready=${i.ready} relayPersistence=${i.relayPersistence} authorized=${i.authorized} socket=${null===(n=i.communicationLayer)||void 0===n?void 0:n.isConnected()} clientsConnected=${i.clientsConnected} status=${i._connectionStatus}`,t),i.relayPersistence||i.ready&&(null===(r=i.communicationLayer)||void 0===r?void 0:r.isConnected())&&i.clientsConnected||(io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context}  SKIP message waiting for MM mobile readiness.`),yield new Promise((t=>{e.once(bo.CLIENTS_READY,t)})),io.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context}  AFTER SKIP / READY -- sending pending message`));try{const n=yield function(e,t){return a(this,void 0,void 0,(function*(){return new Promise((n=>{var r;const{state:i}=e;io.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context} ready=${i.ready} authorized=${i.authorized} method=${t.method}`),!i.isOriginator||i.authorized||i.relayPersistence?null===(r=i.communicationLayer)||void 0===r||r.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)})):e.once(bo.AUTHORIZED,(()=>{var e;io.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context}  AFTER SKIP / AUTHORIZED -- sending pending message`),null===(e=i.communicationLayer)||void 0===e||e.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)}))}))}))}))}(e,t);return n}catch(e){throw e}}))}(this,e)}testStorage(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t;const n=yield null===(t=e.storageManager)||void 0===t?void 0:t.getPersistedChannelConfig();io.RemoteCommunication(\"[RemoteCommunication: testStorage()] res\",n)}))}(this.state)}))}hasDeeplinkProtocol(){return this.state.deeplinkProtocolAvailable}getChannelConfig(){return this.state.channelConfig}isReady(){return this.state.ready}isConnected(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.isConnected()}isAuthorized(){return this.state.authorized}isPaused(){return this.state.paused}getCommunicationLayer(){return this.state.communicationLayer}ping(){return a(this,void 0,void 0,(function*(){var e;io.RemoteCommunication(`[RemoteCommunication: ping()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.ping()}))}testLogger(){io.RemoteCommunication(`testLogger() channel=${this.state.channelId}`),io.SocketService(`testLogger() channel=${this.state.channelId}`),io.Ecies(`testLogger() channel=${this.state.channelId}`),io.KeyExchange(`testLogger() channel=${this.state.channelId}`)}keyCheck(){var e;io.RemoteCommunication(`[RemoteCommunication: keyCheck()] channel=${this.state.channelId}`),null===(e=this.state.communicationLayer)||void 0===e||e.keyCheck()}setConnectionStatus(e){this.state._connectionStatus!==e&&(this.state._connectionStatus=e,this.emit(bo.CONNECTION_STATUS,e),this.emitServiceStatusEvent({context:\"setConnectionStatus\"}))}emitServiceStatusEvent(e={}){this.emit(bo.SERVICE_STATUS,this.getServiceStatus())}getConnectionStatus(){return this.state._connectionStatus}getServiceStatus(){return{originatorInfo:this.state.originatorInfo,keyInfo:this.getKeyInfo(),connectionStatus:this.state._connectionStatus,channelConfig:this.state.channelConfig,channelId:this.state.channelId}}getKeyInfo(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getKeyInfo()}resetKeys(){var e;null===(e=this.state.communicationLayer)||void 0===e||e.resetKeys()}setOtherPublicKey(e){var t;const n=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange();if(!n)throw new Error(\"KeyExchange is not initialized.\");n.getOtherPublicKey()!==e&&n.setOtherPublicKey(e)}pause(){return a(this,void 0,void 0,(function*(){var e;io.RemoteCommunication(`[RemoteCommunication: pause()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.pause(),this.setConnectionStatus(vo.PAUSED)}))}getVersion(){return uo.version}hasRelayPersistence(){var e;return null!==(e=this.state.relayPersistence)&&void 0!==e&&e}resume(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){var t;const{state:n}=e;io.RemoteCommunication(`[RemoteCommunication: resume()] channel=${n.channelId}`),yield null===(t=n.communicationLayer)||void 0===t?void 0:t.resume(),e.setConnectionStatus(vo.LINKED)}))}(this)}))}encrypt(e){var t,n,r;const i=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange(),o=null==i?void 0:i.getOtherPublicKey();if(!o)throw new Error(\"KeyExchange not completed\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.encrypt(e,o)}decrypt(e){var t,n,r;if(!(null===(t=this.state.communicationLayer)||void 0===t?void 0:t.state.eciesInstance))throw new Error(\"ECIES instance is not initialized\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.decrypt(e)}getChannelId(){return this.state.channelId}getRPCMethodTracker(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getRPCMethodTracker()}reject({channelId:e}){return function(e){return a(this,arguments,void 0,(function*({channelId:e,state:t}){var n,r,o;if(!i(e))throw io.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${t.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(t.isOriginator)return void io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} isOriginator=${t.isOriginator} channelId=${e}`);const{socket:s}=null!==(r=null===(n=t.communicationLayer)||void 0===n?void 0:n.state)&&void 0!==r?r:{};(null==s?void 0:s.connected)||(io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket already connected`),null==s||s.connect()),co(Object.assign(Object.assign({id:e,event:So.REJECTED},t.originatorInfo),{sdkVersion:t.sdkVersion,commLayerVersion:uo.version,walletVersion:null===(o=t.walletInfo)||void 0===o?void 0:o.version}),t.communicationServerUrl).catch((e=>{})),yield new Promise(((n,r)=>{null==s||s.emit(bo.REJECTED,{channelId:e},((e,i)=>{io.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket=${null==s?void 0:s.id}`,{error:e,response:i}),e?r(e):n(i)}))}))}))}({channelId:e,state:this.state})}disconnect(e){return a(this,void 0,void 0,(function*(){return Jo({options:e,instance:this})}))}}!function(e){e.RENEW=\"renew\",e.LINK=\"link\"}(Ko||(Ko={}));var Qo=\"ERC721\",es=\"ERC1155\",ts={errors:{disconnected:()=>\"MetaMask: Disconnected from chain. Attempting to connect.\",permanentlyDisconnected:()=>\"MetaMask: Disconnected from MetaMask background. Page reload required.\",sendSiteMetadata:()=>\"MetaMask: Failed to send site metadata. This is an internal error, please report this bug.\",unsupportedSync:e=>`MetaMask: The MetaMask Ethereum provider does not support synchronous methods like ${e} without a callback parameter.`,invalidDuplexStream:()=>\"Must provide a Node.js-style duplex stream.\",invalidNetworkParams:()=>\"MetaMask: Received invalid network parameters. Please report this bug.\",invalidRequestArgs:()=>\"Expected a single, non-array, object argument.\",invalidRequestMethod:()=>\"'args.method' must be a non-empty string.\",invalidRequestParams:()=>\"'args.params' must be an object or array if provided.\",invalidLoggerObject:()=>\"'args.logger' must be an object if provided.\",invalidLoggerMethod:e=>`'args.logger' must include required method '${e}'.`},info:{connected:e=>`MetaMask: Connected to chain with ID \"${e}\".`},warnings:{chainIdDeprecation:\"MetaMask: 'ethereum.chainId' is deprecated and may be removed in the future. Please use the 'eth_chainId' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",networkVersionDeprecation:\"MetaMask: 'ethereum.networkVersion' is deprecated and may be removed in the future. Please use the 'net_version' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",selectedAddressDeprecation:\"MetaMask: 'ethereum.selectedAddress' is deprecated and may be removed in the future. Please use the 'eth_accounts' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",enableDeprecation:\"MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1102\",sendDeprecation:\"MetaMask: 'ethereum.send(...)' is deprecated and may be removed in the future. Please use 'ethereum.sendAsync(...)' or 'ethereum.request(...)' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193\",events:{close:\"MetaMask: The event 'close' is deprecated and may be removed in the future. Please use 'disconnect' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#disconnect\",data:\"MetaMask: The event 'data' is deprecated and will be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\",networkChanged:\"MetaMask: The event 'networkChanged' is deprecated and may be removed in the future. Use 'chainChanged' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#chainchanged\",notification:\"MetaMask: The event 'notification' is deprecated and may be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\"},rpc:{ethDecryptDeprecation:\"MetaMask: The RPC method 'eth_decrypt' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",ethGetEncryptionPublicKeyDeprecation:\"MetaMask: The RPC method 'eth_getEncryptionPublicKey' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",walletWatchAssetNFTExperimental:\"MetaMask: The RPC method 'wallet_watchAsset' is experimental for ERC721/ERC1155 assets and may change in the future.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/blob/main/MIPs/mip-1.md and https://github.com/MetaMask/metamask-improvement-proposals/blob/main/PROCESS-GUIDE.md#proposal-lifecycle\"},experimentalMethods:\"MetaMask: 'ethereum._metamask' exposes non-standard, experimental methods. They may be removed or changed without warning.\"}};function ns(e){const t={ethDecryptDeprecation:!1,ethGetEncryptionPublicKeyDeprecation:!1,walletWatchAssetNFTExperimental:!1};return(n,r,i)=>{t.ethDecryptDeprecation||\"eth_decrypt\"!==n.method?t.ethGetEncryptionPublicKeyDeprecation||\"eth_getEncryptionPublicKey\"!==n.method?!t.walletWatchAssetNFTExperimental&&\"wallet_watchAsset\"===n.method&&[Qo,es].includes(n.params?.type||\"\")&&(e.warn(ts.warnings.rpc.walletWatchAssetNFTExperimental),t.walletWatchAssetNFTExperimental=!0):(e.warn(ts.warnings.rpc.ethGetEncryptionPublicKeyDeprecation),t.ethGetEncryptionPublicKeyDeprecation=!0):(e.warn(ts.warnings.rpc.ethDecryptDeprecation),t.ethDecryptDeprecation=!0),i()}}var rs=4294967295,is=Math.floor(Math.random()*rs);function os(){return(e,t,n,r)=>{const i=e.id,o=is=(is+1)%rs;e.id=o,t.id=o,n((n=>{e.id=i,t.id=i,n()}))}}var ss=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},as=(e,t,n)=>(ss(e,t,\"read from private field\"),n?n.call(e):t.get(e)),cs=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},ls=(e,t,n,r)=>(ss(e,t,\"write to private field\"),t.set(e,n),n),ds=(e,t,n)=>(ss(e,t,\"access private method\"),n),us={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},hs={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}};function fs(e){return Boolean(e)&&\"object\"==typeof e&&!Array.isArray(e)}var ps=(e,t)=>Object.hasOwnProperty.call(e,t);class gs extends TypeError{constructor(e,t){let n;const{message:r,explanation:i,...o}=e,{path:s}=e,a=0===s.length?r:`At path: ${s.join(\".\")} -- ${r}`;super(i??a),null!=i&&(this.cause=a),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function ms(e){return\"object\"==typeof e&&null!=e}function ys(e){return\"symbol\"==typeof e?e.toString():\"string\"==typeof e?JSON.stringify(e):`${e}`}function vs(e,t,n,r){if(!0===e)return;!1===e?e={}:\"string\"==typeof e&&(e={message:e});const{path:i,branch:o}=t,{type:s}=n,{refinement:a,message:c=`Expected a value of type \\`${s}\\`${a?` with refinement \\`${a}\\``:\"\"}, but received: \\`${ys(r)}\\``}=e;return{value:r,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...e,message:c}}function*bs(e,t,n,r){(function(e){return ms(e)&&\"function\"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const i of e){const e=vs(i,t,n,r);e&&(yield e)}}function*ws(e,t,n={}){const{path:r=[],branch:i=[e],coerce:o=!1,mask:s=!1}=n,a={path:r,branch:i};if(o&&(e=t.coercer(e,a),s&&\"type\"!==t.type&&ms(t.schema)&&ms(e)&&!Array.isArray(e)))for(const n in e)void 0===t.schema[n]&&delete e[n];let c=\"valid\";for(const r of t.validator(e,a))r.explanation=n.message,c=\"not_valid\",yield[r,void 0];for(let[l,d,u]of t.entries(e,a)){const t=ws(d,u,{path:void 0===l?r:[...r,l],branch:void 0===l?i:[...i,d],coerce:o,mask:s,message:n.message});for(const n of t)n[0]?(c=null!=n[0].refinement?\"not_refined\":\"not_valid\",yield[n[0],void 0]):o&&(d=n[1],void 0===l?e=d:e instanceof Map?e.set(l,d):e instanceof Set?e.add(d):ms(e)&&(void 0!==d||l in e)&&(e[l]=d))}if(\"not_valid\"!==c)for(const r of t.refiner(e,a))r.explanation=n.message,c=\"not_refined\",yield[r,void 0];\"valid\"===c&&(yield[void 0,e])}class Es{constructor(e){const{type:t,schema:n,validator:r,refiner:i,coercer:o=(e=>e),entries:s=function*(){}}=e;this.type=t,this.schema=n,this.entries=s,this.coercer=o,this.validator=r?(e,t)=>bs(r(e,t),t,this,e):()=>[],this.refiner=i?(e,t)=>bs(i(e,t),t,this,e):()=>[]}assert(e,t){return Cs(e,this,t)}create(e,t){return Ss(e,this,t)}is(e){return _s(e,this)}mask(e,t){return function(e,t,n){const r=ks(e,t,{coerce:!0,mask:!0,message:n});if(r[0])throw r[0];return r[1]}(e,this,t)}validate(e,t={}){return ks(e,this,t)}}function Cs(e,t,n){const r=ks(e,t,{message:n});if(r[0])throw r[0]}function Ss(e,t,n){const r=ks(e,t,{coerce:!0,message:n});if(r[0])throw r[0];return r[1]}function _s(e,t){return!ks(e,t)[0]}function ks(e,t,n={}){const r=ws(e,t,n),i=function(e){const{done:t,value:n}=e.next();return t?void 0:n}(r);if(i[0]){const e=new gs(i[0],(function*(){for(const e of r)e[0]&&(yield e[0])}));return[e,void 0]}return[void 0,i[1]]}function xs(e,t){return new Es({type:e,schema:null,validator:t})}function Ms(e){let t;return new Es({type:\"lazy\",schema:null,*entries(n,r){t??(t=e()),yield*t.entries(n,r)},validator:(n,r)=>(t??(t=e()),t.validator(n,r)),coercer:(n,r)=>(t??(t=e()),t.coercer(n,r)),refiner:(n,r)=>(t??(t=e()),t.refiner(n,r))})}function As(e){return new Es({type:\"array\",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[n,r]of t.entries())yield[n,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${ys(e)}`})}function Is(e){const t=ys(e),n=typeof e;return new Es({type:\"literal\",schema:\"string\"===n||\"number\"===n||\"boolean\"===n?e:null,validator:n=>n===e||`Expected the literal \\`${t}\\`, but received: ${ys(n)}`})}function Rs(){return xs(\"number\",(e=>\"number\"==typeof e&&!isNaN(e)||`Expected a number, but received: ${ys(e)}`))}function Ps(e){const t=e?Object.keys(e):[],n=xs(\"never\",(()=>!1));return new Es({type:\"object\",schema:e||null,*entries(r){if(e&&ms(r)){const i=new Set(Object.keys(r));for(const n of t)i.delete(n),yield[n,r[n],e[n]];for(const e of i)yield[e,r[e],n]}},validator:e=>ms(e)||`Expected an object, but received: ${ys(e)}`,coercer:e=>ms(e)?{...e}:e})}function Ls(e){return new Es({...e,validator:(t,n)=>void 0===t||e.validator(t,n),refiner:(t,n)=>void 0===t||e.refiner(t,n)})}function Os(e,t){return new Es({type:\"record\",schema:null,*entries(n){if(ms(n))for(const r in n){const i=n[r];yield[r,r,e],yield[r,i,t]}},validator:e=>ms(e)||`Expected an object, but received: ${ys(e)}`})}function Ts(){return xs(\"string\",(e=>\"string\"==typeof e||`Expected a string, but received: ${ys(e)}`))}function Ns(e){const t=e.map((e=>e.type)).join(\" | \");return new Es({type:\"union\",schema:null,coercer(t){for(const n of e){const[e,r]=n.validate(t,{coerce:!0});if(!e)return r}return t},validator(n,r){const i=[];for(const t of e){const[...e]=ws(n,t,r),[o]=e;if(!o[0])return[];for(const[t]of e)t&&i.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${ys(n)}`,...i]}})}function Ds(e){return function(e){return function(e){return\"object\"==typeof e&&null!==e&&\"message\"in e}(e)&&\"string\"==typeof e.message?e.message:null==e?\"\":String(e)}(e).replace(/\\.$/u,\"\")}function $s(e,t){return n=e,Boolean(\"string\"==typeof n?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var n}var Bs=class extends Error{constructor(e){super(e.message),this.code=\"ERR_ASSERTION\"}};function Ks(){throw new Error(\"setTimeout has not been defined\")}function js(){throw new Error(\"clearTimeout has not been defined\")}var Us=Ks,Hs=js;function Fs(e){if(Us===setTimeout)return setTimeout(e,0);if((Us===Ks||!Us)&&setTimeout)return Us=setTimeout,setTimeout(e,0);try{return Us(e,0)}catch(t){try{return Us.call(null,e,0)}catch(t){return Us.call(this,e,0)}}}\"function\"==typeof c.setTimeout&&(Us=setTimeout),\"function\"==typeof c.clearTimeout&&(Hs=clearTimeout);var zs,qs=[],Vs=!1,Ws=-1;function Gs(){Vs&&zs&&(Vs=!1,zs.length?qs=zs.concat(qs):Ws=-1,qs.length&&Zs())}function Zs(){if(!Vs){var e=Fs(Gs);Vs=!0;for(var t=qs.length;t;){for(zs=qs,qs=[];++Ws<t;)zs&&zs[Ws].run();Ws=-1,t=qs.length}zs=null,Vs=!1,function(e){if(Hs===clearTimeout)return clearTimeout(e);if((Hs===js||!Hs)&&clearTimeout)return Hs=clearTimeout,clearTimeout(e);try{return Hs(e)}catch(t){try{return Hs.call(null,e)}catch(t){return Hs.call(this,e)}}}(e)}}function Ys(e,t){this.fun=e,this.array=t}Ys.prototype.run=function(){this.fun.apply(null,this.array)};function Js(){}var Xs=Js,Qs=Js,ea=Js,ta=Js,na=Js,ra=Js,ia=Js;var oa=c.performance||{},sa=oa.now||oa.mozNow||oa.msNow||oa.oNow||oa.webkitNow||function(){return(new Date).getTime()};var aa=new Date;var ca={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];qs.push(new Ys(e,t)),1!==qs.length||Vs||Fs(Zs)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:Xs,addListener:Qs,once:ea,off:ta,removeListener:na,removeAllListeners:ra,emit:ia,binding:function(e){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(e){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(e){var t=.001*sa.call(oa),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-aa)/1e3}},la=e=>Ps(e);function da({path:e,branch:t}){const n=e[e.length-1];return ps(t[t.length-2],n)}function ua(e){return new Es({...e,type:`optional ${e.type}`,validator:(t,n)=>!da(n)||e.validator(t,n),refiner:(t,n)=>!da(n)||e.refiner(t,n)})}var ha,fa,pa,ga=Ns([Is(null),xs(\"boolean\",(e=>\"boolean\"==typeof e)),xs(\"finite number\",(e=>_s(e,Rs())&&Number.isFinite(e))),Ts(),As(Ms((()=>ga))),Os(Ts(),Ms((()=>ga)))]),ma=(ha=ga,fa=xs(\"any\",(()=>!0)),pa=e=>(function(e,t,n=\"Assertion failed\",r=Bs){try{Cs(e,t)}catch(e){throw $s(r,`${n}: ${Ds(e)}.`)}}(e,ga),JSON.parse(JSON.stringify(e,((e,t)=>{if(\"__proto__\"!==e&&\"constructor\"!==e)return t})))),new Es({...ha,coercer:(e,t)=>_s(e,fa)?ha.coercer(pa(e,t),t):ha.coercer(e,t)}));function ya(e){try{return function(e){Ss(e,ma)}(e),!0}catch{return!1}}var va=Is(\"2.0\"),ba=function(e){return new Es({...e,validator:(t,n)=>null===t||e.validator(t,n),refiner:(t,n)=>null===t||e.refiner(t,n)})}(Ns([Rs(),Ts()])),wa=la({code:xs(\"integer\",(e=>\"number\"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${ys(e)}`)),message:Ts(),data:ua(ma),stack:ua(Ts())}),Ea=Ns([Os(Ts(),ma),As(ma)]),Ca=la({id:ba,jsonrpc:va,method:Ts(),params:ua(Ea)}),Sa=la({jsonrpc:va,method:Ts(),params:ua(Ea)});function _a(e){return _s(e,Ca)}function ka(e){return _s(e,wa)}Ps({id:ba,jsonrpc:va,result:Ls(xs(\"unknown\",(()=>!0))),error:Ls(wa)}),Ns([la({id:ba,jsonrpc:va,result:ma}),la({id:ba,jsonrpc:va,error:wa})]);var xa=us.internal,Ma=\"Unspecified error message. This is a bug, please report it.\",Aa={code:xa,message:Ra(xa)},Ia=\"Unspecified server error.\";function Ra(e,t=Ma){if(function(e){return Number.isInteger(e)}(e)){const t=e.toString();if(ps(hs,t))return hs[t].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return Ia}return t}function Pa(e,{fallbackError:t=Aa,shouldIncludeStack:n=!0}={}){if(!ka(t))throw new Error(\"Must provide fallback error with integer number code and string message.\");const r=function(e,t){if(e&&\"object\"==typeof e&&\"serialize\"in e&&\"function\"==typeof e.serialize)return e.serialize();if(ka(e))return e;const n=La(e),r={...t,data:{cause:n}};return r}(e,t);return n||delete r.stack,r}function La(e){return Array.isArray(e)?e.map((e=>ya(e)?e:fs(e)?Oa(e):null)):fs(e)?Oa(e):ya(e)?e:null}function Oa(e){return Object.getOwnPropertyNames(e).reduce(((t,n)=>{const r=e[n];return ya(r)&&(t[n]=r),t}),{})}var Ta=ja;ja.default=ja,ja.stable=za,ja.stableStringify=za;var Na=\"[...]\",Da=\"[Circular]\",$a=[],Ba=[];function Ka(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function ja(e,t,n,r){var i;void 0===r&&(r=Ka()),Ha(e,\"\",0,[],void 0,0,r);try{i=0===Ba.length?JSON.stringify(e,t,n):JSON.stringify(e,Va(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==$a.length;){var o=$a.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function Ua(e,t,n,r){var i=Object.getOwnPropertyDescriptor(r,n);void 0!==i.get?i.configurable?(Object.defineProperty(r,n,{value:e}),$a.push([r,n,t,i])):Ba.push([t,n,e]):(r[n]=e,$a.push([r,n,t]))}function Ha(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Ua(Da,e,t,i);if(void 0!==s.depthLimit&&o>s.depthLimit)return void Ua(Na,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Ua(Na,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)Ha(e[a],a,a,r,e,o,s);else{var c=Object.keys(e);for(a=0;a<c.length;a++){var l=c[a];Ha(e[l],l,a,r,e,o,s)}}r.pop()}}function Fa(e,t){return e<t?-1:e>t?1:0}function za(e,t,n,r){void 0===r&&(r=Ka());var i,o=qa(e,\"\",0,[],void 0,0,r)||e;try{i=0===Ba.length?JSON.stringify(o,t,n):JSON.stringify(o,Va(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==$a.length;){var s=$a.pop();4===s.length?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function qa(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Ua(Da,e,t,i);try{if(\"function\"==typeof e.toJSON)return}catch(e){return}if(void 0!==s.depthLimit&&o>s.depthLimit)return void Ua(Na,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Ua(Na,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)qa(e[a],a,a,r,e,o,s);else{var c={},l=Object.keys(e).sort(Fa);for(a=0;a<l.length;a++){var d=l[a];qa(e[d],d,a,r,e,o,s),c[d]=e[d]}if(void 0===i)return c;$a.push([i,t,e]),i[t]=c}r.pop()}}function Va(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(Ba.length>0)for(var r=0;r<Ba.length;r++){var i=Ba[r];if(i[1]===t&&i[0]===n){n=i[2],Ba.splice(r,1);break}}return e.call(this,t,n)}}var Wa=de(Ta),Ga=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a non-empty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if(\"object\"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}}(this.data)&&(e.data.cause=La(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return Wa(this.serialize(),Za,2)}};function Za(e,t){if(\"[Circular]\"!==t)return t}var Ya=e=>Ja(us.invalidRequest,e);function Ja(e,t){const[n,r]=function(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t??void 0,n]}}return[]}(t);return new Ga(e,n??Ra(e),r)}var Xa={};function Qa(){}function ec(){ec.init.call(this)}function tc(e){return void 0===e._maxListeners?ec.defaultMaxListeners:e._maxListeners}function nc(e,t,n,r){var i,o,s;if(\"function\"!=typeof n)throw new TypeError('\"listener\" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]):(o=e._events=new Qa,e._eventsCount=0),s){if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),!s.warned&&(i=tc(e))&&i>0&&s.length>i){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,function(e){\"function\"==typeof console.warn?console.warn(e):console.log(e)}(a)}}else s=o[t]=n,++e._eventsCount;return e}function rc(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function ic(e){var t=this._events;if(t){var n=t[e];if(\"function\"==typeof n)return 1;if(n)return n.length}return 0}function oc(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Qa.prototype=Object.create(null),ec.EventEmitter=ec,ec.usingDomains=!1,ec.prototype.domain=void 0,ec.prototype._events=void 0,ec.prototype._maxListeners=void 0,ec.defaultMaxListeners=10,ec.init=function(){this.domain=null,ec.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Qa,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ec.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},ec.prototype.getMaxListeners=function(){return tc(this)},ec.prototype.emit=function(e){var t,n,r,i,o,s,a,c=\"error\"===e;if(s=this._events)c=c&&null==s.error;else if(!c)return!1;if(a=this.domain,c){if(t=arguments[1],!a){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit(\"error\",t),!1}if(!(n=s[e]))return!1;var d=\"function\"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=oc(e,r),o=0;o<r;++o)i[o].call(n)}(n,d,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,o=oc(e,i),s=0;s<i;++s)o[s].call(n,r)}(n,d,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var o=e.length,s=oc(e,o),a=0;a<o;++a)s[a].call(n,r,i)}(n,d,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,o){if(t)e.call(n,r,i,o);else for(var s=e.length,a=oc(e,s),c=0;c<s;++c)a[c].call(n,r,i,o)}(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),o=1;o<r;o++)i[o-1]=arguments[o];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,o=oc(e,i),s=0;s<i;++s)o[s].apply(n,r)}(n,d,this,i)}return!0},ec.prototype.addListener=function(e,t){return nc(this,e,t,!1)},ec.prototype.on=ec.prototype.addListener,ec.prototype.prependListener=function(e,t){return nc(this,e,t,!0)},ec.prototype.once=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.on(e,rc(this,e,t)),this},ec.prototype.prependOnceListener=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(e,rc(this,e,t)),this},ec.prototype.removeListener=function(e,t){var n,r,i,o,s;if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new Qa:(delete r[e],r.removeListener&&this.emit(\"removeListener\",e,n.listener||t));else if(\"function\"!=typeof n){for(i=-1,o=n.length;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new Qa,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit(\"removeListener\",e,s||t)}return this},ec.prototype.off=function(e,t){return this.removeListener(e,t)},ec.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Qa,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new Qa:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),o=0;o<i.length;++o)\"removeListener\"!==(r=i[o])&&this.removeAllListeners(r);return this.removeAllListeners(\"removeListener\"),this._events=new Qa,this._eventsCount=0,this}if(\"function\"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},ec.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?\"function\"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},ec.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):ic.call(e,t)},ec.prototype.listenerCount=ic,ec.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var sc=ue(Object.freeze({__proto__:null,EventEmitter:ec,default:ec}));Object.defineProperty(Xa,\"__esModule\",{value:!0});const ac=sc;function cc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}let lc=class extends ac.EventEmitter{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)cc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)cc(n[r],this,t)}return!0}};var dc,uc,hc,fc,pc,gc,mc,yc,vc,bc,wc,Ec,Cc,Sc,_c,kc,xc,Mc,Ac,Ic=Xa.default=lc,Rc=class e extends Ic{constructor({notificationHandler:e}={}){super(),cs(this,fc),cs(this,gc),cs(this,yc),cs(this,dc,!1),cs(this,uc,void 0),cs(this,hc,void 0),ls(this,uc,[]),ls(this,hc,e)}destroy(){as(this,uc).forEach((e=>{\"destroy\"in e&&\"function\"==typeof e.destroy&&e.destroy()})),ls(this,uc,[]),ls(this,dc,!0)}push(e){ds(this,fc,pc).call(this),as(this,uc).push(e)}handle(e,t){if(ds(this,fc,pc).call(this),t&&\"function\"!=typeof t)throw new Error('\"callback\" must be a function if provided.');return Array.isArray(e)?t?ds(this,gc,mc).call(this,e,t):ds(this,gc,mc).call(this,e):t?ds(this,yc,vc).call(this,e,t):this._promiseHandle(e)}asMiddleware(){return ds(this,fc,pc).call(this),async(t,n,r,i)=>{var o,s;try{const[a,c,l]=await ds(o=e,Ec,Cc).call(o,t,n,as(this,uc));return c?(await ds(s=e,kc,xc).call(s,l),i(a)):r((async t=>{var n;try{await ds(n=e,kc,xc).call(n,l)}catch(e){return t(e)}return t()}))}catch(e){return i(e)}}}async _promiseHandle(e){return new Promise(((t,n)=>{ds(this,yc,vc).call(this,e,((e,r)=>{e&&void 0===r?n(e):t(r)})).catch(n)}))}};dc=new WeakMap,uc=new WeakMap,hc=new WeakMap,fc=new WeakSet,pc=function(){if(as(this,dc))throw new Error(\"This engine is destroyed and can no longer be used.\")},gc=new WeakSet,mc=async function(e,t){try{if(0===e.length){const e=[{id:null,jsonrpc:\"2.0\",error:new Ga(us.invalidRequest,\"Request batch must contain plain objects. Received an empty array\")}];return t?t(null,e):e}const n=(await Promise.all(e.map(this._promiseHandle.bind(this)))).filter((e=>void 0!==e));return t?t(null,n):n}catch(e){if(t)return t(e);throw e}},yc=new WeakSet,vc=async function(e,t){var n;if(!e||Array.isArray(e)||\"object\"!=typeof e){const n=new Ga(us.invalidRequest,\"Requests must be plain objects. Received: \"+typeof e,{request:e});return t(n,{id:null,jsonrpc:\"2.0\",error:n})}if(\"string\"!=typeof e.method){const n=new Ga(us.invalidRequest,\"Must specify a string method. Received: \"+typeof e.method,{request:e});return as(this,hc)&&!_a(e)?t(null):t(n,{id:e.id??null,jsonrpc:\"2.0\",error:n})}if(as(this,hc)&&_s(e,Sa)&&!_a(e)){try{await as(this,hc).call(this,e)}catch(e){return t(e)}return t(null)}let r=null;const i={...e},o={id:i.id,jsonrpc:i.jsonrpc};try{await ds(n=Rc,bc,wc).call(n,i,o,as(this,uc))}catch(e){r=e}return r&&(delete o.result,o.error||(o.error=Pa(r))),t(r,o)},bc=new WeakSet,wc=async function(e,t,n){var r,i,o;const[s,a,c]=await ds(r=Rc,Ec,Cc).call(r,e,t,n);if(ds(i=Rc,Mc,Ac).call(i,e,t,a),await ds(o=Rc,kc,xc).call(o,c),s)throw s},Ec=new WeakSet,Cc=async function(e,t,n){var r;const i=[];let o=null,s=!1;for(const a of n)if([o,s]=await ds(r=Rc,Sc,_c).call(r,e,t,a,i),s)break;return[o,s,i.reverse()]},Sc=new WeakSet,_c=async function(e,t,n,r){return new Promise((i=>{const o=e=>{const n=e||t.error;n&&(t.error=Pa(n)),i([n,!0])},s=n=>{t.error?o(t.error):(n&&(\"function\"!=typeof n&&o(new Ga(us.internal,`JsonRpcEngine: \"next\" return handlers must be functions. Received \"${typeof n}\" for request:\\n${Lc(e)}`,{request:e})),r.push(n)),i([null,!1]))};try{n(e,t,s,o)}catch(e){o(e)}}))},kc=new WeakSet,xc=async function(e){for(const t of e)await new Promise(((e,n)=>{t((t=>t?n(t):e()))}))},Mc=new WeakSet,Ac=function(e,t,n){if(!ps(t,\"result\")&&!ps(t,\"error\"))throw new Ga(us.internal,`JsonRpcEngine: Response has no error or result for request:\\n${Lc(e)}`,{request:e});if(!n)throw new Ga(us.internal,`JsonRpcEngine: Nothing ended request:\\n${Lc(e)}`,{request:e})},cs(Rc,bc),cs(Rc,Ec),cs(Rc,Sc),cs(Rc,kc),cs(Rc,Mc);var Pc=Rc;function Lc(e){return JSON.stringify(e,null,2)}var Oc=Object.freeze([\"eth_subscription\"]),Tc=(e=console)=>[os(),Nc(e),ns(e)];function Nc(e){return(t,n,r)=>{\"string\"==typeof t.method&&t.method||(n.error=Ya({message:\"The request 'method' must be a non-empty string.\",data:t})),r((t=>{const{error:r}=n;return r?(e.error(`MetaMask - RPC Error: ${r.message}`,r),t()):t()}))}}var Dc=(e,t,n=!0)=>(r,i)=>{r||i.error?t(r||i.error):!n||Array.isArray(i)?e(i):e(i.result)},$c=e=>Boolean(e)&&\"string\"==typeof e&&e.startsWith(\"0x\"),Bc=()=>{};async function Kc(e,t){try{const t=await async function(){return{name:jc(window),icon:await Uc(window)}}();e.handle({jsonrpc:\"2.0\",id:1,method:\"metamask_sendDomainMetadata\",params:t},Bc)}catch(e){t.error({message:ts.errors.sendSiteMetadata(),originalError:e})}}function jc(e){const{document:t}=e,n=t.querySelector('head > meta[property=\"og:site_name\"]');if(n)return n.content;const r=t.querySelector('head > meta[name=\"title\"]');return r?r.content:t.title&&t.title.length>0?t.title:window.location.hostname}async function Uc(e){const{document:t}=e,n=t.querySelectorAll('head > link[rel~=\"icon\"]');for(const e of Array.from(n))if(e&&await Hc(e.href))return e.href;return null}async function Hc(e){return new Promise(((t,n)=>{try{const n=document.createElement(\"img\");n.onload=()=>t(!0),n.onerror=()=>t(!1),n.src=e}catch(e){n(e)}}))}var Fc=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},zc=(e,t,n)=>(Fc(e,t,\"read from private field\"),n?n.call(e):t.get(e)),qc=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},Vc=(e,t,n,r)=>(Fc(e,t,\"write to private field\"),t.set(e,n),n);function Wc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}class Gc extends ec{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)Wc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)Wc(n[r],this,t)}return!0}}var Zc,Yc,Jc=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var s=o[i];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n},Xc=de(Jc),Qc=class e extends Gc{constructor({logger:t=console,maxEventListeners:n=100,rpcMiddleware:r=[]}={}){super(),qc(this,Zc,void 0),qc(this,Yc,void 0),this._log=t,this.setMaxListeners(n),this._state={...e._defaultState},Vc(this,Yc,null),Vc(this,Zc,null),this._handleAccountsChanged=this._handleAccountsChanged.bind(this),this._handleConnect=this._handleConnect.bind(this),this._handleChainChanged=this._handleChainChanged.bind(this),this._handleDisconnect=this._handleDisconnect.bind(this),this._handleUnlockStateChanged=this._handleUnlockStateChanged.bind(this),this._rpcRequest=this._rpcRequest.bind(this),this.request=this.request.bind(this);const i=new Pc;r.forEach((e=>i.push(e))),this._rpcEngine=i}get chainId(){return zc(this,Zc)}get selectedAddress(){return zc(this,Yc)}isConnected(){return this._state.isConnected}async request(e){if(!e||\"object\"!=typeof e||Array.isArray(e))throw Ya({message:ts.errors.invalidRequestArgs(),data:e});const{method:t,params:n}=e;if(\"string\"!=typeof t||0===t.length)throw Ya({message:ts.errors.invalidRequestMethod(),data:e});if(void 0!==n&&!Array.isArray(n)&&(\"object\"!=typeof n||null===n))throw Ya({message:ts.errors.invalidRequestParams(),data:e});const r=null==n?{method:t}:{method:t,params:n};return new Promise(((e,t)=>{this._rpcRequest(r,Dc(e,t))}))}_initializeState(e){if(this._state.initialized)throw new Error(\"Provider already initialized.\");if(e){const{accounts:t,chainId:n,isUnlocked:r,networkVersion:i}=e;this._handleConnect(n),this._handleChainChanged({chainId:n,networkVersion:i}),this._handleUnlockStateChanged({accounts:t,isUnlocked:r}),this._handleAccountsChanged(t)}this._state.initialized=!0,this.emit(\"_initialized\")}_rpcRequest(e,t){let n=t;return Array.isArray(e)||(e.jsonrpc||(e.jsonrpc=\"2.0\"),\"eth_accounts\"!==e.method&&\"eth_requestAccounts\"!==e.method||(n=(n,r)=>{this._handleAccountsChanged(r.result??[],\"eth_accounts\"===e.method),t(n,r)})),this._rpcEngine.handle(e,n)}_handleConnect(e){this._state.isConnected||(this._state.isConnected=!0,this.emit(\"connect\",{chainId:e}),this._log.debug(ts.info.connected(e)))}_handleDisconnect(e,t){if(this._state.isConnected||!this._state.isPermanentlyDisconnected&&!e){let n;this._state.isConnected=!1,e?(n=new Ga(1013,t??ts.errors.disconnected()),this._log.debug(n)):(n=new Ga(1011,t??ts.errors.permanentlyDisconnected()),this._log.error(n),Vc(this,Zc,null),this._state.accounts=null,Vc(this,Yc,null),this._state.isUnlocked=!1,this._state.isPermanentlyDisconnected=!0),this.emit(\"disconnect\",n)}}_handleChainChanged({chainId:e}={}){$c(e)?(this._handleConnect(e),e!==zc(this,Zc)&&(Vc(this,Zc,e),this._state.initialized&&this.emit(\"chainChanged\",zc(this,Zc)))):this._log.error(ts.errors.invalidNetworkParams(),{chainId:e})}_handleAccountsChanged(e,t=!1){let n=e;Array.isArray(e)||(this._log.error(\"MetaMask: Received invalid accounts parameter. Please report this bug.\",e),n=[]);for(const t of e)if(\"string\"!=typeof t){this._log.error(\"MetaMask: Received non-string account. Please report this bug.\",e),n=[];break}if(!Xc(this._state.accounts,n)&&(t&&null!==this._state.accounts&&this._log.error(\"MetaMask: 'eth_accounts' unexpectedly updated accounts. Please report this bug.\",n),this._state.accounts=n,zc(this,Yc)!==n[0]&&Vc(this,Yc,n[0]||null),this._state.initialized)){const e=[...n];this.emit(\"accountsChanged\",e)}}_handleUnlockStateChanged({accounts:e,isUnlocked:t}={}){\"boolean\"==typeof t?t!==this._state.isUnlocked&&(this._state.isUnlocked=t,this._handleAccountsChanged(e??[])):this._log.error(\"MetaMask: Received invalid isUnlocked parameter. Please report this bug.\")}};Zc=new WeakMap,Yc=new WeakMap,Qc._defaultState={accounts:null,isConnected:!1,isUnlocked:!1,initialized:!1,isPermanentlyDisconnected:!1};var el,tl,nl=Qc,rl={exports:{}};function il(){return tl?el:(tl=1,el=sc.EventEmitter)}var ol,sl=ue(ce);ol=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};var al=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},cl=/%[sdj%]/g;function ll(e){if(!kl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(pl(arguments[n]));return t.join(\" \")}n=1;for(var r=arguments,i=r.length,o=String(e).replace(cl,(function(e){if(\"%%\"===e)return\"%\";if(n>=i)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}})),s=r[n];n<i;s=r[++n])Cl(s)||!Il(s)?o+=\" \"+s:o+=\" \"+pl(s);return o}function dl(e,t){if(Ml(c.process))return function(){return dl(e,t).apply(this,arguments)};if(!0===ca.noDeprecation)return e;var n=!1;return function(){if(!n){if(ca.throwDeprecation)throw new Error(t);ca.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var ul,hl={};function fl(e){if(Ml(ul)&&(ul=ca.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!hl[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(ul)){hl[e]=function(){var t=ll.apply(null,arguments);console.error(\"%s %d: %s\",e,0,t)}}else hl[e]=function(){};return hl[e]}function pl(e,t){var n={seen:[],stylize:ml};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),El(t)?n.showHidden=t:t&&Kl(n,t),Ml(n.showHidden)&&(n.showHidden=!1),Ml(n.depth)&&(n.depth=2),Ml(n.colors)&&(n.colors=!1),Ml(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=gl),yl(n,e,n.depth)}function gl(e,t){var n=pl.styles[t];return n?\"\u001b[\"+pl.colors[n][0]+\"m\"+e+\"\u001b[\"+pl.colors[n][1]+\"m\":e}function ml(e,t){return e}function yl(e,t,n){if(e.customInspect&&t&&Ll(t.inspect)&&t.inspect!==pl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return kl(r)||(r=yl(e,r,n)),r}var i=function(e,t){if(Ml(t))return e.stylize(\"undefined\",\"undefined\");if(kl(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}if(_l(t))return e.stylize(\"\"+t,\"number\");if(El(t))return e.stylize(\"\"+t,\"boolean\");if(Cl(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Pl(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return vl(t);if(0===o.length){if(Ll(t)){var a=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+a+\"]\",\"special\")}if(Al(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(Rl(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Pl(t))return vl(t)}var c,l=\"\",d=!1,u=[\"{\",\"}\"];(wl(t)&&(d=!0,u=[\"[\",\"]\"]),Ll(t))&&(l=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return Al(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),Rl(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Pl(t)&&(l=\" \"+vl(t)),0!==o.length||d&&0!=t.length?n<0?Al(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),c=d?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)jl(t,String(s))?o.push(bl(e,t,n,r,String(s),!0)):o.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||o.push(bl(e,t,n,r,i,!0))})),o}(e,t,n,s,o):o.map((function(r){return bl(e,t,n,s,r,d)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf(\"\\n\"),e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0);if(r>60)return n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1];return n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}(c,l,u)):u[0]+l+u[1]}function vl(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function bl(e,t,n,r,i,o){var s,a,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=c.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):c.set&&(a=e.stylize(\"[Setter]\",\"special\")),jl(r,i)||(s=\"[\"+i+\"]\"),a||(e.seen.indexOf(c.value)<0?(a=Cl(n)?yl(e,c.value,null):yl(e,c.value,n-1)).indexOf(\"\\n\")>-1&&(a=o?a.split(\"\\n\").map((function(e){return\"  \"+e})).join(\"\\n\").substr(2):\"\\n\"+a.split(\"\\n\").map((function(e){return\"   \"+e})).join(\"\\n\")):a=e.stylize(\"[Circular]\",\"special\")),Ml(s)){if(o&&i.match(/^\\d+$/))return a;(s=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+a}function wl(e){return Array.isArray(e)}function El(e){return\"boolean\"==typeof e}function Cl(e){return null===e}function Sl(e){return null==e}function _l(e){return\"number\"==typeof e}function kl(e){return\"string\"==typeof e}function xl(e){return\"symbol\"==typeof e}function Ml(e){return void 0===e}function Al(e){return Il(e)&&\"[object RegExp]\"===Nl(e)}function Il(e){return\"object\"==typeof e&&null!==e}function Rl(e){return Il(e)&&\"[object Date]\"===Nl(e)}function Pl(e){return Il(e)&&(\"[object Error]\"===Nl(e)||e instanceof Error)}function Ll(e){return\"function\"==typeof e}function Ol(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function Tl(e){return S.isBuffer(e)}function Nl(e){return Object.prototype.toString.call(e)}function Dl(e){return e<10?\"0\"+e.toString(10):e.toString(10)}pl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},pl.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var $l=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Bl(){console.log(\"%s - %s\",function(){var e=new Date,t=[Dl(e.getHours()),Dl(e.getMinutes()),Dl(e.getSeconds())].join(\":\");return[e.getDate(),$l[e.getMonth()],t].join(\" \")}(),ll.apply(null,arguments))}function Kl(e,t){if(!t||!Il(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function jl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Ul=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function Hl(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(Ul&&e[Ul]){var t;if(\"function\"!=typeof(t=e[Ul]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,Ul,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Ul&&Object.defineProperty(t,Ul,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,al(e))}function Fl(e,t){if(!e){var n=new Error(\"Promise was rejected with a falsy value\");n.reason=e,e=n}return t(e)}function zl(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"The last argument must be of type Function\");var i=this,o=function(){return r.apply(i,arguments)};e.apply(this,t).then((function(e){ca.nextTick(o.bind(null,null,e))}),(function(e){ca.nextTick(Fl.bind(null,e,o))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,al(e)),t}Hl.custom=Ul;var ql,Vl,Wl,Gl,Zl={inherits:ol,_extend:Kl,log:Bl,isBuffer:Tl,isPrimitive:Ol,isFunction:Ll,isError:Pl,isDate:Rl,isObject:Il,isRegExp:Al,isUndefined:Ml,isSymbol:xl,isString:kl,isNumber:_l,isNullOrUndefined:Sl,isNull:Cl,isBoolean:El,isArray:wl,inspect:pl,deprecate:dl,format:ll,debuglog:fl,promisify:Hl,callbackify:zl},Yl=ue(Object.freeze({__proto__:null,_extend:Kl,callbackify:zl,debuglog:fl,default:Zl,deprecate:dl,format:ll,inherits:ol,inspect:pl,isArray:wl,isBoolean:El,isBuffer:Tl,isDate:Rl,isError:Pl,isFunction:Ll,isNull:Cl,isNullOrUndefined:Sl,isNumber:_l,isObject:Il,isPrimitive:Ol,isRegExp:Al,isString:kl,isSymbol:xl,isUndefined:Ml,log:Bl,promisify:Hl}));function Jl(){if(Vl)return ql;function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?e(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function n(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function i(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}Vl=1;var o=sl.Buffer,s=Yl.inspect,a=s&&s.custom||\"inspect\";return ql=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}return r(e,[{key:\"push\",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:\"unshift\",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(e){if(0===this.length)return\"\";for(var t=this.head,n=\"\"+t.data;t=t.next;)n+=e+t.data;return n}},{key:\"concat\",value:function(e){if(0===this.length)return o.alloc(0);for(var t,n,r,i=o.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=i,r=a,o.prototype.copy.call(t,n,r),a+=s.data.length,s=s.next;return i}},{key:\"consume\",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,o=e>i.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0===(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:\"_getBuffer\",value:function(e){var t=o.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0===(e-=s)){s===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(s));break}++r}return this.length-=r,t}},{key:a,value:function(e,n){return s(this,t(t({},n),{},{depth:0,customInspect:!1}))}}]),e}(),ql}function Xl(){if(Gl)return Wl;function e(e,r){n(e,r),t(e)}function t(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function n(e,t){e.emit(\"error\",t)}return Gl=1,Wl={destroy:function(r,i){var o=this,s=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return s||a?(i?i(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,ca.nextTick(n,this,r)):ca.nextTick(n,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,(function(n){!i&&n?o._writableState?o._writableState.errorEmitted?ca.nextTick(t,o):(o._writableState.errorEmitted=!0,ca.nextTick(e,o,n)):ca.nextTick(e,o,n):i?(ca.nextTick(t,o),i(n)):ca.nextTick(t,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(\"error\",t)}},Wl}var Ql={};var ed,td,nd={};function rd(e,t,n){n||(n=Error);var r=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return\"string\"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);r.prototype.name=n.name,r.prototype.code=e,nd[e]=r}function id(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?\"one of \".concat(t,\" \").concat(e.slice(0,n-1).join(\", \"),\", or \")+e[n-1]:2===n?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}function od(){if(td)return ed;td=1;var e=Ql.codes.ERR_INVALID_OPT_VALUE;return ed={getHighWaterMark:function(t,n,r,i){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(n,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new e(i?r:\"highWaterMark\",o);return Math.floor(o)}return t.objectMode?16:16384}}}rd(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError),rd(\"ERR_INVALID_ARG_TYPE\",(function(e,t,n){var r,i,o;if(\"string\"==typeof t&&(i=\"not \",t.substr(0,i.length)===i)?(r=\"must not be\",t=t.replace(/^not /,\"\")):r=\"must be\",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e,\" argument\"))o=\"The \".concat(e,\" \").concat(r,\" \").concat(id(t,\"type\"));else{var s=function(e,t,n){return\"number\"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,\".\")?\"property\":\"argument\";o='The \"'.concat(e,'\" ').concat(s,\" \").concat(r,\" \").concat(id(t,\"type\"))}return o+=\". Received type \".concat(typeof n)}),TypeError),rd(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),rd(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"})),rd(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),rd(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"})),rd(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),rd(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),rd(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),rd(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),rd(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError),rd(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),Ql.codes=nd;var sd,ad,cd,ld,dd,ud,hd=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},fd=ue(Object.freeze({__proto__:null,default:hd}));function pd(){if(ad)return sd;function e(e){try{if(!le.localStorage)return!1}catch(e){return!1}var t=le.localStorage[e];return null!=t&&\"true\"===String(t).toLowerCase()}return ad=1,sd=function(t,n){if(e(\"noDeprecation\"))return t;var r=!1;return function(){if(!r){if(e(\"throwDeprecation\"))throw new Error(n);e(\"traceDeprecation\")?console.trace(n):console.warn(n),r=!0}return t.apply(this,arguments)}},sd}function gd(){if(ld)return cd;function e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var t;ld=1,cd=E,E.WritableState=w;var n={deprecate:pd()},r=il(),i=sl.Buffer,o=(void 0!==le?le:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var s,a=Xl(),c=od().getHighWaterMark,l=Ql.codes,d=l.ERR_INVALID_ARG_TYPE,u=l.ERR_METHOD_NOT_IMPLEMENTED,h=l.ERR_MULTIPLE_CALLBACK,f=l.ERR_STREAM_CANNOT_PIPE,p=l.ERR_STREAM_DESTROYED,g=l.ERR_STREAM_NULL_VALUES,m=l.ERR_STREAM_WRITE_AFTER_END,y=l.ERR_UNKNOWN_ENCODING,v=a.errorOrDestroy;function b(){}function w(n,r,i){t=t||md(),n=n||{},\"boolean\"!=typeof i&&(i=r instanceof t),this.objectMode=!!n.objectMode,i&&(this.objectMode=this.objectMode||!!n.writableObjectMode),this.highWaterMark=c(this,n,\"writableHighWaterMark\",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===n.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=n.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(\"function\"!=typeof i)throw new h;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(ca.nextTick(i,r),ca.nextTick(M,e,t),e._writableState.errorEmitted=!0,v(e,r)):(i(r),e._writableState.errorEmitted=!0,v(e,r),M(e,t))}(e,n,r,t,i);else{var o=k(n)||e.destroyed;o||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?ca.nextTick(S,e,n,o,i):S(e,n,o,i)}}(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==n.emitClose,this.autoDestroy=!!n.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}function E(e){var n=this instanceof(t=t||md());if(!n&&!s.call(E,this))return new E(e);this._writableState=new w(e,this,n),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),r.call(this)}function C(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new p(\"write\")):n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function S(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,r(),M(e,t)}function _(t,n){n.bufferProcessing=!0;var r=n.bufferedRequest;if(t._writev&&r&&r.next){var i=n.bufferedRequestCount,o=new Array(i),s=n.corkedRequestsFree;s.entry=r;for(var a=0,c=!0;r;)o[a]=r,r.isBuf||(c=!1),r=r.next,a+=1;o.allBuffers=c,C(t,n,!0,n.length,o,\"\",s.finish),n.pendingcb++,n.lastBufferedRequest=null,s.next?(n.corkedRequestsFree=s.next,s.next=null):n.corkedRequestsFree=new e(n),n.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,d=r.encoding,u=r.callback;if(C(t,n,!1,n.objectMode?1:l.length,l,d,u),r=r.next,n.bufferedRequestCount--,n.writing)break}null===r&&(n.lastBufferedRequest=null)}n.bufferedRequest=r,n.bufferProcessing=!1}function k(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final((function(n){t.pendingcb--,n&&v(e,n),t.prefinished=!0,e.emit(\"prefinish\"),M(e,t)}))}function M(e,t){var n=k(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||(\"function\"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit(\"prefinish\")):(t.pendingcb++,t.finalCalled=!0,ca.nextTick(x,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}return fd(E,r),w.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(w.prototype,\"buffer\",{get:n.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===E&&(e&&e._writableState instanceof w)}})):s=function(e){return e instanceof this},E.prototype.pipe=function(){v(this,new f)},E.prototype.write=function(e,t,n){var r,s=this._writableState,a=!1,c=!s.objectMode&&(r=e,i.isBuffer(r)||r instanceof o);return c&&!i.isBuffer(e)&&(e=function(e){return i.from(e)}(e)),\"function\"==typeof t&&(n=t,t=null),c?t=\"buffer\":t||(t=s.defaultEncoding),\"function\"!=typeof n&&(n=b),s.ending?function(e,t){var n=new m;v(e,n),ca.nextTick(t,n)}(this,n):(c||function(e,t,n,r){var i;return null===n?i=new g:\"string\"==typeof n||t.objectMode||(i=new d(\"chunk\",[\"string\",\"Buffer\"],n)),!i||(v(e,i),ca.nextTick(r,i),!1)}(this,s,e,n))&&(s.pendingcb++,a=function(e,t,n,r,o,s){if(!n){var a=function(e,t,n){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=i.from(t,n));return t}(t,r,o);r!==a&&(n=!0,o=\"buffer\",r=a)}var c=t.objectMode?1:r.length;t.length+=c;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:s,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else C(e,t,!1,c,r,o,s);return l}(this,s,c,e,t,n)),a},E.prototype.cork=function(){this._writableState.corked++},E.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||_(this,e))},E.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new y(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,n){n(new u(\"_write()\"))},E.prototype._writev=null,E.prototype.end=function(e,t,n){var r=this._writableState;return\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,M(e,t),n&&(t.finished?ca.nextTick(n):e.once(\"finish\",n));t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(E.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=a.destroy,E.prototype._undestroy=a.undestroy,E.prototype._destroy=function(e,t){t(e)},cd}function md(){if(ud)return dd;ud=1;var e=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};dd=s;var t=Od(),n=gd();fd(s,t);for(var r=e(n.prototype),i=0;i<r.length;i++){var o=r[i];s.prototype[o]||(s.prototype[o]=n.prototype[o])}function s(e){if(!(this instanceof s))return new s(e);t.call(this,e),n.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",a)))}function a(){this._writableState.ended||ca.nextTick(c,this)}function c(e){e.end()}return Object.defineProperty(s.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(s.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(s.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(s.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),dd}var yd=S.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function vd(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),function(e){if(e&&!yd(e))throw new Error(\"Unknown encoding: \"+e)}(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=wd;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=Ed;break;default:return void(this.write=bd)}this.charBuffer=new S(6),this.charReceived=0,this.charLength=0}function bd(e){return e.toString(this.encoding)}function wd(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Ed(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}vd.prototype.write=function(e){for(var t=\"\";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return\"\";if(e=e.slice(n,e.length),!((i=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var r=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived);var i;r=(t+=e.toString(this.encoding,0,r)).length-1;if((i=t.charCodeAt(r))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,r)}return t},vd.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},vd.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t};var Cd=ue(Object.freeze({__proto__:null,StringDecoder:vd})),Sd=Ql.codes.ERR_STREAM_PREMATURE_CLOSE;function _d(){}var kd,xd,Md,Ad,Id,Rd,Pd=function e(t,n,r){if(\"function\"==typeof n)return e(t,null,n);n||(n={}),r=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];e.apply(this,r)}}}(r||_d);var i=n.readable||!1!==n.readable&&t.readable,o=n.writable||!1!==n.writable&&t.writable,s=function(){t.writable||c()},a=t._writableState&&t._writableState.finished,c=function(){o=!1,a=!0,i||r.call(t)},l=t._readableState&&t._readableState.endEmitted,d=function(){i=!1,l=!0,o||r.call(t)},u=function(e){r.call(t,e)},h=function(){var e;return i&&!l?(t._readableState&&t._readableState.ended||(e=new Sd),r.call(t,e)):o&&!a?(t._writableState&&t._writableState.ended||(e=new Sd),r.call(t,e)):void 0},f=function(){t.req.on(\"finish\",c)};return!function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?o&&!t._writableState&&(t.on(\"end\",s),t.on(\"close\",s)):(t.on(\"complete\",c),t.on(\"abort\",h),t.req?f():t.on(\"request\",f)),t.on(\"end\",d),t.on(\"finish\",c),!1!==n.error&&t.on(\"error\",u),t.on(\"close\",h),function(){t.removeListener(\"complete\",c),t.removeListener(\"abort\",h),t.removeListener(\"request\",f),t.req&&t.req.removeListener(\"finish\",c),t.removeListener(\"end\",s),t.removeListener(\"close\",s),t.removeListener(\"finish\",c),t.removeListener(\"end\",d),t.removeListener(\"error\",u),t.removeListener(\"close\",h)}};function Ld(){if(xd)return kd;var e;function t(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}xd=1;var n=Pd,r=Symbol(\"lastResolve\"),i=Symbol(\"lastReject\"),o=Symbol(\"error\"),s=Symbol(\"ended\"),a=Symbol(\"lastPromise\"),c=Symbol(\"handlePromise\"),l=Symbol(\"stream\");function d(e,t){return{value:e,done:t}}function u(e){var t=e[r];if(null!==t){var n=e[l].read();null!==n&&(e[a]=null,e[r]=null,e[i]=null,t(d(n,!1)))}}function h(e){ca.nextTick(u,e)}var f=Object.getPrototypeOf((function(){})),p=Object.setPrototypeOf((t(e={get stream(){return this[l]},next:function(){var e=this,t=this[o];if(null!==t)return Promise.reject(t);if(this[s])return Promise.resolve(d(void 0,!0));if(this[l].destroyed)return new Promise((function(t,n){ca.nextTick((function(){e[o]?n(e[o]):t(d(void 0,!0))}))}));var n,r=this[a];if(r)n=new Promise(function(e,t){return function(n,r){e.then((function(){t[s]?n(d(void 0,!0)):t[c](n,r)}),r)}}(r,this));else{var i=this[l].read();if(null!==i)return Promise.resolve(d(i,!1));n=new Promise(this[c])}return this[a]=n,n}},Symbol.asyncIterator,(function(){return this})),t(e,\"return\",(function(){var e=this;return new Promise((function(t,n){e[l].destroy(null,(function(e){e?n(e):t(d(void 0,!0))}))}))})),e),f);return kd=function(e){var u,f=Object.create(p,(t(u={},l,{value:e,writable:!0}),t(u,r,{value:null,writable:!0}),t(u,i,{value:null,writable:!0}),t(u,o,{value:null,writable:!0}),t(u,s,{value:e._readableState.endEmitted,writable:!0}),t(u,c,{value:function(e,t){var n=f[l].read();n?(f[a]=null,f[r]=null,f[i]=null,e(d(n,!1))):(f[r]=e,f[i]=t)},writable:!0}),u));return f[a]=null,n(e,(function(e){if(e&&\"ERR_STREAM_PREMATURE_CLOSE\"!==e.code){var t=f[i];return null!==t&&(f[a]=null,f[r]=null,f[i]=null,t(e)),void(f[o]=e)}var n=f[r];null!==n&&(f[a]=null,f[r]=null,f[i]=null,n(d(void 0,!0))),f[s]=!0})),e.on(\"readable\",h.bind(null,f)),f},kd}function Od(){if(Rd)return Id;var e;Rd=1,Id=E,E.ReadableState=w,sc.EventEmitter;var t=function(e,t){return e.listeners(t).length},n=il(),r=sl.Buffer,i=(void 0!==le?le:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var o,s=Yl;o=s&&s.debuglog?s.debuglog(\"stream\"):function(){};var a,c,l,d=Jl(),u=Xl(),h=od().getHighWaterMark,f=Ql.codes,p=f.ERR_INVALID_ARG_TYPE,g=f.ERR_STREAM_PUSH_AFTER_EOF,m=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;fd(E,n);var v=u.errorOrDestroy,b=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function w(t,n,r){e=e||md(),t=t||{},\"boolean\"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=h(this,t,\"readableHighWaterMark\",r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(a||(a=Cd.StringDecoder),this.decoder=new a(t.encoding),this.encoding=t.encoding)}function E(t){if(e=e||md(),!(this instanceof E))return new E(t);var r=this instanceof e;this._readableState=new w(t,this,r),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),n.call(this)}function C(e,t,n,s,a){o(\"readableAddChunk\",t);var c,l=e._readableState;if(null===t)l.reading=!1,function(e,t){if(o(\"onEofChunk\"),t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,M(e)))}(e,l);else if(a||(c=function(e,t){var n;o=t,r.isBuffer(o)||o instanceof i||\"string\"==typeof t||void 0===t||e.objectMode||(n=new p(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t));var o;return n}(l,t)),c)v(e,c);else if(l.objectMode||t&&t.length>0)if(\"string\"==typeof t||l.objectMode||Object.getPrototypeOf(t)===r.prototype||(t=function(e){return r.from(e)}(t)),s)l.endEmitted?v(e,new y):S(e,l,t,!0);else if(l.ended)v(e,new g);else{if(l.destroyed)return!1;l.reading=!1,l.decoder&&!n?(t=l.decoder.write(t),l.objectMode||0!==t.length?S(e,l,t,!1):A(e,l)):S(e,l,t,!1)}else s||(l.reading=!1,A(e,l));return!l.ended&&(l.length<l.highWaterMark||0===l.length)}function S(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&x(e)),A(e,t)}Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=u.destroy,E.prototype._undestroy=u.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:\"string\"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=r.from(e,t),t=\"\"),n=!0),C(this,e,t,!1,n)},E.prototype.unshift=function(e){return C(this,e,null,!0,!1)},E.prototype.isPaused=function(){return!1===this._readableState.flowing},E.prototype.setEncoding=function(e){a||(a=Cd.StringDecoder);var t=new a(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r=\"\";null!==n;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var _=1073741824;function k(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=_?e=_:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;o(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o(\"emitReadable\",t.flowing),t.emittedReadable=!0,ca.nextTick(M,e))}function M(e){var t=e._readableState;o(\"emitReadable_\",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,O(e)}function A(e,t){t.readingMore||(t.readingMore=!0,ca.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(o(\"maybeReadMore read 0\"),e.read(0),n===t.length)break}t.readingMore=!1}function R(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function P(e){o(\"readable nexttick read 0\"),e.read(0)}function L(e,t){o(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),O(e),t.flowing&&!t.reading&&e.read(0)}function O(e){var t=e._readableState;for(o(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function T(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function N(e){var t=e._readableState;o(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,ca.nextTick(D,t,e))}function D(e,t){if(o(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function $(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}return E.prototype.read=function(e){o(\"read\",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return o(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?N(this):x(this),null;if(0===(e=k(e,t))&&t.ended)return 0===t.length&&N(this),null;var r,i=t.needReadable;return o(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&o(\"length less than watermark\",i=!0),t.ended||t.reading?o(\"reading or ended\",i=!1):i&&(o(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=k(n,t))),null===(r=e>0?T(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&N(this)),null!==r&&this.emit(\"data\",r),r},E.prototype._read=function(e){v(this,new m(\"_read()\"))},E.prototype.pipe=function(e,n){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,o(\"pipe count=%d opts=%j\",i.pipesCount,n);var s=(!n||!1!==n.end)&&e!==ca.stdout&&e!==ca.stderr?c:g;function a(t,n){o(\"onunpipe\"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,o(\"cleanup\"),e.removeListener(\"close\",f),e.removeListener(\"finish\",p),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",a),r.removeListener(\"end\",c),r.removeListener(\"end\",g),r.removeListener(\"data\",u),d=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function c(){o(\"onend\"),e.end()}i.endEmitted?ca.nextTick(s):r.once(\"end\",s),e.on(\"unpipe\",a);var l=function(e){return function(){var n=e._readableState;o(\"pipeOnDrain\",n.awaitDrain),n.awaitDrain&&n.awaitDrain--,0===n.awaitDrain&&t(e,\"data\")&&(n.flowing=!0,O(e))}}(r);e.on(\"drain\",l);var d=!1;function u(t){o(\"ondata\");var n=e.write(t);o(\"dest.write\",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==$(i.pipes,e))&&!d&&(o(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),r.pause())}function h(n){o(\"onerror\",n),g(),e.removeListener(\"error\",h),0===t(e,\"error\")&&v(e,n)}function f(){e.removeListener(\"finish\",p),g()}function p(){o(\"onfinish\"),e.removeListener(\"close\",f),g()}function g(){o(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",u),function(e,t,n){if(\"function\"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,\"error\",h),e.once(\"close\",f),e.once(\"finish\",p),e.emit(\"pipe\",r),i.flowing||(o(\"pipe resume\"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var s=$(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,n)),this},E.prototype.on=function(e,t){var r=n.prototype.on.call(this,e,t),i=this._readableState;return\"data\"===e?(i.readableListening=this.listenerCount(\"readable\")>0,!1!==i.flowing&&this.resume()):\"readable\"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,o(\"on readable\",i.length,i.reading),i.length?x(this):i.reading||ca.nextTick(P,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=n.prototype.removeListener.call(this,e,t);return\"readable\"===e&&ca.nextTick(R,this),r},E.prototype.removeAllListeners=function(e){var t=n.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==e&&void 0!==e||ca.nextTick(R,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(o(\"resume\"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ca.nextTick(L,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return o(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(o(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(\"end\",(function(){if(o(\"wrapped end\"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){(o(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<b.length;s++)e.on(b[s],this.emit.bind(this,b[s]));return this._read=function(t){o(\"wrapped _read\",t),r&&(r=!1,e.resume())},this},\"function\"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===c&&(c=Ld()),c(this)}),Object.defineProperty(E.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=T,Object.defineProperty(E.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(E.from=function(e,t){return void 0===l&&(l=Ad?Md:(Ad=1,Md=function(){throw new Error(\"Readable.from is not available in the browser\")})),l(E,e,t)}),Id}var Td=Hd,Nd=Ql.codes,Dd=Nd.ERR_METHOD_NOT_IMPLEMENTED,$d=Nd.ERR_MULTIPLE_CALLBACK,Bd=Nd.ERR_TRANSFORM_ALREADY_TRANSFORMING,Kd=Nd.ERR_TRANSFORM_WITH_LENGTH_0,jd=md();function Ud(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit(\"error\",new $d);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hd(e){if(!(this instanceof Hd))return new Hd(e);jd.call(this,e),this._transformState={afterTransform:Ud.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",Fd)}function Fd(){var e=this;\"function\"!=typeof this._flush||this._readableState.destroyed?zd(this,null,null):this._flush((function(t,n){zd(e,t,n)}))}function zd(e,t,n){if(t)return e.emit(\"error\",t);if(null!=n&&e.push(n),e._writableState.length)throw new Kd;if(e._transformState.transforming)throw new Bd;return e.push(null)}fd(Hd,jd),Hd.prototype.push=function(e,t){return this._transformState.needTransform=!1,jd.prototype.push.call(this,e,t)},Hd.prototype._transform=function(e,t,n){n(new Dd(\"_transform()\"))},Hd.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Hd.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},Hd.prototype._destroy=function(e,t){jd.prototype._destroy.call(this,e,(function(e){t(e)}))};var qd,Vd=Gd,Wd=Td;function Gd(e){if(!(this instanceof Gd))return new Gd(e);Wd.call(this,e)}fd(Gd,Wd),Gd.prototype._transform=function(e,t,n){n(null,e)};var Zd=Ql.codes,Yd=Zd.ERR_MISSING_ARGS,Jd=Zd.ERR_STREAM_DESTROYED;function Xd(e){if(e)throw e}function Qd(e){e()}function eu(e,t){return e.pipe(t)}var tu=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=function(e){return e.length?\"function\"!=typeof e[e.length-1]?Xd:e.pop():Xd}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Yd(\"streams\");var o=t.map((function(e,n){var s=n<t.length-1;return function(e,t,n,r){r=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(r);var i=!1;e.on(\"close\",(function(){i=!0})),void 0===qd&&(qd=Pd),qd(e,{readable:t,writable:n},(function(e){if(e)return r(e);i=!0,r()}));var o=!1;return function(t){if(!i&&!o)return o=!0,function(e){return e.setHeader&&\"function\"==typeof e.abort}(e)?e.abort():\"function\"==typeof e.destroy?e.destroy():void r(t||new Jd(\"pipe\"))}}(e,s,n>0,(function(e){r||(r=e),e&&o.forEach(Qd),s||(o.forEach(Qd),i(r))}))}));return t.reduce(eu)};!function(e,t){(t=rl.exports=Od()).Stream=t,t.Readable=t,t.Writable=gd(),t.Duplex=md(),t.Transform=Td,t.PassThrough=Vd,t.finished=Pd,t.pipeline=tu}(0,rl.exports);var nu=rl.exports;function ru(e={}){const t={},n=new nu.Duplex({objectMode:!0,read:()=>{},write:function(n,o,s){let a=null;try{!n.id?function(n){e?.retryOnMessage&&n.method===e.retryOnMessage&&Object.values(t).forEach((({req:e,retryCount:n=0})=>{if(!e.id)return;if(n>=3)throw new Error(`StreamMiddleware - Retry limit exceeded for request id \"${e.id}\"`);const r=t[e.id];r&&(r.retryCount=n+1),i(e)}));r.emit(\"notification\",n)}(n):function(e){const{id:n}=e;if(null===n)return;const r=t[n];if(!r)return void console.warn(`StreamMiddleware - Unknown response id \"${n}\"`);delete t[n],Object.assign(r.res,e),setTimeout(r.end)}(n)}catch(e){a=e}s(a)}}),r=new Ic;return{events:r,middleware:(e,n,r,o)=>{t[e.id]={req:e,res:n,next:r,end:o},i(e)},stream:n};function i(e){n.push(e)}}var iu={},ou={exports:{}},su=function e(t,n){if(t&&n)return e(t)(n);if(\"function\"!=typeof t)throw new TypeError(\"need wrapper function\");return Object.keys(t).forEach((function(e){r[e]=t[e]})),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return\"function\"==typeof r&&r!==i&&Object.keys(i).forEach((function(e){r[e]=i[e]})),r}};var au=su;function cu(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function lu(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||\"Function wrapped with `once`\";return t.onceError=n+\" shouldn't be called more than once\",t.called=!1,t}ou.exports=au(cu),ou.exports.strict=au(lu),cu.proto=cu((function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return cu(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return lu(this)},configurable:!0})}));var du=ou.exports,uu={};Object.defineProperty(uu,\"__esModule\",{value:!0}),uu.Substream=void 0;const hu=nu;class fu extends hu.Duplex{constructor({parent:e,name:t}){super({objectMode:!0}),this._parent=e,this._name=t}_read(){}_write(e,t,n){this._parent.push({name:this._name,data:e}),n()}}uu.Substream=fu;var pu=le&&le.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(iu,\"__esModule\",{value:!0}),iu.ObjectMultiplex=void 0;const gu=nu,mu=pu(du),yu=uu,vu=Symbol(\"IGNORE_SUBSTREAM\");let bu=class extends gu.Duplex{constructor(e={}){super(Object.assign(Object.assign({},e),{objectMode:!0})),this._substreams={}}createStream(e){if(this.destroyed)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already destroyed`);if(this._readableState.ended||this._writableState.ended)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already ended`);if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);const t=new yu.Substream({parent:this,name:e});return this._substreams[e]=t,function(e,t){const n=(0,mu.default)(t);(0,gu.finished)(e,{readable:!1},n),(0,gu.finished)(e,{writable:!1},n)}(this,(e=>t.destroy(e||void 0))),t}ignoreStream(e){if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);this._substreams[e]=vu}_read(){}_write(e,t,n){const{name:r,data:i}=e;if(!r)return console.warn(`ObjectMultiplex - malformed chunk without name \"${e}\"`),n();const o=this._substreams[r];return o?(o!==vu&&o.push(i),n()):(console.warn(`ObjectMultiplex - orphaned data for stream \"${r}\"`),n())}};iu.ObjectMultiplex=bu;var wu=de(iu.ObjectMultiplex);const Eu=e=>null!==e&&\"object\"==typeof e&&\"function\"==typeof e.pipe;Eu.writable=e=>Eu(e)&&!1!==e.writable&&\"function\"==typeof e._write&&\"object\"==typeof e._writableState,Eu.readable=e=>Eu(e)&&!1!==e.readable&&\"function\"==typeof e._read&&\"object\"==typeof e._readableState,Eu.duplex=e=>Eu.writable(e)&&Eu.readable(e),Eu.transform=e=>Eu.duplex(e)&&\"function\"==typeof e._transform;var Cu,Su=Eu,_u=class extends nl{constructor(e,{jsonRpcStreamName:t,logger:n=console,maxEventListeners:r=100,rpcMiddleware:i=[]}){if(super({logger:n,maxEventListeners:r,rpcMiddleware:i}),!Su.duplex(e))throw new Error(ts.errors.invalidDuplexStream());this._handleStreamDisconnect=this._handleStreamDisconnect.bind(this);const o=new wu;nu.pipeline(e,o,e,this._handleStreamDisconnect.bind(this,\"MetaMask\")),this._jsonRpcConnection=ru({retryOnMessage:\"METAMASK_EXTENSION_CONNECT_CAN_RETRY\"}),nu.pipeline(this._jsonRpcConnection.stream,o.createStream(t),this._jsonRpcConnection.stream,this._handleStreamDisconnect.bind(this,\"MetaMask RpcProvider\")),this._rpcEngine.push(this._jsonRpcConnection.middleware),this._jsonRpcConnection.events.on(\"notification\",(t=>{const{method:n,params:r}=t;\"metamask_accountsChanged\"===n?this._handleAccountsChanged(r):\"metamask_unlockStateChanged\"===n?this._handleUnlockStateChanged(r):\"metamask_chainChanged\"===n?this._handleChainChanged(r):Oc.includes(n)?this.emit(\"message\",{type:n,data:r}):\"METAMASK_STREAM_FAILURE\"===n&&e.destroy(new Error(ts.errors.permanentlyDisconnected()))}))}async _initializeStateAsync(){let e;try{e=await this.request({method:\"metamask_getProviderState\"})}catch(e){this._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",e)}this._initializeState(e)}_handleStreamDisconnect(e,t){let n=`MetaMask: Lost connection to \"${e}\".`;t?.stack&&(n+=`\\n${t.stack}`),this._log.warn(n),this.listenerCount(\"error\")>0&&this.emit(\"error\",n),this._handleDisconnect(!1,t?t.message:void 0)}_handleChainChanged({chainId:e,networkVersion:t}={}){$c(e)&&(e=>Boolean(e)&&\"string\"==typeof e)(t)?\"loading\"===t?this._handleDisconnect(!0):super._handleChainChanged({chainId:e}):this._log.error(ts.errors.invalidNetworkParams(),{chainId:e,networkVersion:t})}},ku=class extends _u{constructor(e,{jsonRpcStreamName:t=\"metamask-provider\",logger:n=console,maxEventListeners:r=100,shouldSendMetadata:i}={}){if(super(e,{jsonRpcStreamName:t,logger:n,maxEventListeners:r,rpcMiddleware:Tc(n)}),this._sentWarnings={chainId:!1,networkVersion:!1,selectedAddress:!1,enable:!1,experimentalMethods:!1,send:!1,events:{close:!1,data:!1,networkChanged:!1,notification:!1}},qc(this,Cu,void 0),this._initializeStateAsync(),Vc(this,Cu,null),this.isMetaMask=!0,this._sendSync=this._sendSync.bind(this),this.enable=this.enable.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this._warnOfDeprecation=this._warnOfDeprecation.bind(this),this._metamask=this._getExperimentalApi(),this._jsonRpcConnection.events.on(\"notification\",(e=>{const{method:t}=e;Oc.includes(t)&&(this.emit(\"data\",e),this.emit(\"notification\",e.params.result))})),i)if(\"complete\"===document.readyState)Kc(this._rpcEngine,this._log);else{const e=()=>{Kc(this._rpcEngine,this._log),window.removeEventListener(\"DOMContentLoaded\",e)};window.addEventListener(\"DOMContentLoaded\",e)}}get chainId(){return this._sentWarnings.chainId||(this._log.warn(ts.warnings.chainIdDeprecation),this._sentWarnings.chainId=!0),super.chainId}get networkVersion(){return this._sentWarnings.networkVersion||(this._log.warn(ts.warnings.networkVersionDeprecation),this._sentWarnings.networkVersion=!0),zc(this,Cu)}get selectedAddress(){return this._sentWarnings.selectedAddress||(this._log.warn(ts.warnings.selectedAddressDeprecation),this._sentWarnings.selectedAddress=!0),super.selectedAddress}sendAsync(e,t){this._rpcRequest(e,t)}addListener(e,t){return this._warnOfDeprecation(e),super.addListener(e,t)}on(e,t){return this._warnOfDeprecation(e),super.on(e,t)}once(e,t){return this._warnOfDeprecation(e),super.once(e,t)}prependListener(e,t){return this._warnOfDeprecation(e),super.prependListener(e,t)}prependOnceListener(e,t){return this._warnOfDeprecation(e),super.prependOnceListener(e,t)}_handleDisconnect(e,t){super._handleDisconnect(e,t),zc(this,Cu)&&!e&&Vc(this,Cu,null)}_warnOfDeprecation(e){!1===this._sentWarnings?.events[e]&&(this._log.warn(ts.warnings.events[e]),this._sentWarnings.events[e]=!0)}async enable(){return this._sentWarnings.enable||(this._log.warn(ts.warnings.enableDeprecation),this._sentWarnings.enable=!0),new Promise(((e,t)=>{try{this._rpcRequest({method:\"eth_requestAccounts\",params:[]},Dc(e,t))}catch(e){t(e)}}))}send(e,t){return this._sentWarnings.send||(this._log.warn(ts.warnings.sendDeprecation),this._sentWarnings.send=!0),\"string\"!=typeof e||t&&!Array.isArray(t)?e&&\"object\"==typeof e&&\"function\"==typeof t?this._rpcRequest(e,t):this._sendSync(e):new Promise(((n,r)=>{try{this._rpcRequest({method:e,params:t},Dc(n,r,!1))}catch(e){r(e)}}))}_sendSync(e){let t;switch(e.method){case\"eth_accounts\":t=this.selectedAddress?[this.selectedAddress]:[];break;case\"eth_coinbase\":t=this.selectedAddress??null;break;case\"eth_uninstallFilter\":this._rpcRequest(e,Bc),t=!0;break;case\"net_version\":t=zc(this,Cu)??null;break;default:throw new Error(ts.errors.unsupportedSync(e.method))}return{id:e.id,jsonrpc:e.jsonrpc,result:t}}_getExperimentalApi(){return new Proxy({isUnlocked:async()=>(this._state.initialized||await new Promise((e=>{this.on(\"_initialized\",(()=>e()))})),this._state.isUnlocked),requestBatch:async e=>{if(!Array.isArray(e))throw Ya({message:\"Batch requests must be made with an array of request objects.\",data:e});return new Promise(((t,n)=>{this._rpcRequest(e,Dc(t,n))}))}},{get:(e,t,...n)=>(this._sentWarnings.experimentalMethods||(this._log.warn(ts.warnings.experimentalMethods),this._sentWarnings.experimentalMethods=!0),Reflect.get(e,t,...n))})}_handleChainChanged({chainId:e,networkVersion:t}={}){super._handleChainChanged({chainId:e,networkVersion:t}),this._state.isConnected&&t!==zc(this,Cu)&&(Vc(this,Cu,t),this._state.initialized&&this.emit(\"networkChanged\",zc(this,Cu)))}};Cu=new WeakMap;const xu=t(\"MM_SDK\");xu.color=\"#FFAC1C\";var Mu={},Au={};Object.defineProperty(Au,\"__esModule\",{value:!0}),Au.EthereumProviderError=Au.EthereumRpcError=void 0;const Iu=Ta;class Ru extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a nonempty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),this.stack&&(e.stack=this.stack),e}toString(){return Iu.default(this.serialize(),Pu,2)}}Au.EthereumRpcError=Ru;function Pu(e,t){if(\"[Circular]\"!==t)return t}Au.EthereumProviderError=class extends Ru{constructor(e,t,n){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,n)}};var Lu={},Ou={};Object.defineProperty(Ou,\"__esModule\",{value:!0}),Ou.errorValues=Ou.errorCodes=void 0,Ou.errorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}},Ou.errorValues={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.serializeError=e.isValidCode=e.getMessageFromCode=e.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const t=Ou,n=Au,r=t.errorCodes.rpc.internal,i=\"Unspecified error message. This is a bug, please report it.\",o={code:r,message:s(r)};function s(n,r=i){if(Number.isInteger(n)){const r=n.toString();if(d(t.errorValues,r))return t.errorValues[r].message;if(c(n))return e.JSON_RPC_SERVER_ERROR_MESSAGE}return r}function a(e){if(!Number.isInteger(e))return!1;const n=e.toString();return!!t.errorValues[n]||!!c(e)}function c(e){return e>=-32099&&e<=-32e3}function l(e){return e&&\"object\"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.JSON_RPC_SERVER_ERROR_MESSAGE=\"Unspecified server error.\",e.getMessageFromCode=s,e.isValidCode=a,e.serializeError=function(e,{fallbackError:t=o,shouldIncludeStack:r=!1}={}){var i,c;if(!t||!Number.isInteger(t.code)||\"string\"!=typeof t.message)throw new Error(\"Must provide fallback error with integer number code and string message.\");if(e instanceof n.EthereumRpcError)return e.serialize();const u={};if(e&&\"object\"==typeof e&&!Array.isArray(e)&&d(e,\"code\")&&a(e.code)){const t=e;u.code=t.code,t.message&&\"string\"==typeof t.message?(u.message=t.message,d(t,\"data\")&&(u.data=t.data)):(u.message=s(u.code),u.data={originalError:l(e)})}else{u.code=t.code;const n=null===(i=e)||void 0===i?void 0:i.message;u.message=n&&\"string\"==typeof n?n:t.message,u.data={originalError:l(e)}}const h=null===(c=e)||void 0===c?void 0:c.stack;return r&&e&&h&&\"string\"==typeof h&&(u.stack=h),u}}(Lu);var Tu={};Object.defineProperty(Tu,\"__esModule\",{value:!0}),Tu.ethErrors=void 0;const Nu=Au,Du=Lu,$u=Ou;function Bu(e,t){const[n,r]=ju(t);return new Nu.EthereumRpcError(e,n||Du.getMessageFromCode(e),r)}function Ku(e,t){const[n,r]=ju(t);return new Nu.EthereumProviderError(e,n||Du.getMessageFromCode(e),r)}function ju(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t||void 0,n]}}return[]}Tu.ethErrors={rpc:{parse:e=>Bu($u.errorCodes.rpc.parse,e),invalidRequest:e=>Bu($u.errorCodes.rpc.invalidRequest,e),invalidParams:e=>Bu($u.errorCodes.rpc.invalidParams,e),methodNotFound:e=>Bu($u.errorCodes.rpc.methodNotFound,e),internal:e=>Bu($u.errorCodes.rpc.internal,e),server:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum RPC Server errors must provide single object argument.\");const{code:t}=e;if(!Number.isInteger(t)||t>-32005||t<-32099)throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');return Bu(t,e)},invalidInput:e=>Bu($u.errorCodes.rpc.invalidInput,e),resourceNotFound:e=>Bu($u.errorCodes.rpc.resourceNotFound,e),resourceUnavailable:e=>Bu($u.errorCodes.rpc.resourceUnavailable,e),transactionRejected:e=>Bu($u.errorCodes.rpc.transactionRejected,e),methodNotSupported:e=>Bu($u.errorCodes.rpc.methodNotSupported,e),limitExceeded:e=>Bu($u.errorCodes.rpc.limitExceeded,e)},provider:{userRejectedRequest:e=>Ku($u.errorCodes.provider.userRejectedRequest,e),unauthorized:e=>Ku($u.errorCodes.provider.unauthorized,e),unsupportedMethod:e=>Ku($u.errorCodes.provider.unsupportedMethod,e),disconnected:e=>Ku($u.errorCodes.provider.disconnected,e),chainDisconnected:e=>Ku($u.errorCodes.provider.chainDisconnected,e),custom:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum Provider custom errors must provide single object argument.\");const{code:t,message:n,data:r}=e;if(!n||\"string\"!=typeof n)throw new Error('\"message\" must be a nonempty string');return new Nu.EthereumProviderError(t,n,r)}}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getMessageFromCode=e.serializeError=e.EthereumProviderError=e.EthereumRpcError=e.ethErrors=e.errorCodes=void 0;const t=Au;Object.defineProperty(e,\"EthereumRpcError\",{enumerable:!0,get:function(){return t.EthereumRpcError}}),Object.defineProperty(e,\"EthereumProviderError\",{enumerable:!0,get:function(){return t.EthereumProviderError}});const n=Lu;Object.defineProperty(e,\"serializeError\",{enumerable:!0,get:function(){return n.serializeError}}),Object.defineProperty(e,\"getMessageFromCode\",{enumerable:!0,get:function(){return n.getMessageFromCode}});const r=Tu;Object.defineProperty(e,\"ethErrors\",{enumerable:!0,get:function(){return r.ethErrors}});const i=Ou;Object.defineProperty(e,\"errorCodes\",{enumerable:!0,get:function(){return i.errorCodes}})}(Mu);var Uu={exports:{}};Uu.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=90)}({17:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=n(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var n=t.match(e);return n&&n.length>0&&n[1]||\"\"},e.getSecondMatch=function(e,t){var n=t.match(e);return n&&n.length>1&&n[2]||\"\"},e.matchAndReturnConst=function(e,t,n){if(e.test(t))return n},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":case\"NT 5.1\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,n,r){void 0===r&&(r=!1);var i=e.getVersionPrecision(t),o=e.getVersionPrecision(n),s=Math.max(i,o),a=0,c=e.map([t,n],(function(t){var n=s-e.getVersionPrecision(t),r=t+new Array(n+1).join(\".0\");return e.map(r.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(r&&(a=s-Math.min(i,o)),s-=1;s>=a;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===a)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)r.push(t(e[n]));return r},e.find=function(e,t){var n,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,r=e.length;n<r;n+=1){var i=e[n];if(t(i,n))return i}},e.assign=function(e){for(var t,n,r=e,i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){r[t]=e[t]}))};for(t=0,n=o.length;t<n;t+=1)a();return e},e.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,n){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"},t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"},t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"},t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"},t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(91))&&r.__esModule?r:{default:r},o=n(18);function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(){}var t,n,r;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,r=[{key:\"BROWSER_MAP\",get:function(){return o.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return o.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return o.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return o.PLATFORMS_MAP}}],(n=null)&&s(t.prototype,n),r&&s(t,r),e}();t.default=a,e.exports=t.default},91:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=c(n(92)),i=c(n(93)),o=c(n(94)),s=c(n(95)),a=c(n(17));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(r.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,n={},r=0,i={},o=0;if(Object.keys(e).forEach((function(t){var s=e[t];\"string\"==typeof s?(i[t]=s,o+=1):\"object\"==typeof s&&(n[t]=s,r+=1)})),r>0){var s=Object.keys(n),c=a.default.find(s,(function(e){return t.isOS(e)}));if(c){var l=this.satisfies(n[c]);if(void 0!==l)return l}var d=a.default.find(s,(function(e){return t.isPlatform(e)}));if(d){var u=this.satisfies(n[d]);if(void 0!==u)return u}}if(o>0){var h=Object.keys(i),f=a.default.find(h,(function(e){return t.isBrowser(e,!0)}));if(void 0!==f)return this.compareVersion(i[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),r=e.toLowerCase(),i=a.default.getBrowserTypeByAlias(r);return t&&i&&(r=i.toLowerCase()),r===n},t.compareVersion=function(e){var t=[0],n=e,r=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(n=e.substr(1),\"=\"===e[1]?(r=!0,n=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?n=e.substr(1):\"~\"===e[0]&&(r=!0,n=e.substr(1)),t.indexOf(a.default.compareVersions(i,n,r))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=l,e.exports=t.default},92:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=/version\\/(\\d+(\\.?_?\\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},n=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},n=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},n=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},n=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},n=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},n=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},n=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},n=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},n=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},n=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},n=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},n=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},n=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},n=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},n=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},n=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},n=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},n=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},n=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},n=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},n=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},n=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},n=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},n=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t={name:\"Android Browser\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),n=i.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:o.OS_MAP.iOS},n=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),n=i.default.getMacOSVersionName(t),r={name:o.OS_MAP.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),n=i.default.getAndroidVersionName(t),r={name:o.OS_MAP.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),n={name:o.OS_MAP.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",n={type:o.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(n.model=t),n}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},n=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},n=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},n=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},n=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}}];t.default=s,e.exports=t.default}});var Hu=de(Uu.exports);const Fu={Initialized:\"initialized\",DisplayURI:\"display_uri\",ProviderUpdate:\"provider_update\",ConnectWithResponse:\"connectWithResponse\",ConnectionStatus:\"connection_status\",ServiceStatus:\"service_status\"};class zu{constructor({shouldSetOnWindow:e,connectionStream:t,shouldSendMetadata:n=!1,shouldShimWeb3:r,sdkInstance:i}){const o=new Wu({connectionStream:t,shouldSendMetadata:n,shouldSetOnWindow:e,shouldShimWeb3:r,autoRequestAccounts:!1}),s=new Proxy(o,{deleteProperty:()=>!0});if(this.provider=s,this.sdkInstance=i,e&&\"undefined\"!=typeof window)try{a=o,window.ethereum=a,window.dispatchEvent(new Event(\"ethereum#initialized\"))}catch(e){xu(\"[Ethereum] Unable to set global provider - window.ethereum may be read-only\",e)}var a;if(r&&\"undefined\"!=typeof window)try{!function(e,t=console){let n=!1,r=!1;if(!window.web3){const i=\"__isMetaMaskShim__\";let o={currentProvider:e};Object.defineProperty(o,i,{value:!0,enumerable:!0,configurable:!1,writable:!1}),o=new Proxy(o,{get:(o,s,...a)=>(\"currentProvider\"!==s||n?\"currentProvider\"===s||s===i||r||(r=!0,t.error(\"MetaMask no longer injects web3. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),e.request({method:\"metamask_logWeb3ShimUsage\"}).catch((e=>{t.debug(\"MetaMask: Failed to log web3 shim usage.\",e)}))):(n=!0,t.warn(\"You are accessing the MetaMask window.web3.currentProvider shim. This property is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\")),Reflect.get(o,s,...a)),set:(...e)=>(t.warn(\"You are accessing the MetaMask window.web3 shim. This object is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),Reflect.set(...e))}),Object.defineProperty(window,\"web3\",{value:o,enumerable:!1,configurable:!0,writable:!0})}}(this.provider)}catch(e){xu(\"[Ethereum] Unable to shim web3 - window.web3 may be read-only\",e)}this.provider.on(\"display_uri\",(e=>{this.sdkInstance.emit(Fu.DisplayURI,e)})),this.provider.on(\"_initialized\",(()=>{const e={chainId:this.provider.getChainId(),isConnected:this.provider.isConnected(),isMetaMask:this.provider.isMetaMask,selectedAddress:this.provider.getSelectedAddress(),networkVersion:this.provider.getNetworkVersion()};this.sdkInstance.emit(Fu.Initialized,e),xu(\"[Ethereum: constructor()] provider initialized\",e)}))}static init(e){var t;return xu(\"[Ethereum: init()] Initializing Ethereum service\"),this.instance=new zu(e),null===(t=this.instance)||void 0===t?void 0:t.provider}static destroy(){}static getInstance(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance}static getProvider(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance.provider}}class qu{constructor({useDeepLink:e,preferredOpenLink:t,debug:n=!1}){this.state={platformType:void 0,useDeeplink:!1,preferredOpenLink:void 0,debug:!1},this.state.platformType=this.getPlatformType(),this.state.useDeeplink=e,this.state.preferredOpenLink=t,this.state.debug=n}openDeeplink(e,t,n){return function(e,t,n,r){const{state:i}=e;xu(`[PlatfformManager: openDeeplink()] universalLink --\\x3e ${t}`),xu(`[PlatfformManager: openDeeplink()] deepLink --\\x3e ${n}`);try{if(i.preferredOpenLink)return void i.preferredOpenLink(i.useDeeplink?n:t,r);if(xu(`[PlatfformManager: openDeeplink()] open link now useDeepLink=${i.useDeeplink} link=${i.useDeeplink?n:t}`),i.useDeeplink)\"undefined\"!=typeof window&&(window.location.href=n);else if(\"undefined\"!=typeof document){const e=document.createElement(\"a\");e.href=t,e.target=\"_self\",e.rel=\"noreferrer noopener\",e.click()}}catch(e){console.log(\"[PlatfformManager: openDeeplink()] can't open link\",e)}}(this,e,t,n)}isReactNative(){var e;return this.isNotBrowser()&&\"undefined\"!=typeof window&&(null===window||void 0===window?void 0:window.navigator)&&\"ReactNative\"===(null===(e=window.navigator)||void 0===e?void 0:e.product)}isMetaMaskInstalled(){return function(){const e=zu.getProvider()||(null===window||void 0===window?void 0:window.ethereum);return xu(`[PlatfformManager: isMetaMaskInstalled()] isMetaMask=${null==e?void 0:e.isMetaMask} isConnected=${null==e?void 0:e.isConnected()}`),(null==e?void 0:e.isMetaMask)&&(null==e?void 0:e.isConnected())}()}isDesktopWeb(){return this.isBrowser()&&!this.isMobileWeb()}isMobile(){var e,t;const n=Hu.parse(window.navigator.userAgent);return\"mobile\"===(null===(e=null==n?void 0:n.platform)||void 0===e?void 0:e.type)||\"tablet\"===(null===(t=null==n?void 0:n.platform)||void 0===t?void 0:t.type)}isSecure(){return this.isReactNative()||this.isMobileWeb()}isMetaMaskMobileWebView(){return\"undefined\"!=typeof window&&(Boolean(window.ReactNativeWebView)&&Boolean(navigator.userAgent.endsWith(\"MetaMaskMobile\")))}isMobileWeb(){return this.state.platformType===Bo.MobileWeb}static isNotBrowser(){var e;return\"undefined\"==typeof window||!(null===window||void 0===window?void 0:window.navigator)||void 0!==c&&\"ReactNative\"===(null===(e=null==c?void 0:c.navigator)||void 0===e?void 0:e.product)||\"ReactNative\"===(null===navigator||void 0===navigator?void 0:navigator.product)}isNotBrowser(){return qu.isNotBrowser()}static isBrowser(){return!this.isNotBrowser()}isBrowser(){return qu.isBrowser()}isNodeJS(){return this.isNotBrowser()&&!this.isReactNative()}isUseDeepLink(){return this.state.useDeeplink}getPlatformType(){return function(e){const{state:t}=e;return t.platformType?t.platformType:e.isReactNative()?Bo.ReactNative:e.isNotBrowser()?Bo.NonBrowser:e.isMetaMaskMobileWebView()?Bo.MetaMaskMobileWebview:e.isMobile()?Bo.MobileWeb:Bo.DesktopWeb}(this)}}const Vu=e=>a(void 0,void 0,void 0,(function*(){if(qu.isBrowser()){const{StorageManagerWeb:t}=yield Promise.resolve().then((function(){return nf}));return new t(e)}const t={persistChannelConfig:()=>a(void 0,void 0,void 0,(function*(){})),getPersistedChannelConfig:()=>a(void 0,void 0,void 0,(function*(){})),persistAccounts:()=>a(void 0,void 0,void 0,(function*(){})),getCachedAccounts:()=>a(void 0,void 0,void 0,(function*(){return[]})),persistChainId:()=>a(void 0,void 0,void 0,(function*(){})),getCachedChainId:()=>a(void 0,void 0,void 0,(function*(){})),terminate:()=>a(void 0,void 0,void 0,(function*(){}))};return Promise.resolve(t)}));class Wu extends ku{constructor({connectionStream:e,shouldSendMetadata:t,autoRequestAccounts:n=!1}){super(e,{logger:console,maxEventListeners:100,shouldSendMetadata:t}),this.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\",networkVersion:\"\"},xu(`[SDKProvider: constructor()] autoRequestAccounts=${n}`),this.state.autoRequestAccounts=n}forceInitializeState(){return a(this,void 0,void 0,(function*(){return xu(`[SDKProvider: forceInitializeState()] autoRequestAccounts=${this.state.autoRequestAccounts}`),this._initializeStateAsync()}))}_setConnected(){xu(\"[SDKProvider: _setConnected()] Setting connected state\"),this._state.isConnected=!0}getState(){return this._state}getSDKProviderState(){return this.state}getSelectedAddress(){var e;const{accounts:t}=this._state;return t&&0!==t.length?(null===(e=t[0])||void 0===e?void 0:e.toLowerCase())||\"\":(xu(\"[SDKProvider: getSelectedAddress] No accounts found\"),null)}getChainId(){return this.state.chainId}getNetworkVersion(){return this.state.networkVersion}setSDKProviderState(e){this.state=Object.assign(Object.assign({},this.state),e)}handleAccountsChanged(e,t){return this._handleAccountsChanged(e,t)}handleDisconnect({terminate:e=!1}){!function({terminate:e=!1,instance:t}){const{state:n}=t;xu(`[SDKProvider: handleDisconnect()] cleaning up provider state terminate=${e}`,t),e&&(t._state.accounts=null,t._state.isUnlocked=!1,t._state.isPermanentlyDisconnected=!0,t._state.initialized=!1),t._handleAccountsChanged([]),t._state.isConnected=!1,t.emit(\"disconnect\",Mu.ethErrors.provider.disconnected()),n.providerStateRequested=!1}({terminate:e,instance:this})}_initializeStateAsync(){return a(this,void 0,void 0,(function*(){return function(e){var t,n;return a(this,void 0,void 0,(function*(){void 0===e.state&&(e.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\"});const{state:r}=e;let i;if(r.providerStateRequested)xu(\"[SDKProvider: initializeStateAsync()] initialization already in progress\");else{let o;r.providerStateRequested=!0;let s=null,a=!1,c=!1;const l=yield Vu({enabled:!0});if(l){const e=yield l.getPersistedChannelConfig({});a=null!==(t=null==e?void 0:e.relayPersistence)&&void 0!==t&&t,o=yield l.getCachedChainId();const n=yield l.getCachedAccounts();n.length>0&&(s=n[0])}if(xu(`[SDKProvider: initializeStateAsync()] relayPersistence=${a}`,{relayPersistence:a,cachedChainId:o,cachedSelectedAddress:s}),a)if(o&&s)i={accounts:[s],chainId:o,isUnlocked:!1},c=!0;else try{i=yield e.request({method:\"metamask_getProviderState\"})}catch(t){return e._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",t),void(r.providerStateRequested=!1)}if(0===(null===(n=null==i?void 0:i.accounts)||void 0===n?void 0:n.length))if(e.getSelectedAddress())i.accounts=[e.getSelectedAddress()];else{xu(\"[SDKProvider: initializeStateAsync()] Fetch accounts remotely.\");const t=yield e.request({method:\"eth_requestAccounts\",params:[]});i.accounts=t}e._initializeState(i),r.providerStateRequested=!1,c&&(e._state.isConnected=!0,e.emit(\"connect\",{chainId:null==i?void 0:i.chainId}))}}))}(this)}))}_initializeState(e){return xu(\"[SDKProvider: _initializeState()]\",e),function(e,t,n){return xu(\"[SDKProvider: initializeState()] set state._initialized to false\"),e._state.initialized=!1,t(n)}(this,super._initializeState.bind(this),e)}_handleChainChanged({chainId:e,networkVersion:t}={}){this.state.chainId=e,this.state.networkVersion=t,function({instance:e,chainId:t,networkVersion:n,superHandleChainChanged:r}){xu(`[SDKProvider: handleChainChanged()] chainId=${t} networkVersion=${n}`);let i=n;n||(xu(\"[SDKProvider: handleChainChanged()] forced network version to prevent provider error\"),i=\"1\"),e._state.isConnected=!0,e.emit(\"connect\",{chainId:t}),r({chainId:t,networkVersion:i})}({instance:this,chainId:e,networkVersion:t,superHandleChainChanged:super._handleChainChanged.bind(this)})}}var Gu,Zu={name:\"@metamask/sdk\",version:\"0.32.0\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk\",directory:\"packages/sdk\"},main:\"dist/node/cjs/metamask-sdk.js\",module:\"dist/browser/es/metamask-sdk.js\",browser:\"dist/browser/es/metamask-sdk.js\",unpkg:\"dist/browser/umd/metamask-sdk.js\",\"react-native\":\"dist/react-native/es/metamask-sdk.js\",types:\"dist/types/src/index.d.ts\",sideEffects:!1,files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:clean\":\"yarn clean && yarn build\",\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",typecheck:\"tsc --noEmit\",clean:\"rimraf ./dist\",size:\"node bundle-size && size-limit\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",prepack:\"../../scripts/prepack.sh\",\"publish:preview\":\"yarn npm publish --tag preview\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:coverage\":'jest --coverage --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":'jest -c ./jest.config.ts --detectOpenHandles  --testPathIgnorePatterns \"/e2e/\"',watch:\"rollup -c -w\",dev:'concurrently \"tsc --watch\" \"rollup -c -w --bundleConfigAsCjs\"',\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\"},dependencies:{\"@babel/runtime\":\"^7.26.0\",\"@metamask/onboarding\":\"^1.0.1\",\"@metamask/providers\":\"16.1.0\",\"@metamask/sdk-communication-layer\":\"workspace:*\",\"@metamask/sdk-install-modal-web\":\"workspace:*\",\"@paulmillr/qr\":\"^0.2.1\",bowser:\"^2.9.0\",\"cross-fetch\":\"^4.0.0\",debug:\"^4.3.4\",eciesjs:\"^0.4.11\",\"eth-rpc-errors\":\"^4.0.3\",eventemitter2:\"^6.4.9\",\"obj-multiplex\":\"^1.0.0\",pump:\"^3.0.0\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\",tslib:\"^2.6.0\",util:\"^0.12.4\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@react-native-async-storage/async-storage\":\"^1.19.6\",\"@rollup/plugin-alias\":\"^5.1.1\",\"@rollup/plugin-commonjs\":\"^25.0.7\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.1\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/dom-screen-wake-lock\":\"^1.0.2\",\"@types/node\":\"^20.1.3\",\"@types/pump\":\"^1.1.1\",\"@types/qrcode-terminal\":\"^0.12.0\",\"@types/uuid\":\"^10.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",\"browserify-zlib\":\"^0.2.0\",buffer:\"^6.0.3\",concurrently:\"^9.1.2\",\"crypto-browserify\":\"^3.12.0\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",\"https-browserify\":\"^1.0.0\",jest:\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",prettier:\"^2.3.0\",process:\"^0.11.10\",rimraf:\"^4.4.0\",rollup:\"^4.26.0\",\"rollup-plugin-analyzer\":\"^4.0.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.0.2\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^4.3.2\",url:\"^0.11.0\",webpack:\"^5.0.0\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,\"@metamask/sdk-communication-layer>bufferutil\":!1,\"@metamask/sdk-communication-layer>eciesjs>secp256k1\":!1,\"@metamask/sdk-communication-layer>utf-8-validate\":!1}}};!function(e){e.INPAGE=\"metamask-inpage\",e.CONTENT_SCRIPT=\"metamask-contentscript\",e.PROVIDER=\"metamask-provider\"}(Gu||(Gu={}));const Yu=\"direct\",Ju=\"https://metamask.app.link/connect\",Xu=\"metamask://connect\",Qu={NAME:\"MetaMask\",RDNS:[\"io.metamask\",\"io.metamask.flask\"]},eh=/(?:^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}$)|(?:^0{8}-0{4}-0{4}-0{4}-0{12}$)/u,th={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",METAMASK_CONNECTSIGN:\"metamask_connectSign\",METAMASK_CONNECTWITH:\"metamask_connectWith\",METAMASK_OPEN:\"metamask_open\",METAMASK_BATCH:\"metamask_batch\",PERSONAL_SIGN:\"personal_sign\",WALLET_REQUESTPERMISSIONS:\"wallet_requestPermissions\",WALLET_REVOKEPERMISSIONS:\"wallet_revokePermissions\",WALLET_GETPERMISSIONS:\"wallet_getPermissions\",WALLET_WATCHASSET:\"wallet_watchAsset\",WALLET_ADDETHEREUMCHAIN:\"wallet_addEthereumChain\",WALLET_SWITCHETHETHEREUMCHAIN:\"wallet_switchEthereumChain\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\",ETH_ACCOUNTS:\"eth_accounts\",ETH_CHAINID:\"eth_chainId\",ETH_SENDTRANSACTION:\"eth_sendTransaction\",ETH_SIGNTYPEDDATA:\"eth_signTypedData\",ETH_SIGNTYPEDDATA_V3:\"eth_signTypedData_v3\",ETH_SIGNTYPEDDATA_V4:\"eth_signTypedData_v4\",ETH_SIGNTRANSACTION:\"eth_signTransaction\",ETH_SIGN:\"eth_sign\",PERSONAL_EC_RECOVER:\"personal_ecRecover\"},nh={[th.ETH_REQUESTACCOUNTS]:!0,[th.ETH_SENDTRANSACTION]:!0,[th.ETH_SIGNTRANSACTION]:!0,[th.ETH_SIGN]:!0,[th.PERSONAL_SIGN]:!0,[th.ETH_ACCOUNTS]:!1,[th.ETH_CHAINID]:!1,[th.PERSONAL_SIGN]:!0,[th.ETH_SIGNTYPEDDATA]:!0,[th.ETH_SIGNTYPEDDATA_V3]:!0,[th.ETH_SIGNTYPEDDATA_V4]:!0,[th.WALLET_REQUESTPERMISSIONS]:!0,[th.WALLET_GETPERMISSIONS]:!0,[th.WALLET_WATCHASSET]:!0,[th.WALLET_ADDETHEREUMCHAIN]:!0,[th.WALLET_SWITCHETHETHEREUMCHAIN]:!0,[th.METAMASK_CONNECTSIGN]:!0,[th.METAMASK_CONNECTWITH]:!0,[th.PERSONAL_EC_RECOVER]:!0,[th.METAMASK_BATCH]:!0,[th.METAMASK_OPEN]:!0},rh=Object.keys(nh).map((e=>e.toLowerCase())),ih=[\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"eth_sign\"].map((e=>e.toLowerCase())),oh=\".sdk-comm\",sh=\"providerType\",ah=\".MMSDK_cached_address\",ch=\".MMSDK_cached_chainId\",lh={CHAIN_CHANGED:\"chainChanged\",ACCOUNTS_CHANGED:\"accountsChanged\",DISCONNECT:\"disconnect\",CONNECT:\"connect\",CONNECTED:\"connected\"},dh=1e6;var uh;!function(e){e.TERMINATE=\"terminate\",e.EXTENSION=\"extension\",e.INITIALIZED=\"initialized\"}(uh||(uh={}));const hh=\"undefined\"!=typeof window&&window.localStorage;function fh({instance:e,msg:t}){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connectAndSign()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connectAndSign()] activeProvider=${e.activeProvider}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const n=/^0x([0-9A-Fa-f]{2})*$/u.test(t)?t:function(e){let t;if(void 0!==S)t=S.from(e,\"utf8\").toString(\"hex\");else if(\"undefined\"!=typeof TextEncoder){const n=(new TextEncoder).encode(e);t=Array.from(n).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}else{if(\"object\"!=typeof c||!(\"Buffer\"in c))throw new Error(\"Unable to convert string to hex: No available method.\");t=c.Buffer.from(e,\"utf8\").toString(\"hex\")}return`0x${t}`}(t);return e.activeProvider.request({method:th.METAMASK_CONNECTWITH,params:[{method:th.PERSONAL_SIGN,params:[n]}]})}))}function ph(e){var t,n;return a(this,void 0,void 0,(function*(){xu(\"[MetaMaskSDK: connectWithExtensionProvider()] \",e),e.sdkProvider=e.activeProvider,e.activeProvider=window.extension,window.ethereum=window.extension;try{const e=yield null===(t=window.extension)||void 0===t?void 0:t.request({method:\"eth_requestAccounts\"});xu(`[MetaMaskSDK: connectWithExtensionProvider()] accounts=${e}`)}catch(e){return void console.warn(\"[MetaMaskSDK: connectWithExtensionProvider()] can't request accounts error\",e)}localStorage.setItem(sh,\"extension\"),e.extensionActive=!0,e.emit(Fu.ProviderUpdate,uh.EXTENSION),e.options.enableAnalytics&&(null===(n=e.analytics)||void 0===n||n.send({event:So.SDK_USE_EXTENSION}))}))}function gh(e){let t;if(void 0!==S)t=S.from(e,\"utf8\").toString(\"base64\");else if(\"function\"==typeof btoa)t=btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/gu,((e,t)=>String.fromCharCode(parseInt(t,16)))));else{if(\"object\"!=typeof c||!(\"Buffer\"in c))throw new Error(\"Unable to base64 encode: No available method.\");t=c.Buffer.from(e,\"utf8\").toString(\"base64\")}return t}function mh(e,t,n,r){var i,o,s,c,l,d,u,h,f,p,g,m,y,v,b,w,E,C,_,k;return a(this,void 0,void 0,(function*(){const n=null===(i=e.state.remote)||void 0===i?void 0:i.isReady(),a=null===(o=e.state.remote)||void 0===o?void 0:o.isConnected(),x=null===(s=e.state.remote)||void 0===s?void 0:s.isPaused(),M=zu.getProvider(),A=null===(c=e.state.remote)||void 0===c?void 0:c.getChannelId(),I=null===(l=e.state.remote)||void 0===l?void 0:l.isAuthorized(),{deeplinkProtocol:R}=e.state,{method:P,data:L,triggeredInstaller:O}=(e=>{var t,n,r,i;let o;S.isBuffer(e)?(o=e.toJSON(),o._isBuffer=!0):o=e;const s=null===(t=null==o?void 0:o.data)||void 0===t?void 0:t.method;let a=!1;return\"object\"==typeof(null===(n=null==o?void 0:o.data)||void 0===n?void 0:n.params)&&!0===(null===(i=null===(r=null==o?void 0:o.data)||void 0===r?void 0:r.params)||void 0===i?void 0:i.__triggeredInstaller)&&(a=!0,o.data.params=o.data.params.wrappedParams),{method:s,data:o,triggeredInstaller:a}})(t);if(xu(`[RCPMS: write()] method='${P}' isRemoteReady=${n} channelId=${A} isSocketConnected=${a} isRemotePaused=${x} providerConnected=${M.isConnected()}`,t),!A)return P!==th.METAMASK_GETPROVIDERSTATE&&xu(`[RCPMS: write()] ${P} --\\x3e channelId is undefined`),r(new Error(\"disconnected\"));xu(`[RCPMS: write()] remote.isPaused()=${null===(d=e.state.remote)||void 0===d?void 0:d.isPaused()} authorized=${I} ready=${n} socketConnected=${a}`,t);const T=null===(u=e.state.platformManager)||void 0===u?void 0:u.isSecure(),N=null!==(f=null===(h=e.state.platformManager)||void 0===h?void 0:h.isMobileWeb())&&void 0!==f&&f,D=null!==(g=null===(p=e.state.remote)||void 0===p?void 0:p.hasDeeplinkProtocol())&&void 0!==g&&g&&N&&I;try{if(!O){const t=JSON.stringify(null==L?void 0:L.data);if(t.length>dh)return r(new Error(`Message size ${t.length} exceeds maximum allowed size of 1000000 bytes`));null===(m=e.state.remote)||void 0===m||m.sendMessage(null==L?void 0:L.data).then((()=>{xu(`[RCPMS: _write()] ${P} sent successfully`)})).catch((e=>{xu(\"[RCPMS: _write()] error sending message\",e)}))}if(!T)return xu(`[RCPMS: _write()] unsecure platform for method ${P} -- return callback`),r();if(O)return xu(\"[RCPMS: _write()] prevent deeplink -- installation completed separately.\"),r();const t=null!==(b=null===(v=null===(y=e.state.remote)||void 0===y?void 0:y.getKeyInfo())||void 0===v?void 0:v.ecies.public)&&void 0!==b?b:\"\";let n=encodeURI(`channelId=${A}&pubkey=${t}&comm=socket&t=d&v=2`);if(D){const t=JSON.stringify(null==L?void 0:L.data),i=null===(w=e.state.remote)||void 0===w?void 0:w.encrypt(t);if(!i)return xu(\"[RCPMS: _write()] error encrypting message\"),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"));n+=`&scheme=${R}&rpc=${gh(i)}`}if(!(null===(E=e.state.platformManager)||void 0===E?void 0:E.isMetaMaskInstalled()))return xu(\"[RCPMS: _write()] prevent deeplink until installation is completed.\"),r();nh[P]?(xu(`[RCPMS: _write()] redirect link for '${P}' socketConnected=${a} connect?${n}`),null===(C=e.state.platformManager)||void 0===C||C.openDeeplink(`${Ju}?${n}`,`${Xu}?${n}`,\"_self\")):(null===(_=e.state.remote)||void 0===_?void 0:_.isPaused())?(xu(`[RCPMS: _write()] MM is PAUSED! deeplink with connect! targetMethod=${P}`),null===(k=e.state.platformManager)||void 0===k||k.openDeeplink(`${Ju}?redirect=true&${n}`,`${Xu}?redirect=true&${n}`,\"_self\")):xu(`[RCPMS: _write()] method ${P} doesn't need redirect.`)}catch(e){return xu(\"[RCPMS: _write()] error sending message\",e),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"))}return r()}))}class yh extends nu.Duplex{constructor({name:e,remote:t,deeplinkProtocol:n,platformManager:r}){super({objectMode:!0}),this.state={_name:null,remote:null,deeplinkProtocol:!1,platformManager:null},this.state._name=e,this.state.remote=t,this.state.deeplinkProtocol=n,this.state.platformManager=r,this._onMessage=this._onMessage.bind(this),this.state.remote.on(bo.MESSAGE,this._onMessage)}_write(e,t,n){return a(this,void 0,void 0,(function*(){return mh(this,e,0,n)}))}_read(){}_onMessage(e){return function(e,t){try{if(xu(\"[RCPMS: onMessage()] message\",t),!t||\"object\"!=typeof t)return;if(\"object\"!=typeof(null==t?void 0:t.data))return;if(!(null==t?void 0:t.name))return void xu(\"[RCPMS: onMessage()] ignore message without name\",t);if((null==t?void 0:t.name)!==Gu.PROVIDER)return void xu(`[RCPMS: onMessage()] ignore message with wrong name message=${t}`);if(S.isBuffer(t)){const n=S.from(t);e.push(n)}else e.push(t)}catch(e){xu(`[RCPMS: onMessage()] ignore message error err=${e}`)}}(this,e)}start(){}}let vh=1;const bh=e=>new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),wh=({checkInstallationOnAllCalls:t=!1,communicationLayerPreference:n,injectProvider:r,shouldShimWeb3:i,platformManager:o,installer:s,sdk:c,remoteConnection:l,debug:d})=>a(void 0,void 0,void 0,(function*(){var u,h;const f=(({name:e,remoteConnection:t})=>{if(!t||!(null==t?void 0:t.getConnector()))throw new Error(\"Missing remote connection parameter\");return new yh({name:e,remote:null==t?void 0:t.getConnector(),deeplinkProtocol:null==t?void 0:t.state.deeplinkProtocol,platformManager:null==t?void 0:t.getPlatformManager()})})({name:Gu.INPAGE,target:Gu.CONTENT_SCRIPT,platformManager:o,communicationLayerPreference:n,remoteConnection:l}),p=o.getPlatformType(),g=c.options.dappMetadata,m=`Sdk/Javascript SdkVersion/${Zu.version} Platform/${p} dApp/${null!==(u=g.url)&&void 0!==u?u:g.name} dAppTitle/${g.name}`;let y=null,v=null;const b=null===(h=c.options.storage)||void 0===h?void 0:h.storageManager;if(b){try{const e=yield b.getCachedAccounts();e.length>0&&(y=e[0])}catch(e){console.error(`[initializeMobileProvider] failed to get cached addresses: ${e}`)}try{const e=yield b.getCachedChainId();e&&(v=e)}catch(e){console.error(`[initializeMobileProvider] failed to parse cached chainId: ${e}`)}}xu(`[initializeMobileProvider] cachedAccountAddress: ${y}, cachedChainId: ${v}`);const w=!(!r||p===Bo.NonBrowser||p===Bo.ReactNative),E=zu.init({shouldSetOnWindow:w,connectionStream:f,shouldShimWeb3:i,sdkInstance:c});let C=!1;const S=e=>{C=e},_=()=>C,k=(n,r,i,d)=>a(void 0,void 0,void 0,(function*(){var u,h,f,p,g,w,E,k,x;const M=zu.getProvider();if(C){M.emit(\"display_uri\",(null==l?void 0:l.state.qrcodeLink)||\"\"),null==l||l.showActiveModal();let e=_();for(;e;){const t=_(),n=null==l?void 0:l.isAuthorized();e=t&&!n,xu(`[initializeMobileProvider: sendRequest()] waiting for initialization to complete - initializing: ${t} authorized: ${n}`),yield bh(1e3)}return xu(\"[initializeMobileProvider: sendRequest()] initial method completed -- prevent installation and call provider\"),i(...r)}const A=o.isMetaMaskInstalled(),I=null==l?void 0:l.isConnected();let R=null,P=null,L=null;if(R=null!==(u=M.getSelectedAddress())&&void 0!==u?u:y,L=M.getChainId()||v,R&&b&&R!==y&&b.persistAccounts([R]).catch((e=>{console.error(`[initializeMobileProvider] failed to persist account: ${e}`)})),L&&(v=L,b&&b.persistChainId(L).catch((e=>{console.error(`[initializeMobileProvider] failed to persist chainId: ${e}`)}))),xu(\"[initializeMobileProvider: sendRequest()]\",{selectedAddress:R,chainId:L}),d&&xu(`[initializeMobileProvider: sendRequest()] method=${n} ongoing=${C} selectedAddress=${R} isInstalled=${A} checkInstallationOnAllCalls=${t} socketConnected=${I}`),R&&n.toLowerCase()===th.ETH_ACCOUNTS.toLowerCase())return[R];if(L&&n.toLowerCase()===th.ETH_CHAINID.toLowerCase())return L;const O=[th.ETH_REQUESTACCOUNTS,th.WALLET_REQUESTPERMISSIONS,th.METAMASK_CONNECTSIGN,th.METAMASK_CONNECTWITH],T=!nh[n],N=null===(h=c.options.readonlyRPCMap)||void 0===h?void 0:h[L];if(N&&T)try{const t=null===(f=null==r?void 0:r[0])||void 0===f?void 0:f.params,i=yield(({rpcEndpoint:t,method:n,sdkInfo:r,params:i})=>a(void 0,void 0,void 0,(function*(){const o=JSON.stringify({jsonrpc:\"2.0\",method:n,params:i,id:(vh+=1,vh)}),s={Accept:\"application/json\",\"Content-Type\":\"application/json\"};let a;t.includes(\"infura\")&&(s[\"Metamask-Sdk-Info\"]=r);try{a=yield e(t,{method:\"POST\",headers:s,body:o})}catch(e){throw e instanceof Error?new Error(`Failed to fetch from RPC: ${e.message}`):new Error(`Failed to fetch from RPC: ${e}`)}if(!a.ok)throw new Error(`Server responded with a status of ${a.status}`);return(yield a.json()).result})))({rpcEndpoint:N,sdkInfo:m,method:n,params:t||[]});return d&&xu(`initializeProvider::ReadOnlyRPCResponse ${i}`),i}catch(e){console.warn(`[initializeMobileProvider: sendRequest()] method=${n} readOnlyRPCRequest failed:`,e)}if((!A||A&&!I)&&n!==th.METAMASK_GETPROVIDERSTATE){const e=(null===(p=null==r?void 0:r[0])||void 0===p?void 0:p.params)||[];if(-1!==O.indexOf(n)||t){S(!0);const t=n===th.METAMASK_CONNECTWITH,o=`${Date.now()}`;try{yield s.start({wait:!1,connectWith:t?{method:n,id:o,params:e}:void 0}),yield new Promise(((e,t)=>{(null==l?void 0:l.isAuthorized())&&(xu(\"[initializeMobileProvider: sendRequest()] already authorized\"),e(!0)),null==l||l.getConnector().once(bo.AUTHORIZED,(()=>{e(!0)})),c.once(bo.PROVIDER_UPDATE,(e=>{xu(`[initializeMobileProvider: sendRequest()] PROVIDER_UPDATE --- remote provider request interupted type=${e}`),e===uh.EXTENSION?t(bo.PROVIDER_UPDATE):t(new Error(\"Connection Terminated\"))}))}))}catch(t){if(uh.EXTENSION===t){if(xu(`[initializeMobileProvider: sendRequest()] extension provider detect: re-create ${n} on the active provider`),n.toLowerCase()===th.METAMASK_CONNECTSIGN.toLowerCase()){const t=yield null===(g=c.getProvider())||void 0===g?void 0:g.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!t.length)throw new Error(\"SDK state invalid -- undefined accounts\");const n=yield null===(w=c.getProvider())||void 0===w?void 0:w.request({method:th.PERSONAL_SIGN,params:[e[0],t[0]]});return c.emit(Fu.ConnectWithResponse,n),n}if(n.toLowerCase()===th.METAMASK_CONNECTWITH.toLowerCase()){const[t]=e,n=yield(({method:e,sdk:t,params:n})=>a(void 0,void 0,void 0,(function*(){var r,i,o,s;if(!t.isExtensionActive())throw new Error(\"SDK state invalid -- extension is not active\");xu(\"[MetaMaskProvider: extensionConnectWithOverwrite()] Overwriting request method\",e,n);const a=yield null===(r=t.getProvider())||void 0===r?void 0:r.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!a.length)throw new Error(\"SDK state invalid -- undefined accounts\");if((null==e?void 0:e.toLowerCase())===th.PERSONAL_SIGN.toLowerCase()){const r={method:e,params:[n[0],a[0]]};return yield null===(i=t.getProvider())||void 0===i?void 0:i.request(r)}if((null==e?void 0:e.toLowerCase())===th.ETH_SENDTRANSACTION.toLowerCase()){const r={method:e,params:[Object.assign(Object.assign({},n[0]),{from:a[0]})]};return yield null===(o=t.getProvider())||void 0===o?void 0:o.request(r)}return ih.includes(e.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${e} -- not handled by the extension -- call separately`),a):yield null===(s=t.getProvider())||void 0===s?void 0:s.request({method:e,params:n})})))({method:t.method,sdk:c,params:t.params});return c.emit(Fu.ConnectWithResponse,n),n}return xu(`[initializeMobileProvider: sendRequest()] sending '${n}' on active provider`,e),yield null===(E=c.getProvider())||void 0===E?void 0:E.request({method:n,params:e})}if(t===bo.REJECTED)throw null==l||l.closeModal(),null===(k=c.getProvider())||void 0===k||k.handleDisconnect({terminate:!1}),Object.assign(new Error(\"User rejected connection\"),{code:4001});throw xu(`[initializeMobileProvider: sendRequest()] failed to start installer: ${t}`),t}finally{S(!1)}if(n===th.ETH_REQUESTACCOUNTS)return P=yield new Promise((e=>{const t=setInterval((()=>{const{accounts:n}=M.getState();n&&(clearInterval(t),e(n))}),100)})),xu(`[initializeMobileProvider: sendRequest()] selectedAddress: ${R} --- SKIP rpc call`),P;if(n===th.METAMASK_CONNECTWITH)try{let e=0;const t=5,n=({resolve:n,reject:r})=>{e+=1;const i=null==l?void 0:l.getConnector().getRPCMethodTracker(),s=null==i?void 0:i[o];return xu(`TRACKER: update method ${o}`,s),(null==s?void 0:s.result)?(xu(\"[initializeMobileProvider: sendRequest()] found result\",s.result),c.emit(Fu.ConnectWithResponse,s.result),void n(s.result)):(null==s?void 0:s.error)?(xu(\"[initializeMobileProvider: sendRequest()] found error\",s.error),void r(s.error)):e>=t?(xu(\"[initializeMobileProvider: sendRequest()] max message count reached without result\"),void r(new Error(\"Max message count reached without result\"))):void xu(\"[initializeMobileProvider: sendRequest()] not found yet, need to wait for next update\")};let r,i;const s=yield new Promise(((e,t)=>{const s=null==l?void 0:l.getConnector().getRPCMethodTracker();xu(`TRACKER: method ${o}`,s),(null==s?void 0:s[o].result)?(xu(\"[initializeMobileProvider: sendRequest()] found result\",null==s?void 0:s[o].result),e(null==s?void 0:s[o].result)):(null==s?void 0:s[o].error)&&(xu(\"[initializeMobileProvider: sendRequest()] found error\",null==s?void 0:s[o].error),t(null==s?void 0:s[o].error)),i=()=>n({resolve:e,reject:t}),r=null==l?void 0:l.getConnector().on(bo.RPC_UPDATE,i)}));return i&&(null==r||r.off(bo.RPC_UPDATE,i)),xu(\"TRACKER: result\",s),s}catch(e){throw xu(\"[initializeMobileProvider: sendRequest()] error:\",e),e}r[0]&&\"object\"==typeof r[0]&&(r[0].params={__triggeredInstaller:!0,wrappedParams:r[0].params});return i(...r)}if(o.isSecure()&&nh[n])return i(...r);if(c.isExtensionActive())return xu(`[initializeMobileProvider: sendRequest()] EXTENSION active - redirect request '${n}' to it`,r,e),yield null===(x=c.getProvider())||void 0===x?void 0:x.request({method:n,params:e});throw xu(`[initializeMobileProvider: sendRequest()] method=${n} --- skip --- not connected/installed`),new Error(\"MetaMask is not connected/installed, please call eth_requestAccounts to connect first.\")}try{const e=yield i(...r);if(xu(`[initializeMobileProvider: sendRequest()] method=${n} rpcResponse`,e),n===th.WALLET_REQUESTPERMISSIONS){const t=e.reduce(((e,t)=>{var n;if(\"eth_accounts\"===t.parentCapability){const r=null===(n=t.caveats.find((e=>\"restrictReturnedAccounts\"===e.type)))||void 0===n?void 0:n.value;r&&e.push(...r)}return e}),[]);xu(\"[initializeMobileProvider: sendRequest()] accountsToPersist:\",t),t.length>0&&(M.handleAccountsChanged(t,!1),null==b||b.persistAccounts(t))}return e}catch(e){throw console.error(\"[initializeMobileProvider: sendRequest()] error:\",e),e}})),{request:x}=E;E.request=(...e)=>a(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0].method,e,x,d)}));const{send:M}=E;return E.send=(...e)=>a(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0],e,M,d)})),xu(\"[initializeMobileProvider: sendRequest()] metamaskStream.start()\"),f.start(),E}));function Eh(e){var t,n,r,i;return a(this,void 0,void 0,(function*(){const{options:o}=e,s={communicationLayerPreference:null!==(t=o.communicationLayerPreference)&&void 0!==t?t:$o.SOCKET,platformManager:e.platformManager,sdk:e,checkInstallationOnAllCalls:o.checkInstallationOnAllCalls,injectProvider:null===(n=o.injectProvider)||void 0===n||n,shouldShimWeb3:null===(r=o.shouldShimWeb3)||void 0===r||r,extensionOnly:null===(i=o.extensionOnly)||void 0===i||i,installer:e.installer,remoteConnection:e.remoteConnection,debug:e.debug},a=yield wh(s);e.activeProvider=a,function(e){var t,n,r,i;null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n||n.on(Fu.ConnectionStatus,(t=>{e.emit(Fu.ConnectionStatus,t)})),null===(i=null===(r=e.remoteConnection)||void 0===r?void 0:r.getConnector())||void 0===i||i.on(Fu.ServiceStatus,(t=>{e.emit(Fu.ServiceStatus,t)}))}(e)}))}const Ch=\"sdk\";class Sh{constructor({serverUrl:e,enabled:t,originatorInfo:n}){this.serverURL=ho,this.serverURL=e,this.originatorInfo=n,this.enabled=null==t||t}send({event:e,params:t}){if(!this.enabled)return;const n=Object.assign(Object.assign({id:Ch,event:e,sdkVersion:Zu.version},this.originatorInfo),{params:t});xu(`[Analytics: send()] event: ${e}`,n),co(n,this.serverURL).catch((e=>{xu(`[Analytics: send()] error: ${e}`)}))}}const _h=()=>{if(\"undefined\"==typeof document)return;let e;const t=document.getElementsByTagName(\"link\");for(let n=0;n<t.length;n++)\"icon\"!==t[n].getAttribute(\"rel\")&&\"shortcut icon\"!==t[n].getAttribute(\"rel\")||(e=t[n].getAttribute(\"href\"));return e},kh=163400;function xh(e){var t,n,r;const{dappMetadata:i}=e,s=function({url:e,name:t}){var n;const r=e+t,i=gh(r);if(!localStorage)return\"\";let s=null!==(n=localStorage.getItem(i))&&void 0!==n?n:\"\";if(!s){s=o();try{localStorage.setItem(i,s)}catch(e){return\"\"}}return s}({url:null!==(t=null==i?void 0:i.url)&&void 0!==t?t:\"no_url\",name:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:\"no_name\"}),a=null===(r=e.platformManager)||void 0===r?void 0:r.getPlatformType(),c=a===Bo.DesktopWeb,l=a===Bo.MetaMaskMobileWebview;let d=\"N/A\";return c?d=\"extension\":l&&(d=\"mobile\"),{id:s,from:d}}const Mh=({provider:e,sdkInstance:t})=>{if(\"state\"in e)throw new Error(\"INVALID EXTENSION PROVIDER\");return new Proxy(e,{get:(n,r)=>\"request\"===r?function(e){var r,i;return a(this,void 0,void 0,(function*(){xu(\"[wrapExtensionProvider()] Overwriting request method\",e);const{method:o,params:s}=e,c=rh.includes(o.toLowerCase()),{id:l,from:d}=xh(t);if(c&&(null===(r=t.analytics)||void 0===r||r.send({event:So.SDK_RPC_REQUEST,params:{method:o,from:d,id:l}})),o===th.METAMASK_BATCH&&Array.isArray(s))return(({target:e,args:t,trackEvent:n,sdkInstance:r})=>a(void 0,void 0,void 0,(function*(){var i,o;if(\"metamask_batch\"!==t.method)throw new Error(\"Invalid usage\");const s=[],a=null!==(i=null==t?void 0:t.params)&&void 0!==i?i:[];for(const t of a){const n=yield null==e?void 0:e.request({method:t.method,params:t.params});s.push(n)}const{id:c,from:l}=xh(r);return n&&(null===(o=r.analytics)||void 0===o||o.send({event:So.SDK_RPC_REQUEST_DONE,params:{method:t.method,from:l,id:c}})),s})))({target:n,args:e,trackEvent:c,sdkInstance:t});if(o.toLowerCase()===th.METAMASK_CONNECTSIGN.toLowerCase()&&Array.isArray(s))return(({target:e,params:t})=>a(void 0,void 0,void 0,(function*(){const n=yield e.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!n.length)throw new Error(\"SDK state invalid -- undefined accounts\");return yield e.request({method:th.PERSONAL_SIGN,params:[t[0],n[0]]})})))({target:n,params:s});if(o.toLowerCase()===th.METAMASK_CONNECTWITH.toLowerCase()&&Array.isArray(s))return(({target:e,params:t})=>a(void 0,void 0,void 0,(function*(){const[n]=t,r=n.method,i=n.params,o=yield e.request({method:th.ETH_REQUESTACCOUNTS,params:[]});if(!o.length)throw new Error(\"SDK state invalid -- undefined accounts\");return(null==r?void 0:r.toLowerCase())===th.PERSONAL_SIGN.toLowerCase()?yield e.request({method:r,params:[i[0],o[0]]}):(null==r?void 0:r.toLowerCase())===th.ETH_SENDTRANSACTION.toLowerCase()?yield e.request({method:r,params:[Object.assign(Object.assign({},i[0]),{from:o[0]})]}):ih.includes(r.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${r} -- not handled by the extension -- call separately`),o):yield e.request({method:r,params:i})})))({target:n,params:s});let u;try{return u=yield n.request(e),u}finally{c&&(null===(i=t.analytics)||void 0===i||i.send({event:So.SDK_RPC_REQUEST_DONE,params:{method:o,from:d,id:l}}))}}))}:\"getChainId\"===r?function(){return e.chainId}:\"getNetworkVersion\"===r?function(){return e.networkVersion}:\"getSelectedAddress\"===r?function(){return e.selectedAddress}:\"isConnected\"===r?function(){return e._state.isConnected}:n[r]})};var Ah;function Ih({mustBeMetaMask:e,sdkInstance:t}){return a(this,void 0,void 0,(function*(){if(\"undefined\"==typeof window)throw new Error(\"window not available\");try{const e=yield new Promise(((e,t)=>{const n=setTimeout((()=>{t(new Error(\"eip6963RequestProvider timed out\"))}),500);window.addEventListener(Ah.Announce,(t=>{const r=t,{detail:{info:i,provider:o}={}}=r,{name:s,rdns:a,uuid:c}=null!=i?i:{};eh.test(c)&&s.startsWith(Qu.NAME)&&Qu.RDNS.includes(a)&&(clearTimeout(n),e(o))})),window.dispatchEvent(new Event(Ah.Request))}));return Mh({provider:e,sdkInstance:t})}catch(n){if(!e&&window.ethereum)return Mh({provider:window.ethereum,sdkInstance:t});throw new Error(\"Provider not found\")}}))}!function(e){e.Announce=\"eip6963:announceProvider\",e.Request=\"eip6963:requestProvider\"}(Ah||(Ah={}));const Rh=e=>a(void 0,void 0,void 0,(function*(){const{options:t}=e,{infuraAPIKey:n}=t;if(!n)return;const r={\"0x1\":`https://mainnet.infura.io/v3/${n}`,\"0x5\":`https://goerli.infura.io/v3/${n}`,\"0xaa36a7\":`https://sepolia.infura.io/v3/${n}`,\"0xe708\":`https://linea-mainnet.infura.io/v3/${n}`,\"0xe704\":`https://linea-goerli.infura.io/v3/${n}`,\"0x89\":`https://polygon-mainnet.infura.io/v3/${n}`,\"0x13881\":`https://polygon-mumbai.infura.io/v3/${n}`,\"0x45\":`https://optimism-mainnet.infura.io/v3/${n}`,\"0x1a4\":`https://optimism-goerli.infura.io/v3/${n}`,\"0xa4b1\":`https://arbitrum-mainnet.infura.io/v3/${n}`,\"0x66eed\":`https://arbitrum-goerli.infura.io/v3/${n}`,\"0x2a15c308d\":`https://palm-mainnet.infura.io/v3/${n}`,\"0x2a15c3083\":`https://palm-testnet.infura.io/v3/${n}`,\"0xa86a\":`https://avalanche-mainnet.infura.io/v3/${n}`,\"0xa869\":`https://avalanche-fuji.infura.io/v3/${n}`,\"0x4e454152\":`https://aurora-mainnet.infura.io/v3/${n}`,\"0x4e454153\":`https://aurora-testnet.infura.io/v3/${n}`,\"0x534e5f4d41494e\":`https://starknet-mainnet.infura.io/v3/${n}`,\"0x534e5f474f45524c49\":`https://starknet-goerli.infura.io/v3/${n}`,\"0x534e5f474f45524c4932\":`https://starknet-goerli2.infura.io/v3/${n}`,\"0xa4ec\":`https://celo-mainnet.infura.io/v3/${n}`,\"0xaef3\":`https://celo-alfajores.infura.io/v3/${n}`};e.options.readonlyRPCMap?e.options.readonlyRPCMap=Object.assign(Object.assign({},e.options.readonlyRPCMap),r):e.options.readonlyRPCMap=r}));const Ph=e=>a(void 0,void 0,void 0,(function*(){const{options:t}=e,{readonlyRPCMap:n}=t;if(n)try{xu(\"[MetaMaskSDK: setupReadOnlyRPCProviders()] Setting up Readonly RPC Providers\",n),e.setReadOnlyRPCCalls(!0)}catch(e){throw new Error(\"Invalid Infura Settings\")}}));function Lh(e,t,n,r){return new(n||(n=Promise))((function(t,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(e){e(r)}))).then(o,s)}a((r=r.apply(e,[])).next())}))}function Oh(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var Th=\"INSTALLED\",Nh=\"NOT_INSTALLED\",Dh=\"REGISTERED\",$h=\"REGISTERING\",Bh=\"RELOADING\",Kh={CHROME:\"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn\",FIREFOX:\"https://addons.mozilla.org/firefox/addon/ether-metamask/\",DEFAULT:\"https://metamask.io\"},jh=\"REGISTRATION_IN_PROGRESS\",Uh=\"FORWARDER_ID\",Hh=function(){function e(t){var n=void 0===t?{}:t,r=n.forwarderOrigin,i=void 0===r?\"https://fwd.metamask.io\":r,o=n.forwarderMode,s=void 0===o?e.FORWARDER_MODE.INJECT:o;this.forwarderOrigin=i,this.forwarderMode=s,this.state=e.isMetaMaskInstalled()?Th:Nh;var a=e._detectBrowser();this.downloadUrl=a?Kh[a]:Kh.DEFAULT,this._onMessage=this._onMessage.bind(this),this._onMessageFromForwarder=this._onMessageFromForwarder.bind(this),this._openForwarder=this._openForwarder.bind(this),this._openDownloadPage=this._openDownloadPage.bind(this),this.startOnboarding=this.startOnboarding.bind(this),this.stopOnboarding=this.stopOnboarding.bind(this),window.addEventListener(\"message\",this._onMessage),s===e.FORWARDER_MODE.INJECT&&\"true\"===sessionStorage.getItem(jh)&&e._injectForwarder(this.forwarderOrigin)}return e.prototype._onMessage=function(e){if(e.origin===this.forwarderOrigin)return\"metamask:reload\"===e.data.type?this._onMessageFromForwarder(e):void console.debug(\"Unknown message from '\"+e.origin+\"' with data \"+JSON.stringify(e.data))},e.prototype._onMessageUnknownStateError=function(e){throw new Error(\"Unknown state: '\"+e+\"'\")},e.prototype._onMessageFromForwarder=function(t){return Lh(this,0,void 0,(function(){return Oh(this,(function(n){switch(n.label){case 0:switch(this.state){case Bh:return[3,1];case Nh:return[3,2];case Th:return[3,3];case $h:return[3,5];case Dh:return[3,6]}return[3,7];case 1:return console.debug(\"Ignoring message while reloading\"),[3,8];case 2:return console.debug(\"Reloading now to register with MetaMask\"),this.state=Bh,location.reload(),[3,8];case 3:return console.debug(\"Registering with MetaMask\"),this.state=$h,[4,e._register()];case 4:return n.sent(),this.state=Dh,t.source.postMessage({type:\"metamask:registrationCompleted\"},t.origin),this.stopOnboarding(),[3,8];case 5:return console.debug(\"Already registering - ignoring reload message\"),[3,8];case 6:return console.debug(\"Already registered - ignoring reload message\"),[3,8];case 7:this._onMessageUnknownStateError(this.state),n.label=8;case 8:return[2]}}))}))},e.prototype.startOnboarding=function(){sessionStorage.setItem(jh,\"true\"),this._openDownloadPage(),this._openForwarder()},e.prototype.stopOnboarding=function(){\"true\"===sessionStorage.getItem(jh)&&(this.forwarderMode===e.FORWARDER_MODE.INJECT&&(console.debug(\"Removing forwarder\"),e._removeForwarder()),sessionStorage.setItem(jh,\"false\"))},e.prototype._openForwarder=function(){this.forwarderMode===e.FORWARDER_MODE.OPEN_TAB?window.open(this.forwarderOrigin,\"_blank\"):e._injectForwarder(this.forwarderOrigin)},e.prototype._openDownloadPage=function(){window.open(this.downloadUrl,\"_blank\")},e.isMetaMaskInstalled=function(){return Boolean(window.ethereum&&window.ethereum.isMetaMask)},e._register=function(){return window.ethereum.request({method:\"wallet_registerOnboarding\"})},e._injectForwarder=function(e){var t=document.body,n=document.createElement(\"iframe\");n.setAttribute(\"height\",\"0\"),n.setAttribute(\"width\",\"0\"),n.setAttribute(\"style\",\"display: none;\"),n.setAttribute(\"src\",e),n.setAttribute(\"id\",Uh),t.insertBefore(n,t.children[0])},e._removeForwarder=function(){var e;null===(e=document.getElementById(Uh))||void 0===e||e.remove()},e._detectBrowser=function(){var e=Hu.parse(window.navigator.userAgent);return\"Firefox\"===e.browser.name?\"FIREFOX\":[\"Chrome\",\"Chromium\"].includes(e.browser.name||\"\")?\"CHROME\":null},e.FORWARDER_MODE={INJECT:\"INJECT\",OPEN_TAB:\"OPEN_TAB\"},e}();function Fh(e,{wait:t=!1}){return a(this,void 0,void 0,(function*(){return xu(`[MetamaskInstaller: startInstaller()] wait=${t}`),t&&(yield bh(1e3)),yield e.checkInstallation()}))}class zh{constructor({remote:e,preferDesktop:t,platformManager:n,debug:r=!1}){this.state={isInstalling:!1,hasInstalled:!1,resendRequest:null,preferDesktop:!1,platformManager:null,remote:null,debug:!1,connectWith:void 0},this.state.remote=e,this.state.preferDesktop=t,this.state.platformManager=n,this.state.debug=r}startDesktopOnboarding(){return function(){return a(this,void 0,void 0,(function*(){xu(\"[MetamaskInstaller: startDesktopOnboarding() starting desktop onboarding\"),window.ethereum&&(window.ethereum=void 0),(new Hh).startOnboarding()}))}()}redirectToProperInstall(){return a(this,void 0,void 0,(function*(){return function(e){var t,n;return a(this,void 0,void 0,(function*(){const{state:r}=e,i=null===(t=r.platformManager)||void 0===t?void 0:t.getPlatformType();if(xu(`[MetamaskInstaller: redirectToProperInstall()] platform=${i}`),i===Bo.MetaMaskMobileWebview)return!1;r.isInstalling=!0;try{yield null===(n=r.remote)||void 0===n?void 0:n.startConnection({connectWith:r.connectWith}),r.isInstalling=!1,r.hasInstalled=!0}catch(e){throw r.isInstalling=!1,e}return!0}))}(this)}))}checkInstallation(){return a(this,void 0,void 0,(function*(){return function(e){var t;return a(this,void 0,void 0,(function*(){const{state:n}=e,r=null===(t=n.platformManager)||void 0===t?void 0:t.isMetaMaskInstalled();return xu(`[MetamaskInstaller: checkInstallation()] isInstalled=${r}`),!!r||(yield e.redirectToProperInstall())}))}(this)}))}start({wait:e=!1,connectWith:t}){return a(this,void 0,void 0,(function*(){this.state.connectWith=t,xu(`[MetaMaskInstaller: start()] wait=${e}`,t),yield Fh(this,{wait:e})}))}}class qh{constructor({debug:e,sdkVersion:t}){this.containers={install:void 0,pending:void 0,select:void 0},this.defined={install:!1,pending:!1,select:!1},this.debug=null!=e&&e,this.sdkVersion=t}loadComponent(e){return a(this,void 0,void 0,(function*(){if(!this.defined[e]){this.defined[e]=!0;try{const e=yield Promise.resolve().then((function(){return Rp}));console.log(\"loader\",e),e.defineCustomElements()}catch(t){console.error(`Failed to load ${e} modal:`,t)}}}))}renderInstallModal(e){var t;return a(this,void 0,void 0,(function*(){this.debug&&console.debug(\"ModalLoader: renderInstallModal\",e),this.containers.install=e.parentElement,yield this.loadComponent(\"install\");const n=document.createElement(\"mm-install-modal\");n.link=e.link,n.preferDesktop=e.preferDesktop,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"startDesktopOnboarding\",e.metaMaskInstaller.startDesktopOnboarding),n.addEventListener(\"trackAnalytics\",(t=>{var n;return null===(n=e.onAnalyticsEvent)||void 0===n?void 0:n.call(e,t.detail)})),e.parentElement.appendChild(n)}))}renderSelectModal(e){var t;return a(this,void 0,void 0,(function*(){this.containers.select=e.parentElement,yield this.loadComponent(\"select\");const n=document.createElement(\"mm-select-modal\");n.link=e.link,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.preferDesktop=e.preferDesktop,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"connectWithExtension\",e.connectWithExtension),e.parentElement.appendChild(n),setTimeout((()=>this.updateQRCode(e.link)),100)}))}renderPendingModal(e){var t;return a(this,void 0,void 0,(function*(){this.containers.pending=e.parentElement,yield this.loadComponent(\"pending\");const n=document.createElement(\"mm-pending-modal\");n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.displayOTP=e.displayOTP,n.addEventListener(\"close\",e.onClose),n.addEventListener(\"updateOTPValue\",(({detail:{otpValue:t}})=>e.updateOTPValue(t))),e.onDisconnect&&n.addEventListener(\"disconnect\",e.onDisconnect),e.parentElement.appendChild(n)}))}updateOTPValue(e){const t=()=>{var t;const n=null===(t=this.containers.pending)||void 0===t?void 0:t.querySelector(\"mm-pending-modal\");return!!n&&(n.otpCode=e,!0)};setTimeout((()=>{t()}),800)}updateQRCode(e){var t,n;const r=null===(t=this.containers.install)||void 0===t?void 0:t.querySelector(\"mm-install-modal\");if(r)r.link=e;else{const t=null===(n=this.containers.select)||void 0===n?void 0:n.querySelector(\"mm-select-modal\");t&&(t.link=e)}}unmount(){Object.entries(this.containers).forEach((([e,t])=>{var n;null===(n=null==t?void 0:t.parentNode)||void 0===n||n.removeChild(t),this.containers[e]=void 0}))}}const Vh=({link:e,debug:t,installer:n,terminate:r,connectWithExtension:i,preferDesktop:o,onAnalyticsEvent:s})=>{let a=null,c=null;xu(\"[UI: InstallModal-web: sdkWebInstallModal()] ################## Installing Modal #################\"),xu(`[UI: InstallModal-web: sdkWebInstallModal()] link=${e}`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --ios`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --android`),xu(`[UI: InstallModal-web: sdkWebInstallModal()] adb shell am start -a android.intent.action.VIEW -d \"${e}\"`);const l=e=>{var t;xu(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web unmounting install modal -- shouldTerminate:\",e,c),(null==c?void 0:c.parentNode)&&(null===(t=c.parentNode)||void 0===t||t.removeChild(c)),c=null,a=null,!0===e&&(null==r||r())};return{mount:r=>{if(xu(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web mounting install modal\",c),c)return c.style.display=\"block\",void(null==a||a.updateQRCode(r));a=new qh({debug:t,sdkVersion:Zu.version}),c=document.createElement(\"div\"),document.body.appendChild(c),window.extension?a.renderSelectModal({parentElement:c,connectWithExtension:()=>{l(),null==i||i()},onClose:l,link:e,preferDesktop:null!=o&&o}).catch((e=>{console.error(e)})):a.renderInstallModal({parentElement:c,preferDesktop:null!=o&&o,link:e,metaMaskInstaller:n,onClose:l,onAnalyticsEvent:s}).catch((e=>{console.error(\"[UI: InstallModal-web: sdkWebInstallModal()]\",e)}))},unmount:l}},Wh=({onDisconnect:e,debug:t})=>{let n=null,r=null;const i=()=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web unmount\",n),(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n),n=null,r=null},o=e=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web updateOTPValue\",e),r&&r.updateOTPValue(e)},s=({displayOTP:s}={displayOTP:!0})=>{xu(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web mount\",n),n?n.style.display=\"block\":(r=new qh({debug:t,sdkVersion:Zu.version}),n=document.createElement(\"div\"),document.body.appendChild(n),r.renderPendingModal({parentElement:n,onClose:i,onDisconnect:e,updateOTPValue:o,displayOTP:s}).catch((e=>{console.error(\"[UI: pendingModal-web: sdkWebPendingModal()]\",e)})))};return s(),{mount:s,unmount:i,updateOTPValue:o}};function Gh(e,t){var n,r,i,o;e.connector||(xu(\"[RemoteConnection: initializeConnector()] initialize connector\"),e.connector=new Xo({platformType:t.platformManager.getPlatformType(),communicationLayerPreference:t.communicationLayerPreference,transports:t.transports,dappMetadata:Object.assign(Object.assign({},t.dappMetadata),{source:t._source}),analytics:t.enableAnalytics,communicationServerUrl:t.communicationServerUrl,sdkVersion:Zu.version,context:\"dapp\",ecies:t.ecies,storage:t.storage,logging:t.logging}),t.timer&&(xu(\"[RemoteConnection: initializeConnector()] reset background timer\",t.timer),null===(r=null===(n=t.timer)||void 0===n?void 0:n.stopBackgroundTimer)||void 0===r||r.call(n),null===(o=null===(i=t.timer)||void 0===i?void 0:i.runBackgroundTimer)||void 0===o||o.call(i,(()=>!1),1e4)))}function Zh(e){e.listeners.forEach((({event:t,handler:n})=>{var r;null===(r=e.connector)||void 0===r||r.off(t,n)})),e.listeners=[]}function Yh(e,t,n){return a(this,void 0,void 0,(function*(){return new Promise(((r,i)=>{if(!e.connector)return void i(new Error(\"No connector available\"));xu(\"[RemoteConnection: connectWithModalInstaller()]\",{state:e,options:t,linkParams:n});const o=`${e.useDeeplink?Xu:Ju}?${n}`;!function(e,t,n){var r,i,o,s;e.installModal=null===(i=(r=t.modals).install)||void 0===i?void 0:i.call(r,{link:n,preferDesktop:e.preferDesktop,installer:t.getMetaMaskInstaller(),terminate:()=>{xu(\"[RemoteConnection: showInstallModal() => terminate()] terminate connection\"),t.sdk.terminate().catch((e=>{console.warn(\"[MMSDK] failed to terminate connection\",e)}))},debug:e.developerMode,connectWithExtension:()=>{var e;return null===(e=t.connectWithExtensionProvider)||void 0===e||e.call(t),!1},onAnalyticsEvent:({event:n,params:r})=>{var i,o,s;const a=Object.assign(Object.assign({},r),{sdkVersion:t.sdk.getVersion(),dappId:null===(i=t.dappMetadata)||void 0===i?void 0:i.name,source:t._source,url:null===(o=t.dappMetadata)||void 0===o?void 0:o.url});null===(s=e.analytics)||void 0===s||s.send({event:n,params:a})}}),null===(s=null===(o=e.installModal)||void 0===o?void 0:o.mount)||void 0===s||s.call(o,n)}(e,t,o),t.sdk.once(bo.PROVIDER_UPDATE,(e=>a(this,void 0,void 0,(function*(){if(xu(\"[RemoteConnection: connectWithModalInstaller()] once provider_update -- resolving startConnection promise\"),e!==uh.TERMINATE)i(e);else{i({code:4001,message:\"User rejected the request.\"})}})))),e.connector.once(bo.AUTHORIZED,(()=>{r()})),e.connector.once(bo.REJECTED,(()=>{i(bo.REJECTED)})),e.connector.once(bo.CLIENTS_READY,(()=>a(this,void 0,void 0,(function*(){xu(\"[RemoteConnection: connectWithModalInstaller()] once clients_ready -- resolving startConnection promise\"),r()}))))}))}))}function Jh(e,t){function n(t,n){var r;null===(r=e.connector)||void 0===r||r.on(t,n),e.listeners.push({event:t,handler:n})}e.connector&&(Zh(e),n(bo.WALLET_INIT,(({accounts:e,chainId:t})=>a(this,void 0,void 0,(function*(){xu(`[RemoteConnection: setupListeners() => EventType.WALLET_INIT] 'wallet_init' accounts=${e} chainId=${t}`);const n=zu.getProvider();n._setConnected();const r={accounts:e,chainId:t,isUnlocked:!1};n._initializeState(r),n.emit(\"chainChanged\",t),n.emit(\"accountsChanged\",e)})))),n(bo.AUTHORIZED,(()=>a(this,void 0,void 0,(function*(){var t,n,r,i;try{xu(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' closing modals\",e.pendingModal,e.installModal);const o=zu.getProvider();o._setConnected(),null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!1),e.otpAnswer=void 0,e.authorized=!0,xu(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' provider.state\",o.getState()),yield o.forceInitializeState()}catch(e){}})))),n(bo.TERMINATE,(()=>{var t,n,r,i,o;null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!0),e.pendingModal=void 0,e.installModal=void 0,e.otpAnswer=void 0,null===(o=e.connector)||void 0===o||o.disconnect({terminate:!0}),e.authorized=!1;zu.getProvider().handleDisconnect({terminate:!0}),Zh(e),xu(\"[RemoteConnection: setupListeners()] All listeners cleaned up\")})))}function Xh(e,t,{initialCheck:n,connectWith:r}={}){var i,o,s,c,l,d,u,h,f,p,g,m,y,v,b,w,E,C,S;return a(this,void 0,void 0,(function*(){try{if(Gh(e,t),!e.connector)throw new Error(\"no connector defined\");Jh(e);const _=zu.getProvider();e.authorized=!1,_.emit(\"connecting\");const k=yield null===(i=e.connector)||void 0===i?void 0:i.originatorSessionConnect();xu(`[RemoteConnection: startConnection()] after originatorSessionConnect initialCheck=${n}`,k);let x=null!==(o=null==k?void 0:k.channelId)&&void 0!==o?o:\"\",M=null!==(c=null===(s=e.connector.getKeyInfo())||void 0===s?void 0:s.ecies.public)&&void 0!==c?c:\"\",A=null!==(d=null===(l=e.connector.getKeyInfo())||void 0===l?void 0:l.ecies.private)&&void 0!==d?d:\"\";if(n&&!k)return Promise.resolve();if(!k&&!n){const t=yield e.connector.generateChannelIdConnect();x=null!==(u=t.channelId)&&void 0!==u?u:\"\",M=null!==(h=t.pubKey)&&void 0!==h?h:\"\",A=null!==(f=t.privKey)&&void 0!==f?f:\"\";const n=Date.now();null===(p=e.connector.state.storageManager)||void 0===p||p.persistChannelConfig({channelId:x,localKey:A,lastActive:n,validUntil:n+po})}if(n&&(null==k?void 0:k.channelId))return(null===(g=e.connector)||void 0===g?void 0:g.isConnected())||(xu(`[RemoteConnection: startConnection()] reconnecting to channel initialCheck=${n}`,k),yield null===(m=e.connector)||void 0===m?void 0:m.connectToChannel({channelId:x})),Promise.resolve();k&&!(null===(y=e.connector)||void 0===y?void 0:y.isConnected())&&(xu(\"[RemoteConnection: startConnection()] reconnecting to channel\",k),yield null===(v=e.connector)||void 0===v?void 0:v.connectToChannel({channelId:x}));const I=(null===(b=e.platformManager)||void 0===b?void 0:b.isSecure())?\"\":\"&t=q\",R=Zu.version,{iconUrl:P,name:L,url:O,scheme:T}=t.dappMetadata||{},N=null===(w=e.platformManager)||void 0===w?void 0:w.getPlatformType();let D=\"N/A\";\"undefined\"!=typeof window&&window.location&&window.location.hostname?D=window.location.hostname:void 0!==L?D=L:void 0!==O&&(D=O);const $={url:null!=O?O:\"\",title:null!=L?L:\"\",icon:P,scheme:null!=T?T:\"\",apiVersion:R,dappId:D||O||\"N/A\",platform:null!=N?N:\"\",source:null!==(E=t._source)&&void 0!==E?E:\"\"},B=gh(JSON.stringify($));let K=`channelId=${x}&v=2&comm=${null!==(C=e.communicationLayerPreference)&&void 0!==C?C:\"\"}&pubkey=${M}${I}&originatorInfo=${B}`;if(r){K+=`&rpc=${gh(JSON.stringify(r))}`;const t=e.connector.getRPCMethodTracker();t&&(t[`${r.id}`]=Object.assign(Object.assign({},r),{id:`${r.id}`,timestamp:Date.now()}))}const j=encodeURI(K),U=`${e.useDeeplink?Xu:Ju}?${K}`;return e.qrcodeLink=U,e.developerMode&&xu(`[RemoteConnection: startConnection()] qrcodeLink=${j}`),_.emit(\"display_uri\",U),(null===(S=e.platformManager)||void 0===S?void 0:S.isSecure())?(yield function(e,t){var n,r;return a(this,void 0,void 0,(function*(){const i=`${Ju}?${t}`,o=`${Xu}?${t}`;null===(r=null===(n=e.platformManager)||void 0===n?void 0:n.openDeeplink)||void 0===r||r.call(n,i,o,\"_self\")}))}(e,j),new Promise(((t,n)=>{var r,i,o;(null===(r=e.connector)||void 0===r?void 0:r.isAuthorized())?t():(null===(i=e.connector)||void 0===i||i.once(bo.AUTHORIZED,(()=>{t()})),null===(o=e.connector)||void 0===o||o.once(bo.REJECTED,(()=>{n(bo.REJECTED)})))}))):Yh(e,t,j)}catch(e){throw console.error(\"[startConnection] error\",e),e}}))}class Qh{constructor(e){var t,n,r;this.state={connector:void 0,qrcodeLink:void 0,analytics:void 0,developerMode:!1,authorized:!1,reconnection:!1,preferDesktop:!1,deeplinkProtocol:!1,listeners:[],communicationLayerPreference:void 0,platformManager:void 0,pendingModal:void 0,installModal:void 0,otpAnswer:void 0},this.options=e;const i=!0===(null===(t=e.logging)||void 0===t?void 0:t.developerMode)||!0===(null===(n=e.logging)||void 0===n?void 0:n.sdk);this.state.developerMode=i,this.state.analytics=e.analytics,this.state.preferDesktop=null!==(r=e.preferDesktop)&&void 0!==r&&r,this.state.useDeeplink=e.sdk.options.useDeeplink,this.state.communicationLayerPreference=e.communicationLayerPreference,this.state.platformManager=e.platformManager,e.modals.install||(e.modals.install=Vh),e.modals.otp||(e.modals.otp=Wh)}startConnection(e){return a(this,void 0,void 0,(function*(){return Xh(this.state,this.options,e)}))}initRemoteCommunication({sdkInstance:e}){var t,n,r;return a(this,void 0,void 0,(function*(){const i=yield null===(n=null===(t=e.options.storage)||void 0===t?void 0:t.storageManager)||void 0===n?void 0:n.getPersistedChannelConfig();if(!this.options.ecies){const e={privateKey:null==i?void 0:i.localKey};this.options.ecies=e}Gh(this.state,this.options),yield null===(r=this.getConnector())||void 0===r?void 0:r.initFromDappStorage(),Jh(this.state,this.options)}))}showActiveModal(){return function(e){var t,n,r,i;e.authorized?xu(\"[RemoteConnection: showActiveModal()] already authorized\"):e.pendingModal?null===(n=(t=e.pendingModal).mount)||void 0===n||n.call(t):e.installModal&&(null===(i=(r=e.installModal).mount)||void 0===i||i.call(r,e.qrcodeLink||\"\"))}(this.state)}closeModal(){var e,t,n,r;null===(t=null===(e=this.state.pendingModal)||void 0===e?void 0:e.unmount)||void 0===t||t.call(e),null===(r=null===(n=this.state.installModal)||void 0===n?void 0:n.unmount)||void 0===r||r.call(n,!1)}getUniversalLink(){if(!this.state.qrcodeLink)throw new Error(\"connection not started. run startConnection() first.\");return this.state.qrcodeLink}getChannelConfig(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getChannelConfig()}getKeyInfo(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getKeyInfo()}getConnector(){if(!this.state.connector)throw new Error(\"invalid remote connector\");return this.state.connector}getPlatformManager(){if(!this.state.platformManager)throw new Error(\"PlatformManager not available\");return this.state.platformManager}isConnected(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isReady())||!1}isAuthorized(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isAuthorized())||!1}isPaused(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.isPaused()}disconnect(e){var t,n,r;xu(\"[RemoteConnection: disconnect()]\",e),(null==e?void 0:e.terminate)&&(zu.getProvider().handleDisconnect({terminate:!0}),null===(n=null===(t=this.state.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),this.state.otpAnswer=void 0),null===(r=this.state.connector)||void 0===r||r.disconnect(e),function(e){xu(\"[RemoteConnection: cleanupConnector()] cleaning up connector\"),e.connector&&(Zh(e),e.connector.disconnect({terminate:!0}).catch((e=>{xu(\"[RemoteConnection: cleanupConnector()] error disconnecting connector\",e)})))}(this.state)}}function ef(e){var n,r,i,o,s,c,l,d,u,h,f;return a(this,void 0,void 0,(function*(){const{options:p}=e;if(p.logging=null!==(n=p.logging)&&void 0!==n?n:{},p.communicationLayerPreference=null!==(r=p.communicationLayerPreference)&&void 0!==r?r:$o.SOCKET,void 0!==p.enableDebug&&(t.enable(\"MM_SDK\"),console.warn(\"enableDebug is removed. Please use enableAnalytics instead.\")),p.enableAnalytics=null===(i=p.enableAnalytics)||void 0===i||i,p.injectProvider=null===(o=p.injectProvider)||void 0===o||o,p.shouldShimWeb3=null===(s=p.shouldShimWeb3)||void 0===s||s,p.extensionOnly=null===(c=p.extensionOnly)||void 0===c||c,p.useDeeplink=null===(l=p.useDeeplink)||void 0===l||l,p.storage=null!==(d=p.storage)&&void 0!==d?d:{enabled:!0},p.headless){t(\"[MetaMaskSDK: performSDKInitialization()] headless mode enabled\");const e=()=>{},n={install:()=>({mount:e,unmount:e})},r={installer:e};p.modals=n,p.ui=r}const g=!0===(null===(u=p.logging)||void 0===u?void 0:u.developerMode);e.debug=(null===(h=p.logging)||void 0===h?void 0:h.sdk)||g,xu(\"[MetaMaskSDK: performSDKInitialization()] options\",e.options);const m=Object.assign({},p.logging);g&&(m.sdk=!0,m.eciesLayer=!0,m.keyExchangeLayer=!0,m.remoteLayer=!0,m.serviceLayer=!0,m.plaintext=!0),yield function(e){var t;return a(this,void 0,void 0,(function*(){const{options:n}=e;e.platformManager=new qu({useDeepLink:null!==(t=n.useDeeplink)&&void 0!==t&&t,preferredOpenLink:n.openDeeplink,debug:e.debug})}))}(e),yield function(e){var t,n,r,i,o,s,c,l,d;return a(this,void 0,void 0,(function*(){const{options:a}=e,u=null===(t=e.platformManager)||void 0===t?void 0:t.getPlatformType();e.analytics=new Sh({serverUrl:null!==(n=a.communicationServerUrl)&&void 0!==n?n:ho,enabled:a.enableAnalytics,originatorInfo:{url:null!==(r=a.dappMetadata.url)&&void 0!==r?r:\"\",title:null!==(i=a.dappMetadata.name)&&void 0!==i?i:\"\",dappId:\"undefined\"==typeof window||void 0===window.location?null!==(l=null!==(s=null===(o=a.dappMetadata)||void 0===o?void 0:o.name)&&void 0!==s?s:null===(c=a.dappMetadata)||void 0===c?void 0:c.url)&&void 0!==l?l:\"N/A\":window.location.hostname,platform:null!=u?u:\"\",source:null!==(d=a._source)&&void 0!==d?d:\"\"}})}))}(e),yield function(e){var t;return a(this,void 0,void 0,(function*(){const{options:n}=e;!0!==(null===(t=n.storage)||void 0===t?void 0:t.enabled)||n.storage.storageManager||(n.storage.storageManager=yield Vu(n.storage))}))}(e),yield function(e){return a(this,void 0,void 0,(function*(){const{options:t}=e,n=/^(http|https):\\/\\/[^\\s]*$/;if(t.dappMetadata){t.dappMetadata.iconUrl&&!n.test(t.dappMetadata.iconUrl)&&(console.warn(\"Invalid dappMetadata.iconUrl: URL must start with http:// or https://\"),t.dappMetadata.iconUrl=void 0),t.dappMetadata.base64Icon&&t.dappMetadata.base64Icon.length>kh&&(console.warn(\"Invalid dappMetadata.base64Icon: Base64-encoded icon string length must be less than 163400 characters\"),t.dappMetadata.base64Icon=void 0),t.dappMetadata.url&&!n.test(t.dappMetadata.url)&&console.warn(\"Invalid dappMetadata.url: URL must start with http:// or https://\");const e=_h();if(e&&!t.dappMetadata.iconUrl&&!t.dappMetadata.base64Icon){const n=`${window.location.protocol}//${window.location.host}${e}`;t.dappMetadata.iconUrl=n}}e.dappMetadata=t.dappMetadata}))}(e),yield Rh(e),yield Ph(e);const{metamaskBrowserExtension:y,preferExtension:v,shouldReturn:b}=yield function(e){var t,n,r,i;return a(this,void 0,void 0,(function*(){const{options:o}=e;let s,c=!1,l=!1;if(\"undefined\"!=typeof window&&window.ethereum&&!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){c=\"extension\"===localStorage.getItem(sh);try{s=yield Ih({mustBeMetaMask:!0,sdkInstance:e}),window.extension=s,s.on(lh.CHAIN_CHANGED,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE chainChanged chainId=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CHAIN_CHANGED,t)})),s.on(lh.ACCOUNTS_CHANGED,(t=>a(this,void 0,void 0,(function*(){var n;xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE accountsChanged accounts=${t}`);const r=Boolean(e.sdkProvider),i=Boolean(e.extensionActive);if(r&&e.getMobileProvider().emit(lh.ACCOUNTS_CHANGED,t),i&&0===(null==t?void 0:t.length)&&0===(yield null===(n=e.getProvider())||void 0===n?void 0:n.request({method:th.WALLET_GETPERMISSIONS,params:[]})).length)try{yield e.terminate()}catch(e){xu(\"[MetaMaskSDK: setupExtensionPreferences()] error terminating on permissions revoked\",e)}})))),s.on(lh.DISCONNECT,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE disconnect error=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.DISCONNECT,t)})),s.on(lh.CONNECT,(t=>{xu(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connect args=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CONNECT,t)})),s.on(lh.CONNECTED,(t=>{xu(\"[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connected\",t),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(lh.CONNECTED,t)}))}catch(e){window.extension=void 0}}else(null===(n=e.platformManager)||void 0===n?void 0:n.isMetaMaskMobileWebView())&&(null===(r=e.analytics)||void 0===r||r.send({event:So.SDK_USE_INAPP_BROWSER}),e.activeProvider=Mh({provider:window.ethereum,sdkInstance:e}),e._initialized=!0,l=!0);return s&&o.extensionOnly&&(xu(\"[MetaMaskSDK: setupExtensionPreferences()] EXTENSION ONLY --- prevent sdk initialization\"),null===(i=e.analytics)||void 0===i||i.send({event:So.SDK_USE_EXTENSION}),e.activeProvider=s,e.extensionActive=!0,e.extension=s,e._initialized=!0,l=!0),{preferExtension:c,shouldReturn:l,metamaskBrowserExtension:s}}))}(e);if(b)xu(\"[MetaMaskSDK: performSDKInitialization()] shouldReturn=true --- prevent sdk initialization\");else{yield function(e,t){var n,r,i,o,s;return a(this,void 0,void 0,(function*(){const{options:a}=e,c=Object.assign({},a.logging);e.remoteConnection=new Qh({preferDesktop:null!==(n=a.preferDesktop)&&void 0!==n&&n,communicationLayerPreference:null!==(r=a.communicationLayerPreference)&&void 0!==r?r:$o.SOCKET,analytics:e.analytics,dappMetadata:a.dappMetadata,_source:a._source,enableAnalytics:null===(i=a.enableAnalytics)||void 0===i||i,timer:a.timer,sdk:e,platformManager:e.platformManager,transports:a.transports,communicationServerUrl:a.communicationServerUrl,storage:null!==(o=a.storage)&&void 0!==o?o:{enabled:!0},getMetaMaskInstaller:()=>{if(!e.installer)throw new Error(\"Invalid SDK status -- installer not initialized\");return e.installer},logging:c,connectWithExtensionProvider:void 0===t?void 0:()=>ph(e),modals:Object.assign(Object.assign({},a.modals),{onPendingModalDisconnect:e.terminate.bind(e)})}),yield e.remoteConnection.initRemoteCommunication({sdkInstance:e}),e.installer=new zh({remote:e.remoteConnection,preferDesktop:null!==(s=a.preferDesktop)&&void 0!==s&&s,platformManager:e.platformManager,debug:e.debug})}))}(e,y),yield Eh(e),yield function(e,t){var n,r;return a(this,void 0,void 0,(function*(){const{options:i}=e;t?(xu(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] preferExtension is detected -- connect with it.\"),null===(n=e.analytics)||void 0===n||n.send({event:So.SDK_EXTENSION_UTILIZED}),ph(e).catch((e=>{console.warn(\"Can't connect with MetaMask extension...\",e),localStorage.removeItem(sh)}))):i.checkInstallationImmediately&&((null===(r=e.platformManager)||void 0===r?void 0:r.isDesktopWeb())?(xu(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately\"),e.connect().catch((e=>{xu(`[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- error on autoconnect _err=${e}`)}))):console.warn(\"[handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- only for web desktop\")),e._initialized=!0}))}(e,v);try{yield null===(f=e.remoteConnection)||void 0===f?void 0:f.startConnection({initialCheck:!0})}catch(e){console.error(\"[MetaMaskSDK: setupRemoteConnectionAndInstaller()] Error while checking installation\",e)}e.emit(Fu.ProviderUpdate,uh.INITIALIZED)}}))}class tf extends n{constructor(e={storage:{enabled:!0},injectProvider:!0,forceInjectProvider:!1,enableAnalytics:!0,shouldShimWeb3:!0,useDeeplink:!0,extensionOnly:!0,headless:!1,dappMetadata:{name:\"\",url:\"\",iconUrl:\"\"},_source:Yu,i18nOptions:{enabled:!1}}){var n,r,i;super(),this.extensionActive=!1,this._initialized=!1,this.sdkInitPromise=void 0,this.debug=!1,this.readonlyRPCCalls=!1,this.availableLanguages=[\"en\"],t.disable();const o=!0===(null===(n=e.logging)||void 0===n?void 0:n.developerMode);if(((null===(r=e.logging)||void 0===r?void 0:r.sdk)||o)&&t.enable(\"MM_SDK\"),xu(\"[MetaMaskSDK: constructor()]: begin.\"),this.setMaxListeners(50),!(null===(i=e.dappMetadata)||void 0===i?void 0:i.url)){if(\"undefined\"==typeof window||\"undefined\"==typeof document)throw new Error(\"You must provide dAppMetadata url\");e.dappMetadata=Object.assign(Object.assign({},e.dappMetadata),{url:`${window.location.protocol}//${window.location.host}`})}this.options=e,this.options._source||(e._source=Yu),this.init().then((()=>{xu(\"[MetaMaskSDK: constructor()]: initialized successfully.\"),\"undefined\"!=typeof window&&(window.mmsdk=this)})).catch((e=>{console.error(\"[MetaMaskSDK: constructor()] error during initialization\",e)}))}init(){return a(this,void 0,void 0,(function*(){return function(e){var t;return a(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof window&&(null===(t=window.mmsdk)||void 0===t?void 0:t.isInitialized()))return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),Promise.resolve(window.mmsdk);if(e._initialized)return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),e.sdkInitPromise;if(e.sdkInitPromise)return xu(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initializing\"),e.sdkInitPromise;try{e.sdkInitPromise=ef(e),yield e.sdkInitPromise}catch(e){throw console.error(e),e}return e.sdkInitPromise}))}(this)}))}isExtensionActive(){return this.extensionActive}checkExtensionAvailability(){var e;return\"undefined\"!=typeof window&&Boolean(null===(e=window.ethereum)||void 0===e?void 0:e.isMetaMask)}connect(){return a(this,void 0,void 0,(function*(){return function(e){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connect()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connect()] isExtensionActive=${e.isExtensionActive()} activeProvider`,e.activeProvider),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const t=e.activeProvider.getSelectedAddress();return t?[t]:e.activeProvider.request({method:th.ETH_REQUESTACCOUNTS,params:[]})}))}(this)}))}connectAndSign({msg:e}){return a(this,void 0,void 0,(function*(){return fh({instance:this,msg:e})}))}connectWith(e){return a(this,void 0,void 0,(function*(){return function({instance:e,rpc:t}){return a(this,void 0,void 0,(function*(){if(e._initialized||(xu(\"[MetaMaskSDK: connectWith()] provider not ready -- wait for init()\"),yield e.init()),xu(`[MetaMaskSDK: connectWith()] method: ${t.method} rpc=${t}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");return e.activeProvider.request({method:th.METAMASK_CONNECTWITH,params:[t]})}))}({instance:this,rpc:e})}))}resume(){return function(e){var t,n,r;return a(this,void 0,void 0,(function*(){if(!(null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n?void 0:n.isReady()))return xu(\"[MetaMaskSDK: resume()] channel is not ready -- starting connection\"),void(null===(r=e.remoteConnection)||void 0===r||r.startConnection());xu(\"[MetaMaskSDK: resume()] channel is ready\")}))}(this)}disconnect(){return console.warn(\"MetaMaskSDK.disconnect() is deprecated, use terminate()\"),this.terminate()}isAuthorized(){var e;null===(e=this.remoteConnection)||void 0===e||e.isAuthorized()}terminate(){return function(e){var t,n,r;return a(this,void 0,void 0,(function*(){if(!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){if(hh&&(window.localStorage.removeItem(sh),window.localStorage.removeItem(ch),window.localStorage.removeItem(ah)),e.extensionActive){try{yield null===(n=e.activeProvider)||void 0===n?void 0:n.request({method:th.WALLET_REVOKEPERMISSIONS,params:[{eth_accounts:{}}]})}catch(e){xu(\"[MetaMaskSDK: terminate()] error revoking permissions\",e)}return e.options.extensionOnly?(e.emit(Fu.ProviderUpdate,uh.TERMINATE),void xu(\"[MetaMaskSDK: terminate()] extensionOnly --- prevent switching providers\")):(e.activeProvider=e.sdkProvider,window.ethereum=e.activeProvider,e.extensionActive=!1,void e.emit(Fu.ProviderUpdate,uh.TERMINATE))}e.emit(Fu.ProviderUpdate,uh.TERMINATE),xu(`[MetaMaskSDK: terminate()] remoteConnection=${e.remoteConnection}`),null===(r=e.remoteConnection)||void 0===r||r.disconnect({terminate:!0,sendMessage:!0})}}))}(this)}isInitialized(){return this._initialized}setReadOnlyRPCCalls(e){this.readonlyRPCCalls=e}hasReadOnlyRPCCalls(){return this.readonlyRPCCalls}getProvider(){if(this.activeProvider)return this.activeProvider;console.warn(\"MetaMaskSDK: No active provider found\")}getMobileProvider(){if(!this.sdkProvider)throw new Error(\"SDK state invalid -- undefined mobile provider\");return this.sdkProvider}getUniversalLink(){var e;const t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getUniversalLink();if(!t)throw new Error(\"No Universal Link available, please call eth_requestAccounts first.\");return t}getChannelId(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig())||void 0===t?void 0:t.channelId}getRPCHistory(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getRPCMethodTracker()}getVersion(){return Zu.version}getWalletStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getConnectionStatus()}_getChannelConfig(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig()}_ping(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.ping()}_keyCheck(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.keyCheck()}_getServiceStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getServiceStatus()}_getRemoteConnection(){return this.remoteConnection}_getDappMetadata(){return this.dappMetadata}_getKeyInfo(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getKeyInfo()}_resetKeys(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.resetKeys()}_getConnection(){return this.remoteConnection}emit(e,t){return super.emit(e,t)}on(e,t){return super.on(e,t)}}var nf=Object.freeze({__proto__:null,StorageManagerWeb:class{constructor({enabled:e}={enabled:!1}){this.enabled=!1,this.enabled=e}persistChannelConfig(e){return a(this,void 0,void 0,(function*(){const t=JSON.stringify(e);xu(`[StorageManagerWeb: persistChannelConfig()] enabled=${this.enabled}`,e),localStorage.setItem(oh,t)}))}getPersistedChannelConfig(){return a(this,void 0,void 0,(function*(){let e;try{if(xu(`[StorageManagerWeb: getPersistedChannelConfig()] enabled=${this.enabled}`),e=localStorage.getItem(oh),xu(\"[StorageManagerWeb: getPersistedChannelConfig()]\",e),!e)return;const t=JSON.parse(e);return xu(\"[StorageManagerWeb: getPersistedChannelConfig()] channelConfig\",t),t}catch(e){return void console.error(\"[StorageManagerWeb: getPersistedChannelConfig()] Can't find existing channel config\",e)}}))}persistAccounts(e){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: persistAccounts()] enabled=${this.enabled}`,e);const t=JSON.stringify(e);localStorage.setItem(ah,t)}))}getCachedAccounts(){return a(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(ah);return e?JSON.parse(e):[]}catch(e){throw console.error(\"[StorageManagerWeb: getCachedAccounts()] Error reading cached accounts\",e),e}}))}persistChainId(e){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: persistChainId()] enabled=${this.enabled}`,e),localStorage.setItem(ch,e)}))}getCachedChainId(){return a(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(ch);return null!=e?e:void 0}catch(e){throw console.error(\"[StorageManagerWeb: getCachedChainId()] Error reading cached chainId\",e),e}}))}terminate(){return a(this,void 0,void 0,(function*(){xu(`[StorageManagerWeb: terminate()] enabled=${this.enabled}`),localStorage.removeItem(oh)}))}}});const rf=\"hydrated\",of=!1,sf=!1,af=!0;var cf=Object.defineProperty,lf=new WeakMap,df=e=>lf.get(e),uf=(e,t)=>lf.set(t.$lazyInstance$=e,t),hf=(e,t)=>t in e,ff=(e,t)=>(0,console.error)(e,t),pf=new Map,gf=new Map,mf=\"slot-fb{display:contents}slot-fb[hidden]{display:none}\",yf=\"undefined\"!=typeof window?window:{},vf=yf.document||{head:{}},bf={$flags$:0,$resourcesUrl$:\"\",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},wf=(()=>{try{return new CSSStyleSheet,\"function\"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),Ef=!1,Cf=[],Sf=[],_f=(e,t)=>t=>{e.push(t),Ef||(Ef=!0,4&bf.$flags$?Mf(xf):bf.raf(xf))},kf=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){ff(e)}e.length=0},xf=()=>{kf(Cf),kf(Sf),(Ef=Cf.length>0)&&bf.raf(xf)},Mf=e=>(e=>Promise.resolve(e))().then(e),Af=_f(Sf),If={},Rf=e=>\"object\"===(e=typeof e)||\"function\"===e;function Pf(e){var t,n,r;return null!=(r=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name=\"csp-nonce\"]'))?void 0:n.getAttribute(\"content\"))?r:void 0}((e,t)=>{for(var n in t)cf(e,n,{get:t[n],enumerable:!0})})({},{err:()=>Of,map:()=>Tf,ok:()=>Lf,unwrap:()=>$f,unwrapErr:()=>Bf});var Lf=e=>({isOk:!0,isErr:!1,value:e}),Of=e=>({isOk:!1,isErr:!0,value:e});function Tf(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>Lf(e))):Lf(n)}if(e.isErr){const t=e.value;return Of(t)}throw\"should never get here\"}var Nf,Df,$f=e=>{if(e.isOk)return e.value;throw e.value},Bf=e=>{if(e.isErr)return e.value;throw e.value},Kf=(e,t,...n)=>{let r=null,i=!1,o=!1;const s=[],a=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?a(r):null!=r&&\"boolean\"!=typeof r&&((i=\"function\"!=typeof e&&!Rf(r))&&(r=String(r)),i&&o?s[s.length-1].$text$+=r:s.push(i?jf(null,r):r),o=i)};if(a(n),t){const e=t.className||t.class;e&&(t.class=\"object\"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(\" \"))}if(\"function\"==typeof e)return e(null===t?{}:t,s,Hf);const c=jf(e,null);return c.$attrs$=t,s.length>0&&(c.$children$=s),c},jf=(e,t)=>{const n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null};return n},Uf={},Hf={forEach:(e,t)=>e.map(Ff).forEach(t),map:(e,t)=>e.map(Ff).map(t).map(zf)},Ff=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),zf=e=>{if(\"function\"==typeof e.vtag){const t={...e.vattrs};return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),Kf(e.vtag,t,...e.vchildren||[])}const t=jf(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},qf=e=>df(e).$hostElement$,Vf=(e,t,n)=>{const r=qf(e);return{emit:e=>Wf(r,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},Wf=(e,t,n)=>{const r=bf.ce(t,n);return e.dispatchEvent(r),r},Gf=new WeakMap,Zf=e=>{const t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=(t.$tagName$,()=>{}),o=((e,t,n)=>{var r;const i=Yf(t),o=gf.get(i);if(e=11===e.nodeType?e:vf,o)if(\"string\"==typeof o){e=e.head||e;let n,s=Gf.get(e);if(s||Gf.set(e,s=new Set),!s.has(i)){{n=vf.createElement(\"style\"),n.innerHTML=o;const i=null!=(r=bf.$nonce$)?r:Pf(vf);if(null!=i&&n.setAttribute(\"nonce\",i),!(1&t.$flags$))if(\"HEAD\"===e.nodeName){const t=e.querySelectorAll(\"link[rel=preconnect]\"),r=t.length>0?t[t.length-1].nextSibling:e.querySelector(\"style\");e.insertBefore(n,r)}else if(\"host\"in e)if(wf){const t=new CSSStyleSheet;t.replaceSync(o),e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector(\"style\");t?t.innerHTML=o+t.innerHTML:e.prepend(n)}else e.append(n);1&t.$flags$&&\"HEAD\"!==e.nodeName&&e.insertBefore(n,null)}4&t.$flags$&&(n.innerHTML+=mf),s&&s.add(i)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return i})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&r&&2&r&&(n[\"s-sc\"]=o,n.classList.add(o+\"-h\")),i()},Yf=(e,t)=>\"sc-\"+e.$tagName$,Jf=(e,t,n,r,i,o)=>{if(n!==r){let s=hf(e,t),a=t.toLowerCase();if(\"class\"===t){const t=e.classList,i=Qf(n),o=Qf(r);t.remove(...i.filter((e=>e&&!o.includes(e)))),t.add(...o.filter((e=>e&&!i.includes(e))))}else if(\"style\"===t){for(const t in n)r&&null!=r[t]||(t.includes(\"-\")?e.style.removeProperty(t):e.style[t]=\"\");for(const t in r)n&&r[t]===n[t]||(t.includes(\"-\")?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(s||\"o\"!==t[0]||\"n\"!==t[1]){const a=Rf(r);if((s||a&&null!==r)&&!i)try{if(e.tagName.includes(\"-\"))e[t]=r;else{const i=null==r?\"\":r;\"list\"===t?s=!1:null!=n&&e[t]==i||(\"function\"==typeof e.__lookupSetter__(t)?e[t]=i:e.setAttribute(t,i))}}catch(e){}null==r||!1===r?!1===r&&\"\"!==e.getAttribute(t)||e.removeAttribute(t):(!s||4&o||i)&&!a&&(r=!0===r?\"\":r,e.setAttribute(t,r))}else if(t=\"-\"===t[2]?t.slice(3):hf(yf,a)?a.slice(2):a[2]+t.slice(3),n||r){const i=t.endsWith(ep);t=t.replace(tp,\"\"),n&&bf.rel(e,t,n,i),r&&bf.ael(e,t,r,i)}}},Xf=/\\s/,Qf=e=>e?e.split(Xf):[],ep=\"Capture\",tp=new RegExp(ep+\"$\"),np=(e,t,n)=>{const r=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,i=e&&e.$attrs$||If,o=t.$attrs$||If;for(const e of rp(Object.keys(i)))e in o||Jf(r,e,i[e],void 0,n,t.$flags$);for(const e of rp(Object.keys(o)))Jf(r,e,i[e],o[e],n,t.$flags$)};function rp(e){return e.includes(\"ref\")?[...e.filter((e=>\"ref\"!==e)),\"ref\"]:e}var ip=!1,op=!1,sp=(e,t,n,r)=>{const i=t.$children$[n];let o,s,a=0;if(null!==i.$text$)o=i.$elm$=vf.createTextNode(i.$text$);else{op||(op=\"svg\"===i.$tag$),o=i.$elm$=vf.createElementNS(op?\"http://www.w3.org/2000/svg\":\"http://www.w3.org/1999/xhtml\",!ip&&sf&&2&i.$flags$?\"slot-fb\":i.$tag$),op&&\"foreignObject\"===i.$tag$&&(op=!1),np(null,i,op);if(!!o.getRootNode().querySelector(\"body\")&&of&&(e=>null!=e)(Nf)&&o[\"s-si\"]!==Nf&&o.classList.add(o[\"s-si\"]=Nf),i.$children$)for(a=0;a<i.$children$.length;++a)s=sp(e,i,a),s&&o.appendChild(s);\"svg\"===i.$tag$?op=!1:\"foreignObject\"===o.tagName&&(op=!0)}return o[\"s-hn\"]=Df,o},ap=(e,t,n,r,i,o)=>{let s,a=e;for(a.shadowRoot&&a.tagName===Df&&(a=a.shadowRoot);i<=o;++i)r[i]&&(s=sp(null,n,i),s&&(r[i].$elm$=s,up(a,s,t)))},cp=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.$elm$;e&&e.remove()}}},lp=(e,t,n=!1)=>e.$tag$===t.$tag$,dp=(e,t,n=!1)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$tag$,a=t.$text$;null===a?(np(e,t,op=\"svg\"===s||\"foreignObject\"!==s&&op),null!==i&&null!==o?((e,t,n,r,i=!1)=>{let o,s=0,a=0,c=t.length-1,l=t[0],d=t[c],u=r.length-1,h=r[0],f=r[u];for(;s<=c&&a<=u;)null==l?l=t[++s]:null==d?d=t[--c]:null==h?h=r[++a]:null==f?f=r[--u]:lp(l,h,i)?(dp(l,h,i),l=t[++s],h=r[++a]):lp(d,f,i)?(dp(d,f,i),d=t[--c],f=r[--u]):lp(l,f,i)?(dp(l,f,i),up(e,l.$elm$,d.$elm$.nextSibling),l=t[++s],f=r[--u]):lp(d,h,i)?(dp(d,h,i),up(e,d.$elm$,l.$elm$),d=t[--c],h=r[++a]):(o=sp(t&&t[a],n,a),h=r[++a],o&&up(l.$elm$.parentNode,o,l.$elm$));s>c?ap(e,null==r[u+1]?null:r[u+1].$elm$,n,r,a,u):a>u&&cp(t,s,c)})(r,i,t,o,n):null!==o?(null!==e.$text$&&(r.textContent=\"\"),ap(r,null,t,o,0,o.length-1)):!n&&af&&null!==i&&cp(i,0,i.length-1),op&&\"svg\"===s&&(op=!1)):e.$text$!==a&&(r.data=a)},up=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),hp=(e,t,n=!1)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||jf(null,null),s=(a=t)&&a.$tag$===Uf?t:Kf(null,null,t);var a;if(Df=r.tagName,n&&s.$attrs$)for(const e of Object.keys(s.$attrs$))r.hasAttribute(e)&&![\"key\",\"ref\",\"style\",\"class\"].includes(e)&&(s.$attrs$[e]=r[e]);s.$tag$=null,s.$flags$|=4,e.$vnode$=s,s.$elm$=o.$elm$=r.shadowRoot||r,Nf=r[\"s-sc\"],ip=0!=(1&i.$flags$),dp(o,s,n)},fp=(e,t)=>{t&&!e.$onRenderResolve$&&t[\"s-p\"]&&t[\"s-p\"].push(new Promise((t=>e.$onRenderResolve$=t)))},pp=(e,t)=>{if(e.$flags$|=16,4&e.$flags$)return void(e.$flags$|=512);fp(e,e.$ancestorComponent$);return Af((()=>gp(e,t)))},gp=(e,t)=>{const n=e.$hostElement$,r=(e.$cmpMeta$.$tagName$,()=>{}),i=e.$lazyInstance$;if(!i)throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return r(),mp(undefined,(()=>vp(e,i,t)))},mp=(e,t)=>yp(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),yp=e=>e instanceof Promise||e&&e.then&&\"function\"==typeof e.then,vp=async(e,t,n)=>{var r;const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{}),s=i[\"s-rc\"];n&&Zf(e);const a=(e.$cmpMeta$.$tagName$,()=>{});bp(e,t,i,n),s&&(s.map((e=>e())),i[\"s-rc\"]=void 0),a(),o();{const t=null!=(r=i[\"s-p\"])?r:[],n=()=>wp(e);0===t.length?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},bp=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,hp(e,t,r)}catch(t){ff(t,e.$hostElement$)}return null},wp=e=>{e.$cmpMeta$.$tagName$;const t=e.$hostElement$,n=()=>{},r=e.$lazyInstance$,i=e.$ancestorComponent$;64&e.$flags$?n():(e.$flags$|=64,Sp(t),Cp(r,\"componentDidLoad\"),n(),e.$onReadyResolve$(t),i||Ep()),e.$onRenderResolve$&&(e.$onRenderResolve$(),e.$onRenderResolve$=void 0),512&e.$flags$&&Mf((()=>pp(e,!1))),e.$flags$&=-517},Ep=e=>{Sp(vf.documentElement),Mf((()=>Wf(yf,\"appload\",{detail:{namespace:\"sdk-install-modal-web\"}})))},Cp=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){ff(e)}},Sp=e=>{var t;return e.classList.add(null!=(t=rf)?t:\"hydrated\")},_p=(e,t,n,r)=>{const i=df(e);if(!i)throw new Error(`Couldn't find host element for \"${r.$tagName$}\" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const o=i.$hostElement$,s=i.$instanceValues$.get(t),a=i.$flags$,c=i.$lazyInstance$;var l,d;l=n,d=r.$members$[t][0],n=null==l||Rf(l)?l:4&d?\"false\"!==l&&(\"\"===l||!!l):1&d?String(l):l;const u=Number.isNaN(s)&&Number.isNaN(n);if((!(8&a)||void 0===s)&&(n!==s&&!u)&&(i.$instanceValues$.set(t,n),c)){if(r.$watchers$&&128&a){const e=r.$watchers$[t];e&&e.map((e=>{try{c[e](n,s,t)}catch(e){ff(e,o)}}))}2==(18&a)&&pp(i,!1)}},kp=(e,t,n)=>{var r,i;const o=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);const s=Object.entries(null!=(r=t.$members$)?r:{});if(s.map((([e,[r]])=>{(31&r||2&n&&32&r)&&Object.defineProperty(o,e,{get(){return t=e,df(this).$instanceValues$.get(t);var t},set(n){_p(this,e,n,t)},configurable:!0,enumerable:!0})})),1&n){const n=new Map;o.attributeChangedCallback=function(e,r,i){bf.jmp((()=>{var s;const a=n.get(e);if(this.hasOwnProperty(a))i=this[a],delete this[a];else{if(o.hasOwnProperty(a)&&\"number\"==typeof this[a]&&this[a]==i)return;if(null==a){const n=df(this),o=null==n?void 0:n.$flags$;if(o&&!(8&o)&&128&o&&i!==r){const o=n.$lazyInstance$,a=null==(s=t.$watchers$)?void 0:s[e];null==a||a.forEach((t=>{null!=o[t]&&o[t].call(o,i,r,e)}))}return}}this[a]=(null!==i||\"boolean\"!=typeof this[a])&&i}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=t.$watchers$)?i:{}),...s.filter((([e,t])=>15&t[0])).map((([e,t])=>{const r=t[1]||e;return n.set(r,e),r}))]))}}return e},xp=async(e,t,n,r)=>{let i;if(0==(32&t.$flags$)){t.$flags$|=32;if(n.$lazyBundleId$){const e=((e,t,n)=>{const r=e.$tagName$.replace(/-/g,\"_\"),i=e.$lazyBundleId$;if(!i)return;const o=pf.get(i);if(o)return o[r];{const e=e=>(pf.set(i,e),e[r]);if(\"mm-install-modal_3\"===i)return Promise.resolve().then((function(){return gg})).then(e,ff)}return import(/* webpackIgnore: true */\n/* @vite-ignore */\n/* webpackInclude: /\\.entry\\.js$/ */\n/* webpackExclude: /\\.system\\.entry\\.js$/ */\n/* webpackMode: \"lazy\" */\n`./${i}.entry.js`).then((e=>(pf.set(i,e),e[r])),ff)})(n);if(e&&\"then\"in e){const t=()=>{};i=await e,t()}else i=e;if(!i)throw new Error(`Constructor for \"${n.$tagName$}#${t.$modeName$}\" was not found`);i.isProxied||(n.$watchers$=i.watchers,kp(i,n,2),i.isProxied=!0);const r=(n.$tagName$,()=>{});t.$flags$|=8;try{new i(t)}catch(e){ff(e)}t.$flags$&=-9,t.$flags$|=128,r(),Mp(t.$lazyInstance$)}else{i=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.$flags$|=128))}if(i&&i.style){let e;\"string\"==typeof i.style&&(e=i.style);const t=Yf(n);if(!gf.has(t)){const r=(n.$tagName$,()=>{});((e,t,n)=>{let r=gf.get(e);wf&&n?(r=r||new CSSStyleSheet,\"string\"==typeof r?r=t:r.replaceSync(t)):r=t,gf.set(e,r)})(t,e,!!(1&n.$flags$)),r()}}}const o=t.$ancestorComponent$,s=()=>pp(t,!0);o&&o[\"s-rc\"]?o[\"s-rc\"].push(s):s()},Mp=e=>{Cp(e,\"connectedCallback\")},Ap=e=>{Cp(e,\"disconnectedCallback\")},Ip=(e,t={})=>{var n;const r=()=>{},i=[],o=t.exclude||[],s=yf.customElements,a=vf.head,c=a.querySelector(\"meta[charset]\"),l=vf.createElement(\"style\"),d=[];let u,h=!0;Object.assign(bf,t),bf.$resourcesUrl$=new URL(t.resourcesUrl||\"./\",vf.baseURI).href;let f=!1;if(e.map((e=>{e[1].map((t=>{var n;const r={$flags$:t[0],$tagName$:t[1],$members$:t[2],$listeners$:t[3]};4&r.$flags$&&(f=!0),r.$members$=t[2],r.$watchers$=null!=(n=t[4])?n:{};const a=r.$tagName$,c=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,t)=>{const n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise((e=>n.$onReadyResolve$=e)),e[\"s-p\"]=[],e[\"s-rc\"]=[],lf.set(e,n)})(e=this,r),1&r.$flags$)if(e.shadowRoot){if(\"open\"!==e.shadowRoot.mode)throw new Error(`Unable to re-use existing shadow root for ${r.$tagName$}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else e.attachShadow({mode:\"open\"})}connectedCallback(){df(this),this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),u&&(clearTimeout(u),u=null),h?d.push(this):bf.jmp((()=>(e=>{if(0==(1&bf.$flags$)){const t=df(e),n=t.$cmpMeta$,r=(n.$tagName$,()=>{});if(1&t.$flags$)(null==t?void 0:t.$lazyInstance$)?Mp(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Mp(t.$lazyInstance$)));else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[\"s-p\"]){fp(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),xp(e,t,n)}r()}})(this)))}disconnectedCallback(){bf.jmp((()=>(async e=>{if(0==(1&bf.$flags$)){const t=df(e);(null==t?void 0:t.$lazyInstance$)?Ap(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Ap(t.$lazyInstance$)))}})(this)))}componentOnReady(){return df(this).$onReadyPromise$}};r.$lazyBundleId$=e[0],o.includes(a)||s.get(a)||(i.push(a),s.define(a,kp(c,r,1)))}))})),i.length>0&&(f&&(l.textContent+=mf),l.textContent+=i.sort()+\"{visibility:hidden}.hydrated{visibility:inherit}\",l.innerHTML.length)){l.setAttribute(\"data-styles\",\"\");const e=null!=(n=bf.$nonce$)?n:Pf(vf);null!=e&&l.setAttribute(\"nonce\",e),a.insertBefore(l,c?c.nextSibling:a.firstChild)}h=!1,d.length?d.map((e=>e.connectedCallback())):bf.jmp((()=>u=setTimeout(Ep,30))),r()};!function(){if(\"undefined\"!=typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}}();var Rp=Object.freeze({__proto__:null,defineCustomElements:async(e,t)=>{if(\"undefined\"!=typeof window)return await void 0,Ip([[\"mm-install-modal_3\",[[1,\"mm-install-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}],[1,\"mm-pending-modal\",{displayOTP:[4,\"display-o-t-p\"],sdkVersion:[1,\"sdk-version\"],otpCode:[1,\"otp-code\"],translationsLoaded:[32]}],[1,\"mm-select-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}]]]],t)},setNonce:e=>bf.$nonce$=e});const Pp={fontFamily:\"Roboto, sans-serif\"},Lp=({className:e},t)=>Kf(\"div\",{style:Pp,class:e},t),Op=({Icon:e,text:t})=>Kf(\"div\",{class:\"flexContainer\",style:{padding:\"6\",flexDirection:\"row\"}},Kf(\"div\",{class:\"flexItem1\"},Kf(e,null)),Kf(\"div\",{class:\"flexItem11\"},Kf(\"span\",{style:{lineHeight:\"2\",color:\"black\"}},t))),Tp=()=>Kf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M20.0002 7.9702V10.0302C20.0002 10.5802 19.5602 11.0302 19.0002 11.0502H17.0402C15.9602 11.0502 14.9702 10.2602 14.8802 9.1802C14.8202 8.5502 15.0602 7.9602 15.4802 7.5502C15.8502 7.1702 16.3602 6.9502 16.9202 6.9502H19.0002C19.5602 6.9702 20.0002 7.4202 20.0002 7.9702Z\",fill:\"#037DD6\"}),Kf(\"path\",{d:\"M18.47 12.55H17.04C15.14 12.55 13.54 11.12 13.38 9.3C13.29 8.26 13.67 7.22 14.43 6.48C15.07 5.82 15.96 5.45 16.92 5.45H18.47C18.76 5.45 19 5.21 18.97 4.92C18.75 2.49 17.14 0.83 14.75 0.55C14.51 0.51 14.26 0.5 14 0.5H5C4.72 0.5 4.45 0.52 4.19 0.56C1.64 0.88 0 2.78 0 5.5V12.5C0 15.26 2.24 17.5 5 17.5H14C16.8 17.5 18.73 15.75 18.97 13.08C19 12.79 18.76 12.55 18.47 12.55ZM11 6.75H5C4.59 6.75 4.25 6.41 4.25 6C4.25 5.59 4.59 5.25 5 5.25H11C11.41 5.25 11.75 5.59 11.75 6C11.75 6.41 11.41 6.75 11 6.75Z\",fill:\"#037DD6\"})),Np=()=>Kf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M14.44 0.0999756C12.63 0.0999756 11.01 0.979976 10 2.32998C8.99 0.979976 7.37 0.0999756 5.56 0.0999756C2.49 0.0999756 0 2.59998 0 5.68998C0 6.87998 0.19 7.97998 0.52 8.99998C2.1 14 6.97 16.99 9.38 17.81C9.72 17.93 10.28 17.93 10.62 17.81C13.03 16.99 17.9 14 19.48 8.99998C19.81 7.97998 20 6.87998 20 5.68998C20 2.59998 17.51 0.0999756 14.44 0.0999756Z\",fill:\"#037DD6\"})),Dp=()=>Kf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M16.28 7.53V6.28C16.28 3.58 15.63 0 10 0C4.37 0 3.72 3.58 3.72 6.28V7.53C0.92 7.88 0 9.3 0 12.79V14.65C0 18.75 1.25 20 5.35 20H14.65C18.75 20 20 18.75 20 14.65V12.79C20 9.3 19.08 7.88 16.28 7.53ZM10 16.74C8.33 16.74 6.98 15.38 6.98 13.72C6.98 12.05 8.34 10.7 10 10.7C11.66 10.7 13.02 12.06 13.02 13.72C13.02 15.39 11.67 16.74 10 16.74ZM5.35 7.44C5.27 7.44 5.2 7.44 5.12 7.44V6.28C5.12 3.35 5.95 1.4 10 1.4C14.05 1.4 14.88 3.35 14.88 6.28V7.45C14.8 7.45 14.73 7.45 14.65 7.45H5.35V7.44Z\",fill:\"#037DD6\"})),$p=()=>Kf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M16.4405 8.8999C20.0405 9.2099 21.5105 11.0599 21.5105 15.1099V15.2399C21.5105 19.7099 19.7205 21.4999 15.2505 21.4999H8.74047C4.27047 21.4999 2.48047 19.7099 2.48047 15.2399V15.1099C2.48047 11.0899 3.93047 9.2399 7.47047 8.9099\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M12 2V14.88\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M15.3504 12.6499L12.0004 15.9999L8.65039 12.6499\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}));function Bp({version:e}){return Kf(\"div\",{style:{textAlign:\"center\",color:\"#BBC0C5\",fontSize:\"12\"}},\"SDK Version \",e?`v${e}`:\"unknown\")}const Kp=()=>Kf(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"rect\",{width:\"16\",height:\"16\",fill:\"white\"}),Kf(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M2.40554 2.40554C2.94627 1.86482 3.82296 1.86482 4.36369 2.40554L8 6.04186L11.6363 2.40554C12.177 1.86482 13.0537 1.86482 13.5945 2.40554C14.1352 2.94627 14.1352 3.82296 13.5945 4.36369L9.95814 8L13.5945 11.6363C14.1352 12.177 14.1352 13.0537 13.5945 13.5945C13.0537 14.1352 12.177 14.1352 11.6363 13.5945L8 9.95814L4.36369 13.5945C3.82296 14.1352 2.94627 14.1352 2.40554 13.5945C1.86482 13.0537 1.86482 12.177 2.40554 11.6363L6.04186 8L2.40554 4.36369C1.86482 3.82296 1.86482 2.94627 2.40554 2.40554Z\",fill:\"#BBC0C5\"})),jp=()=>Kf(\"svg\",{width:\"273\",height:\"51\",viewBox:\"0 0 273 51\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M240.882 25.9263C239.472 24.997 237.916 24.3361 236.443 23.5101C235.489 22.9731 234.473 22.4982 233.643 21.8167C232.233 20.6602 232.524 18.3885 233.996 17.3973C236.112 15.993 239.617 16.7777 239.99 19.6483C239.99 19.7102 240.052 19.7515 240.114 19.7515H243.308C243.391 19.7515 243.454 19.6896 243.433 19.607C243.267 17.6244 242.5 15.9723 241.089 14.9191C239.741 13.9072 238.206 13.3702 236.568 13.3702C228.127 13.3702 227.359 22.271 231.901 25.0796C232.42 25.41 236.879 27.6404 238.455 28.611C240.032 29.5816 240.529 31.3576 239.845 32.7619C239.223 34.0423 237.605 34.9303 235.987 34.8271C234.224 34.7238 232.855 33.7738 232.378 32.2869C232.295 32.0185 232.254 31.5022 232.254 31.275C232.254 31.2131 232.192 31.1511 232.129 31.1511H228.666C228.604 31.1511 228.541 31.2131 228.541 31.275C228.541 33.7738 229.164 35.1575 230.864 36.4172C232.461 37.615 234.203 38.1106 236.008 38.1106C240.737 38.1106 243.184 35.4466 243.682 32.6793C244.117 29.974 243.308 27.5371 240.882 25.9263Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M90.4943 13.8246H88.9595H87.2795C87.2173 13.8246 87.1758 13.8659 87.1551 13.9072L84.3137 23.2416C84.2722 23.3655 84.1063 23.3655 84.0648 23.2416L81.2234 13.9072C81.2026 13.8452 81.1612 13.8246 81.0989 13.8246H79.419H77.8842H75.8102C75.748 13.8246 75.6857 13.8865 75.6857 13.9485V37.7802C75.6857 37.8422 75.748 37.9041 75.8102 37.9041H79.2738C79.336 37.9041 79.3982 37.8422 79.3982 37.7802V19.6689C79.3982 19.5244 79.6056 19.5037 79.6471 19.6276L82.5093 29.024L82.7167 29.6849C82.7374 29.7468 82.7789 29.7675 82.8411 29.7675H85.4959C85.5581 29.7675 85.5996 29.7262 85.6203 29.6849L85.8277 29.024L88.6899 19.6276C88.7313 19.4831 88.9387 19.5244 88.9387 19.6689V37.7802C88.9387 37.8422 89.001 37.9041 89.0632 37.9041H92.5268C92.589 37.9041 92.6513 37.8422 92.6513 37.7802V13.9485C92.6513 13.8865 92.589 13.8246 92.5268 13.8246H90.4943Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M187.849 13.8246C187.787 13.8246 187.745 13.8659 187.725 13.9072L184.883 23.2416C184.842 23.3655 184.676 23.3655 184.634 23.2416L181.793 13.9072C181.772 13.8452 181.731 13.8246 181.668 13.8246H176.4C176.338 13.8246 176.276 13.8865 176.276 13.9485V37.7802C176.276 37.8422 176.338 37.9041 176.4 37.9041H179.864C179.926 37.9041 179.988 37.8422 179.988 37.7802V19.6689C179.988 19.5244 180.196 19.5037 180.237 19.6276L183.099 29.024L183.307 29.6849C183.328 29.7468 183.369 29.7675 183.431 29.7675H186.086C186.148 29.7675 186.19 29.7262 186.211 29.6849L186.418 29.024L189.28 19.6276C189.322 19.4831 189.529 19.5244 189.529 19.6689V37.7802C189.529 37.8422 189.591 37.9041 189.653 37.9041H193.117C193.179 37.9041 193.241 37.8422 193.241 37.7802V13.9485C193.241 13.8865 193.179 13.8246 193.117 13.8246H187.849Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M143.174 13.8246H136.724H133.261H126.81C126.748 13.8246 126.686 13.8865 126.686 13.9485V16.9223C126.686 16.9843 126.748 17.0462 126.81 17.0462H133.136V37.7802C133.136 37.8422 133.198 37.9041 133.261 37.9041H136.724C136.786 37.9041 136.849 37.8422 136.849 37.7802V17.0462H143.174C143.237 17.0462 143.299 16.9843 143.299 16.9223V13.9485C143.299 13.8865 143.257 13.8246 143.174 13.8246Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M163.604 37.9041H166.756C166.839 37.9041 166.901 37.8215 166.881 37.7389L160.368 13.8245C160.347 13.7626 160.306 13.7419 160.244 13.7419H159.041H156.925H155.722C155.66 13.7419 155.619 13.7832 155.598 13.8245L149.085 37.7389C149.065 37.8215 149.127 37.9041 149.21 37.9041H152.362C152.425 37.9041 152.466 37.8628 152.487 37.8215L154.374 30.862C154.395 30.8 154.436 30.7794 154.499 30.7794H161.467C161.53 30.7794 161.571 30.8207 161.592 30.862L163.479 37.8215C163.5 37.8628 163.562 37.9041 163.604 37.9041ZM155.328 27.3719L157.859 18.0581C157.9 17.9342 158.066 17.9342 158.107 18.0581L160.638 27.3719C160.659 27.4545 160.596 27.5371 160.513 27.5371H155.453C155.37 27.5371 155.308 27.4545 155.328 27.3719Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M217.362 37.9041H220.515C220.598 37.9041 220.66 37.8215 220.639 37.7389L214.127 13.8245C214.106 13.7626 214.065 13.7419 214.002 13.7419H212.8H210.684H209.481C209.419 13.7419 209.377 13.7832 209.357 13.8245L202.844 37.7389C202.823 37.8215 202.886 37.9041 202.969 37.9041H206.121C206.183 37.9041 206.225 37.8628 206.246 37.8215L208.133 30.862C208.154 30.8 208.195 30.7794 208.257 30.7794H215.226C215.288 30.7794 215.33 30.8207 215.351 30.862L217.238 37.8215C217.259 37.8628 217.3 37.9041 217.362 37.9041ZM209.087 27.3719L211.617 18.0581C211.659 17.9342 211.825 17.9342 211.866 18.0581L214.397 27.3719C214.417 27.4545 214.355 27.5371 214.272 27.5371H209.211C209.129 27.5371 209.066 27.4545 209.087 27.3719Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M106.713 34.3727V26.9795C106.713 26.9176 106.775 26.8556 106.837 26.8556H116.067C116.129 26.8556 116.191 26.7936 116.191 26.7317V23.7579C116.191 23.6959 116.129 23.634 116.067 23.634H106.837C106.775 23.634 106.713 23.572 106.713 23.5101V17.1907C106.713 17.1288 106.775 17.0668 106.837 17.0668H117.332C117.394 17.0668 117.457 17.0049 117.457 16.9429V13.9691C117.457 13.9072 117.394 13.8452 117.332 13.8452H106.713H103.125C103.063 13.8452 103.001 13.9072 103.001 13.9691V17.0668V23.6546V26.8763V34.5173V37.7802C103.001 37.8422 103.063 37.9041 103.125 37.9041H106.713H117.768C117.83 37.9041 117.892 37.8422 117.892 37.7802V34.6412C117.892 34.5792 117.83 34.5173 117.768 34.5173H106.817C106.755 34.4966 106.713 34.4553 106.713 34.3727Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M272.532 37.6976L260.544 25.3687C260.502 25.3274 260.502 25.2448 260.544 25.2035L271.329 14.0517C271.412 13.9691 271.349 13.8452 271.246 13.8452H266.828C266.787 13.8452 266.766 13.8659 266.745 13.8865L257.599 23.3449C257.516 23.4275 257.391 23.3655 257.391 23.2623V13.9691C257.391 13.9072 257.329 13.8452 257.267 13.8452H253.803C253.741 13.8452 253.679 13.9072 253.679 13.9691V37.8009C253.679 37.8628 253.741 37.9248 253.803 37.9248H257.267C257.329 37.9248 257.391 37.8628 257.391 37.8009V27.3099C257.391 27.2067 257.536 27.1447 257.599 27.2273L267.969 37.8835C267.989 37.9041 268.031 37.9248 268.052 37.9248H272.469C272.552 37.9041 272.615 37.7596 272.532 37.6976Z\",fill:\"#24292E\"}),Kf(\"path\",{d:\"M52.021 1L31.0526 16.4886L34.9517 7.36063L52.021 1Z\",fill:\"#E17726\",stroke:\"#E17726\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M3.65491 1L24.4366 16.6331L20.7241 7.36063L3.65491 1Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M44.4716 36.9127L38.8925 45.4211L50.8389 48.7047L54.261 37.0986L44.4716 36.9127Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M1.43555 37.0986L4.83695 48.7047L16.7626 45.4211L11.2042 36.9127L1.43555 37.0986Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.1197 22.5395L12.8013 27.5371L24.6232 28.074L24.2292 15.3734L16.1197 22.5395Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M39.5561 22.5394L31.3222 15.2288L31.0526 28.0739L42.8746 27.537L39.5561 22.5394Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7626 45.4212L23.918 41.9724L17.7582 37.1813L16.7626 45.4212Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.7578 41.9724L38.8925 45.4212L37.9177 37.1813L31.7578 41.9724Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M38.8923 45.4212L31.7577 41.9724L32.3384 46.5983L32.2762 48.5602L38.8923 45.4212Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7625 45.4212L23.3994 48.5602L23.3579 46.5983L23.9179 41.9724L16.7625 45.4212Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M23.5239 34.1249L17.5922 32.3902L21.7818 30.4696L23.5239 34.1249Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.1517 34.1249L33.8939 30.4696L38.1042 32.3902L32.1517 34.1249Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.7626 45.4212L17.7996 36.9128L11.2042 37.0987L16.7626 45.4212Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M37.8761 36.9128L38.8924 45.4212L44.4715 37.0987L37.8761 36.9128Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M42.8745 27.5371L31.0526 28.074L32.1518 34.1249L33.894 30.4696L38.1042 32.3902L42.8745 27.5371Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M17.5922 32.3902L21.7817 30.4696L23.5239 34.1249L24.6232 28.074L12.8012 27.5371L17.5922 32.3902Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M12.8013 27.5371L17.7582 37.1813L17.5923 32.3902L12.8013 27.5371Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M38.1044 32.3902L37.9177 37.1813L42.8746 27.5371L38.1044 32.3902Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M24.6232 28.0741L23.524 34.125L24.9136 41.2703L25.2247 31.8533L24.6232 28.0741Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.0526 28.0741L30.4719 31.8327L30.7623 41.2703L32.1519 34.125L31.0526 28.0741Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.1519 34.1249L30.7623 41.2702L31.7578 41.9724L37.9177 37.1813L38.1043 32.3901L32.1519 34.1249Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M17.5922 32.3901L17.7581 37.1813L23.918 41.9724L24.9135 41.2702L23.5239 34.1249L17.5922 32.3901Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M32.2763 48.5602L32.3385 46.5983L31.7993 46.1439H23.8765L23.358 46.5983L23.3995 48.5602L16.7626 45.4211L19.0855 47.3211L23.7935 50.5633H31.8615L36.5903 47.3211L38.8924 45.4211L32.2763 48.5602Z\",fill:\"#C0AC9D\",stroke:\"#C0AC9D\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.7578 41.9724L30.7622 41.2703H24.9135L23.918 41.9724L23.358 46.5983L23.8765 46.144H31.7993L32.3385 46.5983L31.7578 41.9724Z\",fill:\"#24292E\",stroke:\"#24292E\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M52.9128 17.5005L54.6757 8.95079L52.021 1L31.7578 15.9723L39.5561 22.5394L50.5692 25.7404L52.9958 22.9111L51.938 22.147L53.618 20.6188L52.3321 19.6276L54.0121 18.3472L52.9128 17.5005Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M1 8.95079L2.78366 17.5005L1.64295 18.3472L3.34365 19.6276L2.05775 20.6188L3.73771 22.147L2.67996 22.9111L5.10657 25.7404L16.1196 22.5394L23.918 15.9723L3.65475 1L1 8.95079Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M50.5692 25.7404L39.5561 22.5394L42.8746 27.5371L37.9177 37.1813L44.4716 37.0987H54.261L50.5692 25.7404Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M16.1196 22.5394L5.10651 25.7404L1.43549 37.0987H11.2041L17.7581 37.1813L12.8011 27.5371L16.1196 22.5394Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M31.0526 28.0741L31.7578 15.9724L34.9518 7.36072H20.7239L23.9179 15.9724L24.6231 28.0741L24.8927 31.8739L24.9135 41.2703H30.7622L30.783 31.8739L31.0526 28.0741Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}));function Up(e,t){return e.toString(2).padStart(t,\"0\")}function Hp(e,t){const n=e%t;return n>=0?n:t+n}function Fp(e,t){return new Array(e).fill(t)}function zp(...e){let t=0;for(const n of e)t=Math.max(t,n.length);const n=[];for(let r=0;r<t;r++)for(const t of e)r>=t.length||n.push(t[r]);return new Uint8Array(n)}function qp(e,t,n){if(n<0||n+t.length>e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[n+r])return!1;return!0}function Vp(e){return{has:t=>e.includes(t),decode:t=>{if(!Array.isArray(t)||t.length&&\"string\"!=typeof t[0])throw new Error(\"alphabet.decode input should be array of strings\");return t.map((t=>{if(\"string\"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(-1===n)throw new Error(`Unknown letter: \"${t}\". Allowed: ${e}`);return n}))},encode:t=>{if(!Array.isArray(t)||t.length&&\"number\"!=typeof t[0])throw new Error(\"alphabet.encode input should be an array of numbers\");return t.map((t=>{if(function(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))}}}class Wp{static size(e,t){if(\"number\"==typeof e&&(e={height:e,width:e}),!Number.isSafeInteger(e.height)&&e.height!==1/0)throw new Error(`Bitmap: wrong height=${e.height} (${typeof e.height})`);if(!Number.isSafeInteger(e.width)&&e.width!==1/0)throw new Error(`Bitmap: wrong width=${e.width} (${typeof e.width})`);return void 0!==t&&(e={width:Math.min(e.width,t.width),height:Math.min(e.height,t.height)}),e}static fromString(e){const t=(e=e.replace(/^\\n+/g,\"\").replace(/\\n+$/g,\"\")).split(\"\\n\"),n=t.length,r=new Array(n);let i;for(const e of t){const t=e.split(\"\").map((e=>{if(\"X\"===e)return!0;if(\" \"===e)return!1;if(\"?\"!==e)throw new Error(`Bitmap.fromString: unknown symbol=${e}`)}));if(i&&t.length!==i)throw new Error(`Bitmap.fromString different row sizes: width=${i} cur=${t.length}`);i=t.length,r.push(t)}return i||(i=0),new Wp({height:n,width:i},r)}constructor(e,t){const{height:n,width:r}=Wp.size(e);this.data=t||Array.from({length:n},(()=>Fp(r,void 0))),this.height=n,this.width=r}point(e){return this.data[e.y][e.x]}isInside(e){return 0<=e.x&&e.x<this.width&&0<=e.y&&e.y<this.height}size(e){if(!e)return{height:this.height,width:this.width};const{x:t,y:n}=this.xy(e);return{height:this.height-n,width:this.width-t}}xy(e){if(\"number\"==typeof e&&(e={x:e,y:e}),!Number.isSafeInteger(e.x))throw new Error(`Bitmap: wrong x=${e.x}`);if(!Number.isSafeInteger(e.y))throw new Error(`Bitmap: wrong y=${e.y}`);return e.x=Hp(e.x,this.width),e.y=Hp(e.y,this.height),e}rect(e,t,n){const{x:r,y:i}=this.xy(e),{height:o,width:s}=Wp.size(t,this.size({x:r,y:i}));for(let e=0;e<o;e++)for(let t=0;t<s;t++)this.data[i+e][r+t]=\"function\"==typeof n?n({x:t,y:e},this.data[i+e][r+t]):n;return this}rectRead(e,t,n){return this.rect(e,t,((e,t)=>(n(e,t),t)))}hLine(e,t,n){return this.rect(e,{width:t,height:1},n)}vLine(e,t,n){return this.rect(e,{width:1,height:t},n)}border(e=2,t){const n=this.height+2*e,r=this.width+2*e,i=Fp(e,t),o=Array.from({length:e},(()=>Fp(r,t)));return new Wp({height:n,width:r},[...o,...this.data.map((e=>[...i,...e,...i])),...o])}embed(e,t){return this.rect(e,t.size(),(({x:e,y:n})=>t.data[n][e]))}rectSlice(e,t=this.size()){const n=new Wp(Wp.size(t,this.size(this.xy(e))));return this.rect(e,t,(({x:e,y:t},r)=>n.data[t][e]=r)),n}inverse(){const{height:e,width:t}=this;return new Wp({height:t,width:e}).rect({x:0,y:0},1/0,(({x:e,y:t})=>this.data[e][t]))}scale(e){if(!Number.isSafeInteger(e)||e>1024)throw new Error(`Wrong scale factor: ${e}`);const{height:t,width:n}=this;return new Wp({height:e*t,width:e*n}).rect({x:0,y:0},1/0,(({x:t,y:n})=>this.data[Math.floor(n/e)][Math.floor(t/e)]))}clone(){return new Wp(this.size()).rect({x:0,y:0},this.size(),(({x:e,y:t})=>this.data[t][e]))}assertDrawn(){this.rectRead(0,1/0,((e,t)=>{if(\"boolean\"!=typeof t)throw new Error(\"Invalid color type=\"+typeof t)}))}toString(){return this.data.map((e=>e.map((e=>void 0===e?\"?\":e?\"X\":\" \")).join(\"\"))).join(\"\\n\")}toASCII(){const{height:e,width:t,data:n}=this;let r=\"\";for(let i=0;i<e;i+=2){for(let o=0;o<t;o++){const t=n[i][o],s=i+1>=e||n[i+1][o];t||s?!t&&s?r+=\"▀\":t&&!s?r+=\"▄\":t&&s&&(r+=\" \"):r+=\"█\"}r+=\"\\n\"}return r}toTerm(){const e=\"\u001b[0m\",t=`\u001b[1;47m  ${e}`,n=`\u001b[40m  ${e}`;return this.data.map((e=>e.map((e=>e?n:t)).join(\"\"))).join(\"\\n\")}toSVG(){let e=`<svg xmlns:svg=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${this.width} ${this.height}\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">`;return this.rectRead(0,1/0,(({x:t,y:n},r)=>{r&&(e+=`<rect x=\"${t}\" y=\"${n}\" width=\"1\" height=\"1\" />`)})),e+=\"</svg>\",e}toGIF(){const e=e=>[255&e,e>>>8&255],t=[...e(this.width),...e(this.height)],n=[];this.rectRead(0,1/0,((e,t)=>n.push(+(!0===t))));const r=126,i=[71,73,70,56,55,97,...t,246,0,0,255,255,255,...Fp(381,0),44,0,0,0,0,...t,0,7],o=Math.floor(n.length/r);for(let e=0;e<o;e++)i.push(127,128,...n.slice(r*e,r*(e+1)).map((e=>+e)));return i.push(n.length%r+1,128,...n.slice(o*r).map((e=>+e))),i.push(1,129,0,59),new Uint8Array(i)}toImage(e=!1){const{height:t,width:n}=this.size(),r=new Uint8Array(t*n*(e?3:4));let i=0;for(let o=0;o<t;o++)for(let t=0;t<n;t++){const n=this.data[o][t]?0:255;r[i++]=n,r[i++]=n,r[i++]=n,e||(r[i++]=255)}return{height:t,width:n,data:r}}}const Gp=[\"low\",\"medium\",\"quartile\",\"high\"],Zp=[\"numeric\",\"alphanumeric\",\"byte\",\"kanji\",\"eci\"],Yp=[26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706],Jp={low:[7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],medium:[10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],quartile:[13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],high:[17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]},Xp={low:[1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],medium:[1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],quartile:[1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],high:[1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]},Qp={size:{encode:e=>21+4*(e-1),decode:e=>(e-17)/4},sizeType:e=>Math.floor((e+7)/17),alignmentPatterns(e){if(1===e)return[];const t=Qp.size.encode(e)-6-1,n=t-6,r=Math.ceil(n/28);let i=Math.floor(n/r);i%2?i+=1:n%r*2>=r&&(i+=2);const o=[6];for(let e=1;e<r;e++)o.push(t-(r-e)*i);return o.push(t),o},ECCode:{low:1,medium:0,quartile:3,high:2},formatMask:21522,formatBits(e,t){const n=Qp.ECCode[e]<<3|t;let r=n;for(let e=0;e<10;e++)r=r<<1^1335*(r>>9);return(n<<10|r)^Qp.formatMask},versionBits(e){let t=e;for(let e=0;e<12;e++)t=t<<1^7973*(t>>11);return e<<12|t},alphabet:{numeric:Vp(\"0123456789\"),alphanumerc:Vp(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\")},lengthBits:(e,t)=>({numeric:[10,12,14],alphanumeric:[9,11,13],byte:[8,16,16],kanji:[8,10,12],eci:[0,0,0]}[t][Qp.sizeType(e)]),modeBits:{numeric:\"0001\",alphanumeric:\"0010\",byte:\"0100\",kanji:\"1000\",eci:\"0111\"},capacity(e,t){const n=Yp[e-1],r=Jp[t][e-1],i=Xp[t][e-1],o=Math.floor(n/i)-r,s=i-n%i;return{words:r,numBlocks:i,shortBlocks:s,blockLen:o,capacity:8*(n-r*i),total:(r+o)*i+i-s}}},eg=[(e,t)=>(e+t)%2==0,(e,t)=>t%2==0,(e,t)=>e%3==0,(e,t)=>(e+t)%3==0,(e,t)=>(Math.floor(t/2)+Math.floor(e/3))%2==0,(e,t)=>e*t%2+e*t%3==0,(e,t)=>(e*t%2+e*t%3)%2==0,(e,t)=>((e+t)%2+e*t%3)%2==0],tg={tables:(e=>{const t=Fp(256,0),n=Fp(256,0);for(let e=0,r=1;e<256;e++)t[e]=r,n[r]=e,r<<=1,256&r&&(r^=285);return{exp:t,log:n}})(),exp:e=>tg.tables.exp[e],log(e){if(0===e)throw new Error(`GF.log: wrong arg=${e}`);return tg.tables.log[e]%255},mul:(e,t)=>0===e||0===t?0:tg.tables.exp[(tg.tables.log[e]+tg.tables.log[t])%255],add:(e,t)=>e^t,pow:(e,t)=>tg.tables.exp[tg.tables.log[e]*t%255],inv(e){if(0===e)throw new Error(`GF.inverse: wrong arg=${e}`);return tg.tables.exp[255-tg.tables.log[e]]},polynomial(e){if(0==e.length)throw new Error(\"GF.polymomial: wrong length\");if(0!==e[0])return e;let t=0;for(;t<e.length-1&&0==e[t];t++);return e.slice(t)},monomial(e,t){if(e<0)throw new Error(`GF.monomial: wrong degree=${e}`);if(0==t)return[0];let n=Fp(e+1,0);return n[0]=t,tg.polynomial(n)},degree:e=>e.length-1,coefficient:(e,t)=>e[tg.degree(e)-t],mulPoly(e,t){if(0===e[0]||0===t[0])return[0];const n=Fp(e.length+t.length-1,0);for(let r=0;r<e.length;r++)for(let i=0;i<t.length;i++)n[r+i]=tg.add(n[r+i],tg.mul(e[r],t[i]));return tg.polynomial(n)},mulPolyScalar(e,t){if(0==t)return[0];if(1==t)return e;const n=Fp(e.length,0);for(let r=0;r<e.length;r++)n[r]=tg.mul(e[r],t);return tg.polynomial(n)},mulPolyMonomial(e,t,n){if(t<0)throw new Error(\"GF.mulPolyMonomial: wrong degree\");if(0==n)return[0];const r=Fp(e.length+t,0);for(let t=0;t<e.length;t++)r[t]=tg.mul(e[t],n);return tg.polynomial(r)},addPoly(e,t){if(0===e[0])return t;if(0===t[0])return e;let n=e,r=t;n.length>r.length&&([n,r]=[r,n]);let i=Fp(r.length,0),o=r.length-n.length,s=r.slice(0,o);for(let e=0;e<s.length;e++)i[e]=s[e];for(let e=o;e<r.length;e++)i[e]=tg.add(n[e-o],r[e]);return tg.polynomial(i)},remainderPoly(e,t){const n=Array.from(e);for(let r=0;r<e.length-t.length+1;r++){const e=n[r];if(0!==e)for(let i=1;i<t.length;i++)0!==t[i]&&(n[r+i]=tg.add(n[r+i],tg.mul(t[i],e)))}return n.slice(e.length-t.length+1,n.length)},divisorPoly(e){let t=[1];for(let n=0;n<e;n++)t=tg.mulPoly(t,[1,tg.pow(2,n)]);return t},evalPoly(e,t){if(0==t)return tg.coefficient(e,0);let n=e[0];for(let r=1;r<e.length;r++)n=tg.add(tg.mul(t,n),e[r]);return n},euclidian(e,t,n){tg.degree(e)<tg.degree(t)&&([e,t]=[t,e]);let r=e,i=t,o=[0],s=[1];for(;2*tg.degree(i)>=n;){let e=r,t=o;if(r=i,o=s,0===r[0])throw new Error(\"rLast[0] === 0\");i=e;let n=[0];const a=tg.inv(r[0]);for(;tg.degree(i)>=tg.degree(r)&&0!==i[0];){const e=tg.degree(i)-tg.degree(r),t=tg.mul(i[0],a);n=tg.addPoly(n,tg.monomial(e,t)),i=tg.addPoly(i,tg.mulPolyMonomial(r,e,t))}if(n=tg.mulPoly(n,o),s=tg.addPoly(n,t),tg.degree(i)>=tg.degree(r))throw new Error(`Division failed r: ${i}, rLast: ${r}`)}const a=tg.coefficient(s,0);if(0==a)throw new Error(\"sigmaTilde(0) was zero\");const c=tg.inv(a);return[tg.mulPolyScalar(s,c),tg.mulPolyScalar(i,c)]}};function ng(e,t){const{words:n,shortBlocks:r,numBlocks:i,blockLen:o,total:s}=Qp.capacity(e,t),a=(c=n,{encode(e){const t=tg.divisorPoly(c),n=Array.from(e);return n.push(...t.slice(0,-1).fill(0)),Uint8Array.from(tg.remainderPoly(n,t))},decode(e){const t=e.slice(),n=tg.polynomial(Array.from(e));let r=Fp(c,0),i=!1;for(let e=0;e<c;e++){const t=tg.evalPoly(n,tg.exp(e));r[r.length-1-e]=t,0!==t&&(i=!0)}if(!i)return t;r=tg.polynomial(r);const o=tg.monomial(c,1),[s,a]=tg.euclidian(o,r,c),l=Fp(tg.degree(s),0);let d=0;for(let e=1;e<256&&d<l.length;e++)0===tg.evalPoly(s,e)&&(l[d++]=tg.inv(e));if(d!==l.length)throw new Error(\"RS.decode: wrong errors number\");for(let e=0;e<l.length;e++){const n=t.length-1-tg.log(l[e]);if(n<0)throw new Error(\"RS.decode: wrong error location\");const r=tg.inv(l[e]);let i=1;for(let t=0;t<l.length;t++)e!==t&&(i=tg.mul(i,tg.add(1,tg.mul(l[t],r))));t[n]=tg.add(t[n],tg.mul(tg.evalPoly(a,r),tg.inv(i)))}return t}});var c;return{encode(e){const t=[],n=[];for(let s=0;s<i;s++){const i=o+(s<r?0:1);t.push(e.subarray(0,i)),n.push(a.encode(e.subarray(0,i))),e=e.subarray(i)}const s=zp(...t),c=zp(...n),l=new Uint8Array(s.length+c.length);return l.set(s),l.set(c,s.length),l},decode(e){if(e.length!==s)throw new Error(`interleave.decode: len(data)=${e.length}, total=${s}`);const t=[];for(let e=0;e<i;e++){const i=e<r;t.push(new Uint8Array(n+o+(i?0:1)))}let c=0;for(let n=0;n<o;n++)for(let r=0;r<i;r++)t[r][n]=e[c++];for(let n=r;n<i;n++)t[n][o]=e[c++];for(let s=o;s<o+n;s++)for(let n=0;n<i;n++){const i=n<r;t[n][s+(i?0:1)]=e[c++]}const l=[];for(const e of t)l.push(...Array.from(a.decode(e)).slice(0,-n));return Uint8Array.from(l)}}}function rg(e,t,n,r){let i=\"\",o=n.length;if(\"numeric\"===r){const e=Qp.alphabet.numeric.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-2;n+=3)i+=Up(100*e[n]+10*e[n+1]+e[n+2],10);t%3==1?i+=Up(e[t-1],4):t%3==2&&(i+=Up(10*e[t-2]+e[t-1],7))}else if(\"alphanumeric\"===r){const e=Qp.alphabet.alphanumerc.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-1;n+=2)i+=Up(45*e[n]+e[n+1],11);t%2==1&&(i+=Up(e[t-1],6))}else{if(\"byte\"!==r)throw new Error(\"encode: unsupported type\");{const e=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(n);o=e.length,i=Array.from(e).map((e=>Up(e,8))).join(\"\")}}const{capacity:s}=Qp.capacity(e,t),a=Up(o,Qp.lengthBits(e,r));let c=Qp.modeBits[r]+a+i;if(c.length>s)throw new Error(\"Capacity overflow\");c+=\"0\".repeat(Math.min(4,Math.max(0,s-c.length))),c.length%8&&(c+=\"0\".repeat(8-c.length%8));const l=\"1110110000010001\";for(let e=0;c.length!==s;e++)c+=l[e%16];const d=Uint8Array.from(c.match(/(.{8})/g).map((e=>Number(`0b${e}`))));return ng(e,t).encode(d)}function ig(e,t,n,r,i=!1){const o=function(e,t,n,r=!1){const i=Qp.size.encode(e);let o=new Wp(i+2);const s=new Wp(3).rect(0,3,!0).border(1,!1).border(1,!0).border(1,!1);o=o.embed(0,s).embed({x:-s.width,y:0},s).embed({x:0,y:-s.height},s),o=o.rectSlice(1,i);const a=new Wp(1).rect(0,1,!0).border(1,!1).border(1,!0),c=Qp.alignmentPatterns(e);for(const e of c)for(const t of c)void 0===o.data[e][t]&&o.embed({x:t-2,y:e-2},a);o=o.hLine({x:0,y:6},1/0,(({x:e},t)=>void 0===t?e%2==0:t)).vLine({x:6,y:0},1/0,(({y:e},t)=>void 0===t?e%2==0:t));{const e=Qp.formatBits(t,n),s=t=>!r&&1==(e>>t&1);for(let e=0;e<6;e++)o.data[e][8]=s(e);for(let e=6;e<8;e++)o.data[e+1][8]=s(e);for(let e=8;e<15;e++)o.data[i-15+e][8]=s(e);for(let e=0;e<8;e++)o.data[8][i-e-1]=s(e);for(let e=8;e<9;e++)o.data[8][15-e-1+1]=s(e);for(let e=9;e<15;e++)o.data[8][15-e-1]=s(e);o.data[i-8][8]=!r}if(e>=7){const t=Qp.versionBits(e);for(let e=0;e<18;e+=1){const n=!r&&1==(t>>e&1),s=Math.floor(e/3),a=e%3+i-8-3;o.data[s][a]=n,o.data[a][s]=n}}return o}(e,t,r,i);let s=0;const a=8*n.length;if(function(e,t,n){const r=e.height,i=eg[t];let o=-1,s=r-1;for(let t=r-1;t>0;t-=2){for(6==t&&(t=5);;s+=o){for(let r=0;r<2;r+=1){const o=t-r;void 0===e.data[s][o]&&n(o,s,i(o,s))}if(s+o<0||s+o>=r)break}o=-o}}(o,r,((e,t,r)=>{let i=!1;s<a&&(i=0!=(n[s>>>3]>>(7-s&7)&1),s++),o.data[t][e]=i!==r})),s!==a)throw new Error(\"QR: bytes left after draw\");return o}function og(e){const t=e.inverse(),n=e=>{let t=0;for(let n,r=0,i=1;r<e.length;r++)n===e[r]&&(i++,r!==e.length-1)||(i>=5&&(t+=i-5+3),n=e[r],i=1);return t};let r=0;e.data.forEach((e=>r+=n(e))),t.data.forEach((e=>r+=n(e)));let i=0,o=e.data;const s=e.width-1,a=e.height-1;for(let e=0;e<s;e++)for(let t=0;t<a;t++){const n=e+1,r=t+1;o[e][t]===o[n][t]&&o[n][t]===o[e][r]&&o[n][t]===o[n][r]&&(i+=3)}const c=e=>{const t=[!0,!1,!0,!0,!0,!1,!0],n=[!1,!1,!1,!1],r=[...t,...n],i=[...n,...t];let o=0;for(let t=0;t<e.length;t++)qp(e,r,t)&&(o+=40),qp(e,i,t)&&(o+=40);return o};let l=0;for(const t of e.data)l+=c(t);for(const e of t.data)l+=c(e);let d=0;e.rectRead(0,1/0,((e,t)=>d+=t?1:0));const u=d/(e.height*e.width)*100,h=10*Math.floor(Math.abs(u-50)/5);return r+i+l+h}function sg(e,t=\"raw\",n={}){const r=void 0!==n.ecc?n.ecc:\"medium\";!function(e){if(!Gp.includes(e))throw new Error(`Invalid error correction mode=${e}. Expected: ${Gp}`)}(r);const i=void 0!==n.encoding?n.encoding:function(e){let t=\"numeric\";for(let n of e)if(!Qp.alphabet.numeric.has(n)&&(t=\"alphanumeric\",!Qp.alphabet.alphanumerc.has(n)))return\"byte\";return t}(e);!function(e){if(!Zp.includes(e))throw new Error(`Encoding: invalid mode=${e}. Expected: ${Zp}`);if(\"kanji\"===e||\"eci\"===e)throw new Error(`Encoding: ${e} is not supported (yet?).`)}(i),void 0!==n.mask&&function(e){if(![0,1,2,3,4,5,6,7].includes(e)||!eg[e])throw new Error(`Invalid mask=${e}. Expected number [0..7]`)}(n.mask);let o,s=n.version,a=new Error(\"Unknown error\");if(void 0!==s)!function(e){if(!Number.isSafeInteger(e)||e<1||e>40)throw new Error(`Invalid version=${e}. Expected number [1..40]`)}(s),o=rg(s,r,e,i);else for(let t=1;t<=40;t++)try{o=rg(t,r,e,i),s=t;break}catch(e){a=e}if(!s||!o)throw a;let c=function(e,t,n,r){if(void 0===r){const i=function(){let e,t=1/0;return{add(n,r){n>=t||(e=r,t=n)},get:()=>e,score:()=>t}}();for(let r=0;r<eg.length;r++)i.add(og(ig(e,t,n,r,!0)),r);r=i.get()}if(void 0===r)throw new Error(\"Cannot find mask\");return ig(e,t,n,r)}(s,r,o,n.mask);c.assertDrawn();const l=void 0===n.border?2:n.border;if(!Number.isSafeInteger(l))throw new Error(\"Wrong border type=\"+typeof l);if(c=c.border(l,!1),void 0!==n.scale&&(c=c.scale(n.scale)),\"raw\"===t)return c.data;if(\"ascii\"===t)return c.toASCII();if(\"svg\"===t)return c.toSVG();if(\"gif\"===t)return c.toGIF();if(\"term\"===t)return c.toTerm();throw new Error(`Unknown output: ${t}`)}const ag={DESKTOP:\"Desktop\",MOBILE:\"Mobile\",META_MASK_MOBILE_APP:\"MetaMask mobile app\",SCAN_TO_CONNECT:\"Scan to connect and sign with\",CONNECT_WITH_EXTENSION:\"Connect With MetaMask Extension\",INSTALL_MODAL:{TRUSTED_BY_USERS:\"Trusted by over 30 million users to buy, store, send and swap crypto securely\",LEADING_CRYPTO_WALLET:\"The leading crypto wallet & gateway to blockchain apps built on Ethereum Mainnet, Polygon, Optimism, and many other networks\",CONTROL_DIGITAL_INTERACTIONS:\"Puts you in control of your digital interactions by making power of cryptography more accessible\",INSTALL_META_MASK_EXTENSION:\"Install MetaMask Extension\"},PENDING_MODAL:{OPEN_META_MASK_SELECT_CODE:\"Please open the MetaMask wallet app and select the code on the screen OR disconnect\",OPEN_META_MASK_CONTINUE:\"Open the MetaMask app to continue with your session.\",NUMBER_AFTER_OPEN_NOTICE:\"If a number doesn't appear after opening MetaMask, please click disconnect and re-scan the QRCode.\",DISCONNECT:\"Disconnect\"},SELECT_MODAL:{CRYPTO_TAKE_CONTROL_TEXT:\"Take control of your crypto and explore the blockchain with the wallet trusted by over 30 million people worldwide\"},META_MASK_MODAL:{ADDRESS_COPIED:\"Address copied to clipboard!\",DISCONNECT:\"Disconnect\",ACTIVE_NETWORK:\"Active Network\"}};class cg{constructor(e){var t;this.translations=ag,this.supportedLocales=[\"es\",\"fr\",\"he\",\"it\",\"pt\",\"tr\"],this.baseUrl=null!==(t=null==e?void 0:e.baseUrl)&&void 0!==t?t:\"https://raw.githubusercontent.com/MetaMask/metamask-sdk/refs/heads/gh-pages/locales\"}getBrowserLanguage(){if((navigator.languages||[navigator.language]).some((e=>e.toLowerCase().startsWith(\"en\"))))return\"en\";const e=navigator.language.toLowerCase().split(\"-\")[0];return this.supportedLocales.includes(e)?e:\"en\"}async init(e){const t=this.getBrowserLanguage()||e.fallbackLng;await this.loadTranslations(t)}async loadTranslations(e){const t=e.split(\"-\")[0];if(\"en\"!==t&&this.supportedLocales.includes(t))try{const e=`${this.baseUrl}/${t}.json`,n=await fetch(e);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);this.translations=await n.json()}catch(e){console.warn(`❌ Failed to load ${t} translations, falling back to English:`,e),this.translations=ag}else this.translations=ag}t(e){return this.getNestedTranslation(e,this.translations)||e}getNestedTranslation(e,t){const n=e.split(\".\");let r=t;for(const e of n){if(\"object\"!=typeof r)return\"\";r=r[e]}return\"string\"==typeof r?r:\"\"}}var lg;!function(e){e.SDK_MODAL_VIEWED=\"sdk_modal_viewed\",e.SDK_MODAL_BUTTON_CLICKED=\"sdk_modal_button_clicked\",e.SDK_MODAL_TOGGLE_CHANGED=\"sdk_modal_toggle_changed\"}(lg||(lg={}));const dg=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.startDesktopOnboarding=Vf(this,\"startDesktopOnboarding\",7),this.trackAnalytics=Vf(this,\"trackAnalytics\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.onClose=this.onClose.bind(this),this.onStartDesktopOnboardingHandler=this.onStartDesktopOnboardingHandler.bind(this),this.setTab=this.setTab.bind(this),this.render=this.render.bind(this),this.setTab(this.preferDesktop?1:2),this.i18nInstance=new cg}componentDidLoad(){this.trackAnalytics.emit({event:lg.SDK_MODAL_VIEWED,params:{extensionInstalled:!1,tab:1===this.tab?\"desktop\":\"mobile\"}})}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}onClose(e=!1){this.close.emit({shouldTerminate:e})}onStartDesktopOnboardingHandler(){this.trackAnalytics.emit({event:lg.SDK_MODAL_BUTTON_CLICKED,params:{button_type:\"install_extension\",tab:\"desktop\"}}),this.startDesktopOnboarding.emit()}setTab(e,t=!1){t&&this.trackAnalytics.emit({event:lg.SDK_MODAL_TOGGLE_CHANGED,params:{toggle:1===this.tab?\"desktop_to_mobile\":\"mobile_to_desktop\"}}),this.tab=e,this.isDefaultTab=!1}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.isDefaultTab?this.preferDesktop?1:2:this.tab,n=sg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Kf(Lp,{className:\"install-model\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"tabcontainer\"},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{onClick:()=>this.setTab(1,!0),class:\"tab flexItem \"+(1===t?\"tabactive\":\"\")},e(\"DESKTOP\")),Kf(\"div\",{onClick:()=>this.setTab(2,!0),class:\"tab flexItem \"+(2===t?\"tabactive\":\"\")},e(\"MOBILE\")))),Kf(\"div\",{style:{display:1===t?\"none\":\"block\"}},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},n&&Kf(\"div\",{id:\"sdk-mm-qrcode\",class:\"center\",innerHTML:n}),Kf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),\" \",Kf(\"br\",null),Kf(\"span\",{class:\"blue\"},Kf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Kf(\"div\",{style:{display:2===t?\"none\":\"block\"}},Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Np,text:e(\"INSTALL_MODAL.TRUSTED_BY_USERS\")})),Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Tp,text:e(\"INSTALL_MODAL.LEADING_CRYPTO_WALLET\")})),Kf(\"div\",{class:\"item\"},Kf(Op,{Icon:Dp,text:e(\"INSTALL_MODAL.CONTROL_DIGITAL_INTERACTIONS\")})),Kf(\"button\",{class:\"button\",onClick:()=>this.onStartDesktopOnboardingHandler()},Kf($p,null),Kf(\"span\",{class:\"installExtensionText\"},e(\"INSTALL_MODAL.INSTALL_META_MASK_EXTENSION\"))))),Kf(Bp,{version:this.sdkVersion})))}get el(){return qf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};dg.style=\".flexContainer {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n    flex-direction: row;\\n}\\n\\n.flexItem {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem11 {\\n    flex: 11;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem1 {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.tab {\\n    padding: 8px;\\n    cursor: pointer;\\n    background-color: #F2F4F6;\\n    font-size: 12px;\\n    text-align: center;\\n    color: #24292E;\\n}\\n\\n.tabcontainer {\\n    padding: 4px;\\n    background-color: #F2F4F6;\\n    border-radius: 8px;\\n    margin-bottom: 30px;\\n    margin-top: 30px;\\n}\\n\\n.tabactive {\\n    background-color: white;\\n    -webkit-transition: background-color 300ms linear;\\n    -ms-transition: background-color 300ms linear;\\n    transition: background-color 300ms linear;\\n    border-radius: 8px;\\n}\\n\\n.item {\\n    font-size: 12px;\\n    margin-bottom: 16px;\\n    border-radius: 8px;\\n    padding: 10px;\\n    border: 2px #F2F4F6 solid;\\n    color: #24292E;\\n}\\n\\n.extensionLabel {\\n    font-style: normal;\\n    font-weight: bold;\\n    font-size: 14px;\\n    text-align: cetner;\\n    color: #24272A;\\n}\\n\\n.notice {\\n    font-size: 12px;\\n    margin-left: 10px;\\n    margin-right: 10px;\\n    color: grey;\\n}\\n\\n.button {\\n    margin-top: 41.5px;\\n    margin-bottom: 20px;\\n    width: 100%;\\n    display: flex;\\n    flex-direction: row;\\n    justify-content: center;\\n    align-items: center;\\n    padding: 12px 20px;\\n    background: #037DD6;\\n    border-radius: 32px;\\n    color: white;\\n    border: 0;\\n    font-size: 14px;\\n    cursor: pointer;\\n}\\n\\n.backdrop {\\n    visibility: visible;\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    width: 100%;\\n    z-index: 99998;\\n    background: rgba(0, 0, 0, 0.87);\\n    opacity: 0.3;\\n}\\n\\n.modal {\\n    visibility: visible;\\n    position: fixed;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    z-index: 99999;\\n    background: white;\\n    padding: 20px;\\n    border-radius: 8px;\\n    top: 50%;\\n    max-width: 100%;\\n    width: 460px;\\n    min-width: 300px;\\n    box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n    -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n    color: #BBC0C5;\\n    cursor: pointer;\\n}\\n\\n.logoContainer {\\n    margin-left: 24px;\\n    margin-right: 24px;\\n    margin-top: 24px;\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n}\\n\\n.connectMobileText {\\n    font-size: 14px;\\n    color: black;\\n    margin-top: 28px;\\n    margin-bottom: 28px;\\n    line-height: 2;\\n}\\n\\n.blue {\\n    color: #037DD6;\\n    font-weight: 700;\\n}\\n\\n.installExtensionText {\\n    margin-left: 10px;\\n}\\n\\n.center {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.right {\\n    display: flex;\\n    align-items: center;\\n    justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n    svg {\\n        width: 50%;\\n    }\\n}\";const ug=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.disconnect=Vf(this,\"disconnect\",7),this.updateOTPValue=Vf(this,\"updateOTPValue\",7),this.displayOTP=void 0,this.sdkVersion=void 0,this.otpCode=void 0,this.translationsLoaded=!1,this.i18nInstance=new cg}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(){this.close.emit()}onDisconnect(){this.disconnect.emit()}onUpdateOTPValueHandler(e){this.updateOTPValue.emit({otpValue:e})}disconnectedCallback(){this.onClose()}render(){var e;if(!this.translationsLoaded)return null;const t=null===(e=this.displayOTP)||void 0===e||e,n=this.sdkVersion,r=e=>this.i18nInstance.t(e);return Kf(Lp,{className:\"pending-modal\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose()}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose()},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"flexContainer\",style:{flexDirection:\"column\",color:\"black\"}},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"30px\",marginBottom:\"30px\",fontSize:\"16px\"}},r(t?\"PENDING_MODAL.OPEN_META_MASK_SELECT_CODE\":\"PENDING_MODAL.OPEN_META_MASK_CONTINUE\")),Kf(\"div\",{id:\"sdk-mm-otp-value\",style:{padding:\"10px\",fontSize:\"32px\",display:this.otpCode?\"block\":\"none\"}},this.otpCode),t&&Kf(\"div\",{class:\"notice\"},\"* \",r(\"PENDING_MODAL.NUMBER_AFTER_OPEN_NOTICE\"))),Kf(\"div\",{style:{marginTop:\"20px\"}},Kf(\"button\",{class:\"button blue\",style:{marginTop:\"5px\",color:\"#0376C9\",borderColor:\"#0376C9\",borderWidth:\"1px\",borderStyle:\"solid\",backgroundColor:\"white\"},onClick:()=>this.onDisconnect()},r(\"PENDING_MODAL.DISCONNECT\")))),Kf(Bp,{version:n})))}get el(){return qf(this)}};ug.style=\".flexContainer {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n    flex-direction: row;\\n}\\n\\n.flexItem {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem11 {\\n    flex: 11;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem1 {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.tab {\\n    padding: 8px;\\n    cursor: pointer;\\n    background-color: #F2F4F6;\\n    font-size: 12px;\\n    text-align: center;\\n    color: #24292E;\\n}\\n\\n.tabcontainer {\\n    padding: 4px;\\n    background-color: #F2F4F6;\\n    border-radius: 8px;\\n    margin-bottom: 30px;\\n    margin-top: 30px;\\n}\\n\\n.tabactive {\\n    background-color: white;\\n    -webkit-transition: background-color 300ms linear;\\n    -ms-transition: background-color 300ms linear;\\n    transition: background-color 300ms linear;\\n    border-radius: 8px;\\n}\\n\\n.item {\\n    font-size: 12px;\\n    margin-bottom: 16px;\\n    border-radius: 8px;\\n    padding: 10px;\\n    border: 2px #F2F4F6 solid;\\n    color: #24292E;\\n}\\n\\n.extensionLabel {\\n    font-style: normal;\\n    font-weight: bold;\\n    font-size: 14px;\\n    text-align: cetner;\\n    color: #24272A;\\n}\\n\\n.notice {\\n    font-size: 12px;\\n    margin-left: 10px;\\n    margin-right: 10px;\\n    color: grey;\\n}\\n\\n.button {\\n    margin-top: 41.5px;\\n    margin-bottom: 20px;\\n    width: 100%;\\n    display: flex;\\n    flex-direction: row;\\n    justify-content: center;\\n    align-items: center;\\n    padding: 12px 20px;\\n    background: #037DD6;\\n    border-radius: 32px;\\n    color: white;\\n    border: 0;\\n    font-size: 14px;\\n    cursor: pointer;\\n}\\n\\n.backdrop {\\n    visibility: visible;\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    width: 100%;\\n    z-index: 99998;\\n    background: rgba(0, 0, 0, 0.87);\\n    opacity: 0.3;\\n}\\n\\n.modal {\\n    visibility: visible;\\n    position: fixed;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    z-index: 99999;\\n    background: white;\\n    padding: 20px;\\n    border-radius: 8px;\\n    top: 50%;\\n    max-width: 100%;\\n    width: 460px;\\n    min-width: 300px;\\n    box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n    -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n    color: #BBC0C5;\\n    cursor: pointer;\\n}\\n\\n.logoContainer {\\n    margin-left: 24px;\\n    margin-right: 24px;\\n    margin-top: 24px;\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n}\\n\\n.connectMobileText {\\n    font-size: 14px;\\n    color: black;\\n    margin-top: 28px;\\n    margin-bottom: 28px;\\n    line-height: 2;\\n}\\n\\n.blue {\\n    color: #037DD6;\\n    font-weight: 700;\\n}\\n\\n.installExtensionText {\\n    margin-left: 10px;\\n}\\n\\n.center {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.right {\\n    display: flex;\\n    align-items: center;\\n    justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n    svg {\\n        width: 50%;\\n    }\\n}\";const hg=()=>Kf(\"svg\",{width:\"21\",height:\"15\",viewBox:\"0 0 21 15\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M14.1364 14.9851C13.5909 14.9851 13.2273 14.5851 13.2273 13.9851C13.2273 13.3851 13.5909 12.9851 14.1364 12.9851C16.6818 12.9851 18.6818 10.7851 18.6818 7.98508C18.6818 5.18508 16.6818 2.98508 14.1364 2.98508C11.5909 2.98508 9.59091 5.18508 9.59091 7.98508C9.59091 8.58508 9.22727 8.98508 8.68182 8.98508C8.13636 8.98508 7.77273 8.58508 7.77273 7.98508C7.77273 4.08508 10.5909 0.985077 14.1364 0.985077C17.6818 0.985077 20.5 4.08508 20.5 7.98508C20.5 11.8851 17.6818 14.9851 14.1364 14.9851ZM6.68182 14.7851C3.22727 14.7851 0.5 11.6851 0.5 7.98508C0.5 4.28508 3.22727 1.18508 6.68182 1.18508C7.22727 1.18508 7.59091 1.58508 7.59091 2.18508C7.59091 2.78508 7.22727 3.18508 6.68182 3.18508C4.22727 3.18508 2.31818 5.38508 2.31818 7.98508C2.31818 10.5851 4.22727 12.7851 6.68182 12.7851C9.13636 12.7851 11.0455 10.6851 11.0455 7.98508C11.0455 7.38508 11.4091 6.98508 11.9545 6.98508C12.5 6.98508 12.8636 7.38508 12.8636 7.98508C12.7727 11.6851 10.0455 14.7851 6.68182 14.7851Z\",fill:\"white\"})),fg=()=>Kf(\"svg\",{width:\"400\",height:\"300\",viewBox:\"0 0 467 300\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Kf(\"path\",{d:\"M312.387 280.629C312.549 280.583 312.247 280.735 312.387 280.629L339.678 260.425C340.088 260.118 340.132 259.156 340.07 258.647C340.008 258.138 339.573 258.257 339.106 258.084L311.712 247.455C311.292 247.301 311.308 247.402 310.939 247.673C310.569 247.944 310.356 248.21 310.356 248.672L310.459 279.504C310.461 280.025 311.163 280.619 311.614 280.847C311.913 280.996 312.072 280.718 312.387 280.629ZM336.204 259.736L312.979 276.292L313.439 251.139L336.204 259.736Z\",fill:\"url(#paint0_linear_1356_14057)\"}),Kf(\"path\",{d:\"M324.639 260.342C324.358 259.547 323.485 258.91 322.707 259.215C319.6 260.432 318.17 262.313 317.287 264.066C316.482 265.665 316.197 267.482 314.188 268.269C312.178 269.055 310.763 268.663 309.162 268.007C307.406 267.287 305.504 266.182 302.397 267.399C299.289 268.616 297.859 270.497 296.976 272.25C296.171 273.849 295.697 274.886 293.685 275.673C291.675 276.459 290.261 276.067 288.659 275.411C286.903 274.691 284.999 273.587 281.894 274.803C278.789 276.019 277.549 278.681 276.666 280.434C275.861 282.034 275.386 283.07 273.374 283.857C272.596 284.161 271.931 285.055 272.211 285.849C272.492 286.644 273.365 287.281 274.143 286.977C277.25 285.76 278.68 283.879 279.563 282.125C280.368 280.526 280.65 278.71 282.662 277.923C284.672 277.136 286.087 277.528 287.688 278.184C289.444 278.904 291.348 280.009 294.453 278.793C297.561 277.576 298.991 275.695 299.874 273.941C300.679 272.342 301.153 271.306 303.165 270.519C305.175 269.732 306.589 270.124 308.191 270.78C309.947 271.5 311.849 272.605 314.956 271.388C318.063 270.172 319.301 267.511 320.184 265.757C320.989 264.158 321.466 263.121 323.476 262.335C324.254 262.032 324.919 261.137 324.639 260.342Z\",fill:\"url(#paint1_linear_1356_14057)\"}),Kf(\"path\",{d:\"M389.034 111.124C388.968 112.406 387.342 113.113 386.324 113.549C384.297 114.419 382.089 114.493 379.942 114.5C376.607 114.509 373.215 114.163 369.89 113.976C366.712 113.798 363.156 113.311 360.03 114.232C357.705 114.919 355.667 116.762 353.452 117.739C351.129 118.765 348.957 119.198 346.489 119.687C335.569 121.85 323.587 120.825 312.656 119.977C311.92 119.92 312.539 118.997 313.237 118.981C313.207 118.815 313.001 118.394 313.045 118.201C313.086 118.029 312.781 117.586 312.853 117.421C312.67 117.198 313.316 117.427 313.626 117.204C315.912 115.557 318.721 114.79 321.363 115.041C324.677 115.355 327.293 116.04 330.641 115.781C334.392 115.491 338.125 114.787 341.857 114.312C345.142 113.892 349.09 113.941 352.106 112.28C352.916 111.834 353.137 111.262 353.269 110.287C353.331 109.828 353.672 108.969 353.658 108.511C353.629 107.529 354.191 107.886 355.013 107.298C356.857 105.981 358.274 105.516 360.428 105.784C362.841 106.083 365.264 107.273 367.578 107.953C370.761 108.888 374.328 108.646 377.631 108.477C380.517 108.329 383.141 107.901 385.944 108.653C387.013 108.941 389.104 109.745 389.034 111.124Z\",fill:\"url(#paint2_linear_1356_14057)\"}),Kf(\"path\",{d:\"M278.118 85.4414C280.313 83.8186 283.302 83.9 285.853 83.2728C290.501 82.127 295.644 78.4476 300.549 79.1524C301.299 79.2595 300.904 81.0355 300.159 80.9295C300.131 80.9256 300.187 80.9333 300.159 80.9295C300.089 81.0185 299.516 81.1051 299.385 81.1463C294.999 82.515 292.895 87.5083 289.126 89.8598C287.799 90.688 286.771 90.8351 285.258 90.9441C283.515 91.0691 280.964 90.5775 279.269 90.1219C277.15 89.5532 275.965 87.034 278.118 85.4414Z\",fill:\"url(#paint3_linear_1356_14057)\"}),Kf(\"path\",{d:\"M122.567 166.093C113.597 172.832 104.535 179.836 99.517 190.092C98.5342 192.099 97.519 195.019 97.9533 197.204C98.9699 202.316 105.76 203.049 110.691 201.96C113.468 201.347 116.325 199.231 115.921 196.319C115.576 193.81 113.158 192.986 112.072 190.73C110.779 188.04 112.35 184.97 114.218 182.62C128.134 165.099 150.074 157.394 171.093 151.607C175.385 150.425 180.897 147.69 180.581 143.099C180.372 140.072 177.118 137.683 174.221 137.383C171.324 137.082 168.481 138.773 165.715 139.776C158.416 142.419 151.17 143.799 143.489 143.526C136.865 143.29 130.976 143.316 129.562 150.781C128.138 158.276 129.53 160.863 122.567 166.093Z\",fill:\"url(#paint4_linear_1356_14057)\"}),Kf(\"path\",{d:\"M79.1056 153.531C60.3932 164.378 43.7478 178.354 32.8214 197.415C30.3313 201.76 27.9216 206.554 27.1821 211.512C26.4448 216.47 27.7591 222.525 30.8133 226.337C34.908 231.446 41.6938 232.915 48.1811 233.125C50.7248 233.208 53.0035 233.066 55.3316 231.947C57.6602 230.83 59.7548 228.359 59.5978 225.742C59.3303 221.315 54.5491 219.665 50.9271 217.34C42.6566 212.037 40.4958 199.493 44.2381 190.032C47.9803 180.57 55.8228 173.173 63.2316 166.338C67.229 162.651 71.5194 158.372 76.777 157.522C79.9167 157.015 83.4706 157.589 86.6295 157.252C93.9004 156.479 99.64 151.404 105.588 146.912C115.048 139.765 126.045 134.283 137.501 132.093C141.913 131.248 146.293 130.493 149.682 127.831C151.37 126.507 150.803 123.567 148.726 123.93C138.542 125.713 128.652 131.135 119.142 134.758C105.627 139.914 91.7133 146.223 79.1056 153.531Z\",fill:\"url(#paint5_linear_1356_14057)\"}),Kf(\"path\",{d:\"M96.3677 117.321C96.0315 116.64 95.2914 116.612 94.6293 116.975C91.9858 118.417 91.5452 120.509 90.9466 122.178C90.4004 123.702 89.3647 124.67 87.6542 125.604C85.9437 126.538 85.0983 126.316 83.5956 125.91C81.9481 125.465 79.8603 125.424 77.2168 126.866C74.5734 128.309 74.1348 130.401 73.5341 132.07C72.9879 133.593 71.9522 134.562 70.2417 135.496C68.5313 136.43 67.6859 136.208 66.1832 135.801C64.5357 135.357 62.2569 134.538 59.6128 135.978C56.9694 137.42 56.5308 139.512 55.9301 141.181C55.3839 142.705 54.5398 144.454 52.8293 145.388C52.1667 145.748 52.1006 146.485 52.439 147.165C52.7752 147.845 53.5153 147.874 54.1773 147.511C56.8208 146.069 57.2594 143.977 57.86 142.307C58.4062 140.784 59.4419 139.815 61.1524 138.881C62.8629 137.948 63.7083 138.17 65.211 138.576C66.8585 139.021 68.9458 139.059 71.5898 137.619C74.2333 136.177 74.6718 134.085 75.2725 132.416C75.8187 130.892 76.8544 129.924 78.5649 128.99C80.2754 128.056 81.1207 128.278 82.6235 128.684C84.2709 129.129 86.5503 129.95 89.1938 128.507C91.8373 127.065 92.2779 124.973 92.8765 123.304C93.4227 121.78 94.2663 120.03 95.9773 119.098C96.6378 118.738 96.7039 118.001 96.3677 117.321Z\",fill:\"#FBC49D\"}),Kf(\"path\",{d:\"M391.827 164.699C392.04 164.639 392.39 164.573 392.6 164.481C393.87 163.921 395.363 162.429 395.893 161.051C396.421 159.673 396.237 158.321 395.712 156.931C394.629 154.061 391.777 152.62 389.155 153.775C386.531 154.931 384.962 158.455 386.042 161.325C387.038 163.963 389.369 165.392 391.827 164.699ZM394.166 157.367C394.529 158.332 394.52 159.751 394.156 160.706C393.792 161.662 393.1 162.534 392.218 162.921C390.398 163.723 388.338 162.878 387.589 160.889C387.226 159.925 387.234 158.506 387.599 157.55C387.963 156.594 388.654 155.723 389.536 155.336C391.356 154.534 393.416 155.376 394.166 157.367Z\",fill:\"#86E29B\"}),Kf(\"path\",{d:\"M62.7198 108.691C64.4912 108.191 66.6152 106.609 67.5596 104.824C68.4273 103.187 68.465 101.455 67.9609 99.7066C67.4547 97.9586 66.0792 96.5141 64.4963 95.6786C62.9135 94.843 61.2077 94.8578 59.4756 95.4255C57.7435 95.9933 56.2768 97.4364 55.409 99.074C53.6185 102.456 55.2032 106.494 58.4723 108.22C60.0142 109.035 61.1315 109.138 62.7198 108.691ZM60.6304 96.7682C61.819 96.4332 63.0232 96.8871 64.1048 97.4571C65.2463 98.0603 66.0495 98.8796 66.4145 100.142C66.7791 101.403 66.4488 103.299 65.8224 104.48C64.5299 106.919 61.2212 107.686 58.8638 106.441C56.5063 105.197 55.8538 101.858 57.1462 99.4185C57.7726 98.2375 58.6059 97.3957 59.8573 96.9862C59.9214 96.9635 60.5631 96.7872 60.6304 96.7682Z\",fill:\"#FFB0EB\"}),Kf(\"path\",{d:\"M77.0217 242.979C75.9542 243.28 75.1664 242.151 74.9029 241.074C74.6394 239.996 75 239.378 76.0676 239.077C77.1351 238.776 78.5053 238.907 78.7688 239.984C79.0323 241.061 78.0893 242.678 77.0217 242.979Z\",fill:\"url(#paint6_linear_1356_14057)\"}),Kf(\"path\",{d:\"M380.506 184.577C379.439 184.878 378.651 183.749 378.387 182.672C378.124 181.594 378.484 180.976 379.552 180.675C380.619 180.374 381.99 180.505 382.253 181.582C382.517 182.659 381.574 184.276 380.506 184.577Z\",fill:\"url(#paint7_linear_1356_14057)\"}),Kf(\"path\",{d:\"M348.82 246.969C347.752 247.27 346.382 247.14 346.119 246.063C345.855 244.985 346.798 243.369 347.866 243.068C348.933 242.767 349.721 243.896 349.985 244.973C350.248 246.05 349.888 246.669 348.82 246.969Z\",fill:\"url(#paint8_linear_1356_14057)\"}),Kf(\"path\",{d:\"M140.419 282.412C139.351 282.713 138.754 282.365 138.491 281.288C138.227 280.21 138.397 278.812 139.464 278.511C140.532 278.21 142.093 279.121 142.357 280.198C142.62 281.275 141.486 282.111 140.419 282.412Z\",fill:\"url(#paint9_linear_1356_14057)\"}),Kf(\"path\",{d:\"M121.462 101.679C120.395 101.979 119.798 101.631 119.534 100.554C119.271 99.4764 119.44 98.0779 120.508 97.777C121.575 97.4761 123.136 98.3868 123.4 99.4642C123.663 100.542 122.53 101.378 121.462 101.679Z\",fill:\"url(#paint10_linear_1356_14057)\"}),Kf(\"path\",{d:\"M370.749 159.005C369.682 159.306 368.311 159.175 368.048 158.098C367.784 157.021 368.727 155.404 369.795 155.103C370.863 154.802 371.65 155.931 371.914 157.008C372.177 158.086 371.817 158.704 370.749 159.005Z\",fill:\"url(#paint11_linear_1356_14057)\"}),Kf(\"path\",{d:\"M384.211 245.345C383.143 245.646 381.773 245.515 381.51 244.438C381.246 243.361 382.189 241.744 383.257 241.443C384.324 241.142 385.112 242.271 385.376 243.348C385.639 244.426 385.278 245.044 384.211 245.345Z\",fill:\"url(#paint12_linear_1356_14057)\"}),Kf(\"path\",{d:\"M364.771 41.3873C363.063 41.8687 361.337 40.8616 360.915 39.1378C360.493 37.414 361.536 35.6263 363.244 35.1449C364.953 34.6634 366.679 35.6706 367.101 37.3944C367.522 39.1182 366.479 40.9059 364.771 41.3873Z\",fill:\"url(#paint13_linear_1356_14057)\"}),Kf(\"path\",{d:\"M404.311 77.905C404.602 77.8231 404.875 77.9236 405.084 77.6871C405.437 77.2908 404.814 76.6385 404.703 76.1265L401.277 58.7418C401.149 58.163 400.687 57.5371 400.123 57.3991C399.558 57.2611 398.969 57.3812 398.576 57.835L385.784 73.1179C385.395 73.564 385.199 74.3453 385.393 74.8964C385.585 75.4481 385.978 76.1646 386.548 76.2391L403.538 78.123C403.744 78.1479 404.114 77.9607 404.311 77.905ZM398.948 62.7348L401.811 74.4394L389.841 72.8085L398.948 62.7348Z\",fill:\"#FFB0EB\"}),Kf(\"path\",{d:\"M97.5393 295.311C97.7108 295.263 97.4284 295.461 97.5393 295.311L108.785 280.464C108.975 280.211 108.718 279.972 108.594 279.684C108.47 279.396 108.124 279.917 107.821 279.902L88.5106 278.672C88.2101 278.659 87.895 278.62 87.7374 278.89C87.5798 279.159 87.7755 279.402 87.9283 279.67L96.5753 294.749C96.7102 294.99 97.2696 295.297 97.5393 295.311C97.6283 295.319 97.4556 295.335 97.5393 295.311ZM106.465 281.118L96.9667 292.97L90.6295 280.577L106.465 281.118Z\",fill:\"#86E29B\"}),Kf(\"path\",{d:\"M393.699 108.848C389.518 104.446 414.629 114.366 413.945 120.659C413.259 126.952 401.355 129.102 403.894 123.491C406.042 118.747 400.376 115.876 393.699 108.848Z\",fill:\"#FBC49D\"}),Kf(\"path\",{d:\"M139.414 115.959C139.434 115.953 139.392 115.965 139.414 115.959C141.963 115.2 143.436 111.976 142.717 109.189C142.37 107.839 141.526 107.199 140.408 106.504C139.289 105.808 138.171 105.449 136.933 105.815C135.698 106.182 134.85 107.033 134.222 108.247C133.595 109.461 133.282 111.234 133.63 112.585C133.978 113.935 134.821 114.574 135.94 115.27C137.04 115.952 138.199 116.301 139.414 115.959ZM137.315 107.375C138.222 107.12 139.005 106.994 139.825 107.502C140.661 108.02 140.912 108.618 141.171 109.625C141.708 111.704 140.935 113.834 139.032 114.398C138.11 114.675 137.356 114.791 136.522 114.272C135.686 113.753 135.436 113.155 135.176 112.149C134.917 111.142 134.718 109.714 135.186 108.81C135.654 107.905 136.394 107.649 137.315 107.375C137.329 107.371 137.299 107.38 137.315 107.375Z\",fill:\"#75C4FD\"}),Kf(\"path\",{d:\"M308.981 78.7519C310.052 78.4043 311.158 78.7096 312.265 78.6613C313.655 78.6006 314.936 78.517 316.323 78.3531C319.497 77.9795 322.798 77.4906 325.984 77.3012C329.309 77.1025 332.514 76.8551 335.836 77.0295C338.809 77.1842 342.163 77.3405 345.105 77.7558C352.129 78.7468 359.331 79.0578 366.347 80.1158C372.252 81.008 377.93 82.1319 383.722 83.5644C385.925 84.0054 388.267 85.0754 389.126 85.3792C389.421 85.4833 389.37 85.8347 389.317 86.1595C389.306 86.2271 389.353 86.1146 389.317 86.1595C388.269 87.414 386.564 86.8124 385.259 86.4677C384.406 86.241 381.488 85.9494 381.011 85.9957C380.14 86.0815 379.277 86.014 379.656 87.2114C380.122 88.6824 382.391 89.7375 383.704 90.2419C385.883 91.0803 388.771 91.2561 390.845 92.4015C392.968 92.821 395.425 93.5002 397.022 93.9986C402.83 95.8103 407.806 98.8678 413.033 102.002C415.503 103.482 417.829 104.764 419.973 106.72C421.647 108.248 423.771 109.882 424.595 112.091C425.113 113.482 424.451 115.471 422.848 115.085C420.353 114.488 419.638 111.665 418.227 109.714C415.003 105.251 410.067 102.067 405.118 100.06C402.64 99.0556 399.803 98.729 397.204 98.1176C394.411 97.4613 391.597 97.0442 388.707 97.1736C385.646 97.3097 382.846 97.5534 379.819 98.0078C377.027 98.4264 374.252 98.4441 371.514 97.8441C368.766 97.2421 366.276 96.7553 363.6 95.9021C361.662 95.2848 359.013 94.5583 357.232 93.5247C355.699 92.6339 355.631 91.2381 357.241 90.186C359.87 88.4656 362.778 89.8021 365.546 90.3497C365.561 90.3527 365.532 90.3468 365.546 90.3497C367.858 90.804 369.649 90.098 371.923 89.3884C372.489 89.2128 373.255 89.0482 373.47 88.953C374.383 88.5432 375.895 87.8227 375.407 86.7394C374.868 85.5457 372.659 84.8846 371.55 84.4891C369.74 83.8428 368.053 82.9215 366.147 82.6743C365.654 82.6095 365.109 83.1606 364.6 83.1097C363.36 83.1121 361.769 83.348 360.543 83.418C357.43 83.5916 354.583 83.6228 351.464 83.4719C348.714 83.3377 346.432 82.8542 343.741 82.3102C340.773 81.7101 337.52 81.5879 334.471 81.5839C331.393 81.5811 328.6 81.7214 325.583 82.4181C322.758 83.0702 319.757 83.6198 316.887 84.0326C314.698 84.3481 312.467 84.6054 310.319 84.2137C309.079 83.9871 306.994 83.3394 306.461 81.9635C305.846 80.3659 307.736 79.1556 308.981 78.7519Z\",fill:\"url(#paint14_linear_1356_14057)\"}),Kf(\"path\",{d:\"M242.269 242.95C242.295 242.947 242.244 242.955 242.269 242.95C244.934 242.606 247.53 241.858 250.2 241.574C253.133 241.264 256.006 240.56 258.906 239.982C263.26 239.117 268.026 238.52 272.254 237.097C274.429 236.365 276.067 235.298 278.251 234.592C280.361 233.909 283.058 233.12 285.216 232.652C289.317 231.764 293.049 231.66 297.016 230.198C301.109 228.69 305.088 226.673 308.819 224.409C312.645 222.086 316.282 219.769 320.622 218.62C322.381 218.154 323.919 218.219 325.65 218.886C327.016 219.413 327.739 220.337 327.196 221.79C326.557 223.504 324.659 224.7 323.131 225.423C320.854 226.5 319.53 227.184 317.134 227.927C314.619 228.707 311.888 229.24 309.395 230.083C308.226 230.947 307.17 232.522 306.105 233.501C303.996 235.441 301.666 237.03 298.945 237.996C292.934 240.129 286.354 238.602 280.183 239.056C279.661 239.095 279.162 239.442 278.635 239.487C275.592 240.135 272.2 240.63 269.156 241.294C264.546 242.299 260.456 243.409 255.808 244.179C251.971 244.814 243.815 245.854 243.815 245.854L242.074 245.505C240.575 245.281 240.751 243.152 242.269 242.95Z\",fill:\"url(#paint15_linear_1356_14057)\"}),Kf(\"path\",{d:\"M432.985 171.626C438.212 165.465 445.109 153.64 442.906 144.649C442.162 137.999 433.671 132.912 424.963 135.518C420.16 136.957 416.435 142.146 419.724 144.498C420.656 145.164 422.187 145.591 423.391 145.969C434.204 149.375 434.925 162.538 425.069 169.683C421.087 172.569 416.347 174.292 411.914 176.719C400.151 183.162 399.887 196.847 387.7 202.712C382.326 205.298 375.761 206.838 370.297 209.275C359.98 213.88 352.555 221.733 342.241 226.341C337.225 228.584 330.266 231.632 323.483 234.12C321.475 234.855 321.999 237.058 324.056 236.46C324.098 236.449 324.017 236.474 324.056 236.46C329.079 234.971 334.437 233.161 339.331 231.33C352.278 226.48 365.28 220.971 377.43 214.775C401.78 202.367 416.881 190.609 432.985 171.626Z\",fill:\"url(#paint16_linear_1356_14057)\"}),Kf(\"path\",{d:\"M343.644 241.104C348.002 234.144 357.126 232.455 364.343 231.134C368.176 230.431 372.406 229.878 376.137 228.662C380.691 227.175 384.558 224.095 388.327 221.077C389.452 220.177 391.204 218.466 392.393 217.436C393.185 216.748 393.644 216.026 394.33 215.225C396 213.275 399.599 209.812 401.687 208.16C403.263 206.914 407.779 204.758 408.259 207.986C408.611 210.359 406.379 213.087 404.961 214.747C402.224 217.953 398.998 221.079 395.475 223.243C391.749 225.531 387.701 227.439 383.674 229.051C381.672 229.853 379.519 230.073 377.486 230.785C376.001 231.307 374.486 232.236 373.037 232.866C371.034 233.738 368.99 234.28 367.041 235.38C364.436 236.849 361.782 238.783 359.108 240.105C356.331 241.477 353.823 242.691 350.791 243.27C348.6 243.687 345.501 243.641 343.836 241.884C343.526 241.554 343.389 241.51 343.644 241.104Z\",fill:\"url(#paint17_linear_1356_14057)\"}),Kf(\"path\",{d:\"M190.163 273.219C222.905 268.849 232.64 262.943 213.962 259.057C195.285 255.172 187.5 262.08 188.434 266.2C189.366 270.32 180.381 271.326 169.286 272.39C158.193 273.454 157.141 276.354 190.163 273.219Z\",fill:\"url(#paint18_linear_1356_14057)\"}),Kf(\"path\",{d:\"M295.952 95.4242L241.395 135.226L251.54 111.77L295.952 95.4242Z\",fill:\"#E17726\",stroke:\"#E17726\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M170.111 95.4242L224.181 135.598L214.522 111.77L170.111 95.4242Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M276.309 187.712L261.793 209.576L292.876 218.014L301.78 188.189L276.309 187.712Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M164.336 188.189L173.186 218.014L204.215 209.576L189.753 187.712L164.336 188.189Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M202.542 150.776L193.908 163.618L224.667 164.998L223.642 132.36L202.542 150.776Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M263.52 150.775L242.097 131.989L241.395 164.998L272.154 163.618L263.52 150.775Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L222.832 200.714L206.805 188.402L204.215 209.576Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M243.23 200.714L261.793 209.576L259.257 188.402L243.23 200.714Z\",fill:\"#E27625\",stroke:\"#E27625\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M261.793 209.576L243.23 200.714L244.741 212.601L244.579 217.643L261.793 209.576Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L221.483 217.643L221.375 212.601L222.832 200.714L204.215 209.576Z\",fill:\"#D5BFB2\",stroke:\"#D5BFB2\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M221.807 180.547L206.373 176.09L217.274 171.154L221.807 180.547Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.255 180.547L248.788 171.154L259.742 176.09L244.255 180.547Z\",fill:\"#233447\",stroke:\"#233447\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M204.215 209.576L206.913 187.712L189.753 188.189L204.215 209.576Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M259.149 187.712L261.793 209.576L276.309 188.189L259.149 187.712Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M272.154 163.618L241.395 164.998L244.255 180.547L248.788 171.154L259.742 176.09L272.154 163.618Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M206.373 176.09L217.274 171.154L221.807 180.547L224.667 164.998L193.908 163.618L206.373 176.09Z\",fill:\"#CC6228\",stroke:\"#CC6228\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M193.908 163.618L206.805 188.402L206.373 176.09L193.908 163.618Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M259.743 176.09L259.257 188.402L272.154 163.618L259.743 176.09Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M224.667 164.998L221.807 180.548L225.422 198.909L226.232 174.71L224.667 164.998Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M241.395 164.998L239.884 174.657L240.64 198.909L244.255 180.548L241.395 164.998Z\",fill:\"#E27525\",stroke:\"#E27525\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.255 180.547L240.64 198.909L243.23 200.714L259.257 188.402L259.743 176.09L244.255 180.547Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M206.373 176.09L206.805 188.402L222.832 200.714L225.422 198.909L221.807 180.547L206.373 176.09Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M244.579 217.643L244.741 212.601L243.338 211.434H222.724L221.375 212.601L221.483 217.643L204.215 209.576L210.259 214.459L222.508 222.791H243.5L255.803 214.459L261.793 209.576L244.579 217.643Z\",fill:\"#C0AC9D\",stroke:\"#C0AC9D\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M243.23 200.714L240.64 198.909H225.422L222.832 200.714L221.375 212.601L222.724 211.434H243.338L244.741 212.601L243.23 200.714Z\",fill:\"#161616\",stroke:\"#161616\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M298.272 137.827L302.859 115.856L295.952 95.4242L243.23 133.899L263.52 150.775L292.174 159.001L298.488 151.731L295.736 149.767L300.107 145.84L296.761 143.293L301.132 140.002L298.272 137.827Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M163.203 115.856L167.844 137.827L164.876 140.002L169.301 143.293L165.955 145.84L170.326 149.767L167.574 151.731L173.888 159.001L202.542 150.775L222.832 133.899L170.11 95.4242L163.203 115.856Z\",fill:\"#763E1A\",stroke:\"#763E1A\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M292.175 159.001L263.52 150.775L272.154 163.618L259.257 188.402L276.309 188.189H301.78L292.175 159.001Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M202.542 150.775L173.888 159.001L164.336 188.189H189.753L206.805 188.402L193.908 163.618L202.542 150.775Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"path\",{d:\"M241.395 164.998L243.23 133.9L251.54 111.77H214.522L222.832 133.9L224.667 164.998L225.368 174.763L225.422 198.909H240.64L240.694 174.763L241.395 164.998Z\",fill:\"#F5841F\",stroke:\"#F5841F\",\"stroke-width\":\"0.94513\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Kf(\"defs\",null,Kf(\"linearGradient\",{id:\"paint0_linear_1356_14057\",x1:\"335.991\",y1:\"250.487\",x2:\"303.873\",y2:\"266.801\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint1_linear_1356_14057\",x1:\"276.993\",y1:\"303.722\",x2:\"205.254\",y2:\"401.574\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint2_linear_1356_14057\",x1:\"271.074\",y1:\"119.924\",x2:\"553.077\",y2:\"104.53\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint3_linear_1356_14057\",x1:\"264.209\",y1:\"91.0943\",x2:\"357.834\",y2:\"72.8792\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint4_linear_1356_14057\",x1:\"212.46\",y1:\"121.997\",x2:\"92.6119\",y2:\"183.406\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint5_linear_1356_14057\",x1:\"23.0498\",y1:\"204.411\",x2:\"161.86\",y2:\"163.003\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint6_linear_1356_14057\",x1:\"78.8647\",y1:\"240.375\",x2:\"74.9655\",y2:\"241.328\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint7_linear_1356_14057\",x1:\"382.349\",y1:\"181.971\",x2:\"378.45\",y2:\"182.925\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint8_linear_1356_14057\",x1:\"349.889\",y1:\"244.583\",x2:\"345.99\",y2:\"245.537\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint9_linear_1356_14057\",x1:\"142.262\",y1:\"279.808\",x2:\"138.362\",y2:\"280.762\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint10_linear_1356_14057\",x1:\"123.305\",y1:\"99.0746\",x2:\"119.406\",y2:\"100.028\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint11_linear_1356_14057\",x1:\"371.818\",y1:\"156.617\",x2:\"367.919\",y2:\"157.571\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint12_linear_1356_14057\",x1:\"385.281\",y1:\"242.958\",x2:\"381.382\",y2:\"243.911\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint13_linear_1356_14057\",x1:\"367.125\",y1:\"37.5052\",x2:\"360.843\",y2:\"38.8076\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#75C3FC\"})),Kf(\"linearGradient\",{id:\"paint14_linear_1356_14057\",x1:\"300.182\",y1:\"91.321\",x2:\"479.464\",y2:\"104.041\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint15_linear_1356_14057\",x1:\"363.434\",y1:\"201.232\",x2:\"102.977\",y2:\"302.269\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})),Kf(\"linearGradient\",{id:\"paint16_linear_1356_14057\",x1:\"447.962\",y1:\"165.159\",x2:\"313.049\",y2:\"197.95\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint17_linear_1356_14057\",x1:\"410.211\",y1:\"215.859\",x2:\"341.378\",y2:\"232.788\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#75C3FC\"}),Kf(\"stop\",{offset:\"0.0929\",\"stop-color\":\"#81C2F6\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#F0B8BD\"})),Kf(\"linearGradient\",{id:\"paint18_linear_1356_14057\",x1:\"222.282\",y1:\"258.986\",x2:\"162.257\",y2:\"273.774\",gradientUnits:\"userSpaceOnUse\"},Kf(\"stop\",{\"stop-color\":\"#FFE466\"}),Kf(\"stop\",{offset:\"1\",\"stop-color\":\"#FFAFEA\"})))),pg=class{constructor(e){uf(this,e),this.close=Vf(this,\"close\",7),this.connectWithExtension=Vf(this,\"connectWithExtension\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.i18nInstance=new cg,this.setTab(this.preferDesktop?1:2)}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(e=!1){this.close.emit({shouldTerminate:e})}connectWithExtensionHandler(){this.connectWithExtension.emit()}setTab(e){this.tab=e,this.isDefaultTab=!1}disconnectedCallback(){this.onClose()}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.sdkVersion,n=this.isDefaultTab?this.preferDesktop?1:2:this.tab,r=sg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Kf(Lp,{className:\"select-modal\"},Kf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Kf(\"div\",{class:\"modal\"},Kf(\"div\",{class:\"closeButtonContainer\"},Kf(\"div\",{class:\"right\"},Kf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Kf(Kp,null)))),Kf(\"div\",{class:\"logoContainer\"},Kf(jp,null)),Kf(\"div\",null,Kf(\"div\",{class:\"tabcontainer\"},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{onClick:()=>this.setTab(1),class:\"tab flexItem \"+(1===n?\"tabactive\":\"\")},e(\"DESKTOP\")),Kf(\"div\",{onClick:()=>this.setTab(2),class:\"tab flexItem \"+(2===n?\"tabactive\":\"\")},e(\"MOBILE\")))),Kf(\"div\",{style:{display:1===n?\"none\":\"block\"}},Kf(\"div\",{class:\"flexContainer\"},Kf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},Kf(\"div\",{class:\"center\",id:\"sdk-mm-qrcode\",innerHTML:r}),Kf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),Kf(\"br\",null),Kf(\"span\",{class:\"blue\"},Kf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Kf(\"div\",{style:{display:2===n?\"none\":\"block\"}},Kf(\"div\",{style:{display:\"flex\",justifyContent:\"center\",height:\"300\",marginTop:\"-20\"}},Kf(fg,null)),Kf(\"div\",{class:\"extensionLabel\"},e(\"SELECT_MODAL.CRYPTO_TAKE_CONTROL_TEXT\")),Kf(\"button\",{class:\"button\",onClick:()=>this.connectWithExtensionHandler()},Kf(hg,null),Kf(\"span\",{class:\"installExtensionText\"},e(\"CONNECT_WITH_EXTENSION\"))))),Kf(Bp,{version:t})))}get el(){return qf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};pg.style=\".flexContainer {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n    flex-direction: row;\\n}\\n\\n.flexItem {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem11 {\\n    flex: 11;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.flexItem1 {\\n    flex: 1;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.tab {\\n    padding: 8px;\\n    cursor: pointer;\\n    background-color: #F2F4F6;\\n    font-size: 12px;\\n    text-align: center;\\n    color: #24292E;\\n}\\n\\n.tabcontainer {\\n    padding: 4px;\\n    background-color: #F2F4F6;\\n    border-radius: 8px;\\n    margin-bottom: 30px;\\n    margin-top: 30px;\\n}\\n\\n.tabactive {\\n    background-color: white;\\n    -webkit-transition: background-color 300ms linear;\\n    -ms-transition: background-color 300ms linear;\\n    transition: background-color 300ms linear;\\n    border-radius: 8px;\\n}\\n\\n.item {\\n    font-size: 12px;\\n    margin-bottom: 16px;\\n    border-radius: 8px;\\n    padding: 10px;\\n    border: 2px #F2F4F6 solid;\\n    color: #24292E;\\n}\\n\\n.extensionLabel {\\n    font-style: normal;\\n    font-weight: bold;\\n    font-size: 14px;\\n    text-align: cetner;\\n    color: #24272A;\\n}\\n\\n.notice {\\n    font-size: 12px;\\n    margin-left: 10px;\\n    margin-right: 10px;\\n    color: grey;\\n}\\n\\n.button {\\n    margin-top: 41.5px;\\n    margin-bottom: 20px;\\n    width: 100%;\\n    display: flex;\\n    flex-direction: row;\\n    justify-content: center;\\n    align-items: center;\\n    padding: 12px 20px;\\n    background: #037DD6;\\n    border-radius: 32px;\\n    color: white;\\n    border: 0;\\n    font-size: 14px;\\n    cursor: pointer;\\n}\\n\\n.backdrop {\\n    visibility: visible;\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    width: 100%;\\n    z-index: 99998;\\n    background: rgba(0, 0, 0, 0.87);\\n    opacity: 0.3;\\n}\\n\\n.modal {\\n    visibility: visible;\\n    position: fixed;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    z-index: 99999;\\n    background: white;\\n    padding: 20px;\\n    border-radius: 8px;\\n    top: 50%;\\n    max-width: 100%;\\n    width: 460px;\\n    min-width: 300px;\\n    box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n    -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n    color: #BBC0C5;\\n    cursor: pointer;\\n}\\n\\n.logoContainer {\\n    margin-left: 24px;\\n    margin-right: 24px;\\n    margin-top: 24px;\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n}\\n\\n.connectMobileText {\\n    font-size: 14px;\\n    color: black;\\n    margin-top: 28px;\\n    margin-bottom: 28px;\\n    line-height: 2;\\n}\\n\\n.blue {\\n    color: #037DD6;\\n    font-weight: 700;\\n}\\n\\n.installExtensionText {\\n    margin-left: 10px;\\n}\\n\\n.center {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n}\\n\\n.right {\\n    display: flex;\\n    align-items: center;\\n    justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n    svg {\\n        width: 50%;\\n    }\\n}\";var gg=Object.freeze({__proto__:null,mm_install_modal:dg,mm_pending_modal:ug,mm_select_modal:pg});export{$o as CommunicationLayerPreference,vo as ConnectionStatus,ho as DEFAULT_SERVER_URL,bo as EventType,Co as MessageType,tf as MetaMaskSDK,Fu as MetaMaskSDKEvent,uh as PROVIDER_UPDATE_TYPE,Bo as PlatformType,Wu as SDKProvider,tf as default};\n//# sourceMappingURL=metamask-sdk.js.map\n"],"names":["global","F","globalThis","exports","g","e","value","chars","decode","Request","parts","url","fetch","undefined","process","toArray","a","b","c","n","on","v","Promise","reject","ns","l","j","dl","nextTick","event","events","fn","self","al","define","withNativeBlob","withNativeArrayBuffer","isView","lookup","p","isBinary","protocol","k","qs","_a","re","m","t","to","DEFAULT_TRANSPORTS","RESERVED_EVENTS","PacketType","Socket","io","_c","id","ms","Engine","socket","d","u","h","f","r","i","o","s","y","w","E","C","S","_","x","M","A","I","R","K","P","L","O","T","N","D","$","B","U","H","z"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}