@c8y/ngx-components 1021.54.6 → 1021.54.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +1 -0
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts +1 -0
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/datapoint-selector/datapoint-library.service.d.ts +2 -2
- package/datapoint-selector/datapoint-library.service.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +5 -0
- package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +13 -2
- package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +2 -0
- package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector.component.d.ts +11 -1
- package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +15 -33
- package/esm2022/context-dashboard/context-dashboard.model.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.service.mjs +31 -21
- package/esm2022/datapoint-selector/datapoint-library.service.mjs +11 -6
- package/esm2022/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.mjs +5 -3
- package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +12 -6
- package/esm2022/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.mjs +5 -3
- package/esm2022/datapoint-selector/datapoint-selector.component.mjs +22 -5
- package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -1
- package/esm2022/upgrade/ng1/index.mjs +4 -3
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +44 -52
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +49 -19
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +4 -2
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/locales/de.po +128 -122
- package/locales/es.po +6 -0
- package/locales/fr.po +149 -141
- package/locales/ja_JP.po +296 -215
- package/locales/ko.po +6 -0
- package/locales/locales.pot +18 -3
- package/locales/nl.po +6 -0
- package/locales/pl.po +6 -0
- package/locales/pt_BR.po +6 -0
- package/locales/zh_CN.po +6 -0
- package/locales/zh_TW.po +6 -0
- package/package.json +1 -1
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
- package/upgrade/ng1/index.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/smart-rules.service.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1)\n )\n .subscribe(() => {\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n // tslint:disable-next-line: forin\n for (const context in ViewContext) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","export abstract class Ng1SmartRulesService {\n abstract permissionsCfgs;\n abstract addNewForOutputOperationWithUI(operation);\n abstract addNewForInputAlarmAndOutputUserWithUI(alarm, user);\n}\n\nexport function SmartRulesServiceFactory(injector: any) {\n return injector.get('smartRulesSvc');\n}\n\nexport const smartRulesServiceProvider = {\n provide: Ng1SmartRulesService,\n useFactory: SmartRulesServiceFactory,\n deps: ['$injector']\n};\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { smartRulesServiceProvider } from './smart-rules.service';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n smartRulesServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DocsService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n declarations: [LegacyDeviceSelectorComponent, WidgetComponent],\n imports: [CommonModule, C8yTranslateModule, AssetSelectorModule],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/smart-rules.service.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1)\n )\n .subscribe(() => {\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n // tslint:disable-next-line: forin\n for (const context in ViewContext) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","export abstract class Ng1SmartRulesService {\n abstract permissionsCfgs;\n abstract addNewForOutputOperationWithUI(operation);\n abstract addNewForInputAlarmAndOutputUserWithUI(alarm, user);\n}\n\nexport function SmartRulesServiceFactory(injector: any) {\n return injector.get('smartRulesSvc');\n}\n\nexport const smartRulesServiceProvider = {\n provide: Ng1SmartRulesService,\n useFactory: SmartRulesServiceFactory,\n deps: ['$injector']\n};\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { smartRulesServiceProvider } from './smart-rules.service';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n smartRulesServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DocsService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\nexport const datapointSelectorServiceDowngradedInjectable =\n downgradeInjectable(DatapointSelectorService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n datapointSelectorServiceDowngradedInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n declarations: [LegacyDeviceSelectorComponent, WidgetComponent],\n imports: [CommonModule, C8yTranslateModule, AssetSelectorModule],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAC1C,SAAS,GAAA;QACP,OAAO,CAAC,KAAU,EAAE,MAAM,GAAG,QAAQ,EAAE,QAAiB,EAAE,MAAe,KACvE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC5D;AACF,CAAA;AACK,SAAU,0BAA0B,CAAC,QAAkB,EAAA;IAC3D,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;AACvD,CAAC;AACM,MAAM,2BAA2B,GAAG;AACzC,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,UAAU,EAAE,0BAA0B;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB;;ACZD,IAAY,0BAUX,CAAA;AAVD,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACnB,IAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;AACjB,IAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,0BAAA,CAAA,aAAA,CAAA,GAAA,eAA6B,CAAA;AAC7B,IAAA,0BAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;AAC9B,IAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,eAAwC,CAAA;AACxC,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACnB,IAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;IACpB,0BAAuB,CAAA,YAAA,CAAA,GAAA,UAAA,CAAA;AACzB,CAAC,EAVW,0BAA0B,KAA1B,0BAA0B,GAUrC,EAAA,CAAA,CAAA,CAAA;AAED,SAAS,gBAAgB,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAA;AACrE,IAAA,UAAU,CAAC;IAEX,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,IAAA,MAAM,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;IAEzC,OAAO;QACL,IAAI;QACJ,IAAI,GAAA;YACF,OAAO;gBACL,YAAY;gBACZ,IAAI,CAAC,IAAI,EAAE,GAAG,EAAA;oBACZ,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9B;gBACD,SAAS;gBACT,eAAe;aAChB,CAAC;SACH;KACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;AACH,IAAA,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAA;AAC/B,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;;AAEhC,QAAA,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG;YAC1B,YAAY;AACZ,YAAA,UAAU,IAAG;gBACX,OAAO,UAAU,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC;AAEF,QAAA,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;;SAEd;QAED,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACtB,YAAA,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SAC/B;AAED,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,aAAA,GAAG,CAAC,GAAG,KAAK;YACX,GAAG;AACH,YAAA,SAAS,EACP,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;AAC5F,SAAA,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;QAEtC,IAAI,eAAe,EAAE;AACnB,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,YAAA,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;AAEnB,YAAA,MAAM,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,YAAY,CAAC,IAAI,CAAC;AAChB,gBAAA,GAAG,GAAG;AACN,gBAAA,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;gBACpC,UAAU,EAAE,eAAe,CAAC,GAAG;gBAC/B,QAAQ;AACT,aAAA,CAAC,CAAC;AACH,YAAA,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AACvB,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE;AACZ,gBAAA,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF;aAAM;AACL,YAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;AACpC,gBAAA,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpF,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;gBAC7D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aAC1D;AAED,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,YAAA,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;AAEnB,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9D,gBAAA,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAE7B,gBAAA,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;oBACjD,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAA;AAC9D,wBAAA,UAAU,CAAC;wBAEX,MAAM,gBAAgB,GAAG,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AACnF,wBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AAEzC,wBAAA,OAAO,EAAE;AACN,6BAAA,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;6BAChE,IAAI,CAAC,KAAK,IAAG;4BACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,4BAAA,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;4BACrB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;gCAC3B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAI,CAAA,EAAA,GAAG,CAAE,CAAA,EAAE,GAAG,CAAC,CAAC;AACpC,6BAAC,CAAC,CAAC;AACH,4BAAA,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC;AACjC,4BAAA,OAAO,GAAG,CAAC;AACb,yBAAC,CAAC,CAAC;qBACN;AACF,iBAAA,CAAC,CAAC;aACJ;SACF;AACD,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC5D;IAED,SAAS,SAAS,CAAC,IAAI,EAAA;AACrB,QAAA,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC;AAED,IAAA,SAAS,SAAS,CAAC,IAAI,EAAE,GAAG,EAAA;AAC1B,QAAA,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACnC;IAED,SAAS,eAAe,CAAC,IAAI,EAAA;AAC3B,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAChD,OAAO,MAAM,GAAG,IAAI,CAAC;KACtB;AACH;;MC5Ia,aAAa,CAAA;AAMxB,IAAA,WAAA,CACS,QAAa,EACZ,QAAyB,EAC1B,MAAc,EACb,MAAc,EACd,aAA4B,EAC5B,aAA4B,EACpC,OAA8B,EAAA;QANvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QACZ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACb,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AARtC,QAAA,IAAA,CAAA,SAAS,GAAmB,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAWlD,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAC/B,qBAAqB,CACtB,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAC/B,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,OAAO,CAAC,iBAAiB;AACtB,aAAA,IAAI,CACH,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;AAClC,SAAC,CAAC,CAAC;QACL,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED;;;AAGG;IACH,SAAS,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CACH,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,UAAU,CAAC,EAC5CA,KAAG,CAAC,CAAC,KAAiB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACvD,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAC/E;AACA,aAAA,SAAS,CAAC,CAAC,KAA6B,KAAI;YAC3C,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC9D;AACH,SAAC,CAAC,CAAC;KACN;IAED,gBAAgB,GAAA;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;;;AAI/C,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;AAC3B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;AAC1B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5D;AAED,IAAA,QAAQ,CAAC,GAAG,EAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC1B,YAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;AACd,YAAA,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAgB;YACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ;AACtB,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,IAAI,EAAE;gBACJ,MAAM,EAAE,GAAG,CAAC,MAAM;sBACd,QAAQ,IAAG;AACT,wBAAA,MAAM,MAAM,GAAG;4BACb,GAAG,QAAQ,CAAC,MAAM;AAClB,4BAAA,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE;yBACjE,CAAC;AACF,wBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE;AAC/D,4BAAA,YAAY,EAAE,MAAM;AACrB,yBAAA,CAAC,CAAC;;AAEH,wBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACjE;AACH,sBAAE,SAAS;AACd,aAAA;AACD,YAAA,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AACnD,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;SAC9B;KACF;IAED,SAAS,GAAA;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,EAAE,CAAC;;AAG1B,QAAA,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AACjC,YAAA,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,IAAI,CAAiB,eAAA,CAAA,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC;AAClB,gBAAA,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACtE,MAAM;gBACN,QAAQ;AACT,aAAA,CAAC,CAAC;SACJ;AAED;;;;;;;;;;AAUG;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;;AAE9C,YAAA,KAAK,EAAE,SAAS,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAA;;AAEvC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9C;AACD,gBAAA,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;aACxD;AACD,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;AAEH;;;AAGG;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,aAAa,CAAC,CAAC;AACrD,aAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;YAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE;AAC5C,gBAAA,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC;aACpC;AAAM,iBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;AAC7D,gBAAA,SAAS,CAAC,UAAU,GAAG,MAAK;oBAC1B,OAAO;AACL,wBAAA,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACxD,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACtC,wBAAA,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;qBAC7C,CAAC;AACJ,iBAAC,CAAC;aACH;iBAAM;AACL,gBAAA,SAAS,CAAC,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aAC5D;AACH,SAAC,CAAC,CAAC;KACN;IAED,YAAY,GAAA;AACV,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,KAAK,EAAE,GAAI,MAAc,CAAC,GAAG,CAAC,MAAM,CAAC;AAC7C,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;;AAEnC,YAAA,KAAK,CAAC,UAAU,GAAG,UAAU,GAAG,IAAI,EAAA;AAClC,gBAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,aAAC,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;;SAEX;AAED,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAa,CAAC;AAC9B,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;;AAExB,YAAA,GAAG,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,EAAA;AAC1B,gBAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,aAAC,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;IAED,YAAY,GAAA;QACV,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ;aACV,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;aACxB,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;aAC1C;YACD,KAAK,GAAG,KAAK,CAAC;AAChB,SAAC,CAAC,CAAC;KACN;IAED,OAAO,GAAA;;AAEL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,GAAG,IAAG;YACrB,QAAQ,CAAC,IAAI,CAAC;AACZ,gBAAA,GAAG,GAAG;AACN,gBAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;AAC5B,gBAAA,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAK;YACvC,QAAQ,GAAG,EAAE,CAAC;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAK;AACzC,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACxD,oBAAA,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE;AAC/B,oBAAA,kBAAkB,EAAE,IAAI;AACzB,iBAAA,CAAC,CAAC;aACJ;AACD,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAC9B;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CACxB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAChD,EAAE,CAAC,CAAC,CAAC,CACN,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;KACtE;IAED,OAAO,GAAA;QACL,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;AACvC,QAAA,MAAM,UAAU,GAAG,GAAG,KAAK;AACzB,YAAA,GAAG,GAAG;AACN,YAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;AAC5B,YAAA,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,SAAA,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACvC,SAAS,CAAC,MAAK;AACb,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,CAAC,CAC3D,CAAC;AACF,YAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAClF,SAAC,CAAC,EACF,SAAS,CAAC,EAAE,CAAC,CACd,CAAC;AACF,QAAA,OAAO,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACpDA,KAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAC3C,CAAC;KACH;IAED,aAAa,GAAA;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,QAAA,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,iBAAiB,GAAA;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,QAAA,MAAM,oBAAoB,GAAG,MAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK;YACpC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC;AAC1D,YAAA,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,OAAO;AAClE,SAAA,CAAC,CAAC,CAAC;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAC9D,SAAS,CAAC,CAAC,CAAC,EACZA,KAAG,CAAC,oBAAoB,CAAC,CAC1B,CAAC;KACH;IAED,cAAc,GAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,UAAU,IAClD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CACtD,CAAC;AACF,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAC5B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,MAAK;AACb,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAC/BA,KAAG,CAAC,CAAC,KAAY,KAAI;AACnB,gBAAA,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;AAC5D,gBAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACtC,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAyB,EAAE,CAAe,CAAC,CAAC;aACjF,CAAC,CACH,CAAC;SACH,CAAC,CACH,CAAC;KACH;AAED,IAAA,sBAAsB,CAAC,IAAI,EAAA;AACzB,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACnC;QAAC,OAAO,EAAE,EAAE;;SAEZ;AACD,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACjB,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACnB;AACD,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACf;IAED,SAAS,GAAA;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAG;YACjC,OAAO;AACL,gBAAA,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,IAAI,EAAE,EAAE;gBACR,QAAQ,GAAA;AACN,oBAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,wBAAA,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7B;iBACF;aACQ,CAAC;AACd,SAAC,CAAC,CAAC;KACJ;IAED,UAAU,GAAA;AACR,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC;QAC5E,OAAO,EAAE,CACP,iBAAiB;aACd,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAChC,aAAA,GAAG,CAAC,MAAM,KAAK;;YAEd,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,EAAE,MAAM,CAAC,IAAI;YAClB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAK;gBACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAC7C;SACF,CAAC,CAAC,CACN,CAAC;KACH;IAED,YAAY,CAAC,GAAG,EAAE,GAAG,EAAA;AACnB,QAAA,IAAI,aAAa,CAAC;QAClB,SAAS,GAAG,CAAC,OAAO,EAAA;YAClB,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,aAAa,EAAE,CAAC,CAAC;KACrD;IAEO,YAAY,GAAA;QAClB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,eAAe,CAAC,GAAG,CAAC;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC;YACxC,KAAK,EAAE,eAAe,CAAC,4BAA4B;AACpD,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAEe,SAAA,oBAAoB,CAClC,QAAa,EACb,QAAyB,EACzB,MAAc,EACd,MAAc,EACd,aAA4B,EAC5B,aAA4B,EAC5B,OAA8B,EAAA;AAE9B,IAAA,OAAO,IAAI,aAAa,CACtB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,OAAO,CACR,CAAC;AACJ,CAAC;AAEY,MAAA,qBAAqB,GAAG;AACnC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,IAAI,EAAE;QACJ,WAAW;QACX,eAAe;QACf,MAAM;QACN,MAAM;QACN,aAAa;QACb,aAAa;QACb,qBAAqB;AACtB,KAAA;;;MCpbU,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;KAC7D;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC5B,SAAS,CAAC,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;SACxC,CAAC,CACH,CAAC;KACH;8GAdU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCAE,uBAAuB,CAAA;IAGlC,WAAoB,CAAA,MAAqB,EAAU,IAAiB,EAAA;QAAhD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;AAClE,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;KACzE;AAED,IAAA,kBAAkB,CAAC,IAAI,EAAA;AACrB;;;;AAIG;AACH,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AACzD,QAAA,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AACjD,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC;AACnC,YAAA,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;SACpC;KACF;IAED,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KACjC;8GA3BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCFE,iBAAiB,CAAA;IAC5B,WACS,CAAA,QAAa,EACZ,SAAoB,EACpB,WAAwB,EACxB,QAAyB,EACzB,eAAgC,EAAA;QAJjC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QACZ,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QACzB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;AAED,IAAA,eAAe,CAAC,WAAyB,EAAA;AACvC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,OAAO,CAAC,aAAa,EAAE;AACzB,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;SACF;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAG;YACzC,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1F,YAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACzD,YAAA,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;AAClD,YAAA,IAAI,OAAO,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACtF,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACxC;aACF;iBAAM,IACL,OAAO,mBAAmB,KAAK,QAAQ;AACvC,gBAAA,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,EACxC;gBACA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aACrD;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,QAAQ,CAAC,KAAc,EAAE,GAAY,EAAE,IAAI,GAAG,OAAO,EAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;aAAM;YACL,OAAO,CAAC,SAAS,EAAE,CAAC;SACrB;KACF;IAED,uBAAuB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KACvF;AACF,CAAA;AAEK,SAAU,wBAAwB,CACtC,QAAa,EACb,SAAoB,EACpB,WAAwB,EACxB,QAAyB,EACzB,eAAgC,EAAA;AAEhC,IAAA,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAEY,MAAA,yBAAyB,GAAG;AACvC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,UAAU,EAAE,wBAAwB;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;;;MC3ElE,2BAA2B,CAAA;AAQtC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AAPjC,QAAA,IAAA,CAAA,OAAO,GAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACrC,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;SACrC,CAAC,CACH,CAAC;KAC2C;IAE7C,GAAG,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;8GAbU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA3B,2BAA2B,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;;;MCDE,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAG;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,EAAE,IAAG;gBACZ,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC;AACjC,gBAAA,OAAO,EAAE,CAAC;AACZ,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;8GAdU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;MCCE,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAAI;IAE7C,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACrC;8GALU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAtB,sBAAsB,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCJW,oBAAoB,CAAA;AAIzC,CAAA;AAEK,SAAU,wBAAwB,CAAC,QAAa,EAAA;AACpD,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAEY,MAAA,yBAAyB,GAAG;AACvC,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,UAAU,EAAE,wBAAwB;IACpC,IAAI,EAAE,CAAC,WAAW,CAAC;;;MCRR,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;KACxC;IACD,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;8GAPU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;ACoBX,kBAAkB,CAAC,OAAO,CAAC,CAAC;MAkBf,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAfd,YAAY,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAenC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAbb,SAAA,EAAA;YACT,2BAA2B;YAC3B,qBAAqB;YACrB,yBAAyB;YACzB,yBAAyB;YACzB,aAAa,CAAC,sBAAsB,CAAC;YACrC,OAAO,CAAC,qBAAqB,CAAC;YAC9B,aAAa,CAAC,0BAA0B,CAAC;YACzC,UAAU,CAAC,uBAAuB,CAAC;YACnC,cAAc,CAAC,2BAA2B,CAAC;YAC3C,QAAQ,CAAC,qBAAqB,CAAC;SAChC,EAbS,OAAA,EAAA,CAAA,YAAY,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAenC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAhBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;wBACT,2BAA2B;wBAC3B,qBAAqB;wBACrB,yBAAyB;wBACzB,yBAAyB;wBACzB,aAAa,CAAC,sBAAsB,CAAC;wBACrC,OAAO,CAAC,qBAAqB,CAAC;wBAC9B,aAAa,CAAC,0BAA0B,CAAC;wBACzC,UAAU,CAAC,uBAAuB,CAAC;wBACnC,cAAc,CAAC,2BAA2B,CAAC;wBAC3C,QAAQ,CAAC,qBAAqB,CAAC;AAChC,qBAAA;AACF,iBAAA,CAAA;;;ACzCD,SAAS,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAA;AACzD,IAAA,UAAU,CAAC;AAEX,IAAA,SAAS,CAAC,GAAG,GAAG,KAAK,IAAG;QACtB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC;IAEF,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAI;QACrC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,KAAI;QACvC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC,CAAC;AAEH;;;AAGG;AACH,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC5E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAChD,YAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;KACF;IACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAgB,KAAI;QAChD,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;AAC7C,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3D;AACH,KAAC,CAAC,CAAC;IAEH,SAAS,cAAc,CAAC,KAAU,EAAA;AAChC,QAAA,MAAM,QAAQ,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,YAAA,QAAQ,CAAC,OAAO,GAAG,MAAK;AACtB,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACD,QAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClB,YAAA,QAAQ,CAAC,QAAQ,GAAG,MAAK;AACvB,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnC,aAAC,CAAC;SACH;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC7BO,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACtE,IAAA,SAAS,EAAE,kBAAkB;AAC9B,CAAA,CAAC,CAAC;AACI,MAAM,oCAAoC,GAAG,kBAAkB,CAAC;AACrE,IAAA,SAAS,EAAE,uBAAuB;AACnC,CAAA,CAAC,CAAC;AACI,MAAM,8CAA8C,GAAG,kBAAkB,CAAC;AAC/E,IAAA,SAAS,EAAE,2BAA2B;AACvC,CAAA,CAAC,CAAC;AACI,MAAM,oCAAoC,GAAG,kBAAkB,CAAC;AACrE,IAAA,SAAS,EAAE,iBAAiB;AAC7B,CAAA,CAAC,CAAC;AACI,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AACpE,IAAA,SAAS,EAAE,gBAAgB;AAC5B,CAAA,CAAC,CAAC;AACI,MAAM,wCAAwC,GAAG,kBAAkB,CAAC;AACzE,IAAA,SAAS,EAAE,qBAAqB;AACjC,CAAA,CAAC,CAAC;AACI,MAAM,gCAAgC,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1F,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACtE,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;AAC5B,CAAA,CAAC,CAAC;AACI,MAAM,sCAAsC,GAAG,kBAAkB,CAAC;AACvE,IAAA,SAAS,EAAE,mBAAmB;AAC/B,CAAA,CAAC,CAAC;AACI,MAAM,kDAAkD,GAAG,kBAAkB,CAAC;AACnF,IAAA,SAAS,EAAE,+BAA+B;AAC3C,CAAA,CAAC,CAAC;AAEI,MAAM,sCAAsC,GAAG,kBAAkB,CAAC;AACvE,IAAA,SAAS,EAAE,mBAAmB;AAC/B,CAAA,CAAC,CAAC;AACI,MAAM,0CAA0C,GAAG,kBAAkB,CAAC;AAC3E,IAAA,SAAS,EAAE,uBAAuB;AACnC,CAAA,CAAC,CAAC;AACI,MAAM,yCAAyC,GAAG,kBAAkB,CAAC;AAC1E,IAAA,SAAS,EAAE,sBAAsB;AAClC,CAAA,CAAC,CAAC;AACI,MAAM,4CAA4C,GAAG,kBAAkB,CAAC;AAC7E,IAAA,SAAS,EAAE,kCAAkC;AAC9C,CAAA,CAAC;;MCtDW,qBAAqB,CAAA;IAEhC,WAAoB,CAAA,gBAAkC,EAAiC,QAAQ,EAAA;QAA3E,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AACpD,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;KAClC;AAED,IAAA,SAAS,CAAC,CAAS,EAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzC;AARU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kDAEgC,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAF1E,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;0BAGgD,MAAM;2BAAC,qBAAqB,CAAA;;;ACoBhF,MAAM,uCAAuC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AACzF,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,qCAAqC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACrF,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC5E,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,8BAA8B,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACvE,MAAM,+BAA+B,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACzE,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,oCAAoC,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AACnF,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,uCAAuC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AACzF,MAAM,yCAAyC,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAC7F,MAAM,gCAAgC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,oCAAoC,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AACnF,MAAM,gCAAgC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,qCAAqC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACrF,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACvE,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,4CAA4C,GACvD,mBAAmB,CAAC,wBAAwB,CAAC;;ACtD/C,SAAS,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAA;AACpE,IAAA,UAAU,CAAC;IAEX,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AAEjF,IAAA,SAAS,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAA;AACzC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAClE,YAAA,MAAM,kBAAkB,GAAG,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAEtE,IAAI,cAAc,GAAG,gBAAgB,CAAC;AAEtC,YAAA,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,kBAAkB,EAAE;gBAC/D,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACzE,cAAc,GAAG,uBAAuB,CAAC;aAC1C;AAED,YAAA,OAAO,cAAc,CAAC;SACvB;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC;AAExC,IAAA,OAAO,cAAc,CAAC;AACxB;;AC7BA,SAAS,qCAAqC,CAAC,SAAS,EAAE,EAAE,EAAA;AAC1D,IAAA,UAAU,CAAC;IACX,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IACpC,SAAS,CAAC,kBAAkB,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/C,IAAA,OAAO,SAAS,CAAC;AACnB;;ACLA,SAAS,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAA;AACnE,IAAA,UAAU,CAAC;IAEX,SAAS,OAAO,CAAC,MAAM,EAAA;AACrB,QAAA,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAC/B,QAAA,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,MAAM,CAAC;KACf;IAED,SAAS,YAAY,CAAC,SAAS,EAAA;QAC7B,aAAa,CAAC,SAAS,CAAC,CAAC;AACzB,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,SAAS,QAAQ,CAAC,GAAG,EAAA;QACnB,aAAa,CAAC,GAAG,CAAC,CAAC;AACnB,QAAA,OAAO,GAAG,CAAC;KACZ;IAED,SAAS,aAAa,CAAC,SAAS,EAAA;QAC9B,aAAa,CAAC,SAAS,CAAC,CAAC;AACzB,QAAA,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,SAAS,aAAa,CAAC,GAAG,EAAA;QACxB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,aAAa,CAAC,QAAQ,CAAC;YACrB,GAAG;YACH,MAAM;AACN,YAAA,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,GAAG,CAAC,MAAM;AACpB,SAAA,CAAC,CAAC;KACJ;IAED,OAAO;QACL,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,aAAa;KACd,CAAC;AACJ;;ACtCM,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAC5D,IAAA,OAAO,CAAC,QAAQ,EAAA;AACd,QAAA,IAAI,SAAS,CAAC;AACd,QAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AACxB,YAAA,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SACrB;AACD,QAAA,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;YACvC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;SAC9C;AAED,QAAA,IAAI,QAAQ,CAAC,iBAAiB,EAAE;AAC9B,YAAA,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI;AACjD,gBAAA,QACE,IAAI,KAAK,QAAQ,CAAC,IAAI;oBACtB,KAAK,KAAK,QAAQ,CAAC,KAAK;AACxB,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,EAC9C;AACJ,aAAC,CAAC,CAAC;YACH,IAAI,SAAS,EAAE;AACb,gBAAA,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC;aACnC;SACF;QAED,OAAO,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC7C;AAED,IAAA,UAAU,CAAC,IAAI,EAAA;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAC5B,MAAM,CAAC,OAAO,EAAE;AACd,YAAA,QAAQ,EAAG,OAAe,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK;YAChD,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,CAAC,IAAI,EAAA;AACT,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;;AAE9B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAEnB,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACrB;gBACD,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;AACD,YAAA,QAAQ,CAAC,SAAS,EAAA;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACtC;AACF,SAAA,CAAC,EACF;AACE,YAAA,KAAK,EAAE;gBACL,GAAG,GAAA;AACD,oBAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5B;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;AACF,aAAA;AACD,YAAA,IAAI,EAAE;gBACJ,GAAG,GAAA;AACD,oBAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5B;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;AACF,aAAA;AACD,YAAA,IAAI,EAAE;gBACJ,GAAG,GAAA;AACD,oBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;iBACrB;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;iBACrB;AACD,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA;AACF,SAAA,CACF,CAAC;KACH;AACF;;AC3ED;SACgB,oBAAoB,GAAA;AAClC,IAAA,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAC3C,IAAA,MAAM,gBAAgB,GAA6B,IAAI,OAAO,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAgC,gBAAgB,CAAC,IAAI,CACnEC,OAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;IAEF,SAAS,aAAa,CAAC,KAAK,EAAA;AAC1B,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAG;AACtB,YAAA,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;AACxB,gBAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;AACH,QAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;IAED,SAAS,gBAAgB,CAAC,IAAI,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,YAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;KACF;IAED,SAAS,QAAQ,CAAC,IAAI,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,SAAS,aAAa,CAAC,IAAI,EAAA;QACzB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,0BAA0B,CAAC;KACjF;AAED,IAAA,SAAS,IAAI,CAAC,EAAE,EAAE,SAAS,EAAA;AACzB,QAAA,UAAU,CAAC;;QAGX,UAAU,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1D,SAAS,aAAa,CAAC,IAAI,EAAA;YACzB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;YAEvE,IAAI,MAAM,EAAE;gBACV,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,0BAA0B,EAAE;gBAC9B,kBAAkB,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;YAED,SAAS;AACN,iBAAA,mBAAmB,CAClB;AACE,gBAAA,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpD,iBAAiB;AAClB,aAAA,EACD,SAAS,CACV;AACA,iBAAA,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;gBACpB,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClB,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,MAAM,EAAE,IAAI;AACZ,wBAAA,gBAAgB,EAAE,IAAI;AACtB,wBAAA,0BAA0B,EAAE,IAAI;AACjC,qBAAA,CAAC,CAAC;iBACJ;qBAAM;AACL,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAC;SACN;QAED,SAAS,0BAA0B,CAAC,IAAI,EAAA;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAA,OAAO,EAAE;iBACN,GAAG,CACF,GAAG,CAAC,KAAK,EAAE,IAAI,IACb,SAAS;AACN,iBAAA,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;AAC/E,iBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC1B,CACF;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QAED,OAAO;YACL,SAAS,GAAA;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,QAAQ;YACR,aAAa;YACb,gBAAgB;YAChB,UAAU;SACX,CAAC;KACH;IAED,OAAO;QACL,IAAI;QACJ,aAAa;QACb,gBAAgB;KACjB,CAAC;AACJ;;ACpHA,MAAM,aAAa,GAAG;AACpB,IAAA,QAAQ,EAAE,CAAA;;;;;AAKO,kBAAA,CAAA;AACjB,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,SAAS,mBAAmB,CAC1B,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,EACd,gBAAgB,EAAA;AAEhB,IAAA,UAAU,CAAC;;IAEX,MAAM,EAAE,GAAG,IAAI,CAAC;AAEhB,IAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QAChB,OAAO;AACP,QAAA,OAAO,EAAE,KAAK;AACf,KAAA,CAAC,CAAC;;AAIH,IAAA,SAAS,OAAO,GAAA;QACd,gBAAgB;aACb,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;aAC9B,SAAS,CAAC,MAAM,IAAG;AAClB,YAAA,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,SAAC,CAAC,CAAC;QACL,gBAAgB,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,QAAA,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AACrD,QAAA,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACtC,cAAc,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,EAAE,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC5D,QAAA,UAAU,EAAE,CAAC;KACd;AAED,IAAA,SAAS,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAA;AAClC,QAAA,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;KACrB;AAED,IAAA,SAAS,SAAS,GAAA;QAChB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;KACzD;AAED,IAAA,SAAS,UAAU,GAAA;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;QAChD,IAAI,QAAQ,EAAE;AACZ,YAAA,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;SACpB;aAAM;YACL,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtB;KACF;AACH;;AC3DA,SAAS,iBAAiB,CACxB,EAAE,EACF,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,gBAAgB,EAAA;AAEhB,IAAA,UAAU,CAAC;AAEX,IAAA,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,IAAA,SAAS,CAAC,eAAe,GAAG,eAAe,CAAC;AAE5C,IAAA,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAK;QACvC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,KAAC,CAAC,CAAC;AAEH,IAAA,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAG;QAC5C,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,KAAC,CAAC,CAAC;AAEH,IAAA,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,IAAG;QACrC,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,KAAC,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,KAAU,EAAA;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE;YACT,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1E,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,IAAG;AACpB,gBAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;gBAC7B,IAAI,WAAW,EAAE;oBACf,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACjD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;iBACxD;qBAAM;oBACL,WAAW,CAAC,IAAI,CAAC,CAAC;iBACnB;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,SAAS,WAAW,CAClB,4BAA4B,EAC5B,OAAO,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAA;QAEzE,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAC5D,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAC9D,CAAC;KACH;IAED,SAAS,SAAS,CAChB,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAC7B,EAAE,oBAAoB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,EAAA;QAEjE,MAAM,aAAa,GAAG,oBAAoB,GAAG,aAAa,GAAG,yBAAyB,CAAC;QACvF,MAAM,gBAAgB,GAAG,uBAAuB;AAC9C,cAAE,gBAAgB;cAChB,4BAA4B,CAAC;AACjC,QAAA,MAAM,QAAQ,GAAG,CAAA;kCACa,aAAa,CAAA;eAChC,gBAAgB,CAAA;KAC1B,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAA,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,QAAA,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAElC,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9D;IAED,SAAS,oBAAoB,CAAC,UAAU,EAAA;AACtC,QAAA,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAC1C;IAED,SAAS,eAAe,CAAC,QAAQ,EAAA;QAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC;AAChB,QAAA,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC9BA,MAAM,YAAY,GAAG,aAAa,CAAC;AAClC,MAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAE3C,OAAO;AACJ,KAAA,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;;KAExB,MAAM,CAAC,UAAU,aAAa,EAAA;AAC7B,IAAA,UAAU,CAAC;IAEX,MAAM,mBAAmB,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACtF,IAAA,IAAI,mBAAmB,GAAG,CAAC,CAAC,EAAE;QAC5B,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;KAC3D;AACD,IAAA,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC,CAAC;AACD,KAAA,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC;AACrC,KAAA,SAAS,CAAC,cAAc,EAAE,qCAAqC,CAAC;AAChE,KAAA,OAAO,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;AAC9D,KAAA,OAAO,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;AACtE,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;AAClE,KAAA,OAAO,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;AAC9D,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;;KAElE,OAAO,CAAC,gBAAgB,EAAE,YAAA;IACzB,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC,CAAC;AACD,KAAA,OAAO,CAAC,UAAU,EAAE,iCAAiC,CAAC;AACtD,KAAA,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;AACxC,KAAA,SAAS,CAAC,8BAA8B,EAAE,qCAAqC,CAAC;AAChF,KAAA,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC;AACxD,KAAA,OAAO,CAAC,SAAS,EAAE,+BAA+B,CAAC;AACnD,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;AAClE,KAAA,OAAO,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;AAC5D,KAAA,OAAO,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;AACpE,KAAA,OAAO,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;AAC5D,KAAA,OAAO,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;AAC1E,KAAA,OAAO,CAAC,kCAAkC,EAAE,iDAAiD,CAAC;AAC9F,KAAA,OAAO,CAAC,6BAA6B,EAAE,4CAA4C,CAAC,CAAC;AAExF,OAAO;KACJ,MAAM,CAAC,QAAQ,CAAC;AAChB,KAAA,MAAM,CAAC,cAAc,EAAE,uCAAuC,CAAC;AAC/D,KAAA,SAAS,CAAC,YAAY,EAAE,mCAAmC,CAAC;AAC5D,KAAA,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;AAC9C,KAAA,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACtC,KAAA,SAAS,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;AACpE,KAAA,SAAS,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;AAClF,KAAA,SAAS,CAAC,aAAa,EAAE,oCAAoC,CAAC;AAC9D,KAAA,SAAS,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;AACtE,KAAA,SAAS,CAAC,SAAS,EAAE,gCAAgC,CAAC;AACtD,KAAA,SAAS,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;AACpE,KAAA,SAAS,CAAC,2BAA2B,EAAE,kDAAkD,CAAC;AAC1F,KAAA,SAAS,CAAC,cAAc,EAAE,qCAAqC,CAAC;AAChE,KAAA,SAAS,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;AACxE,KAAA,SAAS,CAAC,YAAY,EAAE,sCAAsC,CAAC;AAC/D,KAAA,SAAS,CAAC,6BAA6B,EAAE,0CAA0C,CAAC;AACpF,KAAA,SAAS,CAAC,8BAA8B,EAAE,4CAA4C,CAAC;AACvF,KAAA,OAAO,CAAC,cAAc,EAAE,oCAAoC,CAAC;AAC7D,KAAA,OAAO,CAAC,kCAAkC,EAAE,iDAAiD,CAAC;AAC9F,KAAA,SAAS,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;AACpD,KAAA,OAAO,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;AACvE,KAAA,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC9C,KAAA,OAAO,CAAC,2BAA2B,EAAE,iDAAiD,CAAC;AACvF,KAAA,OAAO,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;AACtE,KAAA,OAAO,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;AACxD,KAAA,OAAO,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;AAE3D,OAAO;KACJ,MAAM,CAAC,QAAQ,CAAC;AAChB,KAAA,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;AACxC,KAAA,GAAG,CAAC;IACH,UAAU;AACV,IAAA,YAAA;;KAEC;AACF,CAAA,CAAC,CAAC;MAEQ,iBAAiB,GAAG,CAAC,KAAK,EAAE,YAAY;;MChI/B,eAAe,CAAA;AAArC,IAAA,WAAA,GAAA;QACE,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;KAOhC;IAJC,aAAa,GAAA;QACV,MAAc,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9F;AACF;;ACTM,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE;;MCQ3D,sBAAsB,CAAA;AAUjC,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,WAAW,GAAQ,MAAM,CAAC,WAAkB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAGpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACjD;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC9C;AAED,IAAA,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAA;QACxC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAC7C,IAAI,SAAS,EAAE;YACb,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CACxE,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,OAAO,EAC1C,SAAS,EACT,KAAK,CACN,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,YAAY,EAAE;AACrF,gBAAA,MAAM,IAAI,CAAC,YAAY,CAAC,8BAA8B,CACpD,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,OAAO,EAC1C,gBAAgB,CAAC,MAAM,CACxB,CAAC;aACH;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MACjC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACjD;KACF;IAED,yBAAyB,CAAC,OAAO,EAAE,YAAiC,EAAA;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;KAC7D;AAEO,IAAA,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAA,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAC/B,QAAA,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;AACjC,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;YACzB,OAAO,CAAC,SAAS,GAAG,CAAA,mCAAA,EAAsC,KAAK,CAAC,eAAe,yEAAyE,CAAC;SAC1J;AAAM,aAAA,IAAI,KAAK,CAAC,WAAW,EAAE;YAC5B,OAAO,CAAC,SAAS,GAAG,CAAA,kBAAA,EAAqB,KAAK,CAAC,WAAW,kBAAkB,CAAC;SAC9E;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,YAAY,GAAA;AAClB,QAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;KAC/D;AAEO,IAAA,kBAAkB,CACxB,OAAO,EACP,YAAiC,EACjC,kBAAkB,GAAG,KAAK,EAAA;AAE1B,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5D,QAAA,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClD,QAAA,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;AACrC,QAAA,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;AAC5B,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACzC,SAAS,GAAG,sCAAsC,YAAY,CAAC,QAAQ,CAAC,eAAe,wCAAwC,CAAC;aACjI;AAAM,iBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBAClD,SAAS,GAAG,qBAAqB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,kBAAkB,CAAC;aAC5F;SACF;QAED,OAAO,CAAC,SAAS,GAAG,CAAA;;;;;;;QAOhB,SAAS,CAAA;eACF,CAAC;AAEZ,QAAA,KAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,UAAU,IAAG;AACxD,YAAA,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,UAAU,CAAC;AACzD,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;AAE/E,QAAA,OAAO,KAAK,CAAC;KACd;8GAvGU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCQrB,eAAe,CAAA;AAO1B,IAAA,WAAA,CACsB,SAAoC,EAChD,sBAA8C,EAC9C,EAAc,EAAA;QAFF,IAAS,CAAA,SAAA,GAAT,SAAS,CAA2B;QAChD,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAC9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QALP,IAAsC,CAAA,sCAAA,GAAG,GAAG,CAAC;KAM1D;IAEJ,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aACxC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CACpE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,aAAa,CACtB,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACvF,qBAAA,IAAI,CAACC,cAAY,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;qBAC/D,SAAS,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC9C,iBAAC,CAAC,CAAC;aACN;SACF;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;AACD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;KACF;8GA5CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,yDAHhB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;0BASI,QAAQ;;;MCjBA,6BAA6B,CAAA;IAIxC,WACU,CAAA,sBAA8C,EAC9C,EAAc,EAAA;QADd,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAC9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KACpB;AAEJ,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CACnE,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;KACF;8GApBU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,kEAH9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGD,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;MCMY,0BAA0B,CAAA;AAErC,IAAA,WAAA,CAAoB,MAA8B,EAAA;QAA9B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAwB;AAChD,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3B,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,EACrC,WAAW,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,CAAC,CAAC,CACR,CAAC;KACH;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAEO,IAAA,MAAM,aAAa,GAAA;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAiC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;YACvE,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,IAAI,GAAG,CAAC,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE;gBACvF,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CACtC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,yBAAgC,CAAC,CACrE,CAAC;aACH;AACD,YAAA,IACE,GAAG,CAAC,OAAO,EAAE,uBAAuB;gBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,EACnD;gBACA,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAC1C,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,4BAAmC,CAAC,CACxE,CAAC;aACH;AACD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE;oBACR,GAAG,GAAG,CAAC,OAAO;oBACd,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,eAAe,EAAE,GAAG,CAAC,eAAe;AACpC,oBAAA,0BAA0B,EACxB,GAAG,CAAC,0BAA0B,IAAI,GAAG,CAAC,mCAAmC;AAC3E,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA;aACK,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC5C,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;YAE3C,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,IAAI;AACZ,gBAAA,KAAK,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;AAC5B,gBAAA,SAAS,EAAE,eAAe;AAC1B,gBAAA,eAAe,EAAE,eAAe;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,OAAO;gBACP,IAAI;aACyB,CAAC;AAClC,SAAC,CAAC,CAAC;;QAGH,UAAU,CAAC,IAAI,CAAC;AACd,YAAA,EAAE,EAAE,wBAAwB;AAC5B,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AACzD,YAAA,SAAS,EAAE,6BAA6B;AACzC,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,UAAU,CAAC;KACnB;8GApEU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCCE,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAtB,sBAAsB,EAAA,YAAA,EAAA,CAJlB,6BAA6B,EAAE,eAAe,aACnD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGpD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAFtB,SAAA,EAAA,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,EAAA,OAAA,EAAA,CAD5C,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGpD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;AAChE,oBAAA,SAAS,EAAE,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;AACvD,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
|