{"version":3,"file":"index.cjs","sources":["../node_modules/tslib/tslib.es6.mjs","../src/components/utils/loadFonts.ts","../src/connectors/Connector.ts","../src/connectors/ExtensionConnector.ts","../src/connectors/NWCConnector.ts","../src/connectors/index.ts","../src/utils/dispatchLwcEvent.ts","../src/state/store.ts","../src/components/lwc-element.ts","../node_modules/@twind/core/core.js","../node_modules/@twind/preset-tailwind/baseTheme.js","../node_modules/@twind/preset-tailwind/preflight.js","../node_modules/@twind/preset-tailwind/rules.js","../node_modules/@twind/preset-tailwind/variants.js","../node_modules/@twind/preset-tailwind/_/colors-16fd59b8.js","../node_modules/@twind/preset-tailwind/preset-tailwind.js","../node_modules/@twind/preset-tailwind/base.js","../node_modules/@twind/with-web-components/with-web-components.js","../src/components/twind/withTwind.ts","../src/components/connectors/lwc-connector.ts","../src/components/css/colors.ts","../src/components/icons/puzzleIcon.ts","../src/components/icons/albyIcon.ts","../src/components/connectors/lwc-extension-connector.ts","../src/components/icons/nwcIcon.ts","../src/components/connectors/lwc-alby-nwc-connector.ts","../src/components/connectors/lwc-nwc-connector.ts","../src/components/lwc-connector-list.ts","../src/components/icons/loadingIcon.ts","../src/components/icons/exitIcon.ts","../src/components/css/gradientText.ts","../src/components/lwc-modal-content.ts","../src/components/icons/crossIcon.ts","../src/components/icons/bcLogo.ts","../src/components/lwc-modal.ts","../src/components/icons/lwcIcon.ts","../src/components/icons/satIcon.ts","../src/components/templates/innerBorder.ts","../src/components/icons/lwcConnectedIcon.ts","../src/components/lwc-button.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n  return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose;\n    if (async) {\n        if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n        dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n        if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n        dispose = value[Symbol.dispose];\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  function next() {\n    while (env.stack.length) {\n      var rec = env.stack.pop();\n      try {\n        var result = rec.dispose && rec.dispose.call(rec.value);\n        if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n      }\n      catch (e) {\n          fail(e);\n      }\n    }\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n};\n","let appendedFonts = false;\nexport function loadFonts() {\n  if (appendedFonts) {\n    return;\n  }\n  appendedFonts = true;\n  for (const family of ['Inter', 'Roboto Mono']) {\n    const font = document.createElement('link');\n    font.href = `https://fonts.googleapis.com/css2?family=${family}:wght@400;500;600;700&display=swap`;\n    font.rel = 'stylesheet';\n    document.head.appendChild(font);\n  }\n}\n","import {ConnectorConfig} from '../types/ConnectorConfig';\n\nexport abstract class Connector {\n  protected _config: ConnectorConfig;\n\n  constructor(config: ConnectorConfig) {\n    this._config = config;\n  }\n\n  async init() {\n    if (!window.webln) {\n      throw new Error('window.webln does not exist');\n    }\n    await window.webln.enable();\n  }\n\n  async getBalance() {\n    try {\n      if (!window.webln) {\n        throw new Error('webln not found');\n      }\n      const balanceResponse = await window.webln.getBalance?.();\n      return balanceResponse?.balance;\n    } catch (error) {\n      console.error('Failed to get balance', error);\n    }\n    return undefined;\n  }\n\n  async getAlias() {\n    try {\n      if (!window.webln) {\n        throw new Error('webln not found');\n      }\n      const info = await window.webln.getInfo();\n      return info.node.alias;\n    } catch (error) {\n      console.error('Failed to get alias', error);\n      return undefined;\n    }\n  }\n}\n","import {Connector} from './Connector';\nimport {ConnectorConfig} from '../types/ConnectorConfig';\n\nexport class ExtensionConnector extends Connector {\n  constructor(config: ConnectorConfig) {\n    super(config);\n  }\n\n  override async init() {\n    // FIXME: wait for extension to be loaded (current bug in Alby)\n    await new Promise<void>((resolve) => setTimeout(resolve, 1000));\n    await super.init();\n  }\n}\n","import {webln} from '@getalby/sdk';\nimport {Connector} from './Connector';\nimport {ConnectorConfig} from '../types/ConnectorConfig';\nimport {WebLNProvider} from '@webbtc/webln-types';\n\nexport class NWCConnector extends Connector {\n  constructor(config: ConnectorConfig) {\n    super(config);\n\n    if (!config.nwcUrl) {\n      throw new Error('no nwc URL provided');\n    }\n    const nwc = new webln.NostrWebLNProvider({\n      nostrWalletConnectUrl: config.nwcUrl,\n    });\n\n    // FIXME: typings\n    window.webln = nwc as unknown as WebLNProvider;\n  }\n}\n","import {ExtensionConnector} from './ExtensionConnector';\nimport {NWCConnector} from './NWCConnector';\n\nexport const connectors = {\n  'extension.generic': ExtensionConnector,\n  'nwc.alby': NWCConnector,\n  'nwc.generic': NWCConnector,\n};\n","export function dispatchLwcEvent(\n  type:\n    | 'lwc:connected'\n    | 'lwc:connecting'\n    | 'lwc:disconnected'\n    | 'lwc:modalopened'\n    | 'lwc:modalclosed'\n) {\n  const event = new Event(type, {bubbles: true, composed: true});\n  window.dispatchEvent(event);\n}\n","import {createStore} from 'zustand/vanilla';\nimport {ConnectorConfig} from '../types/ConnectorConfig';\nimport {connectors} from '../connectors';\nimport {dispatchLwcEvent} from '../utils/dispatchLwcEvent';\nimport {Connector} from '../connectors/Connector';\n\ninterface PrivateStore {\n  readonly connector: Connector | undefined;\n  readonly config: ConnectorConfig | undefined;\n  setConfig(config: ConnectorConfig | undefined): void;\n  setConnector(connector: Connector | undefined): void;\n}\n\nconst privateStore = createStore<PrivateStore>((set) => ({\n  connector: undefined,\n  config: undefined,\n  setConfig: (config) => {\n    set({config});\n  },\n  setConnector: (connector) => {\n    set({connector});\n  },\n}));\n\ninterface Store {\n  readonly connected: boolean;\n  readonly connecting: boolean;\n  readonly alias: string | undefined;\n  readonly balance: number | undefined;\n  readonly connectorName: string | undefined;\n\n  connect(config: ConnectorConfig): void;\n  disconnect(): void;\n  setAlias(alias: string | undefined): void;\n  setBalance(balance: number | undefined): void;\n}\n\nconst store = createStore<Store>((set) => ({\n  connected: false,\n  connecting: false,\n  alias: undefined,\n  balance: undefined,\n  connectorName: undefined,\n  connect: async (config: ConnectorConfig) => {\n    dispatchLwcEvent('lwc:connecting');\n    set({\n      connecting: true,\n    });\n    try {\n      const connector = new connectors[config.connectorType](config);\n      await connector.init();\n      const balance = await connector.getBalance();\n      const alias = await connector.getAlias();\n      privateStore.getState().setConfig(config);\n      privateStore.getState().setConnector(connector);\n      set({\n        connected: true,\n        connecting: false,\n        balance,\n        alias,\n        connectorName: config.connectorName,\n      });\n      dispatchLwcEvent('lwc:connected');\n    } catch (error) {\n      console.error(error);\n      set({\n        connecting: false,\n      });\n    }\n    saveConfig(config);\n  },\n  disconnect: () => {\n    privateStore.getState().setConfig(undefined);\n    privateStore.getState().setConnector(undefined);\n    set({\n      connected: false,\n      alias: undefined,\n      balance: undefined,\n      connectorName: undefined,\n    });\n    deleteConfig();\n    dispatchLwcEvent('lwc:disconnected');\n  },\n  setAlias: (alias) => {\n    set({alias});\n  },\n  setBalance: (balance) => {\n    set({balance});\n  },\n  getConnectorName: () => privateStore.getState().config?.connectorName,\n}));\n\nexport default store;\n\nfunction deleteConfig() {\n  window.localStorage.removeItem('lwc:config');\n}\n\nfunction saveConfig(config: ConnectorConfig) {\n  window.localStorage.setItem('lwc:config', JSON.stringify(config));\n}\n\nfunction loadConfig() {\n  const configJson = window.localStorage.getItem('lwc:config');\n  if (configJson) {\n    const config = JSON.parse(configJson) as ConnectorConfig;\n    store.getState().connect(config);\n  }\n}\n\nloadConfig();\n","import {LitElement, css} from 'lit';\nimport {loadFonts} from './utils/loadFonts';\nimport {state} from 'lit/decorators.js';\nimport store from '../state/store';\n\n/**\n * @fires lwc:connected - Indicates a wallet has been connected and window.webln is now available and enabled\n */\nexport class LwcElement extends LitElement {\n  @state()\n  protected _connected = false;\n  @state()\n  protected _connecting = false;\n\n  @state()\n  protected _connectorName: string | undefined = undefined;\n\n  @state()\n  protected _alias: string | undefined = undefined;\n\n  @state()\n  protected _balance: number | undefined = undefined;\n\n  constructor() {\n    super();\n    loadFonts();\n    this._connected = store.getState().connected;\n    this._connecting = store.getState().connecting;\n    this._alias = store.getState().alias;\n    this._balance = store.getState().balance;\n    this._connectorName = store.getState().connectorName;\n\n    // TODO: handle unsubscribe\n    store.subscribe((store) => {\n      this._connected = store.connected;\n      this._connecting = store.connecting;\n      this._alias = store.alias;\n      this._balance = store.balance;\n      this._connectorName = store.connectorName;\n    });\n  }\n\n  override connectedCallback() {\n    super.connectedCallback();\n  }\n\n  // global css reset in shadow DOM\n  static override styles = css`\n    :host {\n      all: initial;\n      font-variant-numeric: slashed-zero;\n    }\n  `;\n}\n","let active;\nfunction toClassName(rule) {\n    return [\n        ...rule.v,\n        (rule.i ? '!' : '') + rule.n\n    ].join(':');\n}\nfunction format(rules, seperator = ',') {\n    return rules.map(toClassName).join(seperator);\n}\n/**\n * @internal\n */ let escape = 'undefined' != typeof CSS && CSS.escape || // Simplified: escaping only special characters\n// Needed for NodeJS and Edge <79 (https://caniuse.com/mdn-api_css_escape)\n((className)=>className.// Simplifed escape testing only for chars that we know happen to be in tailwind directives\n    replace(/[!\"'`*+.,;:\\\\/<=>?@#$%&^|~()[\\]{}]/g, '\\\\$&').// If the character is the first character and is in the range [0-9] (2xl, ...)\n    // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n    replace(/^\\d/, '\\\\3$& '));\n// Based on https://stackoverflow.com/a/52171480\n/**\n * @group Configuration\n * @param value\n * @returns\n */ function hash(value) {\n    // eslint-disable-next-line no-var\n    for(var h = 9, index = value.length; index--;)h = Math.imul(h ^ value.charCodeAt(index), 0x5f356495);\n    return '#' + ((h ^ h >>> 9) >>> 0).toString(36);\n}\n/**\n * @internal\n * @param screen\n * @param prefix\n * @returns\n */ function mql(screen, prefix = '@media ') {\n    return prefix + asArray(screen).map((screen)=>{\n        return 'string' == typeof screen && (screen = {\n            min: screen\n        }), screen.raw || Object.keys(screen).map((feature)=>`(${feature}-width:${screen[feature]})`).join(' and ');\n    }).join(',');\n}\n/**\n * @internal\n * @param value\n * @returns\n */ function asArray(value = []) {\n    return Array.isArray(value) ? value : null == value ? [] : [\n        value\n    ];\n}\n/**\n * @internal\n * @param value\n * @returns\n */ function identity(value) {\n    return value;\n}\n/**\n * @internal\n */ function noop() {}\n// no-op\n// Based on https://github.com/kripod/otion\n// License MIT\n// export const enum Shifts {\n//   darkMode = 30,\n//   layer = 27,\n//   screens = 26,\n//   responsive = 22,\n//   atRules = 18,\n//   variants = 0,\n// }\nlet Layer = {\n    /**\n   * 1. `default` (public)\n   */ d: /* efaults */ 0,\n    /* Shifts.layer */ /**\n   * 2. `base` (public) — for things like reset rules or default styles applied to plain HTML elements.\n   */ b: /* ase */ 134217728,\n    /* Shifts.layer */ /**\n   * 3. `components` (public, used by `style()`) — is for class-based styles that you want to be able to override with utilities.\n   */ c: /* omponents */ 268435456,\n    /* Shifts.layer */ // reserved for style():\n    // - props: 0b011\n    // - when: 0b100\n    /**\n   * 6. `aliases` (public, used by `apply()`) — `~(...)`\n   */ a: /* liases */ 671088640,\n    /* Shifts.layer */ /**\n   * 6. `utilities` (public) — for small, single-purpose classes\n   */ u: /* tilities */ 805306368,\n    /* Shifts.layer */ /**\n   * 7. `overrides` (public, used by `css()`)\n   */ o: /* verrides */ 939524096\n};\n/*\nTo set a bit: n |= mask;\nTo clear a bit: n &= ~mask;\nTo test if a bit is set: (n & mask)\n\nBit shifts for the primary bits:\n\n| bits | trait                                                   | shift |\n| ---- | ------------------------------------------------------- | ----- |\n| 1    | dark mode                                               | 30    |\n| 3    | layer: preflight, global, components, utilities, css    | 27    |\n| 1    | screens: is this a responsive variation of a rule       | 26    |\n| 4    | responsive based on min-width, max-width or width       | 22    |\n| 4    | at-rules                                                | 18    |\n| 18   | pseudo and group variants                               | 0     |\n\nLayer: 0 - 7: 3 bits\n  - defaults: 0 << 27\n  - base: 1 << 27\n  - components: 2 << 27\n  - variants: 3 << 27\n  - joints: 4 << 27\n  - aliases: 5 << 27\n  - utilities: 6 << 27\n  - overrides: 7 << 27\n\nThese are calculated by serialize and added afterwards:\n\n| bits | trait                               |\n| ---- | ----------------------------------- |\n| 4    | number of selectors (descending)    |\n| 4    | number of declarations (descending) |\n| 4    | greatest precedence of properties   |\n\nThese are added by shifting the primary bits using multiplication as js only\nsupports bit shift up to 32 bits.\n*/ // Colon and dash count of string (ascending)\nfunction seperatorPrecedence(string) {\n    return string.match(/[-=:;]/g)?.length || 0;\n}\nfunction atRulePrecedence(css) {\n    // 0 - 15: 4 bits (max 144rem or 2304px)\n    // rem -> bit\n    // <20 ->  0 (<320px)\n    //  20 ->  1 (320px)\n    //  24 ->  2 (384px)\n    //  28 ->  3 (448px)\n    //  32 ->  4 (512px)\n    //  36 ->  5 (576px)\n    //  42 ->  6 (672px)\n    //  48 ->  7 (768px)\n    //  56 ->  8 (896px)\n    //  64 ->  9 (1024px)\n    //  72 -> 10 (1152px)\n    //  80 -> 11 (1280px)\n    //  96 -> 12 (1536px)\n    // 112 -> 13 (1792px)\n    // 128 -> 14 (2048px)\n    // 144 -> 15 (2304px)\n    // https://www.dcode.fr/function-equation-finder\n    return Math.min(/(?:^|width[^\\d]+)(\\d+(?:.\\d+)?)(p)?/.test(css) ? Math.max(0, 29.63 * (+RegExp.$1 / (RegExp.$2 ? 15 : 1)) ** 0.137 - 43) : 0, 15) << 22 | /* Shifts.responsive */ Math.min(seperatorPrecedence(css), 15) << 18;\n}\n/* Shifts.atRules */ // Pesudo variant presedence\n// Chars 3 - 8: Uniquely identifies a pseudo selector\n// represented as a bit set for each relevant value\n// 18 bits: one for each variant plus one for unknown variants\n//\n// ':group-*' variants are normalized to their native pseudo class (':group-hover' -> ':hover')\n// as they already have a higher selector presedence due to the add '.group' ('.group:hover .group-hover:...')\n// Sources:\n// - https://bitsofco.de/when-do-the-hover-focus-and-active-pseudo-classes-apply/#orderofstyleshoverthenfocusthenactive\n// - https://developer.mozilla.org/docs/Web/CSS/:active#Active_links\n// - https://github.com/tailwindlabs/tailwindcss/blob/master/stubs/defaultConfig.stub.js#L931\nlet PRECEDENCES_BY_PSEUDO_CLASS = [\n    /* fi */ 'rst-c',\n    /* hild: 0 */ /* la */ 'st-ch',\n    /* ild: 1 */ // even and odd use: nth-child\n    /* nt */ 'h-chi',\n    /* ld: 2 */ /* an */ 'y-lin',\n    /* k: 3 */ /* li */ 'nk',\n    /* : 4 */ /* vi */ 'sited',\n    /* : 5 */ /* ch */ 'ecked',\n    /* : 6 */ /* em */ 'pty',\n    /* : 7 */ /* re */ 'ad-on',\n    /* ly: 8 */ /* fo */ 'cus-w',\n    /* ithin : 9 */ /* ho */ 'ver',\n    /* : 10 */ /* fo */ 'cus',\n    /* : 11 */ /* fo */ 'cus-v',\n    /* isible : 12 */ /* ac */ 'tive',\n    /* : 13 */ /* di */ 'sable',\n    /* d : 14 */ /* op */ 'tiona',\n    /* l: 15 */ /* re */ 'quire'\n];\n/** The name to use for `&` expansion in selectors. Maybe empty for at-rules like `@import`, `@font-face`, `@media`, ... */ /** The calculated precedence taking all variants into account. */ /** The rulesets (selectors and at-rules). expanded variants `@media ...`, `@supports ...`, `&:focus`, `.dark &` */ /** Is this rule `!important` eg something like `!underline` or `!bg-red-500` or `!red-500` */ function convert({ n: name , i: important , v: variants = []  }, context, precedence, conditions) {\n    name && (name = toClassName({\n        n: name,\n        i: important,\n        v: variants\n    }));\n    conditions = [\n        ...asArray(conditions)\n    ];\n    for (let variant of variants){\n        let screen = context.theme('screens', variant);\n        for (let condition of asArray(screen && mql(screen) || context.v(variant))){\n            var /* d: 16 */ selector;\n            conditions.push(condition);\n            precedence |= screen ? 67108864 | /* Shifts.screens */ atRulePrecedence(condition) : 'dark' == variant ? 1073741824 : /* Shifts.darkMode */ '@' == condition[0] ? atRulePrecedence(condition) : (selector = condition, // use first found pseudo-class\n            1 << ~(/:([a-z-]+)/.test(selector) && ~PRECEDENCES_BY_PSEUDO_CLASS.indexOf(RegExp.$1.slice(2, 7)) || -18));\n        }\n    }\n    return {\n        n: name,\n        p: precedence,\n        r: conditions,\n        i: important\n    };\n}\nlet registry = new Map();\nfunction stringify$1(rule) {\n    if (rule.d) {\n        let groups = [], selector = replaceEach(// merge all conditions into a selector string\n        rule.r.reduce((selector, condition)=>{\n            return '@' == condition[0] ? (groups.push(condition), selector) : // Go over the selector and replace the matching multiple selectors if any\n            condition ? replaceEach(selector, (selectorPart)=>replaceEach(condition, // If the current condition has a nested selector replace it\n                (conditionPart)=>{\n                    let mergeMatch = /(:merge\\(.+?\\))(:[a-z-]+|\\\\[.+])/.exec(conditionPart);\n                    if (mergeMatch) {\n                        let selectorIndex = selectorPart.indexOf(mergeMatch[1]);\n                        return ~selectorIndex ? // [':merge(.group):hover .rule', ':merge(.group):focus &'] -> ':merge(.group):focus:hover .rule'\n                        // ':merge(.group)' + ':focus' + ':hover .rule'\n                        selectorPart.slice(0, selectorIndex) + mergeMatch[0] + selectorPart.slice(selectorIndex + mergeMatch[1].length) : // [':merge(.peer):focus~&', ':merge(.group):hover &'] -> ':merge(.peer):focus~:merge(.group):hover &'\n                        replaceReference(selectorPart, conditionPart);\n                    }\n                    // Return the current selector with the key matching multiple selectors if any\n                    return replaceReference(conditionPart, selectorPart);\n                })) : selector;\n        }, '&'), // replace '&' with rule name or an empty string\n        (selectorPart)=>replaceReference(selectorPart, rule.n ? '.' + escape(rule.n) : ''));\n        return selector && groups.push(selector.replace(/:merge\\((.+?)\\)/g, '$1')), groups.reduceRight((body, grouping)=>grouping + '{' + body + '}', rule.d);\n    }\n}\nfunction replaceEach(selector, iteratee) {\n    return selector.replace(/ *((?:\\(.+?\\)|\\[.+?\\]|[^,])+) *(,|$)/g, (_, selectorPart, comma)=>iteratee(selectorPart) + comma);\n}\nfunction replaceReference(selector, reference) {\n    return selector.replace(/&/g, reference);\n}\nlet collator = new Intl.Collator('en', {\n    numeric: true\n});\n/** The calculated precedence taking all variants into account. */ /* The precedence of the properties within {@link d}. */ /** The name to use for `&` expansion in selectors. Maybe empty for at-rules like `@import`, `@font-face`, `@media`, ... */ /**\n * Find the array index of where to add an element to keep it sorted.\n *\n * @returns The insertion index\n */ function sortedInsertionIndex(array, element) {\n    // Find position using binary search\n    // eslint-disable-next-line no-var\n    for(var low = 0, high = array.length; low < high;){\n        let pivot = high + low >> 1;\n        0 >= compareTwindRules(array[pivot], element) ? low = pivot + 1 : high = pivot;\n    }\n    return high;\n}\nfunction compareTwindRules(a, b) {\n    // base and overrides (css) layers are kept in order they are declared\n    let layer = a.p & Layer.o;\n    return layer == (b.p & Layer.o) && (layer == Layer.b || layer == Layer.o) ? 0 : a.p - b.p || a.o - b.o || collator.compare(byModifier(a.n), byModifier(b.n)) || collator.compare(byName(a.n), byName(b.n));\n}\nfunction byModifier(s) {\n    return (s || '').split(/:/).pop().split('/').pop() || '\\x00';\n}\nfunction byName(s) {\n    return (s || '').replace(/\\W/g, (c)=>String.fromCharCode(127 + c.charCodeAt(0))) + '\\x00';\n}\nfunction parseColorComponent(chars, factor) {\n    return Math.round(parseInt(chars, 16) * factor);\n}\n/**\n * @internal\n * @param color\n * @param options\n * @returns\n */ function toColorValue(color, options = {}) {\n    if ('function' == typeof color) return color(options);\n    let { opacityValue ='1' , opacityVariable  } = options, opacity = opacityVariable ? `var(${opacityVariable})` : opacityValue;\n    if (color.includes('<alpha-value>')) return color.replace('<alpha-value>', opacity);\n    // rgb hex: #0123 and #001122\n    if ('#' == color[0] && (4 == color.length || 7 == color.length)) {\n        let size = (color.length - 1) / 3, factor = [\n            17,\n            1,\n            0.062272\n        ][size - 1];\n        return `rgba(${[\n            parseColorComponent(color.substr(1, size), factor),\n            parseColorComponent(color.substr(1 + size, size), factor),\n            parseColorComponent(color.substr(1 + 2 * size, size), factor),\n            opacity\n        ]})`;\n    }\n    return '1' == opacity ? color : '0' == opacity ? '#0000' : // convert rgb and hsl to alpha variant\n    color.replace(/^(rgb|hsl)(\\([^)]+)\\)$/, `$1a$2,${opacity})`);\n}\n/**\n * Looks for a matching dark color within a [tailwind color palette](https://tailwindcss.com/docs/customizing-colors) (`50`, `100`, `200`, ..., `800`, `900`).\n *\n * ```js\n * defineConfig({\n *   darkColor: autoDarkColor,\n * })\n * ```\n *\n * **Note**: Does not work for arbitrary values like `[theme(colors.gray.500)]` or `[theme(colors.gray.500, #ccc)]`.\n *\n * @group Configuration\n * @param section within theme to use\n * @param key of the light color or an arbitrary value\n * @param context to use\n * @returns the dark color if found\n */ function autoDarkColor(section, key, { theme  }) {\n    return theme(section, // 50 -> 900, 100 -> 800, ..., 800 -> 100, 900 -> 50\n    // key: gray-50, gray.50\n    key = key.replace(/\\d+$/, (shade)=>// ~~(parseInt(shade, 10) / 100): 50 -> 0, 900 -> 9\n        100 * // (9 - 0) -> 900, (9 - 9) -> 50\n        (9 - ~~(parseInt(shade, 10) / 100) || 0.5)));\n}\nfunction serialize(style, rule, context, precedence, conditions = []) {\n    return function serialize$(style, { n: name , p: precedence , r: conditions = [] , i: important  }, context) {\n        let rules = [], // The generated declaration block eg body of the css rule\n        declarations = '', // This ensures that 'border-top-width' has a higher precedence than 'border-top'\n        maxPropertyPrecedence = 0, // More specific utilities have less declarations and a higher precedence\n        numberOfDeclarations = 0;\n        for(let key in style || {}){\n            var layer, // https://github.com/kripod/otion/blob/main/packages/otion/src/propertyMatchers.ts\n            // \"+1\": [\n            // \t/* ^border-.*(w|c|sty) */\n            // \t\"border-.*(width,color,style)\",\n            // \t/* ^[tlbr].{2,4}m?$ */\n            // \t\"top\",\n            // \t\"left\",\n            // \t\"bottom\",\n            // \t\"right\",\n            // \t/* ^c.{7}$ */\n            // \t\"continue\",\n            // \t/* ^c.{8}$ */\n            // \t\"container\",\n            // ],\n            // \"-1\": [\n            // \t/* ^[fl].{5}l */\n            // \t\"flex-flow\",\n            // \t\"line-clamp\",\n            // \t/* ^g.{8}$ */\n            // \t\"grid-area\",\n            // \t/* ^pl */\n            // \t\"place-content\",\n            // \t\"place-items\",\n            // \t\"place-self\",\n            // ],\n            // group: 1 => +1\n            // group: 2 => -1\n            // 0 - 15 => 4 bits\n            // Ignore vendor prefixed and custom properties\n            property;\n            let value = style[key];\n            if ('@' == key[0]) {\n                // at rules: https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule\n                if (!value) continue;\n                // @apply ...;\n                if ('a' == key[1]) {\n                    rules.push(...translateWith(name, precedence, parse('' + value), context, precedence, conditions, important, true));\n                    continue;\n                }\n                // @layer <layer>\n                if ('l' == key[1]) {\n                    for (let css of asArray(value))rules.push(...serialize$(css, {\n                        n: name,\n                        p: (layer = Layer[key[7]], // Set layer (first reset, than set)\n                        precedence & ~Layer.o | layer),\n                        r: 'd' == key[7] ? [] : conditions,\n                        i: important\n                    }, context));\n                    continue;\n                }\n                // @import\n                if ('i' == key[1]) {\n                    rules.push(...asArray(value).map((value)=>({\n                            // before all layers\n                            p: -1,\n                            o: 0,\n                            r: [],\n                            d: key + ' ' + value\n                        })));\n                    continue;\n                }\n                // @keyframes\n                if ('k' == key[1]) {\n                    // Use defaults layer\n                    rules.push({\n                        p: Layer.d,\n                        o: 0,\n                        r: [\n                            key\n                        ],\n                        d: serialize$(value, {\n                            p: Layer.d\n                        }, context).map(stringify$1).join('')\n                    });\n                    continue;\n                }\n                // @font-face\n                // TODO @font-feature-values\n                if ('f' == key[1]) {\n                    // Use defaults layer\n                    rules.push(...asArray(value).map((value)=>({\n                            p: Layer.d,\n                            o: 0,\n                            r: [\n                                key\n                            ],\n                            d: serialize$(value, {\n                                p: Layer.d\n                            }, context).map(stringify$1).join('')\n                        })));\n                    continue;\n                }\n            }\n            // -> All other are handled below; same as selector\n            // @media\n            // @supports\n            // selector\n            if ('object' != typeof value || Array.isArray(value)) {\n                if ('label' == key && value) name = value + hash(JSON.stringify([\n                    precedence,\n                    important,\n                    style\n                ]));\n                else if (value || 0 === value) {\n                    // property -> hyphenate\n                    key = key.replace(/[A-Z]/g, (_)=>'-' + _.toLowerCase());\n                    // Update precedence\n                    numberOfDeclarations += 1;\n                    maxPropertyPrecedence = Math.max(maxPropertyPrecedence, '-' == (property = key)[0] ? 0 : seperatorPrecedence(property) + (/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7,8}$)|([fl].{5}l|g.{8}$|pl))/.test(property) ? +!!RegExp.$1 || /* +1 */ -!!RegExp.$2 : /* -1 */ 0) + 1);\n                    declarations += (declarations ? ';' : '') + asArray(value).map((value)=>context.s(key, // support theme(...) function in values\n                        // calc(100vh - theme('spacing.12'))\n                        resolveThemeFunction('' + value, context.theme) + (important ? ' !important' : ''))).join(';');\n                }\n            } else // at-rule or non-global selector\n            if ('@' == key[0] || key.includes('&')) {\n                let rulePrecedence = precedence;\n                if ('@' == key[0]) {\n                    // Handle `@media screen(sm)` and `@media (screen(sm) or ...)`\n                    key = key.replace(/\\bscreen\\(([^)]+)\\)/g, (_, screenKey)=>{\n                        let screen = context.theme('screens', screenKey);\n                        return screen ? (rulePrecedence |= 67108864, /* Shifts.screens */ mql(screen, '')) : _;\n                    });\n                    rulePrecedence |= atRulePrecedence(key);\n                }\n                rules.push(...serialize$(value, {\n                    n: name,\n                    p: rulePrecedence,\n                    r: [\n                        ...conditions,\n                        key\n                    ],\n                    i: important\n                }, context));\n            } else // global selector\n            rules.push(...serialize$(value, {\n                p: precedence,\n                r: [\n                    ...conditions,\n                    key\n                ]\n            }, context));\n        }\n        return(// PERF: prevent unshift using `rules = [{}]` above and then `rules[0] = {...}`\n        rules.unshift({\n            n: name,\n            p: precedence,\n            o: // number of declarations (descending)\n            Math.max(0, 15 - numberOfDeclarations) + // greatest precedence of properties\n            // if there is no property precedence this is most likely a custom property only declaration\n            // these have the highest precedence\n            1.5 * Math.min(maxPropertyPrecedence || 15, 15),\n            r: conditions,\n            // stringified declarations\n            d: declarations\n        }), rules.sort(compareTwindRules));\n    }(style, convert(rule, context, precedence, conditions), context);\n}\nfunction resolveThemeFunction(value, theme) {\n    // support theme(...) function in values\n    // calc(100vh - theme('spacing.12'))\n    // theme('borderColor.DEFAULT', 'currentColor')\n    // PERF: check for theme before running the regexp\n    // if (value.includes('theme')) {\n    return value.replace(/theme\\(([\"'`])?(.+?)\\1(?:\\s*,\\s*([\"'`])?(.+?)\\3)?\\)/g, (_, __, key, ___, defaultValue = '')=>{\n        let value = theme(key, defaultValue);\n        return 'function' == typeof value && /color|fill|stroke/i.test(key) ? toColorValue(value) : '' + asArray(value).filter((v)=>Object(v) !== v);\n    });\n}\n// }\n// return value\nfunction merge(rules, name) {\n    let current;\n    // merge:\n    // - same conditions\n    // - replace name with hash of name + condititions + declarations\n    // - precedence:\n    //   - combine bits or use max precendence\n    //   - set layer bit to merged\n    let result = [];\n    for (let rule of rules)// only merge rules with declarations and names (eg no global rules)\n    if (rule.d && rule.n) {\n        if (current?.p == rule.p && '' + current.r == '' + rule.r) {\n            current.c = [\n                current.c,\n                rule.c\n            ].filter(Boolean).join(' ');\n            current.d = current.d + ';' + rule.d;\n        } else // only set name for named rules eg not for global or className propagation rules\n        result.push(current = {\n            ...rule,\n            n: rule.n && name\n        });\n    } else result.push({\n        ...rule,\n        n: rule.n && name\n    });\n    return result;\n}\nfunction translate(rules, context, precedence = Layer.u, conditions, important) {\n    // Sorted by precedence\n    let result = [];\n    for (let rule of rules)for (let cssRule of function(rule, context, precedence, conditions, important) {\n        rule = {\n            ...rule,\n            i: rule.i || important\n        };\n        let resolved = function(rule, context) {\n            let factory = registry.get(rule.n);\n            return factory ? factory(rule, context) : context.r(rule.n, 'dark' == rule.v[0]);\n        }(rule, context);\n        return resolved ? // a list of class names\n        'string' == typeof resolved ? ({ r: conditions , p: precedence  } = convert(rule, context, precedence, conditions), merge(translate(parse(resolved), context, precedence, conditions, rule.i), rule.n)) : Array.isArray(resolved) ? resolved.map((rule)=>{\n            var /* Shifts.layer */ /*\nTo have a predictable styling the styles must be ordered.\n\nThis order is represented by a precedence number. The lower values\nare inserted before higher values. Meaning higher precedence styles\noverwrite lower precedence styles.\n\nEach rule has some traits that are put into a bit set which form\nthe precedence:\n\n| bits | trait                                                |\n| ---- | ---------------------------------------------------- |\n| 1    | dark mode                                            |\n| 2    | layer: preflight, global, components, utilities, css |\n| 1    | screens: is this a responsive variation of a rule    |\n| 5    | responsive based on min-width                        |\n| 4    | at-rules                                             |\n| 18   | pseudo and group variants                            |\n| 4    | number of declarations (descending)                  |\n| 4    | greatest precedence of properties                    |\n\n**Dark Mode: 1 bit**\n\nFlag for dark mode rules.\n\n**Layer: 3 bits**\n\n- defaults = 0: The preflight styles and any base styles registered by plugins.\n- base = 1: The global styles registered by plugins.\n- components = 2\n- variants = 3\n- compounds = 4\n- aliases = 5\n- utilities = 6: Utility classes and any utility classes registered by plugins.\n- css = 7: Styles generated by css\n\n**Screens: 1 bit**\n\nFlag for screen variants. They may not always have a `min-width` to be detected by _Responsive_ below.\n\n**Responsive: 4 bits**\n\nBased on extracted `min-width` value:\n\n- 576px -> 3\n- 1536px -> 10\n- 36rem -> 3\n- 96rem -> 9\n\n**At-Rules: 4 bits**\n\nBased on the count of special chars (`-:,`) within the at-rule.\n\n**Pseudo and group variants: 18 bits**\n\nEnsures predictable order of pseudo classes.\n\n- https://bitsofco.de/when-do-the-hover-focus-and-active-pseudo-classes-apply/#orderofstyleshoverthenfocusthenactive\n- https://developer.mozilla.org/docs/Web/CSS/:active#Active_links\n- https://github.com/tailwindlabs/tailwindcss/blob/master/stubs/defaultConfig.stub.js#L718\n\n**Number of declarations (descending): 4 bits**\n\nAllows single declaration styles to overwrite styles from multi declaration styles.\n\n**Greatest precedence of properties: 4 bits**\n\nEnsure shorthand properties are inserted before longhand properties; eg longhand override shorthand\n*/ precedence1, layer;\n            return {\n                o: 0,\n                ...rule,\n                r: [\n                    ...asArray(conditions),\n                    ...asArray(rule.r)\n                ],\n                p: (precedence1 = precedence, layer = rule.p ?? precedence, precedence1 & ~Layer.o | layer)\n            };\n        }) : serialize(resolved, rule, context, precedence, conditions) : // propagate className as is\n        [\n            {\n                c: toClassName(rule),\n                p: 0,\n                o: 0,\n                r: []\n            }\n        ];\n    }(rule, context, precedence, conditions, important))result.splice(sortedInsertionIndex(result, cssRule), 0, cssRule);\n    return result;\n}\nfunction translateWith(name, layer, rules, context, precedence, conditions, important, useOrderOfRules) {\n    return merge((useOrderOfRules ? rules.flatMap((rule)=>translate([\n            rule\n        ], context, precedence, conditions, important)) : translate(rules, context, precedence, conditions, important)).map((rule)=>{\n        return(// do not move defaults\n        // move only rules with a name unless they are in the base layer\n        rule.p & Layer.o && (rule.n || layer == Layer.b) ? {\n            ...rule,\n            p: rule.p & ~Layer.o | layer,\n            o: 0\n        } : rule);\n    }), name);\n}\nfunction define(className, layer, rules, useOrderOfRules) {\n    var factory;\n    return factory = (rule, context)=>{\n        let { n: name , p: precedence , r: conditions , i: important  } = convert(rule, context, layer);\n        return rules && translateWith(name, layer, rules, context, precedence, conditions, important, useOrderOfRules);\n    }, registry.set(className, factory), className;\n}\n/**\n   * The utility name including `-` if set, but without `!` and variants\n   */ /**\n   * All variants without trailing colon: `hover`, `after:`, `[...]`\n   */ /**\n   * Something like `!underline` or `!bg-red-500` or `!red-500`\n   */ function createRule(active, current, loc) {\n    if ('(' != active[active.length - 1]) {\n        let variants = [], important = false, negated = false, name = '';\n        for (let value of active)if (!('(' == value || /[~@]$/.test(value))) {\n            if ('!' == value[0]) {\n                value = value.slice(1);\n                important = !important;\n            }\n            if (value.endsWith(':')) {\n                variants['dark:' == value ? 'unshift' : 'push'](value.slice(0, -1));\n                continue;\n            }\n            if ('-' == value[0]) {\n                value = value.slice(1);\n                negated = !negated;\n            }\n            value.endsWith('-') && (value = value.slice(0, -1));\n            value && '&' != value && (name += (name && '-') + value);\n        }\n        if (name) {\n            negated && (name = '-' + name);\n            current[0].push({\n                n: name,\n                v: variants.filter(uniq),\n                i: important\n            });\n        }\n    }\n}\nfunction uniq(value, index, values) {\n    return values.indexOf(value) == index;\n}\nlet cache = new Map();\n/**\n * @internal\n * @param token\n * @returns\n */ function parse(token) {\n    let parsed = cache.get(token);\n    if (!parsed) {\n        // Stack of active groupings (`(`), variants, or nested (`~` or `@`)\n        let active = [], // Stack of current rule list to put new rules in\n        // the first `0` element is the current list\n        current = [\n            []\n        ], startIndex = 0, skip = 0, comment = null, position = 0, // eslint-disable-next-line no-inner-declarations\n        commit = (isRule, endOffset = 0)=>{\n            if (startIndex != position) {\n                active.push(token.slice(startIndex, position + endOffset));\n                isRule && createRule(active, current);\n            }\n            startIndex = position + 1;\n        };\n        for(; position < token.length; position++){\n            let char = token[position];\n            if (skip) '\\\\' != token[position - 1] && (skip += +('[' == char) || -(']' == char));\n            else if ('[' == char) // start to skip\n            skip += 1;\n            else if (comment) {\n                if ('\\\\' != token[position - 1] && comment.test(token.slice(position))) {\n                    comment = null;\n                    startIndex = position + RegExp.lastMatch.length;\n                }\n            } else if ('/' == char && '\\\\' != token[position - 1] && ('*' == token[position + 1] || '/' == token[position + 1])) // multiline or single line comment\n            comment = '*' == token[position + 1] ? /^\\*\\// : /^[\\r\\n]/;\n            else if ('(' == char) {\n                // hover:(...) or utilitity-(...)\n                commit();\n                active.push(char);\n            } else if (':' == char) ':' != token[position + 1] && commit(false, 1);\n            else if (/[\\s,)]/.test(char)) {\n                // whitespace, comma or closing brace\n                commit(true);\n                let lastGroup = active.lastIndexOf('(');\n                if (')' == char) {\n                    // Close nested block\n                    let nested = active[lastGroup - 1];\n                    if (/[~@]$/.test(nested)) {\n                        let rules = current.shift();\n                        active.length = lastGroup;\n                        // remove variants that are already applied through active\n                        createRule([\n                            ...active,\n                            '#'\n                        ], current);\n                        let { v  } = current[0].pop();\n                        for (let rule of rules)// if a rule has dark we need to splice after the first entry eg dark\n                        rule.v.splice(+('dark' == rule.v[0]) - +('dark' == v[0]), v.length);\n                        createRule([\n                            ...active,\n                            define(// named nested\n                            nested.length > 1 ? nested.slice(0, -1) + hash(JSON.stringify([\n                                nested,\n                                rules\n                            ])) : nested + '(' + format(rules) + ')', Layer.a, rules, /@$/.test(nested))\n                        ], current);\n                    }\n                    lastGroup = active.lastIndexOf('(', lastGroup - 1);\n                }\n                active.length = lastGroup + 1;\n            } else /[~@]/.test(char) && '(' == token[position + 1] && // start nested block\n            // ~(...) or button~(...)\n            // @(...) or button@(...)\n            current.unshift([]);\n        }\n        // Consume remaining stack\n        commit(true);\n        cache.set(token, parsed = current[0]);\n    }\n    return parsed;\n}\nfunction interleave(strings, interpolations, handle) {\n    return interpolations.reduce((result, interpolation, index)=>result + handle(interpolation) + strings[index + 1], strings[0]);\n}\n// based on https://github.com/lukeed/clsx and https://github.com/jorgebucaran/classcat\nfunction interpolate(strings, interpolations) {\n    return Array.isArray(strings) && Array.isArray(strings.raw) ? interleave(strings, interpolations, (value)=>toString(value).trim()) : interpolations.filter(Boolean).reduce((result, value)=>result + toString(value), strings ? toString(strings) : '');\n}\nfunction toString(value) {\n    let tmp, result = '';\n    if (value && 'object' == typeof value) {\n        if (Array.isArray(value)) (tmp = interpolate(value[0], value.slice(1))) && (result += ' ' + tmp);\n        else for(let key in value)value[key] && (result += ' ' + key);\n    } else null != value && 'boolean' != typeof value && (result += ' ' + value);\n    return result;\n}\n/**\n * @group Class Name Generators\n */ let apply = /* #__PURE__ */ alias('@'), /**\n * @group Class Name Generators\n */ shortcut = /* #__PURE__ */ alias('~');\nfunction alias(marker) {\n    return new Proxy(function alias(strings, ...interpolations) {\n        return alias$('', strings, interpolations);\n    }, {\n        get (target, name) {\n            return name in target ? target[name] : function namedAlias(strings, ...interpolations) {\n                return alias$(name, strings, interpolations);\n            };\n        }\n    });\n    function alias$(name, strings, interpolations) {\n        return format(parse(name + marker + '(' + interpolate(strings, interpolations) + ')'));\n    }\n}\nfunction astish(strings, interpolations) {\n    return Array.isArray(strings) ? astish$(interleave(strings, interpolations, (interpolation)=>null != interpolation && 'boolean' != typeof interpolation ? interpolation : '')) : 'string' == typeof strings ? astish$(strings) : [\n        strings\n    ];\n}\n// Based on https://github.com/cristianbote/goober/blob/master/src/core/astish.js\nlet newRule = / *(?:(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}))/g;\n/**\n * Convert a css style string into a object\n */ function astish$(css) {\n    let block;\n    css = // Remove comments (multiline and single line)\n    css.replace(/\\/\\*[^]*?\\*\\/|\\s\\s+|\\n/gm, ' ');\n    let tree = [\n        {}\n    ], rules = [\n        tree[0]\n    ], conditions = [];\n    for(; block = newRule.exec(css);){\n        // Remove the current entry\n        if (block[4]) {\n            tree.shift();\n            conditions.shift();\n        }\n        if (block[3]) {\n            // new nested\n            conditions.unshift(block[3]);\n            tree.unshift({});\n            rules.push(conditions.reduce((body, condition)=>({\n                    [condition]: body\n                }), tree[0]));\n        } else if (!block[4]) {\n            // if we already have that property — start a new CSSObject\n            if (tree[0][block[1]]) {\n                tree.unshift({});\n                rules.push(conditions.reduce((body, condition)=>({\n                        [condition]: body\n                    }), tree[0]));\n            }\n            tree[0][block[1]] = block[2];\n        }\n    }\n    // console.log(rules)\n    return rules;\n}\n/**\n * @group Class Name Generators\n * @param strings\n * @param interpolations\n */ function css(strings, ...interpolations) {\n    var factory;\n    let ast = astish(strings, interpolations), className = (ast.find((o)=>o.label)?.label || 'css') + hash(JSON.stringify(ast));\n    return factory = (rule, context)=>merge(ast.flatMap((css)=>serialize(css, rule, context, Layer.o)), className), registry.set(className, factory), className;\n}\n/**\n * @group Class Name Generators\n */ let animation = /* #__PURE__ */ new Proxy(function animation(animation, waypoints) {\n    return animation$('animation', animation, waypoints);\n}, {\n    get (target, name) {\n        return name in target ? target[name] : function namedAnimation(animation, waypoints) {\n            return animation$(name, animation, waypoints);\n        };\n    }\n});\nfunction animation$(label, animation, waypoints) {\n    return {\n        toString () {\n            return css({\n                label,\n                '@layer components': {\n                    ...'object' == typeof animation ? animation : {\n                        animation\n                    },\n                    animationName: '' + waypoints\n                }\n            });\n        }\n    };\n}\n/** The found theme value */ // indirection wrapper to remove autocomplete functions from production bundles\n/**\n * @group Configuration\n * @param pattern\n */ /**\n * @group Configuration\n * @param pattern\n * @param resolver\n */ /**\n * @group Configuration\n * @param pattern\n * @param resolve\n */ // eslint-disable-next-line @typescript-eslint/ban-types\n/**\n * @group Configuration\n * @param pattern\n * @param resolve\n * @param convert\n */ function match(pattern, // eslint-disable-next-line @typescript-eslint/ban-types\nresolve, convert) {\n    return [\n        pattern,\n        fromMatch(resolve, convert)\n    ];\n}\n/**\n * @group Configuration\n * @internal\n * @deprecated Use {@link match} instead.\n */ /**\n * @group Configuration\n * @internal\n * @deprecated Use {@link match} instead.\n */ /**\n * @group Configuration\n * @internal\n * @deprecated Use {@link match} instead.\n */ /**\n * @group Configuration\n * @internal\n * @deprecated Use {@link match} instead.\n */ function fromMatch(resolve, convert) {\n    return 'function' == typeof resolve ? resolve : 'string' == typeof resolve && /^[\\w-]+$/.test(resolve) ? // a CSS property alias\n    (match, context)=>({\n            [resolve]: convert ? convert(match, context) : maybeNegate(match, 1)\n        }) : (match)=>// CSSObject, shortcut or apply\n        resolve || {\n            [match[1]]: maybeNegate(match, 2)\n        };\n}\nfunction maybeNegate(match, offset, value = match.slice(offset).find(Boolean) || match.$$ || match.input) {\n    return '-' == match.input[0] ? `calc(${value} * -1)` : value;\n}\n/**\n * @group Configuration\n * @param pattern\n * @param section\n * @param resolve\n * @param convert\n * @returns\n */ function matchTheme(pattern, /** Theme section to use (default: `$1` — The first matched group) */ section, /** The css property (default: value of {@link section}) */ resolve, convert) {\n    return [\n        pattern,\n        fromTheme(section, resolve, convert)\n    ];\n}\n/**\n * @group Configuration\n * @internal\n * @deprecated Use {@link matchTheme} instead.\n * @param section\n * @param resolve\n * @param convert\n * @returns\n */ function fromTheme(/** Theme section to use (default: `$1` — The first matched group) */ section, /** The css property (default: value of {@link section}) */ resolve, convert) {\n    let factory = 'string' == typeof resolve ? (match, context)=>({\n            [resolve]: convert ? convert(match, context) : match._\n        }) : resolve || (({ 1: $1 , _  }, context, section)=>({\n            [$1 || section]: _\n        }));\n    return (match, context)=>{\n        let themeSection = camelize(section || match[1]), value = context.theme(themeSection, match.$$) ?? arbitrary(match.$$, themeSection, context);\n        if (null != value) return match._ = maybeNegate(match, 0, value), factory(match, context, themeSection);\n    };\n}\n/** Theme section to use (default: `$0.replace('-', 'Color')` — The matched string with `Color` appended) */ /** The css property (default: value of {@link section}) */ /** `--tw-${$0}opacity` -> '--tw-text-opacity' */ /** `section.replace('Color', 'Opacity')` -> 'textOpacity' */ /**\n * @group Configuration\n * @param pattern\n * @param options\n * @param resolve\n * @returns\n */ function matchColor(pattern, options = {}, resolve) {\n    return [\n        pattern,\n        colorFromTheme(options, resolve)\n    ];\n}\n/**\n * @group Configuration\n * @internal\n * @deprecated Use {@link matchColor} instead.\n * @param options\n * @param resolve\n * @returns\n */ function colorFromTheme(options = {}, resolve) {\n    return (match, context)=>{\n        // text- -> textColor\n        // ring-offset(?:-|$) -> ringOffsetColor\n        let { section =camelize(match[0]).replace('-', '') + 'Color'  } = options, // extract color and opacity\n        // rose-500                  -> ['rose-500']\n        // [hsl(0_100%_/_50%)]       -> ['[hsl(0_100%_/_50%)]']\n        // indigo-500/100            -> ['indigo-500', '100']\n        // [hsl(0_100%_/_50%)]/[.25] -> ['[hsl(0_100%_/_50%)]', '[.25]']\n        [colorMatch, opacityMatch] = parseValue(match.$$);\n        if (!colorMatch) return;\n        let colorValue = context.theme(section, colorMatch) || arbitrary(colorMatch, section, context);\n        if (!colorValue || 'object' == typeof colorValue) return;\n        let { // text- -> --tw-text-opacity\n        // ring-offset(?:-|$) -> --tw-ring-offset-opacity\n        // TODO move this default into preset-tailwind?\n        opacityVariable =`--tw-${match[0].replace(/-$/, '')}-opacity` , opacitySection =section.replace('Color', 'Opacity') , property =section , selector  } = options, opacityValue = context.theme(opacitySection, opacityMatch || 'DEFAULT') || opacityMatch && arbitrary(opacityMatch, opacitySection, context), // if (typeof color != 'string') {\n        //   console.warn(`Invalid color ${colorMatch} (from ${match.input}):`, color)\n        //   return\n        // }\n        create = resolve || (({ _  })=>{\n            let properties = toCSS(property, _);\n            return selector ? {\n                [selector]: properties\n            } : properties;\n        });\n        match._ = {\n            value: toColorValue(colorValue, {\n                opacityVariable: opacityVariable || void 0,\n                opacityValue: opacityValue || void 0\n            }),\n            color: (options)=>toColorValue(colorValue, options),\n            opacityVariable: opacityVariable || void 0,\n            opacityValue: opacityValue || void 0\n        };\n        let properties = create(match, context);\n        // auto support dark mode colors\n        if (!match.dark) {\n            let darkColorValue = context.d(section, colorMatch, colorValue);\n            if (darkColorValue && darkColorValue !== colorValue) {\n                match._ = {\n                    value: toColorValue(darkColorValue, {\n                        opacityVariable: opacityVariable || void 0,\n                        opacityValue: opacityValue || '1'\n                    }),\n                    color: (options)=>toColorValue(darkColorValue, options),\n                    opacityVariable: opacityVariable || void 0,\n                    opacityValue: opacityValue || void 0\n                };\n                properties = {\n                    '&': properties,\n                    [context.v('dark')]: create(match, context)\n                };\n            }\n        }\n        return properties;\n    };\n}\n/**\n * @internal\n * @param input\n */ function parseValue(input) {\n    // extract color and opacity\n    // rose-500                  -> ['rose-500']\n    // [hsl(0_100%_/_50%)]       -> ['[hsl(0_100%_/_50%)]']\n    // indigo-500/100            -> ['indigo-500', '100']\n    // [hsl(0_100%_/_50%)]/[.25] -> ['[hsl(0_100%_/_50%)]', '[.25]']\n    return (input.match(/^(\\[[^\\]]+]|[^/]+?)(?:\\/(.+))?$/) || []).slice(1);\n}\n/**\n * @internal\n * @param property\n * @param value\n * @returns\n */ function toCSS(property, value) {\n    let properties = {};\n    if ('string' == typeof value) properties[property] = value;\n    else {\n        value.opacityVariable && value.value.includes(value.opacityVariable) && (properties[value.opacityVariable] = value.opacityValue || '1');\n        properties[property] = value.value;\n    }\n    return properties;\n}\n/**\n * @internal\n * @param value\n * @param section\n * @param context\n * @returns\n */ function arbitrary(value, section, context) {\n    if ('[' == value[0] && ']' == value.slice(-1)) {\n        value = normalize(resolveThemeFunction(value.slice(1, -1), context.theme));\n        if (!section) return value;\n        if (// Respect type hints from the user on ambiguous arbitrary values - https://tailwindcss.com/docs/adding-custom-styles#resolving-ambiguities\n        !// If this is a color section and the value is a hex color, color function or color name\n        (/color|fill|stroke/i.test(section) && !(/^color:/.test(value) || /^(#|((hsl|rgb)a?|hwb|lab|lch|color)\\(|[a-z]+$)/.test(value)) || // url(, [a-z]-gradient(, image(, cross-fade(, image-set(\n        /image/i.test(section) && !(/^image:/.test(value) || /^[a-z-]+\\(/.test(value)) || // font-*\n        // - fontWeight (type: ['lookup', 'number', 'any'])\n        // - fontFamily (type: ['lookup', 'generic-name', 'family-name'])\n        /weight/i.test(section) && !(/^(number|any):/.test(value) || /^\\d+$/.test(value)) || // bg-*\n        // - backgroundPosition (type: ['lookup', ['position', { preferOnConflict: true }]])\n        // - backgroundSize (type: ['lookup', 'length', 'percentage', 'size'])\n        /position/i.test(section) && /^(length|size):/.test(value))) // remove arbitrary type prefix — we do not need it but user may use it\n        // https://github.com/tailwindlabs/tailwindcss/blob/master/src/util/dataTypes.js\n        // url, number, percentage, length, line-width, shadow, color, image, gradient, position, family-name, lookup, any, generic-name, absolute-size, relative-size\n        return value.replace(/^[a-z-]+:/, '');\n    }\n}\nfunction camelize(value) {\n    return value.replace(/-./g, (x)=>x[1].toUpperCase());\n}\n/**\n * @internal\n * @param value\n * @returns\n */ function normalize(value) {\n    return(// Keep raw strings if it starts with `url(`\n    value.includes('url(') ? value.replace(/(.*?)(url\\(.*?\\))(.*?)/g, (_, before = '', url, after = '')=>normalize(before) + url + normalize(after)) : value.// Convert `_` to ` `, except for escaped underscores `\\_`\n    replace(/(^|[^\\\\])_+/g, (fullMatch, characterBefore)=>characterBefore + ' '.repeat(fullMatch.length - characterBefore.length)).replace(/\\\\_/g, '_').// Add spaces around operators inside math functions like calc() that do not follow an operator\n    // or '('.\n    replace(/(calc|min|max|clamp)\\(.+\\)/g, (match)=>match.replace(/(-?\\d*\\.?\\d(?!\\b-.+[,)](?![^+\\-/*])\\D)(?:%|[a-z]+)?|\\))([+\\-/*])/g, '$1 $2 ')));\n}\n/** Allows to resolve theme values. */ let kAutocomplete = /* #__PURE__ */ Symbol();\n/**\n * @experimental\n * @group Configuration\n * @param resolver\n * @param autocomplete\n */ function withAutocomplete(rule, autocomplete) {\n    return rule;\n}\n/**\n * @internal\n * @param resolver\n * @returns\n */ function getAutocompleteProvider(resolver) {\n    return resolver[kAutocomplete];\n}\n/**\n * Constructs `class` strings conditionally.\n *\n * Twinds version of popular libraries like [classnames](https://github.com/JedWatson/classnames) or [clsx](https://github.com/lukeed/clsx).\n * The key advantage of `cx` is that it supports twinds enhanced class name syntax like grouping and aliases.\n *\n * @group Class Name Generators\n * @param strings\n * @param interpolations\n * @returns\n */ /**\n * Constructs `class` strings conditionally.\n *\n * Twinds version of popular libraries like [classnames](https://github.com/JedWatson/classnames) or [clsx](https://github.com/lukeed/clsx).\n * The key advantage of `cx` is that it supports twinds enhanced class name syntax like grouping and aliases.\n *\n * @group Class Name Generators\n * @param input\n */ function cx(strings, ...interpolations) {\n    return format(parse(interpolate(strings, interpolations)), ' ');\n}\n/**\n * @group Configuration\n * @param param0\n * @returns\n */ function defineConfig({ presets =[] , ...userConfig }) {\n    // most user config values go first to have precendence over preset config\n    // only `preflight` and `theme` are applied as last preset to override all presets\n    let config = {\n        darkMode: void 0,\n        darkColor: void 0,\n        preflight: false !== userConfig.preflight && [],\n        theme: {},\n        variants: asArray(userConfig.variants),\n        rules: asArray(userConfig.rules),\n        ignorelist: asArray(userConfig.ignorelist),\n        hash: void 0,\n        stringify: (property, value)=>property + ':' + value,\n        finalize: []\n    };\n    for (let preset of asArray([\n        ...presets,\n        {\n            darkMode: userConfig.darkMode,\n            darkColor: userConfig.darkColor,\n            preflight: false !== userConfig.preflight && asArray(userConfig.preflight),\n            theme: userConfig.theme,\n            hash: userConfig.hash,\n            stringify: userConfig.stringify,\n            finalize: userConfig.finalize\n        }\n    ])){\n        let { preflight , darkMode =config.darkMode , darkColor =config.darkColor , theme , variants , rules , ignorelist , hash =config.hash , stringify =config.stringify , finalize  } = 'function' == typeof preset ? preset(config) : preset;\n        config = {\n            // values defined by user or previous presets take precedence\n            preflight: false !== config.preflight && false !== preflight && [\n                ...config.preflight,\n                ...asArray(preflight)\n            ],\n            darkMode,\n            darkColor,\n            theme: {\n                ...config.theme,\n                ...theme,\n                extend: {\n                    ...config.theme.extend,\n                    ...theme?.extend\n                }\n            },\n            variants: [\n                ...config.variants,\n                ...asArray(variants)\n            ],\n            rules: [\n                ...config.rules,\n                ...asArray(rules)\n            ],\n            ignorelist: [\n                ...config.ignorelist,\n                ...asArray(ignorelist)\n            ],\n            hash,\n            stringify,\n            finalize: [\n                ...config.finalize,\n                ...asArray(finalize)\n            ]\n        };\n    }\n    return config;\n}\nfunction find(value, list, cache, getResolver, context, isDark) {\n    for (let item of list){\n        let resolver = cache.get(item);\n        resolver || cache.set(item, resolver = getResolver(item));\n        let resolved = resolver(value, context, isDark);\n        if (resolved) return resolved;\n    }\n}\nfunction getVariantResolver(variant) {\n    var resolve;\n    return createResolve(variant[0], 'function' == typeof (resolve = variant[1]) ? resolve : ()=>resolve);\n}\nfunction getRuleResolver(rule) {\n    var resolve, convert;\n    return Array.isArray(rule) ? createResolve(rule[0], fromMatch(rule[1], rule[2])) : createResolve(rule, fromMatch(resolve, convert));\n}\nfunction createResolve(patterns, resolve) {\n    return createRegExpExecutor(patterns, (value, condition, context, isDark)=>{\n        let match = condition.exec(value);\n        if (match) return(// MATCH.$_ = value\n        match.$$ = value.slice(match[0].length), match.dark = isDark, resolve(match, context));\n    });\n}\nfunction createRegExpExecutor(patterns, run) {\n    let conditions = asArray(patterns).map(toCondition);\n    return (value, context, isDark)=>{\n        for (let condition of conditions){\n            let result = run(value, condition, context, isDark);\n            if (result) return result;\n        }\n    };\n}\nfunction toCondition(value) {\n    // \"visible\" -> /^visible$/\n    // \"(float)-(left|right|none)\" -> /^(float)-(left|right|none)$/\n    // \"auto-rows-\" -> /^auto-rows-/\n    // \"gap(-|$)\" -> /^gap(-|$)/\n    return 'string' == typeof value ? RegExp('^' + value + (value.includes('$') || '-' == value.slice(-1) ? '' : '$')) : value;\n}\n/**\n * @group Runtime\n * @param config\n * @param sheet\n */ function twind(userConfig, sheet) {\n    let config = defineConfig(userConfig), context = function({ theme , darkMode , darkColor =noop , variants , rules , hash: hash$1 , stringify , ignorelist , finalize  }) {\n        // Used to cache resolved rule values\n        let variantCache = new Map(), // lazy created resolve functions\n        variantResolvers = new Map(), // Used to cache resolved rule values\n        ruleCache = new Map(), // lazy created resolve functions\n        ruleResolvers = new Map(), ignored = createRegExpExecutor(ignorelist, (value, condition)=>condition.test(value));\n        // add dark as last variant to allow user to override it\n        // we can modify variants as it has been passed through defineConfig which already made a copy\n        variants.push([\n            'dark',\n            Array.isArray(darkMode) || 'class' == darkMode ? `${asArray(darkMode)[1] || '.dark'} &` : 'string' == typeof darkMode && 'media' != darkMode ? darkMode : // a custom selector\n            '@media (prefers-color-scheme:dark)'\n        ]);\n        let h = 'function' == typeof hash$1 ? (value)=>hash$1(value, hash) : hash$1 ? hash : identity;\n        h !== identity && finalize.push((rule)=>({\n                ...rule,\n                n: rule.n && h(rule.n),\n                d: rule.d?.replace(/--(tw(?:-[\\w-]+)?)\\b/g, (_, property)=>'--' + h(property).replace('#', ''))\n            }));\n        let ctx = {\n            theme: function({ extend ={} , ...base }) {\n                let resolved = {}, resolveContext = {\n                    get colors () {\n                        return theme('colors');\n                    },\n                    theme,\n                    // Stub implementation as negated values are automatically infered and do _not_ need to be in the theme\n                    negative () {\n                        return {};\n                    },\n                    breakpoints (screens) {\n                        let breakpoints = {};\n                        for(let key in screens)'string' == typeof screens[key] && (breakpoints['screen-' + key] = screens[key]);\n                        return breakpoints;\n                    }\n                };\n                return theme;\n                function theme(sectionKey, key, defaultValue, opacityValue) {\n                    if (sectionKey) {\n                        ({ 1: sectionKey , 2: opacityValue  } = // eslint-disable-next-line no-sparse-arrays\n                        /^(\\S+?)(?:\\s*\\/\\s*([^/]+))?$/.exec(sectionKey) || [\n                            ,\n                            sectionKey\n                        ]);\n                        if (/[.[]/.test(sectionKey)) {\n                            let path = [];\n                            // dotted deep access: colors.gray.500 or spacing[2.5]\n                            sectionKey.replace(/\\[([^\\]]+)\\]|([^.[]+)/g, (_, $1, $2 = $1)=>path.push($2));\n                            sectionKey = path.shift();\n                            defaultValue = key;\n                            key = path.join('-');\n                        }\n                        let section = resolved[sectionKey] || // two-step deref to allow extend section to reference base section\n                        Object.assign(Object.assign(// Make sure to not get into recursive calls\n                        resolved[sectionKey] = {}, deref(base, sectionKey)), deref(extend, sectionKey));\n                        if (null == key) return section;\n                        key || (key = 'DEFAULT');\n                        let value = section[key] ?? key.split('-').reduce((obj, prop)=>obj?.[prop], section) ?? defaultValue;\n                        return opacityValue ? toColorValue(value, {\n                            opacityValue: resolveThemeFunction(opacityValue, theme)\n                        }) : value;\n                    }\n                    // Collect the whole theme\n                    let result = {};\n                    for (let section1 of [\n                        ...Object.keys(base),\n                        ...Object.keys(extend)\n                    ])result[section1] = theme(section1);\n                    return result;\n                }\n                function deref(source, section) {\n                    let value = source[section];\n                    return ('function' == typeof value && (value = value(resolveContext)), value && /color|fill|stroke/i.test(section)) ? function flattenColorPalette(colors, path = []) {\n                        let flattend = {};\n                        for(let key in colors){\n                            let value = colors[key], keyPath = [\n                                ...path,\n                                key\n                            ];\n                            flattend[keyPath.join('-')] = value;\n                            if ('DEFAULT' == key) {\n                                keyPath = path;\n                                flattend[path.join('-')] = value;\n                            }\n                            'object' == typeof value && Object.assign(flattend, flattenColorPalette(value, keyPath));\n                        }\n                        return flattend;\n                    }(value) : value;\n                }\n            }(theme),\n            e: escape,\n            h,\n            s (property, value) {\n                return stringify(property, value, ctx);\n            },\n            d (section, key, color) {\n                return darkColor(section, key, ctx, color);\n            },\n            v (value) {\n                return variantCache.has(value) || variantCache.set(value, find(value, variants, variantResolvers, getVariantResolver, ctx) || '&:' + value), variantCache.get(value);\n            },\n            r (className, isDark) {\n                let key = JSON.stringify([\n                    className,\n                    isDark\n                ]);\n                return ruleCache.has(key) || ruleCache.set(key, !ignored(className, ctx) && find(className, rules, ruleResolvers, getRuleResolver, ctx, isDark)), ruleCache.get(key);\n            },\n            f (rule) {\n                return finalize.reduce((rule, p)=>p(rule, ctx), rule);\n            }\n        };\n        return ctx;\n    }(config), // Map of tokens to generated className\n    cache = new Map(), // An array of precedence by index within the sheet\n    // always sorted\n    sortedPrecedences = [], // Cache for already inserted css rules\n    // to prevent double insertions\n    insertedRules = new Set();\n    sheet.resume((className)=>cache.set(className, className), (cssText, rule)=>{\n        sheet.insert(cssText, sortedPrecedences.length, rule);\n        sortedPrecedences.push(rule);\n        insertedRules.add(cssText);\n    });\n    function insert(rule) {\n        let finalRule = context.f(rule), cssText = stringify$1(finalRule);\n        // If not already inserted\n        if (cssText && !insertedRules.has(cssText)) {\n            // Mark rule as inserted\n            insertedRules.add(cssText);\n            // Find the correct position\n            let index = sortedInsertionIndex(sortedPrecedences, rule);\n            // Insert\n            sheet.insert(cssText, index, rule);\n            // Update sorted index\n            sortedPrecedences.splice(index, 0, rule);\n        }\n        return finalRule.n;\n    }\n    return Object.defineProperties(function tw(tokens) {\n        if (!cache.size) for (let preflight of asArray(config.preflight)){\n            'function' == typeof preflight && (preflight = preflight(context));\n            preflight && ('string' == typeof preflight ? translateWith('', Layer.b, parse(preflight), context, Layer.b, [], false, true) : serialize(preflight, {}, context, Layer.b)).forEach(insert);\n        }\n        tokens = '' + tokens;\n        let className = cache.get(tokens);\n        if (!className) {\n            let classNames = new Set();\n            for (let rule of translate(parse(tokens), context))classNames.add(rule.c).add(insert(rule));\n            className = [\n                ...classNames\n            ].filter(Boolean).join(' ');\n            // Remember the generated class name\n            cache.set(tokens, className).set(className, className);\n        }\n        return className;\n    }, Object.getOwnPropertyDescriptors({\n        get target () {\n            return sheet.target;\n        },\n        theme: context.theme,\n        config,\n        snapshot () {\n            let restoreSheet = sheet.snapshot(), insertedRules$ = new Set(insertedRules), cache$ = new Map(cache), sortedPrecedences$ = [\n                ...sortedPrecedences\n            ];\n            return ()=>{\n                restoreSheet();\n                insertedRules = insertedRules$;\n                cache = cache$;\n                sortedPrecedences = sortedPrecedences$;\n            };\n        },\n        clear () {\n            sheet.clear();\n            insertedRules = new Set();\n            cache = new Map();\n            sortedPrecedences = [];\n        },\n        destroy () {\n            this.clear();\n            sheet.destroy();\n        }\n    }));\n}\n/**\n * Determines if two class name strings contain the same classes.\n *\n * @param a first class names\n * @param b second class names\n * @returns are they different\n */ function changed(a, b) {\n    return a != b && '' + a.split(' ').sort() != '' + b.split(' ').sort();\n}\n/**\n * @group Runtime\n * @param tw\n * @param target\n * @returns\n * @internal\n */ function mo(tw) {\n    let observer = new MutationObserver(handleMutationRecords);\n    return {\n        observe (target) {\n            observer.observe(target, {\n                attributeFilter: [\n                    'class'\n                ],\n                subtree: true,\n                childList: true\n            });\n            // handle class attribute on target\n            handleClassAttributeChange(target);\n            // handle children of target\n            handleMutationRecords([\n                {\n                    target,\n                    type: ''\n                }\n            ]);\n        },\n        disconnect () {\n            observer.disconnect();\n        }\n    };\n    function handleMutationRecords(records) {\n        for (let { type , target  } of records)if ('a' == type[0]) /* attribute */ // class attribute has been changed\n        handleClassAttributeChange(target);\n        else /* childList */ // some nodes have been added — find all with a class attribute\n        for (let el of target.querySelectorAll('[class]'))handleClassAttributeChange(el);\n        // remove pending mutations — these are triggered by updating the class attributes\n        observer.takeRecords();\n    }\n    // XXX maybe we need to handle all pending mutations\n    // observer.takeRecords().forEach(handleMutation)\n    function handleClassAttributeChange(target) {\n        let className;\n        // Not using target.classList.value (not supported in all browsers) or target.class (this is an SVGAnimatedString for svg)\n        // safe guard access to getAttribute because ShadowRoot does not have attribute but child nodes\n        let tokens = target.getAttribute?.('class');\n        tokens && changed(tokens, className = tw(tokens)) && // Not using `target.className = ...` as that is read-only for SVGElements\n        target.setAttribute('class', className);\n    }\n}\n/**\n * @group Runtime\n * @param tw\n * @param target\n * @returns\n */ function observe(tw$1 = tw, target = 'undefined' != typeof document && document.documentElement) {\n    if (target) {\n        let observer = mo(tw$1);\n        observer.observe(target);\n        // monkey patch tw.destroy to disconnect this observer\n        // eslint-disable-next-line @typescript-eslint/unbound-method\n        let { destroy  } = tw$1;\n        tw$1.destroy = ()=>{\n            observer.disconnect();\n            destroy.call(tw$1);\n        };\n    }\n    return tw$1;\n}\n/**\n * Simplified MutationRecord which allows us to pass an\n * ArrayLike (compatible with Array and NodeList) `addedNodes` and\n * omit other properties we are not interested in.\n */ function getStyleElement(selector) {\n    let style = document.querySelector(selector || 'style[data-twind=\"\"]');\n    if (!style || 'STYLE' != style.tagName) {\n        style = document.createElement('style');\n        document.head.prepend(style);\n    }\n    return style.dataset.twind = 'claimed', style;\n}\n/**\n * @group Sheets\n * @param element\n * @returns\n */ function cssom(element) {\n    let target = element?.cssRules ? element : (element && 'string' != typeof element ? element : getStyleElement(element)).sheet;\n    return {\n        target,\n        snapshot () {\n            // collect current rules\n            let rules = Array.from(target.cssRules, (rule)=>rule.cssText);\n            return ()=>{\n                // remove all existing rules\n                this.clear();\n                // add all snapshot rules back\n                // eslint-disable-next-line @typescript-eslint/unbound-method\n                rules.forEach(this.insert);\n            };\n        },\n        clear () {\n            // remove all added rules\n            for(let index = target.cssRules.length; index--;)target.deleteRule(index);\n        },\n        destroy () {\n            target.ownerNode?.remove();\n        },\n        insert (cssText, index) {\n            try {\n                // Insert\n                target.insertRule(cssText, index);\n            } catch (error) {\n                // Empty rule to keep index valid — not using `*{}` as that would show up in all rules (DX)\n                target.insertRule(':root{}', index);\n            }\n        },\n        resume: noop\n    };\n}\n/**\n * @group Sheets\n * @param element\n * @returns\n */ function dom(element) {\n    let target = element && 'string' != typeof element ? element : getStyleElement(element);\n    return {\n        target,\n        snapshot () {\n            // collect current rules\n            let rules = Array.from(target.childNodes, (node)=>node.textContent);\n            return ()=>{\n                // remove all existing rules\n                this.clear();\n                // add all snapshot rules back\n                // eslint-disable-next-line @typescript-eslint/unbound-method\n                rules.forEach(this.insert);\n            };\n        },\n        clear () {\n            target.textContent = '';\n        },\n        destroy () {\n            target.remove();\n        },\n        insert (cssText, index) {\n            target.insertBefore(document.createTextNode(cssText), target.childNodes[index] || null);\n        },\n        resume: noop\n    };\n}\n/**\n * @group Sheets\n * @param includeResumeData\n * @returns\n */ function virtual(includeResumeData) {\n    let target = [];\n    return {\n        target,\n        snapshot () {\n            // collect current rules\n            let rules = [\n                ...target\n            ];\n            return ()=>{\n                // remove all existing rules and add all snapshot rules back\n                target.splice(0, target.length, ...rules);\n            };\n        },\n        clear () {\n            target.length = 0;\n        },\n        destroy () {\n            this.clear();\n        },\n        insert (css, index, rule) {\n            target.splice(index, 0, includeResumeData ? `/*!${rule.p.toString(36)},${(2 * rule.o).toString(36)}${rule.n ? ',' + rule.n : ''}*/${css}` : css);\n        },\n        resume: noop\n    };\n}\n/**\n * Returns a sheet useable in the current environment.\n *\n * @group Sheets\n * @param useDOMSheet usually something like `process.env.NODE_ENV != 'production'` or `import.meta.env.DEV` (default: browser={@link cssom}, server={@link virtual})\n * @param disableResume to not include or use resume data\n * @returns a sheet to use\n */ function getSheet(useDOMSheet, disableResume) {\n    let sheet = 'undefined' == typeof document ? virtual(!disableResume) : useDOMSheet ? dom() : cssom();\n    return disableResume || (sheet.resume = resume), sheet;\n}\n/**\n * @group Sheets\n * @param target\n * @returns\n */ function stringify(target) {\n    // string[] | CSSStyleSheet | HTMLStyleElement\n    return(// prefer the raw text content of a CSSStyleSheet as it may include the resume data\n    (target.ownerNode || target).textContent || (target.cssRules ? Array.from(target.cssRules, (rule)=>rule.cssText) : asArray(target)).join(''));\n}\nfunction resume(addClassName, insert) {\n    // hydration from SSR sheet\n    let textContent = stringify(this.target), RE = /\\/\\*!([\\da-z]+),([\\da-z]+)(?:,(.+?))?\\*\\//g;\n    // only if this is a hydratable sheet\n    if (RE.test(textContent)) {\n        var match;\n        let // 3. parse SSR styles\n        lastMatch;\n        // RE has global flag — reset index to get the first match as well\n        RE.lastIndex = 0;\n        // 1. start with a fresh sheet\n        this.clear();\n        // 2. add all existing class attributes to the token/className cache\n        if ('undefined' != typeof document) for (let el of document.querySelectorAll('[class]'))addClassName(el.getAttribute('class'));\n        for(; match = RE.exec(textContent), lastMatch && insert(// grep the cssText from the previous match end up to this match start\n        textContent.slice(lastMatch.index + lastMatch[0].length, match?.index), {\n            p: parseInt(lastMatch[1], 36),\n            o: parseInt(lastMatch[2], 36) / 2,\n            n: lastMatch[3]\n        }), lastMatch = match;);\n    }\n}\n/* no-op */ /**\n * @group Runtime\n * @param install\n * @returns\n */ function auto(install) {\n    // If we run in the browser we call install at latest when the body is inserted\n    // This algorith works well for _normal_ scripts (`<script src=\"...\"></script>`)\n    // but not for modules because those are executed __after__ the DOM is ready\n    // and we would have FOUC\n    if ('undefined' != typeof document && document.currentScript) {\n        let cancelAutoInstall = ()=>observer.disconnect(), observer = new MutationObserver((mutationsList)=>{\n            for (let { target  } of mutationsList)// If we reach the body we immediately run the install to prevent FOUC\n            if (target === document.body) {\n                install();\n                return cancelAutoInstall();\n            }\n        });\n        return observer.observe(document.documentElement, {\n            childList: true,\n            subtree: true\n        }), cancelAutoInstall;\n    }\n    return noop;\n}\n/**\n * A proxy to the currently active Twind instance.\n * @group Style Injectors\n */ let tw = /* #__PURE__ */ new Proxy(// just exposing the active as tw should work with most bundlers\n// as ES module export can be re-assigned BUT some bundlers to not honor this\n// -> using a delegation proxy here\nnoop, {\n    apply (_target, _thisArg, args) {\n        return active(args[0]);\n    },\n    get (target, property) {\n        let value = active[property];\n        return 'function' == typeof value ? function() {\n            // eslint-disable-next-line prefer-rest-params\n            return value.apply(active, arguments);\n        } : value;\n    }\n});\n/**\n * Manages a single Twind instance — works in browser, Node.js, Deno, workers...\n *\n * @group Runtime\n * @param config\n * @param sheet\n * @param target\n * @returns\n */ function setup(config = {}, sheet = getSheet, target) {\n    return active?.destroy(), active = observe(twind(config, 'function' == typeof sheet ? sheet() : sheet), target);\n}\n/**\n * Injects styles into the global scope and is useful for applications such as gloabl styles, CSS resets or font faces.\n *\n * It **does not** return a class name, but adds the styles within the base layer to the stylesheet directly.\n *\n * @group Style Injectors\n */ let injectGlobal = function(strings, ...interpolations) {\n    ('function' == typeof this ? this : tw)(css({\n        '@layer base': astish(strings, interpolations)\n    }));\n};\n/**\n * @group Runtime\n * @param config\n * @param isProduction\n */ function install(config, isProduction = true) {\n    let config$ = defineConfig(config);\n    return setup({\n        ...config$,\n        // in production use short hashed class names\n        hash: config$.hash ?? isProduction\n    }, ()=>getSheet(!isProduction));\n}\n/**\n * **Note**: The styles will be injected on first use.\n *\n * @group Style Injectors\n */ let keyframes = /* #__PURE__ */ function bind(thisArg) {\n    return new Proxy(function keyframes(strings, ...interpolations) {\n        return keyframes$(thisArg, '', strings, interpolations);\n    }, {\n        get (target, name) {\n            return 'bind' === name ? bind : name in target ? target[name] : function namedKeyframes(strings, ...interpolations) {\n                return keyframes$(thisArg, name, strings, interpolations);\n            };\n        }\n    });\n}();\nfunction keyframes$(thisArg, name, strings, interpolations) {\n    // lazy inject keyframes\n    return {\n        toString () {\n            let ast = astish(strings, interpolations), keyframeName = escape(name + hash(JSON.stringify([\n                name,\n                ast\n            ])));\n            return(// lazy access tw\n            ('function' == typeof thisArg ? thisArg : tw)(css({\n                [`@keyframes ${keyframeName}`]: astish(strings, interpolations)\n            })), keyframeName);\n        }\n    };\n}\n/**\n * Options for {@link inline}\n */ /**\n   * {@link Twind} instance to use (default: {@link @twind/core.tw})\n   */ /**\n   * Allows to minify the resulting CSS.\n   */ /**\n   * Called to minify the CSS.\n   *\n   * @param css the CSS to minify\n   * @param html the HTML that will be used — allows to only include above-the-fold CSS\n   * @return the resulting CSS\n   */ /**\n * Used for static HTML processing (usually to provide SSR support for your javascript-powered web apps)\n *\n * 1. parse the markup and process element classes with the provided Twind instance\n * 2. update the class attributes _if_ necessary\n * 3. inject a style element with the CSS as last element into the head\n * 4. return the HTML string with the final element classes\n *\n * ```js\n * import { inline } from '@twind/core'\n *\n * function render() {\n *   return inline(renderApp())\n * }\n * ```\n *\n * Minify CSS with [@parcel/css](https://www.npmjs.com/package/@parcel/css):\n *\n * ```js\n * import { inline } from '@twind/core'\n * import { transform } from '@parcel/css'\n *\n * function render() {\n *   return inline(renderApp(), { minify: (css) => transform({ filename: 'twind.css', code: Buffer.from(css), minify: true }) })\n * }\n * ```\n *\n * You can provide your own Twind instance:\n *\n * ```js\n * import { inline } from '@twind/core'\n * import { tw } from './custom/twind/instance'\n *\n * function render() {\n *   return inline(renderApp(), { tw })\n * }\n * ```\n *\n * @group Static Extraction\n * @param markup HTML to process\n * @param options to customize the processing\n * @returns the resulting HTML\n */ function inline(markup, options = {}) {\n    let { tw: tw$1 = tw , minify =identity  } = 'function' == typeof options ? {\n        tw: options\n    } : options, { html , css  } = extract(markup, tw$1);\n    // inject as last element into the head\n    return html.replace('</head>', `<style data-twind>${minify(css, html)}</style></head>`);\n}\n/**\n * Result of {@link extract}\n */ /** The possibly modified HTML */ /** The generated CSS */ /**\n * Used for static HTML processing (usually to provide SSR support for your javascript-powered web apps)\n *\n * **Note**: Consider using {@link inline} instead.\n *\n * 1. parse the markup and process element classes with the provided Twind instance\n * 2. update the class attributes _if_ necessary\n * 3. return the HTML string with the final element classes\n *\n * ```js\n * import { extract } from '@twind/core'\n *\n * function render() {\n *   const { html, css } = extract(renderApp())\n *\n *   // inject as last element into the head\n *   return html.replace('</head>', `<style data-twind>${css}</style></head>`)\n * }\n * ```\n *\n * You can provide your own Twind instance:\n *\n * ```js\n * import { extract } from '@twind/core'\n * import { tw } from './custom/twind/instance'\n *\n * function render() {\n *   const { html, css } = extract(renderApp(), tw)\n *\n *   // inject as last element into the head\n *   return html.replace('</head>', `<style data-twind>${css}</style></head>`)\n * }\n * ```\n *\n * @group Static Extraction\n * @param markup HTML to process\n * @param tw a {@link Twind} instance (default: twind managed tw)\n * @returns the possibly modified html and css\n */ function extract(html, tw$1 = tw) {\n    let restore = tw$1.snapshot(), result = {\n        html: consume(html, tw$1),\n        css: stringify(tw$1.target)\n    };\n    return restore(), result;\n}\n/**\n * Used for static HTML processing (usually to provide SSR support for your javascript-powered web apps)\n *\n * **Note**: Consider using {@link inline} or {@link extract} instead.\n *\n * 1. parse the markup and process element classes with the provided Twind instance\n * 2. update the class attributes _if_ necessary\n * 3. return the HTML string with the final element classes\n *\n * ```js\n * import { consume, stringify, tw } from '@twind/core'\n *\n * function render() {\n *   const html = renderApp()\n *\n *   // remember global classes\n *   const restore = tw.snapshot()\n *\n *   // generated markup\n *   const markup = consume(html)\n *\n *   // create CSS\n *   const css = stringify(tw.target)\n *\n *   // restore global classes\n *   restore()\n *\n *   // inject as last element into the head\n *   return markup.replace('</head>', `<style data-twind>${css}</style></head>`)\n * }\n * ```\n *\n * You can provide your own Twind instance:\n *\n * ```js\n * import { consume, stringify } from '@twind/core'\n * import { tw } from './custom/twind/instance'\n *\n * function render() {\n *   const html = renderApp()\n *\n *   // remember global classes\n *   const restore = snapshot(tw.target)\n *\n *   // generated markup\n *   const markup = consume(html)\n *\n *   // restore global classes\n *   restore()\n *\n *   // create CSS\n *   const css = stringify(tw.target)\n *\n *   // inject as last element into the head\n *   return markup.replace('</head>', `<style data-twind>${css}</style></head>`)\n * }\n * ```\n *\n * @group Static Extraction\n * @param markup HTML to process\n * @param tw a {@link Twind} instance\n * @returns possibly modified HTML\n */ function consume(markup, tw$1 = tw) {\n    let result = '', lastChunkStart = 0;\n    return !function(markup, onClass) {\n        let mode = 1, startIndex = 0, quote = '', attributeName = '', commit = (currentIndex)=>{\n            5 == mode && 'class' == attributeName && false === onClass(startIndex, currentIndex, quote) && (markup = '');\n        };\n        for(let position = 0; position < markup.length; position++){\n            let char = markup[position];\n            if (1 == mode) '<' == char && (mode = '!--' == markup.substr(position + 1, 3) ? 4 : 3);\n            else if (4 == mode) '>' == char && '--' == markup.slice(position - 2, position) && (mode = 1);\n            else if (quote) {\n                if (char == quote && '\\\\' != markup[position - 1]) {\n                    commit(position);\n                    mode = 2;\n                    quote = '';\n                }\n            } else if ('\"' == char || \"'\" == char) {\n                quote = char;\n                startIndex += 1;\n            } else if ('>' == char) {\n                commit(position);\n                mode = 1;\n            } else if (mode) {\n                // MODE_SLASH\n                // Ignore everything until the tag ends\n                if ('=' == char) {\n                    attributeName = markup.slice(startIndex, position);\n                    mode = 5;\n                    startIndex = position + 1;\n                } else if ('/' == char && (mode < 5 || '>' == markup[position + 1])) {\n                    commit(position);\n                    mode = // For now we are using a simple parser adapted from htm (https://github.com/developit/htm/blob/master/src/build.mjs)\n                    // If we find any issues we can switch to something more sophisticated like\n                    // - https://github.com/acrazing/html5parser\n                    // - https://github.com/fb55/htmlparser2\n                    0;\n                } else if (/\\s/.test(char)) {\n                    // <a class=font-bold>\n                    commit(position);\n                    mode = 2;\n                    startIndex = position + 1;\n                }\n            }\n        }\n    }(markup, (startIndex, endIndex, quote)=>{\n        var quote1;\n        let value = markup.slice(startIndex, endIndex), className = tw$1(// const value = markup.slice(startIndex, endIndex)\n        // Lets handle some special react cases:\n        //   * arbitrary values for `content-`\n        //     <span class=\"before:content-[&#x27;asas&#x27;]\"></span>\n        //     <span class=\"before:content-[&quot;asas&quot;]\"></span>\n        //\n        //   * self-referenced groups\n        //     <span class=\"flex(&amp; col)\"></span>\n        //\n        //     If a class name contains `'`, `\"`, or `&` those will be replaced with HTML entities\n        //     To fix this we replace those for depending on the actual symbol that is being used\n        //     As an alternative we could always escape class names direcly in twind like react does\n        //     but this works for now\n        ('\"' == (quote1 = quote) ? // `'` -> &#39; &apos; &#x27;\n        value.replace(/(=|\\[)(?:&#39;|&apos;|&#x27;)|(?:&#39;|&apos;|&#x27;)(])/g, \"$1'$2\") : \"'\" == quote1 ? // `\"` -> &#34; &quot; &#x22;\n        value.replace(/(=|\\[)(?:&#34;|&quot;|&#x22;)|(?:&#34;|&quot;|&#x22;)(])/g, '$1\"$2') : value).replace(/(&#38;|&amp;|&#x26;)/g, '&'));\n        // We only need to shift things around if we need to actually change the markup\n        if (changed(value, className)) {\n            // We've hit another mutation boundary\n            // Add quote if necessary\n            quote = quote ? '' : '\"';\n            result += markup.slice(lastChunkStart, startIndex) + quote + className + quote;\n            lastChunkStart = endIndex;\n        }\n    }), // Combine the current result with the tail-end of the input\n    result + markup.slice(lastChunkStart, markup.length);\n}\n// Based on https://github.com/modulz/stitches\n// No support for thunks yet — these may use props that are not in the generated class name\n// and may therefore override each other\n/**\n * Allows to extract the supported properties of a style function.\n *\n * Here is an example for `react`\n * ```js\n * import { HTMLAttributes } from \"react\";\n * import { style, PropsOf } from \"@twind/core\";\n * const button = style({ ... })\n * type ButtonProps = PropsOf<typeof button>\n * export const Button = (props: ButtonProps & HTMLAttributes<HTMLButtonElement>) => {\n *   return <button className={style(props)} {...rest} />\n * }\n * ```\n */ /** initial breakpoint */ // TODO possible breakpoint from theme\n/** initial breakpoint */ // eslint-disable-next-line @typescript-eslint/ban-types\n/** Used as prefix */ /**\n   * CSS Class associated with the current component.\n   *\n   * ```jsx\n   * const button = style({\n   *   base: css({\n   *     color: \"DarkSlateGray\"\n   *   })\n   * })\n   *\n   * <div className={button()} />\n   * ```\n   * <br />\n   */ /**\n   * To be used as resolve within config.rules:\n   *\n   * ```js\n   * {\n   *   rules: [\n   *     // label?prop=value&other=propValue\n   *     // if the style has base eg no prop is required\n   *     ['label(\\\\?.+)?', style( /* ... *\\/ )],\n   *\n   *     // if the style requires at least one prop\n   *     ['label\\\\?(.+)', style( /* ... *\\/ )],\n   *   ]\n   * }\n   * ```\n   *\n   * The first group is used to extract the props using {@link !URLSearchParams | URLSearchParams}.\n   */ /**\n   * CSS Class associated with the current component.\n   *\n   * ```js\n   * const button = style({\n   *   base: css`\n   *     color: \"DarkSlateGray\"\n   *   `\n   * })\n   *\n   * <div className={button.className} />\n   * ```\n   */ /**\n   * CSS Selector associated with the current component.\n   *\n   * ```js\n   * const button = style({\n   *   base: css({\n   *     color: \"DarkSlateGray\"\n   *   })\n   * })\n   *\n   * const Card = styled({\n   *   base: css`\n   *     & ${button.selector} {\n   *       boxShadow: \"0 0 0 5px\"\n   *     }\n   *   `\n   * })\n   * ```\n   */ /**\n * @group Class Name Generators\n */ let style = (base, config)=>'function' == typeof base ? createStyle(config, base) : createStyle(base);\nfunction createStyle(config = {}, parent) {\n    let { label ='style' , base , props: variants = {} , defaults: localDefaults , when =[]  } = config, defaults = {\n        ...parent?.defaults,\n        ...localDefaults\n    }, id = hash(JSON.stringify([\n        label,\n        parent?.className,\n        base,\n        variants,\n        defaults,\n        when\n    ])), // Layers:\n    // component: 0b010\n    // props: 0b011\n    // when: 0b100\n    className = register('', base || '', Layer.c);\n    function register(mq, token, layer) {\n        return define(// `<name>#<id>` or `<parent>~<name>#<id>`\n        ((parent ? parent.className.replace(/#.+$/, '~') : '') + label + mq + id).replace(/[: ,()[\\]]/, ''), layer, token && parse(token));\n    }\n    return Object.defineProperties(function style(allProps) {\n        let isWithinRuleDeclaration, token;\n        if (Array.isArray(allProps)) {\n            isWithinRuleDeclaration = true;\n            allProps = Object.fromEntries(new URLSearchParams(allProps[1]).entries());\n        }\n        let props = {\n            ...defaults,\n            ...allProps\n        }, // If this style is used within config.rules we do NOT include the marker classes\n        classNames = isWithinRuleDeclaration ? '' : (parent ? parent(props) + ' ' : '') + className;\n        for(let variantKey in variants){\n            let variant = variants[variantKey], propsValue = props[variantKey];\n            if (propsValue === Object(propsValue)) {\n                // inline responsive breakpoints\n                let mq = '';\n                token = '';\n                for(let breakpoint in propsValue){\n                    let breakpointToken = variant[propsValue[breakpoint]];\n                    if (breakpointToken) {\n                        mq += '@' + breakpoint + '-' + propsValue[breakpoint];\n                        token += (token && ' ') + ('_' == breakpoint ? breakpointToken : breakpoint + ':(' + breakpointToken + ')');\n                    }\n                }\n                token && (classNames += ' ' + register('--' + variantKey + '-' + mq, token, 402653184));\n            } else (token = variant[propsValue]) && (classNames += ' ' + register('--' + variantKey + '-' + propsValue, token, 402653184));\n        }\n        return /* Shifts.layer */ when.forEach((match, index)=>{\n            let mq = '';\n            for(let variantKey in match[0]){\n                let propsValue = props[variantKey];\n                // TODO we ignore inline responsive breakpoints for now — what be the result??\n                if (propsValue !== Object(propsValue) && '' + propsValue == '' + match[0][variantKey]) mq += (mq && '_') + variantKey + '-' + propsValue;\n                else {\n                    mq = '';\n                    break;\n                }\n            }\n            mq && (token = match[1]) && (classNames += ' ' + register('-' + index + '--' + mq, token, 536870912));\n        }), /* Shifts.layer */ classNames;\n    }, Object.getOwnPropertyDescriptors({\n        className,\n        defaults,\n        selector: '.' + escape(className)\n    }));\n}\n/**\n * Combines {@link tw} and {@link cx}.\n *\n * Using the default `tw` instance:\n *\n * ```js\n * import { tw } from '@twind/core'\n * tx`underline ${falsy && 'italic'}`\n * tx('underline', falsy && 'italic')\n * tx({'underline': true, 'italic': false})\n *\n * // using a custom twind instance\n * import { tw } from './custom/twind'\n * import { tw } from './custom/twind'\n * tx.bind(tw)\n * ```\n *\n * Using a custom `tw` instance:\n *\n * ```js\n * import { tx as tx$ } from '@twind/core'\n * import { tw } from './custom/twind'\n *\n * export const tx = tx$.bind(tw)\n *\n * tx`underline ${falsy && 'italic'}`\n * tx('underline', falsy && 'italic')\n * tx({'underline': true, 'italic': false})\n * ```\n *\n * @group Style Injectors\n * @param this {@link Twind} instance to use (default: {@link tw})\n * @param strings\n * @param interpolations\n * @returns the class name\n */ let tx = function(strings, ...interpolations) {\n    return ('function' == typeof this ? this : tw)(interpolate(strings, interpolations));\n};\nexport { animation, apply, arbitrary, asArray, auto, autoDarkColor, colorFromTheme, consume, css, cssom, cx, defineConfig, dom, escape, extract, fromMatch, fromTheme, getAutocompleteProvider, getSheet, hash, identity, injectGlobal, inline, install, keyframes, match, matchColor, matchTheme, mo, mql, noop, normalize, observe, parse, parseValue, setup, shortcut, stringify, style, toCSS, toColorValue, tw, twind, tx, virtual, withAutocomplete };\n//# sourceMappingURL=core.js.map\n","/**\n * @module @twind/preset-tailwind/baseTheme\n */ /**\n * @experimental\n */ let theme = {\n    screens: {\n        sm: '640px',\n        md: '768px',\n        lg: '1024px',\n        xl: '1280px',\n        '2xl': '1536px'\n    },\n    columns: {\n        auto: 'auto',\n        // Handled by plugin,\n        // 1: '1',\n        // 2: '2',\n        // 3: '3',\n        // 4: '4',\n        // 5: '5',\n        // 6: '6',\n        // 7: '7',\n        // 8: '8',\n        // 9: '9',\n        // 10: '10',\n        // 11: '11',\n        // 12: '12',\n        '3xs': '16rem',\n        '2xs': '18rem',\n        xs: '20rem',\n        sm: '24rem',\n        md: '28rem',\n        lg: '32rem',\n        xl: '36rem',\n        '2xl': '42rem',\n        '3xl': '48rem',\n        '4xl': '56rem',\n        '5xl': '64rem',\n        '6xl': '72rem',\n        '7xl': '80rem'\n    },\n    spacing: {\n        px: '1px',\n        0: '0px',\n        .../* #__PURE__ */ linear(4, 'rem', 4, 0.5, 0.5),\n        // 0.5: '0.125rem',\n        // 1: '0.25rem',\n        // 1.5: '0.375rem',\n        // 2: '0.5rem',\n        // 2.5: '0.625rem',\n        // 3: '0.75rem',\n        // 3.5: '0.875rem',\n        // 4: '1rem',\n        .../* #__PURE__ */ linear(12, 'rem', 4, 5),\n        // 5: '1.25rem',\n        // 6: '1.5rem',\n        // 7: '1.75rem',\n        // 8: '2rem',\n        // 9: '2.25rem',\n        // 10: '2.5rem',\n        // 11: '2.75rem',\n        // 12: '3rem',\n        14: '3.5rem',\n        .../* #__PURE__ */ linear(64, 'rem', 4, 16, 4),\n        // 16: '4rem',\n        // 20: '5rem',\n        // 24: '6rem',\n        // 28: '7rem',\n        // 32: '8rem',\n        // 36: '9rem',\n        // 40: '10rem',\n        // 44: '11rem',\n        // 48: '12rem',\n        // 52: '13rem',\n        // 56: '14rem',\n        // 60: '15rem',\n        // 64: '16rem',\n        72: '18rem',\n        80: '20rem',\n        96: '24rem'\n    },\n    durations: {\n        75: '75ms',\n        100: '100ms',\n        150: '150ms',\n        200: '200ms',\n        300: '300ms',\n        500: '500ms',\n        700: '700ms',\n        1000: '1000ms'\n    },\n    animation: {\n        none: 'none',\n        spin: 'spin 1s linear infinite',\n        ping: 'ping 1s cubic-bezier(0,0,0.2,1) infinite',\n        pulse: 'pulse 2s cubic-bezier(0.4,0,0.6,1) infinite',\n        bounce: 'bounce 1s infinite'\n    },\n    aspectRatio: {\n        auto: 'auto',\n        square: '1/1',\n        video: '16/9'\n    },\n    backdropBlur: /* #__PURE__ */ alias('blur'),\n    backdropBrightness: /* #__PURE__ */ alias('brightness'),\n    backdropContrast: /* #__PURE__ */ alias('contrast'),\n    backdropGrayscale: /* #__PURE__ */ alias('grayscale'),\n    backdropHueRotate: /* #__PURE__ */ alias('hueRotate'),\n    backdropInvert: /* #__PURE__ */ alias('invert'),\n    backdropOpacity: /* #__PURE__ */ alias('opacity'),\n    backdropSaturate: /* #__PURE__ */ alias('saturate'),\n    backdropSepia: /* #__PURE__ */ alias('sepia'),\n    backgroundColor: /* #__PURE__ */ alias('colors'),\n    backgroundImage: {\n        none: 'none'\n    },\n    // These are built-in\n    // 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))',\n    // 'gradient-to-tr': 'linear-gradient(to top right, var(--tw-gradient-stops))',\n    // 'gradient-to-r': 'linear-gradient(to right, var(--tw-gradient-stops))',\n    // 'gradient-to-br': 'linear-gradient(to bottom right, var(--tw-gradient-stops))',\n    // 'gradient-to-b': 'linear-gradient(to bottom, var(--tw-gradient-stops))',\n    // 'gradient-to-bl': 'linear-gradient(to bottom left, var(--tw-gradient-stops))',\n    // 'gradient-to-l': 'linear-gradient(to left, var(--tw-gradient-stops))',\n    // 'gradient-to-tl': 'linear-gradient(to top left, var(--tw-gradient-stops))',\n    backgroundOpacity: /* #__PURE__ */ alias('opacity'),\n    // backgroundPosition: {\n    //   // The following are already handled by the plugin:\n    //   // center, right, left, bottom, top\n    //   // 'bottom-10px-right-20px' -> bottom 10px right 20px\n    // },\n    backgroundSize: {\n        auto: 'auto',\n        cover: 'cover',\n        contain: 'contain'\n    },\n    blur: {\n        none: 'none',\n        0: '0',\n        sm: '4px',\n        DEFAULT: '8px',\n        md: '12px',\n        lg: '16px',\n        xl: '24px',\n        '2xl': '40px',\n        '3xl': '64px'\n    },\n    brightness: {\n        .../* #__PURE__ */ linear(200, '', 100, 0, 50),\n        // 0: '0',\n        // 50: '.5',\n        // 150: '1.5',\n        // 200: '2',\n        .../* #__PURE__ */ linear(110, '', 100, 90, 5),\n        // 90: '.9',\n        // 95: '.95',\n        // 100: '1',\n        // 105: '1.05',\n        // 110: '1.1',\n        75: '0.75',\n        125: '1.25'\n    },\n    borderColor: ({ theme  })=>({\n            DEFAULT: theme('colors.gray.200', 'currentColor'),\n            ...theme('colors')\n        }),\n    borderOpacity: /* #__PURE__ */ alias('opacity'),\n    borderRadius: {\n        none: '0px',\n        sm: '0.125rem',\n        DEFAULT: '0.25rem',\n        md: '0.375rem',\n        lg: '0.5rem',\n        xl: '0.75rem',\n        '2xl': '1rem',\n        '3xl': '1.5rem',\n        '1/2': '50%',\n        full: '9999px'\n    },\n    borderSpacing: /* #__PURE__ */ alias('spacing'),\n    borderWidth: {\n        DEFAULT: '1px',\n        .../* #__PURE__ */ exponential(8, 'px')\n    },\n    // 0: '0px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',\n    boxShadow: {\n        sm: '0 1px 2px 0 rgba(0,0,0,0.05)',\n        DEFAULT: '0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)',\n        md: '0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)',\n        lg: '0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)',\n        xl: '0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)',\n        '2xl': '0 25px 50px -12px rgba(0,0,0,0.25)',\n        inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.05)',\n        none: '0 0 #0000'\n    },\n    boxShadowColor: alias('colors'),\n    // container: {},\n    // cursor: {\n    //   // Default values are handled by plugin\n    // },\n    caretColor: /* #__PURE__ */ alias('colors'),\n    accentColor: ({ theme  })=>({\n            auto: 'auto',\n            ...theme('colors')\n        }),\n    contrast: {\n        .../* #__PURE__ */ linear(200, '', 100, 0, 50),\n        // 0: '0',\n        // 50: '.5',\n        // 150: '1.5',\n        // 200: '2',\n        75: '0.75',\n        125: '1.25'\n    },\n    content: {\n        none: 'none'\n    },\n    divideColor: /* #__PURE__ */ alias('borderColor'),\n    divideOpacity: /* #__PURE__ */ alias('borderOpacity'),\n    divideWidth: /* #__PURE__ */ alias('borderWidth'),\n    dropShadow: {\n        sm: '0 1px 1px rgba(0,0,0,0.05)',\n        DEFAULT: [\n            '0 1px 2px rgba(0,0,0,0.1)',\n            '0 1px 1px rgba(0,0,0,0.06)'\n        ],\n        md: [\n            '0 4px 3px rgba(0,0,0,0.07)',\n            '0 2px 2px rgba(0,0,0,0.06)'\n        ],\n        lg: [\n            '0 10px 8px rgba(0,0,0,0.04)',\n            '0 4px 3px rgba(0,0,0,0.1)'\n        ],\n        xl: [\n            '0 20px 13px rgba(0,0,0,0.03)',\n            '0 8px 5px rgba(0,0,0,0.08)'\n        ],\n        '2xl': '0 25px 25px rgba(0,0,0,0.15)',\n        none: '0 0 #0000'\n    },\n    fill: ({ theme  })=>({\n            ...theme('colors'),\n            none: 'none'\n        }),\n    grayscale: {\n        DEFAULT: '100%',\n        0: '0'\n    },\n    hueRotate: {\n        0: '0deg',\n        15: '15deg',\n        30: '30deg',\n        60: '60deg',\n        90: '90deg',\n        180: '180deg'\n    },\n    invert: {\n        DEFAULT: '100%',\n        0: '0'\n    },\n    flex: {\n        1: '1 1 0%',\n        auto: '1 1 auto',\n        initial: '0 1 auto',\n        none: 'none'\n    },\n    flexBasis: ({ theme  })=>({\n            ...theme('spacing'),\n            ...ratios(2, 6),\n            // '1/2': '50%',\n            // '1/3': '33.333333%',\n            // '2/3': '66.666667%',\n            // '1/4': '25%',\n            // '2/4': '50%',\n            // '3/4': '75%',\n            // '1/5': '20%',\n            // '2/5': '40%',\n            // '3/5': '60%',\n            // '4/5': '80%',\n            // '1/6': '16.666667%',\n            // '2/6': '33.333333%',\n            // '3/6': '50%',\n            // '4/6': '66.666667%',\n            // '5/6': '83.333333%',\n            ...ratios(12, 12),\n            // '1/12': '8.333333%',\n            // '2/12': '16.666667%',\n            // '3/12': '25%',\n            // '4/12': '33.333333%',\n            // '5/12': '41.666667%',\n            // '6/12': '50%',\n            // '7/12': '58.333333%',\n            // '8/12': '66.666667%',\n            // '9/12': '75%',\n            // '10/12': '83.333333%',\n            // '11/12': '91.666667%',\n            auto: 'auto',\n            full: '100%'\n        }),\n    flexGrow: {\n        DEFAULT: 1,\n        0: 0\n    },\n    flexShrink: {\n        DEFAULT: 1,\n        0: 0\n    },\n    fontFamily: {\n        sans: 'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"'.split(','),\n        serif: 'ui-serif,Georgia,Cambria,\"Times New Roman\",Times,serif'.split(','),\n        mono: 'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace'.split(',')\n    },\n    fontSize: {\n        xs: [\n            '0.75rem',\n            '1rem'\n        ],\n        sm: [\n            '0.875rem',\n            '1.25rem'\n        ],\n        base: [\n            '1rem',\n            '1.5rem'\n        ],\n        lg: [\n            '1.125rem',\n            '1.75rem'\n        ],\n        xl: [\n            '1.25rem',\n            '1.75rem'\n        ],\n        '2xl': [\n            '1.5rem',\n            '2rem'\n        ],\n        '3xl': [\n            '1.875rem',\n            '2.25rem'\n        ],\n        '4xl': [\n            '2.25rem',\n            '2.5rem'\n        ],\n        '5xl': [\n            '3rem',\n            '1'\n        ],\n        '6xl': [\n            '3.75rem',\n            '1'\n        ],\n        '7xl': [\n            '4.5rem',\n            '1'\n        ],\n        '8xl': [\n            '6rem',\n            '1'\n        ],\n        '9xl': [\n            '8rem',\n            '1'\n        ]\n    },\n    fontWeight: {\n        thin: '100',\n        extralight: '200',\n        light: '300',\n        normal: '400',\n        medium: '500',\n        semibold: '600',\n        bold: '700',\n        extrabold: '800',\n        black: '900'\n    },\n    gap: /* #__PURE__ */ alias('spacing'),\n    gradientColorStops: /* #__PURE__ */ alias('colors'),\n    gridAutoColumns: {\n        auto: 'auto',\n        min: 'min-content',\n        max: 'max-content',\n        fr: 'minmax(0,1fr)'\n    },\n    gridAutoRows: {\n        auto: 'auto',\n        min: 'min-content',\n        max: 'max-content',\n        fr: 'minmax(0,1fr)'\n    },\n    gridColumn: {\n        // span-X is handled by the plugin: span-1 -> span 1 / span 1\n        auto: 'auto',\n        'span-full': '1 / -1'\n    },\n    // gridColumnEnd: {\n    //   // Defaults handled by plugin\n    // },\n    // gridColumnStart: {\n    //   // Defaults handled by plugin\n    // },\n    gridRow: {\n        // span-X is handled by the plugin: span-1 -> span 1 / span 1\n        auto: 'auto',\n        'span-full': '1 / -1'\n    },\n    // gridRowStart: {\n    //   // Defaults handled by plugin\n    // },\n    // gridRowEnd: {\n    //   // Defaults handled by plugin\n    // },\n    gridTemplateColumns: {\n        // numbers are handled by the plugin: 1 -> repeat(1, minmax(0, 1fr))\n        none: 'none'\n    },\n    gridTemplateRows: {\n        // numbers are handled by the plugin: 1 -> repeat(1, minmax(0, 1fr))\n        none: 'none'\n    },\n    height: ({ theme  })=>({\n            ...theme('spacing'),\n            ...ratios(2, 6),\n            // '1/2': '50%',\n            // '1/3': '33.333333%',\n            // '2/3': '66.666667%',\n            // '1/4': '25%',\n            // '2/4': '50%',\n            // '3/4': '75%',\n            // '1/5': '20%',\n            // '2/5': '40%',\n            // '3/5': '60%',\n            // '4/5': '80%',\n            // '1/6': '16.666667%',\n            // '2/6': '33.333333%',\n            // '3/6': '50%',\n            // '4/6': '66.666667%',\n            // '5/6': '83.333333%',\n            min: 'min-content',\n            max: 'max-content',\n            fit: 'fit-content',\n            auto: 'auto',\n            full: '100%',\n            screen: '100vh'\n        }),\n    inset: ({ theme  })=>({\n            ...theme('spacing'),\n            ...ratios(2, 4),\n            // '1/2': '50%',\n            // '1/3': '33.333333%',\n            // '2/3': '66.666667%',\n            // '1/4': '25%',\n            // '2/4': '50%',\n            // '3/4': '75%',\n            auto: 'auto',\n            full: '100%'\n        }),\n    keyframes: {\n        spin: {\n            from: {\n                transform: 'rotate(0deg)'\n            },\n            to: {\n                transform: 'rotate(360deg)'\n            }\n        },\n        ping: {\n            '0%': {\n                transform: 'scale(1)',\n                opacity: '1'\n            },\n            '75%,100%': {\n                transform: 'scale(2)',\n                opacity: '0'\n            }\n        },\n        pulse: {\n            '0%,100%': {\n                opacity: '1'\n            },\n            '50%': {\n                opacity: '.5'\n            }\n        },\n        bounce: {\n            '0%, 100%': {\n                transform: 'translateY(-25%)',\n                animationTimingFunction: 'cubic-bezier(0.8,0,1,1)'\n            },\n            '50%': {\n                transform: 'none',\n                animationTimingFunction: 'cubic-bezier(0,0,0.2,1)'\n            }\n        }\n    },\n    letterSpacing: {\n        tighter: '-0.05em',\n        tight: '-0.025em',\n        normal: '0em',\n        wide: '0.025em',\n        wider: '0.05em',\n        widest: '0.1em'\n    },\n    lineHeight: {\n        .../* #__PURE__ */ linear(10, 'rem', 4, 3),\n        // 3: '.75rem',\n        // 4: '1rem',\n        // 5: '1.25rem',\n        // 6: '1.5rem',\n        // 7: '1.75rem',\n        // 8: '2rem',\n        // 9: '2.25rem',\n        // 10: '2.5rem',\n        none: '1',\n        tight: '1.25',\n        snug: '1.375',\n        normal: '1.5',\n        relaxed: '1.625',\n        loose: '2'\n    },\n    // listStyleType: {\n    //   // Defaults handled by plugin\n    // },\n    margin: ({ theme  })=>({\n            auto: 'auto',\n            ...theme('spacing')\n        }),\n    maxHeight: ({ theme  })=>({\n            full: '100%',\n            min: 'min-content',\n            max: 'max-content',\n            fit: 'fit-content',\n            screen: '100vh',\n            ...theme('spacing')\n        }),\n    maxWidth: ({ theme , breakpoints  })=>({\n            ...breakpoints(theme('screens')),\n            none: 'none',\n            0: '0rem',\n            xs: '20rem',\n            sm: '24rem',\n            md: '28rem',\n            lg: '32rem',\n            xl: '36rem',\n            '2xl': '42rem',\n            '3xl': '48rem',\n            '4xl': '56rem',\n            '5xl': '64rem',\n            '6xl': '72rem',\n            '7xl': '80rem',\n            full: '100%',\n            min: 'min-content',\n            max: 'max-content',\n            fit: 'fit-content',\n            prose: '65ch'\n        }),\n    minHeight: {\n        0: '0px',\n        full: '100%',\n        min: 'min-content',\n        max: 'max-content',\n        fit: 'fit-content',\n        screen: '100vh'\n    },\n    minWidth: {\n        0: '0px',\n        full: '100%',\n        min: 'min-content',\n        max: 'max-content',\n        fit: 'fit-content'\n    },\n    // objectPosition: {\n    //   // The plugins joins all arguments by default\n    // },\n    opacity: {\n        .../* #__PURE__ */ linear(100, '', 100, 0, 10),\n        // 0: '0',\n        // 10: '0.1',\n        // 20: '0.2',\n        // 30: '0.3',\n        // 40: '0.4',\n        // 60: '0.6',\n        // 70: '0.7',\n        // 80: '0.8',\n        // 90: '0.9',\n        // 100: '1',\n        5: '0.05',\n        25: '0.25',\n        75: '0.75',\n        95: '0.95'\n    },\n    order: {\n        // Handled by plugin\n        // 1: '1',\n        // 2: '2',\n        // 3: '3',\n        // 4: '4',\n        // 5: '5',\n        // 6: '6',\n        // 7: '7',\n        // 8: '8',\n        // 9: '9',\n        // 10: '10',\n        // 11: '11',\n        // 12: '12',\n        first: '-9999',\n        last: '9999',\n        none: '0'\n    },\n    padding: /* #__PURE__ */ alias('spacing'),\n    placeholderColor: /* #__PURE__ */ alias('colors'),\n    placeholderOpacity: /* #__PURE__ */ alias('opacity'),\n    outlineColor: /* #__PURE__ */ alias('colors'),\n    outlineOffset: /* #__PURE__ */ exponential(8, 'px'),\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',,\n    outlineWidth: /* #__PURE__ */ exponential(8, 'px'),\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',,\n    ringColor: ({ theme  })=>({\n            ...theme('colors'),\n            DEFAULT: '#3b82f6'\n        }),\n    ringOffsetColor: /* #__PURE__ */ alias('colors'),\n    ringOffsetWidth: /* #__PURE__ */ exponential(8, 'px'),\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',,\n    ringOpacity: ({ theme  })=>({\n            ...theme('opacity'),\n            DEFAULT: '0.5'\n        }),\n    ringWidth: {\n        DEFAULT: '3px',\n        .../* #__PURE__ */ exponential(8, 'px')\n    },\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',\n    rotate: {\n        .../* #__PURE__ */ exponential(2, 'deg'),\n        // 0: '0deg',\n        // 1: '1deg',\n        // 2: '2deg',\n        .../* #__PURE__ */ exponential(12, 'deg', 3),\n        // 3: '3deg',\n        // 6: '6deg',\n        // 12: '12deg',\n        .../* #__PURE__ */ exponential(180, 'deg', 45)\n    },\n    // 45: '45deg',\n    // 90: '90deg',\n    // 180: '180deg',\n    saturate: /* #__PURE__ */ linear(200, '', 100, 0, 50),\n    // 0: '0',\n    // 50: '.5',\n    // 100: '1',\n    // 150: '1.5',\n    // 200: '2',\n    scale: {\n        .../* #__PURE__ */ linear(150, '', 100, 0, 50),\n        // 0: '0',\n        // 50: '.5',\n        // 150: '1.5',\n        .../* #__PURE__ */ linear(110, '', 100, 90, 5),\n        // 90: '.9',\n        // 95: '.95',\n        // 100: '1',\n        // 105: '1.05',\n        // 110: '1.1',\n        75: '0.75',\n        125: '1.25'\n    },\n    scrollMargin: /* #__PURE__ */ alias('spacing'),\n    scrollPadding: /* #__PURE__ */ alias('spacing'),\n    sepia: {\n        0: '0',\n        DEFAULT: '100%'\n    },\n    skew: {\n        .../* #__PURE__ */ exponential(2, 'deg'),\n        // 0: '0deg',\n        // 1: '1deg',\n        // 2: '2deg',\n        .../* #__PURE__ */ exponential(12, 'deg', 3)\n    },\n    // 3: '3deg',\n    // 6: '6deg',\n    // 12: '12deg',\n    space: /* #__PURE__ */ alias('spacing'),\n    stroke: ({ theme  })=>({\n            ...theme('colors'),\n            none: 'none'\n        }),\n    strokeWidth: /* #__PURE__ */ linear(2),\n    // 0: '0',\n    // 1: '1',\n    // 2: '2',,\n    textColor: /* #__PURE__ */ alias('colors'),\n    textDecorationColor: /* #__PURE__ */ alias('colors'),\n    textDecorationThickness: {\n        'from-font': 'from-font',\n        auto: 'auto',\n        .../* #__PURE__ */ exponential(8, 'px')\n    },\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',\n    textUnderlineOffset: {\n        auto: 'auto',\n        .../* #__PURE__ */ exponential(8, 'px')\n    },\n    // 0: '0px',\n    // 1: '1px',\n    // 2: '2px',\n    // 4: '4px',\n    // 8: '8px',\n    textIndent: /* #__PURE__ */ alias('spacing'),\n    textOpacity: /* #__PURE__ */ alias('opacity'),\n    // transformOrigin: {\n    //   // The following are already handled by the plugin:\n    //   // center, right, left, bottom, top\n    //   // 'bottom-10px-right-20px' -> bottom 10px right 20px\n    // },\n    transitionDuration: ({ theme  })=>({\n            ...theme('durations'),\n            DEFAULT: '150ms'\n        }),\n    transitionDelay: /* #__PURE__ */ alias('durations'),\n    transitionProperty: {\n        none: 'none',\n        all: 'all',\n        DEFAULT: 'color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter',\n        colors: 'color,background-color,border-color,text-decoration-color,fill,stroke',\n        opacity: 'opacity',\n        shadow: 'box-shadow',\n        transform: 'transform'\n    },\n    transitionTimingFunction: {\n        DEFAULT: 'cubic-bezier(0.4,0,0.2,1)',\n        linear: 'linear',\n        in: 'cubic-bezier(0.4,0,1,1)',\n        out: 'cubic-bezier(0,0,0.2,1)',\n        'in-out': 'cubic-bezier(0.4,0,0.2,1)'\n    },\n    translate: ({ theme  })=>({\n            ...theme('spacing'),\n            ...ratios(2, 4),\n            // '1/2': '50%',\n            // '1/3': '33.333333%',\n            // '2/3': '66.666667%',\n            // '1/4': '25%',\n            // '2/4': '50%',\n            // '3/4': '75%',\n            full: '100%'\n        }),\n    width: ({ theme  })=>({\n            min: 'min-content',\n            max: 'max-content',\n            fit: 'fit-content',\n            screen: '100vw',\n            ...theme('flexBasis')\n        }),\n    willChange: {\n        scroll: 'scroll-position'\n    },\n    // other options handled by rules\n    // auto: 'auto',\n    // contents: 'contents',\n    // transform: 'transform',\n    zIndex: {\n        .../* #__PURE__ */ linear(50, '', 1, 0, 10),\n        // 0: '0',\n        // 10: '10',\n        // 20: '20',\n        // 30: '30',\n        // 40: '40',\n        // 50: '50',\n        auto: 'auto'\n    }\n};\n// '1/2': '50%',\n// '1/3': '33.333333%',\n// '2/3': '66.666667%',\n// '1/4': '25%',\n// '2/4': '50%',\n// '3/4': '75%',\n// '1/5': '20%',\n// '2/5': '40%',\n// '3/5': '60%',\n// '4/5': '80%',\n// '1/6': '16.666667%',\n// '2/6': '33.333333%',\n// '3/6': '50%',\n// '4/6': '66.666667%',\n// '5/6': '83.333333%',\nfunction ratios(start, end) {\n    let result = {};\n    do // XXX: using var to avoid strange bug when generating cjs where `= 1` is removed\n    // eslint-disable-next-line no-var\n    for(var dividend = 1; dividend < start; dividend++)result[`${dividend}/${start}`] = Number((dividend / start * 100).toFixed(6)) + '%';\n    while (++start <= end)\n    return result;\n}\n// 0: '0px',\n// 2: '2px',\n// 4: '4px',\n// 8: '8px',\nfunction exponential(stop, unit, start = 0) {\n    let result = {};\n    for(; start <= stop; start = 2 * start || 1)result[start] = start + unit;\n    return result;\n}\n// 3: '.75rem',\n// 4: '1rem',\n// 5: '1.25rem',\n// 6: '1.5rem',\n// 7: '1.75rem',\n// 8: '2rem',\n// 9: '2.25rem',\n// 10: '2.5rem',\nfunction linear(stop, unit = '', divideBy = 1, start = 0, step = 1, result = {}) // eslint-disable-next-line max-params\n{\n    for(; start <= stop; start += step)result[start] = start / divideBy + unit;\n    return result;\n}\nfunction alias(section) {\n    return ({ theme  })=>theme(section);\n}\nexport { theme as default };\n//# sourceMappingURL=baseTheme.js.map\n","import theme from './baseTheme.js';\nlet preflight = {\n    /*\n    1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n    2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n    */ '*,::before,::after': {\n        boxSizing: 'border-box',\n        /* 1 */ borderWidth: '0',\n        /* 2 */ borderStyle: 'solid',\n        /* 2 */ borderColor: 'theme(borderColor.DEFAULT, currentColor)'\n    },\n    /* 2 */ '::before,::after': {\n        '--tw-content': \"''\"\n    },\n    /*\n    1. Use a consistent sensible line-height in all browsers.\n    2. Prevent adjustments of font size after orientation changes in iOS.\n    3. Use a more readable tab size.\n    4. Use the user's configured `sans` font-family by default.\n    5. Use the user's configured `sans` font-feature-settings by default.\n    */ html: {\n        lineHeight: 1.5,\n        /* 1 */ WebkitTextSizeAdjust: '100%',\n        /* 2 */ MozTabSize: '4',\n        /* 3 */ tabSize: 4,\n        /* 3 */ fontFamily: `theme(fontFamily.sans, ${theme.fontFamily.sans})`,\n        /* 4 */ fontFeatureSettings: 'theme(fontFamily.sans[1].fontFeatureSettings, normal)'\n    },\n    /* 5 */ /*\n    1. Remove the margin in all browsers.\n    2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n    */ body: {\n        margin: '0',\n        /* 1 */ lineHeight: 'inherit'\n    },\n    /* 2 */ /*\n    1. Add the correct height in Firefox.\n    2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n    3. Ensure horizontal rules are visible by default.\n    */ hr: {\n        height: '0',\n        /* 1 */ color: 'inherit',\n        /* 2 */ borderTopWidth: '1px'\n    },\n    /* 3 */ /*\n    Add the correct text decoration in Chrome, Edge, and Safari.\n    */ 'abbr:where([title])': {\n        textDecoration: 'underline dotted'\n    },\n    /*\n    Remove the default font size and weight for headings.\n    */ 'h1,h2,h3,h4,h5,h6': {\n        fontSize: 'inherit',\n        fontWeight: 'inherit'\n    },\n    /*\n    Reset links to optimize for opt-in styling instead of opt-out.\n    */ a: {\n        color: 'inherit',\n        textDecoration: 'inherit'\n    },\n    /*\n    Add the correct font weight in Edge and Safari.\n    */ 'b,strong': {\n        fontWeight: 'bolder'\n    },\n    /*\n    1. Use the user's configured `mono` font family by default.\n    2. Use the user's configured `mono` font-feature-settings by default.\n    3. Correct the odd `em` font sizing in all browsers.\n    */ 'code,kbd,samp,pre': {\n        fontFamily: `theme(fontFamily.mono, ${theme.fontFamily.mono})`,\n        fontFeatureSettings: 'theme(fontFamily.mono[1].fontFeatureSettings, normal)',\n        fontSize: '1em'\n    },\n    /*\n    Add the correct font size in all browsers.\n    */ small: {\n        fontSize: '80%'\n    },\n    /*\n    Prevent `sub` and `sup` elements from affecting the line height in all browsers.\n    */ 'sub,sup': {\n        fontSize: '75%',\n        lineHeight: 0,\n        position: 'relative',\n        verticalAlign: 'baseline'\n    },\n    sub: {\n        bottom: '-0.25em'\n    },\n    sup: {\n        top: '-0.5em'\n    },\n    /*\n    1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n    2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n    3. Remove gaps between table borders by default.\n    */ table: {\n        textIndent: '0',\n        /* 1 */ borderColor: 'inherit',\n        /* 2 */ borderCollapse: 'collapse'\n    },\n    /* 3 */ /*\n    1. Change the font styles in all browsers.\n    2. Remove the margin in Firefox and Safari.\n    3. Remove default padding in all browsers.\n    */ 'button,input,optgroup,select,textarea': {\n        fontFamily: 'inherit',\n        /* 1 */ fontSize: '100%',\n        /* 1 */ lineHeight: 'inherit',\n        /* 1 */ color: 'inherit',\n        /* 1 */ margin: '0',\n        /* 2 */ padding: '0'\n    },\n    /* 3 */ /*\n    Remove the inheritance of text transform in Edge and Firefox.\n    */ 'button,select': {\n        textTransform: 'none'\n    },\n    /*\n    1. Correct the inability to style clickable types in iOS and Safari.\n    2. Remove default button styles.\n    */ \"button,[type='button'],[type='reset'],[type='submit']\": {\n        WebkitAppearance: 'button',\n        /* 1 */ backgroundColor: 'transparent',\n        /* 2 */ backgroundImage: 'none'\n    },\n    /* 4 */ /*\n    Use the modern Firefox focus style for all focusable elements.\n    */ ':-moz-focusring': {\n        outline: 'auto'\n    },\n    /*\n    Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n    */ ':-moz-ui-invalid': {\n        boxShadow: 'none'\n    },\n    /*\n    Add the correct vertical alignment in Chrome and Firefox.\n    */ progress: {\n        verticalAlign: 'baseline'\n    },\n    /*\n    Correct the cursor style of increment and decrement buttons in Safari.\n    */ '::-webkit-inner-spin-button,::-webkit-outer-spin-button': {\n        height: 'auto'\n    },\n    /*\n    1. Correct the odd appearance in Chrome and Safari.\n    2. Correct the outline style in Safari.\n    */ \"[type='search']\": {\n        WebkitAppearance: 'textfield',\n        /* 1 */ outlineOffset: '-2px'\n    },\n    /* 2 */ /*\n    Remove the inner padding in Chrome and Safari on macOS.\n    */ '::-webkit-search-decoration': {\n        WebkitAppearance: 'none'\n    },\n    /*\n    1. Correct the inability to style clickable types in iOS and Safari.\n    2. Change font properties to `inherit` in Safari.\n    */ '::-webkit-file-upload-button': {\n        WebkitAppearance: 'button',\n        /* 1 */ font: 'inherit'\n    },\n    /* 2 */ /*\n    Add the correct display in Chrome and Safari.\n    */ summary: {\n        display: 'list-item'\n    },\n    /*\n    Removes the default spacing and border for appropriate elements.\n    */ 'blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre': {\n        margin: '0'\n    },\n    fieldset: {\n        margin: '0',\n        padding: '0'\n    },\n    legend: {\n        padding: '0'\n    },\n    'ol,ul,menu': {\n        listStyle: 'none',\n        margin: '0',\n        padding: '0'\n    },\n    /*\n    Prevent resizing textareas horizontally by default.\n    */ textarea: {\n        resize: 'vertical'\n    },\n    /*\n    1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n    2. Set the default placeholder color to the user's configured gray 400 color.\n    */ 'input::placeholder,textarea::placeholder': {\n        opacity: 1,\n        /* 1 */ color: 'theme(colors.gray.400, #9ca3af)'\n    },\n    /* 2 */ /*\n    Set the default cursor for buttons.\n    */ 'button,[role=\"button\"]': {\n        cursor: 'pointer'\n    },\n    /*\n    Make sure disabled buttons don't get the pointer cursor.\n    */ ':disabled': {\n        cursor: 'default'\n    },\n    /*\n    1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n    2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n      This can trigger a poorly considered lint error in some tools but is included by design.\n    */ 'img,svg,video,canvas,audio,iframe,embed,object': {\n        display: 'block',\n        /* 1 */ verticalAlign: 'middle'\n    },\n    /* 2 */ /*\n    Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n    */ 'img,video': {\n        maxWidth: '100%',\n        height: 'auto'\n    },\n    /* Make elements with the HTML hidden attribute stay hidden by default */ '[hidden]': {\n        display: 'none'\n    }\n};\nexport { preflight as default };\n//# sourceMappingURL=preflight.js.map\n","import { match, arbitrary, matchTheme, mql, asArray, matchColor, toColorValue, toCSS } from '@twind/core';\n// indirection wrapper to remove autocomplete functions from production bundles\nlet rules = [\n    /* arbitrary properties: [paint-order:markers] */ match('\\\\[([-\\\\w]+):(.+)]', ({ 1: $1 , 2: $2  }, context)=>({\n            '@layer overrides': {\n                '&': {\n                    [$1]: arbitrary(`[${$2}]`, '', context)\n                }\n            }\n        })),\n    /* Styling based on parent and peer state */ match('(group|peer)([~/][^-[]+)?', ({ input  }, { h  })=>[\n            {\n                c: h(input)\n            }\n        ]),\n    /* LAYOUT */ matchTheme('aspect-', 'aspectRatio'),\n    match('container', (_, { theme  })=>{\n        let { screens =theme('screens') , center , padding  } = theme('container'), rules = {\n            width: '100%',\n            marginRight: center && 'auto',\n            marginLeft: center && 'auto',\n            ...paddingFor('xs')\n        };\n        for(let screen in screens){\n            let value = screens[screen];\n            'string' == typeof value && (rules[mql(value)] = {\n                '&': {\n                    maxWidth: value,\n                    ...paddingFor(screen)\n                }\n            });\n        }\n        return rules;\n        function paddingFor(screen) {\n            let value = padding && ('string' == typeof padding ? padding : padding[screen] || padding.DEFAULT);\n            if (value) return {\n                paddingRight: value,\n                paddingLeft: value\n            };\n        }\n    }),\n    // Content\n    matchTheme('content-', 'content', ({ _  })=>({\n            '--tw-content': _,\n            content: 'var(--tw-content)'\n        })),\n    // Box Decoration Break\n    match('(?:box-)?decoration-(slice|clone)', 'boxDecorationBreak'),\n    // Box Sizing\n    match('box-(border|content)', 'boxSizing', ({ 1: $1  })=>$1 + '-box'),\n    // Display\n    match('hidden', {\n        display: 'none'\n    }),\n    // Table Layout\n    match('table-(auto|fixed)', 'tableLayout'),\n    match([\n        '(block|flex|table|grid|inline|contents|flow-root|list-item)',\n        '(inline-(block|flex|table|grid))',\n        '(table-(caption|cell|column|row|(column|row|footer|header)-group))'\n    ], 'display'),\n    // Floats\n    '(float)-(left|right|none)',\n    // Clear\n    '(clear)-(left|right|none|both)',\n    // Overflow\n    '(overflow(?:-[xy])?)-(auto|hidden|clip|visible|scroll)',\n    // Isolation\n    '(isolation)-(auto)',\n    // Isolation\n    match('isolate', 'isolation'),\n    // Object Fit\n    match('object-(contain|cover|fill|none|scale-down)', 'objectFit'),\n    // Object Position\n    matchTheme('object-', 'objectPosition'),\n    match('object-(top|bottom|center|(left|right)(-(top|bottom))?)', 'objectPosition', spacify),\n    // Overscroll Behavior\n    match('overscroll(-[xy])?-(auto|contain|none)', ({ 1: $1 = '' , 2: $2  })=>({\n            ['overscroll-behavior' + $1]: $2\n        })),\n    // Position\n    match('(static|fixed|absolute|relative|sticky)', 'position'),\n    // Top / Right / Bottom / Left\n    matchTheme('-?inset(-[xy])?(?:$|-)', 'inset', ({ 1: $1 , _  })=>({\n            top: '-x' != $1 && _,\n            right: '-y' != $1 && _,\n            bottom: '-x' != $1 && _,\n            left: '-y' != $1 && _\n        })),\n    matchTheme('-?(top|bottom|left|right)(?:$|-)', 'inset'),\n    // Visibility\n    match('(visible|collapse)', 'visibility'),\n    match('invisible', {\n        visibility: 'hidden'\n    }),\n    // Z-Index\n    matchTheme('-?z-', 'zIndex'),\n    /* FLEXBOX */ // Flex Direction\n    match('flex-((row|col)(-reverse)?)', 'flexDirection', columnify),\n    match('flex-(wrap|wrap-reverse|nowrap)', 'flexWrap'),\n    matchTheme('(flex-(?:grow|shrink))(?:$|-)'),\n    /*, 'flex-grow' | flex-shrink */ matchTheme('(flex)-'),\n    /*, 'flex' */ matchTheme('grow(?:$|-)', 'flexGrow'),\n    matchTheme('shrink(?:$|-)', 'flexShrink'),\n    matchTheme('basis-', 'flexBasis'),\n    matchTheme('-?(order)-'),\n    /*, 'order' */ '-?(order)-(\\\\d+)',\n    /* GRID */ // Grid Template Columns\n    matchTheme('grid-cols-', 'gridTemplateColumns'),\n    match('grid-cols-(\\\\d+)', 'gridTemplateColumns', gridTemplate),\n    // Grid Column Start / End\n    matchTheme('col-', 'gridColumn'),\n    match('col-(span)-(\\\\d+)', 'gridColumn', span),\n    matchTheme('col-start-', 'gridColumnStart'),\n    match('col-start-(auto|\\\\d+)', 'gridColumnStart'),\n    matchTheme('col-end-', 'gridColumnEnd'),\n    match('col-end-(auto|\\\\d+)', 'gridColumnEnd'),\n    // Grid Template Rows\n    matchTheme('grid-rows-', 'gridTemplateRows'),\n    match('grid-rows-(\\\\d+)', 'gridTemplateRows', gridTemplate),\n    // Grid Row Start / End\n    matchTheme('row-', 'gridRow'),\n    match('row-(span)-(\\\\d+)', 'gridRow', span),\n    matchTheme('row-start-', 'gridRowStart'),\n    match('row-start-(auto|\\\\d+)', 'gridRowStart'),\n    matchTheme('row-end-', 'gridRowEnd'),\n    match('row-end-(auto|\\\\d+)', 'gridRowEnd'),\n    // Grid Auto Flow\n    match('grid-flow-((row|col)(-dense)?)', 'gridAutoFlow', (match)=>spacify(columnify(match))),\n    match('grid-flow-(dense)', 'gridAutoFlow'),\n    // Grid Auto Columns\n    matchTheme('auto-cols-', 'gridAutoColumns'),\n    // Grid Auto Rows\n    matchTheme('auto-rows-', 'gridAutoRows'),\n    // Gap\n    matchTheme('gap-x(?:$|-)', 'gap', 'columnGap'),\n    matchTheme('gap-y(?:$|-)', 'gap', 'rowGap'),\n    matchTheme('gap(?:$|-)', 'gap'),\n    /* BOX ALIGNMENT */ // Justify Items\n    // Justify Self\n    '(justify-(?:items|self))-',\n    // Justify Content\n    match('justify-', 'justifyContent', convertContentValue),\n    // Align Content\n    // Align Items\n    // Align Self\n    match('(content|items|self)-', (match)=>({\n            ['align-' + match[1]]: convertContentValue(match)\n        })),\n    // Place Content\n    // Place Items\n    // Place Self\n    match('(place-(content|items|self))-', ({ 1: $1 , $$  })=>({\n            [$1]: ('wun'.includes($$[3]) ? 'space-' : '') + $$\n        })),\n    /* SPACING */ // Padding\n    matchTheme('p([xytrbl])?(?:$|-)', 'padding', edge('padding')),\n    // Margin\n    matchTheme('-?m([xytrbl])?(?:$|-)', 'margin', edge('margin')),\n    // Space Between\n    matchTheme('-?space-(x|y)(?:$|-)', 'space', ({ 1: $1 , _  })=>({\n            '&>:not([hidden])~:not([hidden])': {\n                [`--tw-space-${$1}-reverse`]: '0',\n                ['margin-' + ({\n                    y: 'top',\n                    x: 'left'\n                })[$1]]: `calc(${_} * calc(1 - var(--tw-space-${$1}-reverse)))`,\n                ['margin-' + ({\n                    y: 'bottom',\n                    x: 'right'\n                })[$1]]: `calc(${_} * var(--tw-space-${$1}-reverse))`\n            }\n        })),\n    match('space-(x|y)-reverse', ({ 1: $1  })=>({\n            '&>:not([hidden])~:not([hidden])': {\n                [`--tw-space-${$1}-reverse`]: '1'\n            }\n        })),\n    /* SIZING */ // Width\n    matchTheme('w-', 'width'),\n    // Min-Width\n    matchTheme('min-w-', 'minWidth'),\n    // Max-Width\n    matchTheme('max-w-', 'maxWidth'),\n    // Height\n    matchTheme('h-', 'height'),\n    // Min-Height\n    matchTheme('min-h-', 'minHeight'),\n    // Max-Height\n    matchTheme('max-h-', 'maxHeight'),\n    /* TYPOGRAPHY */ // Font Weight\n    matchTheme('font-', 'fontWeight'),\n    // Font Family\n    matchTheme('font-', 'fontFamily', ({ _  })=>{\n        return 'string' == typeof (_ = asArray(_))[1] ? {\n            fontFamily: join(_)\n        } : {\n            fontFamily: join(_[0]),\n            ..._[1]\n        };\n    }),\n    // Font Smoothing\n    match('antialiased', {\n        WebkitFontSmoothing: 'antialiased',\n        MozOsxFontSmoothing: 'grayscale'\n    }),\n    match('subpixel-antialiased', {\n        WebkitFontSmoothing: 'auto',\n        MozOsxFontSmoothing: 'auto'\n    }),\n    // Font Style\n    match('italic', 'fontStyle'),\n    match('not-italic', {\n        fontStyle: 'normal'\n    }),\n    // Font Variant Numeric\n    match('(ordinal|slashed-zero|(normal|lining|oldstyle|proportional|tabular)-nums|(diagonal|stacked)-fractions)', ({ 1: $1 , 2: $2 = '' , 3: $3  })=>// normal-nums\n        'normal' == $2 ? {\n            fontVariantNumeric: 'normal'\n        } : {\n            ['--tw-' + ($3 ? // diagonal-fractions, stacked-fractions\n            'numeric-fraction' : 'pt'.includes($2[0]) ? // proportional-nums, tabular-nums\n            'numeric-spacing' : $2 ? // lining-nums, oldstyle-nums\n            'numeric-figure' : // ordinal, slashed-zero\n            $1)]: $1,\n            fontVariantNumeric: 'var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)',\n            ...asDefaults({\n                '--tw-ordinal': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-slashed-zero': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-numeric-figure': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-numeric-spacing': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-numeric-fraction': 'var(--tw-empty,/*!*/ /*!*/)'\n            })\n        }),\n    // Letter Spacing\n    matchTheme('tracking-', 'letterSpacing'),\n    // Line Height\n    matchTheme('leading-', 'lineHeight'),\n    // List Style Position\n    match('list-(inside|outside)', 'listStylePosition'),\n    // List Style Type\n    matchTheme('list-', 'listStyleType'),\n    match('list-', 'listStyleType'),\n    // Placeholder Opacity\n    matchTheme('placeholder-opacity-', 'placeholderOpacity', ({ _  })=>({\n            '&::placeholder': {\n                '--tw-placeholder-opacity': _\n            }\n        })),\n    // Placeholder Color\n    matchColor('placeholder-', {\n        property: 'color',\n        selector: '&::placeholder'\n    }),\n    // Text Alignment\n    match('text-(left|center|right|justify|start|end)', 'textAlign'),\n    match('text-(ellipsis|clip)', 'textOverflow'),\n    // Text Opacity\n    matchTheme('text-opacity-', 'textOpacity', '--tw-text-opacity'),\n    // Text Color\n    matchColor('text-', {\n        property: 'color'\n    }),\n    // Font Size\n    matchTheme('text-', 'fontSize', ({ _  })=>'string' == typeof _ ? {\n            fontSize: _\n        } : {\n            fontSize: _[0],\n            ...'string' == typeof _[1] ? {\n                lineHeight: _[1]\n            } : _[1]\n        }),\n    // Text Indent\n    matchTheme('indent-', 'textIndent'),\n    // Text Decoration\n    match('(overline|underline|line-through)', 'textDecorationLine'),\n    match('no-underline', {\n        textDecorationLine: 'none'\n    }),\n    // Text Underline offset\n    matchTheme('underline-offset-', 'textUnderlineOffset'),\n    // Text Decoration Color\n    matchColor('decoration-', {\n        section: 'textDecorationColor',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    // Text Decoration Thickness\n    matchTheme('decoration-', 'textDecorationThickness'),\n    // Text Decoration Style\n    match('decoration-', 'textDecorationStyle'),\n    // Text Transform\n    match('(uppercase|lowercase|capitalize)', 'textTransform'),\n    match('normal-case', {\n        textTransform: 'none'\n    }),\n    // Text Overflow\n    match('truncate', {\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n        textOverflow: 'ellipsis'\n    }),\n    // Vertical Alignment\n    match('align-', 'verticalAlign'),\n    // Whitespace\n    match('whitespace-', 'whiteSpace'),\n    // Word Break\n    match('break-normal', {\n        wordBreak: 'normal',\n        overflowWrap: 'normal'\n    }),\n    match('break-words', {\n        overflowWrap: 'break-word'\n    }),\n    match('break-all', {\n        wordBreak: 'break-all'\n    }),\n    match('break-keep', {\n        wordBreak: 'keep-all'\n    }),\n    // Caret Color\n    matchColor('caret-', {\n        // section: 'caretColor',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    // Accent Color\n    matchColor('accent-', {\n        // section: 'accentColor',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    // Gradient Color Stops\n    match('bg-gradient-to-([trbl]|[tb][rl])', 'backgroundImage', ({ 1: $1  })=>`linear-gradient(to ${position($1, ' ')},var(--tw-gradient-stops))`),\n    matchColor('from-', {\n        section: 'gradientColorStops',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }, ({ _  })=>({\n            '--tw-gradient-from': _.value,\n            '--tw-gradient-to': _.color({\n                opacityValue: '0'\n            }),\n            '--tw-gradient-stops': \"var(--tw-gradient-from),var(--tw-gradient-to)\"\n        })),\n    matchColor('via-', {\n        section: 'gradientColorStops',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }, ({ _  })=>({\n            '--tw-gradient-to': _.color({\n                opacityValue: '0'\n            }),\n            '--tw-gradient-stops': `var(--tw-gradient-from),${_.value},var(--tw-gradient-to)`\n        })),\n    matchColor('to-', {\n        section: 'gradientColorStops',\n        property: '--tw-gradient-to',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    /* BACKGROUNDS */ // Background Attachment\n    match('bg-(fixed|local|scroll)', 'backgroundAttachment'),\n    // Background Origin\n    match('bg-origin-(border|padding|content)', 'backgroundOrigin', ({ 1: $1  })=>$1 + '-box'),\n    // Background Repeat\n    match([\n        'bg-(no-repeat|repeat(-[xy])?)',\n        'bg-repeat-(round|space)'\n    ], 'backgroundRepeat'),\n    // Background Blend Mode\n    match('bg-blend-', 'backgroundBlendMode'),\n    // Background Clip\n    match('bg-clip-(border|padding|content|text)', 'backgroundClip', ({ 1: $1  })=>$1 + ('text' == $1 ? '' : '-box')),\n    // Background Opacity\n    matchTheme('bg-opacity-', 'backgroundOpacity', '--tw-bg-opacity'),\n    // Background Color\n    // bg-${backgroundColor}/${backgroundOpacity}\n    matchColor('bg-', {\n        section: 'backgroundColor'\n    }),\n    // Background Image\n    // supported arbitrary types are: length, color, angle, list\n    matchTheme('bg-', 'backgroundImage'),\n    // Background Position\n    matchTheme('bg-', 'backgroundPosition'),\n    match('bg-(top|bottom|center|(left|right)(-(top|bottom))?)', 'backgroundPosition', spacify),\n    // Background Size\n    matchTheme('bg-', 'backgroundSize'),\n    /* BORDERS */ // Border Radius\n    matchTheme('rounded(?:$|-)', 'borderRadius'),\n    matchTheme('rounded-([trbl]|[tb][rl])(?:$|-)', 'borderRadius', ({ 1: $1 , _  })=>{\n        let corners = {\n            t: [\n                'tl',\n                'tr'\n            ],\n            r: [\n                'tr',\n                'br'\n            ],\n            b: [\n                'bl',\n                'br'\n            ],\n            l: [\n                'bl',\n                'tl'\n            ]\n        }[$1] || [\n            $1,\n            $1\n        ];\n        return {\n            [`border-${position(corners[0])}-radius`]: _,\n            [`border-${position(corners[1])}-radius`]: _\n        };\n    }),\n    // Border Collapse\n    match('border-(collapse|separate)', 'borderCollapse'),\n    // Border Opacity\n    matchTheme('border-opacity(?:$|-)', 'borderOpacity', '--tw-border-opacity'),\n    // Border Style\n    match('border-(solid|dashed|dotted|double|none)', 'borderStyle'),\n    // Border Spacing\n    matchTheme('border-spacing(-[xy])?(?:$|-)', 'borderSpacing', ({ 1: $1 , _  })=>({\n            ...asDefaults({\n                '--tw-border-spacing-x': '0',\n                '--tw-border-spacing-y': '0'\n            }),\n            ['--tw-border-spacing' + ($1 || '-x')]: _,\n            ['--tw-border-spacing' + ($1 || '-y')]: _,\n            'border-spacing': 'var(--tw-border-spacing-x) var(--tw-border-spacing-y)'\n        })),\n    // Border Color\n    matchColor('border-([xytrbl])-', {\n        section: 'borderColor'\n    }, edge('border', 'Color')),\n    matchColor('border-'),\n    // Border Width\n    matchTheme('border-([xytrbl])(?:$|-)', 'borderWidth', edge('border', 'Width')),\n    matchTheme('border(?:$|-)', 'borderWidth'),\n    // Divide Opacity\n    matchTheme('divide-opacity(?:$|-)', 'divideOpacity', ({ _  })=>({\n            '&>:not([hidden])~:not([hidden])': {\n                '--tw-divide-opacity': _\n            }\n        })),\n    // Divide Style\n    match('divide-(solid|dashed|dotted|double|none)', ({ 1: $1  })=>({\n            '&>:not([hidden])~:not([hidden])': {\n                borderStyle: $1\n            }\n        })),\n    // Divide Width\n    match('divide-([xy]-reverse)', ({ 1: $1  })=>({\n            '&>:not([hidden])~:not([hidden])': {\n                ['--tw-divide-' + $1]: '1'\n            }\n        })),\n    matchTheme('divide-([xy])(?:$|-)', 'divideWidth', ({ 1: $1 , _  })=>{\n        let edges = {\n            x: 'lr',\n            y: 'tb'\n        }[$1];\n        return {\n            '&>:not([hidden])~:not([hidden])': {\n                [`--tw-divide-${$1}-reverse`]: '0',\n                [`border-${position(edges[0])}Width`]: `calc(${_} * calc(1 - var(--tw-divide-${$1}-reverse)))`,\n                [`border-${position(edges[1])}Width`]: `calc(${_} * var(--tw-divide-${$1}-reverse))`\n            }\n        };\n    }),\n    // Divide Color\n    matchColor('divide-', {\n        // section: $0.replace('-', 'Color') -> 'divideColor'\n        property: 'borderColor',\n        // opacityVariable: '--tw-border-opacity',\n        // opacitySection: section.replace('Color', 'Opacity') -> 'divideOpacity'\n        selector: '&>:not([hidden])~:not([hidden])'\n    }),\n    // Ring Offset Opacity\n    matchTheme('ring-opacity(?:$|-)', 'ringOpacity', '--tw-ring-opacity'),\n    // Ring Offset Color\n    matchColor('ring-offset-', {\n        // section: 'ringOffsetColor',\n        property: '--tw-ring-offset-color',\n        opacityVariable: false\n    }),\n    // opacitySection: section.replace('Color', 'Opacity') -> 'ringOffsetOpacity'\n    // Ring Offset Width\n    matchTheme('ring-offset(?:$|-)', 'ringOffsetWidth', '--tw-ring-offset-width'),\n    // Ring Inset\n    match('ring-inset', {\n        '--tw-ring-inset': 'inset'\n    }),\n    // Ring Color\n    matchColor('ring-', {\n        // section: 'ringColor',\n        property: '--tw-ring-color'\n    }),\n    // opacityVariable: '--tw-ring-opacity',\n    // opacitySection: section.replace('Color', 'Opacity') -> 'ringOpacity'\n    // Ring Width\n    matchTheme('ring(?:$|-)', 'ringWidth', ({ _  }, { theme  })=>({\n            ...asDefaults({\n                '--tw-ring-offset-shadow': '0 0 #0000',\n                '--tw-ring-shadow': '0 0 #0000',\n                '--tw-shadow': '0 0 #0000',\n                '--tw-shadow-colored': '0 0 #0000',\n                // Within own declaration to have the defaults above to be merged with defaults from shadow\n                '&': {\n                    '--tw-ring-inset': 'var(--tw-empty,/*!*/ /*!*/)',\n                    '--tw-ring-offset-width': theme('ringOffsetWidth', '', '0px'),\n                    '--tw-ring-offset-color': toColorValue(theme('ringOffsetColor', '', '#fff')),\n                    '--tw-ring-color': toColorValue(theme('ringColor', '', '#93c5fd'), {\n                        opacityVariable: '--tw-ring-opacity'\n                    }),\n                    '--tw-ring-opacity': theme('ringOpacity', '', '0.5')\n                }\n            }),\n            '--tw-ring-offset-shadow': \"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)\",\n            '--tw-ring-shadow': `var(--tw-ring-inset) 0 0 0 calc(${_} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,\n            boxShadow: \"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)\"\n        })),\n    /* EFFECTS */ // Box Shadow Color\n    matchColor('shadow-', {\n        section: 'boxShadowColor',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }, ({ _  })=>({\n            '--tw-shadow-color': _.value,\n            '--tw-shadow': 'var(--tw-shadow-colored)'\n        })),\n    // Box Shadow\n    matchTheme('shadow(?:$|-)', 'boxShadow', ({ _  })=>({\n            ...asDefaults({\n                '--tw-ring-offset-shadow': '0 0 #0000',\n                '--tw-ring-shadow': '0 0 #0000',\n                '--tw-shadow': '0 0 #0000',\n                '--tw-shadow-colored': '0 0 #0000'\n            }),\n            '--tw-shadow': join(_),\n            // replace all colors with reference to --tw-shadow-colored\n            // this matches colors after non-comma char (keyword, offset) before comma or the end\n            '--tw-shadow-colored': join(_).replace(/([^,]\\s+)(?:#[a-f\\d]+|(?:(?:hsl|rgb)a?|hwb|lab|lch|color|var)\\(.+?\\)|[a-z]+)(,|$)/g, '$1var(--tw-shadow-color)$2'),\n            boxShadow: \"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)\"\n        })),\n    // Opacity\n    matchTheme('(opacity)-'),\n    /*, 'opacity' */ // Mix Blend Mode\n    match('mix-blend-', 'mixBlendMode'),\n    /* FILTERS */ ...filter(),\n    ...filter('backdrop-'),\n    /* TRANSITIONS AND ANIMATION */ // Transition Property\n    matchTheme('transition(?:$|-)', 'transitionProperty', (match, { theme  })=>({\n            transitionProperty: join(match),\n            transitionTimingFunction: 'none' == match._ ? void 0 : join(theme('transitionTimingFunction', '')),\n            transitionDuration: 'none' == match._ ? void 0 : join(theme('transitionDuration', ''))\n        })),\n    // Transition Duration\n    matchTheme('duration(?:$|-)', 'transitionDuration', 'transitionDuration', join),\n    // Transition Timing Function\n    matchTheme('ease(?:$|-)', 'transitionTimingFunction', 'transitionTimingFunction', join),\n    // Transition Delay\n    matchTheme('delay(?:$|-)', 'transitionDelay', 'transitionDelay', join),\n    matchTheme('animate(?:$|-)', 'animation', (match, { theme , h , e  })=>{\n        let animation = join(match), // Try to auto inject keyframes\n        parts = animation.split(' '), keyframeValues = theme('keyframes', parts[0]);\n        return keyframeValues ? {\n            ['@keyframes ' + (parts[0] = e(h(parts[0])))]: keyframeValues,\n            animation: parts.join(' ')\n        } : {\n            animation\n        };\n    }),\n    /* TRANSFORMS */ // Transform\n    '(transform)-(none)',\n    match('transform', tranformDefaults),\n    match('transform-(cpu|gpu)', ({ 1: $1  })=>({\n            '--tw-transform': transformValue('gpu' == $1)\n        })),\n    // Scale\n    matchTheme('scale(-[xy])?-', 'scale', ({ 1: $1 , _  })=>({\n            ['--tw-scale' + ($1 || '-x')]: _,\n            ['--tw-scale' + ($1 || '-y')]: _,\n            ...tranformDefaults()\n        })),\n    // Rotate\n    matchTheme('-?(rotate)-', 'rotate', transform),\n    // Translate\n    matchTheme('-?(translate-[xy])-', 'translate', transform),\n    // Skew\n    matchTheme('-?(skew-[xy])-', 'skew', transform),\n    // Transform Origin\n    match('origin-(center|((top|bottom)(-(left|right))?)|left|right)', 'transformOrigin', spacify),\n    /* INTERACTIVITY */ // Appearance\n    '(appearance)-',\n    // Columns\n    matchTheme('(columns)-'),\n    /*, 'columns' */ '(columns)-(\\\\d+)',\n    // Break Before, After and Inside\n    '(break-(?:before|after|inside))-',\n    // Cursor\n    matchTheme('(cursor)-'),\n    /*, 'cursor' */ '(cursor)-',\n    // Scroll Snap Type\n    match('snap-(none)', 'scroll-snap-type'),\n    match('snap-(x|y|both)', ({ 1: $1  })=>({\n            ...asDefaults({\n                '--tw-scroll-snap-strictness': 'proximity'\n            }),\n            'scroll-snap-type': $1 + ' var(--tw-scroll-snap-strictness)'\n        })),\n    match('snap-(mandatory|proximity)', '--tw-scroll-snap-strictness'),\n    // Scroll Snap Align\n    match('snap-(?:(start|end|center)|align-(none))', 'scroll-snap-align'),\n    // Scroll Snap Stop\n    match('snap-(normal|always)', 'scroll-snap-stop'),\n    match('scroll-(auto|smooth)', 'scroll-behavior'),\n    // Scroll Margin\n    // Padding\n    matchTheme('scroll-p([xytrbl])?(?:$|-)', 'padding', edge('scroll-padding')),\n    // Margin\n    matchTheme('-?scroll-m([xytrbl])?(?:$|-)', 'scroll-margin', edge('scroll-margin')),\n    // Touch Action\n    match('touch-(auto|none|manipulation)', 'touch-action'),\n    match('touch-(pinch-zoom|pan-(?:(x|left|right)|(y|up|down)))', ({ 1: $1 , 2: $2 , 3: $3  })=>({\n            ...asDefaults({\n                '--tw-pan-x': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-pan-y': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-pinch-zoom': 'var(--tw-empty,/*!*/ /*!*/)',\n                '--tw-touch-action': 'var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)'\n            }),\n            // x, left, right -> pan-x\n            // y, up, down -> pan-y\n            // -> pinch-zoom\n            [`--tw-${$2 ? 'pan-x' : $3 ? 'pan-y' : $1}`]: $1,\n            'touch-action': 'var(--tw-touch-action)'\n        })),\n    // Outline Style\n    match('outline-none', {\n        outline: '2px solid transparent',\n        'outline-offset': '2px'\n    }),\n    match('outline', {\n        outlineStyle: 'solid'\n    }),\n    match('outline-(dashed|dotted|double)', 'outlineStyle'),\n    // Outline Offset\n    matchTheme('-?(outline-offset)-'),\n    /*, 'outlineOffset'*/ // Outline Color\n    matchColor('outline-', {\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    // Outline Width\n    matchTheme('outline-', 'outlineWidth'),\n    // Pointer Events\n    '(pointer-events)-',\n    // Will Change\n    matchTheme('(will-change)-'),\n    /*, 'willChange' */ '(will-change)-',\n    // Resize\n    [\n        'resize(?:-(none|x|y))?',\n        'resize',\n        ({ 1: $1  })=>({\n                x: 'horizontal',\n                y: 'vertical'\n            })[$1] || $1 || 'both'\n    ],\n    // User Select\n    match('select-(none|text|all|auto)', 'userSelect'),\n    /* SVG */ // Fill, Stroke\n    matchColor('fill-', {\n        section: 'fill',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    matchColor('stroke-', {\n        section: 'stroke',\n        opacityVariable: false,\n        opacitySection: 'opacity'\n    }),\n    // Stroke Width\n    matchTheme('stroke-', 'strokeWidth'),\n    /* ACCESSIBILITY */ // Screen Readers\n    match('sr-only', {\n        position: 'absolute',\n        width: '1px',\n        height: '1px',\n        padding: '0',\n        margin: '-1px',\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n        clip: 'rect(0,0,0,0)',\n        borderWidth: '0'\n    }),\n    match('not-sr-only', {\n        position: 'static',\n        width: 'auto',\n        height: 'auto',\n        padding: '0',\n        margin: '0',\n        overflow: 'visible',\n        whiteSpace: 'normal',\n        clip: 'auto'\n    })\n];\nfunction spacify(value) {\n    return ('string' == typeof value ? value : value[1]).replace(/-/g, ' ').trim();\n}\nfunction columnify(value) {\n    return ('string' == typeof value ? value : value[1]).replace('col', 'column');\n}\nfunction position(shorthand, separator = '-') {\n    let longhand = [];\n    for (let short of shorthand)longhand.push({\n        t: 'top',\n        r: 'right',\n        b: 'bottom',\n        l: 'left'\n    }[short]);\n    return longhand.join(separator);\n}\nfunction join(value) {\n    return value && '' + (value._ || value);\n}\nfunction convertContentValue({ $$  }) {\n    return (({\n        // /* aut*/ o: '',\n        /* sta*/ r: /*t*/ 'flex-',\n        /* end*/ '': 'flex-',\n        // /* cen*/ t /*er*/: '',\n        /* bet*/ w: /*een*/ 'space-',\n        /* aro*/ u: /*nd*/ 'space-',\n        /* eve*/ n: /*ly*/ 'space-'\n    })[$$[3] || ''] || '') + $$;\n}\nfunction edge(propertyPrefix, propertySuffix = '') {\n    return ({ 1: $1 , _  })=>{\n        let edges = {\n            x: 'lr',\n            y: 'tb'\n        }[$1] || $1 + $1;\n        return edges ? {\n            ...toCSS(propertyPrefix + '-' + position(edges[0]) + propertySuffix, _),\n            ...toCSS(propertyPrefix + '-' + position(edges[1]) + propertySuffix, _)\n        } : toCSS(propertyPrefix + propertySuffix, _);\n    };\n}\nfunction filter(prefix = '') {\n    let filters = [\n        'blur',\n        'brightness',\n        'contrast',\n        'grayscale',\n        'hue-rotate',\n        'invert',\n        prefix && 'opacity',\n        'saturate',\n        'sepia',\n        !prefix && 'drop-shadow'\n    ].filter(Boolean), defaults = {};\n    // first create properties defaults\n    for (let key of filters)defaults[`--tw-${prefix}${key}`] = 'var(--tw-empty,/*!*/ /*!*/)';\n    return defaults = {\n        // move defaults\n        ...asDefaults(defaults),\n        // add default filter which allows standalone usage\n        [`${prefix}filter`]: filters.map((key)=>`var(--tw-${prefix}${key})`).join(' ')\n    }, [\n        `(${prefix}filter)-(none)`,\n        match(`${prefix}filter`, defaults),\n        ...filters.map((key)=>matchTheme(// hue-rotate can be negated\n            `${'h' == key[0] ? '-?' : ''}(${prefix}${key})(?:$|-)`, key, ({ 1: $1 , _  })=>({\n                    [`--tw-${$1}`]: asArray(_).map((value)=>`${key}(${value})`).join(' '),\n                    ...defaults\n                })))\n    ];\n}\nfunction transform({ 1: $1 , _  }) {\n    return {\n        ['--tw-' + $1]: _,\n        ...tranformDefaults()\n    };\n}\nfunction tranformDefaults() {\n    return {\n        ...asDefaults({\n            '--tw-translate-x': '0',\n            '--tw-translate-y': '0',\n            '--tw-rotate': '0',\n            '--tw-skew-x': '0',\n            '--tw-skew-y': '0',\n            '--tw-scale-x': '1',\n            '--tw-scale-y': '1',\n            '--tw-transform': transformValue()\n        }),\n        transform: 'var(--tw-transform)'\n    };\n}\nfunction transformValue(gpu) {\n    return [\n        gpu ? // -gpu\n        'translate3d(var(--tw-translate-x),var(--tw-translate-y),0)' : 'translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y))',\n        'rotate(var(--tw-rotate))',\n        'skewX(var(--tw-skew-x))',\n        'skewY(var(--tw-skew-y))',\n        'scaleX(var(--tw-scale-x))',\n        'scaleY(var(--tw-scale-y))'\n    ].join(' ');\n}\nfunction span({ 1: $1 , 2: $2  }) {\n    return `${$1} ${$2} / ${$1} ${$2}`;\n}\nfunction gridTemplate({ 1: $1  }) {\n    return `repeat(${$1},minmax(0,1fr))`;\n}\nfunction asDefaults(props) {\n    return {\n        '@layer defaults': {\n            '*,::before,::after': props,\n            '::backdrop': props\n        }\n    };\n}\nexport { rules as default };\n//# sourceMappingURL=rules.js.map\n","import { normalize, arbitrary } from '@twind/core';\n// indirection wrapper to remove autocomplete functions from production bundles\nlet variants = [\n    [\n        'sticky',\n        '@supports ((position: -webkit-sticky) or (position:sticky))'\n    ],\n    [\n        'motion-reduce',\n        '@media (prefers-reduced-motion:reduce)'\n    ],\n    [\n        'motion-safe',\n        '@media (prefers-reduced-motion:no-preference)'\n    ],\n    [\n        'print',\n        '@media print'\n    ],\n    [\n        '(portrait|landscape)',\n        ({ 1: $1  })=>`@media (orientation:${$1})`\n    ],\n    [\n        'contrast-(more|less)',\n        ({ 1: $1  })=>`@media (prefers-contrast:${$1})`\n    ],\n    [\n        '(first-(letter|line)|placeholder|backdrop|before|after)',\n        ({ 1: $1  })=>`&::${$1}`\n    ],\n    [\n        '(marker|selection)',\n        ({ 1: $1  })=>`& *::${$1},&::${$1}`\n    ],\n    [\n        'file',\n        '&::file-selector-button'\n    ],\n    [\n        '(first|last|only)',\n        ({ 1: $1  })=>`&:${$1}-child`\n    ],\n    [\n        'even',\n        '&:nth-child(2n)'\n    ],\n    [\n        'odd',\n        '&:nth-child(odd)'\n    ],\n    [\n        'open',\n        '&[open]'\n    ],\n    // All other pseudo classes are already supported by twind\n    [\n        '(aria|data)-',\n        ({ 1: $1 , /* aria or data */ $$  }, /* everything after the dash */ context)=>$$ && `&[${$1}-${// aria-asc or data-checked -> from theme\n            context.theme($1, $$) || // aria-[...] or data-[...]\n            arbitrary($$, '', context) || // default handling\n            `${$$}=\"true\"`}]`\n    ],\n    /* Styling based on parent and peer state */ // Groups classes like: group-focus and group-hover\n    // these need to add a marker selector with the pseudo class\n    // => '.group:focus .group-focus:selector'\n    [\n        '((group|peer)(~[^-[]+)?)(-\\\\[(.+)]|[-[].+?)(\\\\/.+)?',\n        ({ 2: type , 3: name = '' , 4: $4 , 5: $5 = '' , 6: label = name  }, { e , h , v  })=>{\n            let selector = normalize($5) || ('[' == $4[0] ? $4 : v($4.slice(1)));\n            // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n            return `${(selector.includes('&') ? selector : '&' + selector).replace(/&/g, `:merge(.${e(h(type + label))})`)}${'p' == type[0] ? '~' : ' '}&`;\n        }\n    ],\n    // direction variants\n    [\n        '(ltr|rtl)',\n        ({ 1: $1  })=>`[dir=\"${$1}\"] &`\n    ],\n    [\n        'supports-',\n        ({ $$  }, /* everything after the dash */ context)=>{\n            $$ && ($$ = context.theme('supports', $$) || arbitrary($$, '', context));\n            if ($$) return $$.includes(':') || ($$ += ':var(--tw)'), /^\\w*\\s*\\(/.test($$) || ($$ = `(${$$})`), // Chrome has a bug where `(condtion1)or(condition2)` is not valid\n            // But `(condition1) or (condition2)` is supported.\n            `@supports ${$$.replace(/\\b(and|or|not)\\b/g, ' $1 ').trim()}`;\n        }\n    ],\n    [\n        'max-',\n        ({ $$  }, context)=>{\n            $$ && ($$ = context.theme('screens', $$) || arbitrary($$, '', context));\n            if ('string' == typeof $$) return `@media not all and (min-width:${$$})`;\n        }\n    ],\n    [\n        'min-',\n        ({ $$  }, context)=>{\n            return $$ && ($$ = arbitrary($$, '', context)), $$ && `@media (min-width:${$$})`;\n        }\n    ],\n    // Arbitrary variants\n    [\n        /^\\[(.+)]$/,\n        ({ 1: $1  })=>/[&@]/.test($1) && normalize($1).replace(/[}]+$/, '').split('{')\n    ]\n];\nexport { variants as default };\n//# sourceMappingURL=variants.js.map\n","// Source from https://github.com/tailwindlabs/tailwindcss/blob/master/src/public/colors.js\n/**\n * @module @twind/preset-tailwind/colors\n */ let slate = {\n    50: '#f8fafc',\n    100: '#f1f5f9',\n    200: '#e2e8f0',\n    300: '#cbd5e1',\n    400: '#94a3b8',\n    500: '#64748b',\n    600: '#475569',\n    700: '#334155',\n    800: '#1e293b',\n    900: '#0f172a'\n}, gray = {\n    50: '#f9fafb',\n    100: '#f3f4f6',\n    200: '#e5e7eb',\n    300: '#d1d5db',\n    400: '#9ca3af',\n    500: '#6b7280',\n    600: '#4b5563',\n    700: '#374151',\n    800: '#1f2937',\n    900: '#111827'\n}, zinc = {\n    50: '#fafafa',\n    100: '#f4f4f5',\n    200: '#e4e4e7',\n    300: '#d4d4d8',\n    400: '#a1a1aa',\n    500: '#71717a',\n    600: '#52525b',\n    700: '#3f3f46',\n    800: '#27272a',\n    900: '#18181b'\n}, neutral = {\n    50: '#fafafa',\n    100: '#f5f5f5',\n    200: '#e5e5e5',\n    300: '#d4d4d4',\n    400: '#a3a3a3',\n    500: '#737373',\n    600: '#525252',\n    700: '#404040',\n    800: '#262626',\n    900: '#171717'\n}, stone = {\n    50: '#fafaf9',\n    100: '#f5f5f4',\n    200: '#e7e5e4',\n    300: '#d6d3d1',\n    400: '#a8a29e',\n    500: '#78716c',\n    600: '#57534e',\n    700: '#44403c',\n    800: '#292524',\n    900: '#1c1917'\n}, red = {\n    50: '#fef2f2',\n    100: '#fee2e2',\n    200: '#fecaca',\n    300: '#fca5a5',\n    400: '#f87171',\n    500: '#ef4444',\n    600: '#dc2626',\n    700: '#b91c1c',\n    800: '#991b1b',\n    900: '#7f1d1d'\n}, orange = {\n    50: '#fff7ed',\n    100: '#ffedd5',\n    200: '#fed7aa',\n    300: '#fdba74',\n    400: '#fb923c',\n    500: '#f97316',\n    600: '#ea580c',\n    700: '#c2410c',\n    800: '#9a3412',\n    900: '#7c2d12'\n}, amber = {\n    50: '#fffbeb',\n    100: '#fef3c7',\n    200: '#fde68a',\n    300: '#fcd34d',\n    400: '#fbbf24',\n    500: '#f59e0b',\n    600: '#d97706',\n    700: '#b45309',\n    800: '#92400e',\n    900: '#78350f'\n}, yellow = {\n    50: '#fefce8',\n    100: '#fef9c3',\n    200: '#fef08a',\n    300: '#fde047',\n    400: '#facc15',\n    500: '#eab308',\n    600: '#ca8a04',\n    700: '#a16207',\n    800: '#854d0e',\n    900: '#713f12'\n}, lime = {\n    50: '#f7fee7',\n    100: '#ecfccb',\n    200: '#d9f99d',\n    300: '#bef264',\n    400: '#a3e635',\n    500: '#84cc16',\n    600: '#65a30d',\n    700: '#4d7c0f',\n    800: '#3f6212',\n    900: '#365314'\n}, green = {\n    50: '#f0fdf4',\n    100: '#dcfce7',\n    200: '#bbf7d0',\n    300: '#86efac',\n    400: '#4ade80',\n    500: '#22c55e',\n    600: '#16a34a',\n    700: '#15803d',\n    800: '#166534',\n    900: '#14532d'\n}, emerald = {\n    50: '#ecfdf5',\n    100: '#d1fae5',\n    200: '#a7f3d0',\n    300: '#6ee7b7',\n    400: '#34d399',\n    500: '#10b981',\n    600: '#059669',\n    700: '#047857',\n    800: '#065f46',\n    900: '#064e3b'\n}, teal = {\n    50: '#f0fdfa',\n    100: '#ccfbf1',\n    200: '#99f6e4',\n    300: '#5eead4',\n    400: '#2dd4bf',\n    500: '#14b8a6',\n    600: '#0d9488',\n    700: '#0f766e',\n    800: '#115e59',\n    900: '#134e4a'\n}, cyan = {\n    50: '#ecfeff',\n    100: '#cffafe',\n    200: '#a5f3fc',\n    300: '#67e8f9',\n    400: '#22d3ee',\n    500: '#06b6d4',\n    600: '#0891b2',\n    700: '#0e7490',\n    800: '#155e75',\n    900: '#164e63'\n}, sky = {\n    50: '#f0f9ff',\n    100: '#e0f2fe',\n    200: '#bae6fd',\n    300: '#7dd3fc',\n    400: '#38bdf8',\n    500: '#0ea5e9',\n    600: '#0284c7',\n    700: '#0369a1',\n    800: '#075985',\n    900: '#0c4a6e'\n}, blue = {\n    50: '#eff6ff',\n    100: '#dbeafe',\n    200: '#bfdbfe',\n    300: '#93c5fd',\n    400: '#60a5fa',\n    500: '#3b82f6',\n    600: '#2563eb',\n    700: '#1d4ed8',\n    800: '#1e40af',\n    900: '#1e3a8a'\n}, indigo = {\n    50: '#eef2ff',\n    100: '#e0e7ff',\n    200: '#c7d2fe',\n    300: '#a5b4fc',\n    400: '#818cf8',\n    500: '#6366f1',\n    600: '#4f46e5',\n    700: '#4338ca',\n    800: '#3730a3',\n    900: '#312e81'\n}, violet = {\n    50: '#f5f3ff',\n    100: '#ede9fe',\n    200: '#ddd6fe',\n    300: '#c4b5fd',\n    400: '#a78bfa',\n    500: '#8b5cf6',\n    600: '#7c3aed',\n    700: '#6d28d9',\n    800: '#5b21b6',\n    900: '#4c1d95'\n}, purple = {\n    50: '#faf5ff',\n    100: '#f3e8ff',\n    200: '#e9d5ff',\n    300: '#d8b4fe',\n    400: '#c084fc',\n    500: '#a855f7',\n    600: '#9333ea',\n    700: '#7e22ce',\n    800: '#6b21a8',\n    900: '#581c87'\n}, fuchsia = {\n    50: '#fdf4ff',\n    100: '#fae8ff',\n    200: '#f5d0fe',\n    300: '#f0abfc',\n    400: '#e879f9',\n    500: '#d946ef',\n    600: '#c026d3',\n    700: '#a21caf',\n    800: '#86198f',\n    900: '#701a75'\n}, pink = {\n    50: '#fdf2f8',\n    100: '#fce7f3',\n    200: '#fbcfe8',\n    300: '#f9a8d4',\n    400: '#f472b6',\n    500: '#ec4899',\n    600: '#db2777',\n    700: '#be185d',\n    800: '#9d174d',\n    900: '#831843'\n}, rose = {\n    50: '#fff1f2',\n    100: '#ffe4e6',\n    200: '#fecdd3',\n    300: '#fda4af',\n    400: '#fb7185',\n    500: '#f43f5e',\n    600: '#e11d48',\n    700: '#be123c',\n    800: '#9f1239',\n    900: '#881337'\n}, // get lightBlue() {\n//   warn({ version: 'v2.2', from: 'lightBlue', to: 'sky' })\n//   return this.sky\n// }\n// get warmGray() {\n//   warn({ version: 'v3.0', from: 'warmGray', to: 'stone' })\n//   return this.stone\n// }\n// get trueGray() {\n//   warn({ version: 'v3.0', from: 'trueGray', to: 'neutral' })\n//   return this.neutral\n// }\n// get coolGray() {\n//   warn({ version: 'v3.0', from: 'coolGray', to: 'gray' })\n//   return this.gray\n// }\n// get blueGray() {\n//   warn({ version: 'v3.0', from: 'blueGray', to: 'slate' })\n//   return this.slate\n// }\ncolors = {\n    __proto__: null,\n    slate,\n    gray,\n    zinc,\n    neutral,\n    stone,\n    red,\n    orange,\n    amber,\n    yellow,\n    lime,\n    green,\n    emerald,\n    teal,\n    cyan,\n    sky,\n    blue,\n    indigo,\n    violet,\n    purple,\n    fuchsia,\n    pink,\n    rose\n};\nexport { amber, blue, colors, cyan, emerald, fuchsia, gray, green, indigo, lime, neutral, orange, pink, purple, red, rose, sky, slate, stone, teal, violet, yellow, zinc };\n//# sourceMappingURL=colors-16fd59b8.js.map\n","import presetTailwindBase from './base.js';\nimport { colors } from './_/colors-16fd59b8.js';\n/** Allows to disable to tailwind preflight (default: `false` eg include the tailwind preflight ) */ function presetTailwind({ disablePreflight  } = {}) {\n    return presetTailwindBase({\n        colors,\n        disablePreflight\n    });\n}\nexport { presetTailwind as default };\n//# sourceMappingURL=preset-tailwind.js.map\n","import theme from './baseTheme.js';\nimport preflight from './preflight.js';\nimport rules from './rules.js';\nimport variants from './variants.js';\n/** Allows to disable to tailwind preflight (default: `false` eg include the tailwind preflight ) */ /**\n * @experimental\n */ function presetTailwindBase({ colors , disablePreflight  } = {}) {\n    return {\n        // allow other preflight to run\n        preflight: disablePreflight ? void 0 : preflight,\n        theme: {\n            ...theme,\n            colors: {\n                inherit: 'inherit',\n                current: 'currentColor',\n                transparent: 'transparent',\n                black: '#000',\n                white: '#fff',\n                ...colors\n            }\n        },\n        variants,\n        rules,\n        finalize (rule) {\n            return(// automatically add `content: ''` to before and after so you don’t have to specify it unless you want a different value\n            // ignore global, preflight, and auto added rules\n            rule.n && // only if there are declarations\n            rule.d && // and it has a ::before or ::after selector\n            rule.r.some((r)=>/^&::(before|after)$/.test(r)) && // there is no content property yet\n            !/(^|;)content:/.test(rule.d) ? {\n                ...rule,\n                d: 'content:var(--tw-content);' + rule.d\n            } : rule);\n        }\n    };\n}\nexport { presetTailwindBase as default };\n//# sourceMappingURL=base.js.map\n","import { twind, mo, cssom, noop } from '@twind/core';\nfunction install(config, isProduction = true) {\n    // 1. Create separate adoptable sheet\n    let sheet = function() {\n        // TODO: search for SSR stylesheet\n        if (supportsAdoptingStyleSheets) try {\n            // Try using adoptedStyleSheets — not supported in all browsers\n            let sheet = cssom(new CSSStyleSheet());\n            sheet.connect = (element)=>{\n                let shadowRoot = getShadowRoot(element);\n                shadowRoot.adoptedStyleSheets = [\n                    ...shadowRoot.adoptedStyleSheets,\n                    sheet.target\n                ];\n            };\n            sheet.disconnect = noop;\n            return sheet;\n        } catch  {}\n        // ignore — continue with fallback\n        // Fallback: create a dedicated stylesheet for each element instance\n        // Create our base stylesheet — its css rules will be copied to each element style\n        let style = document.createElement('style');\n        // Prevent this style sheet from being applied anywhere\n        style.media = 'not all';\n        document.head.prepend(style);\n        let sheets = [\n            cssom(style)\n        ], /** @type {WeakMap<HTMLElement, import('@twind/core').Sheet>} */ sheetsByElement = new WeakMap();\n        return {\n            get target () {\n                return sheets[0].target;\n            },\n            snapshot () {\n                let restores = sheets.map((sheet)=>sheet.snapshot());\n                return ()=>restores.forEach((restore)=>restore());\n            },\n            clear () {\n                sheets.forEach((sheets)=>sheets.clear());\n            },\n            destroy () {\n                sheets.forEach((sheets)=>sheets.destroy());\n            },\n            insert (css, index, rule) {\n                // We first insert the rule into our base sheet\n                // This call will check (try-catch) and warn if necessary\n                sheets[0].insert(css, index, rule);\n                // For all connected sheets we insert the resulting rule directly\n                // by-passing the try-catch block\n                let cssRule = this.target.cssRules[index];\n                sheets.forEach((sheets, notFirst)=>notFirst && sheets.target.insertRule(cssRule.cssText, index));\n            },\n            resume (addClassName, insert) {\n                return sheets[0].resume(addClassName, insert);\n            },\n            connect (element) {\n                let style = document.createElement('style');\n                getShadowRoot(element).appendChild(style);\n                let sheet = cssom(style), // Directly copy all rules from our base sheet\n                { cssRules  } = this.target;\n                for(let i = 0; i < cssRules.length; i++)sheet.target.insertRule(cssRules[i].cssText, i);\n                sheets.push(sheet);\n                sheetsByElement.set(element, sheet);\n            },\n            disconnect (element) {\n                let index = sheets.indexOf(sheetsByElement.get(element));\n                index >= 0 && sheets.splice(index, 1);\n            }\n        };\n    }(), // 2. Use that to create an own twind instance\n    tw = twind({\n        ...config,\n        // in production use short hashed class names\n        hash: config.hash ?? isProduction\n    }, sheet), // 3. One MutationObserver for all element instances\n    observer = mo(tw);\n    return function install$(BaseElement) {\n        return class WithTwindElement extends BaseElement {\n            connectedCallback() {\n                super.connectedCallback?.();\n                sheet.connect(this);\n                observer.observe(getShadowRoot(this));\n            }\n            disconnectedCallback() {\n                sheet.disconnect(this);\n                super.disconnectedCallback?.();\n            }\n            constructor(...args){\n                super(...args);\n                this.tw = tw;\n            }\n        };\n    };\n}\n// eslint-disable-next-line no-var\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n * @link https://github.com/lit/lit/blob/393e30cf7c7f97712e524df34e7343147055fc5d/packages/reactive-element/src/css-tag.ts#L13\n */ let supportsAdoptingStyleSheets = 'undefined' != typeof ShadowRoot && ('undefined' == typeof ShadyCSS || ShadyCSS.nativeShadow) && 'adoptedStyleSheets' in Document.prototype && 'replace' in CSSStyleSheet.prototype;\nfunction getShadowRoot(element) {\n    return element.shadowRoot || element.attachShadow({\n        mode: 'open'\n    });\n}\nexport { install as default };\n//# sourceMappingURL=with-web-components.js.map\n","import {defineConfig} from '@twind/core';\nimport presetTailwind from '@twind/preset-tailwind';\nimport install from '@twind/with-web-components';\n\nexport const withTwindExtended = () =>\n  install(\n    defineConfig({\n      theme: {\n        fontFamily: {\n          sans: ['Inter', 'sans-serif'],\n          mono: ['Roboto Mono', 'monospace'],\n        },\n        extend: {\n          animation: {\n            darken: 'darken 0.2s ease-out forwards',\n            lighten: 'lighten 0.2s ease-out forwards',\n            'fade-in': 'fade-in 0.2s ease-out forwards',\n            'fade-out': 'fade-out 0.2s ease-out forwards',\n          },\n          keyframes: {\n            darken: {\n              '0%': {opacity: 0},\n              '100%': {opacity: 0.5},\n            },\n            lighten: {\n              '0%': {opacity: 0.5},\n              '100%': {opacity: 0},\n            },\n            'fade-in': {\n              '0%': {opacity: 0},\n              '100%': {opacity: 1},\n            },\n            'fade-out': {\n              '0%': {opacity: 1},\n              '100%': {opacity: 0},\n            },\n          },\n        },\n      },\n      presets: [presetTailwind({})],\n      hash: false,\n    })\n  );\n\nexport const withTwind = () => withTwindExtended();\n","import {TemplateResult, html} from 'lit';\nimport {LwcElement} from '../lwc-element';\nimport {withTwind} from '../twind/withTwind';\nimport {ConnectorType} from '../../types/ConnectorType';\nimport {color} from '../css/colors';\nimport {ConnectorConfig} from '../../types/ConnectorConfig';\nimport store from '../../state/store';\n\nexport abstract class LwcConnector extends withTwind()(LwcElement) {\n  private _background: string;\n  private _icon: TemplateResult<2>;\n  protected _title: string;\n  protected _connectorType: ConnectorType;\n  protected abstract _onClick(): void;\n  constructor(\n    connectorType: ConnectorType,\n    title: string,\n    background: string,\n    icon: TemplateResult<2>\n  ) {\n    super();\n    this._connectorType = connectorType;\n    this._title = title;\n    this._background = background;\n    this._icon = icon;\n  }\n\n  override render() {\n    return html`<div\n      class=\"flex flex-col justify-between items-center w-32 h-24 cursor-pointer\"\n      @click=${this._onClick}\n    >\n      <div\n        class=\"w-16 h-16 drop-shadow-lg rounded-2xl flex justify-center items-center\"\n        style=\"background: ${this._background};\"\n      >\n        ${this._icon}\n      </div>\n      <span\n        class=\"text-sm font-sans font-medium\"\n        style=\"color: ${color('text-secondary')}\"\n        >${this._title}</span\n      >\n    </div>`;\n  }\n\n  protected _connect(\n    config: Omit<ConnectorConfig, 'connectorName' | 'connectorType'>\n  ) {\n    store.getState().connect({\n      ...config,\n      connectorName: this._title,\n      connectorType: this._connectorType,\n    });\n  }\n}\n","const prefix = 'lwc-color-';\n\nconst colors = {\n  primary: '#2EA7FF',\n  secondary: '#0045B1',\n  tertiary: undefined,\n  'bg-primary': '#FFFFFF',\n  'bg-secondary': '#000000',\n  'text-primary': '#FFFFFF',\n  'text-secondary': '#404040',\n  'text-tertiary': '#FFFFFF',\n};\n\nexport function color(key: keyof typeof colors, fallback = colors[key]) {\n  return `var(--${prefix}${key}, ${fallback})`;\n}\n","import { svg } from \"lit\";\n\nexport const puzzleIcon = svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" focusable=\"false\" class=\"w-12 h-12\"><g><path d=\"M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z\"></path></g></svg>`","import {svg} from 'lit';\n\nexport const albyIcon = svg`<svg width=\"45\" height=\"64\" viewBox=\"0 0 45 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M32.9716 52.1905C38.5774 52.1905 41.1289 39.7778 41.1289 35.0713C41.1289 31.4029 38.5976 29.1797 35.2699 29.1797C31.9629 29.1797 29.2782 30.6017 29.2449 32.3627C29.2448 37.01 28.4268 52.1905 32.9716 52.1905Z\" fill=\"white\" stroke=\"black\" stroke-width=\"1.66938\"/>\n<path d=\"M12.4972 52.1905C6.89139 52.1905 4.33989 39.7778 4.33989 35.0713C4.33989 31.4029 6.87114 29.1797 10.1989 29.1797C13.5058 29.1797 16.1906 30.6017 16.2239 32.3627C16.224 37.01 17.0419 52.1905 12.4972 52.1905Z\" fill=\"white\" stroke=\"black\" stroke-width=\"1.66938\"/>\n<path d=\"M7.84577 33.579L7.84575 33.5787C7.83973 33.5213 7.8514 33.488 7.86332 33.4663C7.87739 33.4406 7.90412 33.4101 7.949 33.3846C8.04196 33.3318 8.17216 33.3222 8.29337 33.3931C12.457 35.8337 17.2594 37.2328 22.4806 37.2328C27.7028 37.2328 32.5942 35.8065 36.7846 33.3233C36.905 33.252 37.0349 33.2608 37.1281 33.3133C37.1732 33.3386 37.2001 33.3691 37.2144 33.3949C37.2264 33.4167 37.2382 33.4501 37.2324 33.5076C36.5842 39.9314 33.0999 45.2421 28.4166 47.6866L28.4165 47.6867C26.8697 48.4942 25.8061 49.897 24.8719 51.1291L24.8218 51.1952L24.8217 51.1954C24.0624 52.197 23.3752 53.094 22.5354 53.755C21.6955 53.094 21.0084 52.197 20.2491 51.1954L20.249 51.1952C20.2323 51.1732 20.2156 51.1512 20.1989 51.1291C19.2647 49.897 18.2011 48.4942 16.6542 47.6867L16.6542 47.6866C11.9887 45.2516 8.51323 39.9716 7.84577 33.579Z\" fill=\"#FFDF6F\" stroke=\"black\" stroke-width=\"1.6609\"/>\n<ellipse cx=\"22.5675\" cy=\"33.4515\" rx=\"14.6905\" ry=\"4.89684\" fill=\"black\" stroke=\"black\" stroke-width=\"1.66938\"/>\n<path d=\"M10.7715 41.6875C10.7715 41.6875 18.0175 44.1359 22.6797 44.1359C27.3419 44.1359 34.5879 41.6875 34.5879 41.6875\" stroke=\"black\" stroke-width=\"1.66938\" stroke-linecap=\"round\"/>\n<circle cx=\"3.3218\" cy=\"3.3218\" r=\"3.3218\" transform=\"matrix(-1 0 0 1 12.0703 9.19043)\" fill=\"black\"/>\n<path d=\"M8.19579 12.0137L14.3965 18.2144\" stroke=\"black\" stroke-width=\"1.6609\"/>\n<circle cx=\"35.8784\" cy=\"12.5122\" r=\"3.3218\" fill=\"black\"/>\n<path d=\"M36.4878 12.0137L30.2871 18.2144\" stroke=\"black\" stroke-width=\"1.6609\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.69481 32.3343C7.90447 31.482 6.86251 29.568 7.21154 27.6161C8.70958 19.2385 14.9526 12.9551 22.4267 12.9551C29.9188 12.9551 36.174 19.269 37.6526 27.677C37.9965 29.6325 36.946 31.5456 35.1496 32.391C31.3055 34.1999 27.0119 35.2111 22.482 35.2111C17.9051 35.2111 13.5693 34.1788 9.69481 32.3343Z\" fill=\"#FFDF6F\"/>\n<path d=\"M37.6526 27.677L36.8347 27.8209L37.6526 27.677ZM8.02903 27.7623C9.47654 19.6673 15.46 13.7855 22.4267 13.7855V12.1246C14.4452 12.1246 7.94263 18.8097 6.39406 27.4699L8.02903 27.7623ZM22.4267 13.7855C29.4101 13.7855 35.4059 19.696 36.8347 27.8209L38.4705 27.5332C36.9421 18.842 30.4275 12.1246 22.4267 12.1246V13.7855ZM34.796 31.6396C31.0602 33.3976 26.8871 34.3807 22.482 34.3807V36.0416C27.1366 36.0416 31.5508 35.0023 35.5032 33.1424L34.796 31.6396ZM22.482 34.3807C18.0312 34.3807 13.8172 33.377 10.0518 31.5845L9.33786 33.0841C13.3215 34.9806 17.779 36.0416 22.482 36.0416V34.3807ZM36.8347 27.8209C37.1104 29.3886 36.2709 30.9454 34.796 31.6396L35.5032 33.1424C37.6211 32.1457 38.8825 29.8763 38.4705 27.5332L36.8347 27.8209ZM6.39406 27.4699C5.97582 29.8089 7.22718 32.0793 9.33786 33.0841L10.0518 31.5845C8.58176 30.8847 7.7492 29.3272 8.02903 27.7623L6.39406 27.4699Z\" fill=\"black\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.8892 30.2522C11.4481 29.6652 10.5932 28.1319 11.0926 26.6582C12.6325 22.1132 17.1248 18.8242 22.4266 18.8242C27.7285 18.8242 32.2208 22.1132 33.7607 26.6582C34.2601 28.1319 33.4052 29.6652 31.9641 30.2522C29.0207 31.4509 25.8008 32.1114 22.4266 32.1114C19.0525 32.1114 15.8326 31.4509 12.8892 30.2522Z\" fill=\"black\"/>\n<ellipse cx=\"26.2447\" cy=\"25.9098\" rx=\"2.76817\" ry=\"2.21453\" fill=\"white\"/>\n<ellipse cx=\"18.3209\" cy=\"25.9118\" rx=\"2.76817\" ry=\"2.21453\" fill=\"white\"/>\n</svg>\n`;\n","import {customElement} from 'lit/decorators.js';\nimport {LwcConnector} from './lwc-connector';\nimport {puzzleIcon} from '../icons/puzzleIcon';\n\n@customElement('lwc-extension-connector')\nexport class LwcExtensionConnector extends LwcConnector {\n  constructor() {\n    super(\n      'extension.generic',\n      'Extension',\n      'linear-gradient(180deg, #E7E7E7 63.72%, #D1D1D1 95.24%)',\n      puzzleIcon\n    );\n  }\n\n  protected _onClick() {\n    this._connect({});\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-extension-connector': LwcExtensionConnector;\n  }\n}\n","import {svg} from 'lit';\n\nexport const nwcIcon = svg`<svg\n  width=\"25\"\n  height=\"24\"\n  viewBox=\"0 0 25 24\"\n  fill=\"none\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n  class=\"w-10 h-10\"\n  >\n  <path\n    fill-rule=\"evenodd\"\n    clip-rule=\"evenodd\"\n    d=\"M14.1287 5.03035L21.4952 12.43L21.4962 12.431C21.9034 12.84 22.3607 13.0639 22.7796 13.1062C23.1718 13.1459 23.5673 13.0322 23.9225 12.6949L19.9036 2.22631C19.4497 1.2345 18.1428 0.998839 17.3711 1.7739L14.1287 5.03035ZM21.0966 12.8275L21.0967 12.8277L21.0965 12.8278C22.0558 13.7912 23.3871 14.021 24.3507 13.062L21.0884 16.3089L19.5591 17.8311L18.4915 18.8936L16.6182 17.0135C17.526 15.6331 17.3781 13.7598 16.1662 12.5404L14.8908 11.2571C14.7095 11.0747 14.4176 11.0738 14.2351 11.2551L13.6055 11.8808L12.0093 10.2746C11.7323 9.99591 11.2744 10.0124 11.0176 10.3194C10.7928 10.5905 10.8315 10.9904 11.0786 11.239L12.6549 12.8251L11.4035 14.0683L9.8073 12.4622C9.53028 12.1835 9.07051 12.1979 8.81561 12.507C8.5928 12.7762 8.63155 13.1761 8.87864 13.4247L10.4549 15.0107L9.82725 15.6344C9.64479 15.8157 9.64392 16.1076 9.82523 16.29L11.1006 17.5733C12.3123 18.7926 14.1847 18.9525 15.5709 18.0538L17.4452 19.9349L16.8577 20.5195L14.8527 22.5151C13.8889 23.4742 12.3301 23.4706 11.3708 22.507L1.21706 12.3075C0.257903 11.3438 0.261373 9.78528 1.22516 8.82609L7.46087 2.61976C8.42465 1.66071 9.9834 1.66432 10.9427 2.62785L21.0966 12.8275Z\"\n    fill=\"white\"\n  />\n</svg>`;\n","import {customElement} from 'lit/decorators.js';\nimport {LwcConnector} from './lwc-connector';\nimport {albyIcon} from '../icons/albyIcon';\nimport {webln} from '@getalby/sdk';\n\n@customElement('lwc-alby-nwc-connector')\nexport class LwcAlbyNWCConnector extends LwcConnector {\n  constructor() {\n    super(\n      'nwc.alby',\n      'Alby NWC',\n      'linear-gradient(180deg, #FFDE6E 63.72%, #F8C455 95.24%)',\n      albyIcon\n    );\n  }\n\n  protected async _onClick() {\n    const nwc = webln.NostrWebLNProvider.withNewSecret();\n\n    await nwc.initNWC({\n      // TODO: pass to component\n      name: 'Lightning Wallet Connect',\n    });\n\n    this._connect({\n      nwcUrl: nwc.getNostrWalletConnectUrl(true),\n    });\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-alby-nwc-connector': LwcAlbyNWCConnector;\n  }\n}\n","import {customElement} from 'lit/decorators.js';\nimport {LwcConnector} from './lwc-connector';\nimport {nwcIcon} from '../icons/nwcIcon';\n\n@customElement('lwc-nwc-connector')\nexport class LwcGenericNWCConnector extends LwcConnector {\n  constructor() {\n    super('nwc.generic', 'NWC Generic', '#7E22CD', nwcIcon);\n  }\n\n  protected async _onClick() {\n    // TODO: this should open a new page on the list component?\n    const nostrWalletConnectUrl = prompt('Enter your Nostr Wallet Connect URL');\n    if (!nostrWalletConnectUrl) {\n      return;\n    }\n\n    this._connect({\n      nwcUrl: nostrWalletConnectUrl,\n    });\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-nwc-connector': LwcGenericNWCConnector;\n  }\n}\n","import {html} from 'lit';\nimport {withTwind} from './twind/withTwind.js';\nimport {LwcElement} from './lwc-element.js';\nimport {customElement} from 'lit/decorators.js';\nimport './connectors/lwc-extension-connector.js';\nimport './connectors/lwc-alby-nwc-connector.js';\nimport './connectors/lwc-nwc-connector.js';\n\n/**\n * A list of available connectors\n *\n * @csspart connector-list\n */\n@customElement('lwc-connector-list')\nexport class LwcConnectorList extends withTwind()(LwcElement) {\n  override render() {\n    return html` <div\n      part=\"connector-list\"\n      class=\"flex justify-center items-start flex-wrap\"\n    >\n      ${window.webln\n        ? html`<lwc-extension-connector></lwc-extension-connector>`\n        : null}\n      <lwc-alby-nwc-connector></lwc-alby-nwc-connector>\n      <lwc-nwc-connector></lwc-nwc-connector>\n    </div>`;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-connector-list': LwcConnectorList;\n  }\n}\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const loadingIconPrimary = svg`\n<svg class=\"animate-spin h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n      <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"${color(\n        'text-primary'\n      )}\" stroke-width=\"4\"></circle>\n      <path class=\"opacity-75\" fill=\"${color(\n        'text-primary'\n      )}\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n    </svg>\n`;\n\nexport const loadingIconSecondary = svg`\n<svg class=\"animate-spin h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n      <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"${color(\n        'text-secondary'\n      )}\" stroke-width=\"4\"></circle>\n      <path class=\"opacity-75\" fill=\"${color(\n        'text-secondary'\n      )}\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n    </svg>\n`;\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const exitIcon = svg`\n<svg width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M14 7.99999L6.5 7.99999M14 7.99999L11 11M14 7.99999L11 5M8 13.5H3.66667C3.29848 13.5 3 13.2015 3 12.8333L3 3.16667C3 2.79848 3.29848 2.5 3.66667 2.5L8 2.5\" stroke=\"url(#paint0_linear_204_1760)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<defs>\n<linearGradient id=\"paint0_linear_204_1760\" x1=\"8.5\" y1=\"2.5\" x2=\"8.5\" y2=\"13.5\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=${color('primary')}/>\n<stop offset=\"1\" stop-color=${color('secondary')}/>\n</linearGradient>\n</defs>\n</svg>\n`;\n","import {color} from './colors';\n\nexport function gradientText() {\n  return `background: -webkit-linear-gradient(${color('primary')}, ${color(\n    'secondary'\n  )});\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;`;\n}\n","import {html} from 'lit';\nimport {customElement} from 'lit/decorators.js';\nimport {LwcElement} from './lwc-element';\nimport './lwc-connector-list.js';\nimport {withTwind} from './twind/withTwind';\nimport store from '../state/store';\nimport {loadingIconSecondary} from './icons/loadingIcon';\nimport {exitIcon} from './icons/exitIcon';\nimport {color} from './css/colors';\nimport {gradientText} from './css/gradientText';\n\n// TODO: split up this component into disconnected and connected\n@customElement('lwc-modal-content')\nexport class LwcModalContent extends withTwind()(LwcElement) {\n  override render() {\n    return html`<div\n      part=\"modal-content\"\n      class=\"flex flex-col justify-center items-center w-full\"\n    >\n      ${this._connecting\n        ? html`<div class=\"py-32\">${loadingIconSecondary}</div>`\n        : this._connected\n        ? html` <h1 class=\"font-sans text-lg my-8\" style=\"color: ${color(\n            'text-secondary'\n          )}\">\n            Hello,\n            <span\n              class=\"font-bold\"\n              style=\"${gradientText()}\"\n            >\n              ${this._alias || 'Anon'}\n            </span>\n          </h1>\n\n          <span class=\"font-sans text-xs mb-2\" style=\"color: ${color(\n            'text-secondary'\n          )}\">Balance</span>\n\n          <h2 class=\"font-sans text-2xl mb-12\" style=\"color: ${color(\n            'text-secondary'\n          )}\">\n            <span\n              class=\"font-bold font-mono text-4xl align-bottom\"\n              style=\"${gradientText()}\"\n            >${this._balance || 0}</span>&nbsp;sats\n          </h2>\n\n          <hr class=\"border border-neutral-200 w-full mb-4\"></div>\n\n          <span class=\"font-sans text-xs mb-4\" style=\"color: ${color(\n            'text-secondary'\n          )}\">Connected through ${this._connectorName}</span>\n\n          <button\n            @click=${this._handleDisconnect}\n            class=\"relative mt-4 h-8 px-3 font-medium font-sans shadow rounded-lg flex gap-2 justify-center items-center\"\n          >\n            <div\n              class=\"absolute -z-10 top-0 left-0 w-full h-full border-2 border-solid border-transparent rounded-lg\"\n              style=\"\n              background-image: linear-gradient(${color('bg-primary')}, ${color(\n            'bg-primary'\n          )}), linear-gradient(to bottom, ${color('primary')}, ${color(\n            'secondary'\n          )});\n              background-origin: border-box;\n              background-clip: content-box, border-box;\"\n            ></div>\n            ${exitIcon}\n            <span style=\"${gradientText()}\">Disconnect</span>\n          </button>`\n        : html`\n            <h1\n              class=\"font-sans my-8\"\n              style=\"color: ${color('text-secondary')}\"\n            >\n              How would you like to connect?\n            </h1>\n\n            <lwc-connector-list />\n          `}\n    </div>`;\n  }\n\n  private _handleDisconnect() {\n    store.getState().disconnect();\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-modal-content': LwcModalContent;\n  }\n}\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const crossIcon = svg`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 6L18 18\" stroke=${color(\n  'text-secondary'\n)} stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n<path d=\"M18 6L6.00001 18\" stroke=${color(\n  'text-secondary'\n)} stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n</svg>\n`;\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const bcLogo = svg`<svg width=\"172\" height=\"24\" viewBox=\"0 0 172 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.5709 14.1773C20.3688 18.9988 15.4849 21.9331 10.6623 20.7307C5.84177 19.5287 2.90717 14.645 4.10993 9.82385C5.31156 5.00182 10.1954 2.06726 15.0166 3.26932C19.8388 4.47139 22.7731 9.35557 21.5709 14.1773Z\" fill=\"url(#paint0_linear_204_1469)\"/>\n<path d=\"M14.525 13.9072C14.2043 15.1295 12.1482 14.4405 11.481 14.2658L12.0507 12.0991C12.7179 12.2746 14.86 12.6325 14.525 13.9072ZM14.8706 10.7298C14.5781 11.8416 12.867 11.2532 12.3113 11.1072L12.8279 9.14204C13.3835 9.28802 15.1753 9.57002 14.8706 10.7298Z\" fill=${color(\n  'bg-primary'\n)}/>\n<path d=\"M14.8706 10.7298C14.5781 11.8416 12.867 11.2532 12.3113 11.1072L12.8279 9.14204C13.3835 9.28802 15.1753 9.57002 14.8706 10.7298Z\" fill=${color(\n  'bg-primary'\n)}/>\n<path d=\"M14.525 13.9072C14.2043 15.1295 12.1482 14.4405 11.481 14.2658L12.0507 12.0991C12.7179 12.2746 14.86 12.6325 14.525 13.9072Z\" fill=${color(\n  'bg-primary'\n)}/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.821 10.7722C17.0153 9.57701 16.1117 8.92174 14.8705 8.47652L15.2954 6.85952L14.3111 6.60095L13.8974 8.17533C13.6387 8.10737 13.3728 8.04297 13.1087 7.97915L13.5253 6.39439L12.5416 6.13582L12.1164 7.75226C11.9022 7.7006 11.6919 7.64957 11.4878 7.59607L11.489 7.59102L10.1316 7.23378L9.85555 8.28506C9.85555 8.28506 10.586 8.46223 10.5704 8.47243C10.9691 8.57733 11.038 8.84288 11.0232 9.05252L10.5392 10.8946L10.5374 10.9016L9.85895 13.4822C9.80848 13.6031 9.68216 13.7837 9.4035 13.711C9.41316 13.7255 8.68807 13.5228 8.68807 13.5228L8.18358 14.6468L9.46445 14.9834C9.70274 15.0463 9.93621 15.112 10.1661 15.174L9.73668 16.8095L10.7198 17.068L11.1451 15.4499C11.4136 15.5265 11.6742 15.5973 11.9294 15.6641L11.5056 17.2746L12.4899 17.5332L12.9192 15.9008C14.5989 16.2407 15.8666 16.1282 16.4188 14.6121C16.8638 13.3914 16.4219 12.6784 15.5419 12.206C16.1889 12.0654 16.6803 11.6472 16.821 10.7722ZM11.481 14.2658C12.1482 14.4405 14.2043 15.1295 14.525 13.9072C14.86 12.6325 12.7179 12.2746 12.0507 12.0991L11.481 14.2658ZM12.3113 11.1072C12.867 11.2532 14.5781 11.8416 14.8706 10.7298C15.1753 9.57002 13.3835 9.28802 12.8279 9.14204L12.3113 11.1072Z\" fill=${color(\n  'bg-primary'\n)}/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5567 10.0666L12.6908 9.55575C12.7532 9.3179 12.9967 9.1757 13.2345 9.23814C13.4724 9.30057 13.6146 9.544 13.5521 9.78185L13.418 10.2927L13.9288 10.4267C14.1666 10.4892 14.3088 10.7326 14.2464 10.9705C14.184 11.2083 13.9405 11.3505 13.7027 11.2881L13.1919 11.154L13.0578 11.6648C12.9954 11.9027 12.752 12.0449 12.5141 11.9824C12.2763 11.92 12.1341 11.6766 12.1965 11.4387L12.3306 10.9279L11.8197 10.7938C11.5819 10.7313 11.4397 10.4879 11.5021 10.2501C11.5645 10.0122 11.808 9.87002 12.0458 9.93246L12.5567 10.0666Z\" fill=\"url(#paint1_linear_204_1469)\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.6265 12.9381L13.7606 12.4273C13.8231 12.1895 14.0665 12.0473 14.3043 12.1097C14.5422 12.1722 14.6844 12.4156 14.6219 12.6534L14.4879 13.1642L14.9986 13.2983C15.2365 13.3608 15.3787 13.6042 15.3162 13.842C15.2538 14.0799 15.0104 14.2221 14.7725 14.1597L14.2618 14.0256L14.1277 14.5364C14.0652 14.7743 13.8218 14.9165 13.5839 14.854C13.3461 14.7916 13.2039 14.5482 13.2663 14.3103L13.4004 13.7995L12.8896 13.6654C12.6517 13.6029 12.5095 13.3595 12.5719 13.1217C12.6344 12.8838 12.8778 12.7416 13.1157 12.804L13.6265 12.9381Z\" fill=\"url(#paint2_linear_204_1469)\"/>\n<path d=\"M31.7822 8.43869C32.5104 8.43869 33.14 8.56764 33.6709 8.82554C34.2019 9.08344 34.6419 9.43237 34.9908 9.87232C35.3397 10.3123 35.5976 10.8281 35.7645 11.4197C35.9314 12.0114 36.0148 12.6485 36.0148 13.3312C36.0148 14.378 35.8176 15.3717 35.4231 16.3123C35.0439 17.2377 34.5205 18.0493 33.853 18.7472C33.1855 19.4298 32.3966 19.976 31.4864 20.3856C30.5761 20.78 29.59 20.9773 28.5281 20.9773C28.3915 20.9773 28.1488 20.9697 27.7999 20.9545C27.4661 20.9545 27.0793 20.9242 26.6393 20.8635C26.1994 20.8028 25.7291 20.7118 25.2284 20.5904C24.743 20.469 24.2803 20.3022 23.8403 20.0898L27.7771 3.54614L31.3043 3L29.8934 8.87105C30.1968 8.73451 30.5003 8.62832 30.8037 8.55247C31.1071 8.47661 31.4333 8.43869 31.7822 8.43869ZM28.8239 18.1783C29.3549 18.1783 29.8555 18.0493 30.3258 17.7914C30.7961 17.5335 31.1981 17.1922 31.5319 16.7674C31.8808 16.3274 32.1539 15.8344 32.3511 15.2882C32.5483 14.7421 32.6469 14.1732 32.6469 13.5815C32.6469 12.8534 32.5255 12.2845 32.2828 11.8748C32.0401 11.4652 31.5925 11.2604 30.9402 11.2604C30.7278 11.2604 30.4472 11.2984 30.0982 11.3742C29.7645 11.4501 29.4611 11.6094 29.188 11.8521L27.6861 18.0872C27.7771 18.1024 27.853 18.1176 27.9137 18.1327C27.9895 18.1479 28.0654 18.1631 28.1412 18.1783C28.2171 18.1783 28.3081 18.1783 28.4143 18.1783C28.5205 18.1783 28.657 18.1783 28.8239 18.1783Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M39.8423 20.6587H36.4744L39.3189 8.689H42.7095L39.8423 20.6587ZM41.4807 7.23262C41.0104 7.23262 40.5856 7.09608 40.2064 6.82301C39.8271 6.53477 39.6375 6.1024 39.6375 5.52592C39.6375 5.20733 39.6981 4.9115 39.8195 4.63843C39.956 4.35019 40.1305 4.10746 40.3429 3.91024C40.5553 3.69785 40.798 3.53097 41.0711 3.40961C41.3593 3.28824 41.6627 3.22756 41.9813 3.22756C42.4516 3.22756 42.8764 3.37168 43.2557 3.65992C43.6349 3.933 43.8246 4.35778 43.8246 4.93426C43.8246 5.25285 43.7563 5.55626 43.6198 5.8445C43.4984 6.11757 43.3315 6.3603 43.1191 6.57269C42.9067 6.76991 42.6564 6.9292 42.3682 7.05057C42.0951 7.17194 41.7993 7.23262 41.4807 7.23262Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M45.7179 5.70797L49.2451 5.16182L48.3804 8.689H52.1579L51.4752 11.4652H47.7205L46.7192 15.6523C46.6282 16.0013 46.5675 16.3274 46.5372 16.6309C46.522 16.9343 46.5599 17.1998 46.6509 17.4273C46.7571 17.6397 46.9316 17.8066 47.1743 17.9279C47.4171 18.0493 47.7508 18.11 48.1756 18.11C48.5397 18.11 48.8886 18.0797 49.2224 18.019C49.5713 17.9431 49.9202 17.8445 50.2691 17.7231L50.5195 20.3173C50.0643 20.4842 49.5713 20.6283 49.0403 20.7497C48.5093 20.8711 47.8798 20.9317 47.1516 20.9317C46.1048 20.9317 45.2932 20.78 44.7167 20.4766C44.1402 20.158 43.7306 19.7333 43.4878 19.2023C43.2451 18.6561 43.1389 18.0341 43.1693 17.3363C43.1996 16.6384 43.3058 15.9027 43.4878 15.129L45.7179 5.70797Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M51.8249 15.8799C51.8249 14.8483 51.9918 13.8774 52.3255 12.9671C52.6593 12.0569 53.1372 11.2604 53.7592 10.5778C54.3812 9.89507 55.1321 9.35651 56.012 8.96208C56.9071 8.56764 57.9008 8.37042 58.993 8.37042C59.6757 8.37042 60.2826 8.43869 60.8135 8.57522C61.3597 8.69659 61.8527 8.86347 62.2927 9.07586L61.1321 11.7156C60.8287 11.5942 60.5101 11.488 60.1764 11.397C59.8578 11.2908 59.4633 11.2377 58.993 11.2377C57.8552 11.2377 56.9602 11.6245 56.3078 12.3982C55.6555 13.1568 55.3293 14.196 55.3293 15.5158C55.3293 16.2895 55.4962 16.9191 55.83 17.4046C56.1637 17.8748 56.7781 18.11 57.6732 18.11C58.1132 18.11 58.5379 18.0645 58.9475 17.9735C59.3572 17.8824 59.7212 17.7687 60.0398 17.6321L60.2901 20.3401C59.8654 20.507 59.3951 20.6511 58.8793 20.7724C58.3786 20.909 57.7642 20.9773 57.036 20.9773C56.0955 20.9773 55.299 20.8407 54.6467 20.5676C53.9943 20.2946 53.4558 19.9305 53.031 19.4754C52.6062 19.0051 52.2952 18.4589 52.098 17.8369C51.9159 17.2149 51.8249 16.5626 51.8249 15.8799Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M66.4588 20.9773C65.6548 20.9773 64.9569 20.8559 64.3652 20.6132C63.7736 20.3704 63.2805 20.0291 62.8861 19.5891C62.5068 19.1492 62.2186 18.6334 62.0214 18.0417C61.8242 17.4349 61.7256 16.7674 61.7256 16.0392C61.7256 15.129 61.8697 14.2187 62.1579 13.3085C62.4613 12.3982 62.9013 11.579 63.4778 10.8508C64.0543 10.1226 64.7597 9.53097 65.5941 9.07586C66.4285 8.60556 67.3842 8.37042 68.4613 8.37042C69.2502 8.37042 69.9405 8.49178 70.5321 8.73451C71.139 8.97724 71.632 9.31859 72.0113 9.75853C72.4057 10.1985 72.7015 10.7219 72.8988 11.3287C73.096 11.9204 73.1946 12.5803 73.1946 13.3085C73.1946 14.2187 73.0505 15.129 72.7622 16.0392C72.474 16.9494 72.0492 17.7687 71.4879 18.4968C70.9266 19.225 70.2211 19.8243 69.3716 20.2946C68.5372 20.7497 67.5663 20.9773 66.4588 20.9773ZM68.1427 11.2377C67.6421 11.2377 67.2022 11.3818 66.8229 11.67C66.4436 11.9583 66.125 12.3224 65.8671 12.7623C65.6092 13.2023 65.412 13.6877 65.2755 14.2187C65.1541 14.7345 65.0934 15.2276 65.0934 15.6979C65.0934 16.4716 65.2148 17.0708 65.4575 17.4956C65.7003 17.9052 66.1402 18.11 66.7774 18.11C67.278 18.11 67.718 17.9659 68.0972 17.6776C68.4765 17.3894 68.7951 17.0253 69.053 16.5853C69.3109 16.1454 69.5005 15.6675 69.6219 15.1517C69.7584 14.6207 69.8267 14.1201 69.8267 13.6498C69.8267 12.8761 69.7053 12.2845 69.4626 11.8748C69.2199 11.4501 68.7799 11.2377 68.1427 11.2377Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M77.0226 20.6587H73.6547L76.4992 8.689H79.8898L77.0226 20.6587ZM78.661 7.23262C78.1907 7.23262 77.7659 7.09608 77.3867 6.82301C77.0074 6.53477 76.8178 6.1024 76.8178 5.52592C76.8178 5.20733 76.8785 4.9115 76.9998 4.63843C77.1364 4.35019 77.3108 4.10746 77.5232 3.91024C77.7356 3.69785 77.9783 3.53097 78.2514 3.40961C78.5396 3.28824 78.8431 3.22756 79.1616 3.22756C79.6319 3.22756 80.0567 3.37168 80.436 3.65992C80.8152 3.933 81.0049 4.35778 81.0049 4.93426C81.0049 5.25285 80.9366 5.55626 80.8001 5.8445C80.6787 6.11757 80.5118 6.3603 80.2994 6.57269C80.0871 6.76991 79.8367 6.9292 79.5485 7.05057C79.2754 7.17194 78.9796 7.23262 78.661 7.23262Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M82.3976 9.23515C82.6555 9.15929 82.9362 9.07586 83.2396 8.98483C83.5582 8.87864 83.9071 8.78761 84.2864 8.71176C84.6808 8.62073 85.1132 8.55247 85.5835 8.50696C86.0689 8.44627 86.6151 8.41593 87.2219 8.41593C89.012 8.41593 90.2409 8.93173 90.9084 9.96334C91.5759 10.9949 91.6897 12.4058 91.2497 14.196L89.7023 20.6587H86.3116L87.8135 14.3325C87.9046 13.9381 87.9728 13.5588 88.0184 13.1947C88.079 12.8154 88.079 12.4893 88.0184 12.2162C87.9577 11.9279 87.8135 11.7004 87.586 11.5335C87.3736 11.3515 87.0398 11.2604 86.5847 11.2604C86.1448 11.2604 85.6972 11.3059 85.2421 11.397L83.0348 20.6587H79.6441L82.3976 9.23515Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M99.3141 21C98.328 21 97.4556 20.8559 96.6971 20.5676C95.9537 20.2794 95.3317 19.8698 94.8311 19.3388C94.3305 18.8078 93.9512 18.1707 93.6933 17.4273C93.4506 16.6688 93.3292 15.8192 93.3292 14.8786C93.3292 13.5133 93.5416 12.2086 93.9664 10.9646C94.4063 9.72061 95.0208 8.62073 95.8096 7.66498C96.6137 6.70923 97.577 5.9507 98.6996 5.38938C99.8223 4.8129 101.074 4.52465 102.454 4.52465C103.638 4.52465 104.578 4.64602 105.276 4.88875C105.989 5.13148 106.497 5.35904 106.801 5.57143L105.891 7.39191C105.542 7.16435 105.064 6.95196 104.457 6.75474C103.865 6.54235 103.16 6.43616 102.341 6.43616C101.294 6.43616 100.353 6.68647 99.5189 7.18711C98.6845 7.67257 97.979 8.30974 97.4025 9.09861C96.8261 9.87232 96.3861 10.7522 96.0827 11.7383C95.7793 12.7092 95.6276 13.6726 95.6276 14.6283C95.6276 17.5866 96.9095 19.0657 99.4733 19.0657C100.019 19.0657 100.505 19.0278 100.93 18.952C101.37 18.8761 101.757 18.7927 102.09 18.7016C102.424 18.5955 102.72 18.4817 102.978 18.3603C103.236 18.2389 103.463 18.1327 103.66 18.0417L103.934 19.9532C103.751 20.0594 103.509 20.1732 103.205 20.2946C102.917 20.4159 102.576 20.5297 102.181 20.6359C101.787 20.7421 101.347 20.8255 100.861 20.8862C100.376 20.9621 99.8602 21 99.3141 21Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M109.377 20.9545C108.133 20.9545 107.155 20.5904 106.442 19.8622C105.744 19.1188 105.395 18.1024 105.395 16.8129C105.395 15.933 105.516 15.0076 105.759 14.0367C106.017 13.0657 106.419 12.1707 106.965 11.3515C107.511 10.5322 108.217 9.85714 109.081 9.32617C109.946 8.7952 110.993 8.52971 112.222 8.52971C113.466 8.52971 114.437 8.90139 115.134 9.64476C115.847 10.3729 116.204 11.3818 116.204 12.6713C116.204 13.5512 116.075 14.4766 115.817 15.4475C115.574 16.4185 115.18 17.3135 114.634 18.1327C114.088 18.952 113.382 19.6271 112.518 20.158C111.653 20.689 110.606 20.9545 109.377 20.9545ZM109.741 19.1568C110.424 19.1568 111.031 18.9595 111.562 18.5651C112.108 18.1707 112.563 17.67 112.927 17.0632C113.306 16.4412 113.595 15.7585 113.792 15.0152C113.989 14.2718 114.088 13.5512 114.088 12.8534C114.088 12.0796 113.921 11.4652 113.587 11.0101C113.253 10.555 112.677 10.3274 111.858 10.3274C111.175 10.3274 110.561 10.5247 110.014 10.9191C109.483 11.3135 109.028 11.8217 108.649 12.4437C108.285 13.0506 108.004 13.7257 107.807 14.469C107.61 15.2124 107.511 15.933 107.511 16.6309C107.511 17.4046 107.678 18.019 108.012 18.4741C108.346 18.9292 108.922 19.1568 109.741 19.1568Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M119.132 20.6587H117.016L119.747 9.28066C120.445 9.06827 121.196 8.90139 122 8.78003C122.819 8.64349 123.547 8.57522 124.184 8.57522C124.867 8.57522 125.451 8.67383 125.936 8.87105C126.437 9.0531 126.839 9.311 127.143 9.64476C127.446 9.96334 127.666 10.3578 127.802 10.8281C127.954 11.2832 128.03 11.7838 128.03 12.33C128.03 12.6789 128 13.0506 127.939 13.445C127.878 13.8243 127.802 14.2111 127.711 14.6056L126.255 20.6587H124.139L125.481 15.0607C125.588 14.6359 125.686 14.2035 125.777 13.7636C125.883 13.3236 125.936 12.9065 125.936 12.512C125.936 11.9052 125.77 11.4046 125.436 11.0101C125.102 10.6005 124.48 10.3957 123.57 10.3957C123.191 10.3957 122.819 10.4185 122.455 10.464C122.091 10.5095 121.787 10.5702 121.545 10.646L119.132 20.6587Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M131.211 20.6587H129.095L131.825 9.28066C132.523 9.06827 133.274 8.90139 134.078 8.78003C134.897 8.64349 135.626 8.57522 136.263 8.57522C136.945 8.57522 137.529 8.67383 138.015 8.87105C138.516 9.0531 138.918 9.311 139.221 9.64476C139.524 9.96334 139.744 10.3578 139.881 10.8281C140.033 11.2832 140.108 11.7838 140.108 12.33C140.108 12.6789 140.078 13.0506 140.017 13.445C139.957 13.8243 139.881 14.2111 139.79 14.6056L138.334 20.6587H136.217L137.56 15.0607C137.666 14.6359 137.765 14.2035 137.856 13.7636C137.962 13.3236 138.015 12.9065 138.015 12.512C138.015 11.9052 137.848 11.4046 137.514 11.0101C137.181 10.6005 136.559 10.3957 135.648 10.3957C135.269 10.3957 134.897 10.4185 134.533 10.464C134.169 10.5095 133.866 10.5702 133.623 10.646L131.211 20.6587Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M144.086 14.4463C144.966 14.4159 145.77 14.3628 146.498 14.287C147.226 14.196 147.856 14.0518 148.387 13.8546C148.918 13.6422 149.327 13.3616 149.616 13.0126C149.919 12.6637 150.071 12.2086 150.071 11.6473C150.071 11.5107 150.04 11.3666 149.98 11.2149C149.934 11.0632 149.843 10.9267 149.707 10.8053C149.585 10.6688 149.411 10.5626 149.183 10.4867C148.956 10.3957 148.675 10.3502 148.341 10.3502C147.81 10.3502 147.31 10.464 146.839 10.6915C146.384 10.9191 145.975 11.2225 145.61 11.6018C145.246 11.9659 144.935 12.3982 144.677 12.8989C144.42 13.3843 144.222 13.9001 144.086 14.4463ZM146.248 20.9545C145.474 20.9545 144.806 20.8483 144.245 20.6359C143.684 20.4083 143.214 20.1049 142.834 19.7257C142.455 19.3312 142.174 18.8761 141.992 18.3603C141.81 17.8445 141.719 17.2984 141.719 16.7219C141.719 15.6599 141.878 14.6359 142.197 13.6498C142.516 12.6637 142.971 11.7914 143.562 11.0329C144.154 10.2743 144.875 9.6751 145.724 9.23515C146.574 8.78003 147.537 8.55247 148.614 8.55247C149.236 8.55247 149.767 8.63591 150.207 8.80278C150.662 8.95449 151.026 9.16688 151.299 9.43995C151.588 9.71302 151.8 10.0316 151.937 10.3957C152.073 10.7446 152.141 11.1087 152.141 11.488C152.141 12.201 152.012 12.8078 151.755 13.3085C151.497 13.7939 151.155 14.2035 150.731 14.5373C150.306 14.8711 149.805 15.129 149.229 15.311C148.667 15.4931 148.076 15.6372 147.454 15.7434C146.847 15.8496 146.225 15.9254 145.588 15.9709C144.966 16.0013 144.374 16.0316 143.813 16.0619C143.798 16.1833 143.79 16.2819 143.79 16.3578C143.79 16.4336 143.79 16.4943 143.79 16.5398C143.79 16.8888 143.828 17.2225 143.904 17.5411C143.995 17.8445 144.154 18.1176 144.382 18.3603C144.609 18.5879 144.92 18.7699 145.315 18.9065C145.724 19.043 146.255 19.1113 146.908 19.1113C147.196 19.1113 147.492 19.0885 147.795 19.043C148.114 18.9823 148.409 18.914 148.683 18.8382C148.971 18.7472 149.221 18.6637 149.433 18.5879C149.661 18.4968 149.82 18.4134 149.911 18.3376L150.093 20.1353C149.79 20.3022 149.297 20.4766 148.614 20.6587C147.947 20.8559 147.158 20.9545 146.248 20.9545Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M153.042 16.426C153.042 15.3944 153.194 14.4008 153.497 13.445C153.816 12.4893 154.278 11.6473 154.885 10.9191C155.492 10.1909 156.236 9.61441 157.115 9.18964C157.995 8.74969 159.004 8.52971 160.142 8.52971C160.643 8.52971 161.12 8.56764 161.576 8.64349C162.031 8.70417 162.463 8.83312 162.873 9.03034L162.076 10.8053C161.833 10.6688 161.545 10.5626 161.211 10.4867C160.893 10.4109 160.476 10.3729 159.96 10.3729C159.217 10.3729 158.549 10.5398 157.957 10.8736C157.366 11.1922 156.858 11.6245 156.433 12.1707C156.023 12.7016 155.705 13.3236 155.477 14.0367C155.265 14.7345 155.158 15.4627 155.158 16.2212C155.158 16.6157 155.196 16.9874 155.272 17.3363C155.363 17.6852 155.515 17.9962 155.727 18.2693C155.94 18.5272 156.22 18.732 156.569 18.8837C156.933 19.0354 157.388 19.1113 157.935 19.1113C158.208 19.1113 158.496 19.0885 158.799 19.043C159.103 18.9823 159.383 18.914 159.641 18.8382C159.899 18.7623 160.127 18.6865 160.324 18.6106C160.536 18.5196 160.688 18.4362 160.779 18.3603L160.961 20.158C160.673 20.3401 160.225 20.5145 159.619 20.6814C159.012 20.8635 158.321 20.9545 157.548 20.9545C156.82 20.9545 156.175 20.8483 155.614 20.6359C155.052 20.4083 154.582 20.0974 154.203 19.7029C153.823 19.2933 153.535 18.8154 153.338 18.2693C153.141 17.708 153.042 17.0936 153.042 16.426Z\" fill=${color(\n  'text-secondary'\n)}/>\n<path d=\"M166.358 20.9773C165.22 20.9773 164.386 20.7269 163.855 20.2263C163.324 19.7257 163.059 18.9975 163.059 18.0417C163.059 17.4197 163.165 16.6233 163.377 15.6523L165.812 5.52592L168.019 5.16182L167.132 8.82554H171.16L170.727 10.6005H166.7L165.448 15.8344C165.266 16.5474 165.175 17.1694 165.175 17.7004C165.175 18.201 165.311 18.5651 165.585 18.7927C165.858 19.0051 166.313 19.1113 166.95 19.1113C167.39 19.1113 167.822 19.043 168.247 18.9065C168.672 18.7547 168.998 18.6182 169.226 18.4968L169.385 20.2946C169.157 20.4311 168.77 20.5752 168.224 20.7269C167.678 20.8938 167.056 20.9773 166.358 20.9773Z\" fill=${color(\n  'text-secondary'\n)}/>\n<defs>\n<linearGradient id=\"paint0_linear_204_1469\" x1=\"12.8403\" y1=\"3\" x2=\"12.8403\" y2=\"21.0002\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=${color('primary')}/>\n<stop offset=\"1\" stop-color=${color('secondary')}/>\n</linearGradient>\n<linearGradient id=\"paint1_linear_204_1469\" x1=\"13.2345\" y1=\"9.23812\" x2=\"12.5141\" y2=\"11.9824\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=${color('primary')}/>\n<stop offset=\"1\" stop-color=${color('secondary')}/>\n</linearGradient>\n<linearGradient id=\"paint2_linear_204_1469\" x1=\"14.3043\" y1=\"12.1097\" x2=\"13.5839\" y2=\"14.854\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=${color('primary')}/>\n<stop offset=\"1\" stop-color=${color('secondary')}/>\n</linearGradient>\n</defs>\n</svg>\n`;\n","import {html} from 'lit';\nimport {customElement, property, state} from 'lit/decorators.js';\nimport {LwcElement} from './lwc-element';\nimport './lwc-modal-content.js';\nimport store from '../state/store';\nimport {dispatchLwcEvent} from '../utils/dispatchLwcEvent';\nimport {color} from './css/colors';\nimport {crossIcon} from './icons/crossIcon';\nimport {bcLogo} from './icons/bcLogo';\nimport {withTwind} from './twind/withTwind';\n\n@customElement('lwc-modal')\nexport class LwcModal extends withTwind()(LwcElement) {\n  /**\n   * Called when modal is closed\n   */\n  @property({\n    attribute: 'on-close',\n  })\n  onClose?: () => void;\n\n  @state()\n  protected _closing = false;\n\n  constructor() {\n    super();\n\n    // TODO: handle unsubscribe\n    store.subscribe((store, prevStore) => {\n      if (store.connected !== prevStore.connected && !store.connected) {\n        this._handleClose();\n      }\n    });\n  }\n\n  override connectedCallback() {\n    super.connectedCallback();\n    dispatchLwcEvent('lwc:modalopened');\n  }\n\n  override disconnectedCallback() {\n    super.disconnectedCallback();\n    dispatchLwcEvent('lwc:modalclosed');\n  }\n\n  override render() {\n    return html` <div\n      part=\"modal\"\n      class=\"fixed top-0 left-0 w-full h-full flex justify-center items-end sm:items-center z-[21000]\"\n    >\n      <div\n        class=\"absolute top-0 left-0 w-full h-full ${this._closing\n          ? 'animate-lighten'\n          : 'animate-darken'}\"\n        style=\"background: ${color('bg-secondary')}\"\n      ></div>\n      <div\n        class=\"transition-all p-4 pt-6 pb-8 rounded-3xl shadow-2xl flex flex-col justify-center items-center w-full max-w-md max-sm:rounded-b-none\n    ${this._closing ? 'animate-fade-out' : 'animate-fade-in'}\"\n        style=\"background: ${color('bg-primary')}\"\n      >\n        <div class=\"flex justify-center items-center gap-2 w-full relative\">\n          <div class=\"absolute right-0 h-full flex items-center justify-center\">\n            <div class=\"cursor-pointer\" @click=${this._handleClose}>\n              ${crossIcon}\n            </div>\n          </div>\n          ${bcLogo}\n        </div>\n        <lwc-modal-content class=\"flex w-full\"></lwc-modal-content>\n      </div>\n    </div>`;\n  }\n\n  private _handleClose() {\n    this._closing = true;\n    setTimeout(() => this.onClose?.(), 750);\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-modal': LwcModal;\n  }\n}\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const lwcIcon = svg`\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.467 9.58364C20.8686 7.1131 19.0009 5.75862 16.4352 4.83834L17.3135 1.49591L15.279 0.961432L14.4238 4.21577C13.889 4.07528 13.3395 3.94217 12.7935 3.81025L13.6547 0.534467L11.6213 0L10.7424 3.34125C10.2995 3.23448 9.86483 3.12899 9.44296 3.01841L9.44542 3.00797L6.63962 2.26953L6.06909 4.44258C6.06909 4.44258 7.579 4.80879 7.54676 4.82989C8.37077 5.04672 8.51324 5.59562 8.48275 6.02896L7.48221 9.83672L7.47855 9.8512L6.07612 15.1853C5.97179 15.4351 5.71068 15.8086 5.13466 15.6583C5.15463 15.6882 3.65584 15.2692 3.65584 15.2692L2.61304 17.5927L5.26067 18.2884C5.55635 18.3665 5.84844 18.4466 6.13748 18.5259L6.13789 18.526L6.13977 18.5265L6.14124 18.5269C6.33241 18.5794 6.52226 18.6314 6.71093 18.6823L5.82337 22.063L7.85559 22.5975L8.73456 19.2527C9.28955 19.4109 9.8284 19.5573 10.3557 19.6953L9.47987 23.0244L11.5144 23.5589L12.4019 20.1846C15.8739 20.8873 18.4943 20.6548 19.6357 17.5209C20.5555 14.9976 19.6421 13.5238 17.8231 12.5473C19.1605 12.2567 20.1761 11.3922 20.467 9.58364ZM11.6527 8.12503L11.9298 7.06916C12.0589 6.57751 12.5621 6.28358 13.0537 6.41263C13.5454 6.54169 13.8393 7.04487 13.7103 7.53652L13.4331 8.59239L14.4889 8.86954C14.9805 8.99859 15.2744 9.50178 15.1454 9.99342C15.0163 10.4851 14.5131 10.779 14.0215 10.6499L12.9657 10.3728L12.6885 11.4287C12.5595 11.9204 12.0563 12.2143 11.5646 12.0852C11.073 11.9562 10.7791 11.453 10.9081 10.9613L11.1853 9.90544L10.1293 9.62823C9.63766 9.49917 9.34372 8.99599 9.47278 8.50434C9.60184 8.0127 10.105 7.71876 10.5967 7.84782L11.6527 8.12503ZM14.1402 13.004L13.863 14.0599L12.807 13.7827C12.3154 13.6536 11.8122 13.9476 11.6832 14.4392C11.5541 14.9309 11.848 15.4341 12.3397 15.5631L13.3957 15.8403L13.1185 16.8962C12.9894 17.3879 13.2834 17.891 13.775 18.0201C14.2667 18.1492 14.7699 17.8552 14.8989 17.3636L15.1761 16.3077L16.2319 16.5848C16.7235 16.7139 17.2267 16.42 17.3557 15.9283C17.4848 15.4367 17.1909 14.9335 16.6992 14.8044L15.6435 14.5273L15.9206 13.4714C16.0497 12.9798 15.7557 12.4766 15.2641 12.3475C14.7725 12.2185 14.2693 12.5124 14.1402 13.004Z\" fill=\"${color(\n  'text-primary'\n)}\"/>\n</svg>`;\n","import {svg} from 'lit';\n\nexport const satIcon = svg`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM8.69253 8.74209L16.3304 10.8053L16.6668 9.34348L9.02893 7.2803L8.69253 8.74209ZM14.2194 5.69235L13.8127 7.46639L12.3649 7.07388L12.7717 5.29984L14.2194 5.69235ZM11.2272 18.7L11.6352 16.9263L10.1872 16.535L9.77913 18.3087L11.2272 18.7ZM15.6482 13.7661L8.01124 11.6995L8.34708 10.2376L15.984 12.3042L15.6482 13.7661ZM7.33193 14.6559L14.9696 16.7197L15.3059 15.2579L7.66823 13.1941L7.33193 14.6559Z\" fill=\"currentColor\"/>\n</svg>`;\n","import {html} from 'lit';\nimport {color} from '../css/colors';\n\nexport function innerBorder() {\n  return html`<div\n    class=\"absolute top-0 left-0 w-full h-full rounded-lg border-2 opacity-10 pointer-events-none\"\n    style=\"border-color: ${color('bg-primary')}\"\n  ></div>`;\n}\n","import {svg} from 'lit';\nimport {color} from '../css/colors';\n\nexport const lwcConnectedIcon = svg`\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\n<path stroke-width=\"1.5\" stroke=\"${color(\n  'text-primary'\n)}\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n</svg>`;\n","import {html} from 'lit';\nimport {customElement, property, state} from 'lit/decorators.js';\nimport './lwc-modal.js';\nimport {LwcElement} from './lwc-element.js';\nimport {lwcIcon} from './icons/lwcIcon.js';\nimport {withTwind} from './twind/withTwind.js';\nimport {loadingIconPrimary} from './icons/loadingIcon.js';\nimport {satIcon} from './icons/satIcon.js';\nimport {lwcConnectedIcon} from './icons/lwcConnectedIcon.js';\nimport {color} from './css/colors';\nimport {innerBorder} from './templates/innerBorder.js';\n\n/**\n * A button that when clicked launches the LWC modal.\n *\n * @csspart button - The button\n */\n@customElement('lwc-button')\nexport class LwcButton extends withTwind()(LwcElement) {\n  @state()\n  private _modalOpen = false;\n\n  @property({\n    attribute: 'icon-only',\n    type: Boolean,\n  })\n  iconOnly?: boolean;\n  @property({\n    attribute: 'connected-icon-only',\n    type: Boolean,\n  })\n  connectedIconOnly?: boolean;\n\n  @property({\n    type: Boolean,\n  })\n  disabled = false;\n\n  constructor() {\n    super();\n  }\n\n  // FIXME:\n  // - inner border icon should be a gradient\n  // - some hardcoded transparent whites should be transparent(primaryColor)\n  // TODO:\n  // - extract common button styles\n  // - extract common inner border styles\n  override render() {\n    const isLoading = this._connecting || (!this._connected && this._modalOpen);\n    const iconOnly =\n      this.iconOnly || (this.connectedIconOnly && this._connected);\n    return html`<div>\n      <div\n        class=\"relative inline-flex transition-all hover:brightness-110 active:scale-95 cursor-pointer ${this\n          ._connected && !iconOnly\n          ? 'rounded-lg gap-2 justify-center items-center'\n          : ''}\"\n        style=\"${this._connected && !iconOnly\n          ? `background: linear-gradient(180deg, #fff6 0%, #fff0 100%), linear-gradient(180deg, ${color(\n              'bg-secondary'\n            )}, ${color('bg-secondary')} 100%)`\n          : ''}\"\n        @click=${this._onClick}\n      >\n        ${this._connected ? innerBorder() : null}\n        <button\n          part=\"button\"\n          class=\"${iconOnly ? 'w-8 h-8' : `h-10 px-4`} \n          relative font-medium font-sans shadow rounded-lg flex gap-2 justify-center items-center\n          ${this.disabled ? 'bg-gray-300 opacity-50' : ''}\"\n          style=\"${!this.disabled &&\n          `\n            background: linear-gradient(180deg, ${color(\n              'tertiary',\n              color('primary')\n            )} 0%, ${color('tertiary', color('secondary'))} 100%);\n            color: ${color('text-primary')};\n          `}\"\n          ?disabled=${this.disabled}\n        >\n          ${innerBorder()}\n          ${isLoading\n            ? loadingIconPrimary\n            : this._connected\n            ? iconOnly\n              ? lwcConnectedIcon\n              : null\n            : lwcIcon}\n          ${!iconOnly\n            ? html`<span class=\"font-semibold\">\n                ${isLoading\n                  ? html`Connecting...`\n                  : this._connected\n                  ? html`${this._alias || 'Connected'}`\n                  : html`Connect Wallet`}\n              </span>`\n            : null}\n        </button>\n        ${this._connected && !iconOnly && this._balance !== undefined\n          ? html`<span\n              class=\"font-medium font-sans mr-2 flex justify-center items-center gap-0.5\"\n              style=\"color: ${color('text-tertiary')}\"\n              >${satIcon}<span class=\"font-mono\">${this._balance}</span></span\n            >`\n          : null}\n      </div>\n      ${this._modalOpen\n        ? html`<lwc-modal .onClose=${this._closeModal} />`\n        : null}\n    </div>`;\n  }\n\n  private _closeModal = () => {\n    this._modalOpen = false;\n  };\n\n  private _onClick() {\n    this._modalOpen = true;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'lwc-button': LwcButton;\n  }\n}\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","appendedFonts","Connector","config","this","_config","_proto","prototype","init","window","webln","Error","Promise","resolve","enable","then","e","reject","getBalance","_exit","_temp","_catch","balanceResponse","balance","error","console","_result","undefined","getAlias","getInfo","info","node","alias","ExtensionConnector","_Connector","call","_inheritsLoose","_this","setTimeout","NWCConnector","nwcUrl","nwc","NostrWebLNProvider","nostrWalletConnectUrl","connectors","dispatchLwcEvent","type","event","Event","bubbles","composed","dispatchEvent","privateStore","createStore","set","connector","setConfig","setConnector","store","connected","connecting","connectorName","connect","_temp2","localStorage","setItem","JSON","stringify","saveConfig","connectorType","getState","disconnect","removeItem","setAlias","setBalance","getConnectorName","_privateStore$getStat","configJson","getItem","parse","loadConfig","LwcElement","_LitElement","_connected","_connecting","_connectorName","_alias","_balance","_i","_arr","family","font","document","createElement","href","rel","head","appendChild","loadFonts","subscribe","connectedCallback","LitElement","toClassName","rule","v","n","join","format","rules","seperator","map","styles","css","_templateObject","_taggedTemplateLiteralLoose","state","escape","CSS","className","replace","hash","value","h","index","Math","imul","charCodeAt","toString","mql","screen","prefix","asArray","min","raw","keys","feature","Array","isArray","identity","noop","Layer","b","a","u","o","seperatorPrecedence","string","match","atRulePrecedence","test","max","RegExp","$1","$2","PRECEDENCES_BY_PSEUDO_CLASS","convert","name","important","variants","context","precedence","conditions","variant","theme","condition","push","indexOf","slice","p","registry","Map","stringify$1","groups","selector","replaceEach","reduce","selectorPart","conditionPart","mergeMatch","exec","selectorIndex","replaceReference","reduceRight","body","grouping","iteratee","_","comma","reference","collator","Intl","Collator","numeric","sortedInsertionIndex","array","element","low","high","pivot","compareTwindRules","layer","compare","byModifier","byName","s","split","pop","String","fromCharCode","parseColorComponent","chars","factor","round","parseInt","toColorValue","color","options","opacityValue","opacityVariable","opacity","includes","size","substr","serialize","style","serialize$","declarations","maxPropertyPrecedence","numberOfDeclarations","property","translateWith","toLowerCase","resolveThemeFunction","rulePrecedence","screenKey","unshift","sort","__","___","defaultValue","filter","merge","current","result","Boolean","translate","cssRule","resolved","factory","get","precedence1","splice","useOrderOfRules","flatMap","define","createRule","active","loc","negated","endsWith","uniq","values","cache","token","parsed","startIndex","skip","comment","position","commit","isRule","endOffset","char","lastMatch","lastGroup","lastIndexOf","nested","shift","pattern","fromMatch","maybeNegate","offset","find","$$","input","matchTheme","section","fromTheme","themeSection","camelize","arbitrary","matchColor","colorFromTheme","colorMatch","opacityMatch","colorValue","opacitySection","create","properties","toCSS","dark","darkColorValue","normalize","x","toUpperCase","before","url","after","fullMatch","characterBefore","repeat","defineConfig","presets","userConfig","darkMode","darkColor","preflight","ignorelist","finalize","preset","extend","list","getResolver","isDark","item","resolver","getVariantResolver","createResolve","getRuleResolver","patterns","createRegExpExecutor","run","toCondition","cssom","cssRules","querySelector","tagName","prepend","dataset","twind","getStyleElement","sheet","snapshot","from","cssText","clear","forEach","insert","deleteRule","destroy","ownerNode","remove","insertRule","resume","screens","sm","md","lg","xl","columns","auto","xs","spacing","px","linear","durations","animation","none","spin","ping","pulse","bounce","aspectRatio","square","video","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backgroundColor","backgroundImage","backgroundOpacity","backgroundSize","cover","contain","blur","DEFAULT","brightness","borderColor","borderOpacity","borderRadius","full","borderSpacing","borderWidth","exponential","boxShadow","inner","boxShadowColor","caretColor","accentColor","contrast","content","divideColor","divideOpacity","divideWidth","dropShadow","fill","grayscale","hueRotate","invert","flex","initial","flexBasis","ratios","flexGrow","flexShrink","fontFamily","sans","serif","mono","fontSize","base","fontWeight","thin","extralight","light","normal","medium","semibold","bold","extrabold","black","gap","gradientColorStops","gridAutoColumns","fr","gridAutoRows","gridColumn","gridRow","gridTemplateColumns","gridTemplateRows","height","fit","inset","keyframes","transform","to","animationTimingFunction","letterSpacing","tighter","tight","wide","wider","widest","lineHeight","snug","relaxed","loose","margin","maxHeight","maxWidth","breakpoints","prose","minHeight","minWidth","order","first","last","padding","placeholderColor","placeholderOpacity","outlineColor","outlineOffset","outlineWidth","ringColor","ringOffsetColor","ringOffsetWidth","ringOpacity","ringWidth","rotate","saturate","scale","scrollMargin","scrollPadding","sepia","skew","space","stroke","strokeWidth","textColor","textDecorationColor","textDecorationThickness","textUnderlineOffset","textIndent","textOpacity","transitionDuration","transitionDelay","transitionProperty","all","colors","shadow","transitionTimingFunction","in","out","width","willChange","scroll","zIndex","start","end","dividend","Number","toFixed","stop","unit","divideBy","step","boxSizing","borderStyle","html","WebkitTextSizeAdjust","MozTabSize","tabSize","fontFeatureSettings","hr","borderTopWidth","textDecoration","small","verticalAlign","sub","bottom","sup","top","table","borderCollapse","textTransform","WebkitAppearance","outline","progress","summary","display","fieldset","legend","listStyle","textarea","resize","cursor","center","marginRight","marginLeft","paddingFor","paddingRight","paddingLeft","spacify","right","left","visibility","columnify","gridTemplate","span","convertContentValue","edge","y","WebkitFontSmoothing","MozOsxFontSmoothing","fontStyle","$3","fontVariantNumeric","asDefaults","textDecorationLine","overflow","whiteSpace","textOverflow","wordBreak","overflowWrap","corners","t","l","edges","parts","keyframeValues","tranformDefaults","transformValue","outlineStyle","clip","trim","shorthand","separator","longhand","short","w","propertyPrefix","propertySuffix","filters","defaults","gpu","props","$4","$5","label","__proto__","slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","presetTailwind","disablePreflight","inherit","transparent","white","some","presetTailwindBase","supportsAdoptingStyleSheets","ShadowRoot","ShadyCSS","nativeShadow","Document","CSSStyleSheet","getShadowRoot","shadowRoot","attachShadow","mode","withTwind","isProduction","adoptedStyleSheets","media","sheets","sheetsByElement","WeakMap","restores","restore","notFirst","addClassName","tw","hash$1","variantCache","variantResolvers","ruleCache","ruleResolvers","ignored","ctx","resolveContext","negative","sectionKey","path","assign","deref","obj","prop","section1","source","flattenColorPalette","flattend","keyPath","has","f","sortedPrecedences","insertedRules","Set","finalRule","add","defineProperties","tokens","classNames","getOwnPropertyDescriptors","restoreSheet","insertedRules$","cache$","sortedPrecedences$","observer","MutationObserver","handleMutationRecords","observe","attributeFilter","subtree","childList","handleClassAttributeChange","records","el","querySelectorAll","takeRecords","getAttribute","setAttribute","mo","BaseElement","super","disconnectedCallback","constructor","args","install","darken","lighten","primary","secondary","tertiary","fallback","LwcConnector","_withTwind","title","background","icon","_connectorType","_title","_background","_icon","render","_onClick","_connect","_extends","puzzleIcon","svg","LwcExtensionConnector","_LwcConnector","customElement","albyIcon","LwcAlbyNWCConnector","withNewSecret","initNWC","getNostrWalletConnectUrl","nwcIcon","LwcGenericNWCConnector","prompt","LwcConnectorList","apply","_templateObject2","loadingIconPrimary","loadingIconSecondary","exitIcon","gradientText","LwcModalContent","_templateObject3","_handleDisconnect","_templateObject4","crossIcon","bcLogo","LwcModal","_closing","prevStore","_handleClose","_this2","onClose","attribute","lwcIcon","satIcon","lwcConnectedIcon","innerBorder","LwcButton","_modalOpen","disabled","_closeModal","isLoading","iconOnly","connectedIconOnly","_templateObject5","_templateObject6","_templateObject7"],"mappings":"mlBAsDO,SAASA,EAAWC,EAAYC,EAAQC,EAAKC,GAClD,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,EACrH,GAAuB,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,GAChJ,OAAOH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,CAC9D,CAgQkD,mBAApBO,iBAAiCA,gBC3T/D,IAAIC,GAAgB,yFCEE,IAAAC,eAAS,WAG7B,SAAAA,EAAYC,GACVC,KAAKC,QAAUF,CACjB,CAAC,IAAAG,EAAAJ,EAAAK,iBAAAD,EAEKE,gBAAI,IACR,IAAKC,OAAOC,MACV,MAAM,IAAIC,MAAM,+BACjB,OAAAC,QAAAC,QACKJ,OAAOC,MAAMI,UAAQC,KAC7B,aAAA,CAAC,MAAAC,GAAA,OAAAJ,QAAAK,OAAAD,EAAAV,CAAAA,EAAAA,EAEKY,WAAU,WAAA,QAAAC,EAAAC,EAAAC,EACV,WACF,IAAKZ,OAAOC,MACV,MAAU,IAAAC,MAAM,mBACjB,OAAAC,QAAAC,QACoD,MAAvBJ,OAAOC,MAAMQ,gBAAU,EAAvBT,OAAOC,MAAMQ,cAAcH,KAAA,SAAnDO,GACyB,OAAAH,EAAA,EAAxBG,MAAAA,OAAAA,EAAAA,EAAiBC,OAAO,EAChC,EAAQC,SAAAA,GACPC,QAAQD,MAAM,wBAAyBA,EACxC,GAAAZ,OAAAA,QAAAC,QAAAO,GAAAA,EAAAL,KAAAK,EAAAL,cAAAW,GAAA,OAAAP,EAAAO,OACMC,CAAS,GAAAR,EAAAC,OAATO,EACT,CAAC,MAAAX,GAAAJ,OAAAA,QAAAK,OAAAD,EAAAV,CAAAA,EAAAA,EAEKsB,SAAQ,WAAA,WAAAhB,QAAAC,QAAAQ,EACR,WACF,IAAKZ,OAAOC,MACV,MAAU,IAAAC,MAAM,mBACjB,OAAAC,QAAAC,QACkBJ,OAAOC,MAAMmB,WAASd,KAAA,SAAnCe,GACN,OAAOA,EAAKC,KAAKC,KAAM,EACxB,EAAA,SAAQR,GACPC,QAAQD,MAAM,sBAAuBA,EAEtC,GACH,CAAC,MAAAR,UAAAJ,QAAAK,OAAAD,KAAAd,CAAA,CAtC4B,GCClB+B,wBAAmBC,GAC9B,SAAAD,EAAY9B,GAAuB,OACjC+B,EAAAC,KAAA/B,KAAMD,IAAOC,IACf,CAMC,OAT6BgC,EAAAH,EAAAC,GAG7BD,EAAA1B,UAEcC,KAAI,WAAA,IAAA,IAAA6B,EAAAjC,KAAA,OAAAQ,QAAAC,QAEX,IAAID,QAAc,SAACC,GAAO,OAAKyB,WAAWzB,EAAS,IAAK,IAACE,KAAAH,WAAAA,OAAAA,QAAAC,QAAAqB,EAAA3B,UACnDC,KAAI2B,KAAAE,IAAAtB,KAClB,WAAA,EAAA,EAAA,CAAC,MAAAC,GAAA,OAAAJ,QAAAK,OAAAD,EAAA,CAAA,EAAAiB,CAAA,EATqC/B,GCE3BqC,eAAa,SAAAL,GACxB,SAAAK,EAAYpC,GAAuBkC,IAAAA,EAGjC,GAFAA,EAAAH,EAAAC,KAAMhC,KAAAA,IAENC,MAAKD,EAAOqC,OACV,MAAM,IAAI7B,MAAM,uBAElB,IAAM8B,EAAM,IAAI/B,EAAKA,MAACgC,mBAAmB,CACvCC,sBAAuBxC,EAAOqC,SAIe,OAA/C/B,OAAOC,MAAQ+B,EAAgCJ,CACjD,CAAC,OAbuBD,EAAAG,EAAAL,GAavBK,CAAA,CAbuB,CAAQrC,GCFrB0C,EAAa,CACxB,oBAAqBX,EACrB,WAAYM,EACZ,cAAeA,GCND,SAAAM,EACdC,GAOA,IAAMC,EAAQ,IAAIC,MAAMF,EAAM,CAACG,SAAS,EAAMC,UAAU,IACxDzC,OAAO0C,cAAcJ,EACvB,CCGA,MAAMK,EAAeC,EAAWA,YAAe,SAACC,GAAS,MAAA,CACvDC,eAAW5B,EACXxB,YAAQwB,EACR6B,UAAW,SAACrD,GACVmD,EAAI,CAACnD,OAAAA,GACP,EACAsD,aAAc,SAACF,GACbD,EAAI,CAACC,UAAAA,GACP,EACD,GAeKG,EAAQL,EAAAA,YAAmB,SAACC,GAAS,MAAA,CACzCK,WAAW,EACXC,YAAY,EACZ5B,WAAOL,EACPJ,aAASI,EACTkC,mBAAelC,EACfmC,QAAO,SAAS3D,GAA2B,IAAA,IAAA4D,EAAA,YAuD7C,SAAoB5D,GAClBM,OAAOuD,aAAaC,QAAQ,aAAcC,KAAKC,UAAUhE,GAC3D,CA/BIiE,CAAWjE,EAAQ,EAzBnB0C,EAAiB,kBACjBS,EAAI,CACFM,YAAY,IACX,IAAAxC,2BAEKmC,EAAY,IAAIX,EAAWzC,EAAOkE,eAAelE,GAAQS,QAAAC,QACzD0C,EAAU/C,QAAMO,KAAAH,WAAAA,OAAAA,QAAAC,QACA0C,EAAUrC,cAAYH,KAAA,SAAtCQ,GAAO,OAAAX,QAAAC,QACO0C,EAAU3B,YAAUb,KAAA,SAAlCiB,GACNoB,EAAakB,WAAWd,UAAUrD,GAClCiD,EAAakB,WAAWb,aAAaF,GACrCD,EAAI,CACFK,WAAW,EACXC,YAAY,EACZrC,QAAAA,EACAS,MAAAA,EACA6B,cAAe1D,EAAO0D,gBAExBhB,EAAiB,gBAAiB,EACnC,EAAA,yBAhBE,IAEKU,sCAFLlC,CAAA,EAgBMG,SAAAA,GACPC,QAAQD,MAAMA,GACd8B,EAAI,CACFM,YAAY,GAEf,GAAAhD,OAAAA,QAAAC,QAAAO,GAAAA,EAAAL,KAAAK,EAAAL,KAAAgD,GAAAA,IAEH,CAAC,MAAA/C,GAAAJ,OAAAA,QAAAK,OAAAD,EAAA,CAAA,EACDuD,WAAY,WACVnB,EAAakB,WAAWd,eAAU7B,GAClCyB,EAAakB,WAAWb,kBAAa9B,GACrC2B,EAAI,CACFK,WAAW,EACX3B,WAAOL,EACPJ,aAASI,EACTkC,mBAAelC,IAiBnBlB,OAAOuD,aAAaQ,WAAW,cAd7B3B,EAAiB,mBACnB,EACA4B,SAAU,SAACzC,GACTsB,EAAI,CAACtB,MAAAA,GACP,EACA0C,WAAY,SAACnD,GACX+B,EAAI,CAAC/B,QAAAA,GACP,EACAoD,iBAAkB,WAAAC,IAAAA,EAAAA,OAAoC,OAApCA,EAAMxB,EAAakB,WAAWnE,aAAM,EAA9ByE,EAAgCf,aAAa,EACtE,IAYD,WACE,IAAMgB,EAAapE,OAAOuD,aAAac,QAAQ,cAC/C,GAAID,EAAY,CACd,IAAM1E,EAAS+D,KAAKa,MAAMF,GAC1BnB,EAAMY,WAAWR,QAAQ3D,EAC1B,CACH,CAEA6E,GCtGA,IAAaC,wBAAWC,GAetB,SAAAD,IAAA5C,IAAAA,EAgBK,OAfHA,EAAA6C,EAAA/C,KAAA/B,OAdQiC,MAAU8C,YAAG,EAEb9C,EAAW+C,aAAG,EAGd/C,EAAcgD,oBAAuB1D,EAGrCU,EAAMiD,YAAuB3D,EAG7BU,EAAQkD,cAAuB5D,EPpB3B,WACd,IAAI1B,EAAJ,CAGAA,GAAgB,EAChB,IAAAuF,IAAAA,IAAAC,EAAqB,CAAC,QAAS,eAAcD,EAAAC,EAAAjG,OAAAgG,IAAE,CAA1C,IAAME,EAAMD,EAAAD,GACTG,EAAOC,SAASC,cAAc,QACpCF,EAAKG,iDAAmDJ,EAAM,qCAC9DC,EAAKI,IAAM,aACXH,SAASI,KAAKC,YAAYN,EAC3B,CAPA,CAQH,COaIO,GACA7D,EAAK8C,WAAazB,EAAMY,WAAWX,UACnCtB,EAAK+C,YAAc1B,EAAMY,WAAWV,WACpCvB,EAAKiD,OAAS5B,EAAMY,WAAWtC,MAC/BK,EAAKkD,SAAW7B,EAAMY,WAAW/C,QACjCc,EAAKgD,eAAiB3B,EAAMY,WAAWT,cAGvCH,EAAMyC,UAAU,SAACzC,GACfrB,EAAK8C,WAAazB,EAAMC,UACxBtB,EAAK+C,YAAc1B,EAAME,WACzBvB,EAAKiD,OAAS5B,EAAM1B,MACpBK,EAAKkD,SAAW7B,EAAMnC,QACtBc,EAAKgD,eAAiB3B,EAAMG,aAC9B,GAAGxB,CACL,QAhCsBD,EAAA6C,EAAAC,GAgCrBD,EAAA1E,UAEQ6F,kBAAA,WACPlB,EAAA3E,UAAM6F,kBAAiBjE,KACzB/B,KAAA,EAAC6E,CAAA,EApC6BoB,cCPhC,SAASC,EAAYC,GACjB,MAAO,IACAA,EAAKC,GACPD,EAAKzG,EAAI,IAAM,IAAMyG,EAAKE,GAC7BC,KAAK,IACX,CACA,SAASC,EAAOC,EAAOC,EAAY,KAC/B,OAAOD,EAAME,IAAIR,GAAaI,KAAKG,EACvC,CDDa5B,EAuCK8B,OAASC,EAAAA,IAAGC,IAAAA,EAAAC,EAK3B,CAAA,+FA1CDlI,EAAA,CADCmI,WAC4BlC,EAAA1E,UAAA,kBAAA,GAE7BvB,EAAA,CADCmI,EAAKA,SACwBlC,EAAA1E,UAAA,mBAAA,GAG9BvB,EAAA,CADCmI,WACwDlC,EAAA1E,UAAA,sBAAA,GAGzDvB,EAAA,CADCmI,EAAAA,SACgDlC,EAAA1E,UAAA,cAAA,GAGjDvB,EAAA,CADCmI,EAAAA,SACkDlC,EAAA1E,UAAA,gBAAA,GCTjD,IAAI6G,EAAS,oBAAsBC,KAAOA,IAAID,QAElD,CAAEE,GAAYA,EACVC,QAAQ,sCAAuC,QAE/CA,QAAQ,MAAO,WAMf,SAASC,EAAKC,GAEd,IAAI,IAAIC,EAAI,EAAGC,EAAQF,EAAMjI,OAAQmI,KAASD,EAAIE,KAAKC,KAAKH,EAAID,EAAMK,WAAWH,GAAQ,YACzF,MAAO,MAAQD,EAAIA,IAAM,KAAO,GAAGK,SAAS,GAChD,CAMI,SAASC,EAAIC,EAAQC,EAAS,WAC9B,OAAOA,EAASC,EAAQF,GAAQnB,IAAKmB,IAC1B,iBAAmBA,IAAWA,EAAS,CAC1CG,IAAKH,IACLA,EAAOI,KAAO3I,OAAO4I,KAAKL,GAAQnB,IAAKyB,GAAU,IAAIA,WAAiBN,EAAOM,OAAa7B,KAAK,WACpGA,KAAK,IACZ,CAKI,SAASyB,EAAQV,EAAQ,IACzB,OAAOe,MAAMC,QAAQhB,GAASA,EAAQ,MAAQA,EAAQ,GAAK,CACvDA,EAER,CAKI,SAASiB,EAASjB,GAClB,OAAOA,CACX,CAGI,SAASkB,IAAS,CAYtB,IAAIC,EAAQ,CAGNvJ,EAAiB,EAGjBwJ,EAAa,UAGbvJ,EAAmB,UAMnBwJ,EAAgB,UAGhBC,EAAkB,UAGlBC,EAAkB,WAuCxB,SAASC,EAAoBC,GACzB,OAAOA,EAAOC,MAAM,YAAY3J,QAAU,CAC9C,CACA,SAAS4J,EAAiBpC,GAoBtB,OAAOY,KAAKQ,IAAI,sCAAsCiB,KAAKrC,GAAOY,KAAK0B,IAAI,EAAG,QAAUC,OAAOC,IAAMD,OAAOE,GAAK,GAAK,KAAO,KAAQ,IAAM,EAAG,KAAO,GAA6B7B,KAAKQ,IAAIa,EAAoBjC,GAAM,KAAO,EAChO,CAYA,IAAI0C,EAA8B,CACrB,QACc,QAEd,QACY,QACD,KACD,QACA,QACA,MACA,QACE,QACI,MACL,MACA,QACO,OACP,QACE,QACD,SAEyX,SAASC,GAAUlD,EAAGmD,EAAO9J,EAAG+J,EAAYrD,EAAGsD,EAAW,IAAOC,EAASC,EAAYC,GACpeL,IAASA,EAAOtD,EAAY,CACxBG,EAAGmD,EACH9J,EAAG+J,EACHrD,EAAGsD,KAEPG,EAAa,IACN9B,EAAQ8B,IAEf,IAAK,IAAIC,KAAWJ,EAAS,CACzB,IAAI7B,EAAS8B,EAAQI,MAAM,UAAWD,GACtC,IAAK,IAAIE,KAAajC,EAAQF,GAAUD,EAAIC,IAAW8B,EAAQvD,EAAE0D,IAE7DD,EAAWI,KAAKD,GAChBJ,GAAc/B,EAAS,SAAgCmB,EAAiBgB,GAAa,QAAUF,EAAU,WAAmC,KAAOE,EAAU,GAAKhB,EAAiBgB,GACnL,KAAO,aAAaf,KADwLe,KACrKV,EAA4BY,QAAQf,OAAOC,GAAGe,MAAM,EAAG,MAAQ,GAE7G,CACD,MAAO,CACH9D,EAAGmD,EACHY,EAAGR,EACHvK,EAAGwK,EACHnK,EAAG+J,EAEX,CACA,IAAIY,EAAW,IAAIC,IACnB,SAASC,EAAYpE,GACjB,GAAIA,EAAKlH,EAAG,CACR,IAAIuL,EAAS,GAAIC,EAAWC,EAC5BvE,EAAK9G,EAAEsL,OAAO,CAACF,EAAUT,IACd,KAAOA,EAAU,IAAMQ,EAAOP,KAAKD,GAAYS,GACtDT,EAAYU,EAAYD,EAAWG,GAAeF,EAAYV,EACzDa,IACG,IAAIC,EAAa,mCAAmCC,KAAKF,GACzD,GAAIC,EAAY,CACZ,IAAIE,EAAgBJ,EAAaV,QAAQY,EAAW,IACpD,OAAQE,EAERJ,EAAaT,MAAM,EAAGa,GAAiBF,EAAW,GAAKF,EAAaT,MAAMa,EAAgBF,EAAW,GAAG1L,QACxG6L,EAAiBL,EAAcC,EAClC,CAED,OAAOI,EAAiBJ,EAAeD,EAAa,IAClDH,EACX,KACFG,GAAeK,EAAiBL,EAAczE,EAAKE,EAAI,IAAMW,EAAOb,EAAKE,GAAK,KAC/E,OAAOoE,GAAYD,EAAOP,KAAKQ,EAAStD,QAAQ,mBAAoB,OAAQqD,EAAOU,YAAY,CAACC,EAAMC,IAAWA,EAAW,IAAMD,EAAO,IAAKhF,EAAKlH,EACtJ,CACL,CACA,SAASyL,EAAYD,EAAUY,GAC3B,OAAOZ,EAAStD,QAAQ,wCAAyC,CAACmE,EAAGV,EAAcW,IAAQF,EAAST,GAAgBW,EACxH,CACA,SAASN,EAAiBR,EAAUe,GAChC,OAAOf,EAAStD,QAAQ,KAAMqE,EAClC,CACA,IAAIC,EAAW,IAAIC,KAAKC,SAAS,KAAM,CACnCC,SAAS,IAMT,SAASC,EAAqBC,EAAOC,GAGrC,IAAI,IAAIC,EAAM,EAAGC,EAAOH,EAAM1M,OAAQ4M,EAAMC,GAAM,CAC9C,IAAIC,EAAQD,EAAOD,GAAO,EAC1B,GAAKG,EAAkBL,EAAMI,GAAQH,GAAWC,EAAME,EAAQ,EAAID,EAAOC,CAC5E,CACD,OAAOD,CACX,CACA,SAASE,EAAkBzD,EAAGD,GAE1B,IAAI2D,EAAQ1D,EAAE0B,EAAI5B,EAAMI,EACxB,OAAOwD,IAAU3D,EAAE2B,EAAI5B,EAAMI,IAAOwD,GAAS5D,EAAMC,GAAK2D,GAAS5D,EAAMI,EAASF,EAAE0B,EAAI3B,EAAE2B,GAAK1B,EAAEE,EAAIH,EAAEG,GAAK6C,EAASY,QAAQC,EAAW5D,EAAErC,GAAIiG,EAAW7D,EAAEpC,KAAOoF,EAASY,QAAQE,EAAO7D,EAAErC,GAAIkG,EAAO9D,EAAEpC,IAA3H,CAChF,CACA,SAASiG,EAAWE,GAChB,OAAQA,GAAK,IAAIC,MAAM,KAAKC,MAAMD,MAAM,KAAKC,OAAS,IAC1D,CACA,SAASH,EAAOC,GACZ,OAAQA,GAAK,IAAIrF,QAAQ,MAAQjI,GAAIyN,OAAOC,aAAa,IAAM1N,EAAEwI,WAAW,KAAO,IACvF,CACA,SAASmF,EAAoBC,EAAOC,GAChC,OAAOvF,KAAKwF,MAAMC,SAASH,EAAO,IAAMC,EAC5C,CAMI,SAASG,EAAaC,EAAOC,EAAU,IACvC,GAAI,mBAAqBD,EAAO,OAAOA,EAAMC,GAC7C,IAAIC,aAAEA,EAAc,oBAAMC,GAAqBF,EAASG,EAAUD,EAAkB,OAAOA,KAAqBD,EAChH,GAAIF,EAAMK,SAAS,iBAAkB,OAAOL,EAAMhG,QAAQ,gBAAiBoG,GAE3E,GAAI,KAAOJ,EAAM,KAAO,GAAKA,EAAM/N,QAAU,GAAK+N,EAAM/N,QAAS,CAC7D,IAAIqO,GAAQN,EAAM/N,OAAS,GAAK,EAAG2N,EAAS,CACxC,GACA,EACA,SACFU,EAAO,GACT,MAAO,QAAQ,CACXZ,EAAoBM,EAAMO,OAAO,EAAGD,GAAOV,GAC3CF,EAAoBM,EAAMO,OAAO,EAAID,EAAMA,GAAOV,GAClDF,EAAoBM,EAAMO,OAAO,EAAI,EAAID,EAAMA,GAAOV,GACtDQ,KAEP,CACD,MAAO,KAAOA,EAAUJ,EAAQ,KAAOI,EAAU,QACjDJ,EAAMhG,QAAQ,yBAA0B,SAASoG,KACrD,CAwBA,SAASI,EAAUC,EAAOzH,EAAMwD,EAASC,EAAYC,EAAa,IAC9D,OAAO,SAASgE,EAAWD,GAASvH,EAAGmD,EAAOY,EAAGR,EAAavK,EAAGwK,EAAa,GAAKnK,EAAG+J,GAAcE,GAChG,IAAInD,EAAQ,GACZsH,EAAe,GACfC,EAAwB,EACxBC,EAAuB,EACvB,IAAI,IAAIjP,KAAO6O,GAAS,GAAG,CACvB,IAAIxB,EA6BJ6B,EACA,IAAI5G,EAAQuG,EAAM7O,GAClB,GAAI,KAAOA,EAAI,GAAI,CAEf,IAAKsI,EAAO,SAEZ,GAAI,KAAOtI,EAAI,GAAI,CACfyH,EAAMyD,QAAQiE,EAAc1E,EAAMI,EAAYjF,EAAM,GAAK0C,GAAQsC,EAASC,EAAYC,EAAYJ,GAAW,IAC7G,QACH,CAED,GAAI,KAAO1K,EAAI,GAAI,CACf,IAAK,IAAI6H,KAAOmB,EAAQV,GAAOb,EAAMyD,QAAQ4D,EAAWjH,EAAK,CACzDP,EAAGmD,EACHY,GAAIgC,EAAQ5D,EAAMzJ,EAAI,IACtB6K,GAAcpB,EAAMI,EAAIwD,GACxB/M,EAAG,KAAON,EAAI,GAAK,GAAK8K,EACxBnK,EAAG+J,GACJE,IACH,QACH,CAED,GAAI,KAAO5K,EAAI,GAAI,CACfyH,EAAMyD,QAAQlC,EAAQV,GAAOX,IAAKW,IAAS,CAEnC+C,GAAI,EACJxB,EAAG,EACHvJ,EAAG,GACHJ,EAAGF,EAAM,IAAMsI,MAEvB,QACH,CAED,GAAI,KAAOtI,EAAI,GAAI,CAEfyH,EAAMyD,KAAK,CACPG,EAAG5B,EAAMvJ,EACT2J,EAAG,EACHvJ,EAAG,CACCN,GAEJE,EAAG4O,EAAWxG,EAAO,CACjB+C,EAAG5B,EAAMvJ,GACV0K,GAASjD,IAAI6D,GAAajE,KAAK,MAEtC,QACH,CAGD,GAAI,KAAOvH,EAAI,GAAI,CAEfyH,EAAMyD,QAAQlC,EAAQV,GAAOX,IAAKW,IAAS,CACnC+C,EAAG5B,EAAMvJ,EACT2J,EAAG,EACHvJ,EAAG,CACCN,GAEJE,EAAG4O,EAAWxG,EAAO,CACjB+C,EAAG5B,EAAMvJ,GACV0K,GAASjD,IAAI6D,GAAajE,KAAK,QAE1C,QACH,CACJ,CAKD,GAAI,iBAAmBe,GAASe,MAAMC,QAAQhB,GACtC,SAAWtI,GAAOsI,EAAOmC,EAAOnC,EAAQD,EAAKtD,KAAKC,UAAU,CAC5D6F,EACAH,EACAmE,MAEKvG,GAAS,IAAMA,KAEpBtI,EAAMA,EAAIoI,QAAQ,SAAWmE,GAAI,IAAMA,EAAE6C,eAEzCH,GAAwB,EACxBD,EAAwBvG,KAAK0B,IAAI6E,EAAuB,MAAQE,EAAWlP,GAAK,GAAK,EAAI8J,EAAoBoF,IAAa,2EAA2EhF,KAAKgF,MAAe9E,OAAOC,OAAkBD,OAAOE,GAAc,GAAK,GAC5QyE,IAAiBA,EAAe,IAAM,IAAM/F,EAAQV,GAAOX,IAAKW,GAAQsC,EAAQ6C,EAAEzN,EAE9EqP,EAAqB,GAAK/G,EAAOsC,EAAQI,QAAUN,EAAY,cAAgB,MAAMnD,KAAK,WAGtG,GAAI,KAAOvH,EAAI,IAAMA,EAAIyO,SAAS,KAAM,CACpC,IAAIa,EAAiBzE,EACjB,KAAO7K,EAAI,KAEXA,EAAMA,EAAIoI,QAAQ,uBAAwB,CAACmE,EAAGgD,KAC1C,IAAIzG,EAAS8B,EAAQI,MAAM,UAAWuE,GACtC,OAAOzG,GAAUwG,GAAkB,SAA+BzG,EAAIC,EAAQ,KAAOyD,CAAC,GAE1F+C,GAAkBrF,EAAiBjK,IAEvCyH,EAAMyD,QAAQ4D,EAAWxG,EAAO,CAC5BhB,EAAGmD,EACHY,EAAGiE,EACHhP,EAAG,IACIwK,EACH9K,GAEJW,EAAG+J,GACJE,GACN,MACDnD,EAAMyD,QAAQ4D,EAAWxG,EAAO,CAC5B+C,EAAGR,EACHvK,EAAG,IACIwK,EACH9K,IAEL4K,GACN,CACD,OACAnD,EAAM+H,QAAQ,CACVlI,EAAGmD,EACHY,EAAGR,EACHhB,EACApB,KAAK0B,IAAI,EAAG,GAAK8E,GAGjB,IAAMxG,KAAKQ,IAAI+F,GAAyB,GAAI,IAC5C1O,EAAGwK,EAEH5K,EAAG6O,IACHtH,EAAMgI,KAAKrC,EACvB,CAjKW,CAiKLyB,EAAOrE,EAAQpD,EAAMwD,EAASC,EAAYC,GAAaF,EAC7D,CACA,SAASyE,EAAqB/G,EAAO0C,GAMjC,OAAO1C,EAAMF,QAAQ,uDAAwD,CAACmE,EAAGmD,EAAI1P,EAAK2P,EAAKC,EAAe,MAC1G,IAAItH,EAAQ0C,EAAMhL,EAAK4P,GACvB,MAAO,mBAAqBtH,GAAS,qBAAqB4B,KAAKlK,GAAOmO,EAAa7F,GAAS,GAAKU,EAAQV,GAAOuH,OAAQxI,GAAI9G,OAAO8G,KAAOA,EAAE,EAEpJ,CAGA,SAASyI,EAAMrI,EAAOgD,GAClB,IAAIsF,EAOAC,EAAS,GACb,IAAK,IAAI5I,KAAQK,EACbL,EAAKlH,GAAKkH,EAAKE,EACXyI,GAAS1E,GAAKjE,EAAKiE,GAAK,GAAK0E,EAAQzP,GAAK,GAAK8G,EAAK9G,GACpDyP,EAAQ5P,EAAI,CACR4P,EAAQ5P,EACRiH,EAAKjH,GACP0P,OAAOI,SAAS1I,KAAK,KACvBwI,EAAQ7P,EAAI6P,EAAQ7P,EAAI,IAAMkH,EAAKlH,GAEvC8P,EAAO9E,KAAK6E,EAAU,IACf3I,EACHE,EAAGF,EAAKE,GAAKmD,IAEduF,EAAO9E,KAAK,IACZ9D,EACHE,EAAGF,EAAKE,GAAKmD,IAEjB,OAAOuF,CACX,CACA,SAASE,EAAUzI,EAAOmD,EAASC,EAAapB,EAAMG,EAAGkB,EAAYJ,GAEjE,IAAIsF,EAAS,GACb,IAAK,IAAI5I,KAAQK,EAAM,IAAK,IAAI0I,KAAW,SAAS/I,EAAMwD,EAASC,EAAYC,EAAYJ,GAKvF,IAAI0F,EAAW,SAAShJ,EAAMwD,GAC1B,IAAIyF,EAAU/E,EAASgF,IAAIlJ,EAAKE,GAChC,OAAO+I,EAAUA,EAAQjJ,EAAMwD,GAAWA,EAAQtK,EAAE8G,EAAKE,EAAG,QAAUF,EAAKC,EAAE,GACzF,CAHuB,CAJfD,EAAO,IACAA,EACHzG,EAAGyG,EAAKzG,GAAK+J,GAKTE,GACR,OAAOwF,EACP,iBAAmBA,KAAc9P,EAAGwK,EAAaO,EAAGR,GAAgBL,EAAQpD,EAAMwD,EAASC,EAAYC,IAAagF,EAAMI,EAAUtK,EAAMwK,GAAWxF,EAASC,EAAYC,EAAY1D,EAAKzG,GAAIyG,EAAKE,IAAM+B,MAAMC,QAAQ8G,GAAYA,EAASzI,IAAKP,IAC9O,IAoETmJ,EAAalD,EACJ,MAAO,CACHxD,EAAG,KACAzC,EACH9G,EAAG,IACI0I,EAAQ8B,MACR9B,EAAQ5B,EAAK9G,IAEpB+K,GAAIkF,EAAc1F,EAAYwC,EAAQjG,EAAKiE,GAAKR,EAAY0F,GAAe9G,EAAMI,EAAIwD,GACxF,GACAuB,EAAUwB,EAAUhJ,EAAMwD,EAASC,EAAYC,GACpD,CACI,CACI3K,EAAGgH,EAAYC,GACfiE,EAAG,EACHxB,EAAG,EACHvJ,EAAG,IAGd,CAlG0C,CAkGzC8G,EAAMwD,EAASC,EAAYC,EAAYJ,GAAWsF,EAAOQ,OAAO1D,EAAqBkD,EAAQG,GAAU,EAAGA,GAC5G,OAAOH,CACX,CACA,SAASb,EAAc1E,EAAM4C,EAAO5F,EAAOmD,EAASC,EAAYC,EAAYJ,EAAW+F,GACnF,OAAOX,GAAOW,EAAkBhJ,EAAMiJ,QAAStJ,GAAO8I,EAAU,CACxD9I,GACDwD,EAASC,EAAYC,EAAYJ,IAAcwF,EAAUzI,EAAOmD,EAASC,EAAYC,EAAYJ,IAAY/C,IAAKP,GAGrHA,EAAKiE,EAAI5B,EAAMI,IAAMzC,EAAKE,GAAK+F,GAAS5D,EAAMC,GAAK,IAC5CtC,EACHiE,EAAGjE,EAAKiE,GAAK5B,EAAMI,EAAIwD,EACvBxD,EAAG,GACHzC,GACJqD,EACR,CACA,SAASkG,EAAOxI,EAAWkF,EAAO5F,EAAOgJ,GAErC,OAGGnF,EAASnH,IAAIgE,EAHC,CAACf,EAAMwD,KACpB,IAAMtD,EAAGmD,EAAOY,EAAGR,EAAavK,EAAGwK,EAAanK,EAAG+J,GAAeF,EAAQpD,EAAMwD,EAASyC,GACzF,OAAO5F,GAAS0H,EAAc1E,EAAM4C,EAAO5F,EAAOmD,EAASC,EAAYC,EAAYJ,EAAW+F,EAAgB,GAC7EtI,CACzC,CAOM,SAASyI,EAAWC,EAAQd,EAASe,GACvC,GAAI,KAAOD,EAAOA,EAAOxQ,OAAS,GAAI,CAClC,IAAIsK,EAAW,GAAID,GAAY,EAAOqG,GAAU,EAAOtG,EAAO,GAC9D,IAAK,IAAInC,KAASuI,EAAO,GAAM,KAAOvI,IAAS,QAAQ4B,KAAK5B,GAAS,CAKjE,GAJI,KAAOA,EAAM,KACbA,EAAQA,EAAM8C,MAAM,GACpBV,GAAaA,GAEbpC,EAAM0I,SAAS,KAAM,CACrBrG,EAAS,SAAWrC,EAAQ,UAAY,QAAQA,EAAM8C,MAAM,GAAI,IAChE,QACH,CACG,KAAO9C,EAAM,KACbA,EAAQA,EAAM8C,MAAM,GACpB2F,GAAWA,GAEfzI,EAAM0I,SAAS,OAAS1I,EAAQA,EAAM8C,MAAM,GAAI,IAChD9C,GAAS,KAAOA,IAAUmC,IAASA,GAAQ,KAAOnC,EACrD,CACGmC,IACAsG,IAAYtG,EAAO,IAAMA,GACzBsF,EAAQ,GAAG7E,KAAK,CACZ5D,EAAGmD,EACHpD,EAAGsD,EAASkF,OAAOoB,GACnBtQ,EAAG+J,IAGd,CACL,CACA,SAASuG,EAAK3I,EAAOE,EAAO0I,GACxB,OAAOA,EAAO/F,QAAQ7C,IAAUE,CACpC,CACA,IAAI2I,EAAQ,IAAI5F,IAKZ,SAAS3F,EAAMwL,GACf,IAAIC,EAASF,EAAMb,IAAIc,GACvB,IAAKC,EAAQ,CAET,IAAIR,EAAS,GAEbd,EAAU,CACN,IACDuB,EAAa,EAAGC,EAAO,EAAGC,EAAU,KAAMC,EAAW,EACxDC,EAAS,CAACC,EAAQC,EAAY,KACtBN,GAAcG,IACdZ,EAAO3F,KAAKkG,EAAMhG,MAAMkG,EAAYG,EAAWG,IAC/CD,GAAUf,EAAWC,EAAQd,IAEjCuB,EAAaG,EAAW,CAAC,EAE7B,KAAMA,EAAWL,EAAM/Q,OAAQoR,IAAW,CACtC,IAAII,EAAOT,EAAMK,GACjB,GAAIF,EAAM,MAAQH,EAAMK,EAAW,KAAOF,KAAU,KAAOM,MAAW,KAAOA,SACxE,GAAI,KAAOA,EAChBN,GAAQ,OACH,GAAIC,EACD,MAAQJ,EAAMK,EAAW,IAAMD,EAAQtH,KAAKkH,EAAMhG,MAAMqG,MACxDD,EAAU,KACVF,EAAaG,EAAWrH,OAAO0H,UAAUzR,aAE1C,GAAI,KAAOwR,GAAQ,MAAQT,EAAMK,EAAW,IAAO,KAAOL,EAAMK,EAAW,IAAM,KAAOL,EAAMK,EAAW,GAE3G,GAAI,KAAOI,EAEZH,IACAb,EAAO3F,KAAK2G,QACT,GAAI,KAAOA,EAAM,KAAOT,EAAMK,EAAW,IAAMC,GAAO,EAAO,QAC/D,GAAI,SAASxH,KAAK2H,GAAO,CAE1BH,GAAO,GACP,IAAIK,EAAYlB,EAAOmB,YAAY,KACnC,GAAI,KAAOH,EAAM,CAEb,IAAII,EAASpB,EAAOkB,EAAY,GAChC,GAAI,QAAQ7H,KAAK+H,GAAS,CACtB,IAAIxK,EAAQsI,EAAQmC,QACpBrB,EAAOxQ,OAAS0R,EAEhBnB,EAAW,IACJC,EACH,KACDd,GACH,IAAI1I,EAAEA,GAAO0I,EAAQ,GAAGpC,MACxB,IAAK,IAAIvG,KAAQK,EACjBL,EAAKC,EAAEmJ,SAAS,QAAUpJ,EAAKC,EAAE,MAAQ,QAAUA,EAAE,IAAKA,EAAEhH,QAC5DuQ,EAAW,IACJC,EACHF,EACAsB,EAAO5R,OAAS,EAAI4R,EAAO7G,MAAM,GAAI,GAAK/C,EAAKtD,KAAKC,UAAU,CAC1DiN,EACAxK,KACEwK,EAAS,IAAMzK,EAAOC,GAAS,IAAKgC,EAAME,EAAGlC,EAAO,KAAKyC,KAAK+H,KACrElC,EACN,CACDgC,EAAYlB,EAAOmB,YAAY,IAAKD,EAAY,EACnD,CACDlB,EAAOxQ,OAAS0R,EAAY,CAC5C,KAAmB,OAAO7H,KAAK2H,IAAS,KAAOT,EAAMK,EAAW,IAGpD1B,EAAQP,QAAQ,SAvChBgC,EAAU,KAAOJ,EAAMK,EAAW,GAAK,QAAU,SAwCpD,CAEDC,GAAO,GACPP,EAAMhN,IAAIiN,EAAOC,EAAStB,EAAQ,GACrC,CACD,OAAOsB,CACX,CAqII,SAASrH,GAAMmI,EACnBzQ,EAAS8I,GACL,MAAO,CACH2H,EACAC,GAAU1Q,EAAS8I,GAE3B,CAiBI,SAAS4H,GAAU1Q,EAAS8I,GAC5B,MAAO,mBAAqB9I,EAAUA,EAAU,iBAAmBA,GAAW,WAAWwI,KAAKxI,GAC9F,CAACsI,EAAOY,KAAW,CACXlJ,CAACA,GAAU8I,EAAUA,EAAQR,EAAOY,GAAWyH,GAAYrI,EAAO,KAChEA,GACNtI,GAAW,CACP,CAACsI,EAAM,IAAKqI,GAAYrI,EAAO,GAE3C,CACA,SAASqI,GAAYrI,EAAOsI,EAAQhK,EAAQ0B,EAAMoB,MAAMkH,GAAQC,KAAKtC,UAAYjG,EAAMwI,IAAMxI,EAAMyI,OAC/F,MAAO,KAAOzI,EAAMyI,MAAM,GAAK,QAAQnK,UAAgBA,CAC3D,CAQI,SAASoK,GAAWP,EAA+EQ,EAAqEjR,EAAS8I,GACjL,MAAO,CACH2H,EACAS,GAAUD,EAASjR,EAAS8I,GAEpC,CASI,SAASoI,GAAgFD,EAAqEjR,EAAS8I,GACvK,IAAI6F,EAAU,iBAAmB3O,EAAU,CAACsI,EAAOY,KAAW,CACtDlJ,CAACA,GAAU8I,EAAUA,EAAQR,EAAOY,GAAWZ,EAAMuC,IACpD7K,GAAY,GAAG,EAAG2I,EAAKkC,KAAM3B,EAAS+H,KAAW,CAClD,CAACtI,GAAMsI,GAAUpG,KAEzB,MAAO,CAACvC,EAAOY,KACX,IAAIiI,EAAeC,GAASH,GAAW3I,EAAM,IAAK1B,EAAQsC,EAAQI,MAAM6H,EAAc7I,EAAMwI,KAAOO,GAAU/I,EAAMwI,GAAIK,EAAcjI,GACrI,GAAI,MAAQtC,EAAO,OAAO0B,EAAMuC,EAAI8F,GAAYrI,EAAO,EAAG1B,GAAQ+H,EAAQrG,EAAOY,EAASiI,EAAa,CAE/G,CAOI,SAASG,GAAWb,EAAS9D,EAAU,CAAA,EAAI3M,GAC3C,MAAO,CACHyQ,EACAc,GAAe5E,EAAS3M,GAEhC,CAQI,SAASuR,GAAe5E,EAAU,CAAE,EAAE3M,GACtC,MAAO,CAACsI,EAAOY,KAGX,IAAI+H,QAAEA,EAASG,GAAS9I,EAAM,IAAI5B,QAAQ,IAAK,IAAM,SAAaiG,GAKjE6E,EAAYC,IAA2BnJ,EAAMwI,GA0DpCxI,MAAM,oCAAsC,IAAIoB,MAAM,GAzDhE,IAAK8H,EAAY,OACjB,IAAIE,EAAaxI,EAAQI,MAAM2H,EAASO,IAAeH,GAAUG,EAAYP,EAAS/H,GACtF,IAAKwI,GAAc,iBAAmBA,EAAY,OAClD,IAAI7E,gBAGJA,EAAiB,QAAQvE,EAAM,GAAG5B,QAAQ,KAAM,cAAaiL,eAAGA,EAAgBV,EAAQvK,QAAQ,QAAS,WAAU8G,SAAGA,EAAUyD,EAAOjH,SAAGA,GAAc2C,EAASC,EAAe1D,EAAQI,MAAMqI,EAAgBF,GAAgB,YAAcA,GAAgBJ,GAAUI,EAAcE,EAAgBzI,GAIpS0I,EAAS5R,GAAO,GAAQ6K,QACpB,IAAIgH,EAAaC,GAAMtE,EAAU3C,GACjC,OAAOb,EAAW,CACdA,CAACA,GAAW6H,GACZA,CACP,GACDvJ,EAAMuC,EAAI,CACNjE,MAAO6F,EAAaiF,EAAY,CAC5B7E,gBAAiBA,QAAmB,EACpCD,aAAcA,QAAgB,IAElCF,MAAQC,GAAUF,EAAaiF,EAAY/E,GAC3CE,gBAAiBA,QAAmB,EACpCD,aAAcA,QAAgB,GAElC,IAAIiF,EAAaD,EAAOtJ,EAAOY,GAE/B,IAAKZ,EAAMyJ,KAAM,CACb,IAAIC,EAAiB9I,EAAQ1K,EAAEyS,EAASO,EAAYE,GAChDM,GAAkBA,IAAmBN,IACrCpJ,EAAMuC,EAAI,CACNjE,MAAO6F,EAAauF,EAAgB,CAChCnF,gBAAiBA,QAAmB,EACpCD,aAAcA,GAAgB,MAElCF,MAAQC,GAAUF,EAAauF,EAAgBrF,GAC/CE,gBAAiBA,QAAmB,EACpCD,aAAcA,QAAgB,GAElCiF,EAAa,CACT,IAAKA,EACL,CAAC3I,EAAQvD,EAAE,SAAUiM,EAAOtJ,EAAOY,IAG9C,CACD,OAAO2I,CAAU,CAEzB,CAiBI,SAASC,GAAMtE,EAAU5G,GACzB,IAAIiL,EAAa,CAAA,EAMjB,MALI,iBAAmBjL,EAAOiL,EAAWrE,GAAY5G,GAEjDA,EAAMiG,iBAAmBjG,EAAMA,MAAMmG,SAASnG,EAAMiG,mBAAqBgF,EAAWjL,EAAMiG,iBAAmBjG,EAAMgG,cAAgB,KACnIiF,EAAWrE,GAAY5G,EAAMA,OAE1BiL,CACX,CAOI,SAASR,GAAUzK,EAAOqK,EAAS/H,GACnC,GAAI,KAAOtC,EAAM,IAAM,KAAOA,EAAM8C,OAAO,GAAI,CAE3C,GADA9C,EAAQqL,GAAUtE,EAAqB/G,EAAM8C,MAAM,GAAI,GAAIR,EAAQI,SAC9D2H,EAAS,OAAOrK,EACrB,KAEC,qBAAqB4B,KAAKyI,KAAc,UAAUzI,KAAK5B,KAAU,iDAAiD4B,KAAK5B,IACxH,SAAS4B,KAAKyI,KAAc,UAAUzI,KAAK5B,KAAU,aAAa4B,KAAK5B,IAGvE,UAAU4B,KAAKyI,KAAc,iBAAiBzI,KAAK5B,KAAU,QAAQ4B,KAAK5B,IAG1E,YAAY4B,KAAKyI,IAAY,kBAAkBzI,KAAK5B,IAGpD,OAAOA,EAAMF,QAAQ,YAAa,GACrC,CACL,CACA,SAAS0K,GAASxK,GACd,OAAOA,EAAMF,QAAQ,MAAQwL,GAAIA,EAAE,GAAGC,cAC1C,CAKI,SAASF,GAAUrL,GACnB,OACAA,EAAMmG,SAAS,QAAUnG,EAAMF,QAAQ,0BAA2B,CAACmE,EAAGuH,EAAS,GAAIC,EAAKC,EAAQ,KAAKL,GAAUG,GAAUC,EAAMJ,GAAUK,IAAU1L,EACnJF,QAAQ,eAAgB,CAAC6L,EAAWC,IAAkBA,EAAkB,IAAIC,OAAOF,EAAU5T,OAAS6T,EAAgB7T,SAAS+H,QAAQ,OAAQ,KAE/IA,QAAQ,8BAAgC4B,GAAQA,EAAM5B,QAAQ,oEAAqE,UACvI,CA0CI,SAASgM,IAAaC,QAAEA,EAAS,MAAQC,IAGzC,IAAItT,EAAS,CACTuT,cAAU,EACVC,eAAW,EACXC,WAAW,IAAUH,EAAWG,WAAa,GAC7CzJ,MAAO,CAAE,EACTL,SAAU3B,EAAQsL,EAAW3J,UAC7BlD,MAAOuB,EAAQsL,EAAW7M,OAC1BiN,WAAY1L,EAAQsL,EAAWI,YAC/BrM,UAAM,EACNrD,UAAW,CAACkK,EAAU5G,IAAQ4G,EAAW,IAAM5G,EAC/CqM,SAAU,IAEd,IAAK,IAAIC,KAAU5L,EAAQ,IACpBqL,EACH,CACIE,SAAUD,EAAWC,SACrBC,UAAWF,EAAWE,UACtBC,WAAW,IAAUH,EAAWG,WAAazL,EAAQsL,EAAWG,WAChEzJ,MAAOsJ,EAAWtJ,MAClB3C,KAAMiM,EAAWjM,KACjBrD,UAAWsP,EAAWtP,UACtB2P,SAAUL,EAAWK,YAE1B,CACC,IAAIF,UAAEA,EAASF,SAAGA,EAAUvT,EAAOuT,SAAWC,UAAAA,EAAWxT,EAAOwT,UAASxJ,MAAGA,EAAKL,SAAGA,EAAWlD,MAAAA,EAAQiN,WAAAA,EAAarM,KAAAA,EAAMrH,EAAOqH,KAAOrD,UAAAA,EAAWhE,EAAOgE,UAAS2P,SAAGA,GAAc,mBAAqBC,EAASA,EAAO5T,GAAU4T,EACnO5T,EAAS,CAELyT,WAAW,IAAUzT,EAAOyT,YAAa,IAAUA,GAAa,IACzDzT,EAAOyT,aACPzL,EAAQyL,IAEfF,WACAC,YACAxJ,MAAO,IACAhK,EAAOgK,SACPA,EACH6J,OAAQ,IACD7T,EAAOgK,MAAM6J,UACb7J,GAAO6J,SAGlBlK,SAAU,IACH3J,EAAO2J,YACP3B,EAAQ2B,IAEflD,MAAO,IACAzG,EAAOyG,SACPuB,EAAQvB,IAEfiN,WAAY,IACL1T,EAAO0T,cACP1L,EAAQ0L,IAEfrM,OACArD,YACA2P,SAAU,IACH3T,EAAO2T,YACP3L,EAAQ2L,IAGtB,CACD,OAAO3T,CACX,CACA,SAASuR,GAAKjK,EAAOwM,EAAM3D,EAAO4D,EAAanK,EAASoK,GACpD,IAAK,IAAIC,KAAQH,EAAK,CAClB,IAAII,EAAW/D,EAAMb,IAAI2E,GACzBC,GAAY/D,EAAMhN,IAAI8Q,EAAMC,EAAWH,EAAYE,IACnD,IAAI7E,EAAW8E,EAAS5M,EAAOsC,EAASoK,GACxC,GAAI5E,EAAU,OAAOA,CACxB,CACL,CACA,SAAS+E,GAAmBpK,GACxB,IAAIrJ,EACJ,OAAO0T,GAAcrK,EAAQ,GAAI,mBAAsBrJ,EAAUqJ,EAAQ,IAAMrJ,EAAU,IAAIA,EACjG,CACA,SAAS2T,GAAgBjO,GAErB,OAAOiC,MAAMC,QAAQlC,GAAQgO,GAAchO,EAAK,GAAIgL,GAAUhL,EAAK,GAAIA,EAAK,KAAOgO,GAAchO,EAAMgL,QADnG1Q,OAAS8I,GAEjB,CACA,SAAS4K,GAAcE,EAAU5T,GAC7B,OAAO6T,GAAqBD,EAAU,CAAChN,EAAO2C,EAAWL,EAASoK,KAC9D,IAAIhL,EAAQiB,EAAUe,KAAK1D,GAC3B,GAAI0B,EAAO,OACXA,EAAMwI,GAAKlK,EAAM8C,MAAMpB,EAAM,GAAG3J,QAAS2J,EAAMyJ,KAAOuB,EAAQtT,EAAQsI,EAAOY,EAAU,EAE/F,CACA,SAAS2K,GAAqBD,EAAUE,GACpC,IAAI1K,EAAa9B,EAAQsM,GAAU3N,IAAI8N,IACvC,MAAO,CAACnN,EAAOsC,EAASoK,KACpB,IAAK,IAAI/J,KAAaH,EAAW,CAC7B,IAAIkF,EAASwF,EAAIlN,EAAO2C,EAAWL,EAASoK,GAC5C,GAAIhF,EAAQ,OAAOA,CACtB,EAET,CACA,SAASyF,GAAYnN,GAKjB,MAAO,iBAAmBA,EAAQ8B,OAAO,IAAM9B,GAASA,EAAMmG,SAAS,MAAQ,KAAOnG,EAAM8C,OAAO,GAAK,GAAK,MAAQ9C,CACzH,CA6RI,SAASoN,GAAM1I,GACf,IAAIjN,EAASiN,GAAS2I,SAAW3I,GAAWA,GAAW,iBAAmBA,EAAUA,EAbpF,SAAyBtB,GACzB,IAAImD,EAAQpI,SAASmP,cAAclK,GAAY,wBAK/C,OAJKmD,GAAS,SAAWA,EAAMgH,UAC3BhH,EAAQpI,SAASC,cAAc,SAC/BD,SAASI,KAAKiP,QAAQjH,IAEnBA,EAAMkH,QAAQC,MAAQ,UAAWnH,CAC5C,CAMkGoH,CAAgBjJ,IAAUkJ,MACxH,MAAO,CACHnW,SACAoW,WAEI,IAAI1O,EAAQ4B,MAAM+M,KAAKrW,EAAO4V,SAAWvO,GAAOA,EAAKiP,SACrD,MAAO,KAEHpV,KAAKqV,QAGL7O,EAAM8O,QAAQtV,KAAKuV,OAAO,CAEjC,EACDF,QAEI,IAAI,IAAI9N,EAAQzI,EAAO4V,SAAStV,OAAQmI,KAASzI,EAAO0W,WAAWjO,EACtE,EACDkO,UACI3W,EAAO4W,WAAWC,QACrB,EACDJ,OAAQH,EAAS7N,GACb,IAEIzI,EAAO8W,WAAWR,EAAS7N,EAC9B,CAAC,MAAOnG,GAELtC,EAAO8W,WAAW,UAAWrO,EAChC,CACJ,EACDsO,OAAQtN,EAEhB,CC7hDI,IAAIwB,GAAQ,CACZ+L,QAAS,CACLC,GAAI,QACJC,GAAI,QACJC,GAAI,SACJC,GAAI,SACJ,MAAO,UAEXC,QAAS,CACLC,KAAM,OAcN,MAAO,QACP,MAAO,QACPC,GAAI,QACJN,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJ,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,SAEXI,QAAS,CACLC,GAAI,MACJ,EAAG,wBACgBC,GAAO,EAAG,MAAO,EAAG,GAAK,sBASzBA,GAAO,GAAI,MAAO,EAAG,GASxC,GAAI,2BACeA,GAAO,GAAI,MAAO,EAAG,GAAI,GAc5C,GAAI,QACJ,GAAI,QACJ,GAAI,SAERC,UAAW,CACP,GAAI,OACJ,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAM,UAEVC,UAAW,CACPC,KAAM,OACNC,KAAM,0BACNC,KAAM,2CACNC,MAAO,8CACPC,OAAQ,sBAEZC,YAAa,CACTZ,KAAM,OACNa,OAAQ,MACRC,MAAO,QAEXC,4BAA8BvV,GAAM,QACpCwV,kCAAoCxV,GAAM,cAC1CyV,gCAAkCzV,GAAM,YACxC0V,iCAAmC1V,GAAM,aACzC2V,iCAAmC3V,GAAM,aACzC4V,8BAAgC5V,GAAM,UACtC6V,+BAAiC7V,GAAM,WACvC8V,gCAAkC9V,GAAM,YACxC+V,6BAA+B/V,GAAM,SACrCgW,+BAAiChW,GAAM,UACvCiW,gBAAiB,CACblB,KAAM,QAWVmB,iCAAmClW,GAAM,WAMzCmW,eAAgB,CACZ3B,KAAM,OACN4B,MAAO,QACPC,QAAS,WAEbC,KAAM,CACFvB,KAAM,OACN,EAAG,IACHZ,GAAI,MACJoC,QAAS,MACTnC,GAAI,OACJC,GAAI,OACJC,GAAI,OACJ,MAAO,OACP,MAAO,QAEXkC,WAAY,mBACW5B,GAAO,IAAK,GAAI,IAAK,EAAG,sBAKxBA,GAAO,IAAK,GAAI,IAAK,GAAI,GAM5C,GAAI,OACJ,IAAK,QAET6B,YAAa,EAAGtO,YAAY,CACpBoO,QAASpO,EAAM,kBAAmB,mBAC/BA,EAAM,YAEjBuO,6BAA+B1W,GAAM,WACrC2W,aAAc,CACV5B,KAAM,MACNZ,GAAI,WACJoC,QAAS,UACTnC,GAAI,WACJC,GAAI,SACJC,GAAI,UACJ,MAAO,OACP,MAAO,SACP,MAAO,MACPsC,KAAM,UAEVC,6BAA+B7W,GAAM,WACrC8W,YAAa,CACTP,QAAS,wBACUQ,GAAY,EAAG,OAMtCC,UAAW,CACP7C,GAAI,+BACJoC,QAAS,8DACTnC,GAAI,iEACJC,GAAI,mEACJC,GAAI,oEACJ,MAAO,qCACP2C,MAAO,qCACPlC,KAAM,aAEVmC,eAAgBlX,GAAM,UAKtBmX,0BAA4BnX,GAAM,UAClCoX,YAAa,EAAGjP,YAAY,CACpBqM,KAAM,UACHrM,EAAM,YAEjBkP,SAAU,mBACazC,GAAO,IAAK,GAAI,IAAK,EAAG,IAK3C,GAAI,OACJ,IAAK,QAET0C,QAAS,CACLvC,KAAM,QAEVwC,2BAA6BvX,GAAM,eACnCwX,6BAA+BxX,GAAM,iBACrCyX,2BAA6BzX,GAAM,eACnC0X,WAAY,CACRvD,GAAI,6BACJoC,QAAS,CACL,4BACA,8BAEJnC,GAAI,CACA,6BACA,8BAEJC,GAAI,CACA,8BACA,6BAEJC,GAAI,CACA,+BACA,8BAEJ,MAAO,+BACPS,KAAM,aAEV4C,KAAM,EAAGxP,YAAY,IACVA,EAAM,UACT4M,KAAM,SAEd6C,UAAW,CACPrB,QAAS,OACT,EAAG,KAEPsB,UAAW,CACP,EAAG,OACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,IAAK,UAETC,OAAQ,CACJvB,QAAS,OACT,EAAG,KAEPwB,KAAM,CACF,EAAG,SACHvD,KAAM,WACNwD,QAAS,WACTjD,KAAM,QAEVkD,UAAW,EAAG9P,YAAY,IACfA,EAAM,cACN+P,GAAO,EAAG,MAgBVA,GAAO,GAAI,IAYd1D,KAAM,OACNoC,KAAM,SAEduB,SAAU,CACN5B,QAAS,EACT,EAAG,GAEP6B,WAAY,CACR7B,QAAS,EACT,EAAG,GAEP8B,WAAY,CACRC,KAAM,qMAAqMzN,MAAM,KACjN0N,MAAO,yDAAyD1N,MAAM,KACtE2N,KAAM,8FAA8F3N,MAAM,MAE9G4N,SAAU,CACNhE,GAAI,CACA,UACA,QAEJN,GAAI,CACA,WACA,WAEJuE,KAAM,CACF,OACA,UAEJrE,GAAI,CACA,WACA,WAEJC,GAAI,CACA,UACA,WAEJ,MAAO,CACH,SACA,QAEJ,MAAO,CACH,WACA,WAEJ,MAAO,CACH,UACA,UAEJ,MAAO,CACH,OACA,KAEJ,MAAO,CACH,UACA,KAEJ,MAAO,CACH,SACA,KAEJ,MAAO,CACH,OACA,KAEJ,MAAO,CACH,OACA,MAGRqE,WAAY,CACRC,KAAM,MACNC,WAAY,MACZC,MAAO,MACPC,OAAQ,MACRC,OAAQ,MACRC,SAAU,MACVC,KAAM,MACNC,UAAW,MACXC,MAAO,OAEXC,mBAAqBrZ,GAAM,WAC3BsZ,kCAAoCtZ,GAAM,UAC1CuZ,gBAAiB,CACb/E,KAAM,OACNpO,IAAK,cACLkB,IAAK,cACLkS,GAAI,iBAERC,aAAc,CACVjF,KAAM,OACNpO,IAAK,cACLkB,IAAK,cACLkS,GAAI,iBAERE,WAAY,CAERlF,KAAM,OACN,YAAa,UAQjBmF,QAAS,CAELnF,KAAM,OACN,YAAa,UAQjBoF,oBAAqB,CAEjB7E,KAAM,QAEV8E,iBAAkB,CAEd9E,KAAM,QAEV+E,OAAQ,EAAG3R,YAAY,IACZA,EAAM,cACN+P,GAAO,EAAG,GAgBb9R,IAAK,cACLkB,IAAK,cACLyS,IAAK,cACLvF,KAAM,OACNoC,KAAM,OACN3Q,OAAQ,UAEhB+T,MAAO,EAAG7R,YAAY,IACXA,EAAM,cACN+P,GAAO,EAAG,GAOb1D,KAAM,OACNoC,KAAM,SAEdqD,UAAW,CACPjF,KAAM,CACFzB,KAAM,CACF2G,UAAW,gBAEfC,GAAI,CACAD,UAAW,mBAGnBjF,KAAM,CACF,KAAM,CACFiF,UAAW,WACXvO,QAAS,KAEb,WAAY,CACRuO,UAAW,WACXvO,QAAS,MAGjBuJ,MAAO,CACH,UAAW,CACPvJ,QAAS,KAEb,MAAO,CACHA,QAAS,OAGjBwJ,OAAQ,CACJ,WAAY,CACR+E,UAAW,mBACXE,wBAAyB,2BAE7B,MAAO,CACHF,UAAW,OACXE,wBAAyB,6BAIrCC,cAAe,CACXC,QAAS,UACTC,MAAO,WACPxB,OAAQ,MACRyB,KAAM,UACNC,MAAO,SACPC,OAAQ,SAEZC,WAAY,mBACW/F,GAAO,GAAI,MAAO,EAAG,GASxCG,KAAM,IACNwF,MAAO,OACPK,KAAM,QACN7B,OAAQ,MACR8B,QAAS,QACTC,MAAO,KAKXC,OAAQ,EAAG5S,YAAY,CACfqM,KAAM,UACHrM,EAAM,aAEjB6S,UAAW,EAAG7S,YAAY,CAClByO,KAAM,OACNxQ,IAAK,cACLkB,IAAK,cACLyS,IAAK,cACL9T,OAAQ,WACLkC,EAAM,aAEjB8S,SAAU,EAAG9S,QAAQ+S,kBAAkB,IAC5BA,EAAY/S,EAAM,YACrB4M,KAAM,OACN,EAAG,OACHN,GAAI,QACJN,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJ,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACPsC,KAAM,OACNxQ,IAAK,cACLkB,IAAK,cACLyS,IAAK,cACLoB,MAAO,SAEfC,UAAW,CACP,EAAG,MACHxE,KAAM,OACNxQ,IAAK,cACLkB,IAAK,cACLyS,IAAK,cACL9T,OAAQ,SAEZoV,SAAU,CACN,EAAG,MACHzE,KAAM,OACNxQ,IAAK,cACLkB,IAAK,cACLyS,IAAK,eAKTpO,QAAS,mBACciJ,GAAO,IAAK,GAAI,IAAK,EAAG,IAW3C,EAAG,OACH,GAAI,OACJ,GAAI,OACJ,GAAI,QAER0G,MAAO,CAcHC,MAAO,QACPC,KAAM,OACNzG,KAAM,KAEV0G,uBAAyBzb,GAAM,WAC/B0b,gCAAkC1b,GAAM,UACxC2b,kCAAoC3b,GAAM,WAC1C4b,4BAA8B5b,GAAM,UACpC6b,6BAA+B9E,GAAY,EAAG,MAM9C+E,4BAA8B/E,GAAY,EAAG,MAM7CgF,UAAW,EAAG5T,YAAY,IACfA,EAAM,UACToO,QAAS,YAEjByF,+BAAiChc,GAAM,UACvCic,+BAAiClF,GAAY,EAAG,MAMhDmF,YAAa,EAAG/T,YAAY,IACjBA,EAAM,WACToO,QAAS,QAEjB4F,UAAW,CACP5F,QAAS,wBACUQ,GAAY,EAAG,OAOtCqF,OAAQ,mBACerF,GAAY,EAAG,yBAIfA,GAAY,GAAI,MAAO,qBAIvBA,GAAY,IAAK,MAAO,KAK/CsF,wBAA0BzH,GAAO,IAAK,GAAI,IAAK,EAAG,IAMlD0H,MAAO,mBACgB1H,GAAO,IAAK,GAAI,IAAK,EAAG,sBAIxBA,GAAO,IAAK,GAAI,IAAK,GAAI,GAM5C,GAAI,OACJ,IAAK,QAET2H,4BAA8Bvc,GAAM,WACpCwc,6BAA+Bxc,GAAM,WACrCyc,MAAO,CACH,EAAG,IACHlG,QAAS,QAEbmG,KAAM,mBACiB3F,GAAY,EAAG,yBAIfA,GAAY,GAAI,MAAO,IAK9C4F,qBAAuB3c,GAAM,WAC7B4c,OAAQ,EAAGzU,YAAY,IACZA,EAAM,UACT4M,KAAM,SAEd8H,2BAA6BjI,GAAO,GAIpCkI,yBAA2B9c,GAAM,UACjC+c,mCAAqC/c,GAAM,UAC3Cgd,wBAAyB,CACrB,YAAa,YACbxI,KAAM,yBACauC,GAAY,EAAG,OAOtCkG,oBAAqB,CACjBzI,KAAM,yBACauC,GAAY,EAAG,OAOtCmG,0BAA4Bld,GAAM,WAClCmd,2BAA6Bnd,GAAM,WAMnCod,mBAAoB,EAAGjV,YAAY,IACxBA,EAAM,aACToO,QAAS,UAEjB8G,+BAAiCrd,GAAM,aACvCsd,mBAAoB,CAChBvI,KAAM,OACNwI,IAAK,MACLhH,QAAS,4HACTiH,OAAQ,wEACR7R,QAAS,UACT8R,OAAQ,aACRvD,UAAW,aAEfwD,yBAA0B,CACtBnH,QAAS,4BACT3B,OAAQ,SACR+I,GAAI,0BACJC,IAAK,0BACL,SAAU,6BAEdvQ,UAAW,EAAGlF,YAAY,IACfA,EAAM,cACN+P,GAAO,EAAG,GAObtB,KAAM,SAEdiH,MAAO,EAAG1V,YAAY,CACd/B,IAAK,cACLkB,IAAK,cACLyS,IAAK,cACL9T,OAAQ,WACLkC,EAAM,eAEjB2V,WAAY,CACRC,OAAQ,mBAMZC,OAAQ,mBACepJ,GAAO,GAAI,GAAI,EAAG,EAAG,IAOxCJ,KAAM,SAkBd,SAAS0D,GAAO+F,EAAOC,GACnB,IAAI/Q,EAAS,CAAA,EACb,OAEI,IAAIgR,EAAW,EAAGA,EAAWF,EAAOE,IAAWhR,EAAO,GAAGgR,KAAYF,KAAWG,QAAQD,EAAWF,EAAQ,KAAKI,QAAQ,IAAM,YACzHJ,GAASC,GAClB,OAAO/Q,CACX,CAKA,SAAS4J,GAAYuH,EAAMC,EAAMN,EAAQ,GACrC,IAAI9Q,EAAS,CAAA,EACb,KAAM8Q,GAASK,EAAML,EAAQ,EAAIA,GAAS,EAAE9Q,EAAO8Q,GAASA,EAAQM,EACpE,OAAOpR,CACX,CASA,SAASyH,GAAO0J,EAAMC,EAAO,GAAIC,EAAW,EAAGP,EAAQ,EAAGQ,EAAO,EAAGtR,EAAS,CAAE,GAE3E,KAAM8Q,GAASK,EAAML,GAASQ,EAAKtR,EAAO8Q,GAASA,EAAQO,EAAWD,EACtE,OAAOpR,CACX,CACA,SAASnN,GAAM8P,GACX,MAAO,EAAG3H,WAAWA,EAAM2H,EAC/B,CC50BA,IAAI8B,GAAY,CAIT,qBAAsB,CACrB8M,UAAW,aACH5H,YAAa,IACb6H,YAAa,QACblI,YAAa,4CAEjB,mBAAoB,CACxB,eAAgB,MAQjBmI,KAAM,CACLjE,WAAY,IACJkE,qBAAsB,OACtBC,WAAY,IACZC,QAAS,EACT1G,WAAY,0BAA0BlQ,GAAMkQ,WAAWC,QACvD0G,oBAAqB,yDAK9BzV,KAAM,CACLwR,OAAQ,IACAJ,WAAY,WAMrBsE,GAAI,CACHnF,OAAQ,IACAvO,MAAO,UACP2T,eAAgB,OAIzB,sBAAuB,CACtBC,eAAgB,oBAIjB,oBAAqB,CACpB1G,SAAU,UACVE,WAAY,WAIb7R,EAAG,CACFyE,MAAO,UACP4T,eAAgB,WAIjB,WAAY,CACXxG,WAAY,UAMb,oBAAqB,CACpBN,WAAY,0BAA0BlQ,GAAMkQ,WAAWG,QACvDwG,oBAAqB,wDACrBvG,SAAU,OAIX2G,MAAO,CACN3G,SAAU,OAIX,UAAW,CACVA,SAAU,MACVkC,WAAY,EACZ/L,SAAU,WACVyQ,cAAe,YAEnBC,IAAK,CACDC,OAAQ,WAEZC,IAAK,CACDC,IAAK,UAMNC,MAAO,CACNxC,WAAY,IACJzG,YAAa,UACbkJ,eAAgB,YAMzB,wCAAyC,CACxCtH,WAAY,UACJI,SAAU,OACVkC,WAAY,UACZpP,MAAO,UACPwP,OAAQ,IACRU,QAAS,KAIlB,gBAAiB,CAChBmE,cAAe,QAKhB,wDAAyD,CACxDC,iBAAkB,SACV7J,gBAAiB,cACjBC,gBAAiB,QAI1B,kBAAmB,CAClB6J,QAAS,QAIV,mBAAoB,CACnB9I,UAAW,QAIZ+I,SAAU,CACTV,cAAe,YAIhB,0DAA2D,CAC1DvF,OAAQ,QAKT,kBAAmB,CAClB+F,iBAAkB,YACVhE,cAAe,QAIxB,8BAA+B,CAC9BgE,iBAAkB,QAKnB,+BAAgC,CAC/BA,iBAAkB,SACVlc,KAAM,WAIfqc,QAAS,CACRC,QAAS,aAIV,qDAAsD,CACrDlF,OAAQ,KAEZmF,SAAU,CACNnF,OAAQ,IACRU,QAAS,KAEb0E,OAAQ,CACJ1E,QAAS,KAEb,aAAc,CACV2E,UAAW,OACXrF,OAAQ,IACRU,QAAS,KAIV4E,SAAU,CACTC,OAAQ,YAKT,2CAA4C,CAC3C3U,QAAS,EACDJ,MAAO,mCAIhB,yBAA0B,CACzBgV,OAAQ,WAIT,YAAa,CACZA,OAAQ,WAMT,iDAAkD,CACjDN,QAAS,QACDZ,cAAe,UAIxB,YAAa,CACZpE,SAAU,OACVnB,OAAQ,QAE8D,WAAY,CAClFmG,QAAS,SChObrb,GAAQ,CAC0CuC,GAAM,qBAAsB,EAAG,EAAGK,EAAK,EAAGC,GAAOM,KAAW,CACtG,mBAAoB,CAChB,IAAK,CACDP,CAACA,GAAK0I,GAAU,IAAIzI,KAAO,GAAIM,QAIFZ,GAAM,4BAA6B,EAAGyI,UAAYlK,OAAO,CAC9F,CACIpI,EAAGoI,EAAEkK,MAGJC,GAAW,UAAW,eACnC1I,GAAM,YAAa,CAACuC,GAAKvB,YACrB,IAAI+L,QAAEA,EAAS/L,EAAM,WAAaqY,OAAAA,UAAS/E,GAAatT,EAAM,aAAcvD,EAAQ,CAChFiZ,MAAO,OACP4C,YAAaD,GAAU,OACvBE,WAAYF,GAAU,UACnBG,EAAW,OAElB,IAAI,IAAI1a,KAAUiO,EAAQ,CACtB,IAAIzO,EAAQyO,EAAQjO,GACpB,iBAAmBR,IAAUb,EAAMoB,EAAIP,IAAU,CAC7C,IAAK,CACDwV,SAAUxV,KACPkb,EAAW1a,KAGzB,CACD,OAAOrB,EACP,SAAS+b,EAAW1a,GAChB,IAAIR,EAAQgW,IAAY,iBAAmBA,EAAUA,EAAUA,EAAQxV,IAAWwV,EAAQlF,SAC1F,GAAI9Q,EAAO,MAAO,CACdmb,aAAcnb,EACdob,YAAapb,EAEpB,IAGLoK,GAAW,WAAY,UAAW,EAAGnG,QAAQ,CACrC,eAAgBA,EAChB4N,QAAS,uBAGjBnQ,GAAM,oCAAqC,sBAE3CA,GAAM,uBAAwB,YAAa,EAAG,EAAGK,KAAQA,EAAK,QAE9DL,GAAM,SAAU,CACZ8Y,QAAS,SAGb9Y,GAAM,qBAAsB,eAC5BA,GAAM,CACF,8DACA,mCACA,sEACD,WAEH,4BAEA,iCAEA,yDAEA,qBAEAA,GAAM,UAAW,aAEjBA,GAAM,8CAA+C,aAErD0I,GAAW,UAAW,kBACtB1I,GAAM,0DAA2D,iBAAkB2Z,IAEnF3Z,GAAM,yCAA0C,EAAG,EAAGK,EAAK,GAAK,EAAGC,MAAS,CACpE,CAAC,sBAAwBD,GAAKC,KAGtCN,GAAM,0CAA2C,YAEjD0I,GAAW,yBAA0B,QAAS,EAAG,EAAGrI,EAAKkC,QAAQ,CACzD+V,IAAK,MAAQjY,GAAMkC,EACnBqX,MAAO,MAAQvZ,GAAMkC,EACrB6V,OAAQ,MAAQ/X,GAAMkC,EACtBsX,KAAM,MAAQxZ,GAAMkC,KAE5BmG,GAAW,mCAAoC,SAE/C1I,GAAM,qBAAsB,cAC5BA,GAAM,YAAa,CACf8Z,WAAY,WAGhBpR,GAAW,OAAQ,UAEnB1I,GAAM,8BAA+B,gBAAiB+Z,IACtD/Z,GAAM,kCAAmC,YACzC0I,GAAW,iCACsBA,GAAW,WAC9BA,GAAW,cAAe,YACxCA,GAAW,gBAAiB,cAC5BA,GAAW,SAAU,aACrBA,GAAW,cACI,mBAEfA,GAAW,aAAc,uBACzB1I,GAAM,mBAAoB,sBAAuBga,IAEjDtR,GAAW,OAAQ,cACnB1I,GAAM,oBAAqB,aAAcia,IACzCvR,GAAW,aAAc,mBACzB1I,GAAM,wBAAyB,mBAC/B0I,GAAW,WAAY,iBACvB1I,GAAM,sBAAuB,iBAE7B0I,GAAW,aAAc,oBACzB1I,GAAM,mBAAoB,mBAAoBga,IAE9CtR,GAAW,OAAQ,WACnB1I,GAAM,oBAAqB,UAAWia,IACtCvR,GAAW,aAAc,gBACzB1I,GAAM,wBAAyB,gBAC/B0I,GAAW,WAAY,cACvB1I,GAAM,sBAAuB,cAE7BA,GAAM,iCAAkC,eAAiBA,GAAQ2Z,GAAQI,GAAU/Z,KACnFA,GAAM,oBAAqB,gBAE3B0I,GAAW,aAAc,mBAEzBA,GAAW,aAAc,gBAEzBA,GAAW,eAAgB,MAAO,aAClCA,GAAW,eAAgB,MAAO,UAClCA,GAAW,aAAc,OAGzB,4BAEA1I,GAAM,WAAY,iBAAkBka,IAIpCla,GAAM,wBAA0BA,IAAS,CACjC,CAAC,SAAWA,EAAM,IAAKka,GAAoBla,MAKnDA,GAAM,gCAAiC,EAAG,EAAGK,EAAKmI,SAAS,CACnDnI,CAACA,IAAM,MAAMoE,SAAS+D,EAAG,IAAM,SAAW,IAAMA,KAGxDE,GAAW,sBAAuB,UAAWyR,GAAK,YAElDzR,GAAW,wBAAyB,SAAUyR,GAAK,WAEnDzR,GAAW,uBAAwB,QAAS,EAAG,EAAGrI,EAAKkC,QAAQ,CACvD,kCAAmC,CAC/B,CAAC,cAAclC,aAAe,IAC9B,CAAC,UAAY,CACT+Z,EAAG,MACHxQ,EAAG,QACJvJ,IAAM,QAAQkC,+BAA+BlC,eAChD,CAAC,UAAY,CACT+Z,EAAG,SACHxQ,EAAG,SACJvJ,IAAM,QAAQkC,sBAAsBlC,kBAGnDL,GAAM,sBAAuB,EAAG,EAAGK,MAAS,CACpC,kCAAmC,CAC/B,CAAC,cAAcA,aAAe,QAI1CqI,GAAW,KAAM,SAEjBA,GAAW,SAAU,YAErBA,GAAW,SAAU,YAErBA,GAAW,KAAM,UAEjBA,GAAW,SAAU,aAErBA,GAAW,SAAU,aAErBA,GAAW,QAAS,cAEpBA,GAAW,QAAS,aAAc,EAAGnG,OAC1B,iBAAoBA,EAAIvD,EAAQuD,IAAI,GAAK,CAC5C2O,WAAY3T,GAAKgF,IACjB,CACA2O,WAAY3T,GAAKgF,EAAE,OAChBA,EAAE,KAIbvC,GAAM,cAAe,CACjBqa,oBAAqB,cACrBC,oBAAqB,cAEzBta,GAAM,uBAAwB,CAC1Bqa,oBAAqB,OACrBC,oBAAqB,SAGzBta,GAAM,SAAU,aAChBA,GAAM,aAAc,CAChBua,UAAW,WAGfva,GAAM,yGAA0G,EAAG,EAAGK,EAAK,EAAGC,EAAK,GAAK,EAAGka,KACvI,UAAYla,EAAK,CACbma,mBAAoB,UACpB,CACA,CAAC,SAAWD,EACZ,mBAAqB,KAAK/V,SAASnE,EAAG,IACtC,kBAAoBA,EACpB,iBACAD,IAAMA,EACNoa,mBAAoB,4HACjBC,GAAW,CACV,eAAgB,8BAChB,oBAAqB,8BACrB,sBAAuB,8BACvB,uBAAwB,8BACxB,wBAAyB,kCAIrChS,GAAW,YAAa,iBAExBA,GAAW,WAAY,cAEvB1I,GAAM,wBAAyB,qBAE/B0I,GAAW,QAAS,iBACpB1I,GAAM,QAAS,iBAEf0I,GAAW,uBAAwB,qBAAsB,EAAGnG,QAAQ,CAC5D,iBAAkB,CACd,2BAA4BA,MAIxCyG,GAAW,eAAgB,CACvB9D,SAAU,QACVxD,SAAU,mBAGd1B,GAAM,6CAA8C,aACpDA,GAAM,uBAAwB,gBAE9B0I,GAAW,gBAAiB,cAAe,qBAE3CM,GAAW,QAAS,CAChB9D,SAAU,UAGdwD,GAAW,QAAS,WAAY,EAAGnG,OAAO,iBAAmBA,EAAI,CACzD+O,SAAU/O,GACV,CACA+O,SAAU/O,EAAE,MACT,iBAAmBA,EAAE,GAAK,CACzBiR,WAAYjR,EAAE,IACdA,EAAE,KAGdmG,GAAW,UAAW,cAEtB1I,GAAM,oCAAqC,sBAC3CA,GAAM,eAAgB,CAClB2a,mBAAoB,SAGxBjS,GAAW,oBAAqB,uBAEhCM,GAAW,cAAe,CACtBL,QAAS,sBACTpE,iBAAiB,EACjB8E,eAAgB,YAGpBX,GAAW,cAAe,2BAE1B1I,GAAM,cAAe,uBAErBA,GAAM,mCAAoC,iBAC1CA,GAAM,cAAe,CACjByY,cAAe,SAGnBzY,GAAM,WAAY,CACd4a,SAAU,SACVC,WAAY,SACZC,aAAc,aAGlB9a,GAAM,SAAU,iBAEhBA,GAAM,cAAe,cAErBA,GAAM,eAAgB,CAClB+a,UAAW,SACXC,aAAc,WAElBhb,GAAM,cAAe,CACjBgb,aAAc,eAElBhb,GAAM,YAAa,CACf+a,UAAW,cAEf/a,GAAM,aAAc,CAChB+a,UAAW,aAGf/R,GAAW,SAAU,CAEjBzE,iBAAiB,EACjB8E,eAAgB,YAGpBL,GAAW,UAAW,CAElBzE,iBAAiB,EACjB8E,eAAgB,YAGpBrJ,GAAM,mCAAoC,kBAAmB,EAAG,EAAGK,KAAQ,sBAAsBoH,GAASpH,EAAI,kCAC9G2I,GAAW,QAAS,CAChBL,QAAS,qBACTpE,iBAAiB,EACjB8E,eAAgB,WACjB,EAAG9G,QAAQ,CACN,qBAAsBA,EAAEjE,MACxB,mBAAoBiE,EAAE6B,MAAM,CACxBE,aAAc,MAElB,sBAAuB,mDAE/B0E,GAAW,OAAQ,CACfL,QAAS,qBACTpE,iBAAiB,EACjB8E,eAAgB,WACjB,EAAG9G,QAAQ,CACN,mBAAoBA,EAAE6B,MAAM,CACxBE,aAAc,MAElB,sBAAuB,2BAA2B/B,EAAEjE,iCAE5D0K,GAAW,MAAO,CACdL,QAAS,qBACTzD,SAAU,mBACVX,iBAAiB,EACjB8E,eAAgB,YAGpBrJ,GAAM,0BAA2B,wBAEjCA,GAAM,qCAAsC,mBAAoB,EAAG,EAAGK,KAAQA,EAAK,QAEnFL,GAAM,CACF,gCACA,2BACD,oBAEHA,GAAM,YAAa,uBAEnBA,GAAM,wCAAyC,iBAAkB,EAAG,EAAGK,KAAQA,GAAM,QAAUA,EAAK,GAAK,SAEzGqI,GAAW,cAAe,oBAAqB,mBAG/CM,GAAW,MAAO,CACdL,QAAS,oBAIbD,GAAW,MAAO,mBAElBA,GAAW,MAAO,sBAClB1I,GAAM,sDAAuD,qBAAsB2Z,IAEnFjR,GAAW,MAAO,kBAElBA,GAAW,iBAAkB,gBAC7BA,GAAW,mCAAoC,eAAgB,EAAG,EAAGrI,EAAKkC,QACtE,IAAI0Y,EAAU,CACVC,EAAG,CACC,KACA,MAEJ5kB,EAAG,CACC,KACA,MAEJoJ,EAAG,CACC,KACA,MAEJyb,EAAG,CACC,KACA,OAEN9a,IAAO,CACLA,EACAA,GAEJ,MAAO,CACH,CAAC,UAAUoH,GAASwT,EAAQ,cAAe1Y,EAC3C,CAAC,UAAUkF,GAASwT,EAAQ,cAAe1Y,EAC9C,GAGLvC,GAAM,6BAA8B,kBAEpC0I,GAAW,wBAAyB,gBAAiB,uBAErD1I,GAAM,2CAA4C,eAElD0I,GAAW,gCAAiC,gBAAiB,EAAG,EAAGrI,EAAKkC,QAAQ,IACrEmY,GAAW,CACV,wBAAyB,IACzB,wBAAyB,MAE7B,CAAC,uBAAyBra,GAAM,OAAQkC,EACxC,CAAC,uBAAyBlC,GAAM,OAAQkC,EACxC,iBAAkB,2DAG1ByG,GAAW,qBAAsB,CAC7BL,QAAS,eACVwR,GAAK,SAAU,UAClBnR,GAAW,WAEXN,GAAW,2BAA4B,cAAeyR,GAAK,SAAU,UACrEzR,GAAW,gBAAiB,eAE5BA,GAAW,wBAAyB,gBAAiB,EAAGnG,QAAQ,CACxD,kCAAmC,CAC/B,sBAAuBA,MAInCvC,GAAM,2CAA4C,EAAG,EAAGK,MAAS,CACzD,kCAAmC,CAC/BmX,YAAanX,MAIzBL,GAAM,wBAAyB,EAAG,EAAGK,MAAS,CACtC,kCAAmC,CAC/B,CAAC,eAAiBA,GAAK,QAGnCqI,GAAW,uBAAwB,cAAe,EAAG,EAAGrI,EAAKkC,QACzD,IAAI6Y,EAAQ,CACRxR,EAAG,KACHwQ,EAAG,MACL/Z,GACF,MAAO,CACH,kCAAmC,CAC/B,CAAC,eAAeA,aAAe,IAC/B,CAAC,UAAUoH,GAAS2T,EAAM,YAAa,QAAQ7Y,gCAAgClC,eAC/E,CAAC,UAAUoH,GAAS2T,EAAM,YAAa,QAAQ7Y,uBAAuBlC,eAE7E,GAGL2I,GAAW,UAAW,CAElB9D,SAAU,cAGVxD,SAAU,oCAGdgH,GAAW,sBAAuB,cAAe,qBAEjDM,GAAW,eAAgB,CAEvB9D,SAAU,yBACVX,iBAAiB,IAIrBmE,GAAW,qBAAsB,kBAAmB,0BAEpD1I,GAAM,aAAc,CAChB,kBAAmB,UAGvBgJ,GAAW,QAAS,CAEhB9D,SAAU,oBAKdwD,GAAW,cAAe,YAAa,EAAGnG,MAAQvB,YAAY,IACnD0Z,GAAW,CACV,0BAA2B,YAC3B,mBAAoB,YACpB,cAAe,YACf,sBAAuB,YAEvB,IAAK,CACD,kBAAmB,8BACnB,yBAA0B1Z,EAAM,kBAAmB,GAAI,OACvD,yBAA0BmD,EAAanD,EAAM,kBAAmB,GAAI,SACpE,kBAAmBmD,EAAanD,EAAM,YAAa,GAAI,WAAY,CAC/DuD,gBAAiB,sBAErB,oBAAqBvD,EAAM,cAAe,GAAI,UAGtD,0BAA2B,qFAC3B,mBAAoB,mCAAmCuB,wDACvDsN,UAAW,yEAGnB7G,GAAW,UAAW,CAClBL,QAAS,iBACTpE,iBAAiB,EACjB8E,eAAgB,WACjB,EAAG9G,QAAQ,CACN,oBAAqBA,EAAEjE,MACvB,cAAe,8BAGvBoK,GAAW,gBAAiB,YAAa,EAAGnG,QAAQ,IACzCmY,GAAW,CACV,0BAA2B,YAC3B,mBAAoB,YACpB,cAAe,YACf,sBAAuB,cAE3B,cAAend,GAAKgF,GAGpB,sBAAuBhF,GAAKgF,GAAGnE,QAAQ,qFAAsF,8BAC7HyR,UAAW,yEAGnBnH,GAAW,cAEX1I,GAAM,aAAc,mBACH6F,QACdA,GAAO,aAEV6C,GAAW,oBAAqB,qBAAsB,CAAC1I,GAASgB,YAAY,CACpEmV,mBAAoB5Y,GAAKyC,GACzBuW,yBAA0B,QAAUvW,EAAMuC,OAAI,EAAShF,GAAKyD,EAAM,2BAA4B,KAC9FiV,mBAAoB,QAAUjW,EAAMuC,OAAI,EAAShF,GAAKyD,EAAM,qBAAsB,QAG1F0H,GAAW,kBAAmB,qBAAsB,qBAAsBnL,IAE1EmL,GAAW,cAAe,2BAA4B,2BAA4BnL,IAElFmL,GAAW,eAAgB,kBAAmB,kBAAmBnL,IACjEmL,GAAW,iBAAkB,YAAa,CAAC1I,GAASgB,QAAQzC,IAAI1G,QAC5D,IAAI8V,EAAYpQ,GAAKyC,GACrBqb,EAAQ1N,EAAUjK,MAAM,KAAM4X,EAAiBta,EAAM,YAAaqa,EAAM,IACxE,OAAOC,EAAiB,CACpB,CAAC,eAAiBD,EAAM,GAAKxjB,EAAE0G,EAAE8c,EAAM,OAAQC,EAC/C3N,UAAW0N,EAAM9d,KAAK,MACtB,CACAoQ,YACH,GAGL,qBACA3N,GAAM,YAAaub,IACnBvb,GAAM,sBAAuB,EAAG,EAAGK,MAAS,CACpC,iBAAkBmb,GAAe,OAASnb,MAGlDqI,GAAW,iBAAkB,QAAS,EAAG,EAAGrI,EAAKkC,QAAQ,CACjD,CAAC,cAAgBlC,GAAM,OAAQkC,EAC/B,CAAC,cAAgBlC,GAAM,OAAQkC,KAC5BgZ,QAGX7S,GAAW,cAAe,SAAUqK,IAEpCrK,GAAW,sBAAuB,YAAaqK,IAE/CrK,GAAW,iBAAkB,OAAQqK,IAErC/S,GAAM,4DAA6D,kBAAmB2Z,IAEtF,gBAEAjR,GAAW,cACM,mBAEjB,mCAEAA,GAAW,aACK,YAEhB1I,GAAM,cAAe,oBACrBA,GAAM,kBAAmB,EAAG,EAAGK,MAAS,IAC7Bqa,GAAW,CACV,8BAA+B,cAEnC,mBAAoBra,EAAK,uCAEjCL,GAAM,6BAA8B,+BAEpCA,GAAM,2CAA4C,qBAElDA,GAAM,uBAAwB,oBAC9BA,GAAM,uBAAwB,mBAG9B0I,GAAW,6BAA8B,UAAWyR,GAAK,mBAEzDzR,GAAW,+BAAgC,gBAAiByR,GAAK,kBAEjEna,GAAM,iCAAkC,gBACxCA,GAAM,wDAAyD,EAAG,EAAGK,EAAK,EAAGC,EAAK,EAAGka,MAAS,IACnFE,GAAW,CACV,aAAc,8BACd,aAAc,8BACd,kBAAmB,8BACnB,oBAAqB,yDAKzB,CAAC,QAAQpa,EAAK,QAAUka,EAAK,QAAUna,KAAOA,EAC9C,eAAgB,4BAGxBL,GAAM,eAAgB,CAClB2Y,QAAS,wBACT,iBAAkB,QAEtB3Y,GAAM,UAAW,CACbyb,aAAc,UAElBzb,GAAM,iCAAkC,gBAExC0I,GAAW,uBAEXM,GAAW,WAAY,CACnBzE,iBAAiB,EACjB8E,eAAgB,YAGpBX,GAAW,WAAY,gBAEvB,oBAEAA,GAAW,kBACS,iBAEpB,CACI,yBACA,SACA,EAAG,EAAGrI,MAAQ,CACNuJ,EAAG,aACHwQ,EAAG,YACJ/Z,IAAOA,GAAM,SAGxBL,GAAM,8BAA+B,cAErCgJ,GAAW,QAAS,CAChBL,QAAS,OACTpE,iBAAiB,EACjB8E,eAAgB,YAEpBL,GAAW,UAAW,CAClBL,QAAS,SACTpE,iBAAiB,EACjB8E,eAAgB,YAGpBX,GAAW,UAAW,eAEtB1I,GAAM,UAAW,CACbyH,SAAU,WACViP,MAAO,MACP/D,OAAQ,MACR2B,QAAS,IACTV,OAAQ,OACRgH,SAAU,SACVC,WAAY,SACZa,KAAM,gBACN/L,YAAa,MAEjB3P,GAAM,cAAe,CACjByH,SAAU,SACViP,MAAO,OACP/D,OAAQ,OACR2B,QAAS,IACTV,OAAQ,IACRgH,SAAU,UACVC,WAAY,SACZa,KAAM,UAGd,SAAS/B,GAAQrb,GACb,OAAQ,iBAAmBA,EAAQA,EAAQA,EAAM,IAAIF,QAAQ,KAAM,KAAKud,MAC5E,CACA,SAAS5B,GAAUzb,GACf,OAAQ,iBAAmBA,EAAQA,EAAQA,EAAM,IAAIF,QAAQ,MAAO,SACxE,CACA,SAASqJ,GAASmU,EAAWC,EAAY,KACrC,IAAIC,EAAW,GACf,IAAK,IAAIC,KAASH,EAAUE,EAAS5a,KAAK,CACtCga,EAAG,MACH5kB,EAAG,QACHoJ,EAAG,SACHyb,EAAG,QACLY,IACF,OAAOD,EAASve,KAAKse,EACzB,CACA,SAASte,GAAKe,GACV,OAAOA,GAAS,IAAMA,EAAMiE,GAAKjE,EACrC,CACA,SAAS4b,IAAoB1R,GAAEA,IAC3B,OAAQ,CAEKlS,EAAS,QACT,GAAI,QAEJ0lB,EAAW,SACXpc,EAAU,SACVtC,EAAU,UACpBkL,EAAG,IAAM,KAAO,IAAMA,CAC7B,CACA,SAAS2R,GAAK8B,EAAgBC,EAAiB,IAC3C,MAAO,EAAG,EAAG7b,EAAKkC,QACd,IAAI6Y,EAAQ,CACRxR,EAAG,KACHwQ,EAAG,MACL/Z,IAAOA,EAAKA,EACd,OAAO+a,EAAQ,IACR5R,GAAMyS,EAAiB,IAAMxU,GAAS2T,EAAM,IAAMc,EAAgB3Z,MAClEiH,GAAMyS,EAAiB,IAAMxU,GAAS2T,EAAM,IAAMc,EAAgB3Z,IACrEiH,GAAMyS,EAAiBC,EAAgB3Z,EAAE,CAErD,CACA,SAASsD,GAAO9G,EAAS,IACrB,IAAIod,EAAU,CACV,OACA,aACA,WACA,YACA,aACA,SACApd,GAAU,UACV,WACA,SACCA,GAAU,eACb8G,OAAOI,SAAUmW,EAAW,CAAA,EAE9B,IAAK,IAAIpmB,KAAOmmB,EAAQC,EAAS,QAAQrd,IAAS/I,KAAS,8BAC3D,OAAOomB,EAAW,IAEX1B,GAAW0B,GAEd,CAAC,GAAGrd,WAAiBod,EAAQxe,IAAK3H,GAAM,YAAY+I,IAAS/I,MAAQuH,KAAK,MAC3E,CACC,IAAIwB,kBACJiB,GAAM,GAAGjB,UAAgBqd,MACtBD,EAAQxe,IAAK3H,GAAM0S,GAClB,GAAG,KAAO1S,EAAI,GAAK,KAAO,MAAM+I,IAAS/I,YAAeA,EAAK,EAAG,EAAGqK,EAAKkC,QAAQ,CACxE,CAAC,QAAQlC,KAAOrB,EAAQuD,GAAG5E,IAAKW,GAAQ,GAAGtI,KAAOsI,MAAUf,KAAK,QAC9D6e,MAGvB,CACA,SAASrJ,IAAY,EAAG1S,EAAEkC,EAAGA,IACzB,MAAO,CACH,CAAC,QAAUlC,GAAKkC,KACbgZ,KAEX,CACA,SAASA,KACL,MAAO,IACAb,GAAW,CACV,mBAAoB,IACpB,mBAAoB,IACpB,cAAe,IACf,cAAe,IACf,cAAe,IACf,eAAgB,IAChB,eAAgB,IAChB,iBAAkBc,OAEtBzI,UAAW,sBAEnB,CACA,SAASyI,GAAea,GACpB,MAAO,CACHA,EACA,6DAA+D,sEAC/D,2BACA,0BACA,0BACA,4BACA,6BACF9e,KAAK,IACX,CACA,SAAS0c,IAAO,EAAG5Z,EAAK,EAAGC,IACvB,MAAO,GAAGD,KAAMC,OAAQD,KAAMC,GAClC,CACA,SAAS0Z,IAAe,EAAG3Z,IACvB,MAAO,UAAUA,kBACrB,CACA,SAASqa,GAAW4B,GAChB,MAAO,CACH,kBAAmB,CACf,qBAAsBA,EACtB,aAAcA,GAG1B,CCzzBA,IAAI3b,GAAW,CACX,CACI,SACA,+DAEJ,CACI,gBACA,0CAEJ,CACI,cACA,iDAEJ,CACI,QACA,gBAEJ,CACI,uBACA,EAAG,EAAGN,KAAQ,uBAAuBA,MAEzC,CACI,uBACA,EAAG,EAAGA,KAAQ,4BAA4BA,MAE9C,CACI,0DACA,EAAG,EAAGA,KAAQ,MAAMA,KAExB,CACI,qBACA,EAAG,EAAGA,KAAQ,QAAQA,QAASA,KAEnC,CACI,OACA,2BAEJ,CACI,oBACA,EAAG,EAAGA,KAAQ,KAAKA,WAEvB,CACI,OACA,mBAEJ,CACI,MACA,oBAEJ,CACI,OACA,WAGJ,CACI,eACA,EAAG,EAAGA,EAAwBmI,MAAuC5H,IAAU4H,GAAM,KAAKnI,KACtFO,EAAQI,MAAMX,EAAImI,IAClBO,GAAUP,EAAI,GAAI5H,IAClB,GAAG4H,eAKX,CACI,sDACA,EAAG,EAAG7O,EAAO,EAAG8G,EAAO,GAAK,EAAG8b,EAAK,EAAGC,EAAK,GAAK,EAAGC,EAAQhc,IAAW5I,IAAI0G,IAAIlB,QAC3E,IAAIqE,EAAWiI,GAAU6S,KAAQ,KAAOD,EAAG,GAAKA,EAAKlf,EAAEkf,EAAGnb,MAAM,KAEhE,MAAO,IAAIM,EAAS+C,SAAS,KAAO/C,EAAW,IAAMA,GAAUtD,QAAQ,KAAM,WAAWvG,EAAE0G,EAAE5E,EAAO8iB,UAAc,KAAO9iB,EAAK,GAAK,IAAM,MAAM,GAItJ,CACI,YACA,EAAG,EAAG0G,KAAQ,SAASA,SAE3B,CACI,YACA,EAAGmI,MAAuC5H,KAEtC,GADA4H,IAAOA,EAAK5H,EAAQI,MAAM,WAAYwH,IAAOO,GAAUP,EAAI,GAAI5H,IAC3D4H,EAAI,OAAOA,EAAG/D,SAAS,OAAS+D,GAAM,cAAe,YAAYtI,KAAKsI,KAAQA,EAAK,IAAIA,MAE3F,aAAaA,EAAGpK,QAAQ,oBAAqB,QAAQud,QAAQ,GAGrE,CACI,OACA,EAAGnT,MAAO5H,KAEN,GADA4H,IAAOA,EAAK5H,EAAQI,MAAM,UAAWwH,IAAOO,GAAUP,EAAI,GAAI5H,IAC1D,iBAAmB4H,EAAI,MAAO,iCAAiCA,IAAK,GAGhF,CACI,OACA,EAAGA,MAAO5H,KACC4H,IAAOA,EAAKO,GAAUP,EAAI,GAAI5H,IAAW4H,GAAM,qBAAqBA,OAInF,CACI,YACA,EAAG,EAAGnI,KAAQ,OAAOH,KAAKG,IAAOsJ,GAAUtJ,GAAIjC,QAAQ,QAAS,IAAIsF,MAAM,OCiKlF2S,GAAS,CACLqG,UAAW,KACXC,MAxQY,CACZ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA+PLC,KA9PM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAqPLC,KApPM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA2OLC,QA1OS,CACT,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAiOLC,MAhOO,CACP,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAuNLC,IAtNK,CACL,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA6MLC,OA5MQ,CACR,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAmMLC,MAlMO,CACP,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAyLLC,OAxLQ,CACR,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA+KLC,KA9KM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAqKLC,MApKO,CACP,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA2JLC,QA1JS,CACT,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAiJLC,KAhJM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAuILC,KAtIM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA6HLC,IA5HK,CACL,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAmHLC,KAlHM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAyGLC,OAxGQ,CACR,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA+FLC,OA9FQ,CACR,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAqFLC,OApFQ,CACR,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WA2ELC,QA1ES,CACT,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAiELC,KAhEM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAuDLC,KAtDM,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,YClP4F,SAASC,IAAeC,iBAAEA,GAAsB,IACjJ,OCGA,UAA4B7H,OAAEA,mBAAS6H,GAAsB,CAAA,GAC7D,MAAO,CAEHzT,UAAWyT,OAAmB,EAASzT,GACvCzJ,MAAO,IACAA,GACHqV,OAAQ,CACJ8H,QAAS,UACTpY,QAAS,eACTqY,YAAa,cACbnM,MAAO,OACPoM,MAAO,UACJhI,IAGX1V,YACAlD,SACAkN,SAAUvN,GAGNA,EAAKE,GACLF,EAAKlH,GACLkH,EAAK9G,EAAEgoB,KAAMhoB,GAAI,sBAAsB4J,KAAK5J,MAC3C,gBAAgB4J,KAAK9C,EAAKlH,GAAK,IACzBkH,EACHlH,EAAG,6BAA+BkH,EAAKlH,GACvCkH,EAGhB,CDhCWmhB,CAAmB,CAC9BlI,OAAQA,GACA6H,oBAER,CE0FI,IAAIM,GAA8B,oBAAsBC,aAAe,oBAAsBC,UAAYA,SAASC,eAAiB,uBAAwBC,SAASxnB,WAAa,YAAaynB,cAAcznB,UAChN,SAAS0nB,GAAc9b,GACnB,OAAOA,EAAQ+b,YAAc/b,EAAQgc,aAAa,CAC9CC,KAAM,QAEd,CClGa,ICJbnhB,GD4CaohB,GAAY,WAAM,OD3C/B,SAAiBloB,EAAQmoB,GAAe,GAEpC,IAAIjT,EAAQ,WAER,GAAIsS,GAA6B,IAE7B,IAAItS,EAAQR,GAAM,IAAImT,eAStB,OARA3S,EAAMvR,QAAWqI,IACb,IAAI+b,EAAaD,GAAc9b,GAC/B+b,EAAWK,mBAAqB,IACzBL,EAAWK,mBACdlT,EAAMnW,OACT,EAELmW,EAAM9Q,WAAaoE,EACZ0M,CACV,CAAC,MAAS,CAIX,IAAIrH,EAAQpI,SAASC,cAAc,SAEnCmI,EAAMwa,MAAQ,UACd5iB,SAASI,KAAKiP,QAAQjH,GACtB,IAAIya,EAAS,CACT5T,GAAM7G,IAC0D0a,EAAkB,IAAIC,QAC1F,MAAO,CACCzpB,aACA,OAAOupB,EAAO,GAAGvpB,MACpB,EACDoW,WACI,IAAIsT,EAAWH,EAAO3hB,IAAKuO,GAAQA,EAAMC,YACzC,MAAO,IAAIsT,EAASlT,QAASmT,GAAUA,IAC1C,EACDpT,QACIgT,EAAO/S,QAAS+S,GAASA,EAAOhT,QACnC,EACDI,UACI4S,EAAO/S,QAAS+S,GAASA,EAAO5S,UACnC,EACDF,OAAQ3O,EAAKW,EAAOpB,GAGhBkiB,EAAO,GAAG9S,OAAO3O,EAAKW,EAAOpB,GAG7B,IAAI+I,EAAUlP,KAAKlB,OAAO4V,SAASnN,GACnC8gB,EAAO/S,QAAQ,CAAC+S,EAAQK,IAAWA,GAAYL,EAAOvpB,OAAO8W,WAAW1G,EAAQkG,QAAS7N,GAC5F,EACDsO,OAAO,CAAC8S,EAAcpT,IACX8S,EAAO,GAAGxS,OAAO8S,EAAcpT,GAE1C7R,QAASqI,GACL,IAAI6B,EAAQpI,SAASC,cAAc,SACnCoiB,GAAc9b,GAASlG,YAAY+H,GACnC,IAAIqH,EAAQR,GAAM7G,IAClB8G,SAAEA,GAAc1U,KAAKlB,OACrB,IAAI,IAAIY,EAAI,EAAGA,EAAIgV,EAAStV,OAAQM,IAAIuV,EAAMnW,OAAO8W,WAAWlB,EAAShV,GAAG0V,QAAS1V,GACrF2oB,EAAOpe,KAAKgL,GACZqT,EAAgBplB,IAAI6I,EAASkJ,EAChC,EACD9Q,WAAY4H,GACR,IAAIxE,EAAQ8gB,EAAOne,QAAQoe,EAAgBjZ,IAAItD,IAC/CxE,GAAS,GAAK8gB,EAAO9Y,OAAOhI,EAAO,EACtC,EAEb,CAjEgB,GAkEZqhB,ERmqCA,SAAevV,EAAY4B,GAC3B,IAAIlV,EAASoT,GAAaE,GAAa1J,EAAU,UAASI,MAAEA,EAAKuJ,SAAGA,EAAWC,UAAAA,EAAWhL,EAAOmB,SAAAA,EAAWlD,MAAAA,EAAQY,KAAMyhB,EAAM9kB,UAAGA,EAAY0P,WAAAA,EAAaC,SAAAA,IAExJ,IAAIoV,EAAe,IAAIxe,IACvBye,EAAmB,IAAIze,IACvB0e,EAAY,IAAI1e,IAChB2e,EAAgB,IAAI3e,IAAO4e,EAAU5U,GAAqBb,EAAY,CAACpM,EAAO2C,IAAYA,EAAUf,KAAK5B,IAGzGqC,EAASO,KAAK,CACV,OACA7B,MAAMC,QAAQiL,IAAa,SAAWA,EAAW,GAAGvL,EAAQuL,GAAU,IAAM,YAAc,iBAAmBA,GAAY,SAAWA,EAAWA,EAC/I,uCAEJ,IAAIhM,EAAI,mBAAqBuhB,EAAUxhB,GAAQwhB,EAAOxhB,EAAOD,GAAQyhB,EAASzhB,EAAOkB,EACrFhB,IAAMgB,GAAYoL,EAASzJ,KAAM9D,IAAQ,IAC9BA,EACHE,EAAGF,EAAKE,GAAKiB,EAAEnB,EAAKE,GACpBpH,EAAGkH,EAAKlH,GAAGkI,QAAQ,wBAAyB,CAACmE,EAAG2C,IAAW,KAAO3G,EAAE2G,GAAU9G,QAAQ,IAAK,QAEnG,IAAIgiB,EAAM,CACNpf,MAAO,UAAS6J,OAAEA,EAAQ,CAAA,KAAQ0G,IAC9B,IAAInL,EAAW,CAAE,EAAEia,EAAiB,CAC5BhK,aACA,OAAOrV,EAAM,SAChB,EACDA,QAEAsf,SAAS,KACE,IAEXvM,YAAahH,GACT,IAAIgH,EAAc,CAAA,EAClB,IAAI,IAAI/d,KAAO+W,EAAQ,iBAAmBA,EAAQ/W,KAAS+d,EAAY,UAAY/d,GAAO+W,EAAQ/W,IAClG,OAAO+d,CACV,GAEL,OAAO/S,EACP,SAASA,EAAMuf,EAAYvqB,EAAK4P,EAActB,GAC1C,GAAIic,EAAY,CAMZ,KALG,EAAGA,EAAa,EAAGjc,GACtB,+BAA+BtC,KAAKue,IAAe,CAC3E,CAC4BA,IAEA,OAAOrgB,KAAKqgB,GAAa,CACzB,IAAIC,EAAO,GAEXD,EAAWniB,QAAQ,yBAA0B,CAACmE,EAAGlC,EAAIC,EAAKD,IAAKmgB,EAAKtf,KAAKZ,IACzEigB,EAAaC,EAAKtY,QAClBtC,EAAe5P,EACfA,EAAMwqB,EAAKjjB,KAAK,IACnB,CACD,IAAIoL,EAAUvC,EAASma,IACvBhqB,OAAOkqB,OAAOlqB,OAAOkqB,OACrBra,EAASma,GAAc,CAAE,EAAEG,EAAMnP,EAAMgP,IAAcG,EAAM7V,EAAQ0V,IACnE,GAAI,MAAQvqB,EAAK,OAAO2S,EACxB3S,IAAQA,EAAM,WACd,IAAIsI,EAAQqK,EAAQ3S,IAAQA,EAAI0N,MAAM,KAAK9B,OAAO,CAAC+e,EAAKC,IAAOD,IAAMC,GAAOjY,IAAY/C,EACxF,OAAOtB,EAAeH,EAAa7F,EAAO,CACtCgG,aAAce,EAAqBf,EAActD,KAChD1C,CACR,CAED,IAAI0H,EAAS,CAAA,EACb,IAAK,IAAI6a,IAAY,IACdtqB,OAAO4I,KAAKoS,MACZhb,OAAO4I,KAAK0L,IACjB7E,EAAO6a,GAAY7f,EAAM6f,GAC3B,OAAO7a,CACV,CACD,SAAS0a,EAAMI,EAAQnY,GACnB,IAAIrK,EAAQwiB,EAAOnY,GACnB,MAAQ,mBAAqBrK,IAAUA,EAAQA,EAAM+hB,IAAkB/hB,GAAS,qBAAqB4B,KAAKyI,GAAY,SAASoY,EAAoB1K,EAAQmK,EAAO,IAC9J,IAAIQ,EAAW,CAAA,EACf,IAAI,IAAIhrB,KAAOqgB,EAAO,CAClB,IAAI/X,EAAQ+X,EAAOrgB,GAAMirB,EAAU,IAC5BT,EACHxqB,GAEJgrB,EAASC,EAAQ1jB,KAAK,MAAQe,EAC1B,WAAatI,IACbirB,EAAUT,EACVQ,EAASR,EAAKjjB,KAAK,MAAQe,GAE/B,iBAAmBA,GAAS/H,OAAOkqB,OAAOO,EAAUD,EAAoBziB,EAAO2iB,GAClF,CACD,OAAOD,CAC/B,CAf0I,CAepH1iB,GAASA,CACd,CACJ,CArEM,CAqEL0C,GACFnJ,EAAGoG,EACHM,IACAkF,EAAE,CAACyB,EAAU5G,IACFtD,EAAUkK,EAAU5G,EAAO8hB,GAEtClqB,EAAE,CAACyS,EAAS3S,EAAKoO,IACNoG,EAAU7B,EAAS3S,EAAKoqB,EAAKhc,GAExC/G,EAAGiB,IACQyhB,EAAamB,IAAI5iB,IAAUyhB,EAAa5lB,IAAImE,EAAOiK,GAAKjK,EAAOqC,EAAUqf,EAAkB7U,GAAoBiV,IAAQ,KAAO9hB,GAAQyhB,EAAazZ,IAAIhI,IAElKhI,EAAG6H,EAAW6M,GACV,IAAIhV,EAAM+E,KAAKC,UAAU,CACrBmD,EACA6M,IAEJ,OAAOiV,EAAUiB,IAAIlrB,IAAQiqB,EAAU9lB,IAAInE,GAAMmqB,EAAQhiB,EAAWiiB,IAAQ7X,GAAKpK,EAAWV,EAAOyiB,EAAe7U,GAAiB+U,EAAKpV,IAAUiV,EAAU3Z,IAAItQ,EACnK,EACDmrB,EAAG/jB,GACQuN,EAAS/I,OAAO,CAACxE,EAAMiE,IAAIA,EAAEjE,EAAMgjB,GAAMhjB,IAGxD,OAAOgjB,CACV,CAjHgD,CAiH/CppB,GACFmQ,EAAQ,IAAI5F,IAEZ6f,EAAoB,GAEpBC,EAAgB,IAAIC,IAMpB,SAAS9U,EAAOpP,GACZ,IAAImkB,EAAY3gB,EAAQugB,EAAE/jB,GAAOiP,EAAU7K,EAAY+f,GAEvD,GAAIlV,IAAYgV,EAAcH,IAAI7U,GAAU,CAExCgV,EAAcG,IAAInV,GAElB,IAAI7N,EAAQsE,EAAqBse,EAAmBhkB,GAEpD8O,EAAMM,OAAOH,EAAS7N,EAAOpB,GAE7BgkB,EAAkB5a,OAAOhI,EAAO,EAAGpB,EACtC,CACD,OAAOmkB,EAAUjkB,CACpB,CACD,OApBA4O,EAAMY,OAAQ3O,GAAYgJ,EAAMhN,IAAIgE,EAAWA,GAAY,CAACkO,EAASjP,KACjE8O,EAAMM,OAAOH,EAAS+U,EAAkB/qB,OAAQ+G,GAChDgkB,EAAkBlgB,KAAK9D,GACvBikB,EAAcG,IAAInV,EAAQ,GAiBvB9V,OAAOkrB,iBAAiB,SAAYC,GACvC,IAAKva,EAAMzC,KAAM,IAAK,IAAI+F,KAAazL,EAAQhI,EAAOyT,WAClD,mBAAqBA,IAAcA,EAAYA,EAAU7J,IACzD6J,IAAc,iBAAmBA,EAAYtF,EAAc,GAAI1F,EAAMC,EAAG9D,EAAM6O,GAAY7J,EAASnB,EAAMC,EAAG,IAAI,GAAO,GAAQkF,EAAU6F,EAAW,CAAA,EAAI7J,EAASnB,EAAMC,IAAI6M,QAAQC,GAGvL,IAAIrO,EAAYgJ,EAAMb,IADtBob,EAAS,GAAKA,GAEd,IAAKvjB,EAAW,CACZ,IAAIwjB,EAAa,IAAIL,IACrB,IAAK,IAAIlkB,KAAQ8I,EAAUtK,EAAM8lB,GAAS9gB,GAAS+gB,EAAWH,IAAIpkB,EAAKjH,GAAGqrB,IAAIhV,EAAOpP,IACrFe,EAAY,IACLwjB,GACL9b,OAAOI,SAAS1I,KAAK,KAEvB4J,EAAMhN,IAAIunB,EAAQvjB,GAAWhE,IAAIgE,EAAWA,EAC/C,CACD,OAAOA,CACf,EAAO5H,OAAOqrB,0BAA0B,CAC5B7rB,aACA,OAAOmW,EAAMnW,MAChB,EACDiL,MAAOJ,EAAQI,MACfhK,SACAmV,WACI,IAAI0V,EAAe3V,EAAMC,WAAY2V,EAAiB,IAAIR,IAAID,GAAgBU,EAAS,IAAIxgB,IAAI4F,GAAQ6a,EAAqB,IACrHZ,GAEP,MAAO,KACHS,IACAR,EAAgBS,EAChB3a,EAAQ4a,EACRX,EAAoBY,CAAkB,CAE7C,EACD1V,QACIJ,EAAMI,QACN+U,EAAgB,IAAIC,IACpBna,EAAQ,IAAI5F,IACZ6f,EAAoB,EACvB,EACD1U,UACIzV,KAAKqV,QACLJ,EAAMQ,SACT,IAET,CQ51CSV,CAAM,IACJhV,EAEHqH,KAAMrH,EAAOqH,MAAQ8gB,GACtBjT,GACH+V,ERu2CA,SAAYpC,GACZ,IAAIoC,EAAW,IAAIC,iBAAiBC,GACpC,MAAO,CACHC,QAASrsB,GACLksB,EAASG,QAAQrsB,EAAQ,CACrBssB,gBAAiB,CACb,SAEJC,SAAS,EACTC,WAAW,IAGfC,EAA2BzsB,GAE3BosB,EAAsB,CAClB,CACIpsB,SACA4D,KAAM,KAGjB,EACDyB,aACI6mB,EAAS7mB,YACZ,GAEL,SAAS+mB,EAAsBM,GAC3B,IAAK,IAAI9oB,KAAEA,EAAI5D,OAAGA,KAAa0sB,EAAQ,GAAI,KAAO9oB,EAAK,GACvD6oB,EAA2BzsB,QAE3B,IAAK,IAAI2sB,KAAM3sB,EAAO4sB,iBAAiB,WAAWH,EAA2BE,GAE7ET,EAASW,aACZ,CAGD,SAASJ,EAA2BzsB,GAChC,IAAIoI,EAGAujB,EAAS3rB,EAAO8sB,eAAe,SAhDvC,IAAiBljB,EAAGD,EAiDhBgiB,IAjDa/hB,EAiDK+hB,KAjDFhiB,EAiDUvB,EAAY0hB,EAAG6B,KAhD5B,GAAK/hB,EAAE+D,MAAM,KAAK+B,QAAU,GAAK/F,EAAEgE,MAAM,KAAK+B,QAiD3D1P,EAAO+sB,aAAa,QAAS3kB,EAChC,CACL,CQl5Ce4kB,CAAGlD,GACd,OAAO,SAAkBmD,GACrB,OAAO,cAA+BA,EAClC/lB,oBACIgmB,MAAMhmB,sBACNiP,EAAMvR,QAAQ1D,MACdgrB,EAASG,QAAQtD,GAAc7nB,MAClC,CACDisB,uBACIhX,EAAM9Q,WAAWnE,MACjBgsB,MAAMC,wBACT,CACDC,eAAeC,GACXH,SAASG,GACTnsB,KAAK4oB,GAAKA,CACb,EAEb,CACA,CCvFEwD,CACEjZ,GAAa,CACXpJ,MAAO,CACLkQ,WAAY,CACVC,KAAM,CAAC,QAAS,cAChBE,KAAM,CAAC,cAAe,cAExBxG,OAAQ,CACN8C,UAAW,CACT2V,OAAQ,gCACRC,QAAS,iCACT,UAAW,iCACX,WAAY,mCAEdzQ,UAAW,CACTwQ,OAAQ,CACN,KAAM,CAAC9e,QAAS,GAChB,OAAQ,CAACA,QAAS,KAEpB+e,QAAS,CACP,KAAM,CAAC/e,QAAS,IAChB,OAAQ,CAACA,QAAS,IAEpB,UAAW,CACT,KAAM,CAACA,QAAS,GAChB,OAAQ,CAACA,QAAS,IAEpB,WAAY,CACV,KAAM,CAACA,QAAS,GAChB,OAAQ,CAACA,QAAS,OAK1B6F,QAAS,CAAC4T,GAAe,CAAE,IAC3B5f,MAAM,IAIsC,EE5C5CU,GAAS,aAETsX,GAAS,CACbmN,QAAS,UACTC,UAAW,UACXC,cAAUlrB,EACV,aAAc,UACd,eAAgB,UAChB,eAAgB,UAChB,iBAAkB,UAClB,gBAAiB,WAGb,SAAU4L,GAAMpO,EAA0B2tB,GAC9C,YAD8CA,IAAAA,IAAAA,EAAWtN,GAAOrgB,IAChE,SAAgB+I,GAAS/I,EAAG,KAAK2tB,EACnC,GAAA,KCfA7lB,GCAAA,GHQsB8lB,yBAAaC,GAMjC,SAAAD,EACE1oB,EACA4oB,EACAC,EACAC,GAAuB,IAAA9qB,EAML,OAJlBA,EAAA2qB,EAAA7qB,KAAA/B,OACAiC,MAAK+qB,eAAiB/oB,EACtBhC,EAAKgrB,OAASJ,EACd5qB,EAAKirB,YAAcJ,EACnB7qB,EAAKkrB,MAAQJ,EAAK9qB,CACpB,CAjBiCD,EAAA2qB,EAAAC,GAiBhC,IAAA1sB,EAAAysB,EAAAxsB,UA6BA,OA7BAD,EAEQktB,OAAA,WACP,OAAO5M,EAAIA,KAAA3Z,KAAAA,GAAAC,EAAA,CAAA,yGAAA,0IAAA,wBAAA,qGAAA,eAAA,iCAEA9G,KAAKqtB,SAISrtB,KAAKktB,YAExBltB,KAAKmtB,MAIShgB,GAAM,kBACnBnN,KAAKitB,OAGd,EAAC/sB,EAESotB,SAAA,SACRvtB,GAEAuD,EAAMY,WAAWR,QAAO6pB,EAAA,CAAA,EACnBxtB,EACH0D,CAAAA,cAAezD,KAAKitB,OACpBhpB,cAAejE,KAAKgtB,iBAExB,EAACL,CAAA,EA9CwC1E,KAAYpjB,IEN1C2oB,GAAaC,EAAAA,IAAG5mB,KAAAA,GAAAC,EAAyc,CAAA,8cEGzd4mB,QAAAA,4CAAqBC,GAChC,SAAAD,WACEC,EAAA5rB,KAAA/B,KACE,oBACA,YACA,0DACAwtB,KAEJxtB,IAAA,CAIC,OAZ+BgC,EAAA0rB,EAAAC,GAQ/BD,EAAAvtB,UAESktB,SAAA,WACRrtB,KAAKstB,SAAS,CAAA,EAChB,EAACI,CAAA,EAZwCf,IAA9Be,QAAAA,sBAAqB9uB,EAAA,CADjCgvB,EAAAA,cAAc,4BACFF,mCCLb7mB,GFEagnB,GAAWJ,EAAAA,IAAG5mB,KAAAA,GAAAC,EAgB1B,CAAA,y3HGZYgnB,QAAAA,iCAAmB,SAAAH,GAC9B,SAAAG,IAAA,OACEH,EAAA5rB,KAAA/B,KACE,WACA,WACA,0DACA6tB,KAEJ7tB,IAAA,QAR8BgC,EAAA8rB,EAAAH,GAQ7BG,EAAA3tB,UAEektB,SAAQ,WAAA,IAAA,IAAAprB,EAQtBjC,KAPMqC,EAAM/B,EAAKA,MAACgC,mBAAmByrB,gBAAgB,OAAAvtB,QAAAC,QAE/C4B,EAAI2rB,QAAQ,CAEhBxkB,KAAM,8BACN7I,KAEFsB,WAAAA,EAAKqrB,SAAS,CACZlrB,OAAQC,EAAI4rB,0BAAyB,IACpC,EACL,CAAC,MAAArtB,GAAA,OAAAJ,QAAAK,OAAAD,KAAAktB,CAAA,CArB6B,CAASnB,IAA5BmB,QAAmBA,oBAAAlvB,EAAA,CAD/BgvB,EAAaA,cAAC,2BACFE,6CDJAI,GAAUT,EAAAA,IAAG5mB,KAAAA,GAAAC,EAcnB,CAAA,s2CEXMqnB,QAAAA,oCAAsB,SAAAR,GACjC,SAAAQ,IACE,OAAAR,EAAA5rB,KAAA/B,KAAM,cAAe,cAAe,UAAWkuB,KAAQluB,IACzD,CAYCmuB,OAfgCnsB,EAAAmsB,EAAAR,GAGhCQ,EAAAhuB,UAEektB,SAAQA,WAAA,IAAA,IAEhB9qB,EAAwB6rB,OAAO,uCACrC,OAAK7rB,GAILvC,KAAKstB,SAAS,CACZlrB,OAAQG,IACP/B,QAAAC,WALDD,QAAAC,SAMJ,CAAC,MAAAG,GAAAJ,OAAAA,QAAAK,OAAAD,EAAAutB,CAAAA,EAAAA,CAAA,CAfgC,CAASxB,IAA/BwB,QAAsBA,uBAAAvvB,EAAA,CADlCgvB,EAAAA,cAAc,sBACFO,QAAAA,wBCSAE,QAAAA,8BAAgB,SAAAzB,GAAA,SAAAyB,IAAA,OAAAzB,EAAA0B,MAAAtuB,KAAAb,YAAAa,IAAA,CAY1BquB,OAZ0BrsB,EAAAqsB,EAAAzB,GAAAyB,EAAAluB,UAClBitB,OAAA,WACP,OAAO5M,EAAIA,KAAA3Z,KAAAA,GAAAC,EAAA,CAAA,6GAAA,0HAIPzG,OAAOC,MACLkgB,OAAI+N,KAAAA,GAAAznB,EAAA,CAAA,0DACJ,KAIR,EAACunB,CAAA,CAZ0B,CAASpG,KAAYpjB,IAArCwpB,QAAgBA,iBAAAzvB,EAAA,CAD5BgvB,EAAAA,cAAc,uBACFS,QAAAA,kBCXA,ICHbxnB,eDGa2nB,GAAqBf,EAAAA,IAAG5mB,KAAAA,GAAAC,EAE6BqG,CAAAA,4KAAAA,sEAAAA,iJAAAA,GAC1D,gBAE+BA,GAC/B,iBAKKshB,GAAuBhB,EAAGA,IAAAc,KAAAA,GAAAznB,EAE2BqG,CAAAA,4KAAAA,sEAAAA,iJAAAA,GAC1D,kBAE+BA,GAC/B,mBCjBKuhB,GAAWjB,EAAGA,IAAA5mB,KAAAA,GAAAC,qlBAKRqG,GAAM,WACKA,GAAM,cCPpB,SAAAwhB,KACd,MAA8CxhB,uCAAAA,GAAM,gBAAeA,GACjE,aAIJ,+EAAA,CCKA,ICbAtG,GDaa+nB,gBAAehC,SAAAA,GAAA,SAAAgC,IAAA,OAAAhC,EAAA0B,MAAAtuB,KAAAb,YAAAa,IAAA,CAAAgC,EAAA4sB,EAAAhC,GAAA,IAAA1sB,EAAA0uB,EAAAzuB,UAyEzB,OAzEyBD,EACjBktB,OAAA,WACP,OAAO5M,EAAIA,KAAA3Z,KAAAA,GAAAC,EAAA,CAAA,kHAAA,kBAIP9G,KAAKgF,YACHwb,EAAIA,KAAA+N,KAAAA,GAAAznB,EAAA,CAAA,sBAAA,YAAsB2nB,IAC1BzuB,KAAK+E,WACLyb,EAAAA,KAAIqO,KAAAA,GAAA/nB,EAAA,CAAA,qDAAA,oGAAA,mCAAA,0GAAA,oFAAA,gHAAA,mBAAA,4KAAA,uBAAA,oDAAA,2VAAA,KAAA,iCAAA,KAAA,gJAAA,8BAAA,8CAAqDqG,GACvD,kBAKWwhB,KAEP3uB,KAAKkF,QAAU,OAIgCiI,GACnD,kBAGmDA,GACnD,kBAIWwhB,KACR3uB,KAAKmF,UAAY,EAK+BgI,GACnD,kBACsBnN,KAAKiF,eAGlBjF,KAAK8uB,kBAMwB3hB,GAAM,cAAkBA,GAC9D,cACgCA,GAAM,WAAeA,GACrD,aAKEuhB,GACaC,MAEjBnO,EAAAA,KAAIuO,KAAAA,GAAAjoB,EAAA,CAAA,wFAAA,yIAGgBqG,GAAM,mBAQlC,EAACjN,EAEO4uB,kBAAA,WACNxrB,EAAMY,WAAWC,YACnB,EAACyqB,CAAA,CAzEyBhC,CAAS3E,KAAYpjB,IAApC+pB,GAAehwB,EAAA,CAD3BgvB,EAAaA,cAAC,sBACFgB,ICVA,ICHb/nB,SDGamoB,GAAYvB,EAAGA,IAAA5mB,KAAAA,GAAAC,kRACEqG,GAC5B,kBAEkCA,GAClC,mBCLW8hB,GAASxB,EAAAA,IAAG5mB,KAAAA,GAAAC,EAAA,CAAA,onBAAA,uJAAA,mJAAA,gsCAAA,6gFAAA,8pBAAA,0sBAAA,o/BAAA,o2CAAA,6pBAAA,koBAAA,wtCAAA,4qCAAA,iwBAAA,6wBAAA,2gEAAA,2xCAAA,+mBAAA,2JAAA,mCAAA,4KAAA,mCAAA,2KAAA,mCAAA,8CAEqPqG,GAC5Q,cAEgJA,GAChJ,cAE4IA,GAC5I,cAEyrCA,GACzrC,cAI8zCA,GAC9zC,kBAEupBA,GACvpB,kBAEmsBA,GACnsB,kBAE6+BA,GAC7+B,kBAE61CA,GAC71C,kBAEspBA,GACtpB,kBAE2nBA,GAC3nB,kBAEitCA,GACjtC,kBAEqqCA,GACrqC,kBAE0vBA,GAC1vB,kBAEswBA,GACtwB,kBAEogEA,GACpgE,kBAEoxCA,GACpxC,kBAEwmBA,GACxmB,kBAIiBA,GAAM,WACKA,GAAM,aAGjBA,GAAM,WACKA,GAAM,aAGjBA,GAAM,WACKA,GAAM,cC5DvB+hB,QAAQA,sBAAAtC,SAAAA,GAYnB,SAAAsC,QAAAjtB,EAQK,OAPHA,EAAA2qB,EAAA7qB,KAAA/B,OAAOA,MAHSmvB,UAAG,EAMnB7rB,EAAMyC,UAAU,SAACzC,EAAO8rB,GAClB9rB,EAAMC,YAAc6rB,EAAU7rB,WAAcD,EAAMC,WACpDtB,EAAKotB,cAET,GAAGptB,CACL,CArBmBD,EAAAktB,EAAAtC,GAqBlB,IAAA1sB,EAAAgvB,EAAA/uB,iBAAAD,EAEQ8F,kBAAA,WACP4mB,EAAAzsB,UAAM6F,kBAAiBjE,KAAA/B,MACvByC,EAAiB,kBACnB,EAACvC,EAEQ+rB,qBAAA,WACPW,EAAAzsB,UAAM8rB,qBAAoBlqB,KAC1BU,MAAAA,EAAiB,kBACnB,EAACvC,EAEQktB,OAAA,WACP,OAAO5M,EAAAA,KAAI3Z,KAAAA,GAAAC,EAKsC,CAAA,4MAAA,iCAAA,yLAAA,iCAAA,8NAAA,oBAAA,qDAAA,qHAAA9G,KAAKmvB,SAC9C,kBACA,iBACiBhiB,GAAM,gBAI7BnN,KAAKmvB,SAAW,mBAAqB,kBACdhiB,GAAM,cAIcnN,KAAKqvB,aACtCL,GAGJC,GAKV,EAAC/uB,EAEOmvB,aAAA,WAAYC,IAAAA,OAClBtvB,KAAKmvB,UAAW,EAChBjtB,WAAW,WAAM,OAAAotB,MAAAA,EAAKC,aAALD,EAAAA,EAAKC,SAAW,EAAE,IACrC,EAACL,CAAA,CAjEkBtC,CAAS3E,KAAYpjB,IAOxCjG,EAAA,CAHCqP,EAAAA,SAAS,CACRuhB,UAAW,cAEQN,QAAAA,SAAA/uB,UAAA,eAAA,GAGrBvB,EAAA,CADCmI,WAC0BmoB,QAAAA,SAAA/uB,UAAA,gBAAA,GAVhB+uB,QAAAA,SAAQtwB,EAAA,CADpBgvB,EAAAA,cAAc,cACFsB,kBCTN,ICHProB,MCAAA,wBFGa4oB,GAAUhC,MAAG5mB,KAAAA,GAAAC,EAAA,CAAA,qpEAAA,iBAEuhEqG,GAC/iE,iBCJWuiB,GAAUjC,EAAAA,IAAG5mB,KAAAA,GAAAC,EAEnB,CAAA,qrBEDM6oB,GAAmBlC,MAAG5mB,KAAAA,GAAAC,EAAA,CAAA,yIAAA,iIAGAqG,GACjC,iBDJc,SAAAyiB,KACd,OAAOpP,EAAIA,KAAA3Z,KAAAA,GAAAC,EAEcqG,CAAAA,sIAAAA,kBAAAA,GAAM,cAEjC,CEUa0iB,QAASA,uBAAAjD,SAAAA,GAoBpB,SAAAiD,IAAA5tB,IAAAA,EA6EE,OA5EAA,EAAA2qB,EAAA7qB,YAnBME,MAAU6tB,YAAG,EAgBrB7tB,EAAQ8tB,UAAG,EA6EH9tB,EAAW+tB,YAAG,WACpB/tB,EAAK6tB,YAAa,CACpB,EAAE7tB,CA3EF,CAtBoBD,EAAA6tB,EAAAjD,GAsBnB,IAAA1sB,EAAA2vB,EAAA1vB,UA+EA,OA/EAD,EAQQktB,OAAA,WACP,IAAM6C,EAAYjwB,KAAKgF,cAAiBhF,KAAK+E,YAAc/E,KAAK8vB,WAC1DI,EACJlwB,KAAKkwB,UAAalwB,KAAKmwB,mBAAqBnwB,KAAK+E,WACnD,OAAOyb,EAAAA,KAAI3Z,KAAAA,GAAAC,EAAA,CAAA,6HAAA,qBAAA,qBAAA,sBAAA,gEAAA,mHAAA,uBAAA,0BAAA,0BAAA,eAAA,eAAA,gCAAA,yBAAA,kBAE0F9G,KAC9F+E,aAAemrB,EACd,+CACA,GACKlwB,KAAK+E,aAAemrB,EAAQ,sFACqD/iB,GACpF,gBACD,KAAKA,GAAM,gBACZ,SAAA,GACKnN,KAAKqtB,SAEZrtB,KAAK+E,WAAa6qB,KAAgB,KAGzBM,EAAW,UAAuB,YAEzClwB,KAAK+vB,SAAW,yBAA2B,IACnC/vB,KAAK+vB,UAAQ,qDAEiB5iB,GACpC,WACAA,GAAM,YACP,QAAQA,GAAM,WAAYA,GAAM,cAAa,+BACrCA,GAAM,gCAELnN,KAAK+vB,SAEfH,KACAK,EACEzB,GACAxuB,KAAK+E,WACLmrB,EACEP,GACA,KACFF,GACDS,EAQC,KAPA1P,EAAAA,KAAI+N,KAAAA,GAAAznB,EACAmpB,CAAAA,iDAAAA,6BAAAA,EACEzP,EAAAA,KAAIqO,KAAAA,GAAA/nB,EACJ,CAAA,oBAAA9G,KAAK+E,WACLyb,EAAIA,KAAAuO,KAAAA,GAAAjoB,EAAG,CAAA,GAAA,MAAA9G,KAAKkF,QAAU,aACtBsb,EAAIA,KAAA4P,KAAAA,GAAAtpB,EAAA,CAAA,sBAId9G,KAAK+E,aAAemrB,QAA8B3uB,IAAlBvB,KAAKmF,SACnCqb,EAAIA,KAAA6P,KAAAA,GAAAvpB,EAAA,CAAA,iIAAA,qBAAA,2BAAA,kCAEcqG,GAAM,iBACnBuiB,GAAkC1vB,KAAKmF,UAE5C,KAEJnF,KAAK8vB,WACHtP,EAAIA,KAAA8P,KAAAA,GAAAxpB,EAAA,CAAA,uBAAA,SAAuB9G,KAAKgwB,aAChC,KAER,EAAC9vB,EAMOmtB,SAAA,WACNrtB,KAAK8vB,YAAa,CACpB,EAACD,CAAA,CArGmBjD,CAAS3E,KAAYpjB,IAEzCjG,EAAA,CADCmI,EAAAA,SAC0B8oB,QAAAA,UAAA1vB,UAAA,kBAAA,GAM3BvB,EAAA,CAJCqP,EAAQA,SAAC,CACRuhB,UAAW,YACX9sB,KAAMsM,WAEW6gB,QAAAA,UAAA1vB,UAAA,gBAAA,GAKnBvB,EAAA,CAJCqP,EAAQA,SAAC,CACRuhB,UAAW,sBACX9sB,KAAMsM,WAEoB6gB,QAAAA,UAAA1vB,UAAA,yBAAA,GAK5BvB,EAAA,CAHCqP,EAAQA,SAAC,CACRvL,KAAMsM,WAES6gB,QAAAA,UAAA1vB,UAAA,gBAAA,GAlBN0vB,QAASA,UAAAjxB,EAAA,CADrBgvB,EAAaA,cAAC,eACFiC"}