{"version":3,"file":"index.cjs","sources":["../node_modules/graphql-tag/src/index.ts","../node_modules/ts-invariant/src/invariant.ts","../node_modules/@apollo/react-common/src/context/ApolloContext.ts","../node_modules/@apollo/react-common/src/parser/parser.ts","../node_modules/@wry/equality/src/equality.ts","../node_modules/@apollo/react-hooks/src/data/OperationData.ts","../node_modules/@apollo/react-hooks/src/data/QueryData.ts","../node_modules/@apollo/react-hooks/src/utils/useDeepMemo.ts","../node_modules/@apollo/react-hooks/src/utils/useBaseQuery.ts","../node_modules/@apollo/react-hooks/src/useQuery.ts","../node_modules/@apollo/react-hooks/src/data/MutationData.ts","../node_modules/@apollo/react-hooks/src/useMutation.ts","../node_modules/@apollo/react-hooks/src/data/SubscriptionData.ts","../node_modules/@apollo/react-hooks/src/useSubscription.ts","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@apollo/react-components/src/Query.tsx","../node_modules/@apollo/react-components/src/Mutation.tsx","../node_modules/@apollo/react-components/src/Subscription.tsx","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/@apollo/react-hoc/src/hoc-utils.tsx","../node_modules/@apollo/react-hoc/src/query-hoc.tsx","../src/graphql.generated.tsx","../node_modules/zen-observable/lib/Observable.js","../node_modules/zen-observable/index.js","../node_modules/zen-observable-ts/src/zenObservable.ts","../node_modules/apollo-link/src/linkUtils.ts","../node_modules/apollo-link/src/link.ts","../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js","../node_modules/graphql/jsutils/inspect.js","../node_modules/graphql/language/visitor.js","../node_modules/graphql/language/blockString.js","../node_modules/graphql/language/printer.mjs","../node_modules/apollo-link-http-common/src/index.ts","../node_modules/apollo-link-http/src/httpLink.ts","../node_modules/apollo-link-context/src/index.ts","../src/graphql.client.tsx"],"sourcesContent":["import { parse } from 'graphql';\n\nimport {\n  DocumentNode,\n  DefinitionNode,\n  Location,\n} from 'graphql/language/ast';\n\n// A map docString -> graphql document\nconst docCache = new Map<string, DocumentNode>();\n\n// A map fragmentName -> [normalized source]\nconst fragmentSourceMap = new Map<string, Set<string>>();\n\nlet printFragmentWarnings = true;\nlet experimentalFragmentVariables = false;\n\n// Strip insignificant whitespace\n// Note that this could do a lot more, such as reorder fields etc.\nfunction normalize(string: string) {\n  return string.replace(/[\\s,]+/g, ' ').trim();\n}\n\nfunction cacheKeyFromLoc(loc: Location) {\n  return normalize(loc.source.body.substring(loc.start, loc.end));\n}\n\n// Take a unstripped parsed document (query/mutation or even fragment), and\n// check all fragment definitions, checking for name->source uniqueness.\n// We also want to make sure only unique fragments exist in the document.\nfunction processFragments(ast: DocumentNode) {\n  const seenKeys = new Set<string>();\n  const definitions: DefinitionNode[] = [];\n\n  ast.definitions.forEach(fragmentDefinition => {\n    if (fragmentDefinition.kind === 'FragmentDefinition') {\n      var fragmentName = fragmentDefinition.name.value;\n      var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc!);\n\n      // We know something about this fragment\n      let sourceKeySet = fragmentSourceMap.get(fragmentName)!;\n      if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n        // this is a problem because the app developer is trying to register another fragment with\n        // the same name as one previously registered. So, we tell them about it.\n        if (printFragmentWarnings) {\n          console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n            + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n            + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n        }\n      } else if (!sourceKeySet) {\n        fragmentSourceMap.set(fragmentName, sourceKeySet = new Set);\n      }\n\n      sourceKeySet.add(sourceKey);\n\n      if (!seenKeys.has(sourceKey)) {\n        seenKeys.add(sourceKey);\n        definitions.push(fragmentDefinition);\n      }\n    } else {\n      definitions.push(fragmentDefinition);\n    }\n  });\n\n  return {\n    ...ast,\n    definitions,\n  };\n}\n\nfunction stripLoc(doc: DocumentNode) {\n  const workSet = new Set<Record<string, any>>(doc.definitions);\n\n  workSet.forEach(node => {\n    if (node.loc) delete node.loc;\n    Object.keys(node).forEach(key => {\n      const value = node[key];\n      if (value && typeof value === 'object') {\n        workSet.add(value);\n      }\n    });\n  });\n\n  const loc = doc.loc as Record<string, any>;\n  if (loc) {\n    delete loc.startToken;\n    delete loc.endToken;\n  }\n\n  return doc;\n}\n\nfunction parseDocument(source: string) {\n  var cacheKey = normalize(source);\n  if (!docCache.has(cacheKey)) {\n    const parsed = parse(source, {\n      experimentalFragmentVariables,\n    });\n    if (!parsed || parsed.kind !== 'Document') {\n      throw new Error('Not a valid GraphQL document.');\n    }\n    docCache.set(\n      cacheKey,\n      // check that all \"new\" fragments inside the documents are consistent with\n      // existing fragments of the same name\n      stripLoc(processFragments(parsed)),\n    );\n  }\n  return docCache.get(cacheKey)!;\n}\n\n// XXX This should eventually disallow arbitrary string interpolation, like Relay does\nexport function gql(\n  literals: string | readonly string[],\n  ...args: any[]\n) {\n\n  if (typeof literals === 'string') {\n    literals = [literals];\n  }\n\n  let result = literals[0];\n\n  args.forEach((arg, i) => {\n    if (arg && arg.kind === 'Document') {\n      result += arg.loc.source.body;\n    } else {\n      result += arg;\n    }\n    result += literals[i + 1];\n  });\n\n  return parseDocument(result);\n}\n\nexport function resetCaches() {\n  docCache.clear();\n  fragmentSourceMap.clear();\n}\n\nexport function disableFragmentWarnings() {\n  printFragmentWarnings = false;\n}\n\nexport function enableExperimentalFragmentVariables() {\n  experimentalFragmentVariables = true;\n}\n\nexport function disableExperimentalFragmentVariables() {\n  experimentalFragmentVariables = false;\n}\n\nconst extras = {\n  gql,\n  resetCaches,\n  disableFragmentWarnings,\n  enableExperimentalFragmentVariables,\n  disableExperimentalFragmentVariables,\n};\n\nexport namespace gql {\n  export const {\n    gql,\n    resetCaches,\n    disableFragmentWarnings,\n    enableExperimentalFragmentVariables,\n    disableExperimentalFragmentVariables,\n  } = extras;\n}\n\ngql.default = gql;\n\nexport default gql;\n","const genericMessage = \"Invariant Violation\";\nconst {\n  setPrototypeOf = function (obj: any, proto: any) {\n    obj.__proto__ = proto;\n    return obj;\n  },\n} = Object as any;\n\nexport class InvariantError extends Error {\n  framesToPop = 1;\n  name = genericMessage;\n  constructor(message: string | number = genericMessage) {\n    super(\n      typeof message === \"number\"\n        ? `${genericMessage}: ${message} (see https://github.com/apollographql/invariant-packages)`\n        : message\n    );\n    setPrototypeOf(this, InvariantError.prototype);\n  }\n}\n\nexport function invariant(condition: any, message?: string | number) {\n  if (!condition) {\n    throw new InvariantError(message);\n  }\n}\n\nfunction wrapConsoleMethod(method: \"warn\" | \"error\") {\n  return function () {\n    return console[method].apply(console, arguments as any);\n  } as (...args: any[]) => void;\n}\n\nexport namespace invariant {\n  export const warn = wrapConsoleMethod(\"warn\");\n  export const error = wrapConsoleMethod(\"error\");\n}\n\n// Code that uses ts-invariant with rollup-plugin-invariant may want to\n// import this process stub to avoid errors evaluating process.env.NODE_ENV.\n// However, because most ESM-to-CJS compilers will rewrite the process import\n// as tsInvariant.process, which prevents proper replacement by minifiers, we\n// also attempt to define the stub globally when it is not already defined.\nlet processStub: NodeJS.Process = { env: {} } as any;\nexport { processStub as process };\nif (typeof process === \"object\") {\n  processStub = process;\n} else try {\n  // Using Function to evaluate this assignment in global scope also escapes\n  // the strict mode of the current module, thereby allowing the assignment.\n  // Inspired by https://github.com/facebook/regenerator/pull/369.\n  Function(\"stub\", \"process = stub\")(processStub);\n} catch (atLeastWeTried) {\n  // The assignment can fail if a Content Security Policy heavy-handedly\n  // forbids Function usage. In those environments, developers should take\n  // extra care to replace process.env.NODE_ENV in their production builds,\n  // or define an appropriate global.process polyfill.\n}\n\nexport default invariant;\n","import React from 'react';\nimport ApolloClient from 'apollo-client';\n\nexport interface ApolloContextValue {\n  client?: ApolloClient<object>;\n  renderPromises?: Record<any, any>;\n}\n\nlet apolloContext: React.Context<ApolloContextValue>;\n\nexport function getApolloContext() {\n  if (!apolloContext) {\n    apolloContext = React.createContext<ApolloContextValue>({});\n  }\n  return apolloContext;\n}\n\nexport function resetApolloContext() {\n  apolloContext = React.createContext<ApolloContextValue>({});\n}\n","import {\n  DocumentNode,\n  DefinitionNode,\n  VariableDefinitionNode,\n  OperationDefinitionNode\n} from 'graphql';\nimport { invariant } from 'ts-invariant';\n\nexport enum DocumentType {\n  Query,\n  Mutation,\n  Subscription\n}\n\nexport interface IDocumentDefinition {\n  type: DocumentType;\n  name: string;\n  variables: ReadonlyArray<VariableDefinitionNode>;\n}\n\nconst cache = new Map();\n\nexport function operationName(type: DocumentType) {\n  let name;\n  switch (type) {\n    case DocumentType.Query:\n      name = 'Query';\n      break;\n    case DocumentType.Mutation:\n      name = 'Mutation';\n      break;\n    case DocumentType.Subscription:\n      name = 'Subscription';\n      break;\n  }\n  return name;\n}\n\n// This parser is mostly used to saftey check incoming documents.\nexport function parser(document: DocumentNode): IDocumentDefinition {\n  const cached = cache.get(document);\n  if (cached) return cached;\n\n  let variables, type, name;\n\n  invariant(\n    !!document && !!document.kind,\n    `Argument of ${document} passed to parser was not a valid GraphQL ` +\n      `DocumentNode. You may need to use 'graphql-tag' or another method ` +\n      `to convert your operation into a document`\n  );\n\n  const fragments = document.definitions.filter(\n    (x: DefinitionNode) => x.kind === 'FragmentDefinition'\n  );\n\n  const queries = document.definitions.filter(\n    (x: DefinitionNode) =>\n      x.kind === 'OperationDefinition' && x.operation === 'query'\n  );\n\n  const mutations = document.definitions.filter(\n    (x: DefinitionNode) =>\n      x.kind === 'OperationDefinition' && x.operation === 'mutation'\n  );\n\n  const subscriptions = document.definitions.filter(\n    (x: DefinitionNode) =>\n      x.kind === 'OperationDefinition' && x.operation === 'subscription'\n  );\n\n  invariant(\n    !fragments.length ||\n      (queries.length || mutations.length || subscriptions.length),\n    `Passing only a fragment to 'graphql' is not yet supported. ` +\n      `You must include a query, subscription or mutation as well`\n  );\n\n  invariant(\n    queries.length + mutations.length + subscriptions.length <= 1,\n    `react-apollo only supports a query, subscription, or a mutation per HOC. ` +\n      `${document} had ${queries.length} queries, ${subscriptions.length} ` +\n      `subscriptions and ${mutations.length} mutations. ` +\n      `You can use 'compose' to join multiple operation types to a component`\n  );\n\n  type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n  if (!queries.length && !mutations.length) type = DocumentType.Subscription;\n\n  const definitions = queries.length\n    ? queries\n    : mutations.length\n    ? mutations\n    : subscriptions;\n\n  invariant(\n    definitions.length === 1,\n    `react-apollo only supports one definition per HOC. ${document} had ` +\n      `${definitions.length} definitions. ` +\n      `You can use 'compose' to join multiple operation types to a component`\n  );\n\n  const definition = definitions[0] as OperationDefinitionNode;\n  variables = definition.variableDefinitions || [];\n\n  if (definition.name && definition.name.kind === 'Name') {\n    name = definition.name.value;\n  } else {\n    name = 'data'; // fallback to using data if no name\n  }\n\n  const payload = { name, type, variables };\n  cache.set(document, payload);\n  return payload;\n}\n","const { toString, hasOwnProperty } = Object.prototype;\nconst previousComparisons = new Map<object, Set<object>>();\n\n/**\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\n */\nexport function equal(a: any, b: any): boolean {\n  try {\n    return check(a, b);\n  } finally {\n    previousComparisons.clear();\n  }\n}\n\n// Allow default imports as well.\nexport default equal;\n\nfunction check(a: any, b: any): boolean {\n  // If the two values are strictly equal, our job is easy.\n  if (a === b) {\n    return true;\n  }\n\n  // Object.prototype.toString returns a representation of the runtime type of\n  // the given value that is considerably more precise than typeof.\n  const aTag = toString.call(a);\n  const bTag = toString.call(b);\n\n  // If the runtime types of a and b are different, they could maybe be equal\n  // under some interpretation of equality, but for simplicity and performance\n  // we just return false instead.\n  if (aTag !== bTag) {\n    return false;\n  }\n\n  switch (aTag) {\n    case '[object Array]':\n      // Arrays are a lot like other objects, but we can cheaply compare their\n      // lengths as a short-cut before comparing their elements.\n      if (a.length !== b.length) return false;\n      // Fall through to object case...\n    case '[object Object]': {\n      if (previouslyCompared(a, b)) return true;\n\n      const aKeys = Object.keys(a);\n      const bKeys = Object.keys(b);\n\n      // If `a` and `b` have a different number of enumerable keys, they\n      // must be different.\n      const keyCount = aKeys.length;\n      if (keyCount !== bKeys.length) return false;\n\n      // Now make sure they have the same keys.\n      for (let k = 0; k < keyCount; ++k) {\n        if (!hasOwnProperty.call(b, aKeys[k])) {\n          return false;\n        }\n      }\n\n      // Finally, check deep equality of all child properties.\n      for (let k = 0; k < keyCount; ++k) {\n        const key = aKeys[k];\n        if (!check(a[key], b[key])) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    case '[object Error]':\n      return a.name === b.name && a.message === b.message;\n\n    case '[object Number]':\n      // Handle NaN, which is !== itself.\n      if (a !== a) return b !== b;\n      // Fall through to shared +a === +b case...\n    case '[object Boolean]':\n    case '[object Date]':\n      return +a === +b;\n\n    case '[object RegExp]':\n    case '[object String]':\n      return a == `${b}`;\n\n    case '[object Map]':\n    case '[object Set]': {\n      if (a.size !== b.size) return false;\n      if (previouslyCompared(a, b)) return true;\n\n      const aIterator = a.entries();\n      const isMap = aTag === '[object Map]';\n\n      while (true) {\n        const info = aIterator.next();\n        if (info.done) break;\n\n        // If a instanceof Set, aValue === aKey.\n        const [aKey, aValue] = info.value;\n\n        // So this works the same way for both Set and Map.\n        if (!b.has(aKey)) {\n          return false;\n        }\n\n        // However, we care about deep equality of values only when dealing\n        // with Map structures.\n        if (isMap && !check(aValue, b.get(aKey))) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }\n\n  // Otherwise the values are not equal.\n  return false;\n}\n\nfunction previouslyCompared(a: object, b: object): boolean {\n  // Though cyclic references can make an object graph appear infinite from the\n  // perspective of a depth-first traversal, the graph still contains a finite\n  // number of distinct object references. We use the previousComparisons cache\n  // to avoid comparing the same pair of object references more than once, which\n  // guarantees termination (even if we end up comparing every object in one\n  // graph to every object in the other graph, which is extremely unlikely),\n  // while still allowing weird isomorphic structures (like rings with different\n  // lengths) a chance to pass the equality test.\n  let bSet = previousComparisons.get(a);\n  if (bSet) {\n    // Return true here because we can be sure false will be returned somewhere\n    // else if the objects are not equivalent.\n    if (bSet.has(b)) return true;\n  } else {\n    previousComparisons.set(a, bSet = new Set);\n  }\n  bSet.add(b);\n  return false;\n}\n","import { ApolloClient } from 'apollo-client';\nimport { equal as isEqual } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\nimport {\n  ApolloContextValue,\n  parser,\n  DocumentType,\n  operationName\n} from '@apollo/react-common';\nimport { DocumentNode } from 'graphql';\n\nimport { CommonOptions } from '../types';\n\nexport abstract class OperationData<TOptions = any> {\n  public isMounted: boolean = false;\n  public previousOptions: CommonOptions<TOptions> = {} as CommonOptions<\n    TOptions\n  >;\n  public context: ApolloContextValue = {};\n  public client: ApolloClient<object> | undefined;\n\n  private options: CommonOptions<TOptions> = {} as CommonOptions<TOptions>;\n\n  constructor(options?: CommonOptions<TOptions>, context?: ApolloContextValue) {\n    this.options = options || ({} as CommonOptions<TOptions>);\n    this.context = context || {};\n  }\n\n  public getOptions(): CommonOptions<TOptions> {\n    return this.options;\n  }\n\n  public setOptions(\n    newOptions: CommonOptions<TOptions>,\n    storePrevious: boolean = false\n  ) {\n    if (storePrevious && !isEqual(this.options, newOptions)) {\n      this.previousOptions = this.options;\n    }\n    this.options = newOptions;\n  }\n\n  public abstract execute(...args: any): any;\n  public abstract afterExecute(...args: any): void | (() => void);\n  public abstract cleanup(): void;\n\n  protected unmount() {\n    this.isMounted = false;\n  }\n\n  protected refreshClient() {\n    const client =\n      (this.options && this.options.client) ||\n      (this.context && this.context.client);\n\n    invariant(\n      !!client,\n      'Could not find \"client\" in the context or passed in as an option. ' +\n        'Wrap the root component in an <ApolloProvider>, or pass an ' +\n        'ApolloClient instance in via options.'\n    );\n\n    let isNew = false;\n    if (client !== this.client) {\n      isNew = true;\n      this.client = client;\n      this.cleanup();\n    }\n    return {\n      client: this.client as ApolloClient<object>,\n      isNew\n    };\n  }\n\n  protected verifyDocumentType(document: DocumentNode, type: DocumentType) {\n    const operation = parser(document);\n    const requiredOperationName = operationName(type);\n    const usedOperationName = operationName(operation.type);\n    invariant(\n      operation.type === type,\n      `Running a ${requiredOperationName} requires a graphql ` +\n        `${requiredOperationName}, but a ${usedOperationName} was used instead.`\n    );\n  }\n}\n","import {\n  ApolloQueryResult,\n  ApolloError,\n  NetworkStatus,\n  FetchMoreOptions,\n  FetchMoreQueryOptions,\n  UpdateQueryOptions,\n  SubscribeToMoreOptions,\n} from 'apollo-client';\nimport { equal as isEqual } from '@wry/equality';\nimport {\n  ApolloContextValue,\n  DocumentType,\n  QueryResult,\n  ObservableQueryFields,\n} from '@apollo/react-common';\n\nimport {\n  QueryPreviousData,\n  QueryOptions,\n  QueryCurrentObservable,\n  QueryTuple,\n  QueryLazyOptions,\n} from '../types';\nimport { OperationData } from './OperationData';\n\nexport class QueryData<TData, TVariables> extends OperationData {\n  public onNewData: () => void;\n\n  private previousData: QueryPreviousData<TData, TVariables> = {};\n  private currentObservable: QueryCurrentObservable<TData, TVariables> = {};\n  private runLazy: boolean = false;\n  private lazyOptions?: QueryLazyOptions<TVariables>;\n\n  constructor({\n    options,\n    context,\n    onNewData,\n  }: {\n    options: QueryOptions<TData, TVariables>;\n    context: ApolloContextValue;\n    onNewData: () => void;\n  }) {\n    super(options, context);\n    this.onNewData = onNewData;\n  }\n\n  public execute(): QueryResult<TData, TVariables> {\n    this.refreshClient();\n\n    const { skip, query } = this.getOptions();\n    if (skip || query !== this.previousData.query) {\n      this.removeQuerySubscription();\n      this.previousData.query = query;\n    }\n\n    this.updateObservableQuery();\n\n    if (this.isMounted) this.startQuerySubscription();\n\n    return this.getExecuteSsrResult() || this.getExecuteResult();\n  }\n\n  public executeLazy(): QueryTuple<TData, TVariables> {\n    return !this.runLazy\n      ? [\n          this.runLazyQuery,\n          {\n            loading: false,\n            networkStatus: NetworkStatus.ready,\n            called: false,\n            data: undefined,\n          } as QueryResult<TData, TVariables>,\n        ]\n      : [this.runLazyQuery, this.execute()];\n  }\n\n  // For server-side rendering\n  public fetchData(): Promise<ApolloQueryResult<any>> | boolean {\n    const options = this.getOptions();\n    if (options.skip || options.ssr === false) return false;\n\n    // currentObservable.query is already assigned the registered SSR observable in initializeObservableQuery.\n    const obs = this.currentObservable.query!;\n    const currentResult = obs.getCurrentResult();\n    return currentResult.loading ? obs.result() : false;\n  }\n\n  public afterExecute({ lazy = false }: { lazy?: boolean } = {}) {\n    this.isMounted = true;\n\n    if (!lazy || this.runLazy) {\n      this.handleErrorOrCompleted();\n    }\n\n    this.previousOptions = this.getOptions();\n    return this.unmount.bind(this);\n  }\n\n  public cleanup() {\n    this.removeQuerySubscription();\n    delete this.currentObservable.query;\n    delete this.previousData.result;\n  }\n\n  public getOptions() {\n    const options = super.getOptions();\n\n    if (this.lazyOptions) {\n      options.variables = {\n        ...options.variables,\n        ...this.lazyOptions.variables,\n      };\n      options.context = {\n        ...options.context,\n        ...this.lazyOptions.context,\n      };\n    }\n\n    // skip is not supported when using lazy query execution.\n    if (this.runLazy) {\n      delete options.skip;\n    }\n\n    return options;\n  }\n\n  public ssrInitiated() {\n    return this.context && this.context.renderPromises;\n  }\n\n  private runLazyQuery = (options?: QueryLazyOptions<TVariables>) => {\n    this.cleanup();\n    this.runLazy = true;\n    this.lazyOptions = options;\n    this.onNewData();\n  };\n\n  private getExecuteResult = (): QueryResult<TData, TVariables> => {\n    const result = this.getQueryResult();\n    this.startQuerySubscription();\n    return result;\n  };\n\n  private getExecuteSsrResult() {\n    const ssrDisabled = this.getOptions().ssr === false;\n    const fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n\n    const ssrLoading = {\n      loading: true,\n      networkStatus: NetworkStatus.loading,\n      called: true,\n      data: undefined,\n      stale: false,\n      client: this.client,\n      ...this.observableQueryFields(),\n    } as QueryResult<TData, TVariables>;\n\n    // If SSR has been explicitly disabled, and this function has been called\n    // on the server side, return the default loading state.\n    if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n      this.previousData.result = ssrLoading;\n      return ssrLoading;\n    }\n\n    let result;\n    if (this.ssrInitiated()) {\n      result =\n        this.context.renderPromises!.addQueryPromise(\n          this,\n          this.getExecuteResult\n        ) || ssrLoading;\n    }\n\n    return result;\n  }\n\n  private prepareObservableQueryOptions() {\n    const options = this.getOptions();\n    this.verifyDocumentType(options.query, DocumentType.Query);\n    const displayName = options.displayName || 'Query';\n\n    // Set the fetchPolicy to cache-first for network-only and cache-and-network\n    // fetches for server side renders.\n    if (\n      this.ssrInitiated() &&\n      (options.fetchPolicy === 'network-only' ||\n        options.fetchPolicy === 'cache-and-network')\n    ) {\n      options.fetchPolicy = 'cache-first';\n    }\n\n    return {\n      ...options,\n      displayName,\n      context: options.context,\n      metadata: { reactComponent: { displayName } },\n    };\n  }\n\n  private initializeObservableQuery() {\n    // See if there is an existing observable that was used to fetch the same\n    // data and if so, use it instead since it will contain the proper queryId\n    // to fetch the result set. This is used during SSR.\n    if (this.ssrInitiated()) {\n      this.currentObservable.query = this.context!.renderPromises!.getSSRObservable(\n        this.getOptions()\n      );\n    }\n\n    if (!this.currentObservable.query) {\n      const observableQueryOptions = this.prepareObservableQueryOptions();\n\n      this.previousData.observableQueryOptions = {\n        ...observableQueryOptions,\n        children: null,\n      };\n      this.currentObservable.query = this.refreshClient().client.watchQuery({\n        ...observableQueryOptions,\n      });\n\n      if (this.ssrInitiated()) {\n        this.context?.renderPromises?.registerSSRObservable(\n          this.currentObservable.query,\n          observableQueryOptions\n        );\n      }\n    }\n  }\n\n  private updateObservableQuery() {\n    // If we skipped initially, we may not have yet created the observable\n    if (!this.currentObservable.query) {\n      this.initializeObservableQuery();\n      return;\n    }\n\n    const newObservableQueryOptions = {\n      ...this.prepareObservableQueryOptions(),\n      children: null,\n    };\n\n    if (\n      !isEqual(\n        newObservableQueryOptions,\n        this.previousData.observableQueryOptions\n      )\n    ) {\n      this.previousData.observableQueryOptions = newObservableQueryOptions;\n      this.currentObservable\n        .query!.setOptions(newObservableQueryOptions)\n        // The error will be passed to the child container, so we don't\n        // need to log it here. We could conceivably log something if\n        // an option was set. OTOH we don't log errors w/ the original\n        // query. See https://github.com/apollostack/react-apollo/issues/404\n        .catch(() => {});\n    }\n  }\n\n  private startQuerySubscription() {\n    if (this.currentObservable.subscription || this.getOptions().skip) return;\n\n    const obsQuery = this.currentObservable.query!;\n    this.currentObservable.subscription = obsQuery.subscribe({\n      next: ({ loading, networkStatus, data }) => {\n        const previousResult = this.previousData.result;\n\n        // Make sure we're not attempting to re-render similar results\n        if (\n          previousResult &&\n          previousResult.loading === loading &&\n          previousResult.networkStatus === networkStatus &&\n          isEqual(previousResult.data, data)\n        ) {\n          return;\n        }\n\n        this.onNewData();\n      },\n      error: (error) => {\n        this.resubscribeToQuery();\n        if (!error.hasOwnProperty('graphQLErrors')) throw error;\n\n        const previousResult = this.previousData.result;\n        if (\n          (previousResult && previousResult.loading) ||\n          !isEqual(error, this.previousData.error)\n        ) {\n          this.previousData.error = error;\n          this.onNewData();\n        }\n      },\n    });\n  }\n\n  private resubscribeToQuery() {\n    this.removeQuerySubscription();\n\n    // Unfortunately, if `lastError` is set in the current\n    // `observableQuery` when the subscription is re-created,\n    // the subscription will immediately receive the error, which will\n    // cause it to terminate again. To avoid this, we first clear\n    // the last error/result from the `observableQuery` before re-starting\n    // the subscription, and restore it afterwards (so the subscription\n    // has a chance to stay open).\n    const lastError = this.currentObservable.query!.getLastError();\n    const lastResult = this.currentObservable.query!.getLastResult();\n    this.currentObservable.query!.resetLastResults();\n    this.startQuerySubscription();\n    Object.assign(this.currentObservable.query!, {\n      lastError,\n      lastResult,\n    });\n  }\n\n  private getQueryResult(): QueryResult<TData, TVariables> {\n    let result: any = this.observableQueryFields();\n    const options = this.getOptions();\n\n    // When skipping a query (ie. we're not querying for data but still want\n    // to render children), make sure the `data` is cleared out and\n    // `loading` is set to `false` (since we aren't loading anything).\n    if (options.skip) {\n      result = {\n        ...result,\n        data: undefined,\n        error: undefined,\n        loading: false,\n        called: true,\n      };\n    } else {\n      // Fetch the current result (if any) from the store.\n      const currentResult = this.currentObservable.query!.getCurrentResult();\n      const { loading, partial, networkStatus, errors } = currentResult;\n      let { error, data } = currentResult;\n\n      // Until a set naming convention for networkError and graphQLErrors is\n      // decided upon, we map errors (graphQLErrors) to the error options.\n      if (errors && errors.length > 0) {\n        error = new ApolloError({ graphQLErrors: errors });\n      }\n\n      result = {\n        ...result,\n        loading,\n        networkStatus,\n        error,\n        called: true,\n      };\n\n      if (loading) {\n        const previousData =\n          this.previousData.result && this.previousData.result.data;\n        result.data =\n          previousData && data\n            ? {\n                ...previousData,\n                ...data,\n              }\n            : previousData || data;\n      } else if (error) {\n        Object.assign(result, {\n          data: (this.currentObservable.query!.getLastResult() || ({} as any))\n            .data,\n        });\n      } else {\n        const { fetchPolicy } = this.currentObservable.query!.options;\n        const { partialRefetch } = options;\n        if (\n          partialRefetch &&\n          !data &&\n          partial &&\n          fetchPolicy !== 'cache-only'\n        ) {\n          // When a `Query` component is mounted, and a mutation is executed\n          // that returns the same ID as the mounted `Query`, but has less\n          // fields in its result, Apollo Client's `QueryManager` returns the\n          // data as `undefined` since a hit can't be found in the cache.\n          // This can lead to application errors when the UI elements rendered by\n          // the original `Query` component are expecting certain data values to\n          // exist, and they're all of a sudden stripped away. To help avoid\n          // this we'll attempt to refetch the `Query` data.\n          Object.assign(result, {\n            loading: true,\n            networkStatus: NetworkStatus.loading,\n          });\n          result.refetch();\n          return result;\n        }\n\n        result.data = data;\n      }\n    }\n\n    result.client = this.client;\n    this.previousData.loading =\n      (this.previousData.result && this.previousData.result.loading) || false;\n    this.previousData.result = result;\n\n    // Any query errors that exist are now available in `result`, so we'll\n    // remove the original errors from the `ObservableQuery` query store to\n    // make sure they aren't re-displayed on subsequent (potentially error\n    // free) requests/responses.\n    this.currentObservable.query &&\n      this.currentObservable.query.resetQueryStoreErrors();\n\n    return result;\n  }\n\n  private handleErrorOrCompleted() {\n    const obsQuery = this.currentObservable.query;\n    if (!obsQuery || !this.previousData.result) return;\n\n    const { data, loading, error } = this.previousData.result;\n\n    if (!loading) {\n      const { query, variables, onCompleted, onError } = this.getOptions();\n\n      // No changes, so we won't call onError/onCompleted.\n      if (\n        this.previousOptions &&\n        !this.previousData.loading &&\n        isEqual(this.previousOptions.query, query) &&\n        isEqual(this.previousOptions.variables, variables)\n      ) {\n        return;\n      }\n\n      if (onCompleted && !error) {\n        onCompleted(data);\n      } else if (onError && error) {\n        onError(error);\n      }\n    }\n  }\n\n  private removeQuerySubscription() {\n    if (this.currentObservable.subscription) {\n      this.currentObservable.subscription.unsubscribe();\n      delete this.currentObservable.subscription;\n    }\n  }\n\n  private obsRefetch = (variables?: TVariables) =>\n    this.currentObservable.query!.refetch(variables);\n\n  private obsFetchMore = <K extends keyof TVariables>(\n    fetchMoreOptions: FetchMoreQueryOptions<TVariables, K> &\n      FetchMoreOptions<TData, TVariables>\n  ) => this.currentObservable.query!.fetchMore(fetchMoreOptions);\n\n  private obsUpdateQuery = <TVars = TVariables>(\n    mapFn: (\n      previousQueryResult: TData,\n      options: UpdateQueryOptions<TVars>\n    ) => TData\n  ) => this.currentObservable.query!.updateQuery(mapFn);\n\n  private obsStartPolling = (pollInterval: number) => {\n    this.currentObservable &&\n      this.currentObservable.query! &&\n      this.currentObservable.query!.startPolling(pollInterval);\n  };\n\n  private obsStopPolling = () => {\n    this.currentObservable &&\n      this.currentObservable.query! &&\n      this.currentObservable.query!.stopPolling();\n  };\n\n  private obsSubscribeToMore = <\n    TSubscriptionData = TData,\n    TSubscriptionVariables = TVariables\n  >(\n    options: SubscribeToMoreOptions<\n      TData,\n      TSubscriptionVariables,\n      TSubscriptionData\n    >\n  ) => this.currentObservable.query!.subscribeToMore(options);\n\n  private observableQueryFields() {\n    const observable = this.currentObservable.query!;\n    return {\n      variables: observable.variables,\n      refetch: this.obsRefetch,\n      fetchMore: this.obsFetchMore,\n      updateQuery: this.obsUpdateQuery,\n      startPolling: this.obsStartPolling,\n      stopPolling: this.obsStopPolling,\n      subscribeToMore: this.obsSubscribeToMore,\n    } as ObservableQueryFields<TData, TVariables>;\n  }\n}\n","import { useRef } from 'react';\nimport { equal as isEqual } from '@wry/equality';\n\n/**\n * Memoize a result using deep equality. This hook has two advantages over\n * React.useMemo: it uses deep equality to compare memo keys, and it guarantees\n * that the memo function will only be called if the keys are unequal.\n * React.useMemo cannot be relied on to do this, since it is only a performance\n * optimization (see https://reactjs.org/docs/hooks-reference.html#usememo).\n */\nexport function useDeepMemo<TKey, TValue>(\n  memoFn: () => TValue,\n  key: TKey\n): TValue {\n  const ref = useRef<{ key: TKey; value: TValue }>();\n\n  if (!ref.current || !isEqual(key, ref.current.key)) {\n    ref.current = { key, value: memoFn() };\n  }\n\n  return ref.current.value;\n}\n","import { useContext, useEffect, useReducer, useRef } from 'react';\nimport {\n  getApolloContext,\n  OperationVariables,\n  QueryResult,\n} from '@apollo/react-common';\nimport { DocumentNode } from 'graphql';\n\nimport { QueryHookOptions, QueryOptions, QueryTuple } from '../types';\nimport { QueryData } from '../data/QueryData';\nimport { useDeepMemo } from './useDeepMemo';\n\nexport function useBaseQuery<TData = any, TVariables = OperationVariables>(\n  query: DocumentNode,\n  options?: QueryHookOptions<TData, TVariables>,\n  lazy = false\n) {\n  const context = useContext(getApolloContext());\n  const [tick, forceUpdate] = useReducer((x) => x + 1, 0);\n  const updatedOptions = options ? { ...options, query } : { query };\n\n  const queryDataRef = useRef<QueryData<TData, TVariables>>();\n  const queryData =\n    queryDataRef.current ||\n    new QueryData<TData, TVariables>({\n      options: updatedOptions as QueryOptions<TData, TVariables>,\n      context,\n      onNewData() {\n        if (!queryData.ssrInitiated()) {\n          // When new data is received from the `QueryData` object, we want to\n          // force a re-render to make sure the new data is displayed. We can't\n          // force that re-render if we're already rendering however so to be\n          // safe we'll trigger the re-render in a microtask.\n          Promise.resolve().then(forceUpdate);\n        } else {\n          // If we're rendering on the server side we can force an update at\n          // any point.\n          forceUpdate();\n        }\n      },\n    });\n\n  queryData.setOptions(updatedOptions);\n  queryData.context = context;\n\n  // SSR won't trigger the effect hook below that stores the current\n  // `QueryData` instance for future renders, so we'll handle that here if\n  // the current render is happening server side.\n  if (queryData.ssrInitiated() && !queryDataRef.current) {\n    queryDataRef.current = queryData;\n  }\n\n  // `onError` and `onCompleted` callback functions will not always have a\n  // stable identity, so we'll exclude them from the memoization key to\n  // prevent `afterExecute` from being triggered un-necessarily.\n  const memo = {\n    options: { ...updatedOptions, onError: undefined, onCompleted: undefined },\n    context,\n    tick,\n  };\n\n  const result = useDeepMemo(\n    () => (lazy ? queryData.executeLazy() : queryData.execute()),\n    memo\n  );\n\n  const queryResult = lazy\n    ? (result as QueryTuple<TData, TVariables>)[1]\n    : (result as QueryResult<TData, TVariables>);\n\n  useEffect(() => {\n    // We only need one instance of the `QueryData` class, so we'll store it\n    // as a ref to make it available on subsequent renders.\n    if (!queryDataRef.current) {\n      queryDataRef.current = queryData;\n    }\n\n    return () => queryData.cleanup();\n  }, []);\n\n  useEffect(() => queryData.afterExecute({ lazy }), [\n    queryResult.loading,\n    queryResult.networkStatus,\n    queryResult.error,\n    queryResult.data,\n  ]);\n\n  return result;\n}\n","import { OperationVariables, QueryResult } from '@apollo/react-common';\nimport { DocumentNode } from 'graphql';\n\nimport { QueryHookOptions } from './types';\nimport { useBaseQuery } from './utils/useBaseQuery';\n\nexport function useQuery<TData = any, TVariables = OperationVariables>(\n  query: DocumentNode,\n  options?: QueryHookOptions<TData, TVariables>\n) {\n  return useBaseQuery<TData, TVariables>(query, options, false) as QueryResult<\n    TData,\n    TVariables\n  >;\n}\n","import { ApolloError } from 'apollo-client';\nimport { equal as isEqual } from '@wry/equality';\nimport {\n  ApolloContextValue,\n  DocumentType,\n  OperationVariables,\n  ExecutionResult,\n  MutationFunctionOptions,\n  MutationResult\n} from '@apollo/react-common';\n\nimport { MutationOptions, MutationTuple } from '../types';\nimport { OperationData } from './OperationData';\n\nexport class MutationData<\n  TData = any,\n  TVariables = OperationVariables\n> extends OperationData {\n  private mostRecentMutationId: number;\n  private result: MutationResult<TData>;\n  private previousResult?: MutationResult<TData>;\n  private setResult: (result: MutationResult<TData>) => any;\n\n  constructor({\n    options,\n    context,\n    result,\n    setResult\n  }: {\n    options: MutationOptions<TData, TVariables>;\n    context: ApolloContextValue;\n    result: MutationResult<TData>;\n    setResult: (result: MutationResult<TData>) => any;\n  }) {\n    super(options, context);\n    this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n    this.result = result;\n    this.setResult = setResult;\n    this.mostRecentMutationId = 0;\n  }\n\n  public execute(result: MutationResult<TData>) {\n    this.isMounted = true;\n    this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n    result.client = this.refreshClient().client;\n    return [this.runMutation, result] as MutationTuple<TData, TVariables>;\n  }\n\n  public afterExecute() {\n    this.isMounted = true;\n    return this.unmount.bind(this);\n  }\n\n  public cleanup() {\n    // No cleanup required.\n  }\n\n  private runMutation = (\n    mutationFunctionOptions: MutationFunctionOptions<\n      TData,\n      TVariables\n    > = {} as MutationFunctionOptions<TData, TVariables>\n  ) => {\n    this.onMutationStart();\n    const mutationId = this.generateNewMutationId();\n\n    return this.mutate(mutationFunctionOptions)\n      .then((response: ExecutionResult<TData>) => {\n        this.onMutationCompleted(response, mutationId);\n        return response;\n      })\n      .catch((error: ApolloError) => {\n        this.onMutationError(error, mutationId);\n        if (!this.getOptions().onError) throw error;\n      });\n  };\n\n  private mutate(\n    mutationFunctionOptions: MutationFunctionOptions<TData, TVariables>\n  ) {\n    const {\n      mutation,\n      variables,\n      optimisticResponse,\n      update,\n      context: mutationContext = {},\n      awaitRefetchQueries = false,\n      fetchPolicy\n    } = this.getOptions();\n    const mutateOptions = { ...mutationFunctionOptions };\n\n    const mutateVariables = Object.assign(\n      {},\n      variables,\n      mutateOptions.variables\n    );\n    delete mutateOptions.variables;\n\n    return this.refreshClient().client.mutate({\n      mutation,\n      optimisticResponse,\n      refetchQueries:\n        mutateOptions.refetchQueries || this.getOptions().refetchQueries,\n      awaitRefetchQueries,\n      update,\n      context: mutationContext,\n      fetchPolicy,\n      variables: mutateVariables,\n      ...mutateOptions\n    });\n  }\n\n  private onMutationStart() {\n    if (!this.result.loading && !this.getOptions().ignoreResults) {\n      this.updateResult({\n        loading: true,\n        error: undefined,\n        data: undefined,\n        called: true\n      });\n    }\n  }\n\n  private onMutationCompleted(\n    response: ExecutionResult<TData>,\n    mutationId: number\n  ) {\n    const { onCompleted, ignoreResults } = this.getOptions();\n\n    const { data, errors } = response;\n    const error =\n      errors && errors.length > 0\n        ? new ApolloError({ graphQLErrors: errors })\n        : undefined;\n\n    const callOncomplete = () =>\n      onCompleted ? onCompleted(data as TData) : null;\n\n    if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n      this.updateResult({\n        called: true,\n        loading: false,\n        data,\n        error\n      });\n    }\n    callOncomplete();\n  }\n\n  private onMutationError(error: ApolloError, mutationId: number) {\n    const { onError } = this.getOptions();\n\n    if (this.isMostRecentMutation(mutationId)) {\n      this.updateResult({\n        loading: false,\n        error,\n        data: undefined,\n        called: true\n      });\n    }\n\n    if (onError) {\n      onError(error);\n    }\n  }\n\n  private generateNewMutationId(): number {\n    return ++this.mostRecentMutationId;\n  }\n\n  private isMostRecentMutation(mutationId: number) {\n    return this.mostRecentMutationId === mutationId;\n  }\n\n  private updateResult(result: MutationResult<TData>) {\n    if (\n      this.isMounted &&\n      (!this.previousResult || !isEqual(this.previousResult, result))\n    ) {\n      this.setResult(result);\n      this.previousResult = result;\n    }\n  }\n}\n","import { useContext, useState, useRef, useEffect } from 'react';\nimport { getApolloContext, OperationVariables } from '@apollo/react-common';\nimport { DocumentNode } from 'graphql';\n\nimport { MutationHookOptions, MutationTuple } from './types';\nimport { MutationData } from './data/MutationData';\n\nexport function useMutation<TData = any, TVariables = OperationVariables>(\n  mutation: DocumentNode,\n  options?: MutationHookOptions<TData, TVariables>\n): MutationTuple<TData, TVariables> {\n  const context = useContext(getApolloContext());\n  const [result, setResult] = useState({ called: false, loading: false });\n  const updatedOptions = options ? { ...options, mutation } : { mutation };\n\n  const mutationDataRef = useRef<MutationData<TData, TVariables>>();\n  function getMutationDataRef() {\n    if (!mutationDataRef.current) {\n      mutationDataRef.current = new MutationData<TData, TVariables>({\n        options: updatedOptions,\n        context,\n        result,\n        setResult\n      });\n    }\n    return mutationDataRef.current;\n  }\n\n  const mutationData = getMutationDataRef();\n  mutationData.setOptions(updatedOptions);\n  mutationData.context = context;\n\n  useEffect(() => mutationData.afterExecute());\n\n  return mutationData.execute(result);\n}\n","import { equal as isEqual } from '@wry/equality';\nimport { ApolloContextValue, SubscriptionResult } from '@apollo/react-common';\n\nimport { OperationData } from './OperationData';\nimport { SubscriptionCurrentObservable, SubscriptionOptions } from '../types';\n\nexport class SubscriptionData<\n  TData = any,\n  TVariables = any\n> extends OperationData<SubscriptionOptions<TData, TVariables>> {\n  private setResult: any;\n  private currentObservable: SubscriptionCurrentObservable = {};\n\n  constructor({\n    options,\n    context,\n    setResult\n  }: {\n    options: SubscriptionOptions<TData, TVariables>;\n    context: ApolloContextValue;\n    setResult: any;\n  }) {\n    super(options, context);\n    this.setResult = setResult;\n    this.initialize(options);\n  }\n\n  public execute(result: SubscriptionResult<TData>) {\n    if (this.getOptions().skip === true) {\n      this.cleanup();\n      return {\n        loading: false,\n        error: undefined,\n        data: undefined,\n        variables: this.getOptions().variables\n      };\n    }\n\n    let currentResult = result;\n    if (this.refreshClient().isNew) {\n      currentResult = this.getLoadingResult();\n    }\n\n    let { shouldResubscribe } = this.getOptions();\n    if (typeof shouldResubscribe === 'function') {\n      shouldResubscribe = !!shouldResubscribe(this.getOptions());\n    }\n\n    if (\n      shouldResubscribe !== false &&\n      this.previousOptions &&\n      Object.keys(this.previousOptions).length > 0 &&\n      (this.previousOptions.subscription !== this.getOptions().subscription ||\n        !isEqual(this.previousOptions.variables, this.getOptions().variables) ||\n        this.previousOptions.skip !== this.getOptions().skip)\n    ) {\n      this.cleanup();\n      currentResult = this.getLoadingResult();\n    }\n\n    this.initialize(this.getOptions());\n    this.startSubscription();\n\n    this.previousOptions = this.getOptions();\n    return { ...currentResult, variables: this.getOptions().variables };\n  }\n\n  public afterExecute() {\n    this.isMounted = true;\n  }\n\n  public cleanup() {\n    this.endSubscription();\n    delete this.currentObservable.query;\n  }\n\n  private initialize(options: SubscriptionOptions<TData, TVariables>) {\n    if (this.currentObservable.query || this.getOptions().skip === true) return;\n    this.currentObservable.query = this.refreshClient().client.subscribe({\n      query: options.subscription,\n      variables: options.variables,\n      fetchPolicy: options.fetchPolicy\n    });\n  }\n\n  private startSubscription() {\n    if (this.currentObservable.subscription) return;\n    this.currentObservable.subscription = this.currentObservable.query!.subscribe(\n      {\n        next: this.updateCurrentData.bind(this),\n        error: this.updateError.bind(this),\n        complete: this.completeSubscription.bind(this)\n      }\n    );\n  }\n\n  private getLoadingResult() {\n    return {\n      loading: true,\n      error: undefined,\n      data: undefined\n    };\n  }\n\n  private updateResult(result: SubscriptionResult) {\n    if (this.isMounted) {\n      this.setResult(result);\n    }\n  }\n\n  private updateCurrentData(result: SubscriptionResult<TData>) {\n    const { onSubscriptionData } = this.getOptions();\n\n    this.updateResult({\n      data: result.data,\n      loading: false,\n      error: undefined\n    });\n\n    if (onSubscriptionData) {\n      onSubscriptionData({\n        client: this.refreshClient().client,\n        subscriptionData: result\n      });\n    }\n  }\n\n  private updateError(error: any) {\n    this.updateResult({\n      error,\n      loading: false\n    });\n  }\n\n  private completeSubscription() {\n    const { onSubscriptionComplete } = this.getOptions();\n    if (onSubscriptionComplete) onSubscriptionComplete();\n    this.endSubscription();\n  }\n\n  private endSubscription() {\n    if (this.currentObservable.subscription) {\n      this.currentObservable.subscription.unsubscribe();\n      delete this.currentObservable.subscription;\n    }\n  }\n}\n","import { useContext, useState, useRef, useEffect } from 'react';\nimport { DocumentNode } from 'graphql';\nimport { getApolloContext, OperationVariables } from '@apollo/react-common';\n\nimport { SubscriptionHookOptions } from './types';\nimport { SubscriptionData } from './data/SubscriptionData';\n\nexport function useSubscription<TData = any, TVariables = OperationVariables>(\n  subscription: DocumentNode,\n  options?: SubscriptionHookOptions<TData, TVariables>\n) {\n  const context = useContext(getApolloContext());\n  const updatedOptions = options\n    ? { ...options, subscription }\n    : { subscription };\n  const [result, setResult] = useState({\n    loading: !updatedOptions.skip,\n    error: undefined,\n    data: undefined\n  });\n\n  const subscriptionDataRef = useRef<SubscriptionData<TData, TVariables>>();\n  function getSubscriptionDataRef() {\n    if (!subscriptionDataRef.current) {\n      subscriptionDataRef.current = new SubscriptionData<TData, TVariables>({\n        options: updatedOptions,\n        context,\n        setResult\n      });\n    }\n    return subscriptionDataRef.current;\n  }\n\n  const subscriptionData = getSubscriptionDataRef();\n  subscriptionData.setOptions(updatedOptions, true);\n  subscriptionData.context = context;\n\n  useEffect(() => subscriptionData.afterExecute());\n  useEffect(() => subscriptionData.cleanup.bind(subscriptionData), []);\n\n  return subscriptionData.execute(result);\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","import { OperationVariables } from '@apollo/react-common';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\n\nimport { QueryComponentOptions } from './types';\n\nexport function Query<TData = any, TVariables = OperationVariables>(\n  props: QueryComponentOptions<TData, TVariables>\n) {\n  const { children, query, ...options } = props;\n  const result = useQuery(query, options);\n  return children && result ? children(result) : null;\n}\n\nexport namespace Query {\n  export const propTypes = {\n    client: PropTypes.object,\n    children: PropTypes.func.isRequired,\n    fetchPolicy: PropTypes.string,\n    notifyOnNetworkStatusChange: PropTypes.bool,\n    onCompleted: PropTypes.func,\n    onError: PropTypes.func,\n    pollInterval: PropTypes.number,\n    query: PropTypes.object.isRequired,\n    variables: PropTypes.object,\n    ssr: PropTypes.bool,\n    partialRefetch: PropTypes.bool,\n    returnPartialData: PropTypes.bool\n  };\n}\n","import { OperationVariables } from '@apollo/react-common';\nimport { useMutation } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\n\nimport { MutationComponentOptions } from './types';\n\nexport function Mutation<TData = any, TVariables = OperationVariables>(\n  props: MutationComponentOptions<TData, TVariables>\n) {\n  const [runMutation, result] = useMutation(props.mutation, props);\n  return props.children ? props.children(runMutation, result) : null;\n}\n\nexport namespace Mutation {\n  export const propTypes = {\n    mutation: PropTypes.object.isRequired,\n    variables: PropTypes.object,\n    optimisticResponse: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    refetchQueries: PropTypes.oneOfType([\n      PropTypes.arrayOf(\n        PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n      ),\n      PropTypes.func\n    ]),\n    awaitRefetchQueries: PropTypes.bool,\n    update: PropTypes.func,\n    children: PropTypes.func.isRequired,\n    onCompleted: PropTypes.func,\n    onError: PropTypes.func,\n    fetchPolicy: PropTypes.string\n  };\n}\n","import { OperationVariables } from '@apollo/react-common';\nimport { useSubscription } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\n\nimport { SubscriptionComponentOptions } from './types';\n\nexport function Subscription<TData = any, TVariables = OperationVariables>(\n  props: SubscriptionComponentOptions<TData, TVariables>\n) {\n  const result = useSubscription(props.subscription, props);\n  return props.children && result ? props.children(result) : null;\n}\n\nexport namespace Subscription {\n  export const propTypes = {\n    subscription: PropTypes.object.isRequired,\n    variables: PropTypes.object,\n    children: PropTypes.func,\n    onSubscriptionData: PropTypes.func,\n    onSubscriptionComplete: PropTypes.func,\n    shouldResubscribe: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n  };\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n  childContextTypes: true,\n  contextType: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDefaultProps: true,\n  getDerivedStateFromError: true,\n  getDerivedStateFromProps: true,\n  mixins: true,\n  propTypes: true,\n  type: true\n};\nvar KNOWN_STATICS = {\n  name: true,\n  length: true,\n  prototype: true,\n  caller: true,\n  callee: true,\n  arguments: true,\n  arity: true\n};\nvar FORWARD_REF_STATICS = {\n  '$$typeof': true,\n  render: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true\n};\nvar MEMO_STATICS = {\n  '$$typeof': true,\n  compare: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true,\n  type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n  // React v16.11 and below\n  if (reactIs.isMemo(component)) {\n    return MEMO_STATICS;\n  } // React v16.12 and above\n\n\n  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n    if (objectPrototype) {\n      var inheritedComponent = getPrototypeOf(sourceComponent);\n\n      if (inheritedComponent && inheritedComponent !== objectPrototype) {\n        hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n      }\n    }\n\n    var keys = getOwnPropertyNames(sourceComponent);\n\n    if (getOwnPropertySymbols) {\n      keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n    }\n\n    var targetStatics = getStatics(targetComponent);\n    var sourceStatics = getStatics(sourceComponent);\n\n    for (var i = 0; i < keys.length; ++i) {\n      var key = keys[i];\n\n      if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n        var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        try {\n          // Avoid failures from read-only properties\n          defineProperty(targetComponent, key, descriptor);\n        } catch (e) {}\n      }\n    }\n  }\n\n  return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import React from 'react';\nimport { invariant } from 'ts-invariant';\nimport { IDocumentDefinition, OperationVariables } from '@apollo/react-common';\n\nexport const defaultMapPropsToOptions = () => ({});\nexport const defaultMapResultToProps: <P>(props: P) => P = props => props;\nexport const defaultMapPropsToSkip = () => false;\n\nexport function getDisplayName<P>(WrappedComponent: React.ComponentType<P>) {\n  return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nexport function calculateVariablesFromProps<TProps>(\n  operation: IDocumentDefinition,\n  props: TProps\n) {\n  let variables: OperationVariables = {};\n  for (let { variable, type } of operation.variables) {\n    if (!variable.name || !variable.name.value) continue;\n\n    const variableName = variable.name.value;\n    const variableProp = (props as any)[variableName];\n\n    if (typeof variableProp !== 'undefined') {\n      variables[variableName] = variableProp;\n      continue;\n    }\n\n    // Allow optional props\n    if (type.kind !== 'NonNullType') {\n      variables[variableName] = undefined;\n    }\n  }\n  return variables;\n}\n\nexport type RefSetter<TChildProps> = (\n  ref: React.ComponentClass<TChildProps>\n) => void | void;\n\n// base class for hocs to easily manage refs\nexport class GraphQLBase<\n  TProps,\n  TChildProps,\n  TState = any\n  > extends React.Component<TProps, TState> {\n  public withRef: boolean = false;\n  // wrapped instance\n  private wrappedInstance?: React.ComponentClass<TChildProps>;\n\n  constructor(props: TProps) {\n    super(props);\n    this.setWrappedInstance = this.setWrappedInstance.bind(this);\n  }\n\n  getWrappedInstance() {\n    invariant(\n      this.withRef,\n      `To access the wrapped instance, you need to specify ` +\n      `{ withRef: true } in the options`\n    );\n\n    return this.wrappedInstance;\n  }\n\n  setWrappedInstance(ref: React.ComponentClass<TChildProps>) {\n    this.wrappedInstance = ref;\n  }\n}\n","import React from 'react';\nimport { DocumentNode } from 'graphql';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { parser, BaseQueryOptions } from '@apollo/react-common';\nimport { Query } from '@apollo/react-components';\n\nimport {\n  getDisplayName,\n  GraphQLBase,\n  calculateVariablesFromProps,\n  defaultMapPropsToOptions,\n  defaultMapPropsToSkip\n} from './hoc-utils';\nimport { OperationOption, OptionProps, DataProps } from './types';\n\nexport function withQuery<\n  TProps extends TGraphQLVariables | {} = {},\n  TData = {},\n  TGraphQLVariables = {},\n  TChildProps = DataProps<TData, TGraphQLVariables>\n>(\n  document: DocumentNode,\n  operationOptions: OperationOption<\n    TProps,\n    TData,\n    TGraphQLVariables,\n    TChildProps\n  > = {}\n) {\n  // this is memoized so if coming from `graphql` there is nearly no extra cost\n  const operation = parser(document);\n  // extract options\n  const {\n    options = defaultMapPropsToOptions,\n    skip = defaultMapPropsToSkip,\n    alias = 'Apollo'\n  } = operationOptions;\n\n  let mapPropsToOptions = options as (props: any) => BaseQueryOptions;\n  if (typeof mapPropsToOptions !== 'function') {\n    mapPropsToOptions = () => options as BaseQueryOptions;\n  }\n\n  let mapPropsToSkip = skip as (props: any) => boolean;\n  if (typeof mapPropsToSkip !== 'function') {\n    mapPropsToSkip = () => skip as any;\n  }\n\n  // allow for advanced referential equality checks\n  let lastResultProps: TChildProps | void;\n  return (\n    WrappedComponent: React.ComponentType<TProps & TChildProps>\n  ): React.ComponentClass<TProps> => {\n    const graphQLDisplayName = `${alias}(${getDisplayName(WrappedComponent)})`;\n    class GraphQL extends GraphQLBase<TProps, TChildProps> {\n      static displayName = graphQLDisplayName;\n      static WrappedComponent = WrappedComponent;\n\n      render() {\n        let props = this.props;\n        const shouldSkip = mapPropsToSkip(props);\n        const opts = shouldSkip\n          ? Object.create(null)\n          : { ...mapPropsToOptions(props) };\n\n        if (!shouldSkip && !opts.variables && operation.variables.length > 0) {\n          opts.variables = calculateVariablesFromProps(operation, props);\n        }\n\n        return (\n          <Query\n            {...opts}\n            displayName={graphQLDisplayName}\n            skip={shouldSkip}\n            query={document}\n          >\n            {({ client: _, data, ...r }: any) => {\n              if (operationOptions.withRef) {\n                this.withRef = true;\n                props = Object.assign({}, props, {\n                  ref: this.setWrappedInstance\n                });\n              }\n\n              // if we have skipped, no reason to manage any reshaping\n              if (shouldSkip) {\n                return (\n                  <WrappedComponent\n                    {...props as TProps}\n                    {...{} as TChildProps}\n                  />\n                );\n              }\n\n              // the HOC's historically hoisted the data from the execution result\n              // up onto the result since it was passed as a nested prop\n              // we massage the Query components shape here to replicate that\n              const result = Object.assign(r, data || {});\n              const name = operationOptions.name || 'data';\n              let childProps = { [name]: result };\n              if (operationOptions.props) {\n                const newResult: OptionProps<\n                  TProps,\n                  TData,\n                  TGraphQLVariables\n                > = {\n                  [name]: result,\n                  ownProps: props as TProps\n                };\n                lastResultProps = operationOptions.props(\n                  newResult,\n                  lastResultProps\n                );\n                childProps = lastResultProps;\n              }\n\n              return (\n                <WrappedComponent\n                  {...props as TProps}\n                  {...childProps as TChildProps}\n                />\n              );\n            }}\n          </Query>\n        );\n      }\n    }\n\n    // Make sure we preserve any custom statics on the original component.\n    return hoistNonReactStatics(GraphQL, WrappedComponent, {});\n  };\n}\n","import gql from 'graphql-tag';\nimport * as React from 'react';\nimport * as ApolloReactCommon from '@apollo/react-common';\nimport * as ApolloReactComponents from '@apollo/react-components';\nimport * as ApolloReactHoc from '@apollo/react-hoc';\nexport type Maybe<T> = T | null;\nexport type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n  ID: string,\n  String: string,\n  Boolean: boolean,\n  Int: number,\n  Float: number,\n  Upload: any,\n};\n\n\n\n\n\n\n\nexport type About = {\n   __typename?: 'About',\n  name?: Maybe<Scalars['String']>,\n  git?: Maybe<Git>,\n};\n\nexport enum CacheControlScope {\n  Public = 'PUBLIC',\n  Private = 'PRIVATE'\n}\n\nexport type FirebaseUser = {\n   __typename?: 'FirebaseUser',\n  uid: Scalars['String'],\n  email?: Maybe<Scalars['String']>,\n  photoURL?: Maybe<Scalars['String']>,\n  permissions?: Maybe<Permissions>,\n};\n\nexport type Git = {\n   __typename?: 'Git',\n  sha?: Maybe<Scalars['String']>,\n  url?: Maybe<Scalars['String']>,\n};\n\nexport type Permissions = {\n   __typename?: 'Permissions',\n  uid: Scalars['String'],\n};\n\nexport type Query = {\n   __typename?: 'Query',\n  me?: Maybe<FirebaseUser>,\n  userById?: Maybe<FirebaseUser>,\n  userByEmail?: Maybe<FirebaseUser>,\n  about?: Maybe<About>,\n};\n\n\nexport type QueryUserByIdArgs = {\n  id: Scalars['String']\n};\n\n\nexport type QueryUserByEmailArgs = {\n  email: Scalars['String']\n};\n\n\nexport type AboutQueryVariables = {};\n\n\nexport type AboutQuery = (\n  { __typename?: 'Query' }\n  & { about: Maybe<(\n    { __typename?: 'About' }\n    & { git: Maybe<(\n      { __typename?: 'Git' }\n      & Pick<Git, 'url' | 'sha'>\n    )> }\n  )> }\n);\n\n\nexport const AboutDocument = gql`\n    query About {\n  about {\n    git {\n      url\n      sha\n    }\n  }\n}\n    `;\nexport type AboutComponentProps = Omit<ApolloReactComponents.QueryComponentOptions<AboutQuery, AboutQueryVariables>, 'query'>;\n\n    export const AboutComponent = (props: AboutComponentProps) => (\n      <ApolloReactComponents.Query<AboutQuery, AboutQueryVariables> query={AboutDocument} {...props} />\n    );\n    \nexport type AboutProps<TChildProps = {}> = ApolloReactHoc.DataProps<AboutQuery, AboutQueryVariables> & TChildProps;\nexport function withAbout<TProps, TChildProps = {}>(operationOptions?: ApolloReactHoc.OperationOption<\n  TProps,\n  AboutQuery,\n  AboutQueryVariables,\n  AboutProps<TChildProps>>) {\n    return ApolloReactHoc.withQuery<TProps, AboutQuery, AboutQueryVariables, AboutProps<TChildProps>>(AboutDocument, {\n      alias: 'about',\n      ...operationOptions\n    });\n};\nexport type AboutQueryResult = ApolloReactCommon.QueryResult<AboutQuery, AboutQueryVariables>;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Observable = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n  return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n  return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n  return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n  Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n  var value = obj[key];\n  if (value == null) return undefined;\n  if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n  return value;\n}\n\nfunction getSpecies(obj) {\n  var ctor = obj.constructor;\n\n  if (ctor !== undefined) {\n    ctor = ctor[SymbolSpecies];\n\n    if (ctor === null) {\n      ctor = undefined;\n    }\n  }\n\n  return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n  return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n  if (hostReportError.log) {\n    hostReportError.log(e);\n  } else {\n    setTimeout(function () {\n      throw e;\n    });\n  }\n}\n\nfunction enqueue(fn) {\n  Promise.resolve().then(function () {\n    try {\n      fn();\n    } catch (e) {\n      hostReportError(e);\n    }\n  });\n}\n\nfunction cleanupSubscription(subscription) {\n  var cleanup = subscription._cleanup;\n  if (cleanup === undefined) return;\n  subscription._cleanup = undefined;\n\n  if (!cleanup) {\n    return;\n  }\n\n  try {\n    if (typeof cleanup === 'function') {\n      cleanup();\n    } else {\n      var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n      if (unsubscribe) {\n        unsubscribe.call(cleanup);\n      }\n    }\n  } catch (e) {\n    hostReportError(e);\n  }\n}\n\nfunction closeSubscription(subscription) {\n  subscription._observer = undefined;\n  subscription._queue = undefined;\n  subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n  var queue = subscription._queue;\n\n  if (!queue) {\n    return;\n  }\n\n  subscription._queue = undefined;\n  subscription._state = 'ready';\n\n  for (var i = 0; i < queue.length; ++i) {\n    notifySubscription(subscription, queue[i].type, queue[i].value);\n    if (subscription._state === 'closed') break;\n  }\n}\n\nfunction notifySubscription(subscription, type, value) {\n  subscription._state = 'running';\n  var observer = subscription._observer;\n\n  try {\n    var m = getMethod(observer, type);\n\n    switch (type) {\n      case 'next':\n        if (m) m.call(observer, value);\n        break;\n\n      case 'error':\n        closeSubscription(subscription);\n        if (m) m.call(observer, value);else throw value;\n        break;\n\n      case 'complete':\n        closeSubscription(subscription);\n        if (m) m.call(observer);\n        break;\n    }\n  } catch (e) {\n    hostReportError(e);\n  }\n\n  if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n  if (subscription._state === 'closed') return;\n\n  if (subscription._state === 'buffering') {\n    subscription._queue.push({\n      type: type,\n      value: value\n    });\n\n    return;\n  }\n\n  if (subscription._state !== 'ready') {\n    subscription._state = 'buffering';\n    subscription._queue = [{\n      type: type,\n      value: value\n    }];\n    enqueue(function () {\n      return flushSubscription(subscription);\n    });\n    return;\n  }\n\n  notifySubscription(subscription, type, value);\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n  function Subscription(observer, subscriber) {\n    _classCallCheck(this, Subscription);\n\n    // ASSERT: observer is an object\n    // ASSERT: subscriber is callable\n    this._cleanup = undefined;\n    this._observer = observer;\n    this._queue = undefined;\n    this._state = 'initializing';\n    var subscriptionObserver = new SubscriptionObserver(this);\n\n    try {\n      this._cleanup = subscriber.call(undefined, subscriptionObserver);\n    } catch (e) {\n      subscriptionObserver.error(e);\n    }\n\n    if (this._state === 'initializing') this._state = 'ready';\n  }\n\n  _createClass(Subscription, [{\n    key: \"unsubscribe\",\n    value: function unsubscribe() {\n      if (this._state !== 'closed') {\n        closeSubscription(this);\n        cleanupSubscription(this);\n      }\n    }\n  }, {\n    key: \"closed\",\n    get: function () {\n      return this._state === 'closed';\n    }\n  }]);\n\n  return Subscription;\n}();\n\nvar SubscriptionObserver =\n/*#__PURE__*/\nfunction () {\n  function SubscriptionObserver(subscription) {\n    _classCallCheck(this, SubscriptionObserver);\n\n    this._subscription = subscription;\n  }\n\n  _createClass(SubscriptionObserver, [{\n    key: \"next\",\n    value: function next(value) {\n      onNotify(this._subscription, 'next', value);\n    }\n  }, {\n    key: \"error\",\n    value: function error(value) {\n      onNotify(this._subscription, 'error', value);\n    }\n  }, {\n    key: \"complete\",\n    value: function complete() {\n      onNotify(this._subscription, 'complete');\n    }\n  }, {\n    key: \"closed\",\n    get: function () {\n      return this._subscription._state === 'closed';\n    }\n  }]);\n\n  return SubscriptionObserver;\n}();\n\nvar Observable =\n/*#__PURE__*/\nfunction () {\n  function Observable(subscriber) {\n    _classCallCheck(this, Observable);\n\n    if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n    if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n    this._subscriber = subscriber;\n  }\n\n  _createClass(Observable, [{\n    key: \"subscribe\",\n    value: function subscribe(observer) {\n      if (typeof observer !== 'object' || observer === null) {\n        observer = {\n          next: observer,\n          error: arguments[1],\n          complete: arguments[2]\n        };\n      }\n\n      return new Subscription(observer, this._subscriber);\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(fn) {\n      var _this = this;\n\n      return new Promise(function (resolve, reject) {\n        if (typeof fn !== 'function') {\n          reject(new TypeError(fn + ' is not a function'));\n          return;\n        }\n\n        function done() {\n          subscription.unsubscribe();\n          resolve();\n        }\n\n        var subscription = _this.subscribe({\n          next: function (value) {\n            try {\n              fn(value, done);\n            } catch (e) {\n              reject(e);\n              subscription.unsubscribe();\n            }\n          },\n          error: reject,\n          complete: resolve\n        });\n      });\n    }\n  }, {\n    key: \"map\",\n    value: function map(fn) {\n      var _this2 = this;\n\n      if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n      var C = getSpecies(this);\n      return new C(function (observer) {\n        return _this2.subscribe({\n          next: function (value) {\n            try {\n              value = fn(value);\n            } catch (e) {\n              return observer.error(e);\n            }\n\n            observer.next(value);\n          },\n          error: function (e) {\n            observer.error(e);\n          },\n          complete: function () {\n            observer.complete();\n          }\n        });\n      });\n    }\n  }, {\n    key: \"filter\",\n    value: function filter(fn) {\n      var _this3 = this;\n\n      if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n      var C = getSpecies(this);\n      return new C(function (observer) {\n        return _this3.subscribe({\n          next: function (value) {\n            try {\n              if (!fn(value)) return;\n            } catch (e) {\n              return observer.error(e);\n            }\n\n            observer.next(value);\n          },\n          error: function (e) {\n            observer.error(e);\n          },\n          complete: function () {\n            observer.complete();\n          }\n        });\n      });\n    }\n  }, {\n    key: \"reduce\",\n    value: function reduce(fn) {\n      var _this4 = this;\n\n      if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n      var C = getSpecies(this);\n      var hasSeed = arguments.length > 1;\n      var hasValue = false;\n      var seed = arguments[1];\n      var acc = seed;\n      return new C(function (observer) {\n        return _this4.subscribe({\n          next: function (value) {\n            var first = !hasValue;\n            hasValue = true;\n\n            if (!first || hasSeed) {\n              try {\n                acc = fn(acc, value);\n              } catch (e) {\n                return observer.error(e);\n              }\n            } else {\n              acc = value;\n            }\n          },\n          error: function (e) {\n            observer.error(e);\n          },\n          complete: function () {\n            if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n            observer.next(acc);\n            observer.complete();\n          }\n        });\n      });\n    }\n  }, {\n    key: \"concat\",\n    value: function concat() {\n      var _this5 = this;\n\n      for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n        sources[_key] = arguments[_key];\n      }\n\n      var C = getSpecies(this);\n      return new C(function (observer) {\n        var subscription;\n        var index = 0;\n\n        function startNext(next) {\n          subscription = next.subscribe({\n            next: function (v) {\n              observer.next(v);\n            },\n            error: function (e) {\n              observer.error(e);\n            },\n            complete: function () {\n              if (index === sources.length) {\n                subscription = undefined;\n                observer.complete();\n              } else {\n                startNext(C.from(sources[index++]));\n              }\n            }\n          });\n        }\n\n        startNext(_this5);\n        return function () {\n          if (subscription) {\n            subscription.unsubscribe();\n            subscription = undefined;\n          }\n        };\n      });\n    }\n  }, {\n    key: \"flatMap\",\n    value: function flatMap(fn) {\n      var _this6 = this;\n\n      if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n      var C = getSpecies(this);\n      return new C(function (observer) {\n        var subscriptions = [];\n\n        var outer = _this6.subscribe({\n          next: function (value) {\n            if (fn) {\n              try {\n                value = fn(value);\n              } catch (e) {\n                return observer.error(e);\n              }\n            }\n\n            var inner = C.from(value).subscribe({\n              next: function (value) {\n                observer.next(value);\n              },\n              error: function (e) {\n                observer.error(e);\n              },\n              complete: function () {\n                var i = subscriptions.indexOf(inner);\n                if (i >= 0) subscriptions.splice(i, 1);\n                completeIfDone();\n              }\n            });\n            subscriptions.push(inner);\n          },\n          error: function (e) {\n            observer.error(e);\n          },\n          complete: function () {\n            completeIfDone();\n          }\n        });\n\n        function completeIfDone() {\n          if (outer.closed && subscriptions.length === 0) observer.complete();\n        }\n\n        return function () {\n          subscriptions.forEach(function (s) {\n            return s.unsubscribe();\n          });\n          outer.unsubscribe();\n        };\n      });\n    }\n  }, {\n    key: SymbolObservable,\n    value: function () {\n      return this;\n    }\n  }], [{\n    key: \"from\",\n    value: function from(x) {\n      var C = typeof this === 'function' ? this : Observable;\n      if (x == null) throw new TypeError(x + ' is not an object');\n      var method = getMethod(x, SymbolObservable);\n\n      if (method) {\n        var observable = method.call(x);\n        if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n        if (isObservable(observable) && observable.constructor === C) return observable;\n        return new C(function (observer) {\n          return observable.subscribe(observer);\n        });\n      }\n\n      if (hasSymbol('iterator')) {\n        method = getMethod(x, SymbolIterator);\n\n        if (method) {\n          return new C(function (observer) {\n            enqueue(function () {\n              if (observer.closed) return;\n              var _iteratorNormalCompletion = true;\n              var _didIteratorError = false;\n              var _iteratorError = undefined;\n\n              try {\n                for (var _iterator = method.call(x)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n                  var _item = _step.value;\n                  observer.next(_item);\n                  if (observer.closed) return;\n                }\n              } catch (err) {\n                _didIteratorError = true;\n                _iteratorError = err;\n              } finally {\n                try {\n                  if (!_iteratorNormalCompletion && _iterator.return != null) {\n                    _iterator.return();\n                  }\n                } finally {\n                  if (_didIteratorError) {\n                    throw _iteratorError;\n                  }\n                }\n              }\n\n              observer.complete();\n            });\n          });\n        }\n      }\n\n      if (Array.isArray(x)) {\n        return new C(function (observer) {\n          enqueue(function () {\n            if (observer.closed) return;\n\n            for (var i = 0; i < x.length; ++i) {\n              observer.next(x[i]);\n              if (observer.closed) return;\n            }\n\n            observer.complete();\n          });\n        });\n      }\n\n      throw new TypeError(x + ' is not observable');\n    }\n  }, {\n    key: \"of\",\n    value: function of() {\n      for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        items[_key2] = arguments[_key2];\n      }\n\n      var C = typeof this === 'function' ? this : Observable;\n      return new C(function (observer) {\n        enqueue(function () {\n          if (observer.closed) return;\n\n          for (var i = 0; i < items.length; ++i) {\n            observer.next(items[i]);\n            if (observer.closed) return;\n          }\n\n          observer.complete();\n        });\n      });\n    }\n  }, {\n    key: SymbolSpecies,\n    get: function () {\n      return this;\n    }\n  }]);\n\n  return Observable;\n}();\n\nexports.Observable = Observable;\n\nif (hasSymbols()) {\n  Object.defineProperty(Observable, Symbol('extensions'), {\n    value: {\n      symbol: SymbolObservable,\n      hostReportError: hostReportError\n    },\n    configurable: true\n  });\n}","module.exports = require('./lib/Observable.js').Observable;\n","/* tslint:disable */\n\nimport zenObservable from 'zen-observable';\n\nnamespace Observable {\n\n}\n\nimport { ZenObservable } from './types';\n\nexport { ZenObservable };\n\nexport type Observer<T> = ZenObservable.Observer<T>;\nexport type Subscriber<T> = ZenObservable.Subscriber<T>;\nexport type ObservableLike<T> = ZenObservable.ObservableLike<T>;\n\nexport const Observable: {\n  new <T>(subscriber: Subscriber<T>): Observable<T>;\n  from<R>(\n    observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>,\n  ): Observable<R>;\n  of<R>(...args: Array<R>): Observable<R>;\n} = <any>zenObservable;\n\nexport interface Observable<T> {\n  subscribe(\n    observerOrNext: ((value: T) => void) | ZenObservable.Observer<T>,\n    error?: (error: any) => void,\n    complete?: () => void,\n  ): ZenObservable.Subscription;\n\n  forEach(fn: (value: T) => void): Promise<void>;\n\n  map<R>(fn: (value: T) => R): Observable<R>;\n\n  filter(fn: (value: T) => boolean): Observable<T>;\n\n  reduce<R = T>(\n    fn: (previousValue: R | T, currentValue: T) => R | T,\n    initialValue?: R | T,\n  ): Observable<R | T>;\n\n  flatMap<R>(fn: (value: T) => ZenObservable.ObservableLike<R>): Observable<R>;\n\n  from<R>(\n    observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>,\n  ): Observable<R>;\n  of<R>(...args: Array<R>): Observable<R>;\n}\n","import Observable from 'zen-observable-ts';\n\nimport { GraphQLRequest, Operation } from './types';\nimport { ApolloLink } from './link';\n\nimport { getOperationName } from 'apollo-utilities';\nimport { invariant, InvariantError } from 'ts-invariant';\nexport { getOperationName };\n\nexport function validateOperation(operation: GraphQLRequest): GraphQLRequest {\n  const OPERATION_FIELDS = [\n    'query',\n    'operationName',\n    'variables',\n    'extensions',\n    'context',\n  ];\n  for (let key of Object.keys(operation)) {\n    if (OPERATION_FIELDS.indexOf(key) < 0) {\n      throw new InvariantError(`illegal argument: ${key}`);\n    }\n  }\n\n  return operation;\n}\n\nexport class LinkError extends Error {\n  public link: ApolloLink;\n  constructor(message?: string, link?: ApolloLink) {\n    super(message);\n    this.link = link;\n  }\n}\n\nexport function isTerminating(link: ApolloLink): boolean {\n  return link.request.length <= 1;\n}\n\nexport function toPromise<R>(observable: Observable<R>): Promise<R> {\n  let completed = false;\n  return new Promise<R>((resolve, reject) => {\n    observable.subscribe({\n      next: data => {\n        if (completed) {\n          invariant.warn(\n            `Promise Wrapper does not support multiple results from Observable`,\n          );\n        } else {\n          completed = true;\n          resolve(data);\n        }\n      },\n      error: reject,\n    });\n  });\n}\n\n// backwards compat\nexport const makePromise = toPromise;\n\nexport function fromPromise<T>(promise: Promise<T>): Observable<T> {\n  return new Observable<T>(observer => {\n    promise\n      .then((value: T) => {\n        observer.next(value);\n        observer.complete();\n      })\n      .catch(observer.error.bind(observer));\n  });\n}\n\nexport function fromError<T>(errorValue: any): Observable<T> {\n  return new Observable<T>(observer => {\n    observer.error(errorValue);\n  });\n}\n\nexport function transformOperation(operation: GraphQLRequest): GraphQLRequest {\n  const transformedOperation: GraphQLRequest = {\n    variables: operation.variables || {},\n    extensions: operation.extensions || {},\n    operationName: operation.operationName,\n    query: operation.query,\n  };\n\n  // best guess at an operation name\n  if (!transformedOperation.operationName) {\n    transformedOperation.operationName =\n      typeof transformedOperation.query !== 'string'\n        ? getOperationName(transformedOperation.query)\n        : '';\n  }\n\n  return transformedOperation as Operation;\n}\n\nexport function createOperation(\n  starting: any,\n  operation: GraphQLRequest,\n): Operation {\n  let context = { ...starting };\n  const setContext = next => {\n    if (typeof next === 'function') {\n      context = { ...context, ...next(context) };\n    } else {\n      context = { ...context, ...next };\n    }\n  };\n  const getContext = () => ({ ...context });\n\n  Object.defineProperty(operation, 'setContext', {\n    enumerable: false,\n    value: setContext,\n  });\n\n  Object.defineProperty(operation, 'getContext', {\n    enumerable: false,\n    value: getContext,\n  });\n\n  Object.defineProperty(operation, 'toKey', {\n    enumerable: false,\n    value: () => getKey(operation),\n  });\n\n  return operation as Operation;\n}\n\nexport function getKey(operation: GraphQLRequest) {\n  // XXX We're assuming here that query and variables will be serialized in\n  // the same order, which might not always be true.\n  const { query, variables, operationName } = operation;\n  return JSON.stringify([operationName, query, variables]);\n}\n","import Observable from 'zen-observable-ts';\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport {\n  GraphQLRequest,\n  NextLink,\n  Operation,\n  RequestHandler,\n  FetchResult,\n} from './types';\n\nimport {\n  validateOperation,\n  isTerminating,\n  LinkError,\n  transformOperation,\n  createOperation,\n} from './linkUtils';\n\nfunction passthrough(op, forward) {\n  return forward ? forward(op) : Observable.of();\n}\n\nfunction toLink(handler: RequestHandler | ApolloLink) {\n  return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\n\nexport function empty(): ApolloLink {\n  return new ApolloLink(() => Observable.of());\n}\n\nexport function from(links: ApolloLink[]): ApolloLink {\n  if (links.length === 0) return empty();\n  return links.map(toLink).reduce((x, y) => x.concat(y));\n}\n\nexport function split(\n  test: (op: Operation) => boolean,\n  left: ApolloLink | RequestHandler,\n  right?: ApolloLink | RequestHandler,\n): ApolloLink {\n  const leftLink = toLink(left);\n  const rightLink = toLink(right || new ApolloLink(passthrough));\n\n  if (isTerminating(leftLink) && isTerminating(rightLink)) {\n    return new ApolloLink(operation => {\n      return test(operation)\n        ? leftLink.request(operation) || Observable.of()\n        : rightLink.request(operation) || Observable.of();\n    });\n  } else {\n    return new ApolloLink((operation, forward) => {\n      return test(operation)\n        ? leftLink.request(operation, forward) || Observable.of()\n        : rightLink.request(operation, forward) || Observable.of();\n    });\n  }\n}\n\n// join two Links together\nexport const concat = (\n  first: ApolloLink | RequestHandler,\n  second: ApolloLink | RequestHandler,\n) => {\n  const firstLink = toLink(first);\n  if (isTerminating(firstLink)) {\n    invariant.warn(\n      new LinkError(\n        `You are calling concat on a terminating link, which will have no effect`,\n        firstLink,\n      ),\n    );\n    return firstLink;\n  }\n  const nextLink = toLink(second);\n\n  if (isTerminating(nextLink)) {\n    return new ApolloLink(\n      operation =>\n        firstLink.request(\n          operation,\n          op => nextLink.request(op) || Observable.of(),\n        ) || Observable.of(),\n    );\n  } else {\n    return new ApolloLink((operation, forward) => {\n      return (\n        firstLink.request(operation, op => {\n          return nextLink.request(op, forward) || Observable.of();\n        }) || Observable.of()\n      );\n    });\n  }\n};\n\nexport class ApolloLink {\n  public static empty = empty;\n  public static from = from;\n  public static split = split;\n  public static execute = execute;\n\n  constructor(request?: RequestHandler) {\n    if (request) this.request = request;\n  }\n\n  public split(\n    test: (op: Operation) => boolean,\n    left: ApolloLink | RequestHandler,\n    right?: ApolloLink | RequestHandler,\n  ): ApolloLink {\n    return this.concat(split(test, left, right || new ApolloLink(passthrough)));\n  }\n\n  public concat(next: ApolloLink | RequestHandler): ApolloLink {\n    return concat(this, next);\n  }\n\n  public request(\n    operation: Operation,\n    forward?: NextLink,\n  ): Observable<FetchResult> | null {\n    throw new InvariantError('request is not implemented');\n  }\n}\n\nexport function execute(\n  link: ApolloLink,\n  operation: GraphQLRequest,\n): Observable<FetchResult> {\n  return (\n    link.request(\n      createOperation(\n        operation.context,\n        transformOperation(validateOperation(operation)),\n      ),\n    ) || Observable.of()\n  );\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nvar _default = nodejsCustomInspectSymbol;\nexports.default = _default;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = inspect;\n\nvar _nodejsCustomInspectSymbol = _interopRequireDefault(require(\"./nodejsCustomInspectSymbol\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nfunction inspect(value) {\n  return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n  switch (_typeof(value)) {\n    case 'string':\n      return JSON.stringify(value);\n\n    case 'function':\n      return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n    case 'object':\n      if (value === null) {\n        return 'null';\n      }\n\n      return formatObjectValue(value, seenValues);\n\n    default:\n      return String(value);\n  }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n  if (previouslySeenValues.indexOf(value) !== -1) {\n    return '[Circular]';\n  }\n\n  var seenValues = [].concat(previouslySeenValues, [value]);\n  var customInspectFn = getCustomFn(value);\n\n  if (customInspectFn !== undefined) {\n    // $FlowFixMe(>=0.90.0)\n    var customValue = customInspectFn.call(value); // check for infinite recursion\n\n    if (customValue !== value) {\n      return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n    }\n  } else if (Array.isArray(value)) {\n    return formatArray(value, seenValues);\n  }\n\n  return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n  var keys = Object.keys(object);\n\n  if (keys.length === 0) {\n    return '{}';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[' + getObjectTag(object) + ']';\n  }\n\n  var properties = keys.map(function (key) {\n    var value = formatValue(object[key], seenValues);\n    return key + ': ' + value;\n  });\n  return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n  if (array.length === 0) {\n    return '[]';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[Array]';\n  }\n\n  var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n  var remaining = array.length - len;\n  var items = [];\n\n  for (var i = 0; i < len; ++i) {\n    items.push(formatValue(array[i], seenValues));\n  }\n\n  if (remaining === 1) {\n    items.push('... 1 more item');\n  } else if (remaining > 1) {\n    items.push(\"... \".concat(remaining, \" more items\"));\n  }\n\n  return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n  var customInspectFn = object[String(_nodejsCustomInspectSymbol.default)];\n\n  if (typeof customInspectFn === 'function') {\n    return customInspectFn;\n  }\n\n  if (typeof object.inspect === 'function') {\n    return object.inspect;\n  }\n}\n\nfunction getObjectTag(object) {\n  var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n  if (tag === 'Object' && typeof object.constructor === 'function') {\n    var name = object.constructor.name;\n\n    if (typeof name === 'string' && name !== '') {\n      return name;\n    }\n  }\n\n  return tag;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.visit = visit;\nexports.visitInParallel = visitInParallel;\nexports.visitWithTypeInfo = visitWithTypeInfo;\nexports.getVisitFn = getVisitFn;\nexports.BREAK = exports.QueryDocumentKeys = void 0;\n\nvar _inspect = _interopRequireDefault(require(\"../jsutils/inspect\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar QueryDocumentKeys = {\n  Name: [],\n  Document: ['definitions'],\n  OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n  VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n  Variable: ['name'],\n  SelectionSet: ['selections'],\n  Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n  Argument: ['name', 'value'],\n  FragmentSpread: ['name', 'directives'],\n  InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n  FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n  // or removed in the future.\n  'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n  IntValue: [],\n  FloatValue: [],\n  StringValue: [],\n  BooleanValue: [],\n  NullValue: [],\n  EnumValue: [],\n  ListValue: ['values'],\n  ObjectValue: ['fields'],\n  ObjectField: ['name', 'value'],\n  Directive: ['name', 'arguments'],\n  NamedType: ['name'],\n  ListType: ['type'],\n  NonNullType: ['type'],\n  SchemaDefinition: ['directives', 'operationTypes'],\n  OperationTypeDefinition: ['type'],\n  ScalarTypeDefinition: ['description', 'name', 'directives'],\n  ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n  FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n  InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n  InterfaceTypeDefinition: ['description', 'name', 'directives', 'fields'],\n  UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n  EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n  EnumValueDefinition: ['description', 'name', 'directives'],\n  InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n  DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n  SchemaExtension: ['directives', 'operationTypes'],\n  ScalarTypeExtension: ['name', 'directives'],\n  ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n  InterfaceTypeExtension: ['name', 'directives', 'fields'],\n  UnionTypeExtension: ['name', 'directives', 'types'],\n  EnumTypeExtension: ['name', 'directives', 'values'],\n  InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexports.QueryDocumentKeys = QueryDocumentKeys;\nvar BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n *     const editedAST = visit(ast, {\n *       enter(node, key, parent, path, ancestors) {\n *         // @return\n *         //   undefined: no action\n *         //   false: skip visiting this node\n *         //   visitor.BREAK: stop visiting altogether\n *         //   null: delete this node\n *         //   any value: replace this node with the returned value\n *       },\n *       leave(node, key, parent, path, ancestors) {\n *         // @return\n *         //   undefined: no action\n *         //   false: no action\n *         //   visitor.BREAK: stop visiting altogether\n *         //   null: delete this node\n *         //   any value: replace this node with the returned value\n *       }\n *     });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node a specific kind.\n *\n *     visit(ast, {\n *       Kind(node) {\n *         // enter the \"Kind\" node\n *       }\n *     })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n *    a specific kind.\n *\n *     visit(ast, {\n *       Kind: {\n *         enter(node) {\n *           // enter the \"Kind\" node\n *         }\n *         leave(node) {\n *           // leave the \"Kind\" node\n *         }\n *       }\n *     })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n *     visit(ast, {\n *       enter(node) {\n *         // enter any node\n *       },\n *       leave(node) {\n *         // leave any node\n *       }\n *     })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n *     visit(ast, {\n *       enter: {\n *         Kind(node) {\n *           // enter the \"Kind\" node\n *         }\n *       },\n *       leave: {\n *         Kind(node) {\n *           // leave the \"Kind\" node\n *         }\n *       }\n *     })\n */\n\nexports.BREAK = BREAK;\n\nfunction visit(root, visitor) {\n  var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n  /* eslint-disable no-undef-init */\n  var stack = undefined;\n  var inArray = Array.isArray(root);\n  var keys = [root];\n  var index = -1;\n  var edits = [];\n  var node = undefined;\n  var key = undefined;\n  var parent = undefined;\n  var path = [];\n  var ancestors = [];\n  var newRoot = root;\n  /* eslint-enable no-undef-init */\n\n  do {\n    index++;\n    var isLeaving = index === keys.length;\n    var isEdited = isLeaving && edits.length !== 0;\n\n    if (isLeaving) {\n      key = ancestors.length === 0 ? undefined : path[path.length - 1];\n      node = parent;\n      parent = ancestors.pop();\n\n      if (isEdited) {\n        if (inArray) {\n          node = node.slice();\n        } else {\n          var clone = {};\n\n          for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n            var k = _Object$keys2[_i2];\n            clone[k] = node[k];\n          }\n\n          node = clone;\n        }\n\n        var editOffset = 0;\n\n        for (var ii = 0; ii < edits.length; ii++) {\n          var editKey = edits[ii][0];\n          var editValue = edits[ii][1];\n\n          if (inArray) {\n            editKey -= editOffset;\n          }\n\n          if (inArray && editValue === null) {\n            node.splice(editKey, 1);\n            editOffset++;\n          } else {\n            node[editKey] = editValue;\n          }\n        }\n      }\n\n      index = stack.index;\n      keys = stack.keys;\n      edits = stack.edits;\n      inArray = stack.inArray;\n      stack = stack.prev;\n    } else {\n      key = parent ? inArray ? index : keys[index] : undefined;\n      node = parent ? parent[key] : newRoot;\n\n      if (node === null || node === undefined) {\n        continue;\n      }\n\n      if (parent) {\n        path.push(key);\n      }\n    }\n\n    var result = void 0;\n\n    if (!Array.isArray(node)) {\n      if (!isNode(node)) {\n        throw new Error('Invalid AST Node: ' + (0, _inspect.default)(node));\n      }\n\n      var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n      if (visitFn) {\n        result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n        if (result === BREAK) {\n          break;\n        }\n\n        if (result === false) {\n          if (!isLeaving) {\n            path.pop();\n            continue;\n          }\n        } else if (result !== undefined) {\n          edits.push([key, result]);\n\n          if (!isLeaving) {\n            if (isNode(result)) {\n              node = result;\n            } else {\n              path.pop();\n              continue;\n            }\n          }\n        }\n      }\n    }\n\n    if (result === undefined && isEdited) {\n      edits.push([key, node]);\n    }\n\n    if (isLeaving) {\n      path.pop();\n    } else {\n      stack = {\n        inArray: inArray,\n        index: index,\n        keys: keys,\n        edits: edits,\n        prev: stack\n      };\n      inArray = Array.isArray(node);\n      keys = inArray ? node : visitorKeys[node.kind] || [];\n      index = -1;\n      edits = [];\n\n      if (parent) {\n        ancestors.push(parent);\n      }\n\n      parent = node;\n    }\n  } while (stack !== undefined);\n\n  if (edits.length !== 0) {\n    newRoot = edits[edits.length - 1][1];\n  }\n\n  return newRoot;\n}\n\nfunction isNode(maybeNode) {\n  return Boolean(maybeNode && typeof maybeNode.kind === 'string');\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\n\nfunction visitInParallel(visitors) {\n  var skipping = new Array(visitors.length);\n  return {\n    enter: function enter(node) {\n      for (var i = 0; i < visitors.length; i++) {\n        if (!skipping[i]) {\n          var fn = getVisitFn(visitors[i], node.kind,\n          /* isLeaving */\n          false);\n\n          if (fn) {\n            var result = fn.apply(visitors[i], arguments);\n\n            if (result === false) {\n              skipping[i] = node;\n            } else if (result === BREAK) {\n              skipping[i] = BREAK;\n            } else if (result !== undefined) {\n              return result;\n            }\n          }\n        }\n      }\n    },\n    leave: function leave(node) {\n      for (var i = 0; i < visitors.length; i++) {\n        if (!skipping[i]) {\n          var fn = getVisitFn(visitors[i], node.kind,\n          /* isLeaving */\n          true);\n\n          if (fn) {\n            var result = fn.apply(visitors[i], arguments);\n\n            if (result === BREAK) {\n              skipping[i] = BREAK;\n            } else if (result !== undefined && result !== false) {\n              return result;\n            }\n          }\n        } else if (skipping[i] === node) {\n          skipping[i] = null;\n        }\n      }\n    }\n  };\n}\n/**\n * Creates a new visitor instance which maintains a provided TypeInfo instance\n * along with visiting visitor.\n */\n\n\nfunction visitWithTypeInfo(typeInfo, visitor) {\n  return {\n    enter: function enter(node) {\n      typeInfo.enter(node);\n      var fn = getVisitFn(visitor, node.kind,\n      /* isLeaving */\n      false);\n\n      if (fn) {\n        var result = fn.apply(visitor, arguments);\n\n        if (result !== undefined) {\n          typeInfo.leave(node);\n\n          if (isNode(result)) {\n            typeInfo.enter(result);\n          }\n        }\n\n        return result;\n      }\n    },\n    leave: function leave(node) {\n      var fn = getVisitFn(visitor, node.kind,\n      /* isLeaving */\n      true);\n      var result;\n\n      if (fn) {\n        result = fn.apply(visitor, arguments);\n      }\n\n      typeInfo.leave(node);\n      return result;\n    }\n  };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\n\nfunction getVisitFn(visitor, kind, isLeaving) {\n  var kindVisitor = visitor[kind];\n\n  if (kindVisitor) {\n    if (!isLeaving && typeof kindVisitor === 'function') {\n      // { Kind() {} }\n      return kindVisitor;\n    }\n\n    var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n    if (typeof kindSpecificVisitor === 'function') {\n      // { Kind: { enter() {}, leave() {} } }\n      return kindSpecificVisitor;\n    }\n  } else {\n    var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n    if (specificVisitor) {\n      if (typeof specificVisitor === 'function') {\n        // { enter() {}, leave() {} }\n        return specificVisitor;\n      }\n\n      var specificKindVisitor = specificVisitor[kind];\n\n      if (typeof specificKindVisitor === 'function') {\n        // { enter: { Kind() {} }, leave: { Kind() {} } }\n        return specificKindVisitor;\n      }\n    }\n  }\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.dedentBlockStringValue = dedentBlockStringValue;\nexports.getBlockStringIndentation = getBlockStringIndentation;\nexports.printBlockString = printBlockString;\n\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n */\nfunction dedentBlockStringValue(rawString) {\n  // Expand a block string's raw value into independent lines.\n  var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n  var commonIndent = getBlockStringIndentation(lines);\n\n  if (commonIndent !== 0) {\n    for (var i = 1; i < lines.length; i++) {\n      lines[i] = lines[i].slice(commonIndent);\n    }\n  } // Remove leading and trailing blank lines.\n\n\n  while (lines.length > 0 && isBlank(lines[0])) {\n    lines.shift();\n  }\n\n  while (lines.length > 0 && isBlank(lines[lines.length - 1])) {\n    lines.pop();\n  } // Return a string of the lines joined with U+000A.\n\n\n  return lines.join('\\n');\n} // @internal\n\n\nfunction getBlockStringIndentation(lines) {\n  var commonIndent = null;\n\n  for (var i = 1; i < lines.length; i++) {\n    var line = lines[i];\n    var indent = leadingWhitespace(line);\n\n    if (indent === line.length) {\n      continue; // skip empty lines\n    }\n\n    if (commonIndent === null || indent < commonIndent) {\n      commonIndent = indent;\n\n      if (commonIndent === 0) {\n        break;\n      }\n    }\n  }\n\n  return commonIndent === null ? 0 : commonIndent;\n}\n\nfunction leadingWhitespace(str) {\n  var i = 0;\n\n  while (i < str.length && (str[i] === ' ' || str[i] === '\\t')) {\n    i++;\n  }\n\n  return i;\n}\n\nfunction isBlank(str) {\n  return leadingWhitespace(str) === str.length;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\n\n\nfunction printBlockString(value) {\n  var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n  var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var isSingleLine = value.indexOf('\\n') === -1;\n  var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n  var hasTrailingQuote = value[value.length - 1] === '\"';\n  var printAsMultipleLines = !isSingleLine || hasTrailingQuote || preferMultipleLines;\n  var result = ''; // Format a multi-line block quote to account for leading space.\n\n  if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n    result += '\\n' + indentation;\n  }\n\n  result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n  if (printAsMultipleLines) {\n    result += '\\n';\n  }\n\n  return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from './visitor';\nimport { printBlockString } from './blockString';\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n  return visit(ast, {\n    leave: printDocASTReducer\n  });\n} // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n  Name: function Name(node) {\n    return node.value;\n  },\n  Variable: function Variable(node) {\n    return '$' + node.name;\n  },\n  // Document\n  Document: function Document(node) {\n    return join(node.definitions, '\\n\\n') + '\\n';\n  },\n  OperationDefinition: function OperationDefinition(node) {\n    var op = node.operation;\n    var name = node.name;\n    var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n    var directives = join(node.directives, ' ');\n    var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n    // the query short form.\n\n    return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n  },\n  VariableDefinition: function VariableDefinition(_ref) {\n    var variable = _ref.variable,\n        type = _ref.type,\n        defaultValue = _ref.defaultValue,\n        directives = _ref.directives;\n    return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n  },\n  SelectionSet: function SelectionSet(_ref2) {\n    var selections = _ref2.selections;\n    return block(selections);\n  },\n  Field: function Field(_ref3) {\n    var alias = _ref3.alias,\n        name = _ref3.name,\n        args = _ref3.arguments,\n        directives = _ref3.directives,\n        selectionSet = _ref3.selectionSet;\n    return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n  },\n  Argument: function Argument(_ref4) {\n    var name = _ref4.name,\n        value = _ref4.value;\n    return name + ': ' + value;\n  },\n  // Fragments\n  FragmentSpread: function FragmentSpread(_ref5) {\n    var name = _ref5.name,\n        directives = _ref5.directives;\n    return '...' + name + wrap(' ', join(directives, ' '));\n  },\n  InlineFragment: function InlineFragment(_ref6) {\n    var typeCondition = _ref6.typeCondition,\n        directives = _ref6.directives,\n        selectionSet = _ref6.selectionSet;\n    return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n  },\n  FragmentDefinition: function FragmentDefinition(_ref7) {\n    var name = _ref7.name,\n        typeCondition = _ref7.typeCondition,\n        variableDefinitions = _ref7.variableDefinitions,\n        directives = _ref7.directives,\n        selectionSet = _ref7.selectionSet;\n    return (// Note: fragment variable definitions are experimental and may be changed\n      // or removed in the future.\n      \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n    );\n  },\n  // Value\n  IntValue: function IntValue(_ref8) {\n    var value = _ref8.value;\n    return value;\n  },\n  FloatValue: function FloatValue(_ref9) {\n    var value = _ref9.value;\n    return value;\n  },\n  StringValue: function StringValue(_ref10, key) {\n    var value = _ref10.value,\n        isBlockString = _ref10.block;\n    return isBlockString ? printBlockString(value, key === 'description' ? '' : '  ') : JSON.stringify(value);\n  },\n  BooleanValue: function BooleanValue(_ref11) {\n    var value = _ref11.value;\n    return value ? 'true' : 'false';\n  },\n  NullValue: function NullValue() {\n    return 'null';\n  },\n  EnumValue: function EnumValue(_ref12) {\n    var value = _ref12.value;\n    return value;\n  },\n  ListValue: function ListValue(_ref13) {\n    var values = _ref13.values;\n    return '[' + join(values, ', ') + ']';\n  },\n  ObjectValue: function ObjectValue(_ref14) {\n    var fields = _ref14.fields;\n    return '{' + join(fields, ', ') + '}';\n  },\n  ObjectField: function ObjectField(_ref15) {\n    var name = _ref15.name,\n        value = _ref15.value;\n    return name + ': ' + value;\n  },\n  // Directive\n  Directive: function Directive(_ref16) {\n    var name = _ref16.name,\n        args = _ref16.arguments;\n    return '@' + name + wrap('(', join(args, ', '), ')');\n  },\n  // Type\n  NamedType: function NamedType(_ref17) {\n    var name = _ref17.name;\n    return name;\n  },\n  ListType: function ListType(_ref18) {\n    var type = _ref18.type;\n    return '[' + type + ']';\n  },\n  NonNullType: function NonNullType(_ref19) {\n    var type = _ref19.type;\n    return type + '!';\n  },\n  // Type System Definitions\n  SchemaDefinition: function SchemaDefinition(_ref20) {\n    var directives = _ref20.directives,\n        operationTypes = _ref20.operationTypes;\n    return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n  },\n  OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n    var operation = _ref21.operation,\n        type = _ref21.type;\n    return operation + ': ' + type;\n  },\n  ScalarTypeDefinition: addDescription(function (_ref22) {\n    var name = _ref22.name,\n        directives = _ref22.directives;\n    return join(['scalar', name, join(directives, ' ')], ' ');\n  }),\n  ObjectTypeDefinition: addDescription(function (_ref23) {\n    var name = _ref23.name,\n        interfaces = _ref23.interfaces,\n        directives = _ref23.directives,\n        fields = _ref23.fields;\n    return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n  }),\n  FieldDefinition: addDescription(function (_ref24) {\n    var name = _ref24.name,\n        args = _ref24.arguments,\n        type = _ref24.type,\n        directives = _ref24.directives;\n    return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n  }),\n  InputValueDefinition: addDescription(function (_ref25) {\n    var name = _ref25.name,\n        type = _ref25.type,\n        defaultValue = _ref25.defaultValue,\n        directives = _ref25.directives;\n    return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n  }),\n  InterfaceTypeDefinition: addDescription(function (_ref26) {\n    var name = _ref26.name,\n        directives = _ref26.directives,\n        fields = _ref26.fields;\n    return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n  }),\n  UnionTypeDefinition: addDescription(function (_ref27) {\n    var name = _ref27.name,\n        directives = _ref27.directives,\n        types = _ref27.types;\n    return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n  }),\n  EnumTypeDefinition: addDescription(function (_ref28) {\n    var name = _ref28.name,\n        directives = _ref28.directives,\n        values = _ref28.values;\n    return join(['enum', name, join(directives, ' '), block(values)], ' ');\n  }),\n  EnumValueDefinition: addDescription(function (_ref29) {\n    var name = _ref29.name,\n        directives = _ref29.directives;\n    return join([name, join(directives, ' ')], ' ');\n  }),\n  InputObjectTypeDefinition: addDescription(function (_ref30) {\n    var name = _ref30.name,\n        directives = _ref30.directives,\n        fields = _ref30.fields;\n    return join(['input', name, join(directives, ' '), block(fields)], ' ');\n  }),\n  DirectiveDefinition: addDescription(function (_ref31) {\n    var name = _ref31.name,\n        args = _ref31.arguments,\n        repeatable = _ref31.repeatable,\n        locations = _ref31.locations;\n    return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n  }),\n  SchemaExtension: function SchemaExtension(_ref32) {\n    var directives = _ref32.directives,\n        operationTypes = _ref32.operationTypes;\n    return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n  },\n  ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n    var name = _ref33.name,\n        directives = _ref33.directives;\n    return join(['extend scalar', name, join(directives, ' ')], ' ');\n  },\n  ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n    var name = _ref34.name,\n        interfaces = _ref34.interfaces,\n        directives = _ref34.directives,\n        fields = _ref34.fields;\n    return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n  },\n  InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n    var name = _ref35.name,\n        directives = _ref35.directives,\n        fields = _ref35.fields;\n    return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n  },\n  UnionTypeExtension: function UnionTypeExtension(_ref36) {\n    var name = _ref36.name,\n        directives = _ref36.directives,\n        types = _ref36.types;\n    return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n  },\n  EnumTypeExtension: function EnumTypeExtension(_ref37) {\n    var name = _ref37.name,\n        directives = _ref37.directives,\n        values = _ref37.values;\n    return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n  },\n  InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n    var name = _ref38.name,\n        directives = _ref38.directives,\n        fields = _ref38.fields;\n    return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n  }\n};\n\nfunction addDescription(cb) {\n  return function (node) {\n    return join([node.description, cb(node)], '\\n');\n  };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray, separator) {\n  return maybeArray ? maybeArray.filter(function (x) {\n    return x;\n  }).join(separator || '') : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n  return array && array.length !== 0 ? '{\\n' + indent(join(array, '\\n')) + '\\n}' : '';\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\n\n\nfunction wrap(start, maybeString, end) {\n  return maybeString ? start + maybeString + (end || '') : '';\n}\n\nfunction indent(maybeString) {\n  return maybeString && '  ' + maybeString.replace(/\\n/g, '\\n  ');\n}\n\nfunction isMultiline(string) {\n  return string.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n  return maybeArray && maybeArray.some(isMultiline);\n}\n","import { Operation } from 'apollo-link';\nimport { print } from 'graphql/language/printer';\nimport { InvariantError } from 'ts-invariant';\n\n/*\n * Http Utilities: shared across links that make http requests\n */\n\n// XXX replace with actual typings when available\ndeclare var AbortController: any;\n\n//Used for any Error for data from the server\n//on a request with a Status >= 300\n//response contains no data or errors\nexport type ServerError = Error & {\n  response: Response;\n  result: Record<string, any>;\n  statusCode: number;\n};\n\n//Thrown when server's resonse is cannot be parsed\nexport type ServerParseError = Error & {\n  response: Response;\n  statusCode: number;\n  bodyText: string;\n};\n\nexport type ClientParseError = InvariantError & {\n  parseError: Error;\n};\n\nexport interface HttpQueryOptions {\n  includeQuery?: boolean;\n  includeExtensions?: boolean;\n}\n\nexport interface HttpConfig {\n  http?: HttpQueryOptions;\n  options?: any;\n  headers?: any; //overrides headers in options\n  credentials?: any;\n}\n\nexport interface UriFunction {\n  (operation: Operation): string;\n}\n\n// The body of a GraphQL-over-HTTP-POST request.\nexport interface Body {\n  query?: string;\n  operationName?: string;\n  variables?: Record<string, any>;\n  extensions?: Record<string, any>;\n}\n\nexport interface HttpOptions {\n  /**\n   * The URI to use when fetching operations.\n   *\n   * Defaults to '/graphql'.\n   */\n  uri?: string | UriFunction;\n\n  /**\n   * Passes the extensions field to your graphql server.\n   *\n   * Defaults to false.\n   */\n  includeExtensions?: boolean;\n\n  /**\n   * A `fetch`-compatible API to use when making requests.\n   */\n  fetch?: WindowOrWorkerGlobalScope['fetch'];\n\n  /**\n   * An object representing values to be sent as headers on the request.\n   */\n  headers?: any;\n\n  /**\n   * The credentials policy you want to use for the fetch call.\n   */\n  credentials?: string;\n\n  /**\n   * Any overrides of the fetch options argument to pass to the fetch call.\n   */\n  fetchOptions?: any;\n}\n\nconst defaultHttpOptions: HttpQueryOptions = {\n  includeQuery: true,\n  includeExtensions: false,\n};\n\nconst defaultHeaders = {\n  // headers are case insensitive (https://stackoverflow.com/a/5259004)\n  accept: '*/*',\n  'content-type': 'application/json',\n};\n\nconst defaultOptions = {\n  method: 'POST',\n};\n\nexport const fallbackHttpConfig = {\n  http: defaultHttpOptions,\n  headers: defaultHeaders,\n  options: defaultOptions,\n};\n\nexport const throwServerError = (response, result, message) => {\n  const error = new Error(message) as ServerError;\n\n  error.name = 'ServerError';\n  error.response = response;\n  error.statusCode = response.status;\n  error.result = result;\n\n  throw error;\n};\n\n//TODO: when conditional types come in ts 2.8, operations should be a generic type that extends Operation | Array<Operation>\nexport const parseAndCheckHttpResponse = operations => (response: Response) => {\n  return (\n    response\n      .text()\n      .then(bodyText => {\n        try {\n          return JSON.parse(bodyText);\n        } catch (err) {\n          const parseError = err as ServerParseError;\n          parseError.name = 'ServerParseError';\n          parseError.response = response;\n          parseError.statusCode = response.status;\n          parseError.bodyText = bodyText;\n          return Promise.reject(parseError);\n        }\n      })\n      //TODO: when conditional types come out then result should be T extends Array ? Array<FetchResult> : FetchResult\n      .then((result: any) => {\n        if (response.status >= 300) {\n          //Network error\n          throwServerError(\n            response,\n            result,\n            `Response not successful: Received status code ${response.status}`,\n          );\n        }\n        //TODO should really error per response in a Batch based on properties\n        //    - could be done in a validation link\n        if (\n          !Array.isArray(result) &&\n          !result.hasOwnProperty('data') &&\n          !result.hasOwnProperty('errors')\n        ) {\n          //Data error\n          throwServerError(\n            response,\n            result,\n            `Server response was missing for query '${\n              Array.isArray(operations)\n                ? operations.map(op => op.operationName)\n                : operations.operationName\n            }'.`,\n          );\n        }\n        return result;\n      })\n  );\n};\n\nexport const checkFetcher = (fetcher: WindowOrWorkerGlobalScope['fetch']) => {\n  if (!fetcher && typeof fetch === 'undefined') {\n    let library: string = 'unfetch';\n    if (typeof window === 'undefined') library = 'node-fetch';\n    throw new InvariantError(`\nfetch is not found globally and no fetcher passed, to fix pass a fetch for\nyour environment like https://www.npmjs.com/package/${library}.\n\nFor example:\nimport fetch from '${library}';\nimport { createHttpLink } from 'apollo-link-http';\n\nconst link = createHttpLink({ uri: '/graphql', fetch: fetch });`);\n  }\n};\n\nexport const createSignalIfSupported = () => {\n  if (typeof AbortController === 'undefined')\n    return { controller: false, signal: false };\n\n  const controller = new AbortController();\n  const signal = controller.signal;\n  return { controller, signal };\n};\n\nexport const selectHttpOptionsAndBody = (\n  operation: Operation,\n  fallbackConfig: HttpConfig,\n  ...configs: Array<HttpConfig>\n) => {\n  let options: HttpConfig & Record<string, any> = {\n    ...fallbackConfig.options,\n    headers: fallbackConfig.headers,\n    credentials: fallbackConfig.credentials,\n  };\n  let http: HttpQueryOptions = fallbackConfig.http;\n\n  /*\n   * use the rest of the configs to populate the options\n   * configs later in the list will overwrite earlier fields\n   */\n  configs.forEach(config => {\n    options = {\n      ...options,\n      ...config.options,\n      headers: {\n        ...options.headers,\n        ...config.headers,\n      },\n    };\n    if (config.credentials) options.credentials = config.credentials;\n\n    http = {\n      ...http,\n      ...config.http,\n    };\n  });\n\n  //The body depends on the http options\n  const { operationName, extensions, variables, query } = operation;\n  const body: Body = { operationName, variables };\n\n  if (http.includeExtensions) (body as any).extensions = extensions;\n\n  // not sending the query (i.e persisted queries)\n  if (http.includeQuery) (body as any).query = print(query);\n\n  return {\n    options,\n    body,\n  };\n};\n\nexport const serializeFetchParameter = (p, label) => {\n  let serialized;\n  try {\n    serialized = JSON.stringify(p);\n  } catch (e) {\n    const parseError = new InvariantError(\n      `Network request failed. ${label} is not serializable: ${e.message}`,\n    ) as ClientParseError;\n    parseError.parseError = e;\n    throw parseError;\n  }\n  return serialized;\n};\n\n//selects \"/graphql\" by default\nexport const selectURI = (\n  operation,\n  fallbackURI?: string | ((operation: Operation) => string),\n) => {\n  const context = operation.getContext();\n  const contextURI = context.uri;\n\n  if (contextURI) {\n    return contextURI;\n  } else if (typeof fallbackURI === 'function') {\n    return fallbackURI(operation);\n  } else {\n    return (fallbackURI as string) || '/graphql';\n  }\n};\n","/* tslint:disable */\n\nimport { ApolloLink, Observable, RequestHandler, fromError } from 'apollo-link';\nimport {\n  serializeFetchParameter,\n  selectURI,\n  parseAndCheckHttpResponse,\n  checkFetcher,\n  selectHttpOptionsAndBody,\n  createSignalIfSupported,\n  fallbackHttpConfig,\n  Body,\n  HttpOptions,\n  UriFunction as _UriFunction,\n} from 'apollo-link-http-common';\nimport { DefinitionNode } from 'graphql';\n\nexport namespace HttpLink {\n  //TODO Would much rather be able to export directly\n  export interface UriFunction extends _UriFunction {}\n  export interface Options extends HttpOptions {\n    /**\n     * If set to true, use the HTTP GET method for query operations. Mutations\n     * will still use the method specified in fetchOptions.method (which defaults\n     * to POST).\n     */\n    useGETForQueries?: boolean;\n  }\n}\n\n// For backwards compatibility.\nexport import FetchOptions = HttpLink.Options;\nexport import UriFunction = HttpLink.UriFunction;\n\nexport const createHttpLink = (linkOptions: HttpLink.Options = {}) => {\n  let {\n    uri = '/graphql',\n    // use default global fetch if nothing passed in\n    fetch: fetcher,\n    includeExtensions,\n    useGETForQueries,\n    ...requestOptions\n  } = linkOptions;\n\n  // dev warnings to ensure fetch is present\n  checkFetcher(fetcher);\n\n  //fetcher is set here rather than the destructuring to ensure fetch is\n  //declared before referencing it. Reference in the destructuring would cause\n  //a ReferenceError\n  if (!fetcher) {\n    fetcher = fetch;\n  }\n\n  const linkConfig = {\n    http: { includeExtensions },\n    options: requestOptions.fetchOptions,\n    credentials: requestOptions.credentials,\n    headers: requestOptions.headers,\n  };\n\n  return new ApolloLink(operation => {\n    let chosenURI = selectURI(operation, uri);\n\n    const context = operation.getContext();\n\n    // `apollographql-client-*` headers are automatically set if a\n    // `clientAwareness` object is found in the context. These headers are\n    // set first, followed by the rest of the headers pulled from\n    // `context.headers`. If desired, `apollographql-client-*` headers set by\n    // the `clientAwareness` object can be overridden by\n    // `apollographql-client-*` headers set in `context.headers`.\n    const clientAwarenessHeaders = {};\n    if (context.clientAwareness) {\n      const { name, version } = context.clientAwareness;\n      if (name) {\n        clientAwarenessHeaders['apollographql-client-name'] = name;\n      }\n      if (version) {\n        clientAwarenessHeaders['apollographql-client-version'] = version;\n      }\n    }\n\n    const contextHeaders = { ...clientAwarenessHeaders, ...context.headers };\n\n    const contextConfig = {\n      http: context.http,\n      options: context.fetchOptions,\n      credentials: context.credentials,\n      headers: contextHeaders,\n    };\n\n    //uses fallback, link, and then context to build options\n    const { options, body } = selectHttpOptionsAndBody(\n      operation,\n      fallbackHttpConfig,\n      linkConfig,\n      contextConfig,\n    );\n\n    let controller;\n    if (!(options as any).signal) {\n      const { controller: _controller, signal } = createSignalIfSupported();\n      controller = _controller;\n      if (controller) (options as any).signal = signal;\n    }\n\n    // If requested, set method to GET if there are no mutations.\n    const definitionIsMutation = (d: DefinitionNode) => {\n      return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n    };\n    if (\n      useGETForQueries &&\n      !operation.query.definitions.some(definitionIsMutation)\n    ) {\n      options.method = 'GET';\n    }\n\n    if (options.method === 'GET') {\n      const { newURI, parseError } = rewriteURIForGET(chosenURI, body);\n      if (parseError) {\n        return fromError(parseError);\n      }\n      chosenURI = newURI;\n    } else {\n      try {\n        (options as any).body = serializeFetchParameter(body, 'Payload');\n      } catch (parseError) {\n        return fromError(parseError);\n      }\n    }\n\n    return new Observable(observer => {\n      fetcher(chosenURI, options)\n        .then(response => {\n          operation.setContext({ response });\n          return response;\n        })\n        .then(parseAndCheckHttpResponse(operation))\n        .then(result => {\n          // we have data and can send it to back up the link chain\n          observer.next(result);\n          observer.complete();\n          return result;\n        })\n        .catch(err => {\n          // fetch was cancelled so it's already been cleaned up in the unsubscribe\n          if (err.name === 'AbortError') return;\n          // if it is a network error, BUT there is graphql result info\n          // fire the next observer before calling error\n          // this gives apollo-client (and react-apollo) the `graphqlErrors` and `networErrors`\n          // to pass to UI\n          // this should only happen if we *also* have data as part of the response key per\n          // the spec\n          if (err.result && err.result.errors && err.result.data) {\n            // if we don't call next, the UI can only show networkError because AC didn't\n            // get any graphqlErrors\n            // this is graphql execution result info (i.e errors and possibly data)\n            // this is because there is no formal spec how errors should translate to\n            // http status codes. So an auth error (401) could have both data\n            // from a public field, errors from a private field, and a status of 401\n            // {\n            //  user { // this will have errors\n            //    firstName\n            //  }\n            //  products { // this is public so will have data\n            //    cost\n            //  }\n            // }\n            //\n            // the result of above *could* look like this:\n            // {\n            //   data: { products: [{ cost: \"$10\" }] },\n            //   errors: [{\n            //      message: 'your session has timed out',\n            //      path: []\n            //   }]\n            // }\n            // status code of above would be a 401\n            // in the UI you want to show data where you can, errors as data where you can\n            // and use correct http status codes\n            observer.next(err.result);\n          }\n          observer.error(err);\n        });\n\n      return () => {\n        // XXX support canceling this request\n        // https://developers.google.com/web/updates/2017/09/abortable-fetch\n        if (controller) controller.abort();\n      };\n    });\n  });\n};\n\n// For GET operations, returns the given URI rewritten with parameters, or a\n// parse error.\nfunction rewriteURIForGET(chosenURI: string, body: Body) {\n  // Implement the standard HTTP GET serialization, plus 'extensions'. Note\n  // the extra level of JSON serialization!\n  const queryParams = [];\n  const addQueryParam = (key: string, value: string) => {\n    queryParams.push(`${key}=${encodeURIComponent(value)}`);\n  };\n\n  if ('query' in body) {\n    addQueryParam('query', body.query);\n  }\n  if (body.operationName) {\n    addQueryParam('operationName', body.operationName);\n  }\n  if (body.variables) {\n    let serializedVariables;\n    try {\n      serializedVariables = serializeFetchParameter(\n        body.variables,\n        'Variables map',\n      );\n    } catch (parseError) {\n      return { parseError };\n    }\n    addQueryParam('variables', serializedVariables);\n  }\n  if (body.extensions) {\n    let serializedExtensions;\n    try {\n      serializedExtensions = serializeFetchParameter(\n        body.extensions,\n        'Extensions map',\n      );\n    } catch (parseError) {\n      return { parseError };\n    }\n    addQueryParam('extensions', serializedExtensions);\n  }\n\n  // Reconstruct the URI with added query params.\n  // XXX This assumes that the URI is well-formed and that it doesn't\n  //     already contain any of these query params. We could instead use the\n  //     URL API and take a polyfill (whatwg-url@6) for older browsers that\n  //     don't support URLSearchParams. Note that some browsers (and\n  //     versions of whatwg-url) support URL but not URLSearchParams!\n  let fragment = '',\n    preFragment = chosenURI;\n  const fragmentStart = chosenURI.indexOf('#');\n  if (fragmentStart !== -1) {\n    fragment = chosenURI.substr(fragmentStart);\n    preFragment = chosenURI.substr(0, fragmentStart);\n  }\n  const queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n  const newURI =\n    preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n  return { newURI };\n}\n\nexport class HttpLink extends ApolloLink {\n  public requester: RequestHandler;\n  constructor(opts?: HttpLink.Options) {\n    super(createHttpLink(opts).request);\n  }\n}\n","import {\n  ApolloLink,\n  Observable,\n  Operation,\n  NextLink,\n  GraphQLRequest,\n} from 'apollo-link';\n\nexport type ContextSetter = (\n  operation: GraphQLRequest,\n  prevContext: any,\n) => Promise<any> | any;\n\nexport function setContext(setter: ContextSetter): ApolloLink {\n  return new ApolloLink((operation: Operation, forward: NextLink) => {\n    const { ...request } = operation;\n\n    return new Observable(observer => {\n      let handle;\n      Promise.resolve(request)\n        .then(req => setter(req, operation.getContext()))\n        .then(operation.setContext)\n        .then(() => {\n          handle = forward(operation).subscribe({\n            next: observer.next.bind(observer),\n            error: observer.error.bind(observer),\n            complete: observer.complete.bind(observer),\n          });\n        })\n        .catch(observer.error.bind(observer));\n\n      return () => {\n        if (handle) handle.unsubscribe();\n      };\n    });\n  });\n}\n","import { ApolloClient } from \"apollo-client\";\nimport { InMemoryCache } from \"apollo-cache-inmemory\";\nimport { createHttpLink } from \"apollo-link-http\";\nimport { setContext } from \"apollo-link-context\";\n\ntype IStage = \"local\" | \"development\" | \"production\";\nconst LOCAL_URI = process.env.REACT_APP_SERVICE_URI;\nconst DEVELOPMENT_URI = process.env.REACT_APP_SERVICE_DEVELOPMENT_URI;\nconst PRODUCTION_URI = process.env.REACT_APP_SERVICE_PRODUCTION_URI;\n\nconst httpLink = (uri?: string | undefined) =>\n  createHttpLink({\n    fetchOptions: {\n      timeout: 2000\n    },\n    uri\n  });\n\nexport const getClientUri = (stage?: IStage) => {\n  switch (stage) {\n    case \"local\":\n      return LOCAL_URI;\n    case \"development\":\n      return DEVELOPMENT_URI;\n    default:\n      return PRODUCTION_URI;\n  }\n};\n\nexport function getClient(\n  stage?: IStage,\n  getRequestContext?: () => Promise<any> | any\n) {\n  return new ApolloClient({\n    cache: new InMemoryCache(),\n    link: setContext(async (o: any, { headers }) => {\n      try {\n        const context = getRequestContext\n          ? (await getRequestContext()) || {}\n          : {};\n        return { ...context, headers: { ...headers, ...context.headers } };\n      } catch (e) {\n        return { headers };\n      }\n    }).concat(httpLink(getClientUri(stage)))\n  });\n}\n"],"names":["parse","tslib_1.__extends","React","_a","isEqual","NetworkStatus","ApolloError","useRef","useContext","useEffect","require$$0","require$$1","hasOwnProperty","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","PropTypes","getOwnPropertySymbols","hoistNonReactStatics","CacheControlScope","gql","React.createElement","ApolloReactComponents.Query","ApolloReactHoc.withQuery","getOperationName","visit","printBlockString","ApolloClient","InMemoryCache"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASA,IAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAGjD,IAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEzD,IAAI,qBAAqB,GAAG,IAAI,CAAC;IACjC,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAI1C,SAAS,SAAS,CAAC,MAAc;QAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS,eAAe,CAAC,GAAa;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAKD,SAAS,gBAAgB,CAAC,GAAiB;QACzC,IAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,kBAAkB;YACxC,IAAI,kBAAkB,CAAC,IAAI,KAAK,oBAAoB,EAAE;gBACpD,IAAI,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjD,IAAI,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,GAAI,CAAC,CAAC;gBAGzD,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;gBACxD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAGhD,IAAI,qBAAqB,EAAE;wBACzB,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,YAAY,GAAG,oBAAoB;8BAC7E,iGAAiG;8BACjG,8EAA8E,CAAC,CAAC;qBACrF;iBACF;qBAAM,IAAI,CAAC,YAAY,EAAE;oBACxB,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC;iBAC7D;gBAED,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAE5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC5B,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBACtC;aACF;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF,CAAC,CAAC;QAEH,6BACK,GAAG,KACN,WAAW,aAAA,IACX;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,GAAiB;QACjC,IAAM,OAAO,GAAG,IAAI,GAAG,CAAsB,GAAG,CAAC,WAAW,CAAC,CAAC;QAE9D,OAAO,CAAC,OAAO,CAAC,UAAA,IAAI;YAClB,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;gBAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAM,GAAG,GAAG,GAAG,CAAC,GAA0B,CAAC;QAC3C,IAAI,GAAG,EAAE;YACP,OAAO,GAAG,CAAC,UAAU,CAAC;YACtB,OAAO,GAAG,CAAC,QAAQ,CAAC;SACrB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,aAAa,CAAC,MAAc;QACnC,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,IAAM,MAAM,GAAGA,aAAK,CAAC,MAAM,EAAE;gBAC3B,6BAA6B,+BAAA;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YACD,QAAQ,CAAC,GAAG,CACV,QAAQ,EAGR,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CACnC,CAAC;SACH;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACjC,CAAC;aAGe,GAAG,CACjB,QAAoC;QACpC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAGd,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QAED,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;gBAClC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;aAC/B;iBAAM;gBACL,MAAM,IAAI,GAAG,CAAC;aACf;YACD,MAAM,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3B,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;aAEe,WAAW;QACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;aAEe,uBAAuB;QACrC,qBAAqB,GAAG,KAAK,CAAC;IAChC,CAAC;aAEe,mCAAmC;QACjD,6BAA6B,GAAG,IAAI,CAAC;IACvC,CAAC;aAEe,oCAAoC;QAClD,6BAA6B,GAAG,KAAK,CAAC;IACxC,CAAC;IAED,IAAM,MAAM,GAAG;QACb,GAAG,KAAA;QACH,WAAW,aAAA;QACX,uBAAuB,yBAAA;QACvB,mCAAmC,qCAAA;QACnC,oCAAoC,sCAAA;KACrC,CAAC;IAEF,WAAiB,KAAG;QAEhB,SAAG,GAKD,MAAM,IALL,EACH,iBAAW,GAIT,MAAM,YAJG,EACX,6BAAuB,GAGrB,MAAM,wBAHe,EACvB,yCAAmC,GAEjC,MAAM,oCAF2B,EACnC,0CAAoC,GAClC,MAAM,qCAD4B,CAC3B;IACb,CAAC,EARgB,GAAG,KAAH,GAAG,QAQnB;IAED,GAAG,CAAC,SAAO,CAAA,GAAG,GAAG,CAAC;AAElB,gBAAe,GAAG;;IC5KlB,IAAM,cAAc,GAAG,qBAAqB,CAAC;IAE3C,IAAA,0BAGC,EAHD;;;UAGC,CACe;IAElB;QAAoCC,kCAAK;QAGvC,wBAAY,OAAyC;YAAzC,wBAAA,EAAA,wBAAyC;YAArD,YACE,kBACE,OAAO,OAAO,KAAK,QAAQ;kBACpB,cAAc,UAAK,OAAO,+DAA4D;kBACzF,OAAO,CACZ,SAEF;YATD,iBAAW,GAAG,CAAC,CAAC;YAChB,UAAI,GAAG,cAAc,CAAC;YAOpB,cAAc,CAAC,KAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;;SAChD;QACH,qBAAC;KAXD,CAAoC,KAAK,GAWxC;aAEe,SAAS,CAAC,SAAc,EAAE,OAAyB;QACjE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;SACnC;KACF;IAED,SAAS,iBAAiB,CAAC,MAAwB;QACjD,OAAO;YACL,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAgB,CAAC,CAAC;SAC7B,CAAC;KAC/B;IAED,WAAiB,SAAS;QACX,cAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjC,eAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACjD,EAHgB,SAAS,KAAT,SAAS,QAGzB;;;;;;IAOD,IAAI,WAAW,GAAmB,EAAE,GAAG,EAAE,EAAE,EAAS,CAAC;IAErD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,WAAW,GAAG,OAAO,CAAC;KACvB;;QAAM,IAAI;;;;YAIT,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC;SACjD;QAAC,OAAO,cAAc,EAAE;;;;;SAKxB;;ICjDD,IAAI,aAAgD,CAAC;IAErD,SAAgB,gBAAgB;QAC9B,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAGC,cAAK,CAAC,aAAa,CAAqB,EAAE,CAAC,CAAC;SAC7D;QACD,OAAO,aAAa,CAAC;KACtB;AAED;QCTY,YAIX;IAJD,WAAY,YAAY;QACtB,iDAAK,CAAA;QACL,uDAAQ,CAAA;QACR,+DAAY,CAAA;KACb,EAJW,YAAY,KAAZ,YAAY,QAIvB;IAQD,IAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAExB,SAAgB,aAAa,CAAC,IAAkB;QAC9C,IAAI,IAAI,CAAC;QACT,QAAQ,IAAI;YACV,KAAK,YAAY,CAAC,KAAK;gBACrB,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;YACR,KAAK,YAAY,CAAC,QAAQ;gBACxB,IAAI,GAAG,UAAU,CAAC;gBAClB,MAAM;YACR,KAAK,YAAY,CAAC,YAAY;gBAC5B,IAAI,GAAG,cAAc,CAAC;gBACtB,MAAM;SACT;QACD,OAAO,IAAI,CAAC;KACb;IAGD,SAAgB,MAAM,CAAC,QAAsB;QAC3C,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QAE1B,WACG,CAAC,QAAQ,KAAK,yCACQ;YACrB,oEAAoE;YACpE,2CAA2C,CAC9C,CAAC;QAEF,IAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAC3C,UAAC,CAAiB,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,oBAAoB,GAAA,CACvD,CAAC;QAEF,IAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CACzC,UAAC,CAAiB;YAChB,OAAA,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO;SAAA,CAC9D,CAAC;QAEF,IAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAC3C,UAAC,CAAiB;YAChB,OAAA,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU;SAAA,CACjE,CAAC;QAEF,IAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAC/C,UAAC,CAAiB;YAChB,OAAA,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,KAAK,cAAc;SAAA,CACrE,CAAC;QAEF,WACG,SAAS;aACP,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAC9D;wEAC8D,EAC9D;0EAGwD;gDAErB,kBAAa;aAC9C;;YAIA;QACJ,IAAI,oBAAoB;YAAkB,mBAAmB,CAAC;YAExD;YACJ;cACE;;kBAEA;kBAGF;;;YAMI;QACN;QAEA,uBAAuB,yBAAyB;YAC9C,6BAA6B;;;;;;QAM/B,oBAAoB,QAAQ;QAC5B;;;;ICjHI,IAAAC,uBAA+C,EAA7C,wBAAQ,EAAE,oCAAmC,CAAC;IACtD,IAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE3D;;;aAGgB,KAAK,CAAC,CAAM,EAAE,CAAM;QAClC,IAAI;YACF,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpB;gBAAS;YACR,mBAAmB,CAAC,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC;IAKD,SAAS,KAAK,CAAC,CAAM,EAAE,CAAM;;QAE3B,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,IAAI,CAAC;SACb;;;QAID,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;QAK9B,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QAED,QAAQ,IAAI;YACV,KAAK,gBAAgB;;;gBAGnB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;;YAE1C,KAAK,iBAAiB,EAAE;gBACtB,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAE1C,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;gBAI7B,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC9B,IAAI,QAAQ,KAAK,KAAK,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;;gBAG5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;wBACrC,OAAO,KAAK,CAAC;qBACd;iBACF;;gBAGD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;oBACjC,IAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1B,OAAO,KAAK,CAAC;qBACd;iBACF;gBAED,OAAO,IAAI,CAAC;aACb;YAED,KAAK,gBAAgB;gBACnB,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;YAEtD,KAAK,iBAAiB;;gBAEpB,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;YAE9B,KAAK,kBAAkB,CAAC;YACxB,KAAK,eAAe;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnB,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB;gBACpB,OAAO,CAAC,IAAI,KAAG,CAAG,CAAC;YAErB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc,EAAE;gBACnB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACpC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAE1C,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAM,KAAK,GAAG,IAAI,KAAK,cAAc,CAAC;gBAEtC,OAAO,IAAI,EAAE;oBACX,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,IAAI,CAAC,IAAI;wBAAE,MAAM;;oBAGf,IAAA,eAA2B,EAA1B,YAAI,EAAE,cAAoB,CAAC;;oBAGlC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAChB,OAAO,KAAK,CAAC;qBACd;;;oBAID,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;wBACxC,OAAO,KAAK,CAAC;qBACd;iBACF;gBAED,OAAO,IAAI,CAAC;aACb;SACF;;QAGD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,kBAAkB,CAAC,CAAS,EAAE,CAAS;;;;;;;;;QAS9C,IAAI,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE;;;YAGR,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;SAC9B;aAAM;YACL,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,KAAK,CAAC;IACf;;IC9HA;QAUE,uBAAY,OAAiC,EAAE,OAA4B;YATpE,cAAS,GAAY,KAAK,CAAC;YAC3B,oBAAe,GAA4B,EAEjD,CAAC;YACK,YAAO,GAAuB,EAAE,CAAC;YAGhC,YAAO,GAA4B,EAA6B,CAAC;YAGvE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAK,EAA8B,CAAC;YAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;SAC9B;QAEM,kCAAU,GAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;QAEM,kCAAU,GAAjB,UACE,UAAmC,EACnC,aAA8B;YAA9B,8BAAA,EAAA,qBAA8B;YAE9B,IAAI,aAAa,IAAI,CAACC,KAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;gBACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;aACrC;YACD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;SAC3B;QAMS,+BAAO,GAAjB;YACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QAES,qCAAa,GAAvB;YACE,IAAM,MAAM,GACV,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;iBACnC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAExC,WACG,CAAC,QACF;gBACE,6DAA6D;gBAC7D,uCAAuC,CAC1C,CAAC;YAEF,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;gBAC1B,KAAK,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAA8B;gBAC3C,KAAK,OAAA;aACN,CAAC;SACH;QAES,0CAAkB,GAA5B,UAA6B,QAAsB,EAAE,IAAkB;YACrE,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClD,IAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxD,oBACY,8BACG;iBACR,qBAAqB,gBAAW,iBAAiB,uBAAoB,CAAA,CAC3E,CAAC;SACH;QACH,oBAAC;KAAA,IAAA;;IC1DD;QAAkD,6BAAa;QAQ7D,mBAAY,EAQX;gBAPC,oBAAO,EACP,oBAAO,EACP,wBAAS;YAHX,YASE,kBAAM,OAAO,EAAE,OAAO,CAAC,SAExB;YAhBO,kBAAY,GAAyC,EAAE,CAAC;YACxD,uBAAiB,GAA8C,EAAE,CAAC;YAClE,aAAO,GAAY,KAAK,CAAC;YAoGzB,kBAAY,GAAG,UAAC,OAAsC;gBAC5D,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,KAAI,CAAC,SAAS,EAAE,CAAC;aAClB,CAAC;YAEM,sBAAgB,GAAG;gBACzB,IAAM,MAAM,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;gBACrC,KAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC;aACf,CAAC;YA6SM,gBAAU,GAAG,UAAC,SAAsB;gBAC1C,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAAA,CAAC;YAE3C,kBAAY,GAAG,UACrB,gBACqC,IAClC,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAA,CAAC;YAEvD,oBAAc,GAAG,UACvB,KAGU,IACP,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAA,CAAC;YAE9C,qBAAe,GAAG,UAAC,YAAoB;gBAC7C,KAAI,CAAC,iBAAiB;oBACpB,KAAI,CAAC,iBAAiB,CAAC,KAAM;oBAC7B,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;aAC5D,CAAC;YAEM,oBAAc,GAAG;gBACvB,KAAI,CAAC,iBAAiB;oBACpB,KAAI,CAAC,iBAAiB,CAAC,KAAM;oBAC7B,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC;aAC/C,CAAC;YAEM,wBAAkB,GAAG,UAI3B,OAIC,IACE,OAAA,KAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAA,CAAC;YAnb1D,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;SAC5B;QAEM,2BAAO,GAAd;YACE,IAAI,CAAC,aAAa,EAAE,CAAC;YAEf,IAAA,sBAAmC,EAAjC,cAAI,EAAE,gBAA2B,CAAC;YAC1C,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBAC7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;aACjC;YAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAElD,OAAO,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC9D;QAEM,+BAAW,GAAlB;YACE,OAAO,CAAC,IAAI,CAAC,OAAO;kBAChB;oBACE,IAAI,CAAC,YAAY;oBACjB;wBACE,OAAO,EAAE,KAAK;wBACd,aAAa,EAAEC,0BAAa,CAAC,KAAK;wBAClC,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,SAAS;qBACkB;iBACpC;kBACD,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACzC;QAGM,6BAAS,GAAhB;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;YAGxD,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC;YAC1C,IAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO,aAAa,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC;SACrD;QAEM,gCAAY,GAAnB,UAAoB,EAAyC;gBAAvC,mCAAY,EAAZ,iCAAY;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAEM,2BAAO,GAAd;YACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SACjC;QAEM,8BAAU,GAAjB;YACE,IAAM,OAAO,GAAG,iBAAM,UAAU,WAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,OAAO,CAAC,SAAS,yBACZ,OAAO,CAAC,SAAS,GACjB,IAAI,CAAC,WAAW,CAAC,SAAS,CAC9B,CAAC;gBACF,OAAO,CAAC,OAAO,yBACV,OAAO,CAAC,OAAO,GACf,IAAI,CAAC,WAAW,CAAC,OAAO,CAC5B,CAAC;aACH;YAGD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO,OAAO,CAAC,IAAI,CAAC;aACrB;YAED,OAAO,OAAO,CAAC;SAChB;QAEM,gCAAY,GAAnB;YACE,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;SACpD;QAeO,uCAAmB,GAA3B;YACE,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;YACpD,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAExE,IAAM,UAAU,GAAG,WACjB,OAAO,EAAE,IAAI,EACb,aAAa,EAAEA,0BAAa,CAAC,OAAO,EACpC,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,CAAC,MAAM,IAChB,IAAI,CAAC,qBAAqB,EAAE,CACE,CAAC;YAIpC,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,EAAE,IAAI,aAAa,CAAC,EAAE;gBACzD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;gBACtC,OAAO,UAAU,CAAC;aACnB;YAED,IAAI,MAAM,CAAC;YACX,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACvB,MAAM;oBACJ,IAAI,CAAC,OAAO,CAAC,cAAe,CAAC,eAAe,CAC1C,IAAI,EACJ,IAAI,CAAC,gBAAgB,CACtB,IAAI,UAAU,CAAC;aACnB;YAED,OAAO,MAAM,CAAC;SACf;QAEO,iDAA6B,GAArC;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC;YAInD,IACE,IAAI,CAAC,YAAY,EAAE;iBAClB,OAAO,CAAC,WAAW,KAAK,cAAc;oBACrC,OAAO,CAAC,WAAW,KAAK,mBAAmB,CAAC,EAC9C;gBACA,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;aACrC;YAED,6BACK,OAAO,KACV,WAAW,aAAA,EACX,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,WAAW,aAAA,EAAE,EAAE,IAC7C;SACH;QAEO,6CAAyB,GAAjC;;YAIE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAC,cAAe,CAAC,gBAAgB,CAC3E,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;aACH;YAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBACjC,IAAM,sBAAsB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAEpE,IAAI,CAAC,YAAY,CAAC,sBAAsB,yBACnC,sBAAsB,KACzB,QAAQ,EAAE,IAAI,GACf,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,cAChE,sBAAsB,EACzB,CAAC;gBAEH,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBACvB,YAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,qBAAqB,CACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAC5B,sBAAsB,EACtB;iBACH;aACF;SACF;QAEO,yCAAqB,GAA7B;YAEE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBACjC,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,OAAO;aACR;YAED,IAAM,yBAAyB,yBAC1B,IAAI,CAAC,6BAA6B,EAAE,KACvC,QAAQ,EAAE,IAAI,GACf,CAAC;YAEF,IACE,CAACD,KAAO,CACN,yBAAyB,EACzB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACzC,EACD;gBACA,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;gBACrE,IAAI,CAAC,iBAAiB;qBACnB,KAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC;qBAK5C,KAAK,CAAC,eAAQ,CAAC,CAAC;aACpB;SACF;QAEO,0CAAsB,GAA9B;YAAA,iBAkCC;YAjCC,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI;gBAAE,OAAO;YAE1E,IAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACvD,IAAI,EAAE,UAAC,EAAgC;wBAA9B,oBAAO,EAAE,gCAAa,EAAE,cAAI;oBACnC,IAAM,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;oBAGhD,IACE,cAAc;wBACd,cAAc,CAAC,OAAO,KAAK,OAAO;wBAClC,cAAc,CAAC,aAAa,KAAK,aAAa;wBAC9CA,KAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC;wBACA,OAAO;qBACR;oBAED,KAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;gBACD,KAAK,EAAE,UAAC,KAAK;oBACX,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;wBAAE,MAAM,KAAK,CAAC;oBAExD,IAAM,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;oBAChD,IACE,CAAC,cAAc,IAAI,cAAc,CAAC,OAAO;wBACzC,CAACA,KAAO,CAAC,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EACxC;wBACA,KAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;wBAChC,KAAI,CAAC,SAAS,EAAE,CAAC;qBAClB;iBACF;aACF,CAAC,CAAC;SACJ;QAEO,sCAAkB,GAA1B;YACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAS/B,IAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,YAAY,EAAE,CAAC;YAC/D,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,aAAa,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAM,EAAE;gBAC3C,SAAS,WAAA;gBACT,UAAU,YAAA;aACX,CAAC,CAAC;SACJ;QAEO,kCAAc,GAAtB;YACE,IAAI,MAAM,GAAQ,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAKlC,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,MAAM,yBACD,MAAM,KACT,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,GACb,CAAC;aACH;iBAAM;gBAEL,IAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/D,IAAA,+BAAO,EAAE,+BAAO,EAAE,2CAAa,EAAE,6BAAM,CAAmB;gBAC5D,IAAA,2BAAK,EAAE,yBAAI,CAAmB;gBAIpC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAK,GAAG,IAAIE,wBAAW,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;iBACpD;gBAED,MAAM,yBACD,MAAM,KACT,OAAO,SAAA;oBACP,aAAa,eAAA;oBACb,KAAK,OAAA,EACL,MAAM,EAAE,IAAI,GACb,CAAC;gBAEF,IAAI,OAAO,EAAE;oBACX,IAAM,YAAY,GAChB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC5D,MAAM,CAAC,IAAI;wBACT,YAAY,IAAI,IAAI;oDAEX,YAAY,GACZ,IAAI,IAET,YAAY,IAAI,IAAI,CAAC;iBAC5B;qBAAM,IAAI,KAAK,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBACpB,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,aAAa,EAAE,IAAK,EAAU;6BAChE,IAAI;qBACR,CAAC,CAAC;iBACJ;qBAAM;oBACG,IAAA,8DAAW,CAA2C;oBACtD,IAAA,uCAAc,CAAa;oBACnC,IACE,cAAc;wBACd,CAAC,IAAI;wBACL,OAAO;wBACP,WAAW,KAAK,YAAY,EAC5B;wBASA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;4BACpB,OAAO,EAAE,IAAI;4BACb,aAAa,EAAED,0BAAa,CAAC,OAAO;yBACrC,CAAC,CAAC;wBACH,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,MAAM,CAAC;qBACf;oBAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;iBACpB;aACF;YAED,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,OAAO;gBACvB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAMlC,IAAI,CAAC,iBAAiB,CAAC,KAAK;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAEvD,OAAO,MAAM,CAAC;SACf;QAEO,0CAAsB,GAA9B;YACE,IAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;gBAAE,OAAO;YAE7C,IAAA,6BAAmD,EAAjD,cAAI,EAAE,oBAAO,EAAE,gBAAkC,CAAC;YAE1D,IAAI,CAAC,OAAO,EAAE;gBACN,IAAA,sBAA8D,EAA5D,gBAAK,EAAE,wBAAS,EAAE,4BAAW,EAAE,oBAA6B,CAAC;gBAGrE,IACE,IAAI,CAAC,eAAe;oBACpB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO;oBAC1BD,KAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC;oBAC1CA,KAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,EAClD;oBACA,OAAO;iBACR;gBAED,IAAI,WAAW,IAAI,CAAC,KAAK,EAAE;oBACzB,WAAW,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM,IAAI,OAAO,IAAI,KAAK,EAAE;oBAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;aACF;SACF;QAEO,2CAAuB,GAA/B;YACE,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;aAC5C;SACF;QAwCO,yCAAqB,GAA7B;YACE,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC;YACjD,OAAO;gBACL,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,YAAY,EAAE,IAAI,CAAC,eAAe;gBAClC,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aACG,CAAC;SAC/C;QACH,gBAAC;KAndD,CAAkD,aAAa,GAmd9D;;aCnee,WAAW,CACzB,MAAoB,EACpB,GAAS;QAET,IAAM,GAAG,GAAGG,YAAM,EAAgC,CAAC;QAEnD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAACH,KAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClD,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,KAAA,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;SACxC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1B;;aCTe,YAAY,CAC1B,KAAmB,EACnB,OAA6C,EAC7C,IAAY;QAAZ,qBAAA,EAAA,YAAY;QAEZ,IAAM,OAAO,GAAGI,gBAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzC,IAAA,wDAAiD,EAAhD,YAAI,EAAE,mBAA0C,CAAC;QACxD,IAAM,cAAc,GAAG,OAAO,yBAAQ,OAAO,KAAE,KAAK,OAAA,MAAK,EAAE,KAAK,OAAA,EAAE,CAAC;QAEnE,IAAM,YAAY,GAAGD,YAAM,EAAgC,CAAC;QAC5D,IAAM,SAAS,GACb,YAAY,CAAC,OAAO;YACpB,IAAI,SAAS,CAAoB;gBAC/B,OAAO,EAAE,cAAiD;gBAC1D,OAAO,SAAA;gBACP,SAAS;oBACP,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE;wBAK7B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBACrC;yBAAM;wBAGL,WAAW,EAAE,CAAC;qBACf;iBACF;aACF,CAAC,CAAC;QAEL,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACrC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAK5B,IAAI,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACrD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;SAClC;QAKD,IAAM,IAAI,GAAG;YACX,OAAO,wBAAO,cAAc,KAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAE;YAC1E,OAAO,SAAA;YACP,IAAI,MAAA;SACL,CAAC;QAEF,IAAM,MAAM,GAAG,WAAW,CACxB,cAAM,QAAC,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAC,EAC5D,IAAI,CACL,CAAC;QAEF,IAAM,WAAW,GAAG,IAAI;cACnB,MAAwC,CAAC,CAAC,CAAC;cAC3C,MAAyC,CAAC;QAE/CE,eAAS,CAAC;YAGR,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACzB,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;aAClC;YAED,OAAO,cAAM,OAAA,SAAS,CAAC,OAAO,EAAE,GAAA,CAAC;SAClC,EAAE,EAAE,CAAC,CAAC;QAEPA,eAAS,CAAC,cAAM,OAAA,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,GAAA,EAAE;YAChD,WAAW,CAAC,OAAO;YACnB,WAAW,CAAC,aAAa;YACzB,WAAW,CAAC,KAAK;YACjB,WAAW,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;KACf;;aClFe,QAAQ,CACtB,KAAmB,EACnB,OAA6C;QAE7C,OAAO,YAAY,CAAoB,KAAK,EAAE,OAAO,EAAE,KAAK,CAG3D,CAAC;KACH;;ICAD;QAGU,gCAAa;QAMrB,sBAAY,EAUX;gBATC,oBAAO,EACP,oBAAO,EACP,kBAAM,EACN,wBAAS;YAJX,YAWE,kBAAM,OAAO,EAAE,OAAO,CAAC,SAKxB;YAkBO,iBAAW,GAAG,UACpB,uBAGoD;gBAHpD,wCAAA,EAAA,0BAGI,EAAgD;gBAEpD,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAM,UAAU,GAAG,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAEhD,OAAO,KAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;qBACxC,IAAI,CAAC,UAAC,QAAgC;oBACrC,KAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAC/C,OAAO,QAAQ,CAAC;iBACjB,CAAC;qBACD,KAAK,CAAC,UAAC,KAAkB;oBACxB,KAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAI,CAAC,UAAU,EAAE,CAAC,OAAO;wBAAE,MAAM,KAAK,CAAC;iBAC7C,CAAC,CAAC;aACN,CAAC;YAxCA,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YACjE,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;;SAC/B;QAEM,8BAAO,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAqC,CAAC;SACvE;QAEM,mCAAY,GAAnB;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAEM,8BAAO,GAAd;SAEC;QAsBO,6BAAM,GAAd,UACE,uBAAmE;YAE7D,IAAA,sBAQe,EAPnB,sBAAQ,EACR,wBAAS,EACT,0CAAkB,EAClB,kBAAM,EACN,eAA6B,EAA7B,yCAA6B,EAC7B,2BAA2B,EAA3B,gDAA2B,EAC3B,4BACmB,CAAC;YACtB,IAAM,aAAa,gBAAQ,uBAAuB,CAAE,CAAC;YAErD,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CACnC,EAAE,EACF,SAAS,EACT,aAAa,CAAC,SAAS,CACxB,CAAC;YACF,OAAO,aAAa,CAAC,SAAS,CAAC;YAE/B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,YACvC,QAAQ,UAAA;gBACR,kBAAkB,oBAAA,EAClB,cAAc,EACZ,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAClE,mBAAmB,qBAAA;gBACnB,MAAM,QAAA,EACN,OAAO,EAAE,eAAe,EACxB,WAAW,aAAA,EACX,SAAS,EAAE,eAAe,IACvB,aAAa,EAChB,CAAC;SACJ;QAEO,sCAAe,GAAvB;YACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;gBAC5D,IAAI,CAAC,YAAY,CAAC;oBAChB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;aACJ;SACF;QAEO,0CAAmB,GAA3B,UACE,QAAgC,EAChC,UAAkB;YAEZ,IAAA,sBAAkD,EAAhD,4BAAW,EAAE,gCAAmC,CAAC;YAEjD,IAAA,oBAAI,EAAE,wBAAM,CAAc;YAClC,IAAM,KAAK,GACT,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;kBACvB,IAAIH,wBAAW,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;kBAC1C,SAAS,CAAC;YAEhB,IAAM,cAAc,GAAG;gBACrB,OAAA,WAAW,GAAG,WAAW,CAAC,IAAa,CAAC,GAAG,IAAI;aAAA,CAAC;YAElD,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC3D,IAAI,CAAC,YAAY,CAAC;oBAChB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,KAAK;oBACd,IAAI,MAAA;oBACJ,KAAK,OAAA;iBACN,CAAC,CAAC;aACJ;YACD,cAAc,EAAE,CAAC;SAClB;QAEO,sCAAe,GAAvB,UAAwB,KAAkB,EAAE,UAAkB;YACpD,IAAA,mCAAO,CAAuB;YAEtC,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE;gBACzC,IAAI,CAAC,YAAY,CAAC;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,OAAA;oBACL,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;aACJ;YAED,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;SACF;QAEO,4CAAqB,GAA7B;YACE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC;SACpC;QAEO,2CAAoB,GAA5B,UAA6B,UAAkB;YAC7C,OAAO,IAAI,CAAC,oBAAoB,KAAK,UAAU,CAAC;SACjD;QAEO,mCAAY,GAApB,UAAqB,MAA6B;YAChD,IACE,IAAI,CAAC,SAAS;iBACb,CAAC,IAAI,CAAC,cAAc,IAAI,CAACF,KAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,EAC/D;gBACA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;aAC9B;SACF;QACH,mBAAC;KAzKD,CAGU,aAAa,GAsKtB;;aChLe,WAAW,CACzB,QAAsB,EACtB,OAAgD;QAEhD,IAAM,OAAO,GAAGI,gBAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzC,IAAA,sDAAiE,EAAhE,cAAM,EAAE,iBAAwD,CAAC;QACxE,IAAM,cAAc,GAAG,OAAO,yBAAQ,OAAO,KAAE,QAAQ,UAAA,MAAK,EAAE,QAAQ,UAAA,EAAE,CAAC;QAEzE,IAAM,eAAe,GAAGD,YAAM,EAAmC,CAAC;QAClE,SAAS,kBAAkB;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5B,eAAe,CAAC,OAAO,GAAG,IAAI,YAAY,CAAoB;oBAC5D,OAAO,EAAE,cAAc;oBACvB,OAAO,SAAA;oBACP,MAAM,QAAA;oBACN,SAAS,WAAA;iBACV,CAAC,CAAC;aACJ;YACD,OAAO,eAAe,CAAC,OAAO,CAAC;SAChC;QAED,IAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAC1C,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QAE/BE,eAAS,CAAC,cAAM,OAAA,YAAY,CAAC,YAAY,EAAE,GAAA,CAAC,CAAC;QAE7C,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACrC;;IC7BD;QAGU,oCAAqD;QAI7D,0BAAY,EAQX;gBAPC,oBAAO,EACP,oBAAO,EACP,wBAAS;YAHX,YASE,kBAAM,OAAO,EAAE,OAAO,CAAC,SAGxB;YAdO,uBAAiB,GAAkC,EAAE,CAAC;YAY5D,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;SAC1B;QAEM,kCAAO,GAAd,UAAe,MAAiC;YAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS;iBACvC,CAAC;aACH;YAED,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE;gBAC9B,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzC;YAEK,IAAA,uDAAiB,CAAuB;YAC9C,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;gBAC3C,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC5D;YAED,IACE,iBAAiB,KAAK,KAAK;gBAC3B,IAAI,CAAC,eAAe;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;iBAC3C,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY;oBACnE,CAACL,KAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC;oBACrE,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EACvD;gBACA,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzC;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,6BAAY,aAAa,KAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAG;SACrE;QAEM,uCAAY,GAAnB;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAEM,kCAAO,GAAd;YACE,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SACrC;QAEO,qCAAU,GAAlB,UAAmB,OAA+C;YAChE,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO;YAC5E,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnE,KAAK,EAAE,OAAO,CAAC,YAAY;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;SACJ;QAEO,4CAAiB,GAAzB;YACE,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY;gBAAE,OAAO;YAChD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAM,CAAC,SAAS,CAC3E;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,CACF,CAAC;SACH;QAEO,2CAAgB,GAAxB;YACE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC;SACH;QAEO,uCAAY,GAApB,UAAqB,MAA0B;YAC7C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACxB;SACF;QAEO,4CAAiB,GAAzB,UAA0B,MAAiC;YACjD,IAAA,yDAAkB,CAAuB;YAEjD,IAAI,CAAC,YAAY,CAAC;gBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,CAAC;oBACjB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;oBACnC,gBAAgB,EAAE,MAAM;iBACzB,CAAC,CAAC;aACJ;SACF;QAEO,sCAAW,GAAnB,UAAoB,KAAU;YAC5B,IAAI,CAAC,YAAY,CAAC;gBAChB,KAAK,OAAA;gBACL,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;SACJ;QAEO,+CAAoB,GAA5B;YACU,IAAA,iEAAsB,CAAuB;YACrD,IAAI,sBAAsB;gBAAE,sBAAsB,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QAEO,0CAAe,GAAvB;YACE,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;aAC5C;SACF;QACH,uBAAC;KA5ID,CAGU,aAAa,GAyItB;;aC3Ie,eAAe,CAC7B,YAA0B,EAC1B,OAAoD;QAEpD,IAAM,OAAO,GAAGI,gBAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/C,IAAM,cAAc,GAAG,OAAO;oCACrB,OAAO,KAAE,YAAY,cAAA,MAC1B,EAAE,YAAY,cAAA,EAAE,CAAC;QACf,IAAA;;;;UAIJ,EAJK,cAAM,EAAE,iBAIb,CAAC;QAEH,IAAM,mBAAmB,GAAGD,YAAM,EAAuC,CAAC;QAC1E,SAAS,sBAAsB;YAC7B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;gBAChC,mBAAmB,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAoB;oBACpE,OAAO,EAAE,cAAc;oBACvB,OAAO,SAAA;oBACP,SAAS,WAAA;iBACV,CAAC,CAAC;aACJ;YACD,OAAO,mBAAmB,CAAC,OAAO,CAAC;SACpC;QAED,IAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;QAClD,gBAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAClD,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC;QAEnCE,eAAS,CAAC,cAAM,OAAA,gBAAgB,CAAC,YAAY,EAAE,GAAA,CAAC,CAAC;QACjDA,eAAS,CAAC,cAAM,OAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAA,EAAE,EAAE,CAAC,CAAC;QAErE,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACzC;;;;;;;;;;ICzCD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA,IACa,IAAI,CAAC,CAAC,UAAU,GAAG,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrf,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;IACxQ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAiB,CAAC,CAAC,CAAC,kBAAsB,CAAC,CAAC,CAAC,mBAAuB,CAAC,CAAC,CAAC,mBAAuB,CAAC,CAAC,CAAC,WAAe,CAAC,CAAC,CAAC,cAAkB,CAAC,CAAC,CAAC,YAAgB,CAAC,CAAC,CAAC,QAAY,CAAC,CAAC,CAAC,QAAY,CAAC,CAAC,CAAC,UAAc,CAAC,CAAC,CAAC;IAClf,YAAgB,CAAC,CAAC,CAAC,cAAkB,CAAC,CAAC,CAAC,YAAgB,CAAC,CAAC,CAAC,eAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAwB,CAAC,CAAC,CAAC,qBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,gBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5d,UAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5O,sBAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,UAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdpU,AAUA;AACA;AACA;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC3C,EAAE,CAAC,WAAW;AACd,AACA;IACA;IACA;IACA,IAAI,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC;IAC3D,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;IAC1E,IAAI,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;IACxE,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAC5E,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;IAClF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAC5E,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAC5E,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;IAC1E;AACA;IACA,IAAI,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;IAChF,IAAI,0BAA0B,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC;IAC1F,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;IAClF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAC5E,IAAI,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC;IACtF,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;IACpE,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;IACpE,IAAI,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;IACtE,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;IAClF,IAAI,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IAC9E,IAAI,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;AACtE;IACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;IAClC,EAAE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,UAAU;IAC/D,EAAE,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,0BAA0B,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,wBAAwB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC;IACtmB,CAAC;AACD;IACA,SAAS,MAAM,CAAC,MAAM,EAAE;IACxB,EAAE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;IACrD,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACnC;IACA,IAAI,QAAQ,QAAQ;IACpB,MAAM,KAAK,kBAAkB;IAC7B,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B;IACA,QAAQ,QAAQ,IAAI;IACpB,UAAU,KAAK,qBAAqB,CAAC;IACrC,UAAU,KAAK,0BAA0B,CAAC;IAC1C,UAAU,KAAK,mBAAmB,CAAC;IACnC,UAAU,KAAK,mBAAmB,CAAC;IACnC,UAAU,KAAK,sBAAsB,CAAC;IACtC,UAAU,KAAK,mBAAmB;IAClC,YAAY,OAAO,IAAI,CAAC;AACxB;IACA,UAAU;IACV,YAAY,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrD;IACA,YAAY,QAAQ,YAAY;IAChC,cAAc,KAAK,kBAAkB,CAAC;IACtC,cAAc,KAAK,sBAAsB,CAAC;IAC1C,cAAc,KAAK,eAAe,CAAC;IACnC,cAAc,KAAK,eAAe,CAAC;IACnC,cAAc,KAAK,mBAAmB;IACtC,gBAAgB,OAAO,YAAY,CAAC;AACpC;IACA,cAAc;IACd,gBAAgB,OAAO,QAAQ,CAAC;IAChC,aAAa;AACb;IACA,SAAS;AACT;IACA,MAAM,KAAK,iBAAiB;IAC5B,QAAQ,OAAO,QAAQ,CAAC;IACxB,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,SAAS,CAAC;IACnB,CAAC;AACD;IACA,IAAI,SAAS,GAAG,qBAAqB,CAAC;IACtC,IAAI,cAAc,GAAG,0BAA0B,CAAC;IAChD,IAAI,eAAe,GAAG,kBAAkB,CAAC;IACzC,IAAI,eAAe,GAAG,mBAAmB,CAAC;IAC1C,IAAI,OAAO,GAAG,kBAAkB,CAAC;IACjC,IAAI,UAAU,GAAG,sBAAsB,CAAC;IACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;IACnC,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,IAAI,MAAM,GAAG,iBAAiB,CAAC;IAC/B,IAAI,QAAQ,GAAG,mBAAmB,CAAC;IACnC,IAAI,UAAU,GAAG,sBAAsB,CAAC;IACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;IACnC,IAAI,mCAAmC,GAAG,KAAK,CAAC;AAChD;IACA,SAAS,WAAW,CAAC,MAAM,EAAE;IAC7B,EAAE;IACF,IAAI,IAAI,CAAC,mCAAmC,EAAE;IAC9C,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACjD;IACA,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,uDAAuD,GAAG,4DAA4D,GAAG,gEAAgE,CAAC,CAAC;IACjN,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC;IAC9E,CAAC;IACD,SAAS,gBAAgB,CAAC,MAAM,EAAE;IAClC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,0BAA0B,CAAC;IACvD,CAAC;IACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;IACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC;IAC/C,CAAC;IACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;IACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;IAChD,CAAC;IACD,SAAS,SAAS,CAAC,MAAM,EAAE;IAC3B,EAAE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IACjG,CAAC;IACD,SAAS,YAAY,CAAC,MAAM,EAAE;IAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;IACnD,CAAC;IACD,SAAS,UAAU,CAAC,MAAM,EAAE;IAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;IAChD,CAAC;IACD,SAAS,MAAM,CAAC,MAAM,EAAE;IACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;IAC5C,CAAC;IACD,SAAS,MAAM,CAAC,MAAM,EAAE;IACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;IAC5C,CAAC;IACD,SAAS,QAAQ,CAAC,MAAM,EAAE;IAC1B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;IAC9C,CAAC;IACD,SAAS,UAAU,CAAC,MAAM,EAAE;IAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;IAChD,CAAC;IACD,SAAS,YAAY,CAAC,MAAM,EAAE;IAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;IACnD,CAAC;IACD,SAAS,UAAU,CAAC,MAAM,EAAE;IAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;IAChD,CAAC;AACD;IACA,iBAAiB,GAAG,SAAS,CAAC;IAC9B,sBAAsB,GAAG,cAAc,CAAC;IACxC,uBAAuB,GAAG,eAAe,CAAC;IAC1C,uBAAuB,GAAG,eAAe,CAAC;IAC1C,eAAe,GAAG,OAAO,CAAC;IAC1B,kBAAkB,GAAG,UAAU,CAAC;IAChC,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,YAAY,GAAG,IAAI,CAAC;IACpB,YAAY,GAAG,IAAI,CAAC;IACpB,cAAc,GAAG,MAAM,CAAC;IACxB,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,kBAAkB,GAAG,UAAU,CAAC;IAChC,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,mBAAmB,GAAG,WAAW,CAAC;IAClC,wBAAwB,GAAG,gBAAgB,CAAC;IAC5C,yBAAyB,GAAG,iBAAiB,CAAC;IAC9C,yBAAyB,GAAG,iBAAiB,CAAC;IAC9C,iBAAiB,GAAG,SAAS,CAAC;IAC9B,oBAAoB,GAAG,YAAY,CAAC;IACpC,kBAAkB,GAAG,UAAU,CAAC;IAChC,cAAc,GAAG,MAAM,CAAC;IACxB,cAAc,GAAG,MAAM,CAAC;IACxB,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,kBAAkB,GAAG,UAAU,CAAC;IAChC,oBAAoB,GAAG,YAAY,CAAC;IACpC,kBAAkB,GAAG,UAAU,CAAC;IAChC,0BAA0B,GAAG,kBAAkB,CAAC;IAChD,cAAc,GAAG,MAAM,CAAC;IACxB,GAAG,GAAG,CAAC;IACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpLA,AACA;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC3C,EAAE,cAAc,GAAGC,sBAA2C,CAAC;IAC/D,CAAC,MAAM;IACP,EAAE,cAAc,GAAGC,mBAAwC,CAAC;IAC5D;;;ICNA;IACA;IACA;IACA;IACA;AACA,IAEA;IACA,IAAI,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzD,IAAIC,gBAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IACrD,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC7D;IACA,SAAS,QAAQ,CAAC,GAAG,EAAE;IACvB,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;IACxC,EAAE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC/E,EAAE;AACF;IACA,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACD;IACA,SAAS,eAAe,GAAG;IAC3B,CAAC,IAAI;IACL,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IACtB,GAAG,OAAO,KAAK,CAAC;IAChB,GAAG;AACH;IACA;AACA;IACA;IACA,EAAE,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClB,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IACpD,GAAG,OAAO,KAAK,CAAC;IAChB,GAAG;AACH;IACA;IACA,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;IACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;IAC/B,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,GAAG;IACH,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;IAClE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC;IACL,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE;IACxC,GAAG,OAAO,KAAK,CAAC;IAChB,GAAG;AACH;IACA;IACA,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;IACjB,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE;IAC7D,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,CAAC;IACL,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACpD,IAAI,sBAAsB,EAAE;IAC5B,GAAG,OAAO,KAAK,CAAC;IAChB,GAAG;AACH;IACA,EAAE,OAAO,IAAI,CAAC;IACd,EAAE,CAAC,OAAO,GAAG,EAAE;IACf;IACA,EAAE,OAAO,KAAK,CAAC;IACf,EAAE;IACF,CAAC;AACD;IACA,gBAAc,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE,MAAM,EAAE;IAC/E,CAAC,IAAI,IAAI,CAAC;IACV,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,IAAI,OAAO,CAAC;AACb;IACA,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC5C,EAAE,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B;IACA,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;IACxB,GAAG,IAAIA,gBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;IACvC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI;IACJ,GAAG;AACH;IACA,EAAE,IAAI,qBAAqB,EAAE;IAC7B,GAAG,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC5C,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;IACjD,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;AACF;IACA,CAAC,OAAO,EAAE,CAAC;IACX,CAAC;;ICzFD;IACA;IACA;IACA;IACA;IACA;AACA,AAEA;IACA,IAAI,oBAAoB,GAAG,8CAA8C,CAAC;AAC1E;IACA,0BAAc,GAAG,oBAAoB;;ICFrC,IAAI,YAAY,GAAG,WAAW,EAAE,CAAC;AACjC;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC3C,EAAE,IAAIC,sBAAoB,GAAGH,sBAAqC,CAAC;IACnE,EAAE,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC9B,EAAE,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAChE;IACA,EAAE,YAAY,GAAG,SAAS,IAAI,EAAE;IAChC,IAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACrC,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;IACxC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK;IACL,IAAI,IAAI;IACR;IACA;IACA;IACA,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;IAClB,GAAG,CAAC;IACJ,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9E,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC7C,IAAI,KAAK,IAAI,YAAY,IAAI,SAAS,EAAE;IACxC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;IACxC,QAAQ,IAAI,KAAK,CAAC;IAClB;IACA;IACA;IACA,QAAQ,IAAI;IACZ;IACA;IACA,UAAU,IAAI,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE;IAC7D,YAAY,IAAI,GAAG,GAAG,KAAK;IAC3B,cAAc,CAAC,aAAa,IAAI,aAAa,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB;IAC9G,cAAc,8EAA8E,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI;IACpI,aAAa,CAAC;IACd,YAAY,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;IAC7C,YAAY,MAAM,GAAG,CAAC;IACtB,WAAW;IACX,UAAU,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAEG,sBAAoB,CAAC,CAAC;IACrH,SAAS,CAAC,OAAO,EAAE,EAAE;IACrB,UAAU,KAAK,GAAG,EAAE,CAAC;IACrB,SAAS;IACT,QAAQ,IAAI,KAAK,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;IAChD,UAAU,YAAY;IACtB,YAAY,CAAC,aAAa,IAAI,aAAa,IAAI,0BAA0B;IACzE,YAAY,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,iCAAiC;IAC9E,YAAY,2DAA2D,GAAG,OAAO,KAAK,GAAG,IAAI;IAC7F,YAAY,iEAAiE;IAC7E,YAAY,gEAAgE;IAC5E,YAAY,iCAAiC;IAC7C,WAAW,CAAC;IACZ,SAAS;IACT,QAAQ,IAAI,KAAK,YAAY,KAAK,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,EAAE;IAC9E;IACA;IACA,UAAU,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACnD;IACA,UAAU,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC;AACjD;IACA,UAAU,YAAY;IACtB,YAAY,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;IAC3F,WAAW,CAAC;IACZ,SAAS;IACT,OAAO;IACP,KAAK;IACL,GAAG;IACH,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA,cAAc,CAAC,iBAAiB,GAAG,WAAW;IAC9C,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC7C,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,GAAG;IACH,EAAC;AACD;IACA,oBAAc,GAAG,cAAc;;ICtF/B,IAAIC,KAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAIC,cAAY,GAAG,WAAW,EAAE,CAAC;AACjC;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC3C,EAAEA,cAAY,GAAG,SAAS,IAAI,EAAE;IAChC,IAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACrC,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;IACxC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK;IACL,IAAI,IAAI;IACR;IACA;IACA;IACA,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;IAClB,GAAG,CAAC;IACJ,CAAC;AACD;IACA,SAAS,4BAA4B,GAAG;IACxC,EAAE,OAAO,IAAI,CAAC;IACd,CAAC;AACD;IACA,2BAAc,GAAG,SAAS,cAAc,EAAE,mBAAmB,EAAE;IAC/D;IACA,EAAE,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC;IACxE,EAAE,IAAI,oBAAoB,GAAG,YAAY,CAAC;AAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,aAAa,CAAC,aAAa,EAAE;IACxC,IAAI,IAAI,UAAU,GAAG,aAAa,KAAK,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;IAC1C,MAAM,OAAO,UAAU,CAAC;IACxB,KAAK;IACL,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,EAAE,IAAI,SAAS,GAAG,eAAe,CAAC;AAClC;IACA;IACA;IACA,EAAE,IAAI,cAAc,GAAG;IACvB,IAAI,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;IAC9C,IAAI,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC;IAC/C,IAAI,IAAI,EAAE,0BAA0B,CAAC,UAAU,CAAC;IAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;IAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;IAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;IAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD;IACA,IAAI,GAAG,EAAE,oBAAoB,EAAE;IAC/B,IAAI,OAAO,EAAE,wBAAwB;IACrC,IAAI,OAAO,EAAE,wBAAwB,EAAE;IACvC,IAAI,WAAW,EAAE,4BAA4B,EAAE;IAC/C,IAAI,UAAU,EAAE,yBAAyB;IACzC,IAAI,IAAI,EAAE,iBAAiB,EAAE;IAC7B,IAAI,QAAQ,EAAE,yBAAyB;IACvC,IAAI,KAAK,EAAE,qBAAqB;IAChC,IAAI,SAAS,EAAE,sBAAsB;IACrC,IAAI,KAAK,EAAE,sBAAsB;IACjC,IAAI,KAAK,EAAE,4BAA4B;IACvC,GAAG,CAAC;AACJ;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpB;IACA,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;IACjB;IACA;IACA,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM;IACX;IACA,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK;IACL,GAAG;IACH;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,aAAa,CAAC,OAAO,EAAE;IAClC,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,GAAG;IACH;IACA,EAAE,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAC5C;IACA,EAAE,SAAS,0BAA0B,CAAC,QAAQ,EAAE;IAChD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC/C,MAAM,IAAI,uBAAuB,GAAG,EAAE,CAAC;IACvC,MAAM,IAAI,0BAA0B,GAAG,CAAC,CAAC;IACzC,KAAK;IACL,IAAI,SAAS,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;IACnG,MAAM,aAAa,GAAG,aAAa,IAAI,SAAS,CAAC;IACjD,MAAM,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC;AAC9C;IACA,MAAM,IAAI,MAAM,KAAKF,sBAAoB,EAAE;IAC3C,QAAQ,IAAI,mBAAmB,EAAE;IACjC;IACA,UAAU,IAAI,GAAG,GAAG,IAAI,KAAK;IAC7B,YAAY,sFAAsF;IAClG,YAAY,iDAAiD;IAC7D,YAAY,gDAAgD;IAC5D,WAAW,CAAC;IACZ,UAAU,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;IAC3C,UAAU,MAAM,GAAG,CAAC;IACpB,SAAS,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;IAC5F;IACA,UAAU,IAAI,QAAQ,GAAG,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;IACxD,UAAU;IACV,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC;IAC9C;IACA,YAAY,0BAA0B,GAAG,CAAC;IAC1C,YAAY;IACZ,YAAYE,cAAY;IACxB,cAAc,wDAAwD;IACtE,cAAc,oBAAoB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,IAAI,wBAAwB;IAC7G,cAAc,yDAAyD;IACvE,cAAc,gEAAgE;IAC9E,cAAc,+DAA+D,GAAG,cAAc;IAC9F,aAAa,CAAC;IACd,YAAY,uBAAuB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACrD,YAAY,0BAA0B,EAAE,CAAC;IACzC,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;IACnC,QAAQ,IAAI,UAAU,EAAE;IACxB,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;IACxC,YAAY,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,0BAA0B,IAAI,MAAM,GAAG,aAAa,GAAG,6BAA6B,CAAC,CAAC,CAAC;IACtK,WAAW;IACX,UAAU,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,6BAA6B,IAAI,GAAG,GAAG,aAAa,GAAG,kCAAkC,CAAC,CAAC,CAAC;IACzK,SAAS;IACT,QAAQ,OAAO,IAAI,CAAC;IACpB,OAAO,MAAM;IACb,QAAQ,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChF,OAAO;IACP,KAAK;AACL;IACA,IAAI,IAAI,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7D;IACA,IAAI,OAAO,gBAAgB,CAAC;IAC5B,GAAG;AACH;IACA,EAAE,SAAS,0BAA0B,CAAC,YAAY,EAAE;IACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;IACtF,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;IACrC;IACA;IACA;IACA,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD;IACA,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IACtM,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,oBAAoB,GAAG;IAClC,IAAI,OAAO,0BAA0B,CAAC,4BAA4B,CAAC,CAAC;IACpE,GAAG;AACH;IACA,EAAE,SAAS,wBAAwB,CAAC,WAAW,EAAE;IACjD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IAC7C,QAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,iDAAiD,CAAC,CAAC;IACvJ,OAAO;IACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IACrC,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAC9K,OAAO;IACP,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACjD,QAAQ,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAEF,sBAAoB,CAAC,CAAC;IAC3H,QAAQ,IAAI,KAAK,YAAY,KAAK,EAAE;IACpC,UAAU,OAAO,KAAK,CAAC;IACvB,SAAS;IACT,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,wBAAwB,GAAG;IACtC,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;IACtC,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,oCAAoC,CAAC,CAAC,CAAC;IAC3L,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,4BAA4B,GAAG;IAC1C,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,CAACG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;IAClD,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,yCAAyC,CAAC,CAAC,CAAC;IAChM,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,yBAAyB,CAAC,aAAa,EAAE;IACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,aAAa,CAAC,EAAE;IACvD,QAAQ,IAAI,iBAAiB,GAAG,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC;IAChE,QAAQ,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,eAAe,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3N,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,qBAAqB,CAAC,cAAc,EAAE;IACjD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;IACxC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACjD,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;IAClC,UAAUD,cAAY;IACtB,YAAY,8DAA8D,GAAG,SAAS,CAAC,MAAM,GAAG,cAAc;IAC9G,YAAY,0EAA0E;IACtF,WAAW,CAAC;IACZ,SAAS,MAAM;IACf,UAAUA,cAAY,CAAC,wDAAwD,CAAC,CAAC;IACjF,SAAS;IACT,OAAO;IACP,MAAM,OAAO,4BAA4B,CAAC;IAC1C,KAAK;AACL;IACA,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACtD,QAAQ,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;IAC9C,UAAU,OAAO,IAAI,CAAC;IACtB,SAAS;IACT,OAAO;AACP;IACA,MAAM,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;IACtF,QAAQ,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;IAC/B,UAAU,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,SAAS;IACT,QAAQ,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,CAAC;IACT,MAAM,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,qBAAqB,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;IACzM,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,yBAAyB,CAAC,WAAW,EAAE;IAClD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IAC7C,QAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,kDAAkD,CAAC,CAAC;IACxJ,OAAO;IACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;IACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAAC,CAAC;IAC/K,OAAO;IACP,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;IACjC,QAAQ,IAAID,KAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;IACjC,UAAU,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAED,sBAAoB,CAAC,CAAC;IAC3H,UAAU,IAAI,KAAK,YAAY,KAAK,EAAE;IACtC,YAAY,OAAO,KAAK,CAAC;IACzB,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,sBAAsB,CAAC,mBAAmB,EAAE;IACvD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;IAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAGE,cAAY,CAAC,wEAAwE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9I,MAAM,OAAO,4BAA4B,CAAC;IAC1C,KAAK;AACL;IACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACzD,MAAM,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;IACzC,QAAQA,cAAY;IACpB,UAAU,oFAAoF;IAC9F,UAAU,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG;IAClF,SAAS,CAAC;IACV,QAAQ,OAAO,4BAA4B,CAAC;IAC5C,OAAO;IACP,KAAK;AACL;IACA,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC3D,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAEF,sBAAoB,CAAC,IAAI,IAAI,EAAE;IAC3G,UAAU,OAAO,IAAI,CAAC;IACtB,SAAS;IACT,OAAO;AACP;IACA,MAAM,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9H,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,iBAAiB,GAAG;IAC/B,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;IACpC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,0BAA0B,CAAC,CAAC,CAAC;IACtJ,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,sBAAsB,CAAC,UAAU,EAAE;IAC9C,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;IACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAC9K,OAAO;IACP,MAAM,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;IAClC,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,IAAI,CAAC,OAAO,EAAE;IACtB,UAAU,SAAS;IACnB,SAAS;IACT,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAEA,sBAAoB,CAAC,CAAC;IACrH,QAAQ,IAAI,KAAK,EAAE;IACnB,UAAU,OAAO,KAAK,CAAC;IACvB,SAAS;IACT,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,4BAA4B,CAAC,UAAU,EAAE;IACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;IACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAC9K,OAAO;IACP;IACA;IACA,MAAM,IAAI,OAAO,GAAGI,YAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;IAC/B,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,IAAI,CAAC,OAAO,EAAE;IACtB,UAAU,OAAO,IAAI,aAAa;IAClC,YAAY,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,GAAG,GAAG,iBAAiB,GAAG,aAAa,GAAG,IAAI;IACpH,YAAY,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1E,YAAY,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IACnF,WAAW,CAAC;IACZ,SAAS;IACT,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAEJ,sBAAoB,CAAC,CAAC;IACrH,QAAQ,IAAI,KAAK,EAAE;IACnB,UAAU,OAAO,KAAK,CAAC;IACvB,SAAS;IACT,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;AACL;IACA,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAChD,GAAG;AACH;IACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE;IAC7B,IAAI,QAAQ,OAAO,SAAS;IAC5B,MAAM,KAAK,QAAQ,CAAC;IACpB,MAAM,KAAK,QAAQ,CAAC;IACpB,MAAM,KAAK,WAAW;IACtB,QAAQ,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,SAAS;IACpB,QAAQ,OAAO,CAAC,SAAS,CAAC;IAC1B,MAAM,KAAK,QAAQ;IACnB,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IACtC,UAAU,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,SAAS;IACT,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;IAC7D,UAAU,OAAO,IAAI,CAAC;IACtB,SAAS;AACT;IACA,QAAQ,IAAI,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAClD,QAAQ,IAAI,UAAU,EAAE;IACxB,UAAU,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE;IAChD,YAAY,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;IACnD,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACvC,gBAAgB,OAAO,KAAK,CAAC;IAC7B,eAAe;IACf,aAAa;IACb,WAAW,MAAM;IACjB;IACA,YAAY,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;IACnD,cAAc,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACrC,cAAc,IAAI,KAAK,EAAE;IACzB,gBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IACvC,kBAAkB,OAAO,KAAK,CAAC;IAC/B,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,WAAW;IACX,SAAS,MAAM;IACf,UAAU,OAAO,KAAK,CAAC;IACvB,SAAS;AACT;IACA,QAAQ,OAAO,IAAI,CAAC;IACpB,MAAM;IACN,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;IACL,GAAG;AACH;IACA,EAAE,SAAS,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IACzC;IACA,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;IAC/B,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;AACL;IACA;IACA,IAAI,IAAI,CAAC,SAAS,EAAE;IACpB,MAAM,OAAO,KAAK,CAAC;IACnB,KAAK;AACL;IACA;IACA,IAAI,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE;IACjD,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;AACL;IACA;IACA,IAAI,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,SAAS,YAAY,MAAM,EAAE;IACrE,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;AACL;IACA,IAAI,OAAO,KAAK,CAAC;IACjB,GAAG;AACH;IACA;IACA,EAAE,SAAS,WAAW,CAAC,SAAS,EAAE;IAClC,IAAI,IAAI,QAAQ,GAAG,OAAO,SAAS,CAAC;IACpC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAClC,MAAM,OAAO,OAAO,CAAC;IACrB,KAAK;IACL,IAAI,IAAI,SAAS,YAAY,MAAM,EAAE;IACrC;IACA;IACA;IACA,MAAM,OAAO,QAAQ,CAAC;IACtB,KAAK;IACL,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;IACvC,MAAM,OAAO,QAAQ,CAAC;IACtB,KAAK;IACL,IAAI,OAAO,QAAQ,CAAC;IACpB,GAAG;AACH;IACA;IACA;IACA,EAAE,SAAS,cAAc,CAAC,SAAS,EAAE;IACrC,IAAI,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,IAAI,EAAE;IAChE,MAAM,OAAO,EAAE,GAAG,SAAS,CAAC;IAC5B,KAAK;IACL,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAI,SAAS,YAAY,IAAI,EAAE;IACrC,QAAQ,OAAO,MAAM,CAAC;IACtB,OAAO,MAAM,IAAI,SAAS,YAAY,MAAM,EAAE;IAC9C,QAAQ,OAAO,QAAQ,CAAC;IACxB,OAAO;IACP,KAAK;IACL,IAAI,OAAO,QAAQ,CAAC;IACpB,GAAG;AACH;IACA;IACA;IACA,EAAE,SAAS,wBAAwB,CAAC,KAAK,EAAE;IAC3C,IAAI,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,QAAQ,IAAI;IAChB,MAAM,KAAK,OAAO,CAAC;IACnB,MAAM,KAAK,QAAQ;IACnB,QAAQ,OAAO,KAAK,GAAG,IAAI,CAAC;IAC5B,MAAM,KAAK,SAAS,CAAC;IACrB,MAAM,KAAK,MAAM,CAAC;IAClB,MAAM,KAAK,QAAQ;IACnB,QAAQ,OAAO,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM;IACN,QAAQ,OAAO,IAAI,CAAC;IACpB,KAAK;IACL,GAAG;AACH;IACA;IACA,EAAE,SAAS,YAAY,CAAC,SAAS,EAAE;IACnC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;IAC/D,MAAM,OAAO,SAAS,CAAC;IACvB,KAAK;IACL,IAAI,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,GAAG;AACH;IACA,EAAE,cAAc,CAAC,cAAc,GAAGK,gBAAc,CAAC;IACjD,EAAE,cAAc,CAAC,iBAAiB,GAAGA,gBAAc,CAAC,iBAAiB,CAAC;IACtE,EAAE,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC;AAC5C;IACA,EAAE,OAAO,cAAc,CAAC;IACxB,CAAC;;ICnkBD,SAAS,aAAa,GAAG,EAAE;IAC3B,SAAS,sBAAsB,GAAG,EAAE;IACpC,sBAAsB,CAAC,iBAAiB,GAAG,aAAa,CAAC;AACzD;IACA,4BAAc,GAAG,WAAW;IAC5B,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;IAChF,IAAI,IAAI,MAAM,KAAKL,sBAAoB,EAAE;IACzC;IACA,MAAM,OAAO;IACb,KAAK;IACL,IAAI,IAAI,GAAG,GAAG,IAAI,KAAK;IACvB,MAAM,sFAAsF;IAC5F,MAAM,+CAA+C;IACrD,MAAM,gDAAgD;IACtD,KAAK,CAAC;IACN,IAAI,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC;IACd,GAAG,AACH,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,EAAE,SAAS,OAAO,GAAG;IACrB,IAAI,OAAO,IAAI,CAAC;IAChB,GAAG,AACH;IACA;IACA,EAAE,IAAI,cAAc,GAAG;IACvB,IAAI,KAAK,EAAE,IAAI;IACf,IAAI,IAAI,EAAE,IAAI;IACd,IAAI,IAAI,EAAE,IAAI;IACd,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;AAChB;IACA,IAAI,GAAG,EAAE,IAAI;IACb,IAAI,OAAO,EAAE,OAAO;IACpB,IAAI,OAAO,EAAE,IAAI;IACjB,IAAI,WAAW,EAAE,IAAI;IACrB,IAAI,UAAU,EAAE,OAAO;IACvB,IAAI,IAAI,EAAE,IAAI;IACd,IAAI,QAAQ,EAAE,OAAO;IACrB,IAAI,KAAK,EAAE,OAAO;IAClB,IAAI,SAAS,EAAE,OAAO;IACtB,IAAI,KAAK,EAAE,OAAO;IAClB,IAAI,KAAK,EAAE,OAAO;AAClB;IACA,IAAI,cAAc,EAAE,sBAAsB;IAC1C,IAAI,iBAAiB,EAAE,aAAa;IACpC,GAAG,CAAC;AACJ;IACA,EAAE,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC;AAC5C;IACA,EAAE,OAAO,cAAc,CAAC;IACxB,CAAC;;;IC/DD;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IAC3C,EAAE,IAAI,OAAO,GAAGH,OAAmB,CAAC;AACpC;IACA;IACA;IACA,EAAE,IAAI,mBAAmB,GAAG,IAAI,CAAC;IACjC,EAAE,cAAc,GAAGC,uBAAoC,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAChG,CAAC,MAAM;IACP;IACA;IACA,EAAE,cAAc,GAAGQ,wBAAqC,EAAE,CAAC;IAC3D;;;aCZgB,KAAK,CACnB,KAA+C;QAEvC,IAAA,yBAAQ,EAAE,mBAAK,EAAE,8CAAU,CAAW;QAC9C,IAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,QAAQ,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;KACrD;IAED,WAAiB,KAAK;QACP,eAAS,GAAG;YACvB,MAAM,EAAEC,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAEA,SAAS,CAAC,IAAI,CAAC,UAAU;YACnC,WAAW,EAAEA,SAAS,CAAC,MAAM;YAC7B,2BAA2B,EAAEA,SAAS,CAAC,IAAI;YAC3C,WAAW,EAAEA,SAAS,CAAC,IAAI;YAC3B,OAAO,EAAEA,SAAS,CAAC,IAAI;YACvB,YAAY,EAAEA,SAAS,CAAC,MAAM;YAC9B,KAAK,EAAEA,SAAS,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAEA,SAAS,CAAC,MAAM;YAC3B,GAAG,EAAEA,SAAS,CAAC,IAAI;YACnB,cAAc,EAAEA,SAAS,CAAC,IAAI;YAC9B,iBAAiB,EAAEA,SAAS,CAAC,IAAI;SAClC,CAAC;KACH,EAfgB,KAAK,KAAL,KAAK,QAerB;;aCvBe,QAAQ,CACtB,KAAkD;QAE5C,IAAA,uCAA0D,EAAzD,mBAAW,EAAE,cAA4C,CAAC;QACjE,OAAO,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;KACpE;IAED,WAAiB,QAAQ;QACV,kBAAS,GAAG;YACvB,QAAQ,EAAEA,SAAS,CAAC,MAAM,CAAC,UAAU;YACrC,SAAS,EAAEA,SAAS,CAAC,MAAM;YAC3B,kBAAkB,EAAEA,SAAS,CAAC,SAAS,CAAC,CAACA,SAAS,CAAC,MAAM,EAAEA,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3E,cAAc,EAAEA,SAAS,CAAC,SAAS,CAAC;gBAClCA,SAAS,CAAC,OAAO,CACfA,SAAS,CAAC,SAAS,CAAC,CAACA,SAAS,CAAC,MAAM,EAAEA,SAAS,CAAC,MAAM,CAAC,CAAC,CAC1D;gBACDA,SAAS,CAAC,IAAI;aACf,CAAC;YACF,mBAAmB,EAAEA,SAAS,CAAC,IAAI;YACnC,MAAM,EAAEA,SAAS,CAAC,IAAI;YACtB,QAAQ,EAAEA,SAAS,CAAC,IAAI,CAAC,UAAU;YACnC,WAAW,EAAEA,SAAS,CAAC,IAAI;YAC3B,OAAO,EAAEA,SAAS,CAAC,IAAI;YACvB,WAAW,EAAEA,SAAS,CAAC,MAAM;SAC9B,CAAC;KACH,EAlBgB,QAAQ,KAAR,QAAQ,QAkBxB;;aCzBe,YAAY,CAC1B,KAAsD;QAEtD,IAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;KACjE;IAED,WAAiB,YAAY;QACd,sBAAS,GAAG;YACvB,YAAY,EAAEA,SAAS,CAAC,MAAM,CAAC,UAAU;YACzC,SAAS,EAAEA,SAAS,CAAC,MAAM;YAC3B,QAAQ,EAAEA,SAAS,CAAC,IAAI;YACxB,kBAAkB,EAAEA,SAAS,CAAC,IAAI;YAClC,sBAAsB,EAAEA,SAAS,CAAC,IAAI;YACtC,iBAAiB,EAAEA,SAAS,CAAC,SAAS,CAAC,CAACA,SAAS,CAAC,IAAI,EAAEA,SAAS,CAAC,IAAI,CAAC,CAAC;SACzE,CAAC;KACH,EATgB,YAAY,KAAZ,YAAY,QAS5B;;IClBD;IACA;IACA;IACA;IACA,IAAI,aAAa,GAAG;IACpB,EAAE,iBAAiB,EAAE,IAAI;IACzB,EAAE,WAAW,EAAE,IAAI;IACnB,EAAE,YAAY,EAAE,IAAI;IACpB,EAAE,YAAY,EAAE,IAAI;IACpB,EAAE,WAAW,EAAE,IAAI;IACnB,EAAE,eAAe,EAAE,IAAI;IACvB,EAAE,wBAAwB,EAAE,IAAI;IAChC,EAAE,wBAAwB,EAAE,IAAI;IAChC,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,SAAS,EAAE,IAAI;IACjB,EAAE,IAAI,EAAE,IAAI;IACZ,CAAC,CAAC;IACF,IAAI,aAAa,GAAG;IACpB,EAAE,IAAI,EAAE,IAAI;IACZ,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,SAAS,EAAE,IAAI;IACjB,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,SAAS,EAAE,IAAI;IACjB,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC;IACF,IAAI,mBAAmB,GAAG;IAC1B,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,YAAY,EAAE,IAAI;IACpB,EAAE,WAAW,EAAE,IAAI;IACnB,EAAE,SAAS,EAAE,IAAI;IACjB,CAAC,CAAC;IACF,IAAI,YAAY,GAAG;IACnB,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,OAAO,EAAE,IAAI;IACf,EAAE,YAAY,EAAE,IAAI;IACpB,EAAE,WAAW,EAAE,IAAI;IACnB,EAAE,SAAS,EAAE,IAAI;IACjB,EAAE,IAAI,EAAE,IAAI;IACZ,CAAC,CAAC;IACF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAC;IACvD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;AAC1C;IACA,SAAS,UAAU,CAAC,SAAS,EAAE;IAC/B;IACA,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;IACjC,IAAI,OAAO,YAAY,CAAC;IACxB,GAAG;AACH;AACA;IACA,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,aAAa,CAAC;IAC9D,CAAC;AACD;IACA,IAAI,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC3C,IAAI,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACrD,IAAIC,uBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzD,IAAI,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC/D,IAAI,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC3C,IAAI,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;IACvC,SAAS,oBAAoB,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE;IAC3E,EAAE,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;IAC3C;IACA,IAAI,IAAI,eAAe,EAAE;IACzB,MAAM,IAAI,kBAAkB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC/D;IACA,MAAM,IAAI,kBAAkB,IAAI,kBAAkB,KAAK,eAAe,EAAE;IACxE,QAAQ,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC7E,OAAO;IACP,KAAK;AACL;IACA,IAAI,IAAI,IAAI,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACpD;IACA,IAAI,IAAIA,uBAAqB,EAAE;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAACA,uBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,KAAK;AACL;IACA,IAAI,IAAI,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,IAAI,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AACpD;IACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IAC1C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB;IACA,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;IACrJ,QAAQ,IAAI,UAAU,GAAG,wBAAwB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AACxE;IACA,QAAQ,IAAI;IACZ;IACA,UAAU,cAAc,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE;IACtB,OAAO;IACP,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,eAAe,CAAC;IACzB,CAAC;AACD;IACA,4BAAc,GAAG,oBAAoB;;IClG9B,IAAM,wBAAwB,GAAG,cAAM,QAAC,EAAE,IAAC,CAAC;IAE5C,IAAM,qBAAqB,GAAG,cAAM,OAAA,KAAK,GAAA,CAAC;IAEjD,SAAgB,cAAc,CAAI,gBAAwC;QACxE,OAAO,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;KAC7E;IAED,SAAgB,2BAA2B,CACzC,SAA8B,EAC9B,KAAa;QAEb,IAAI,SAAS,GAAuB,EAAE,CAAC;QACvC,KAA+B,UAAmB,EAAnB,KAAA,SAAS,CAAC,SAAS,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAA3C,IAAA,WAAkB,EAAhB,sBAAQ,EAAE,cAAI;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErD,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,IAAM,YAAY,GAAI,KAAa,CAAC,YAAY,CAAC,CAAC;YAElD,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;gBACvC,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;gBACvC,SAAS;aACV;YAGD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;gBAC/B,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;aACrC;SACF;QACD,OAAO,SAAS,CAAC;KAClB;IAOD;QAIY,+BAA+B;QAKzC,qBAAY,KAAa;YAAzB,YACE,kBAAM,KAAK,CAAC,SAEb;YAPM,aAAO,GAAY,KAAK,CAAC;YAM9B,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;SAC9D;QAED,wCAAkB,GAAlB;YACE,8EAEwD;gBACtD,kCAAkC,CACnC,CAAC;YAEF,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QAED,wCAAkB,GAAlB,UAAmB,GAAsC;YACvD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;SAC5B;QACH,kBAAC;KAAA,CAvBWnB,cAAK,CAAC,SAAS,GAuB1B;;aCrDe,SAAS,CAMvB,QAAsB,EACtB,gBAKM;QALN,iCAAA,EAAA,qBAKM;QAGN,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAGjC,IAAA,6BAAkC,EAAlC,uDAAkC,EAClC,0BAA4B,EAA5B,iDAA4B,EAC5B,2BAAgB,EAAhB,qCAAgB,CACG;QAErB,IAAI,iBAAiB,GAAG,OAA2C,CAAC;QACpE,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;YAC3C,iBAAiB,GAAG,cAAM,OAAA,OAA2B,GAAA,CAAC;SACvD;QAED,IAAI,cAAc,GAAG,IAA+B,CAAC;QACrD,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;YACxC,cAAc,GAAG,cAAM,OAAA,IAAW,GAAA,CAAC;SACpC;QAGD,IAAI,eAAmC,CAAC;QACxC,OAAO,UACL,gBAA2D;YAE3D,IAAM,kBAAkB,GAAM,KAAK,SAAI,cAAc,CAAC,gBAAgB,CAAC,MAAG,CAAC;YAC3E;gBAAsB,2BAAgC;gBAAtD;;iBAwEC;gBApEC,wBAAM,GAAN;oBAAA,iBAmEC;oBAlEC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACvB,IAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAM,IAAI,GAAG,UAAU;0BACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;uCACd,iBAAiB,CAAC,KAAK,CAAC,CAAE,CAAC;oBAEpC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpE,IAAI,CAAC,SAAS,GAAG,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;qBAChE;oBAED,QACEA,6BAAC,KAAK,eACA,IAAI,IACR,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,QAAQ,KAEd,UAAC,EAA8B;;wBAA5B,IAAA,aAAS,EAAE,cAAI,EAAE,kCAAI;wBACvB,IAAI,gBAAgB,CAAC,OAAO,EAAE;4BAC5B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;4BACpB,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;gCAC/B,GAAG,EAAE,KAAI,CAAC,kBAAkB;6BAC7B,CAAC,CAAC;yBACJ;wBAGD,IAAI,UAAU,EAAE;4BACd,QACEA,6BAAC,gBAAgB,eACX,KAAe,EACf,EAAiB,EACrB,EACF;yBACH;wBAKD,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;wBAC5C,IAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,IAAI,MAAM,CAAC;wBAC7C,IAAI,UAAU,aAAK,GAAC,IAAI,IAAG,MAAM,KAAE,CAAC;wBACpC,IAAI,gBAAgB,CAAC,KAAK,EAAE;4BAC1B,IAAM,SAAS;gCAKb,GAAC,IAAI,IAAG,MAAM;gCACd,WAAQ,GAAE,KAAe;mCAC1B,CAAC;4BACF,eAAe,GAAG,gBAAgB,CAAC,KAAK,CACtC,SAAS,EACT,eAAe,CAChB,CAAC;4BACF,UAAU,GAAG,eAAe,CAAC;yBAC9B;wBAED,QACEA,6BAAC,gBAAgB,eACX,KAAe,EACf,UAAyB,EAC7B,EACF;qBACH,CACK,EACR;iBACH;gBAtEM,mBAAW,GAAG,kBAAkB,CAAC;gBACjC,wBAAgB,GAAG,gBAAgB,CAAC;gBAsE7C,cAAC;aAAA,CAxEqB,WAAW,GAwEhC;YAGD,OAAOoB,wBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;SAC5D,CAAC;KACH;;ICtGD,WAAY,iBAAiB;QAC3B,sCAAiB,CAAA;QACjB,wCAAmB,CAAA;IACrB,CAAC,EAHWC,yBAAiB,KAAjBA,yBAAiB,QAG5B;AAuDD,QAAa,aAAa,GAAGC,KAAG,yJAAA,sFAS3B,IAAA,CAAC;AAGF,QAAa,cAAc,GAAG,UAAC,KAA0B,IAAK,QAC5DC,oBAACC,KAA2B,aAAkC,KAAK,EAAE,aAAa,IAAM,KAAK,EAAI,IAClG,CAAC;AAGN,aAAgB,SAAS,CAA2B,gBAI1B;QACtB,OAAOC,SAAwB,CAAmE,aAAa,aAC7G,KAAK,EAAE,OAAO,IACX,gBAAgB,EACnB,CAAC;IACP,CAAC;AAAA;;;ACjHD,AACA;IACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC,CAAC;IACH,kBAAkB,GAAG,KAAK,CAAC,CAAC;AAC5B;IACA,SAAS,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,YAAY,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC,EAAE,EAAE;AACzJ;IACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE;AAC7T;IACA,SAAS,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,EAAE;AACvN;IACA;IACA,IAAI,UAAU,GAAG,YAAY;IAC7B,EAAE,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC;IACtC,CAAC,CAAC;AACF;IACA,IAAI,SAAS,GAAG,UAAU,IAAI,EAAE;IAChC,EAAE,OAAO,UAAU,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;AACF;IACA,IAAI,SAAS,GAAG,UAAU,IAAI,EAAE;IAChC,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtD,CAAC,CAAC;AACF;IACA,IAAI,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;IAC9C,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;AACD;IACA,IAAI,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AACzC;IACA,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;IAC7B,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,OAAO,SAAS,CAAC;IACtC,EAAE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,KAAK,GAAG,oBAAoB,CAAC,CAAC;IACrF,EAAE,OAAO,KAAK,CAAC;IACf,CAAC;AACD;IACA,SAAS,UAAU,CAAC,GAAG,EAAE;IACzB,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;AAC7B;IACA,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE;IAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/B;IACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,IAAI,KAAK,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;IAChD,CAAC;AACD;IACA,SAAS,YAAY,CAAC,CAAC,EAAE;IACzB,EAAE,OAAO,CAAC,YAAY,UAAU,CAAC;IACjC,CAAC;AACD;IACA,SAAS,eAAe,CAAC,CAAC,EAAE;IAC5B,EAAE,IAAI,eAAe,CAAC,GAAG,EAAE;IAC3B,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,GAAG,MAAM;IACT,IAAI,UAAU,CAAC,YAAY;IAC3B,MAAM,MAAM,CAAC,CAAC;IACd,KAAK,CAAC,CAAC;IACP,GAAG;IACH,CAAC;AACD;IACA,SAAS,OAAO,CAAC,EAAE,EAAE;IACrB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY;IACrC,IAAI,IAAI;IACR,MAAM,EAAE,EAAE,CAAC;IACX,KAAK,CAAC,OAAO,CAAC,EAAE;IAChB,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;IACzB,KAAK;IACL,GAAG,CAAC,CAAC;IACL,CAAC;AACD;IACA,SAAS,mBAAmB,CAAC,YAAY,EAAE;IAC3C,EAAE,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC;IACtC,EAAE,IAAI,OAAO,KAAK,SAAS,EAAE,OAAO;IACpC,EAAE,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC;AACpC;IACA,EAAE,IAAI,CAAC,OAAO,EAAE;IAChB,IAAI,OAAO;IACX,GAAG;AACH;IACA,EAAE,IAAI;IACN,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;IACvC,MAAM,OAAO,EAAE,CAAC;IAChB,KAAK,MAAM;IACX,MAAM,IAAI,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC1D;IACA,MAAM,IAAI,WAAW,EAAE;IACvB,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO;IACP,KAAK;IACL,GAAG,CAAC,OAAO,CAAC,EAAE;IACd,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACvB,GAAG;IACH,CAAC;AACD;IACA,SAAS,iBAAiB,CAAC,YAAY,EAAE;IACzC,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;IAClC,EAAE,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;IACjC,CAAC;AACD;IACA,SAAS,iBAAiB,CAAC,YAAY,EAAE;IACzC,EAAE,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;AAClC;IACA,EAAE,IAAI,CAAC,KAAK,EAAE;IACd,IAAI,OAAO;IACX,GAAG;AACH;IACA,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;IAClC,EAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;AAChC;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IACzC,IAAI,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,MAAM;IAChD,GAAG;IACH,CAAC;AACD;IACA,SAAS,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;IACvD,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;IAClC,EAAE,IAAI,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC;AACxC;IACA,EAAE,IAAI;IACN,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtC;IACA,IAAI,QAAQ,IAAI;IAChB,MAAM,KAAK,MAAM;IACjB,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,QAAQ,MAAM;AACd;IACA,MAAM,KAAK,OAAO;IAClB,QAAQ,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC;IACxD,QAAQ,MAAM;AACd;IACA,MAAM,KAAK,UAAU;IACrB,QAAQ,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,QAAQ,MAAM;IACd,KAAK;IACL,GAAG,CAAC,OAAO,CAAC,EAAE;IACd,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACvB,GAAG;AACH;IACA,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;IACpJ,CAAC;AACD;IACA,SAAS,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;IAC7C,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;AAC/C;IACA,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE;IAC3C,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7B,MAAM,IAAI,EAAE,IAAI;IAChB,MAAM,KAAK,EAAE,KAAK;IAClB,KAAK,CAAC,CAAC;AACP;IACA,IAAI,OAAO;IACX,GAAG;AACH;IACA,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE;IACvC,IAAI,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC;IACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;IAC3B,MAAM,IAAI,EAAE,IAAI;IAChB,MAAM,KAAK,EAAE,KAAK;IAClB,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,CAAC,YAAY;IACxB,MAAM,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,KAAK,CAAC,CAAC;IACP,IAAI,OAAO;IACX,GAAG;AACH;IACA,EAAE,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;AACD;IACA,IAAI,YAAY;IAChB;IACA,YAAY;IACZ,EAAE,SAAS,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC9C,IAAI,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACxC;IACA;IACA;IACA,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;IACjC,IAAI,IAAI,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC9D;IACA,IAAI,IAAI;IACR,MAAM,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACvE,KAAK,CAAC,OAAO,CAAC,EAAE;IAChB,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK;AACL;IACA,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IAC9D,GAAG;AACH;IACA,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;IAC9B,IAAI,GAAG,EAAE,aAAa;IACtB,IAAI,KAAK,EAAE,SAAS,WAAW,GAAG;IAClC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;IACpC,QAAQ,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO;IACP,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,QAAQ;IACjB,IAAI,GAAG,EAAE,YAAY;IACrB,MAAM,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;IACtC,KAAK;IACL,GAAG,CAAC,CAAC,CAAC;AACN;IACA,EAAE,OAAO,YAAY,CAAC;IACtB,CAAC,EAAE,CAAC;AACJ;IACA,IAAI,oBAAoB;IACxB;IACA,YAAY;IACZ,EAAE,SAAS,oBAAoB,CAAC,YAAY,EAAE;IAC9C,IAAI,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAChD;IACA,IAAI,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,GAAG;AACH;IACA,EAAE,YAAY,CAAC,oBAAoB,EAAE,CAAC;IACtC,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAChC,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,OAAO;IAChB,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE;IACjC,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,UAAU;IACnB,IAAI,KAAK,EAAE,SAAS,QAAQ,GAAG;IAC/B,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC/C,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,QAAQ;IACjB,IAAI,GAAG,EAAE,YAAY;IACrB,MAAM,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,QAAQ,CAAC;IACpD,KAAK;IACL,GAAG,CAAC,CAAC,CAAC;AACN;IACA,EAAE,OAAO,oBAAoB,CAAC;IAC9B,CAAC,EAAE,CAAC;AACJ;IACA,IAAI,UAAU;IACd;IACA,YAAY;IACZ,EAAE,SAAS,UAAU,CAAC,UAAU,EAAE;IAClC,IAAI,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACtC;IACA,IAAI,IAAI,EAAE,IAAI,YAAY,UAAU,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACxG,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAC3G,IAAI,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,GAAG;AACH;IACA,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC;IAC5B,IAAI,GAAG,EAAE,WAAW;IACpB,IAAI,KAAK,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE;IACxC,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE;IAC7D,QAAQ,QAAQ,GAAG;IACnB,UAAU,IAAI,EAAE,QAAQ;IACxB,UAAU,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7B,UAAU,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC;IACV,OAAO;AACP;IACA,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,SAAS;IAClB,IAAI,KAAK,EAAE,SAAS,OAAO,CAAC,EAAE,EAAE;IAChC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC;AACvB;IACA,MAAM,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;IACpD,QAAQ,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;IACtC,UAAU,MAAM,CAAC,IAAI,SAAS,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAC3D,UAAU,OAAO;IACjB,SAAS;AACT;IACA,QAAQ,SAAS,IAAI,GAAG;IACxB,UAAU,YAAY,CAAC,WAAW,EAAE,CAAC;IACrC,UAAU,OAAO,EAAE,CAAC;IACpB,SAAS;AACT;IACA,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3C,UAAU,IAAI,EAAE,UAAU,KAAK,EAAE;IACjC,YAAY,IAAI;IAChB,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,aAAa,CAAC,OAAO,CAAC,EAAE;IACxB,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,cAAc,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,aAAa;IACb,WAAW;IACX,UAAU,KAAK,EAAE,MAAM;IACvB,UAAU,QAAQ,EAAE,OAAO;IAC3B,SAAS,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,KAAK;IACd,IAAI,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE;IAC5B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;AACxB;IACA,MAAM,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,OAAO,MAAM,CAAC,SAAS,CAAC;IAChC,UAAU,IAAI,EAAE,UAAU,KAAK,EAAE;IACjC,YAAY,IAAI;IAChB,cAAc,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChC,aAAa,CAAC,OAAO,CAAC,EAAE;IACxB,cAAc,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,aAAa;AACb;IACA,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW;IACX,UAAU,KAAK,EAAE,UAAU,CAAC,EAAE;IAC9B,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,WAAW;IACX,UAAU,QAAQ,EAAE,YAAY;IAChC,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChC,WAAW;IACX,SAAS,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,QAAQ;IACjB,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE;IAC/B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;AACxB;IACA,MAAM,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,OAAO,MAAM,CAAC,SAAS,CAAC;IAChC,UAAU,IAAI,EAAE,UAAU,KAAK,EAAE;IACjC,YAAY,IAAI;IAChB,cAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO;IACrC,aAAa,CAAC,OAAO,CAAC,EAAE;IACxB,cAAc,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,aAAa;AACb;IACA,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW;IACX,UAAU,KAAK,EAAE,UAAU,CAAC,EAAE;IAC9B,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,WAAW;IACX,UAAU,QAAQ,EAAE,YAAY;IAChC,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChC,WAAW;IACX,SAAS,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,QAAQ;IACjB,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE;IAC/B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;AACxB;IACA,MAAM,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC;IAC3B,MAAM,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC;IACrB,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,OAAO,MAAM,CAAC,SAAS,CAAC;IAChC,UAAU,IAAI,EAAE,UAAU,KAAK,EAAE;IACjC,YAAY,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC;IAClC,YAAY,QAAQ,GAAG,IAAI,CAAC;AAC5B;IACA,YAAY,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE;IACnC,cAAc,IAAI;IAClB,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,eAAe,CAAC,OAAO,CAAC,EAAE;IAC1B,gBAAgB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,eAAe;IACf,aAAa,MAAM;IACnB,cAAc,GAAG,GAAG,KAAK,CAAC;IAC1B,aAAa;IACb,WAAW;IACX,UAAU,KAAK,EAAE,UAAU,CAAC,EAAE;IAC9B,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,WAAW;IACX,UAAU,QAAQ,EAAE,YAAY;IAChC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC/G,YAAY,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChC,WAAW;IACX,SAAS,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,QAAQ;IACjB,IAAI,KAAK,EAAE,SAAS,MAAM,GAAG;IAC7B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;AACxB;IACA,MAAM,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;IAClG,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;AACP;IACA,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,IAAI,YAAY,CAAC;IACzB,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB;IACA,QAAQ,SAAS,SAAS,CAAC,IAAI,EAAE;IACjC,UAAU,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;IACxC,YAAY,IAAI,EAAE,UAAU,CAAC,EAAE;IAC/B,cAAc,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,aAAa;IACb,YAAY,KAAK,EAAE,UAAU,CAAC,EAAE;IAChC,cAAc,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,aAAa;IACb,YAAY,QAAQ,EAAE,YAAY;IAClC,cAAc,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE;IAC5C,gBAAgB,YAAY,GAAG,SAAS,CAAC;IACzC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,eAAe,MAAM;IACrB,gBAAgB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,eAAe;IACf,aAAa;IACb,WAAW,CAAC,CAAC;IACb,SAAS;AACT;IACA,QAAQ,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,OAAO,YAAY;IAC3B,UAAU,IAAI,YAAY,EAAE;IAC5B,YAAY,YAAY,CAAC,WAAW,EAAE,CAAC;IACvC,YAAY,YAAY,GAAG,SAAS,CAAC;IACrC,WAAW;IACX,SAAS,CAAC;IACV,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,SAAS;IAClB,IAAI,KAAK,EAAE,SAAS,OAAO,CAAC,EAAE,EAAE;IAChC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;AACxB;IACA,MAAM,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B;IACA,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,UAAU,IAAI,EAAE,UAAU,KAAK,EAAE;IACjC,YAAY,IAAI,EAAE,EAAE;IACpB,cAAc,IAAI;IAClB,gBAAgB,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,eAAe,CAAC,OAAO,CAAC,EAAE;IAC1B,gBAAgB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,eAAe;IACf,aAAa;AACb;IACA,YAAY,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IAChD,cAAc,IAAI,EAAE,UAAU,KAAK,EAAE;IACrC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,eAAe;IACf,cAAc,KAAK,EAAE,UAAU,CAAC,EAAE;IAClC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,eAAe;IACf,cAAc,QAAQ,EAAE,YAAY;IACpC,gBAAgB,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,gBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,gBAAgB,cAAc,EAAE,CAAC;IACjC,eAAe;IACf,aAAa,CAAC,CAAC;IACf,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,WAAW;IACX,UAAU,KAAK,EAAE,UAAU,CAAC,EAAE;IAC9B,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,WAAW;IACX,UAAU,QAAQ,EAAE,YAAY;IAChC,YAAY,cAAc,EAAE,CAAC;IAC7B,WAAW;IACX,SAAS,CAAC,CAAC;AACX;IACA,QAAQ,SAAS,cAAc,GAAG;IAClC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC9E,SAAS;AACT;IACA,QAAQ,OAAO,YAAY;IAC3B,UAAU,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;IAC7C,YAAY,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,WAAW,CAAC,CAAC;IACb,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,SAAS,CAAC;IACV,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,gBAAgB;IACzB,IAAI,KAAK,EAAE,YAAY;IACvB,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,GAAG,CAAC,EAAE,CAAC;IACP,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE;IAC5B,MAAM,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;IAC7D,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAClE,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD;IACA,MAAM,IAAI,MAAM,EAAE;IAClB,QAAQ,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,mBAAmB,CAAC,CAAC;IACrG,QAAQ,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,WAAW,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC;IACxF,QAAQ,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACzC,UAAU,OAAO,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChD,SAAS,CAAC,CAAC;IACX,OAAO;AACP;IACA,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE;IACjC,QAAQ,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAC9C;IACA,QAAQ,IAAI,MAAM,EAAE;IACpB,UAAU,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IAC3C,YAAY,OAAO,CAAC,YAAY;IAChC,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;IAC1C,cAAc,IAAI,yBAAyB,GAAG,IAAI,CAAC;IACnD,cAAc,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC5C,cAAc,IAAI,cAAc,GAAG,SAAS,CAAC;AAC7C;IACA,cAAc,IAAI;IAClB,gBAAgB,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,yBAAyB,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAG,IAAI,EAAE;IACjL,kBAAkB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1C,kBAAkB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,kBAAkB,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;IAC9C,iBAAiB;IACjB,eAAe,CAAC,OAAO,GAAG,EAAE;IAC5B,gBAAgB,iBAAiB,GAAG,IAAI,CAAC;IACzC,gBAAgB,cAAc,GAAG,GAAG,CAAC;IACrC,eAAe,SAAS;IACxB,gBAAgB,IAAI;IACpB,kBAAkB,IAAI,CAAC,yBAAyB,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE;IAC9E,oBAAoB,SAAS,CAAC,MAAM,EAAE,CAAC;IACvC,mBAAmB;IACnB,iBAAiB,SAAS;IAC1B,kBAAkB,IAAI,iBAAiB,EAAE;IACzC,oBAAoB,MAAM,cAAc,CAAC;IACzC,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;AACf;IACA,cAAc,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,aAAa,CAAC,CAAC;IACf,WAAW,CAAC,CAAC;IACb,SAAS;IACT,OAAO;AACP;IACA,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IAC5B,QAAQ,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACzC,UAAU,OAAO,CAAC,YAAY;IAC9B,YAAY,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;AACxC;IACA,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IAC/C,cAAc,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;IAC1C,aAAa;AACb;IACA,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChC,WAAW,CAAC,CAAC;IACb,SAAS,CAAC,CAAC;IACX,OAAO;AACP;IACA,MAAM,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACpD,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,IAAI;IACb,IAAI,KAAK,EAAE,SAAS,EAAE,GAAG;IACzB,MAAM,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;IACtG,QAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO;AACP;IACA,MAAM,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;IAC7D,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,QAAQ,EAAE;IACvC,QAAQ,OAAO,CAAC,YAAY;IAC5B,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;AACtC;IACA,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IACjD,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,YAAY,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;IACxC,WAAW;AACX;IACA,UAAU,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC9B,SAAS,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;IACT,KAAK;IACL,GAAG,EAAE;IACL,IAAI,GAAG,EAAE,aAAa;IACtB,IAAI,GAAG,EAAE,YAAY;IACrB,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,GAAG,CAAC,CAAC,CAAC;AACN;IACA,EAAE,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,CAAC;AACJ;IACA,kBAAkB,GAAG,UAAU,CAAC;AAChC;IACA,IAAI,UAAU,EAAE,EAAE;IAClB,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;IAC1D,IAAI,KAAK,EAAE;IACX,MAAM,MAAM,EAAE,gBAAgB;IAC9B,MAAM,eAAe,EAAE,eAAe;IACtC,KAAK;IACL,IAAI,YAAY,EAAE,IAAI;IACtB,GAAG,CAAC,CAAC;IACL;;;;;;ICxmBA,iBAAc,GAAGjB,YAA8B,CAAC,UAAU;;QCgB7C,UAAU,GAMd;;aCbO,iBAAiB,CAAC,SAAyB;QACzD,IAAM,gBAAgB,GAAG;YACvB,OAAO;YACP,eAAe;YACf,WAAW;YACX,YAAY;YACZ,SAAS;SACV,CAAC;QACF,KAAgB,UAAsB,EAAtB,KAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAAnC,IAAI,GAAG,SAAA;YACV,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACrC,MAAM;aACP;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;QAA+BT,6BAAK;QAElC,mBAAY,OAAgB,EAAE,IAAiB;YAA/C,YACE,kBAAM,OAAO,CAAC,SAEf;YADC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;SAClB;QACH,gBAAC;IAAD,CANA,CAA+B,KAAK,GAMnC;aAEe,aAAa,CAAC,IAAgB;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,CAAC;aAmCe,SAAS,CAAI,UAAe;QAC1C,OAAO,IAAI,UAAU,CAAI,UAAA,QAAQ;YAC/B,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;aAEe,kBAAkB,CAAC,SAAyB;QAC1D,IAAM,oBAAoB,GAAmB;YAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;YACpC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;YACtC,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAGF,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;YACvC,oBAAoB,CAAC,aAAa;gBAChC,OAAO,oBAAoB,CAAC,KAAK,KAAK,QAAQ;sBAC1C2B,gCAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC;sBAC5C,EAAE,CAAC;SACV;QAED,OAAO,oBAAiC,CAAC;IAC3C,CAAC;aAEe,eAAe,CAC7B,QAAa,EACb,SAAyB;QAEzB,IAAI,OAAO,gBAAQ,QAAQ,CAAE,CAAC;QAC9B,IAAM,UAAU,GAAG,UAAA,IAAI;YACrB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;gBAC9B,OAAO,gBAAQ,OAAO,EAAK,IAAI,CAAC,OAAO,CAAC,CAAE,CAAC;aAC5C;iBAAM;gBACL,OAAO,gBAAQ,OAAO,EAAK,IAAI,CAAE,CAAC;aACnC;SACF,CAAC;QACF,IAAM,UAAU,GAAG,cAAM,qBAAM,OAAO,KAAG,CAAC;QAE1C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE;YAC7C,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE;YAC7C,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE;YACxC,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,cAAM,OAAA,MAAM,CAAC,SAAS,CAAC,GAAA;SAC/B,CAAC,CAAC;QAEH,OAAO,SAAsB,CAAC;IAChC,CAAC;aAEe,MAAM,CAAC,SAAyB;QAGtC,IAAA,uBAAK,EAAE,+BAAS,EAAE,uCAAa,CAAe;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3D;;IClHA,SAAS,WAAW,CAAC,EAAE,EAAE,OAAO;QAC9B,OAAO,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,SAAS,MAAM,CAAC,OAAoC;QAClD,OAAO,OAAO,OAAO,KAAK,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3E,CAAC;IAED,SAAgB,KAAK;QACnB,OAAO,IAAI,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,EAAE,EAAE,GAAA,CAAC,CAAC;IAC/C,CAAC;IAED,SAAgB,IAAI,CAAC,KAAmB;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;IACzD,CAAC;IAED,SAAgB,KAAK,CACnB,IAAgC,EAChC,IAAiC,EACjC,KAAmC;QAEnC,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/D,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;YACvD,OAAO,IAAI,UAAU,CAAC,UAAA,SAAS;gBAC7B,OAAO,IAAI,CAAC,SAAS,CAAC;sBAClB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE;sBAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;aACrD,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,UAAU,CAAC,UAAC,SAAS,EAAE,OAAO;gBACvC,OAAO,IAAI,CAAC,SAAS,CAAC;sBAClB,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE;sBACvD,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;aAC9D,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,IAAa,MAAM,GAAG,UACpB,KAAkC,EAClC,MAAmC;QAEnC,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;YAC5B;YAMA,OAAO,SAAS,CAAC;SAClB;QACD,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,IAAI,UAAU,CACnB,UAAA,SAAS;gBACP,OAAA,SAAS,CAAC,OAAO,CACf,SAAS,EACT,UAAA,EAAE,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,GAAA,CAC9C,IAAI,UAAU,CAAC,EAAE,EAAE;aAAA,CACvB,CAAC;SACH;aAAM;YACL,OAAO,IAAI,UAAU,CAAC,UAAC,SAAS,EAAE,OAAO;gBACvC,QACE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,UAAA,EAAE;oBAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;iBACzD,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,EACrB;aACH,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF;QAME,oBAAY,OAAwB;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACrC;QAEM,0BAAK,GAAZ,UACE,IAAgC,EAChC,IAAiC,EACjC,KAAmC;YAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC7E;QAEM,2BAAM,GAAb,UAAc,IAAiC;YAC7C,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC3B;QAEM,4BAAO,GAAd,UACE,SAAoB,EACpB,OAAkB;YAElB,MAAM;SACP;QA1Ba,gBAAK,GAAG,KAAK,CAAC;QACd,eAAI,GAAG,IAAI,CAAC;QACZ,gBAAK,GAAG,KAAK,CAAC;QACd,kBAAO,GAAG,OAAO,CAAC;QAwBlC,iBAAC;KA5BD,IA4BC;aAEe,OAAO,CACrB,IAAgB,EAChB,SAAyB;QAEzB,QACE,IAAI,CAAC,OAAO,CACV,eAAe,CACb,SAAS,CAAC,OAAO,EACjB,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CACjD,CACF,IAAI,UAAU,CAAC,EAAE,EAAE,EACpB;IACJ,CAAC;;;ACzID,AACA;IACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC,CAAC;IACH,eAAe,GAAG,KAAK,CAAC,CAAC;IACzB,IAAI,yBAAyB,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,SAAS,CAAC;IACxJ,IAAI,QAAQ,GAAG,yBAAyB,CAAC;IACzC,eAAe,GAAG,QAAQ;;;;;;ACR1B,AACA;IACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC,CAAC;IACH,eAAe,GAAG,OAAO,CAAC;AAC1B;IACA,IAAI,0BAA0B,GAAG,sBAAsB,CAAClB,2BAAsC,CAAC,CAAC;AAChG;IACA,SAAS,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;AAC/F;IACA,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,EAAE,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/V;IACA,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B;IACA;IACA;AACA;IACA,SAAS,OAAO,CAAC,KAAK,EAAE;IACxB,EAAE,OAAO,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;AACD;IACA,SAAS,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,QAAQ,OAAO,CAAC,KAAK,CAAC;IACxB,IAAI,KAAK,QAAQ;IACjB,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnC;IACA,IAAI,KAAK,UAAU;IACnB,MAAM,OAAO,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;AAC9E;IACA,IAAI,KAAK,QAAQ;IACjB,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;IAC1B,QAAQ,OAAO,MAAM,CAAC;IACtB,OAAO;AACP;IACA,MAAM,OAAO,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClD;IACA,IAAI;IACJ,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG;IACH,CAAC;AACD;IACA,SAAS,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE;IACxD,EAAE,IAAI,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;IAClD,IAAI,OAAO,YAAY,CAAC;IACxB,GAAG;AACH;IACA,EAAE,IAAI,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,EAAE,IAAI,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3C;IACA,EAAE,IAAI,eAAe,KAAK,SAAS,EAAE;IACrC;IACA,IAAI,IAAI,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD;IACA,IAAI,IAAI,WAAW,KAAK,KAAK,EAAE;IAC/B,MAAM,OAAO,OAAO,WAAW,KAAK,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClG,KAAK;IACL,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACnC,IAAI,OAAO,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1C,GAAG;AACH;IACA,EAAE,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;AACD;IACA,SAAS,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE;IAC1C,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC;IACA,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;IACzB,IAAI,OAAO,IAAI,CAAC;IAChB,GAAG;AACH;IACA,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,mBAAmB,EAAE;IAC/C,IAAI,OAAO,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IAC5C,GAAG;AACH;IACA,EAAE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;IAC3C,IAAI,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,GAAG,CAAC,CAAC;IACL,EAAE,OAAO,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,CAAC;AACD;IACA,SAAS,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IAC1B,IAAI,OAAO,IAAI,CAAC;IAChB,GAAG;AACH;IACA,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,mBAAmB,EAAE;IAC/C,IAAI,OAAO,SAAS,CAAC;IACrB,GAAG;AACH;IACA,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,EAAE,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IACrC,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;AACjB;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;IAChC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAClD,GAAG;AACH;IACA,EAAE,IAAI,SAAS,KAAK,CAAC,EAAE;IACvB,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,GAAG,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE;IAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACxD,GAAG;AACH;IACA,EAAE,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACtC,CAAC;AACD;IACA,SAAS,WAAW,CAAC,MAAM,EAAE;IAC7B,EAAE,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E;IACA,EAAE,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;IAC7C,IAAI,OAAO,eAAe,CAAC;IAC3B,GAAG;AACH;IACA,EAAE,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;IAC5C,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1B,GAAG;IACH,CAAC;AACD;IACA,SAAS,YAAY,CAAC,MAAM,EAAE;IAC9B,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/F;IACA,EAAE,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE;IACpE,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AACvC;IACA,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE;IACjD,MAAM,OAAO,IAAI,CAAC;IAClB,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,GAAG,CAAC;IACb;;;;;;ACrIA,AACA;IACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC,CAAC;IACH,aAAa,GAAG,KAAK,CAAC;IACtB,uBAAuB,GAAG,eAAe,CAAC;IAC1C,yBAAyB,GAAG,iBAAiB,CAAC;IAC9C,kBAAkB,GAAG,UAAU,CAAC;IAChC,aAAa,GAAG,yBAAyB,GAAG,KAAK,CAAC,CAAC;AACnD;IACA,IAAI,QAAQ,GAAG,sBAAsB,CAACA,SAA6B,CAAC,CAAC;AACrE;IACA,SAAS,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;AAC/F;IACA,IAAI,iBAAiB,GAAG;IACxB,EAAE,IAAI,EAAE,EAAE;IACV,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC;IAC3B,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,cAAc,CAAC;IACpF,EAAE,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC;IACxE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC;IACpB,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC;IAC9B,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC;IACrE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7B,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;IACxC,EAAE,cAAc,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC;IACjE,EAAE,kBAAkB,EAAE,CAAC,MAAM;IAC7B;IACA,EAAE,qBAAqB,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC;IACvE,EAAE,QAAQ,EAAE,EAAE;IACd,EAAE,UAAU,EAAE,EAAE;IAChB,EAAE,WAAW,EAAE,EAAE;IACjB,EAAE,YAAY,EAAE,EAAE;IAClB,EAAE,SAAS,EAAE,EAAE;IACf,EAAE,SAAS,EAAE,EAAE;IACf,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC;IACvB,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC;IACzB,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAChC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAClC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC;IACrB,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC;IACpB,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC;IACvB,EAAE,gBAAgB,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACpD,EAAE,uBAAuB,EAAE,CAAC,MAAM,CAAC;IACnC,EAAE,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC;IAC7D,EAAE,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;IACrF,EAAE,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC;IAC7E,EAAE,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC;IACrF,EAAE,uBAAuB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC1E,EAAE,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IACrE,EAAE,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IACrE,EAAE,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC;IAC5D,EAAE,yBAAyB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC5E,EAAE,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IACxE,EAAE,eAAe,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACnD,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;IAC7C,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;IACrE,EAAE,sBAAsB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC1D,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IACrD,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IACrD,EAAE,wBAAwB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC5D,CAAC,CAAC;IACF,yBAAyB,GAAG,iBAAiB,CAAC;IAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,aAAa,GAAG,KAAK,CAAC;AACtB;IACA,SAAS,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE;IAC9B,EAAE,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAC1G;IACA;IACA,EAAE,IAAI,KAAK,GAAG,SAAS,CAAC;IACxB,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACjB,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;IACjB,EAAE,IAAI,IAAI,GAAG,SAAS,CAAC;IACvB,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC;IACtB,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC;IACzB,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAChB,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC;IACrB,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC;IACrB;AACA;IACA,EAAE,GAAG;IACL,IAAI,KAAK,EAAE,CAAC;IACZ,IAAI,IAAI,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;IAC1C,IAAI,IAAI,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AACnD;IACA,IAAI,IAAI,SAAS,EAAE;IACnB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;AAC/B;IACA,MAAM,IAAI,QAAQ,EAAE;IACpB,QAAQ,IAAI,OAAO,EAAE;IACrB,UAAU,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9B,SAAS,MAAM;IACf,UAAU,IAAI,KAAK,GAAG,EAAE,CAAC;AACzB;IACA,UAAU,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAClG,YAAY,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACvC,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW;AACX;IACA,UAAU,IAAI,GAAG,KAAK,CAAC;IACvB,SAAS;AACT;IACA,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC;AAC3B;IACA,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;IAClD,UAAU,IAAI,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,UAAU,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC;IACA,UAAU,IAAI,OAAO,EAAE;IACvB,YAAY,OAAO,IAAI,UAAU,CAAC;IAClC,WAAW;AACX;IACA,UAAU,IAAI,OAAO,IAAI,SAAS,KAAK,IAAI,EAAE;IAC7C,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,YAAY,UAAU,EAAE,CAAC;IACzB,WAAW,MAAM;IACjB,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW;IACX,SAAS;IACT,OAAO;AACP;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,KAAK,MAAM;IACX,MAAM,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AAC5C;IACA,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;IAC/C,QAAQ,SAAS;IACjB,OAAO;AACP;IACA,MAAM,IAAI,MAAM,EAAE;IAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO;IACP,KAAK;AACL;IACA,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC;AACxB;IACA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;IAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;IACzB,QAAQ,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO;AACP;IACA,MAAM,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9D;IACA,MAAM,IAAI,OAAO,EAAE;IACnB,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3E;IACA,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;IAC9B,UAAU,MAAM;IAChB,SAAS;AACT;IACA,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;IAC9B,UAAU,IAAI,CAAC,SAAS,EAAE;IAC1B,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,YAAY,SAAS;IACrB,WAAW;IACX,SAAS,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;IACzC,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AACpC;IACA,UAAU,IAAI,CAAC,SAAS,EAAE;IAC1B,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;IAChC,cAAc,IAAI,GAAG,MAAM,CAAC;IAC5B,aAAa,MAAM;IACnB,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,cAAc,SAAS;IACvB,aAAa;IACb,WAAW;IACX,SAAS;IACT,OAAO;IACP,KAAK;AACL;IACA,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,EAAE;IAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9B,KAAK;AACL;IACA,IAAI,IAAI,SAAS,EAAE;IACnB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM;IACX,MAAM,KAAK,GAAG;IACd,QAAQ,OAAO,EAAE,OAAO;IACxB,QAAQ,KAAK,EAAE,KAAK;IACpB,QAAQ,IAAI,EAAE,IAAI;IAClB,QAAQ,KAAK,EAAE,KAAK;IACpB,QAAQ,IAAI,EAAE,KAAK;IACnB,OAAO,CAAC;IACR,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB;IACA,MAAM,IAAI,MAAM,EAAE;IAClB,QAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO;AACP;IACA,MAAM,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK;IACL,GAAG,QAAQ,KAAK,KAAK,SAAS,EAAE;AAChC;IACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,GAAG;AACH;IACA,EAAE,OAAO,OAAO,CAAC;IACjB,CAAC;AACD;IACA,SAAS,MAAM,CAAC,SAAS,EAAE;IAC3B,EAAE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,eAAe,CAAC,QAAQ,EAAE;IACnC,EAAE,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,EAAE,OAAO;IACT,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChD,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;IAC1B,UAAU,IAAI,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI;IACpD;IACA,UAAU,KAAK,CAAC,CAAC;AACjB;IACA,UAAU,IAAI,EAAE,EAAE;IAClB,YAAY,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1D;IACA,YAAY,IAAI,MAAM,KAAK,KAAK,EAAE;IAClC,cAAc,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,aAAa,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE;IACzC,cAAc,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAClC,aAAa,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;IAC7C,cAAc,OAAO,MAAM,CAAC;IAC5B,aAAa;IACb,WAAW;IACX,SAAS;IACT,OAAO;IACP,KAAK;IACL,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChD,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;IAC1B,UAAU,IAAI,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI;IACpD;IACA,UAAU,IAAI,CAAC,CAAC;AAChB;IACA,UAAU,IAAI,EAAE,EAAE;IAClB,YAAY,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1D;IACA,YAAY,IAAI,MAAM,KAAK,KAAK,EAAE;IAClC,cAAc,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAClC,aAAa,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE;IACjE,cAAc,OAAO,MAAM,CAAC;IAC5B,aAAa;IACb,WAAW;IACX,SAAS,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;IACzC,UAAU,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7B,SAAS;IACT,OAAO;IACP,KAAK;IACL,GAAG,CAAC;IACJ,CAAC;IACD;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,OAAO;IACT,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI;IAC5C;IACA,MAAM,KAAK,CAAC,CAAC;AACb;IACA,MAAM,IAAI,EAAE,EAAE;IACd,QAAQ,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAClD;IACA,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE;IAClC,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/B;IACA,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;IAC9B,YAAY,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW;IACX,SAAS;AACT;IACA,QAAQ,OAAO,MAAM,CAAC;IACtB,OAAO;IACP,KAAK;IACL,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI;IAC5C;IACA,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,IAAI,MAAM,CAAC;AACjB;IACA,MAAM,IAAI,EAAE,EAAE;IACd,QAAQ,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO;AACP;IACA,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,OAAO,MAAM,CAAC;IACpB,KAAK;IACL,GAAG,CAAC;IACJ,CAAC;IACD;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAC9C,EAAE,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAClC;IACA,EAAE,IAAI,WAAW,EAAE;IACnB,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IACzD;IACA,MAAM,OAAO,WAAW,CAAC;IACzB,KAAK;AACL;IACA,IAAI,IAAI,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AAChF;IACA,IAAI,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;IACnD;IACA,MAAM,OAAO,mBAAmB,CAAC;IACjC,KAAK;IACL,GAAG,MAAM;IACT,IAAI,IAAI,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACpE;IACA,IAAI,IAAI,eAAe,EAAE;IACzB,MAAM,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;IACjD;IACA,QAAQ,OAAO,eAAe,CAAC;IAC/B,OAAO;AACP;IACA,MAAM,IAAI,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AACtD;IACA,MAAM,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;IACrD;IACA,QAAQ,OAAO,mBAAmB,CAAC;IACnC,OAAO;IACP,KAAK;IACL,GAAG;IACH;;;;;;;;;;;;ACxbA,AACA;IACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,KAAK,EAAE,IAAI;IACb,CAAC,CAAC,CAAC;IACH,8BAA8B,GAAG,sBAAsB,CAAC;IACxD,iCAAiC,GAAG,yBAAyB,CAAC;IAC9D,wBAAwB,GAAG,gBAAgB,CAAC;AAC5C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,sBAAsB,CAAC,SAAS,EAAE;IAC3C;IACA,EAAE,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9C;IACA,EAAE,IAAI,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACtD;IACA,EAAE,IAAI,YAAY,KAAK,CAAC,EAAE;IAC1B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC3C,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,KAAK;IACL,GAAG;AACH;AACA;IACA,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IAChD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,GAAG;AACH;IACA,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;IAC/D,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG;AACH;AACA;IACA,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;AACD;AACA;IACA,SAAS,yBAAyB,CAAC,KAAK,EAAE;IAC1C,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC;AAC1B;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACzC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,IAAI,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC;IACA,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;IAChC,MAAM,SAAS;IACf,KAAK;AACL;IACA,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,GAAG,YAAY,EAAE;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B;IACA,MAAM,IAAI,YAAY,KAAK,CAAC,EAAE;IAC9B,QAAQ,MAAM;IACd,OAAO;IACP,KAAK;IACL,GAAG;AACH;IACA,EAAE,OAAO,YAAY,KAAK,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC;IAClD,CAAC;AACD;IACA,SAAS,iBAAiB,CAAC,GAAG,EAAE;IAChC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ;IACA,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE;IAChE,IAAI,CAAC,EAAE,CAAC;IACR,GAAG;AACH;IACA,EAAE,OAAO,CAAC,CAAC;IACX,CAAC;AACD;IACA,SAAS,OAAO,CAAC,GAAG,EAAE;IACtB,EAAE,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC;IAC/C,CAAC;IACD;IACA;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,gBAAgB,CAAC,KAAK,EAAE;IACjC,EAAE,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3F,EAAE,IAAI,mBAAmB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACtG,EAAE,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,EAAE,IAAI,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IACzD,EAAE,IAAI,oBAAoB,GAAG,CAAC,YAAY,IAAI,gBAAgB,IAAI,mBAAmB,CAAC;IACtF,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB;IACA,EAAE,IAAI,oBAAoB,IAAI,EAAE,YAAY,IAAI,eAAe,CAAC,EAAE;IAClE,IAAI,MAAM,IAAI,IAAI,GAAG,WAAW,CAAC;IACjC,GAAG;AACH;IACA,EAAE,MAAM,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC;AAC3E;IACA,EAAE,IAAI,oBAAoB,EAAE;IAC5B,IAAI,MAAM,IAAI,IAAI,CAAC;IACnB,GAAG;AACH;IACA,EAAE,OAAO,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IACzD;;;;;;;;ICtGA;IACA;IACA;IACA;AACA;AACA,IAAO,SAAS,KAAK,CAAC,GAAG,EAAE;IAC3B,EAAE,OAAOmB,SAAK,CAAC,GAAG,EAAE;IACpB,IAAI,KAAK,EAAE,kBAAkB;IAC7B,GAAG,CAAC,CAAC;IACL,CAAC;AACD;IACA,IAAI,kBAAkB,GAAG;IACzB,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;IAC5B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,GAAG;IACH,EAAE,QAAQ,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE;IACpC,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,GAAG;IACH;IACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE;IACpC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACjD,GAAG;IACH,EAAE,mBAAmB,EAAE,SAAS,mBAAmB,CAAC,IAAI,EAAE;IAC1D,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACzC;AACA;IACA,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IAChJ,GAAG;IACH,EAAE,kBAAkB,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;IACxD,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;IAChC,QAAQ,IAAI,GAAG,IAAI,CAAC,IAAI;IACxB,QAAQ,YAAY,GAAG,IAAI,CAAC,YAAY;IACxC,QAAQ,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACrC,IAAI,OAAO,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACjG,GAAG;IACH,EAAE,YAAY,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;IAC7C,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACtC,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,GAAG;IACH,EAAE,KAAK,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE;IAC/B,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK;IAC3B,QAAQ,IAAI,GAAG,KAAK,CAAC,IAAI;IACzB,QAAQ,IAAI,GAAG,KAAK,CAAC,SAAS;IAC9B,QAAQ,UAAU,GAAG,KAAK,CAAC,UAAU;IACrC,QAAQ,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7H,GAAG;IACH,EAAE,QAAQ,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;IACrC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;IACzB,QAAQ,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC/B,GAAG;IACH;IACA,EAAE,cAAc,EAAE,SAAS,cAAc,CAAC,KAAK,EAAE;IACjD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;IACzB,QAAQ,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACtC,IAAI,OAAO,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,GAAG;IACH,EAAE,cAAc,EAAE,SAAS,cAAc,CAAC,KAAK,EAAE;IACjD,IAAI,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa;IAC3C,QAAQ,UAAU,GAAG,KAAK,CAAC,UAAU;IACrC,QAAQ,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/F,GAAG;IACH,EAAE,kBAAkB,EAAE,SAAS,kBAAkB,CAAC,KAAK,EAAE;IACzD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;IACzB,QAAQ,aAAa,GAAG,KAAK,CAAC,aAAa;IAC3C,QAAQ,mBAAmB,GAAG,KAAK,CAAC,mBAAmB;IACvD,QAAQ,UAAU,GAAG,KAAK,CAAC,UAAU;IACrC,QAAQ,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,IAAI;IACJ;IACA,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,YAAY;IAC1L,MAAM;IACN,GAAG;IACH;IACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;IACrC,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,KAAK,CAAC;IACjB,GAAG;IACH,EAAE,UAAU,EAAE,SAAS,UAAU,CAAC,KAAK,EAAE;IACzC,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,KAAK,CAAC;IACjB,GAAG;IACH,EAAE,WAAW,EAAE,SAAS,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;IACjD,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK;IAC5B,QAAQ,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,OAAO,aAAa,GAAGC,aAAgB,CAAC,KAAK,EAAE,GAAG,KAAK,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9G,GAAG;IACH,EAAE,YAAY,EAAE,SAAS,YAAY,CAAC,MAAM,EAAE;IAC9C,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,GAAG;IACH,EAAE,SAAS,EAAE,SAAS,SAAS,GAAG;IAClC,IAAI,OAAO,MAAM,CAAC;IAClB,GAAG;IACH,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,KAAK,CAAC;IACjB,GAAG;IACH,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1C,GAAG;IACH,EAAE,WAAW,EAAE,SAAS,WAAW,CAAC,MAAM,EAAE;IAC5C,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1C,GAAG;IACH,EAAE,WAAW,EAAE,SAAS,WAAW,CAAC,MAAM,EAAE;IAC5C,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC/B,GAAG;IACH;IACA,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,IAAI,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,GAAG;IACH;IACA,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,OAAO,IAAI,CAAC;IAChB,GAAG;IACH,EAAE,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE;IACtC,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IAC5B,GAAG;IACH,EAAE,WAAW,EAAE,SAAS,WAAW,CAAC,MAAM,EAAE;IAC5C,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,OAAO,IAAI,GAAG,GAAG,CAAC;IACtB,GAAG;IACH;IACA,EAAE,gBAAgB,EAAE,SAAS,gBAAgB,CAAC,MAAM,EAAE;IACtD,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC/C,IAAI,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/E,GAAG;IACH,EAAE,uBAAuB,EAAE,SAAS,uBAAuB,CAAC,MAAM,EAAE;IACpE,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS;IACpC,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,OAAO,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,GAAG;IACH,EAAE,oBAAoB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACzD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,GAAG,CAAC;IACJ,EAAE,oBAAoB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACzD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzH,GAAG,CAAC;IACJ,EAAE,eAAe,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACpD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,IAAI,GAAG,MAAM,CAAC,SAAS;IAC/B,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/K,GAAG,CAAC;IACJ,EAAE,oBAAoB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACzD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,YAAY,GAAG,MAAM,CAAC,YAAY;IAC1C,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5F,GAAG,CAAC;IACJ,EAAE,uBAAuB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IAC5D,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChF,GAAG,CAAC;IACJ,EAAE,mBAAmB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACxD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3H,GAAG,CAAC;IACJ,EAAE,kBAAkB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACvD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3E,GAAG,CAAC;IACJ,EAAE,mBAAmB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACxD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,GAAG,CAAC;IACJ,EAAE,yBAAyB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IAC9D,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5E,GAAG,CAAC;IACJ,EAAE,mBAAmB,EAAE,cAAc,CAAC,UAAU,MAAM,EAAE;IACxD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,IAAI,GAAG,MAAM,CAAC,SAAS;IAC/B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,IAAI,OAAO,aAAa,GAAG,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,UAAU,GAAG,aAAa,GAAG,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpN,GAAG,CAAC;IACJ,EAAE,eAAe,EAAE,SAAS,eAAe,CAAC,MAAM,EAAE;IACpD,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC/C,IAAI,OAAO,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtF,GAAG;IACH,EAAE,mBAAmB,EAAE,SAAS,mBAAmB,CAAC,MAAM,EAAE;IAC5D,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,GAAG;IACH,EAAE,mBAAmB,EAAE,SAAS,mBAAmB,CAAC,MAAM,EAAE;IAC5D,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChI,GAAG;IACH,EAAE,sBAAsB,EAAE,SAAS,sBAAsB,CAAC,MAAM,EAAE;IAClE,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvF,GAAG;IACH,EAAE,kBAAkB,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;IAC1D,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAClI,GAAG;IACH,EAAE,iBAAiB,EAAE,SAAS,iBAAiB,CAAC,MAAM,EAAE;IACxD,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,GAAG;IACH,EAAE,wBAAwB,EAAE,SAAS,wBAAwB,CAAC,MAAM,EAAE;IACtE,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;IAC1B,QAAQ,UAAU,GAAG,MAAM,CAAC,UAAU;IACtC,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnF,GAAG;IACH,CAAC,CAAC;AACF;IACA,SAAS,cAAc,CAAC,EAAE,EAAE;IAC5B,EAAE,OAAO,UAAU,IAAI,EAAE;IACzB,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,GAAG,CAAC;IACJ,CAAC;IACD;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE;IACrC,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;IACrD,IAAI,OAAO,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IACD;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,KAAK,CAAC,KAAK,EAAE;IACtB,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;IACtF,CAAC;IACD;IACA;IACA;IACA;AACA;AACA;IACA,SAAS,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;IACvC,EAAE,OAAO,WAAW,GAAG,KAAK,GAAG,WAAW,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;AACD;IACA,SAAS,MAAM,CAAC,WAAW,EAAE;IAC7B,EAAE,OAAO,WAAW,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;AACD;IACA,SAAS,WAAW,CAAC,MAAM,EAAE;IAC7B,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;AACD;IACA,SAAS,iBAAiB,CAAC,UAAU,EAAE;IACvC,EAAE,OAAO,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;;IChND,IAAM,kBAAkB,GAAqB;QAC3C,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,IAAM,cAAc,GAAG;QAErB,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAM,cAAc,GAAG;QACrB,MAAM,EAAE,MAAM;KACf,CAAC;QAEW,kBAAkB,GAAG;QAChC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;MACvB;QAEW,gBAAgB,GAAG,UAAC,QAAQ,EAAE,MAAM,EAAE,OAAO;QACxD,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAgB,CAAC;QAEhD,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAEtB,MAAM,KAAK,CAAC;IACd,EAAE;QAGW,yBAAyB,GAAG,UAAA,UAAU,IAAI,OAAA,UAAC,QAAkB;QACxE,QACE,QAAQ;aACL,IAAI,EAAE;aACN,IAAI,CAAC,UAAA,QAAQ;YACZ,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAM,UAAU,GAAG,GAAuB,CAAC;gBAC3C,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC;gBACrC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC/B,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACxC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACnC;SACF,CAAC;aAED,IAAI,CAAC,UAAC,MAAW;YAChB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;gBAE1B,gBAAgB,CACd,QAAQ,EACR,MAAM,EACN,mDAAiD,QAAQ,CAAC,MAAQ,CACnE,CAAC;aACH;YAGD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC9B,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAChC;gBAEA,gBAAgB,CACd,QAAQ,EACR,MAAM,EACN,6CACE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;sBACrB,UAAU,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,aAAa,GAAA,CAAC;sBACtC,UAAU,CAAC,aAAa,QAC1B,CACL,CAAC;aACH;YACD,OAAO,MAAM,CAAC;SACf,CAAC,EACJ;IACJ,CAAC,IAAC;QAEW,YAAY,GAAG,UAAC,OAA2C;QACtE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC5C,IAAI,OAAO,GAAW,SAAS,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,WAAW;gBAAE,OAAO,GAAG,YAAY,CAAC;YAC1D,MAAM;SASP;IACH,EAAE;QAEW,uBAAuB,GAAG;QACrC,IAAI,OAAO,eAAe,KAAK,WAAW;YACxC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAE9C,IAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,UAAU,YAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IAChC,EAAE;QAEW,wBAAwB,GAAG,UACtC,SAAoB,EACpB,cAA0B;QAC1B,iBAA6B;aAA7B,UAA6B,EAA7B,qBAA6B,EAA7B,IAA6B;YAA7B,gCAA6B;;QAE7B,IAAI,OAAO,gBACN,cAAc,CAAC,OAAO,IACzB,OAAO,EAAE,cAAc,CAAC,OAAO,EAC/B,WAAW,EAAE,cAAc,CAAC,WAAW,GACxC,CAAC;QACF,IAAI,IAAI,GAAqB,cAAc,CAAC,IAAI,CAAC;QAMjD,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;YACpB,OAAO,gBACF,OAAO,EACP,MAAM,CAAC,OAAO,IACjB,OAAO,eACF,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,OAAO,IAEpB,CAAC;YACF,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAEjE,IAAI,gBACC,IAAI,EACJ,MAAM,CAAC,IAAI,CACf,CAAC;SACH,CAAC,CAAC;QAGK,IAAA,uCAAa,EAAE,iCAAU,EAAE,+BAAS,EAAE,uBAAK,CAAe;QAClE,IAAM,IAAI,GAAS,EAAE,aAAa,eAAA,EAAE,SAAS,WAAA,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,iBAAiB;YAAG,IAAY,CAAC,UAAU,GAAG,UAAU,CAAC;QAGlE,IAAI,IAAI,CAAC,YAAY;YAAG,IAAY,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1D,OAAO;YACL,OAAO,SAAA;YACP,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,uBAAuB,GAAG,UAAC,CAAC,EAAE,KAAK;QAC9C,IAAI,UAAU,CAAC;QACf,IAAI;YACF,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACV,IAAM,UAAU,GAAG,mFACwC;YAE3D,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,CAAC;SAClB;QACD,OAAO,UAAU,CAAC;IACpB,EAAE;QAGW,SAAS,GAAG,UACvB,SAAS,EACT,WAAyD;QAEzD,IAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QACvC,IAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QAE/B,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAC;SACnB;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC5C,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;SAC/B;aAAM;YACL,OAAQ,WAAsB,IAAI,UAAU,CAAC;SAC9C;IACH;;QCjPa,cAAc,GAAG,UAAC,WAAkC;QAAlC,4BAAA,EAAA,gBAAkC;QAE7D,IAAA,oBAAgB,EAAhB,qCAAgB,EAEhB,2BAAc,EACd,iDAAiB,EACjB,+CAAgB,EAChB,+FAAiB,CACH;QAGhB,YAAY,CAAC,OAAO,CAAC,CAAC;QAKtB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,KAAK,CAAC;SACjB;QAED,IAAM,UAAU,GAAG;YACjB,IAAI,EAAE,EAAE,iBAAiB,mBAAA,EAAE;YAC3B,OAAO,EAAE,cAAc,CAAC,YAAY;YACpC,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;QAEF,OAAO,IAAI,UAAU,CAAC,UAAA,SAAS;YAC7B,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE1C,IAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YAQvC,IAAM,sBAAsB,GAAG,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,eAAe,EAAE;gBACrB,IAAA,4BAA2C,EAAzC,gBAAI,EAAE,oBAAO,CAA6B;gBAClD,IAAI,MAAI,EAAE;oBACR,sBAAsB,CAAC,2BAA2B,CAAC,GAAG,MAAI,CAAC;iBAC5D;gBACD,IAAI,OAAO,EAAE;oBACX,sBAAsB,CAAC,8BAA8B,CAAC,GAAG,OAAO,CAAC;iBAClE;aACF;YAED,IAAM,cAAc,gBAAQ,sBAAsB,EAAK,OAAO,CAAC,OAAO,CAAE,CAAC;YAEzE,IAAM,aAAa,GAAG;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,cAAc;aACxB,CAAC;YAGI,IAAA,uFAKL,EALO,oBAAO,EAAE,cAAI,CAKnB;YAEF,IAAI,UAAU,CAAC;YACf,IAAI,CAAE,OAAe,CAAC,MAAM,EAAE;gBACtB,IAAA,8BAA+D,EAA7D,2BAAuB,EAAE,kBAAM,CAA+B;gBACtE,UAAU,GAAG,WAAW,CAAC;gBACzB,IAAI,UAAU;oBAAG,OAAe,CAAC,MAAM,GAAG,MAAM,CAAC;aAClD;YAGD,IAAM,oBAAoB,GAAG,UAAC,CAAiB;gBAC7C,OAAO,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC;aACvE,CAAC;YACF,IACE,gBAAgB;gBAChB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,EACvD;gBACA,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;aACxB;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;gBACtB,IAAA,sCAA0D,EAAxD,kBAAM,EAAE,0BAAU,CAAuC;gBACjE,IAAI,UAAU,EAAE;oBACd,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;iBAC9B;gBACD,SAAS,GAAG,MAAM,CAAC;aACpB;iBAAM;gBACL,IAAI;oBACD,OAAe,CAAC,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBAClE;gBAAC,OAAO,UAAU,EAAE;oBACnB,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;iBAC9B;aACF;YAED,OAAO,IAAI,UAAU,CAAC,UAAA,QAAQ;gBAC5B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;qBACxB,IAAI,CAAC,UAAA,QAAQ;oBACZ,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBACnC,OAAO,QAAQ,CAAC;iBACjB,CAAC;qBACD,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;qBAC1C,IAAI,CAAC,UAAA,MAAM;oBAEV,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC;iBACf,CAAC;qBACD,KAAK,CAAC,UAAA,GAAG;oBAER,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;wBAAE,OAAO;oBAOtC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;wBA2BtD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBAC3B;oBACD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB,CAAC,CAAC;gBAEL,OAAO;oBAGL,IAAI,UAAU;wBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;iBACpC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,EAAE;IAIF,SAAS,gBAAgB,CAAC,SAAiB,EAAE,IAAU;QAGrD,IAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAM,aAAa,GAAG,UAAC,GAAW,EAAE,KAAa;YAC/C,WAAW,CAAC,IAAI,CAAI,GAAG,SAAI,kBAAkB,CAAC,KAAK,CAAG,CAAC,CAAC;SACzD,CAAC;QAEF,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACpD;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,mBAAmB,SAAA,CAAC;YACxB,IAAI;gBACF,mBAAmB,GAAG,uBAAuB,CAC3C,IAAI,CAAC,SAAS,EACd,eAAe,CAChB,CAAC;aACH;YAAC,OAAO,UAAU,EAAE;gBACnB,OAAO,EAAE,UAAU,YAAA,EAAE,CAAC;aACvB;YACD,aAAa,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,oBAAoB,SAAA,CAAC;YACzB,IAAI;gBACF,oBAAoB,GAAG,uBAAuB,CAC5C,IAAI,CAAC,UAAU,EACf,gBAAgB,CACjB,CAAC;aACH;YAAC,OAAO,UAAU,EAAE;gBACnB,OAAO,EAAE,UAAU,YAAA,EAAE,CAAC;aACvB;YACD,aAAa,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;SACnD;QAQD,IAAI,QAAQ,GAAG,EAAE,EACf,WAAW,GAAG,SAAS,CAAC;QAC1B,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;YACxB,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3C,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;SAClD;QACD,IAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QACtE,IAAM,MAAM,GACV,WAAW,GAAG,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACrE,OAAO,EAAE,MAAM,QAAA,EAAE,CAAC;IACpB,CAAC;;QAE6B7B,4BAAU;QAEtC,kBAAY,IAAuB;mBACjC,kBAAM,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;SACpC;QACH,eAAC;IAAD,CALA,CAA8B,UAAU;;aClPxB,UAAU,CAAC,MAAqB;QAC9C,OAAO,IAAI,UAAU,CAAC,UAAC,SAAoB,EAAE,OAAiB;YAC5D,IAAQ,+BAAwB,CAAC;YAEjC,OAAO,IAAI,UAAU,CAAC,UAAA,QAAQ;gBAC5B,IAAI,MAAM,CAAC;gBACX,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;qBACrB,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,GAAA,CAAC;qBAChD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;qBAC1B,IAAI,CAAC;oBACJ,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;wBACpC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;qBAC3C,CAAC,CAAC;iBACJ,CAAC;qBACD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAExC,OAAO;oBACL,IAAI,MAAM;wBAAE,MAAM,CAAC,WAAW,EAAE,CAAC;iBAClC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC,CAAC;IACL;;IC9BA,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACpD,IAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;IACtE,IAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAEpE,IAAM,QAAQ,GAAG,UAAC,GAAwB;QACxC,OAAA,cAAc,CAAC;YACb,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI;aACd;YACD,GAAG,KAAA;SACJ,CAAC;IALF,CAKE,CAAC;AAEL,QAAa,YAAY,GAAG,UAAC,KAAc;QACzC,QAAQ,KAAK;YACX,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB,KAAK,aAAa;gBAChB,OAAO,eAAe,CAAC;YACzB;gBACE,OAAO,cAAc,CAAC;SACzB;IACH,CAAC,CAAC;AAEF,aAAgB,SAAS,CACvB,KAAc,EACd,iBAA4C;QAF9C,iBAiBC;QAbC,OAAO,IAAI8B,yBAAY,CAAC;YACtB,KAAK,EAAE,IAAIC,iCAAa,EAAE;YAC1B,IAAI,EAAE,UAAU,CAAC,UAAO,CAAM,EAAE,EAAW;oBAAT,OAAO,aAAA;;;;;;;qCAErB,iBAAiB,EAAjB,wBAAiB;gCAC5B,qBAAM,iBAAiB,EAAE,EAAA;;gCAA1B,KAAA,CAAC,SAAyB,KAAK,EAAE,CAAA;;;gCACjC,KAAA,EAAE,CAAA;;;gCAFA,OAAO,KAEP;gCACN,4CAAY,OAAO,KAAE,OAAO,wBAAO,OAAO,GAAK,OAAO,CAAC,OAAO,MAAK;;;gCAEnE,sBAAO,EAAE,OAAO,SAAA,EAAE,EAAC;;;;;aAEtB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;;;;;;;;;;;;;;;;"}