@ng-web-apis/universal
Version:
A set of fallback for @ng-web-apis/common for Angular Universal
1 lines • 36 kB
Source Map (JSON)
{"version":3,"file":"ng-web-apis-universal.mjs","sources":["../../../libs/universal/src/constants/universal-animation-frame.ts","../../../libs/universal/src/utils/functions.ts","../../../libs/universal/src/constants/universal-caches.ts","../../../libs/universal/src/constants/universal-crypto.ts","../../../libs/universal/src/constants/universal-history.ts","../../../libs/universal/src/classes/storage-mock.ts","../../../libs/universal/src/constants/universal-local-storage.ts","../../../libs/universal/src/classes/dom-string-list-mock.ts","../../../libs/universal/src/classes/location-mock.ts","../../../libs/universal/src/tokens/ssr-location.ts","../../../libs/universal/src/constants/universal-location.ts","../../../libs/universal/src/tokens/ssr-user-agent.ts","../../../libs/universal/src/utils/event-target.ts","../../../libs/universal/src/constants/universal-navigator.ts","../../../libs/universal/src/constants/universal-media-devices.ts","../../../libs/universal/src/constants/universal-performance.ts","../../../libs/universal/src/constants/universal-session-storage.ts","../../../libs/universal/src/constants/universal-speech-synthesis.ts","../../../libs/universal/src/constants/universal-user-agent.ts","../../../libs/universal/src/classes/blob-mock.ts","../../../libs/universal/src/constants/universal-window.ts","../../../libs/universal/src/constants/universal-providers.ts","../../../libs/universal/src/utils/provide-location.ts","../../../libs/universal/src/utils/provide-user-agent.ts","../../../libs/universal/src/ng-web-apis-universal.ts"],"sourcesContent":["import {type ValueProvider} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {NEVER} from 'rxjs';\n\nexport const UNIVERSAL_ANIMATION_FRAME: ValueProvider = {\n provide: WA_ANIMATION_FRAME,\n useValue: NEVER,\n};\n","export function identity<T>(v: T): T {\n return v;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function emptyFunction(): void {}\n\nexport function emptyArray(): any[] {\n return [];\n}\n\nexport function emptyObject(): object {\n return {};\n}\n\nexport function alwaysFalse(): boolean {\n return false;\n}\n\nexport function alwaysNull(): null {\n return null;\n}\n\nexport function alwaysZero(): number {\n return 0;\n}\n\nexport async function alwaysRejected(): Promise<any> {\n return Promise.reject().catch(emptyFunction);\n}\n","import {type ValueProvider} from '@angular/core';\nimport {WA_CACHES} from '@ng-web-apis/common';\n\nimport {alwaysRejected} from '../utils/functions';\n\nexport const CACHES_MOCK = {\n delete: async () => Promise.resolve(false),\n has: async () => Promise.resolve(false),\n keys: async () => Promise.resolve([]),\n match: alwaysRejected,\n open: alwaysRejected,\n};\n\nexport const UNIVERSAL_CACHES: ValueProvider = {\n provide: WA_CACHES,\n useValue: CACHES_MOCK,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_CRYPTO} from '@ng-web-apis/common';\n\nimport {alwaysRejected, identity} from '../utils/functions';\n\nexport const CRYPTO_MOCK = {\n subtle: new Proxy({}, {get: () => () => alwaysRejected}),\n getRandomValues: identity,\n};\n\nexport const UNIVERSAL_CRYPTO: ValueProvider = {\n provide: WA_CRYPTO,\n useValue: CRYPTO_MOCK,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_HISTORY} from '@ng-web-apis/common';\n\nimport {emptyFunction} from '../utils/functions';\n\nexport const HISTORY_MOCK = {\n length: 0,\n scrollRestoration: 'auto',\n state: {},\n back: emptyFunction,\n forward: emptyFunction,\n go: emptyFunction,\n pushState: emptyFunction,\n replaceState: emptyFunction,\n};\n\nexport const UNIVERSAL_HISTORY: ValueProvider = {\n provide: WA_HISTORY,\n useValue: HISTORY_MOCK,\n};\n","export class StorageMock implements Storage {\n private readonly storage = new Map<string, string>();\n\n public get length(): number {\n return this.storage.size;\n }\n\n public getItem(key: string): string | null {\n return this.storage.has(key) ? this.storage.get(key)! : null;\n }\n\n public setItem(key: string, value: string): void {\n this.storage.set(key, value);\n }\n\n public clear(): void {\n this.storage.clear();\n }\n\n public key(index: number): string | null {\n return index < this.storage.size\n ? ([...this.storage.keys()][index] ?? null)\n : null;\n }\n\n public removeItem(key: string): void {\n this.storage.delete(key);\n }\n}\n","import {type ClassProvider} from '@angular/core';\nimport {WA_LOCAL_STORAGE} from '@ng-web-apis/common';\n\nimport {StorageMock} from '../classes/storage-mock';\n\nexport const UNIVERSAL_LOCAL_STORAGE: ClassProvider = {\n provide: WA_LOCAL_STORAGE,\n useClass: StorageMock,\n};\n","export class DOMStringListMock extends Array<string> implements DOMStringList {\n public contains(): boolean {\n return false;\n }\n\n public item(): null {\n return null;\n }\n}\n","import {emptyFunction} from '../utils/functions';\nimport {DOMStringListMock} from './dom-string-list-mock';\n\nexport class LocationMock implements Location {\n public readonly ancestorOrigins = new DOMStringListMock();\n public hash = '';\n public host = '';\n public hostname = '';\n public href = '';\n public readonly origin = '';\n public pathname = '';\n public port = '';\n public protocol = '';\n public search = '';\n public assign = emptyFunction;\n public reload = emptyFunction;\n public replace = emptyFunction;\n}\n","import {inject, InjectionToken, REQUEST} from '@angular/core';\n\nimport {DOMStringListMock} from '../classes/dom-string-list-mock';\nimport {emptyFunction} from '../utils/functions';\n\nexport const WA_SSR_LOCATION = new InjectionToken<Location>(\n ngDevMode ? '[WA_SSR_LOCATION]' : '',\n {\n factory: () => {\n const req = inject(REQUEST, {optional: true});\n\n if (req) {\n const url: any = new URL(req.url);\n\n url.assign = emptyFunction;\n url.reload = emptyFunction;\n url.replace = emptyFunction;\n url.ancestorOrigins = new DOMStringListMock();\n\n return url;\n }\n },\n },\n);\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_LOCATION} from '@ng-web-apis/common';\n\nimport {LocationMock} from '../classes/location-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\n\nexport const UNIVERSAL_LOCATION: FactoryProvider = {\n provide: WA_LOCATION,\n deps: [[new Optional(), WA_SSR_LOCATION]],\n useFactory: (location: Location | null) => location || new LocationMock(),\n};\n","import {inject, InjectionToken, REQUEST} from '@angular/core';\n\nexport const WA_SSR_USER_AGENT = new InjectionToken<string>(\n ngDevMode ? '[WA_SSR_USER_AGENT]' : '',\n {\n factory: () => {\n const req = inject(REQUEST, {optional: true});\n\n return req?.headers.get('user-agent') ?? '';\n },\n },\n);\n","import {alwaysFalse, emptyFunction} from './functions';\n\nexport const EVENT_TARGET: EventTarget = {\n addEventListener: emptyFunction,\n dispatchEvent: alwaysFalse,\n removeEventListener: emptyFunction,\n};\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\nimport {EVENT_TARGET} from '../utils/event-target';\nimport {\n alwaysFalse,\n alwaysRejected,\n alwaysZero,\n emptyArray,\n emptyFunction,\n emptyObject,\n} from '../utils/functions';\n\nfunction getArray<T>(): T[] {\n return new (class extends Array<T> {\n public item = (): null => null;\n public namedItem = (): null => null;\n public refresh(): void {}\n })();\n}\n\nexport const NAVIGATOR_MOCK = {\n appCodeName: '',\n appName: '',\n appVersion: '',\n platform: '',\n product: '',\n productSub: '',\n userAgent: '',\n vendor: '',\n vendorSub: '',\n onLine: false,\n confirmSiteSpecificTrackingException: alwaysFalse,\n confirmWebWideTrackingException: alwaysFalse,\n share: alwaysRejected,\n registerProtocolHandler: emptyFunction,\n unregisterProtocolHandler: emptyFunction,\n removeSiteSpecificTrackingException: emptyFunction,\n removeWebWideTrackingException: emptyFunction,\n storeSiteSpecificTrackingException: emptyFunction,\n storeWebWideTrackingException: emptyFunction,\n credentials: {\n create: alwaysRejected,\n get: alwaysRejected,\n preventSilentAccess: alwaysRejected,\n store: alwaysRejected,\n },\n msSaveBlob: alwaysFalse,\n msSaveOrOpenBlob: alwaysFalse,\n sendBeacon: alwaysFalse,\n hardwareConcurrency: 0,\n getDisplayMedia: alwaysRejected,\n language: '',\n languages: [],\n storage: {\n estimate: alwaysRejected,\n persist: alwaysRejected,\n persisted: alwaysRejected,\n },\n activeVRDisplays: [],\n authentication: {\n getAssertion: alwaysRejected,\n makeCredential: alwaysRejected,\n },\n clipboard: {\n ...EVENT_TARGET,\n readText: alwaysRejected,\n writeText: alwaysRejected,\n },\n cookieEnabled: false,\n doNotTrack: null,\n gamepadInputEmulation: 'keyboard',\n geolocation: {\n clearWatch: emptyFunction,\n getCurrentPosition: emptyFunction,\n watchPosition: alwaysZero,\n },\n maxTouchPoints: 0,\n mediaDevices: {\n ...EVENT_TARGET,\n ondevicechange: null,\n enumerateDevices: alwaysRejected,\n getSupportedConstraints: emptyObject,\n getUserMedia: alwaysRejected,\n },\n mimeTypes: getArray<MimeType>(),\n msManipulationViewsEnabled: false,\n msMaxTouchPoints: 0,\n msPointerEnabled: false,\n permissions: {query: alwaysRejected},\n plugins: getArray<Plugin>(),\n pointerEnabled: false,\n serviceWorker: {\n ...EVENT_TARGET,\n controller: null,\n oncontrollerchange: null,\n onmessage: null,\n onmessageerror: null,\n ready: alwaysRejected(),\n getRegistration: alwaysRejected,\n getRegistrations: alwaysRejected,\n register: alwaysRejected,\n startMessages: emptyFunction,\n },\n webdriver: false,\n getGamepads: emptyArray,\n getUserMedia: emptyFunction,\n getVRDisplays: alwaysRejected,\n javaEnabled: alwaysFalse,\n msLaunchUri: emptyFunction,\n requestMediaKeySystemAccess: alwaysRejected,\n vibrate: alwaysFalse,\n} as unknown as Navigator;\n\nexport const UNIVERSAL_NAVIGATOR: FactoryProvider = {\n provide: WA_NAVIGATOR,\n deps: [[new Optional(), WA_SSR_USER_AGENT]],\n useFactory: (userAgent: string | null): Navigator => ({\n ...NAVIGATOR_MOCK,\n userAgent: userAgent ?? '',\n }),\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_MEDIA_DEVICES} from '@ng-web-apis/common';\n\nimport {NAVIGATOR_MOCK} from './universal-navigator';\n\nexport const UNIVERSAL_MEDIA_DEVICES: ValueProvider = {\n provide: WA_MEDIA_DEVICES,\n useValue: NAVIGATOR_MOCK.mediaDevices,\n};\n","import {type FactoryProvider} from '@angular/core';\nimport {WA_PERFORMANCE} from '@ng-web-apis/common';\n\nexport function performanceFactory(): Performance {\n return (\n safeRequire<{performance: Performance}>('node:perf_hooks')?.performance ||\n safeRequire<{performance: Performance}>('perf_hooks')?.performance ||\n globalThis.performance\n );\n}\n\nexport const UNIVERSAL_PERFORMANCE: FactoryProvider = {\n provide: WA_PERFORMANCE,\n deps: [],\n useFactory: performanceFactory,\n};\n\nfunction safeRequire<T>(modulePath: string): T | undefined {\n try {\n return require(modulePath);\n } catch {\n return undefined;\n }\n}\n","import {type ClassProvider} from '@angular/core';\nimport {WA_SESSION_STORAGE} from '@ng-web-apis/common';\n\nimport {StorageMock} from '../classes/storage-mock';\n\nexport const UNIVERSAL_SESSION_STORAGE: ClassProvider = {\n provide: WA_SESSION_STORAGE,\n useClass: StorageMock,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_SPEECH_SYNTHESIS} from '@ng-web-apis/common';\n\nimport {alwaysFalse, emptyArray, emptyFunction} from '../utils/functions';\n\nexport const SPEECH_SYNTHESIS_MOCK: SpeechSynthesis = {\n paused: false,\n pending: false,\n speaking: false,\n onvoiceschanged: emptyFunction,\n addEventListener: emptyFunction,\n removeEventListener: emptyFunction,\n dispatchEvent: alwaysFalse,\n cancel: emptyFunction,\n pause: emptyFunction,\n resume: emptyFunction,\n speak: emptyFunction,\n getVoices: emptyArray,\n};\n\nexport const UNIVERSAL_SPEECH_SYNTHESIS: ValueProvider = {\n provide: WA_SPEECH_SYNTHESIS,\n useValue: SPEECH_SYNTHESIS_MOCK,\n};\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_USER_AGENT} from '@ng-web-apis/common';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\n\nexport const UNIVERSAL_USER_AGENT: FactoryProvider = {\n provide: WA_USER_AGENT,\n deps: [[new Optional(), WA_SSR_USER_AGENT]],\n useFactory: (userAgent: string | null) => userAgent ?? '',\n};\n","import {alwaysRejected} from '../utils/functions';\n\nexport class BlobMock implements Blob {\n public size = 0;\n public type = '';\n public arrayBuffer = async (): Promise<any> => alwaysRejected();\n public stream = (): ReadableStream => new ReadableStream();\n public text = async (): Promise<any> => alwaysRejected();\n public slice = (): Blob => this;\n\n public async bytes(): Promise<Uint8Array> {\n return Promise.resolve(new Uint8Array());\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\n\nimport {BlobMock} from '../classes/blob-mock';\nimport {LocationMock} from '../classes/location-mock';\nimport {StorageMock} from '../classes/storage-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\nimport {EVENT_TARGET} from '../utils/event-target';\nimport {\n alwaysFalse,\n alwaysNull,\n alwaysRejected,\n alwaysZero,\n emptyFunction,\n identity,\n} from '../utils/functions';\nimport {CACHES_MOCK} from './universal-caches';\nimport {CRYPTO_MOCK} from './universal-crypto';\nimport {NAVIGATOR_MOCK} from './universal-navigator';\nimport {performanceFactory} from './universal-performance';\nimport {SPEECH_SYNTHESIS_MOCK} from './universal-speech-synthesis';\n\nconst COMPUTED_STYLES: Partial<CSSStyleDeclaration> = {\n getPropertyPriority: () => '',\n getPropertyValue: () => '',\n item: () => '',\n removeProperty: () => '',\n setProperty: emptyFunction,\n};\n\nconst COMPUTED_STYLES_HANDLER: ProxyHandler<CSSStyleDeclaration> = {\n get: (obj, key: any) => (key in obj ? obj[key] : null),\n};\n\nconst COMPUTED_STYLES_PROXY = new Proxy<CSSStyleDeclaration>(\n COMPUTED_STYLES as any,\n COMPUTED_STYLES_HANDLER,\n);\n\nconst CSS_RULES = new (class extends Array<CSSRule> implements CSSRuleList {\n public item = (): null => null;\n})();\n\nconst BAR_PROP: BarProp = {visible: false};\n\nconst DB_REQUEST: IDBOpenDBRequest = {\n ...EVENT_TARGET,\n onblocked: null,\n onerror: null,\n onsuccess: null,\n onupgradeneeded: null,\n error: null,\n readyState: 'pending',\n result: null as any, // Cannot be accessed for 'pending' state anyway\n source: null as any, // null for open requests\n transaction: null,\n};\n\nconst SELF = ['frames', 'parent', 'self', 'top', 'window'];\n\nconst WINDOW_HANDLER: ProxyHandler<Window> = {\n get: (windowRef, key: string) => {\n if (SELF.includes(key)) {\n return windowRef;\n }\n\n return key.startsWith('on') ? null : windowRef[key as keyof Window];\n },\n};\n\nexport const UNIVERSAL_WINDOW: FactoryProvider = {\n provide: WA_WINDOW,\n deps: [\n DOCUMENT,\n [new Optional(), WA_SSR_LOCATION],\n [new Optional(), WA_SSR_USER_AGENT],\n ],\n useFactory: (\n document: Document,\n location: Location | null,\n userAgent: string | null,\n ): Window => {\n const windowMock: Window = {\n ...EVENT_TARGET,\n document,\n localStorage: new StorageMock(),\n location: location ?? new LocationMock(),\n navigator: {...NAVIGATOR_MOCK, userAgent: userAgent ?? ''},\n performance: performanceFactory(),\n sessionStorage: new StorageMock(),\n speechSynthesis: SPEECH_SYNTHESIS_MOCK,\n caches: CACHES_MOCK,\n crypto: CRYPTO_MOCK,\n URL,\n URLSearchParams,\n setTimeout,\n setInterval,\n clearTimeout,\n clearInterval,\n console,\n Blob: BlobMock,\n alert: emptyFunction,\n clientInformation: {...NAVIGATOR_MOCK, userAgent: userAgent ?? ''},\n // TODO: Candidate for token\n matchMedia: () => ({\n ...EVENT_TARGET,\n matches: false,\n media: '',\n onchange: null,\n addListener: emptyFunction,\n removeListener: emptyFunction,\n }),\n // TODO: Candidate for token\n indexedDB: {\n cmp: alwaysZero,\n open: () => DB_REQUEST,\n deleteDatabase: () => DB_REQUEST,\n },\n customElements: {\n define: emptyFunction,\n get: emptyFunction,\n upgrade: emptyFunction,\n whenDefined: alwaysRejected,\n },\n styleMedia: {\n type: '',\n matchMedium: alwaysFalse,\n },\n history: {\n length: 0,\n scrollRestoration: 'auto',\n state: {},\n back: emptyFunction,\n forward: emptyFunction,\n go: emptyFunction,\n pushState: emptyFunction,\n replaceState: emptyFunction,\n },\n closed: false,\n defaultStatus: '',\n devicePixelRatio: 1,\n doNotTrack: '',\n frameElement: null,\n innerHeight: 0,\n innerWidth: 0,\n isSecureContext: false,\n length: 0,\n name: '',\n offscreenBuffering: false,\n opener: {},\n origin: '',\n orientation: '',\n outerHeight: 0,\n outerWidth: 0,\n pageXOffset: 0,\n pageYOffset: 0,\n screenLeft: 0,\n screenTop: 0,\n screenX: 0,\n screenY: 0,\n scrollX: 0,\n scrollY: 0,\n status: '',\n blur: emptyFunction,\n cancelAnimationFrame: emptyFunction,\n captureEvents: emptyFunction,\n close: emptyFunction,\n confirm: alwaysFalse,\n departFocus: emptyFunction,\n focus: emptyFunction,\n moveBy: emptyFunction,\n moveTo: emptyFunction,\n open: alwaysNull,\n postMessage: emptyFunction,\n print: emptyFunction,\n prompt: alwaysNull,\n releaseEvents: emptyFunction,\n requestAnimationFrame: alwaysZero,\n resizeBy: emptyFunction,\n resizeTo: emptyFunction,\n scroll: emptyFunction,\n scrollBy: emptyFunction,\n scrollTo: emptyFunction,\n stop: emptyFunction,\n atob: identity,\n btoa: identity,\n fetch: alwaysRejected,\n createImageBitmap: alwaysRejected,\n queueMicrotask: emptyFunction,\n locationbar: BAR_PROP,\n menubar: BAR_PROP,\n personalbar: BAR_PROP,\n scrollbars: BAR_PROP,\n statusbar: BAR_PROP,\n toolbar: BAR_PROP,\n getComputedStyle: () => COMPUTED_STYLES_PROXY,\n getMatchedCSSRules: () => CSS_RULES,\n getSelection: () => null,\n } as any;\n\n return new Proxy(windowMock, WINDOW_HANDLER);\n },\n};\n","import {type EnvironmentProviders, type Provider} from '@angular/core';\n\nimport {UNIVERSAL_ANIMATION_FRAME} from './universal-animation-frame';\nimport {UNIVERSAL_CACHES} from './universal-caches';\nimport {UNIVERSAL_CRYPTO} from './universal-crypto';\nimport {UNIVERSAL_HISTORY} from './universal-history';\nimport {UNIVERSAL_LOCAL_STORAGE} from './universal-local-storage';\nimport {UNIVERSAL_LOCATION} from './universal-location';\nimport {UNIVERSAL_MEDIA_DEVICES} from './universal-media-devices';\nimport {UNIVERSAL_NAVIGATOR} from './universal-navigator';\nimport {UNIVERSAL_PERFORMANCE} from './universal-performance';\nimport {UNIVERSAL_SESSION_STORAGE} from './universal-session-storage';\nimport {UNIVERSAL_SPEECH_SYNTHESIS} from './universal-speech-synthesis';\nimport {UNIVERSAL_USER_AGENT} from './universal-user-agent';\nimport {UNIVERSAL_WINDOW} from './universal-window';\n\nexport const UNIVERSAL_PROVIDERS: Provider[] = [\n UNIVERSAL_ANIMATION_FRAME,\n UNIVERSAL_CACHES,\n UNIVERSAL_CRYPTO,\n UNIVERSAL_HISTORY,\n UNIVERSAL_LOCAL_STORAGE,\n UNIVERSAL_SESSION_STORAGE,\n UNIVERSAL_LOCATION,\n UNIVERSAL_MEDIA_DEVICES,\n UNIVERSAL_NAVIGATOR,\n UNIVERSAL_PERFORMANCE,\n UNIVERSAL_SPEECH_SYNTHESIS,\n UNIVERSAL_USER_AGENT,\n UNIVERSAL_WINDOW,\n];\n\nexport function provideUniversal(): Array<EnvironmentProviders | Provider> {\n return UNIVERSAL_PROVIDERS;\n}\n","import {type IncomingMessage} from 'node:http';\n\nimport {type ValueProvider} from '@angular/core';\n\nimport {DOMStringListMock} from '../classes/dom-string-list-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\nimport {emptyFunction} from './functions';\n\nexport function provideLocation(req: IncomingMessage): ValueProvider {\n const protocol = 'encrypted' in req.socket ? 'https' : 'http';\n const url: any = new URL(`${protocol}://${req.headers.host}${req.url}`);\n\n url.assign = emptyFunction;\n url.reload = emptyFunction;\n url.replace = emptyFunction;\n url.ancestorOrigins = new DOMStringListMock();\n\n return {\n provide: WA_SSR_LOCATION,\n useValue: url,\n };\n}\n","import {type IncomingHttpHeaders} from 'node:http';\n\nimport {type ValueProvider} from '@angular/core';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\n\nexport function provideUserAgent(req: {headers: IncomingHttpHeaders}): ValueProvider {\n return {\n provide: WA_SSR_USER_AGENT,\n useValue: req.headers['user-agent'],\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIO,MAAM,yBAAyB,GAAkB;AACpD,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,QAAQ,EAAE,KAAK;;;ACNb,SAAU,QAAQ,CAAI,CAAI,EAAA;AAC5B,IAAA,OAAO,CAAC;AACZ;AAEA;AACM,SAAU,aAAa,GAAA,EAAU;SAEvB,UAAU,GAAA;AACtB,IAAA,OAAO,EAAE;AACb;SAEgB,WAAW,GAAA;AACvB,IAAA,OAAO,EAAE;AACb;SAEgB,WAAW,GAAA;AACvB,IAAA,OAAO,KAAK;AAChB;SAEgB,UAAU,GAAA;AACtB,IAAA,OAAO,IAAI;AACf;SAEgB,UAAU,GAAA;AACtB,IAAA,OAAO,CAAC;AACZ;AAEO,eAAe,cAAc,GAAA;IAChC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;AAChD;;ACxBO,MAAM,WAAW,GAAG;IACvB,MAAM,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,GAAG,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,IAAI,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,IAAI,EAAE,cAAc;;AAGjB,MAAM,gBAAgB,GAAkB;AAC3C,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,WAAW;;;ACVlB,MAAM,WAAW,GAAG;AACvB,IAAA,MAAM,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,EAAC,GAAG,EAAE,MAAM,MAAM,cAAc,EAAC,CAAC;AACxD,IAAA,eAAe,EAAE,QAAQ;;AAGtB,MAAM,gBAAgB,GAAkB;AAC3C,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,WAAW;;;ACPlB,MAAM,YAAY,GAAG;AACxB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,iBAAiB,EAAE,MAAM;AACzB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,SAAS,EAAE,aAAa;AACxB,IAAA,YAAY,EAAE,aAAa;;AAGxB,MAAM,iBAAiB,GAAkB;AAC5C,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,YAAY;;;MClBb,WAAW,CAAA;AACH,IAAA,OAAO,GAAG,IAAI,GAAG,EAAkB;AAEpD,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;IAC5B;AAEO,IAAA,OAAO,CAAC,GAAW,EAAA;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,GAAG,IAAI;IAChE;IAEO,OAAO,CAAC,GAAW,EAAE,KAAa,EAAA;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;IAChC;IAEO,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IACxB;AAEO,IAAA,GAAG,CAAC,KAAa,EAAA;AACpB,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;AACxB,eAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI;cACxC,IAAI;IACd;AAEO,IAAA,UAAU,CAAC,GAAW,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5B;AACH;;ACvBM,MAAM,uBAAuB,GAAkB;AAClD,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,WAAW;;;ACPnB,MAAO,iBAAkB,SAAQ,KAAa,CAAA;IACzC,QAAQ,GAAA;AACX,QAAA,OAAO,KAAK;IAChB;IAEO,IAAI,GAAA;AACP,QAAA,OAAO,IAAI;IACf;AACH;;MCLY,YAAY,CAAA;AACL,IAAA,eAAe,GAAG,IAAI,iBAAiB,EAAE;IAClD,IAAI,GAAG,EAAE;IACT,IAAI,GAAG,EAAE;IACT,QAAQ,GAAG,EAAE;IACb,IAAI,GAAG,EAAE;IACA,MAAM,GAAG,EAAE;IACpB,QAAQ,GAAG,EAAE;IACb,IAAI,GAAG,EAAE;IACT,QAAQ,GAAG,EAAE;IACb,MAAM,GAAG,EAAE;IACX,MAAM,GAAG,aAAa;IACtB,MAAM,GAAG,aAAa;IACtB,OAAO,GAAG,aAAa;AACjC;;ACZM,MAAM,eAAe,GAAG,IAAI,cAAc,CAC7C,SAAS,GAAG,mBAAmB,GAAG,EAAE,EACpC;IACI,OAAO,EAAE,MAAK;AACV,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAE7C,IAAI,GAAG,EAAE;YACL,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAEjC,YAAA,GAAG,CAAC,MAAM,GAAG,aAAa;AAC1B,YAAA,GAAG,CAAC,MAAM,GAAG,aAAa;AAC1B,YAAA,GAAG,CAAC,OAAO,GAAG,aAAa;AAC3B,YAAA,GAAG,CAAC,eAAe,GAAG,IAAI,iBAAiB,EAAE;AAE7C,YAAA,OAAO,GAAG;QACd;IACJ,CAAC;AACJ,CAAA;;AChBE,MAAM,kBAAkB,GAAoB;AAC/C,IAAA,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IACzC,UAAU,EAAE,CAAC,QAAyB,KAAK,QAAQ,IAAI,IAAI,YAAY,EAAE;;;ACPtE,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAC/C,SAAS,GAAG,qBAAqB,GAAG,EAAE,EACtC;IACI,OAAO,EAAE,MAAK;AACV,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAE7C,OAAO,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;IAC/C,CAAC;AACJ,CAAA;;ACRE,MAAM,YAAY,GAAgB;AACrC,IAAA,gBAAgB,EAAE,aAAa;AAC/B,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,mBAAmB,EAAE,aAAa;;;ACStC,SAAS,QAAQ,GAAA;AACb,IAAA,OAAO,KAAK,cAAc,KAAQ,CAAA;AACvB,QAAA,IAAI,GAAG,MAAY,IAAI;AACvB,QAAA,SAAS,GAAG,MAAY,IAAI;AAC5B,QAAA,OAAO,KAAU;AAC3B,KAAA,GAAG;AACR;AAEO,MAAM,cAAc,GAAG;AAC1B,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,oCAAoC,EAAE,WAAW;AACjD,IAAA,+BAA+B,EAAE,WAAW;AAC5C,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,uBAAuB,EAAE,aAAa;AACtC,IAAA,yBAAyB,EAAE,aAAa;AACxC,IAAA,mCAAmC,EAAE,aAAa;AAClD,IAAA,8BAA8B,EAAE,aAAa;AAC7C,IAAA,kCAAkC,EAAE,aAAa;AACjD,IAAA,6BAA6B,EAAE,aAAa;AAC5C,IAAA,WAAW,EAAE;AACT,QAAA,MAAM,EAAE,cAAc;AACtB,QAAA,GAAG,EAAE,cAAc;AACnB,QAAA,mBAAmB,EAAE,cAAc;AACnC,QAAA,KAAK,EAAE,cAAc;AACxB,KAAA;AACD,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,mBAAmB,EAAE,CAAC;AACtB,IAAA,eAAe,EAAE,cAAc;AAC/B,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE;AACL,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,SAAS,EAAE,cAAc;AAC5B,KAAA;AACD,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,cAAc,EAAE;AACZ,QAAA,YAAY,EAAE,cAAc;AAC5B,QAAA,cAAc,EAAE,cAAc;AACjC,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,GAAG,YAAY;AACf,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,SAAS,EAAE,cAAc;AAC5B,KAAA;AACD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,qBAAqB,EAAE,UAAU;AACjC,IAAA,WAAW,EAAE;AACT,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,kBAAkB,EAAE,aAAa;AACjC,QAAA,aAAa,EAAE,UAAU;AAC5B,KAAA;AACD,IAAA,cAAc,EAAE,CAAC;AACjB,IAAA,YAAY,EAAE;AACV,QAAA,GAAG,YAAY;AACf,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,cAAc;AAChC,QAAA,uBAAuB,EAAE,WAAW;AACpC,QAAA,YAAY,EAAE,cAAc;AAC/B,KAAA;IACD,SAAS,EAAE,QAAQ,EAAY;AAC/B,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,WAAW,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;IACpC,OAAO,EAAE,QAAQ,EAAU;AAC3B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,aAAa,EAAE;AACX,QAAA,GAAG,YAAY;AACf,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,cAAc,EAAE;AACvB,QAAA,eAAe,EAAE,cAAc;AAC/B,QAAA,gBAAgB,EAAE,cAAc;AAChC,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,aAAa,EAAE,aAAa;AAC/B,KAAA;AACD,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,YAAY,EAAE,aAAa;AAC3B,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,WAAW,EAAE,WAAW;AACxB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,2BAA2B,EAAE,cAAc;AAC3C,IAAA,OAAO,EAAE,WAAW;;AAGjB,MAAM,mBAAmB,GAAoB;AAChD,IAAA,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC3C,IAAA,UAAU,EAAE,CAAC,SAAwB,MAAiB;AAClD,QAAA,GAAG,cAAc;QACjB,SAAS,EAAE,SAAS,IAAI,EAAE;KAC7B,CAAC;;;ACpHC,MAAM,uBAAuB,GAAkB;AAClD,IAAA,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,cAAc,CAAC,YAAY;;;SCJzB,kBAAkB,GAAA;AAC9B,IAAA,QACI,WAAW,CAA6B,iBAAiB,CAAC,EAAE,WAAW;AACvE,QAAA,WAAW,CAA6B,YAAY,CAAC,EAAE,WAAW;QAClE,UAAU,CAAC,WAAW;AAE9B;AAEO,MAAM,qBAAqB,GAAoB;AAClD,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,UAAU,EAAE,kBAAkB;;AAGlC,SAAS,WAAW,CAAI,UAAkB,EAAA;AACtC,IAAA,IAAI;AACA,QAAA,OAAO,OAAO,CAAC,UAAU,CAAC;IAC9B;AAAE,IAAA,MAAM;AACJ,QAAA,OAAO,SAAS;IACpB;AACJ;;AClBO,MAAM,yBAAyB,GAAkB;AACpD,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,QAAQ,EAAE,WAAW;;;ACFlB,MAAM,qBAAqB,GAAoB;AAClD,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,eAAe,EAAE,aAAa;AAC9B,IAAA,gBAAgB,EAAE,aAAa;AAC/B,IAAA,mBAAmB,EAAE,aAAa;AAClC,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,SAAS,EAAE,UAAU;;AAGlB,MAAM,0BAA0B,GAAkB;AACrD,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,QAAQ,EAAE,qBAAqB;;;ACjB5B,MAAM,oBAAoB,GAAoB;AACjD,IAAA,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,SAAwB,KAAK,SAAS,IAAI,EAAE;;;MCNhD,QAAQ,CAAA;IACV,IAAI,GAAG,CAAC;IACR,IAAI,GAAG,EAAE;AACT,IAAA,WAAW,GAAG,YAA0B,cAAc,EAAE;AACxD,IAAA,MAAM,GAAG,MAAsB,IAAI,cAAc,EAAE;AACnD,IAAA,IAAI,GAAG,YAA0B,cAAc,EAAE;AACjD,IAAA,KAAK,GAAG,MAAY,IAAI;AAExB,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;IAC5C;AACH;;ACWD,MAAM,eAAe,GAAiC;AAClD,IAAA,mBAAmB,EAAE,MAAM,EAAE;AAC7B,IAAA,gBAAgB,EAAE,MAAM,EAAE;AAC1B,IAAA,IAAI,EAAE,MAAM,EAAE;AACd,IAAA,cAAc,EAAE,MAAM,EAAE;AACxB,IAAA,WAAW,EAAE,aAAa;CAC7B;AAED,MAAM,uBAAuB,GAAsC;IAC/D,GAAG,EAAE,CAAC,GAAG,EAAE,GAAQ,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,qBAAqB,GAAG,IAAI,KAAK,CACnC,eAAsB,EACtB,uBAAuB,CAC1B;AAED,MAAM,SAAS,GAAG,KAAK,cAAc,KAAc,CAAA;AACxC,IAAA,IAAI,GAAG,MAAY,IAAI;AACjC,CAAA,GAAG;AAEJ,MAAM,QAAQ,GAAY,EAAC,OAAO,EAAE,KAAK,EAAC;AAE1C,MAAM,UAAU,GAAqB;AACjC,IAAA,GAAG,YAAY;AACf,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,IAAW;IACnB,MAAM,EAAE,IAAW;AACnB,IAAA,WAAW,EAAE,IAAI;CACpB;AAED,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;AAE1D,MAAM,cAAc,GAAyB;AACzC,IAAA,GAAG,EAAE,CAAC,SAAS,EAAE,GAAW,KAAI;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,OAAO,SAAS;QACpB;AAEA,QAAA,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAAmB,CAAC;IACvE,CAAC;CACJ;AAEM,MAAM,gBAAgB,GAAoB;AAC7C,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE;QACF,QAAQ;AACR,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,eAAe,CAAC;AACjC,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC;AACtC,KAAA;IACD,UAAU,EAAE,CACR,QAAkB,EAClB,QAAyB,EACzB,SAAwB,KAChB;AACR,QAAA,MAAM,UAAU,GAAW;AACvB,YAAA,GAAG,YAAY;YACf,QAAQ;YACR,YAAY,EAAE,IAAI,WAAW,EAAE;AAC/B,YAAA,QAAQ,EAAE,QAAQ,IAAI,IAAI,YAAY,EAAE;YACxC,SAAS,EAAE,EAAC,GAAG,cAAc,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE,EAAC;YAC1D,WAAW,EAAE,kBAAkB,EAAE;YACjC,cAAc,EAAE,IAAI,WAAW,EAAE;AACjC,YAAA,eAAe,EAAE,qBAAqB;AACtC,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,MAAM,EAAE,WAAW;YACnB,GAAG;YACH,eAAe;YACf,UAAU;YACV,WAAW;YACX,YAAY;YACZ,aAAa;YACb,OAAO;AACP,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,aAAa;YACpB,iBAAiB,EAAE,EAAC,GAAG,cAAc,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE,EAAC;;AAElE,YAAA,UAAU,EAAE,OAAO;AACf,gBAAA,GAAG,YAAY;AACf,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE,aAAa;AAC1B,gBAAA,cAAc,EAAE,aAAa;aAChC,CAAC;;AAEF,YAAA,SAAS,EAAE;AACP,gBAAA,GAAG,EAAE,UAAU;AACf,gBAAA,IAAI,EAAE,MAAM,UAAU;AACtB,gBAAA,cAAc,EAAE,MAAM,UAAU;AACnC,aAAA;AACD,YAAA,cAAc,EAAE;AACZ,gBAAA,MAAM,EAAE,aAAa;AACrB,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,cAAc;AAC9B,aAAA;AACD,YAAA,UAAU,EAAE;AACR,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,WAAW,EAAE,WAAW;AAC3B,aAAA;AACD,YAAA,OAAO,EAAE;AACL,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,EAAE,EAAE,aAAa;AACjB,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,YAAY,EAAE,aAAa;AAC9B,aAAA;AACD,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,gBAAgB,EAAE,CAAC;AACnB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,qBAAqB,EAAE,UAAU;AACjC,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,cAAc,EAAE,aAAa;AAC7B,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,gBAAgB,EAAE,MAAM,qBAAqB;AAC7C,YAAA,kBAAkB,EAAE,MAAM,SAAS;AACnC,YAAA,YAAY,EAAE,MAAM,IAAI;SACpB;AAER,QAAA,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC;IAChD,CAAC;;;AC3LE,MAAM,mBAAmB,GAAe;IAC3C,yBAAyB;IACzB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,uBAAuB;IACvB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;IACnB,qBAAqB;IACrB,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;;SAGJ,gBAAgB,GAAA;AAC5B,IAAA,OAAO,mBAAmB;AAC9B;;AC1BM,SAAU,eAAe,CAAC,GAAoB,EAAA;AAChD,IAAA,MAAM,QAAQ,GAAG,WAAW,IAAI,GAAG,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM;AAC7D,IAAA,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA,EAAG,GAAG,CAAC,GAAG,CAAA,CAAE,CAAC;AAEvE,IAAA,GAAG,CAAC,MAAM,GAAG,aAAa;AAC1B,IAAA,GAAG,CAAC,MAAM,GAAG,aAAa;AAC1B,IAAA,GAAG,CAAC,OAAO,GAAG,aAAa;AAC3B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI,iBAAiB,EAAE;IAE7C,OAAO;AACH,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,GAAG;KAChB;AACL;;ACfM,SAAU,gBAAgB,CAAC,GAAmC,EAAA;IAChE,OAAO;AACH,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;KACtC;AACL;;ACXA;;AAEG;;;;"}