@delon/theme 12.2.3 → 12.4.2
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/bundles/layout-blank.umd.js +1 -1
- package/bundles/layout-default.umd.js +48 -37
- package/bundles/layout-default.umd.js.map +1 -1
- package/bundles/layout-theme-btn.umd.js +1 -1
- package/bundles/setting-drawer.umd.js +1 -1
- package/bundles/setting-drawer.umd.js.map +1 -1
- package/bundles/theme.umd.js +136 -5
- package/bundles/theme.umd.js.map +1 -1
- package/compact.css +21 -14
- package/compact.min.css +1 -1
- package/dark.css +21 -14
- package/dark.min.css +1 -1
- package/default.css +21 -14
- package/default.min.css +1 -1
- package/esm2015/layout-default/layout-nav.component.js +6 -2
- package/esm2015/layout-default/layout.component.js +25 -20
- package/esm2015/layout-default/layout.module.js +4 -2
- package/esm2015/setting-drawer/setting-drawer-item.component.js +1 -1
- package/esm2015/src/locale/languages/el-GR.js +3 -3
- package/esm2015/src/locale/languages/it-IT.js +83 -0
- package/esm2015/src/locale/public_api.js +2 -1
- package/esm2015/src/services/i18n/i18n.js +34 -2
- package/esm2015/src/services/menu/interface.js +1 -1
- package/esm2015/src/services/menu/menu.service.js +1 -1
- package/esm2015/src/version.js +1 -1
- package/fesm2015/layout-default.js +32 -21
- package/fesm2015/layout-default.js.map +1 -1
- package/fesm2015/setting-drawer.js.map +1 -1
- package/fesm2015/theme.js +120 -5
- package/fesm2015/theme.js.map +1 -1
- package/layout-default/layout-default.metadata.json +1 -1
- package/layout-default/layout.component.d.ts +4 -1
- package/layout-default/style/fix/_sidebar-nav.less +9 -14
- package/package.json +3 -3
- package/src/locale/languages/it-IT.d.ts +3 -0
- package/src/locale/public_api.d.ts +1 -0
- package/src/services/i18n/i18n.d.ts +22 -3
- package/src/services/menu/interface.d.ts +9 -4
- package/system/antd/_table.less +4 -1
- package/theme.metadata.json +1 -1
package/bundles/theme.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.umd.js","sources":["../../../../packages/theme/src/services/preloader/preloader.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../packages/theme/src/services/i18n/i18n.ts","../../../../packages/theme/src/services/menu/menu.service.ts","../../../../packages/theme/src/services/settings/settings.service.ts","../../../../packages/theme/src/services/responsive/responsive.ts","../../../../packages/theme/src/services/rtl/rtl.service.ts","../../../../packages/theme/src/services/title/title.service.ts","../../../../packages/theme/src/locale/locale.tokens.ts","../../../../packages/theme/src/locale/languages/zh-CN.ts","../../../../packages/theme/src/locale/locale.service.ts","../../../../packages/theme/src/locale/locale.module.ts","../../../../packages/theme/src/locale/languages/en-US.ts","../../../../packages/theme/src/locale/languages/zh-TW.ts","../../../../packages/theme/src/locale/languages/tr-TR.ts","../../../../packages/theme/src/locale/languages/pl-PL.ts","../../../../packages/theme/src/locale/languages/el-GR.ts","../../../../packages/theme/src/locale/languages/ko-KR.ts","../../../../packages/theme/src/locale/languages/hr-HR.ts","../../../../packages/theme/src/locale/languages/ja-JP.ts","../../../../packages/theme/src/locale/languages/sl-SI.ts","../../../../packages/theme/src/locale/languages/fr-FR.ts","../../../../packages/theme/src/locale/languages/es-ES.ts","../../../../packages/theme/src/services/modal/modal.helper.ts","../../../../packages/theme/src/services/drawer/drawer.helper.ts","../../../../packages/theme/src/services/http/http.client.ts","../../../../packages/theme/src/services/http/http.decorator.ts","../../../../packages/theme/src/pipes/date/date.pipe.ts","../../../../packages/theme/src/pipes/keys/keys.pipe.ts","../../../../packages/theme/src/pipes/yn/yn.pipe.ts","../../../../packages/theme/src/pipes/safe/html.pipe.ts","../../../../packages/theme/src/pipes/safe/url.pipe.ts","../../../../packages/theme/src/services/i18n/i18n.pipe.ts","../../../../packages/theme/src/theme.module.ts","../../../../packages/theme/src/router/optional-preloader.ts","../../../../packages/theme/src/version.ts","../../../../packages/theme/theme.ts"],"sourcesContent":["import type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport function preloaderFinished(): void {\n const body = document.querySelector('body')!;\n const preloader = document.querySelector('.preloader')!;\n\n body.style.overflow = 'hidden';\n\n function remove(): void {\n // preloader value null when running --hmr\n if (!preloader) return;\n preloader.addEventListener('transitionend', () => {\n preloader.className = 'preloader-hidden';\n });\n\n preloader.className += ' preloader-hidden-add preloader-hidden-add-active';\n }\n\n (window as NzSafeAny).appBootstrap = () => {\n setTimeout(() => {\n remove();\n body.style.overflow = '';\n }, 100);\n };\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainThemeI18nConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from '../http/http.client';\n\nexport interface AlainI18NService {\n [key: string]: NzSafeAny;\n\n /**\n * Call `use` to trigger change notification\n *\n * 调用 `use` 触发变更通知\n */\n readonly change: Observable<string>;\n\n /**\n * Get the default language\n *\n * 获取默认语言\n */\n readonly defaultLang: string;\n\n /**\n * Get current language\n *\n * 获取当前语言\n */\n readonly currentLang: string;\n\n /**\n * Change language\n *\n * 变更语言\n *\n * @param emit 是否触发 `change`,默认:true ; Should be removed, please use `change` event instead.\n */\n use(lang: string, data?: Record<string, string>): void;\n\n /**\n * Return to the current language list\n *\n * 返回当前语言列表\n */\n getLangs(): NzSafeAny[];\n\n /**\n * Translate 翻译\n *\n * @param params 模板所需要的参数对象\n * @param isSafe 是否返回安全字符,自动调用 `bypassSecurityTrustHtml`; Should be removed, If you need SafeHtml support, please use `| html` pipe instead.\n */\n fanyi(path: string, params?: unknown): string;\n}\n\nexport const ALAIN_I18N_TOKEN = new InjectionToken<AlainI18NService>('alainI18nToken', {\n providedIn: 'root',\n factory: () => new AlainI18NServiceFake(inject(AlainConfigService))\n});\n\n@Injectable()\nexport abstract class AlainI18nBaseService implements AlainI18NService {\n private cog: AlainThemeI18nConfig;\n protected _change$ = new BehaviorSubject<string | null>(null);\n protected _currentLang: string = '';\n protected _defaultLang: string = '';\n protected _data: Record<string, string> = {};\n get change(): Observable<string> {\n return this._change$.asObservable().pipe(filter(w => w != null)) as Observable<string>;\n }\n get defaultLang(): string {\n return this._defaultLang;\n }\n get currentLang(): string {\n return this._currentLang;\n }\n get data(): Record<string, string> {\n return this._data;\n }\n\n constructor(cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeI18n', {\n interpolation: ['{{', '}}']\n })!;\n }\n\n abstract use(lang: string, data?: Record<string, string>): void;\n\n abstract getLangs(): NzSafeAny[];\n\n fanyi(path: string, params?: Record<string, unknown>): string {\n let content = this._data[path] || '';\n if (!content) return path;\n\n if (params) {\n const interpolation = this.cog.interpolation!!;\n Object.keys(params).forEach(\n key =>\n (content = content.replace(\n new RegExp(`${interpolation[0]}\\s?${key}\\s?${interpolation[1]}`, 'g'),\n `${params[key]}`\n ))\n );\n }\n return content;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NServiceFake extends AlainI18nBaseService {\n use(lang: string, data: Record<string, string>): void {\n this._data = data;\n this._currentLang = lang;\n this._change$.next(lang);\n }\n\n getLangs(): NzSafeAny[] {\n return [];\n }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { Menu, MenuIcon, MenuInner } from './interface';\n\n/**\n * 菜单服务,[在线文档](https://ng-alain.com/theme/menu)\n */\n@Injectable({ providedIn: 'root' })\nexport class MenuService implements OnDestroy {\n private _change$: BehaviorSubject<Menu[]> = new BehaviorSubject<Menu[]>([]);\n private i18n$: Subscription;\n\n private data: Menu[] = [];\n\n constructor(\n @Optional()\n @Inject(ALAIN_I18N_TOKEN)\n private i18nSrv: AlainI18NService,\n @Optional() private aclService: ACLService\n ) {\n this.i18n$ = this.i18nSrv.change.subscribe(() => this.resume());\n }\n\n get change(): Observable<Menu[]> {\n return this._change$.pipe(share());\n }\n\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n const inFn = (list: Menu[], parentMenu: Menu | null, depth: number) => {\n for (const item of list) {\n callback(item, parentMenu, depth);\n if (item.children && item.children.length > 0) {\n inFn(item.children, item, depth + 1);\n } else {\n item.children = [];\n }\n }\n };\n\n inFn(data, null, 0);\n }\n\n add(items: Menu[]): void {\n this.data = items;\n this.resume();\n }\n\n private fixItem(item: MenuInner): void {\n item._aclResult = true;\n\n if (!item.link) item.link = '';\n if (!item.externalLink) item.externalLink = '';\n\n // badge\n if (item.badge) {\n if (item.badgeDot !== true) {\n item.badgeDot = false;\n }\n if (!item.badgeStatus) {\n item.badgeStatus = 'error';\n }\n }\n\n if (!Array.isArray(item.children)) {\n item.children = [];\n }\n\n // icon\n if (typeof item.icon === 'string') {\n let type = 'class';\n let value = item.icon;\n // compatible `anticon anticon-user`\n if (~item.icon.indexOf(`anticon-`)) {\n type = 'icon';\n value = value.split('-').slice(1).join('-');\n } else if (/^https?:\\/\\//.test(item.icon)) {\n type = 'img';\n }\n item.icon = { type, value } as NzSafeAny;\n }\n if (item.icon != null) {\n item.icon = { theme: 'outline', spin: false, ...(item.icon as MenuIcon) };\n }\n\n item.text = item.i18n && this.i18nSrv ? this.i18nSrv.fanyi(item.i18n) : item.text;\n\n // group\n item.group = item.group !== false;\n\n // hidden\n item._hidden = typeof item.hide === 'undefined' ? false : item.hide;\n\n // disabled\n item.disabled = typeof item.disabled === 'undefined' ? false : item.disabled;\n\n // acl\n item._aclResult = item.acl && this.aclService ? this.aclService.can(item.acl) : true;\n }\n\n /**\n * 重置菜单,可能I18N、用户权限变动时需要调用刷新\n */\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n let i = 1;\n const shortcuts: Menu[] = [];\n this.visit(this.data, (item: MenuInner, parent, depth) => {\n item._id = i++;\n item._parent = parent;\n item._depth = depth;\n this.fixItem(item);\n\n // shortcut\n if (parent && item.shortcut === true && parent.shortcutRoot !== true) {\n shortcuts.push(item);\n }\n\n if (callback) callback(item, parent, depth);\n });\n\n this.loadShortcut(shortcuts);\n this._change$.next(this.data);\n }\n\n /**\n * 加载快捷菜单,加载位置规则如下:\n * 1、统一在下标0的节点下(即【主导航】节点下方)\n * 1、若 children 存在 【shortcutRoot: true】则最优先【推荐】这种方式\n * 2、否则查找带有【dashboard】字样链接,若存在则在此菜单的下方创建快捷入口\n * 3、否则放在0节点位置\n */\n private loadShortcut(shortcuts: MenuInner[]): void {\n if (shortcuts.length === 0 || this.data.length === 0) {\n return;\n }\n\n const ls = this.data[0].children as MenuInner[];\n let pos = ls.findIndex(w => w.shortcutRoot === true);\n if (pos === -1) {\n pos = ls.findIndex(w => w.link!.includes('dashboard'));\n pos = (pos !== -1 ? pos : -1) + 1;\n const shortcutMenu = {\n text: '快捷菜单',\n i18n: 'shortcut',\n icon: 'icon-rocket',\n children: []\n } as MenuInner;\n this.data[0].children!.splice(pos, 0, shortcutMenu);\n }\n let _data = this.data[0].children![pos];\n if (_data.i18n && this.i18nSrv) _data.text = this.i18nSrv.fanyi(_data.i18n);\n _data = Object.assign(_data, {\n shortcutRoot: true,\n _id: -1,\n _parent: null,\n _depth: 1\n } as MenuInner);\n _data.children = shortcuts.map(i => {\n i._depth = 2;\n i._parent = _data;\n return i;\n });\n }\n\n get menus(): Menu[] {\n return this.data;\n }\n\n /**\n * 清空菜单\n */\n clear(): void {\n this.data = [];\n this._change$.next(this.data);\n }\n\n getHit(data: Menu[], url: string, recursive: boolean = false, cb: ((i: Menu) => void) | null = null): Menu | null {\n let item: Menu | null = null;\n\n while (!item && url) {\n this.visit(data, i => {\n if (cb) {\n cb(i);\n }\n if (i.link != null && i.link === url) {\n item = i;\n }\n });\n\n if (!recursive) break;\n\n if (/[?;]/g.test(url)) {\n url = url.split(/[?;]/g)[0];\n } else {\n url = url.split('/').slice(0, -1).join('/');\n }\n }\n\n return item;\n }\n\n /**\n * 根据URL设置菜单 `_open` 属性\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n openedByUrl(url: string | null, recursive: boolean = false): void {\n if (!url) return;\n\n let findItem = this.getHit(this.data, url, recursive, (i: MenuInner) => {\n i._selected = false;\n i._open = false;\n }) as MenuInner;\n if (findItem == null) return;\n\n do {\n findItem._selected = true;\n findItem._open = true;\n findItem = findItem._parent!;\n } while (findItem);\n }\n\n /**\n * 根据url获取菜单列表\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n getPathByUrl(url: string, recursive: boolean = false): Menu[] {\n const ret: Menu[] = [];\n let item = this.getHit(this.data, url, recursive) as MenuInner;\n\n if (!item) return ret;\n\n do {\n ret.splice(0, 0, item);\n item = item._parent!;\n } while (item);\n\n return ret;\n }\n\n /**\n * Get menu based on `key`\n */\n getItem(key: string): Menu | null {\n let res: Menu | null = null;\n this.visit(this.data, item => {\n if (res == null && item.key === key) {\n res = item;\n }\n });\n return res;\n }\n\n /**\n * Set menu based on `key`\n */\n setItem(key: string, value: Menu): void {\n const item = this.getItem(key);\n if (item == null) return;\n\n Object.keys(value).forEach(k => {\n item[k] = value[k];\n });\n this.fixItem(item);\n\n this._change$.next(this.data);\n }\n\n ngOnDestroy(): void {\n this._change$.unsubscribe();\n this.i18n$.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { App, Layout, SettingsNotify, User } from './types';\n\nexport interface SettingsKeys {\n /** Layout data specifies the stored key, default: `layout` */\n layout: string;\n /** User data specifies the stored key, default: `user` */\n user: string;\n /** App data specifies the stored key, default: `app` */\n app: string;\n}\n\nexport const ALAIN_SETTING_KEYS = new InjectionToken<SettingsKeys>('ALAIN_SETTING_KEYS');\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> {\n private notify$ = new Subject<SettingsNotify>();\n private _app: A | null = null;\n private _user: U | null = null;\n private _layout: L | null = null;\n\n constructor(private platform: Platform, @Inject(ALAIN_SETTING_KEYS) private KEYS: SettingsKeys) {}\n\n getData(key: string): NzSafeAny {\n if (!this.platform.isBrowser) {\n return null;\n }\n return JSON.parse(localStorage.getItem(key) || 'null') || null;\n }\n\n setData(key: string, value: NzSafeAny): void {\n if (!this.platform.isBrowser) {\n return;\n }\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n get layout(): L {\n if (!this._layout) {\n this._layout = {\n fixed: true,\n collapsed: false,\n boxed: false,\n lang: null,\n ...this.getData(this.KEYS.layout)\n };\n this.setData(this.KEYS.layout, this._layout);\n }\n return this._layout as L;\n }\n\n get app(): A {\n if (!this._app) {\n this._app = {\n year: new Date().getFullYear(),\n ...this.getData(this.KEYS.app)\n };\n this.setData(this.KEYS.app, this._app);\n }\n return this._app as A;\n }\n\n get user(): U {\n if (!this._user) {\n this._user = { ...this.getData(this.KEYS.user) };\n this.setData(this.KEYS.user, this._user);\n }\n return this._user as U;\n }\n\n get notify(): Observable<SettingsNotify> {\n return this.notify$.asObservable();\n }\n\n setLayout(name: string | L, value?: NzSafeAny): boolean {\n if (typeof name === 'string') {\n (this.layout as Layout)[name] = value;\n } else {\n this._layout = name;\n }\n this.setData(this.KEYS.layout, this._layout);\n this.notify$.next({ type: 'layout', name, value } as NzSafeAny);\n return true;\n }\n\n setApp(value: A): void {\n this._app = value;\n this.setData(this.KEYS.app, value);\n this.notify$.next({ type: 'app', value });\n }\n\n setUser(value: U): void {\n this._user = value;\n this.setData(this.KEYS.user, value);\n this.notify$.next({ type: 'user', value });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AlainConfigService, AlainThemeResponsiveConfig } from '@delon/util/config';\n\nexport const REP_MAX = 6;\n\nexport type REP_TYPE = 1 | 2 | 3 | 4 | 5 | 6;\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveService {\n private cog: AlainThemeResponsiveConfig;\n constructor(cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeResponsive', {\n rules: {\n 1: { xs: 24 },\n 2: { xs: 24, sm: 12 },\n 3: { xs: 24, sm: 12, md: 8 },\n 4: { xs: 24, sm: 12, md: 8, lg: 6 },\n 5: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 2 }\n }\n })!;\n if (\n Object.keys(this.cog.rules)\n .map(i => +i)\n .some((i: number) => i < 1 || i > REP_MAX)\n ) {\n throw new Error(`[theme] the responseive rule index value range must be 1-${REP_MAX}`);\n }\n }\n\n genCls(count: number): string[] {\n const rule = this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)];\n const antColClass = 'ant-col';\n const clsMap = [`${antColClass}-xs-${rule.xs}`];\n if (rule.sm) clsMap.push(`${antColClass}-sm-${rule.sm}`);\n if (rule.md) clsMap.push(`${antColClass}-md-${rule.md}`);\n if (rule.lg) clsMap.push(`${antColClass}-lg-${rule.lg}`);\n if (rule.xl) clsMap.push(`${antColClass}-xl-${rule.xl}`);\n if (rule.xxl) clsMap.push(`${antColClass}-xxl-${rule.xxl}`);\n return clsMap;\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzConfigService } from 'ng-zorro-antd/core/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SettingsService } from '../settings/settings.service';\n\nexport const HTML_DIR = 'dir';\nexport const RTL_DIRECTION = 'direction';\nexport const RTL_NZ_COMPONENTS = ['modal', 'drawer', 'message', 'notification', 'image'];\nexport const RTL_DELON_COMPONENTS = ['loading', 'onboarding'];\nexport const LTR = 'ltr';\nexport const RTL = 'rtl';\n\n@Injectable({ providedIn: 'root' })\nexport class RTLService {\n private _dir: Direction = LTR;\n /**\n * Get or Set the current text direction\n *\n * 获取或设置当前文字方向\n */\n get dir(): Direction {\n return this._dir;\n }\n set dir(value: Direction) {\n this._dir = value;\n this.updateLibConfig();\n this.updateHtml();\n // Should be wait inited\n Promise.resolve().then(() => {\n (this.d as NzSafeAny).value = value;\n this.d.change.emit(value);\n this.srv.setLayout(RTL_DIRECTION, value);\n });\n }\n\n /**\n * Get the next text direction\n *\n * 获取下一次文字方向\n */\n get nextDir(): Direction {\n return this.dir === LTR ? RTL : LTR;\n }\n\n /**\n * Subscription change notification\n *\n * 订阅变更通知\n */\n get change(): Observable<Direction> {\n return this.srv.notify.pipe(\n filter(w => w.name === RTL_DIRECTION),\n map(v => v.value)\n );\n }\n\n constructor(\n private d: Directionality,\n private srv: SettingsService,\n private nz: NzConfigService,\n private delon: AlainConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {\n this.dir = srv.layout.direction === RTL ? RTL : LTR;\n }\n\n /**\n * Toggle text direction\n *\n * 切换文字方向\n */\n toggle(): void {\n this.dir = this.nextDir;\n }\n\n private updateHtml(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n const htmlEl = this.doc.querySelector('html') as HTMLElement;\n if (htmlEl) {\n const dir = this.dir;\n htmlEl.style.direction = dir;\n htmlEl.classList.remove(RTL, LTR);\n htmlEl.classList.add(dir);\n htmlEl.setAttribute(HTML_DIR, dir);\n }\n }\n\n private updateLibConfig(): void {\n RTL_NZ_COMPONENTS.forEach(name => {\n this.nz.set(name as NzSafeAny, { nzDirection: this.dir });\n });\n RTL_DELON_COMPONENTS.forEach(name => {\n this.delon.set(name as NzSafeAny, { direction: this.dir });\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, Injector, OnDestroy, Optional } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { MenuService } from '../menu/menu.service';\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService implements OnDestroy {\n private _prefix: string = '';\n private _suffix: string = '';\n private _separator: string = ' - ';\n private _reverse: boolean = false;\n private i18n$: Subscription;\n\n readonly DELAY_TIME = 25;\n\n constructor(\n private injector: Injector,\n private title: Title,\n private menuSrv: MenuService,\n @Optional()\n @Inject(ALAIN_I18N_TOKEN)\n private i18nSrv: AlainI18NService,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {\n this.i18n$ = this.i18nSrv.change.pipe(filter(() => !!this.i18n$)).subscribe(() => this.setTitle());\n }\n\n /** 设置分隔符 */\n set separator(value: string) {\n this._separator = value;\n }\n\n /** 设置前缀 */\n set prefix(value: string) {\n this._prefix = value;\n }\n\n /** 设置后缀 */\n set suffix(value: string) {\n this._suffix = value;\n }\n\n /** 设置是否反转 */\n set reverse(value: boolean) {\n this._reverse = value;\n }\n\n /** 设置默认标题名 */\n default = `Not Page Name`;\n\n private getByElement(): string {\n const el = (this.doc.querySelector('.alain-default__content-title h1') ||\n this.doc.querySelector('.page-header__title')) as HTMLElement;\n if (el) {\n let text = '';\n el.childNodes.forEach(val => {\n if (!text && val.nodeType === 3) {\n text = val.textContent!.trim();\n }\n });\n return text || el.firstChild!.textContent!.trim();\n }\n return '';\n }\n\n private getByRoute(): string {\n let next = this.injector.get(ActivatedRoute);\n while (next.firstChild) next = next.firstChild;\n const data = (next.snapshot && next.snapshot.data) || {};\n if (data.titleI18n && this.i18nSrv) data.title = this.i18nSrv.fanyi(data.titleI18n);\n return data.title;\n }\n\n private getByMenu(): string {\n const menus = this.menuSrv.getPathByUrl(this.injector.get<Router>(Router).url);\n if (!menus || menus.length <= 0) return '';\n\n const item = menus[menus.length - 1];\n let title;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n return title || item.text!;\n }\n\n private _setTitle(title?: string | string[]): void {\n if (!title) {\n title = this.getByRoute() || this.getByMenu() || this.getByElement() || this.default;\n }\n if (title && !Array.isArray(title)) {\n title = [title];\n }\n\n let newTitles: string[] = [];\n if (this._prefix) {\n newTitles.push(this._prefix);\n }\n newTitles.push(...(title as string[]));\n if (this._suffix) {\n newTitles.push(this._suffix);\n }\n if (this._reverse) {\n newTitles = newTitles.reverse();\n }\n this.title.setTitle(newTitles.join(this._separator));\n }\n\n /**\n * Set the document title, will be delay `25ms`, pls refer to [#1261](https://github.com/ng-alain/ng-alain/issues/1261)\n */\n setTitle(title?: string | string[]): void {\n setTimeout(() => this._setTitle(title), this.DELAY_TIME);\n }\n\n /**\n * Set i18n key of the document title\n */\n setTitleByI18n(key: string, params?: unknown): void {\n this.setTitle(this.i18nSrv.fanyi(key, params));\n }\n\n ngOnDestroy(): void {\n this.i18n$.unsubscribe();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const DELON_LOCALE = new InjectionToken<string>('delon-locale');\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-CN',\n exception: {\n 403: '抱歉,你无权访问该页面',\n 404: '抱歉,你访问的页面不存在',\n 500: '抱歉,服务器出错了',\n backToHome: '返回首页'\n },\n noticeIcon: {\n emptyText: '暂无数据',\n clearText: '清空'\n },\n reuseTab: {\n close: '关闭标签',\n closeOther: '关闭其它标签',\n closeRight: '关闭右侧标签',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展开',\n collapse: '收起'\n },\n miniProgress: {\n target: '目标值:'\n },\n st: {\n total: '共 {{total}} 条',\n filterConfirm: '确定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全选',\n error: {\n 'false schema': `布尔模式出错`,\n $ref: `无法找到引用{ref}`,\n additionalItems: `不允许超过{limit}个元素`,\n additionalProperties: `不允许有额外的属性`,\n anyOf: `数据应为 anyOf 所指定的其中一个`,\n dependencies: `应当拥有属性{property}的依赖属性{deps}`,\n enum: `应当是预设定的枚举值之一`,\n format: `格式不正确`,\n type: `类型应当是 {type}`,\n required: `必填项`,\n maxLength: `至多 {limit} 个字符`,\n minLength: `至少 {limit} 个字符以上`,\n minimum: `必须 {comparison}{limit}`,\n formatMinimum: `必须 {comparison}{limit}`,\n maximum: `必须 {comparison}{limit}`,\n formatMaximum: `必须 {comparison}{limit}`,\n maxItems: `不应多于 {limit} 个项`,\n minItems: `不应少于 {limit} 个项`,\n maxProperties: `不应多于 {limit} 个属性`,\n minProperties: `不应少于 {limit} 个属性`,\n multipleOf: `应当是 {multipleOf} 的整数倍`,\n not: `不应当匹配 \"not\" schema`,\n oneOf: `只能匹配一个 \"oneOf\" 中的 schema`,\n pattern: `数据格式不正确`,\n uniqueItems: `不应当含有重复项 (第 {j} 项与第 {i} 项是重复的)`,\n custom: `格式不正确`,\n propertyNames: `属性名 \"{propertyName}\" 无效`,\n patternRequired: `应当有属性匹配模式 {missingPattern}`,\n switch: `由于 {caseIndex} 失败,未通过 \"switch\" 校验`,\n const: `应当等于常量`,\n contains: `应当包含一个有效项`,\n formatExclusiveMaximum: `formatExclusiveMaximum 应当是布尔值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 应当是布尔值`,\n if: `应当匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳过`,\n prev: `上一项`,\n next: `下一项`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { Inject, Injectable, Optional, Provider, SkipSelf } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE } from './locale.tokens';\nimport { FullLocaleData, LocaleData } from './locale.types';\n\n@Injectable()\nexport class DelonLocaleService {\n private _locale: FullLocaleData = zhCN;\n private change$ = new BehaviorSubject<FullLocaleData>(this._locale);\n\n constructor(@Inject(DELON_LOCALE) locale: FullLocaleData | null) {\n this.setLocale(locale || zhCN);\n }\n\n get change(): Observable<FullLocaleData> {\n return this.change$.asObservable();\n }\n\n setLocale(locale: FullLocaleData): void {\n if (this._locale && this._locale.abbr === locale.abbr) {\n return;\n }\n this._locale = locale;\n this.change$.next(locale);\n }\n\n get locale(): FullLocaleData {\n return this._locale;\n }\n\n getData(path: keyof FullLocaleData): LocaleData {\n return (this._locale[path] || {}) as LocaleData;\n }\n}\n\nexport function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(\n exist: DelonLocaleService,\n locale: FullLocaleData\n): DelonLocaleService {\n return exist || new DelonLocaleService(locale);\n}\n\nexport const DELON_LOCALE_SERVICE_PROVIDER: Provider = {\n provide: DelonLocaleService,\n useFactory: DELON_LOCALE_SERVICE_PROVIDER_FACTORY,\n deps: [[new Optional(), new SkipSelf(), DelonLocaleService], DELON_LOCALE]\n};\n","import { NgModule } from '@angular/core';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE_SERVICE_PROVIDER } from './locale.service';\nimport { DELON_LOCALE } from './locale.tokens';\n\n@NgModule({\n providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]\n})\nexport class DelonLocaleModule {}\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'en-US',\n exception: {\n 403: `Sorry, you don't have access to this page`,\n 404: `Sorry, the page you visited does not exist`,\n 500: `Sorry, the server is reporting an error`,\n backToHome: 'Back To Home'\n },\n noticeIcon: {\n emptyText: 'No data',\n clearText: 'Clear'\n },\n reuseTab: {\n close: 'Close tab',\n closeOther: 'Close other tabs',\n closeRight: 'Close tabs to right',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reset',\n search: 'Search',\n edit: 'Save',\n addText: 'Add',\n removeText: 'Remove',\n checkAllText: 'Check all',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Skip`,\n prev: `Prev`,\n next: `Next`,\n done: `Done`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-TW',\n exception: {\n 403: '抱歉,你無權訪問該頁麵',\n 404: '抱歉,你訪問的頁麵不存在',\n 500: '抱歉,服務器出錯了',\n backToHome: '返回首頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標簽',\n closeOther: '關閉其它標簽',\n closeRight: '關閉右側標簽',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收起'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `佈爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{ref}`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設定的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `至多 {limit} 個字符`,\n minLength: `至少 {limit} 個字符以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項`,\n minItems: `不應少於 {limit} 個項`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `隻能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 校驗`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是佈爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是佈爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'tr-TR',\n exception: {\n 403: `Üzgünüz, bu sayfaya erişiminiz yok`,\n 404: `Maalesef bu sayfa mevcut değil`,\n 500: `Üzgünüz, sunucu hatası`,\n backToHome: `Ana Sayfa'ya geri dön`\n },\n noticeIcon: {\n emptyText: 'Veri yok',\n clearText: 'Temiz'\n },\n reuseTab: {\n close: 'Sekmeyi Kapat',\n closeOther: 'Diğer sekmeleri kapat',\n closeRight: 'Sağdaki sekmeleri kapat',\n refresh: 'täzele'\n },\n tagSelect: {\n expand: 'Genişlet',\n collapse: 'Daralt'\n },\n miniProgress: {\n target: 'Hedef: '\n },\n st: {\n total: '{{range[0]}} ile {{range[1]}} arasında {{total}}',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla'\n },\n sf: {\n submit: 'Gönder',\n reset: 'Sıfırla',\n search: 'Ara',\n edit: 'Kaydet',\n addText: 'Ekle',\n removeText: 'Kaldır',\n checkAllText: 'Tümünü kontrol et',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Atla`,\n prev: `Önceki`,\n next: `Sonraki`,\n done: `Bitti`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'pl-PL',\n exception: {\n 403: `Niestety, nie masz uprawnień do tej strony`,\n 404: `Niestety, ta strona nie istnieje`,\n 500: `Niestety, błąd serwera`,\n backToHome: 'Powróć do strony głównej'\n },\n noticeIcon: {\n emptyText: 'Brak danych',\n clearText: 'Wyczyść'\n },\n reuseTab: {\n close: 'Zamknij kartę',\n closeOther: 'Zamknij inne karty',\n closeRight: 'Zamknij karty po prawej',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Rozszerz',\n collapse: 'Zmniejsz'\n },\n miniProgress: {\n target: 'Cel: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} z {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Wyczyść'\n },\n sf: {\n submit: 'Wyślij',\n reset: 'Resetuj',\n search: 'Szukaj',\n edit: 'Zapisz',\n addText: 'Dodaj',\n removeText: 'Usuń',\n checkAllText: 'Zaznacz wszystkie',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Pominąć`,\n prev: `Poprzedni`,\n next: `Kolejny`,\n done: `Gotowe`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'el-GR',\n exception: {\n 403: `Λυπούμαστε, δεν έχετε πρόσβαση σε αυτήν τη σελίδα`,\n 404: `Λυπούμαστε, η σελίδα αυτή δεν βρέθηκε`,\n 500: `Λυπούμαστε, σφάλμα διακομιστή`,\n backToHome: 'Επιστροφή στην αρχική σελίδα'\n },\n noticeIcon: {\n emptyText: 'Δεν υπάρχουν δεδομένα',\n clearText: 'Καθαρισμός'\n },\n reuseTab: {\n close: 'Κλείσιμο καρτέλας',\n closeOther: 'Κλείσιμο των άλλων καρτέλων',\n closeRight: 'Κλείσιμο των καρτελών δεξιά',\n refresh: 'Ανανέωση'\n },\n tagSelect: {\n expand: 'Επέκταση',\n collapse: 'Σύμπτυξη'\n },\n miniProgress: {\n target: 'Στόχος: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} από {{total}}',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά'\n },\n sf: {\n submit: 'Υποβολή',\n reset: 'Επαναφορά',\n search: 'Αναζήτηση',\n edit: 'Αποθήκευση',\n addText: 'Προσθήκη',\n removeText: 'Αφαίρεση',\n checkAllText: 'Επιλογή όλων',\n error: {\n 'false schema': `Η δυαδική δομή είναι ψευδής`,\n $ref: `Δεν είναι δυνατή η επίλυση της αναφοράς {ref}`,\n additionalItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n additionalProperties: `Δεν πρέπει να έχει επιπλέον χαρακτηριστικά`,\n anyOf: `Πρέπει να ταιριάζει με κάποια απο τις δομές στο \"anyOf\"`,\n dependencies: `τα χαρακτηριστικά {deps} είναι απαραίτητα, όταν υπάρχει το χαρακτηριστικό {property}`,\n enum: `Πρέπει να είναι ίσο με μία από τις προκαθορισμένες τιμές`,\n format: `Πρέπει να έχει την μορφή \"{format}\"`,\n type: `Πρέπει να είναι {type}`,\n required: `Απαιτείται`,\n maxLength: `Δεν πρέπει να είναι μεγαλύτερο από {limit} χαρακτήρες`,\n minLength: `Δεν πρέπει να είναι μικρότερο από {limit} χαρακτήρες`,\n minimum: `Πρέπει να είναι {comparison} {limit}`,\n formatMinimum: `Πρέπει να είναι {comparison} {limit}`,\n maximum: `Πρέπει να είναι {comparison} {limit}`,\n formatMaximum: `Πρέπει να είναι {comparison} {limit}`,\n maxItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n minItems: `Δεν πρέπει να έχει λιγότερα από {limit} στοιχεία`,\n maxProperties: `Δεν πρέπει να έχει περισσότερα από {limit} χαρακτηριστικά`,\n minProperties: `Δεν πρέπει να έχει λιγότερα από {limit} χαρακτηριστικά`,\n multipleOf: `Πρέπει να είναι πολλαπλάσιο του {multipleOf}`,\n not: `Δεν πρέπει να είναι εγκύρο, σύμφωνα με την δομή στο \"not\"`,\n oneOf: `Πρέπει να ταιριάζει με ακριβώς μια απο τις δομές στο \"oneOf\"`,\n pattern: `Πρέπει να ταιριάζει με το πρότυπο \"{pattern}\"`,\n uniqueItems: `Τα στοιχεία δεν πρέπει να επαναλαμβάνονται (τα στοιχεία ## {j} και {i} είναι ίδια)`,\n custom: `Πρέπει να έχει την μορφή`,\n propertyNames: `Το όνομα του χαρακτηριστικού \"{propertyName}\" δεν είναι έγκυρο`,\n patternRequired: `Πρέπει να υπάρχει το χαρακτηριστικό αντιπαραβολής προτύπου \"{missingPattern}\"`,\n switch: `Πρέπει να περάσει ο έλεγχος εγκυρότητας της λέξης-κλειδιού με την χρήση της \"switch\", η περίπτωση {caseIndex} αποτυγχάνει`,\n const: `Πρέπει να είναι ίσο με σταθερά`,\n contains: `Πρέπει να περιέχει κάποιο έγκυρο στοιχείο`,\n formatExclusiveMaximum: `formatExclusiveMaximum πρέπει να είναι boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum πρέπει να είναι boolean`,\n if: `Πρέπει να ταιριάζει στην δομή \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Παραλείπω`,\n prev: `Προηγ`,\n next: `Επόμενο`,\n done: `Ολοκληρώθηκε`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ko-KR',\n exception: {\n 403: `죄송합니다.이 페이지에 액세스 할 수 없습니다.`,\n 404: `죄송합니다. 해당 페이지가 없습니다.`,\n 500: `죄송합니다, 서버 오류가 있습니다.`,\n backToHome: '홈으로 돌아갑니다.'\n },\n noticeIcon: {\n emptyText: '데이터 없음',\n clearText: '지우기'\n },\n reuseTab: {\n close: '탭 닫기',\n closeOther: '다른 탭 닫기',\n closeRight: '오른쪽 탭 닫기',\n refresh: '새롭게 하다'\n },\n tagSelect: {\n expand: '펼치기',\n collapse: '접기'\n },\n miniProgress: {\n target: '대상: '\n },\n st: {\n total: '전체 {{total}}건',\n filterConfirm: '확인',\n filterReset: '초기화'\n },\n sf: {\n submit: '제출',\n reset: '재설정',\n search: '검색',\n edit: '저장',\n addText: '추가',\n removeText: '제거',\n checkAllText: '모두 확인',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `건너 뛰기`,\n prev: `이전`,\n next: `다음`,\n done: `끝난`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'hr-HR',\n exception: {\n 403: `Nažalost, nemate pristup ovoj lokaciji`,\n 404: `Nažalost, lokacija ne postoji`,\n 500: `Nažalost, server je javio pogrešku`,\n backToHome: 'Nazad na početnu stranicu'\n },\n noticeIcon: {\n emptyText: 'Nema podataka',\n clearText: 'Obriši'\n },\n reuseTab: {\n close: 'Zatvori karticu',\n closeOther: 'Zatvori druge kartice',\n closeRight: 'Zatvori kartice desno',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Proširi',\n collapse: 'Skupi'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} od {{total}}',\n filterConfirm: 'U redu',\n filterReset: 'Poništi'\n },\n sf: {\n submit: 'Pošalji',\n reset: 'Poništi',\n search: 'Pretraži',\n edit: 'Spremi',\n addText: 'Dodaj',\n removeText: 'Ukloni',\n checkAllText: 'Označi sve'\n },\n onboarding: {\n skip: `Preskočiti`,\n prev: `Prethodna`,\n next: `Sljedeći`,\n done: `Sastavljeno`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ja-JP',\n exception: {\n 403: 'ページへのアクセス権限がありません',\n 404: 'ページが存在しません',\n 500: 'サーバーエラーが発生しました',\n backToHome: 'ホームに戻る'\n },\n noticeIcon: {\n emptyText: 'データが有りません',\n clearText: 'クリア'\n },\n reuseTab: {\n close: 'タブを閉じる',\n closeOther: '他のタブを閉じる',\n closeRight: '右のタブを閉じる',\n refresh: 'リフレッシュ'\n },\n tagSelect: {\n expand: '展開する',\n collapse: '折りたたむ'\n },\n miniProgress: {\n target: '設定値: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} / {{total}}',\n filterConfirm: '確定',\n filterReset: 'リセット'\n },\n sf: {\n submit: '送信',\n reset: 'リセット',\n search: '検索',\n edit: '保存',\n addText: '追加',\n removeText: '削除',\n checkAllText: '全選択',\n error: {\n 'false schema': `真偽値スキーマが不正です`,\n $ref: `参照を解決できません: {ref}`,\n additionalItems: `{limit}個を超えるアイテムを含めることはできません`,\n additionalProperties: `追加のプロパティを使用しないでください`,\n anyOf: `\"anyOf\"のスキーマと一致する必要があります`,\n dependencies: `プロパティ {property} を指定した場合、次の依存関係を満たす必要があります: {deps}`,\n enum: `定義された値のいずれかに等しくなければなりません`,\n format: `入力形式に一致しません: \"{format}\"`,\n type: `型が不正です: {type}`,\n required: `必須項目です`,\n maxLength: `最大文字数: {limit}`,\n minLength: `最少文字数: {limit}`,\n minimum: `値が不正です: {comparison} {limit}`,\n formatMinimum: `値が不正です: {comparison} {limit}`,\n maximum: `値が不正です: {comparison} {limit}`,\n formatMaximum: `値が不正です: {comparison} {limit}`,\n maxItems: `最大選択数は {limit} より小さい必要があります`,\n minItems: `最小選択数は {limit} より大きい必要があります`,\n maxProperties: `値を{limit}より大きくすることはできません`,\n minProperties: `値を{limit}より小さくすることはできません`,\n multipleOf: `値は次の数の倍数である必要があります: {multipleOf}`,\n not: `値が不正です:`,\n oneOf: `値が不正です:`,\n pattern: `次のパターンに一致する必要があります: \"{pattern}\"`,\n uniqueItems: `値が重複しています: 選択肢: {j} 、{i}`,\n custom: `形式と一致する必要があります`,\n propertyNames: `次のプロパティの値が無効です: \"{propertyName}\"`,\n patternRequired: `次のパターンに一致するプロパティが必須です: \"{missingPattern}\"`,\n switch: `\"switch\" キーワードの値が不正です: {caseIndex}`,\n const: `値が定数に一致しません`,\n contains: `有効なアイテムを含める必要があります`,\n formatExclusiveMaximum: `formatExclusiveMaximum は真偽値である必要があります`,\n formatExclusiveMinimum: `formatExclusiveMaximum は真偽値である必要があります`,\n if: `パターンと一致する必要があります: \"{failingKeyword}\" `\n }\n },\n onboarding: {\n skip: `スキップ`,\n prev: `前へ`,\n next: `次`,\n done: `できた`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'sl-SI',\n exception: {\n 403: `Žal nimate dostopa do te strani`,\n 404: `Žal stran, ki ste jo obiskali, ne obstaja`,\n 500: `Žal strežnik poroča o napaki`,\n backToHome: 'Nazaj domov'\n },\n noticeIcon: {\n emptyText: 'Ni podatkov',\n clearText: 'Počisti'\n },\n reuseTab: {\n close: 'Zapri zavihek',\n closeOther: 'Zaprite druge zavihke',\n closeRight: 'Zaprite zavihke na desni'\n },\n tagSelect: {\n expand: 'Razširi',\n collapse: 'Strni'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Pošlji',\n reset: 'Reset',\n search: 'Išči',\n edit: 'Shrani',\n addText: 'Dodaj',\n removeText: 'Odstrani',\n checkAllText: 'Preveri vse',\n error: {\n 'false schema': `Boolova shema je napačna`,\n $ref: `Referenc ni mogoče razrešiti {ref}`,\n additionalItems: `Ne sme imeti več kot {limit} artiklov`,\n additionalProperties: `Ne bi smel imeti dodatnih lastnosti`,\n anyOf: `Se mora ujemati s shemo v \"anyOf\"`,\n dependencies: `mora imeti lastnosti {deps} ko je artikel {property} prisoten`,\n enum: `Mora biti enaka eni od vnaprej določenih vrednosti`,\n format: `Naj ustreza formatu \"{format}\"`,\n type: `Naj bo {type}`,\n required: `Zahtevano`,\n maxLength: `Ne sme biti daljši od {limit} znakov`,\n minLength: `Ne sme biti krajši od {limit} znakov`,\n minimum: `Naj bo {comparison} {limit}`,\n formatMinimum: `Naj bo {comparison} {limit}`,\n maximum: `Naj bo {comparison} {limit}`,\n formatMaximum: `Naj bo {comparison} {limit}`,\n maxItems: `Ne sme imeti več kot {limit} artiklov`,\n minItems: `Ne sme imeti manj kot {limit} artiklov`,\n maxProperties: `Ne sme imeti več kot {limit} lastnosti`,\n minProperties: `Ne sme imeti manj kot {limit} lastnosti`,\n multipleOf: `Mora biti večkratnik od {multipleOf}`,\n not: `Ne sme biti veljaven po shemi v \"not\"`,\n oneOf: `Naj ustreza natančno eni shemi v \"oneOf\"`,\n pattern: `Naj se ujema z vzorcem \"{pattern}\"`,\n uniqueItems: `Ne bi smel imeti dvojnikov (items ## {j} in {i} so identični)`,\n custom: `Naj ustreza formatu`,\n propertyNames: `Ime artikla \"{propertyName}\" je neveljavno`,\n patternRequired: `Mora imeti vzorec ujemanja lastnosti \"{missingPattern}\"`,\n switch: `Mora prestati \"switch\" validacijo ključne besede, primer {caseIndex} ne uspe`,\n const: `Naj bo enako konstanti`,\n contains: `Naj vsebuje veljaven artikel`,\n formatExclusiveMaximum: `formatExclusiveMaximum naj bo boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum naj bo boolean`,\n if: `Naj se ujema s shemo \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Preskoči`,\n prev: `Prejšnje`,\n next: `Naslednji`,\n done: `Končano`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'fr-FR',\n exception: {\n 403: `Désolé, vous n'avez pas accès à cette page`,\n 404: `Désolé, la page que vous avez visitée n'existe pas`,\n 500: `Désolé, le serveur signale une erreur`,\n backToHome: \"Retour à l'accueil\"\n },\n noticeIcon: {\n emptyText: 'Pas de données',\n clearText: 'Effacer'\n },\n reuseTab: {\n close: \"Fermer l'onglet\",\n closeOther: 'Fermer les autres onglets',\n closeRight: 'Fermer les onglets à droite',\n refresh: 'Rafraîchir'\n },\n tagSelect: {\n expand: 'Etendre',\n collapse: 'Effondrer'\n },\n miniProgress: {\n target: 'Cible: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} de {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser'\n },\n sf: {\n submit: 'Soumettre',\n reset: 'Réinitialiser',\n search: 'Rechercher',\n edit: 'Sauvegarder',\n addText: 'Ajouter',\n removeText: 'Supprimer',\n checkAllText: 'Cochez toutes',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Passer`,\n prev: `Précédent`,\n next: `Suivant`,\n done: `Terminé`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'es-ES',\n exception: {\n 403: `Lo sentimos, no tiene acceso a esta página`,\n 404: `Lo sentimos, la página que ha visitado no existe`,\n 500: `Lo siento, error interno del servidor `,\n backToHome: 'Volver a la página de inicio'\n },\n noticeIcon: {\n emptyText: 'No hay datos',\n clearText: 'Limpiar'\n },\n reuseTab: {\n close: 'Cerrar pestaña',\n closeOther: 'Cerrar otras pestañas',\n closeRight: 'Cerrar pestañas a la derecha',\n refresh: 'Actualizar'\n },\n tagSelect: {\n expand: 'Expandir',\n collapse: 'Ocultar'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{rango[0]}} - {{rango[1]}} de {{total}}',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reiniciar',\n search: 'Buscar',\n edit: 'Guardar',\n addText: 'Añadir',\n removeText: 'Eliminar',\n checkAllText: 'Comprobar todo',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Omitir`,\n prev: `Previo`,\n next: `Siguiente`,\n done: `Terminado`\n }\n} as FullLocaleData;\n","import { Injectable, TemplateRef, Type } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { ModalOptions, NzModalService } from 'ng-zorro-antd/modal';\n\nexport interface ModalHelperOptions {\n /** 大小;例如:lg、600,默认:`lg` */\n size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number;\n /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */\n modalOptions?: ModalOptions;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 是否包裹标签页,修复模态包含标签间距问题 */\n includeTabs?: boolean;\n}\n\n/**\n * 对话框辅助类\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalHelper {\n constructor(private srv: NzModalService) {}\n\n /**\n * 构建一个对话框\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.create(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n create(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'lg',\n exact: true,\n includeTabs: false\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, includeTabs, modalOptions } = options as ModalHelperOptions;\n let cls = '';\n let width = '';\n if (size) {\n if (typeof size === 'number') {\n width = `${size}px`;\n } else {\n cls = `modal-${size}`;\n }\n }\n if (includeTabs) {\n cls += ' modal-include-tabs';\n }\n if (modalOptions && modalOptions.nzWrapClassName) {\n cls += ` ${modalOptions.nzWrapClassName}`;\n delete modalOptions.nzWrapClassName;\n }\n const defaultOptions: ModalOptions = {\n nzWrapClassName: cls,\n nzContent: comp,\n nzWidth: width ? width : undefined,\n nzFooter: null,\n nzComponentParams: params\n };\n const subject = this.srv.create({ ...defaultOptions, ...modalOptions });\n const afterClose$ = subject.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n });\n });\n }\n\n /**\n * 构建静态框,点击蒙层不允许关闭\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.open(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n createStatic(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const modalOptions = {\n nzMaskClosable: false,\n ...(options && options.modalOptions)\n };\n return this.create(comp, params, { ...options, modalOptions });\n }\n}\n","import { Injectable, TemplateRef, Type } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerOptions, NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';\n\nexport interface DrawerHelperOptions {\n /**\n * 大小,若值为数值类型,则根据 `nzPlacement` 自动转化为 `nzHeight` 或 `nzWidth`;例如:lg、600,默认:`md`\n *\n * | 类型 | 默认大小 |\n * | --- | ------ |\n * | `sm` | `300` |\n * | `md` | `600` |\n * | `lg` | `900` |\n * | `xl` | `1200` |\n *\n * > 以上值,可通过覆盖相应的LESS参数自行调整\n */\n size?: 'sm' | 'md' | 'lg' | 'xl' | number;\n /**\n * 是否包含底部工具条,默认:`true`\n */\n footer?: boolean;\n /**\n * 底部工具条高度,默认:`55`\n */\n footerHeight?: number;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */\n drawerOptions?: NzDrawerOptions;\n}\n\n/**\n * 抽屉辅助类\n *\n * **注意:** 构建结果都可被订阅,但永远都不会触发 `observer.error`\n *\n * @example\n * this.drawerHelper.create('Edit', FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功\n * this.NzDrawerRef.close(data);\n * this.NzDrawerRef.close(true);\n * // 关闭\n * this.NzDrawerRef.close();\n * this.NzDrawerRef.close(false);\n */\n@Injectable({ providedIn: 'root' })\nexport class DrawerHelper {\n constructor(private srv: NzDrawerService) {}\n\n /**\n * 构建一个抽屉\n */\n create(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'md',\n footer: true,\n footerHeight: 50,\n exact: true,\n drawerOptions: {\n nzPlacement: 'right',\n nzWrapClassName: ''\n }\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, footer, footerHeight, drawerOptions } = options as DrawerHelperOptions;\n const defaultOptions: NzDrawerOptions = {\n nzContent: comp,\n nzContentParams: params,\n nzTitle: title as NzSafeAny\n };\n\n if (typeof size === 'number') {\n defaultOptions[\n drawerOptions!.nzPlacement === 'top' || drawerOptions!.nzPlacement === 'bottom' ? 'nzHeight' : 'nzWidth'\n ] = options!.size;\n } else if (!drawerOptions!.nzWidth) {\n defaultOptions.nzWrapClassName = `${drawerOptions!.nzWrapClassName} drawer-${options!.size}`.trim();\n delete drawerOptions!.nzWrapClassName;\n }\n\n if (footer) {\n // The 24 value is @drawer-body-padding\n defaultOptions.nzBodyStyle = {\n 'padding-bottom.px': footerHeight! + 24\n };\n }\n\n const subject = this.srv.create({ ...defaultOptions, ...drawerOptions });\n const afterClose$ = subject.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n });\n });\n }\n\n /**\n * 构建一个抽屉,点击蒙层不允许关闭\n */\n static(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n const drawerOptions = {\n nzMaskClosable: false,\n ...(options && options.drawerOptions)\n };\n return this.create(title, comp, params, { ...options, drawerOptions });\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { delay, finalize, switchMap, tap } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainThemeHttpClientConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type _HttpHeaders = HttpHeaders | { [header: string]: string | string[] };\nexport type HttpObserve = 'body' | 'events' | 'response';\n\n/**\n * 封装HttpClient,主要解决:\n * + 优化HttpClient在参数上便利性\n * + 统一实现 loading\n * + 统一处理时间格式问题\n */\n@Injectable({ providedIn: 'root' })\nexport class _HttpClient {\n private cog: AlainThemeHttpClientConfig;\n constructor(private http: HttpClient, cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeHttp', {\n nullValueHandling: 'include',\n dateValueHandling: 'timestamp'\n })!;\n }\n\n private lc = 0;\n\n /**\n * Get whether it's loading\n *\n * 获取是否正在加载中\n */\n get loading(): boolean {\n return this.lc > 0;\n }\n\n /**\n * Get the currently loading count\n *\n * 获取当前加载中的数量\n */\n get loadingCount(): number {\n return this.lc;\n }\n\n parseParams(params: NzSafeAny): HttpParams {\n const newParams: NzSafeAny = {};\n if (params instanceof HttpParams) {\n return params;\n }\n\n Object.keys(params).forEach(key => {\n let _data = params[key];\n // 忽略空值\n if (this.cog.nullValueHandling === 'ignore' && _data == null) return;\n // 将时间转化为:时间戳 (秒)\n if (this.cog.dateValueHandling === 'timestamp' && _data instanceof Date) {\n _data = _data.valueOf();\n }\n newParams[key] = _data;\n });\n return new HttpParams({ fromObject: newParams });\n }\n\n appliedUrl(url: string, params?: NzSafeAny): string {\n if (!params) return url;\n url += ~url.indexOf('?') ? '' : '?';\n const arr: string[] = [];\n Object.keys(params).forEach(key => {\n arr.push(`${key}=${params[key]}`);\n });\n return url + arr.join('&');\n }\n\n private setCount(count: number): void {\n Promise.resolve(null).then(() => (this.lc = count <= 0 ? 0 : count));\n }\n\n private push(): void {\n this.setCount(++this.lc);\n }\n\n private pop(): void {\n this.setCount(--this.lc);\n }\n\n /**\n * Clean loading count\n *\n * 清空加载中\n */\n cleanLoading(): void {\n this.setCount(0);\n }\n\n // #region get\n\n /**\n * **GET Request** Return a `string` type / 返回一个 `string` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **GET Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **GET Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **GET Request** Return a `HttpResponse<T>` type / 返回一个 `HttpResponse<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<T>>;\n\n /**\n * **GET Request** Return a `any` type / 返回一个 `any` 类型\n */\n get(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **GET Request** Return a generic type / 返回一个泛类型\n */\n get<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('GET', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region post\n\n /**\n * **POST Request** Return a `string` type / 返回一个 `string` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **POST Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n post<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **POST Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **POST Request** Return a `any` type / 返回一个 `any` 类型\n */\n post(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **POST Request** Return a JSON type / 返回一个 `JSON` 类型\n */\n post<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region delete\n\n /**\n * **DELETE Request** Return a `string` type / 返回一个 `string` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **DELETE Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **DELETE Request** Return a `any` type / 返回一个 `any` 类型\n */\n delete(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * c返回一个泛类型\n */\n delete<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('DELETE', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region jsonp\n\n /**\n * **JSONP Request**\n *\n * @param callbackParam CALLBACK值,默认:JSONP_CALLBACK\n */\n jsonp(url: string, params?: any, callbackParam: string = 'JSONP_CALLBACK'): Observable<any> {\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.jsonp(this.appliedUrl(url, params), callbackParam)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n\n // #region patch\n\n /**\n * **PATCH Request** Return a `string` type / 返回一个 `string` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PATCH Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PATCH Request** Return a `any` type / 返回一个 `any` 类型\n */\n patch(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PATCH Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n patch<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PATCH', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region put\n\n /**\n * **PUT Request** Return a `string` type / 返回一个 `string` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PUT Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PUT Request** Return a `any` type / 返回一个 `any` 类型\n */\n put(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PUT Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n put<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PUT', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region form\n\n /**\n * **Form Request** Return a `string` type / 返回一个 `string` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Form Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n form<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **Form Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **Form Request** Return a `any` type / 返回一个 `any` 类型\n */\n form(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **Form Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n form<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options,\n headers: {\n 'content-type': `application/x-www-form-urlencoded`\n }\n });\n }\n\n // #endregion\n\n // #region request\n\n /**\n * **Request** Return a `ArrayBuffer` type / 返回一个 `ArrayBuffer` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<ArrayBuffer>;\n\n /**\n * **Request** Return a `Blob` type / 返回一个 `Blob` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Blob>;\n\n /**\n * **Request** Return a `string` type / 返回一个 `string` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Request** Return a `HttpEvent<ArrayBuffer>` type / 返回一个 `HttpEvent<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpEvent<Blob>` type / 返回一个 `HttpEvent<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<Blob>>;\n\n /**\n * **Request** Return a `HttpEvent<string>` type / 返回一个 `HttpEvent<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<string>>;\n\n /**\n * **Request** Return a `HttpEvent<any>` type / 返回一个 `HttpEvent<any>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<any>>;\n\n /**\n * **Request** Return a `HttpEvent<R>` type / 返回一个 `HttpEvent<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<R>>;\n\n /**\n * **Request** Return a `HttpResponse<ArrayBuffer>` type / 返回一个 `HttpResponse<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpResponse<Blob>` type / 返回一个 `HttpResponse<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<Blob>>;\n\n /**\n * **Request** Return a `HttpResponse<string>` type / 返回一个 `HttpResponse<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<string>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **Request** Return a `HttpResponse<R>` type / 返回一个 `HttpResponse<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<R>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Record<string, unknown>>;\n\n /**\n * **Request** Return a `R` type / 返回一个 `R` 类型\n */\n request<R>(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<R>;\n\n /**\n * **Request** Return a `any` type / 返回一个 `any` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n if (options.params) options.params = this.parseParams(options.params);\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.request(method, url, options)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable, Injector } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from './http.client';\n\n/**\n * Every http decorator must be based on `BaseAPI`, Like this:\n * ```ts\n * \\@Injectable()\n * class DataService extends BaseApi {}\n * ```\n */\n@Injectable()\nexport abstract class BaseApi {\n constructor(@Inject(Injector) protected injector: Injector) {}\n}\n\nexport interface HttpOptions {\n /** ACL配置,若导入 `@delon/acl` 时自动有效,等同于 `ACLService.can(roleOrAbility: ACLCanType)` 参数值 */\n acl?: any;\n observe?: 'body' | 'events' | 'response';\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n reportProgress?: boolean;\n withCredentials?: boolean;\n}\n\ninterface ParamType {\n key: string;\n index: number;\n [key: string]: any;\n [key: number]: any;\n}\n\nconst paramKey = `__api_params`;\n\nfunction setParam(target: any, key: string = paramKey): any {\n let params = target[key];\n if (typeof params === 'undefined') {\n params = target[key] = {};\n }\n return params;\n}\n\n/**\n * 默认基准URL\n * - 有效范围:类\n */\nexport function BaseUrl(url: string) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseUrl = url;\n return target;\n };\n}\n\n/**\n * 默认 `headers`\n * - 有效范围:类\n */\nexport function BaseHeaders(\n headers:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n }\n) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseHeaders = headers;\n return target;\n };\n}\n\nfunction makeParam(paramName: string) {\n return function (key?: string) {\n return function (target: BaseApi, propertyKey: string, index: number) {\n const params = setParam(setParam(target), propertyKey);\n let tParams = params[paramName];\n if (typeof tParams === 'undefined') {\n tParams = params[paramName] = [];\n }\n tParams.push({\n key,\n index\n });\n };\n };\n}\n\n/**\n * URL路由参数\n * - 有效范围:方法参数\n */\nexport const Path = makeParam('path');\n\n/**\n * URL 参数 `QueryString`\n * - 有效范围:方法参数\n */\nexport const Query = makeParam('query');\n\n/**\n * 参数 `Body`\n * - 有效范围:方法参数\n */\nexport const Body = makeParam('body')();\n\n/**\n * 参数 `headers`\n * - 有效范围:方法参数\n * - 合并 `BaseHeaders`\n */\nexport const Headers = makeParam('headers');\n\n/**\n * Request Payload\n * - Supported body (like`POST`, `PUT`) as a body data, equivalent to `@Body`\n * - Not supported body (like `GET`, `DELETE` etc) as a `QueryString`\n */\nexport const Payload = makeParam('payload')();\n\nfunction getValidArgs(data: any, key: string, args: any[]): NzSafeAny {\n if (!data[key] || !Array.isArray(data[key]) || data[key].length <= 0) {\n return undefined;\n }\n return args[data[key][0].index];\n}\n\nfunction genBody(data?: any, payload?: any): any {\n if (Array.isArray(data) || Array.isArray(payload)) {\n return Object.assign([], data, payload);\n }\n return { ...data, ...payload };\n}\n\nexport type METHOD_TYPE = 'OPTIONS' | 'GET' | 'POST' | 'DELETE' | 'PUT' | 'HEAD' | 'PATCH' | 'JSONP' | 'FORM';\n\nfunction makeMethod(method: METHOD_TYPE) {\n return function (url: string = '', options?: HttpOptions) {\n return (_target: BaseApi, targetKey?: string, descriptor?: PropertyDescriptor) => {\n descriptor!.value = function (...args: any[]): Observable<any> {\n options = options || {};\n\n const injector = (this as NzSafeAny).injector as Injector;\n const http = injector.get(_HttpClient, null) as _HttpClient;\n if (http == null) {\n throw new TypeError(\n `Not found '_HttpClient', You can import 'AlainThemeModule' && 'HttpClientModule' in your root module.`\n );\n }\n\n const baseData = setParam(this);\n const data = setParam(baseData, targetKey);\n\n let requestUrl = url || '';\n requestUrl = [baseData.baseUrl || '', requestUrl.startsWith('/') ? requestUrl.substr(1) : requestUrl].join('/');\n // fix last split\n if (requestUrl.length > 1 && requestUrl.endsWith('/')) {\n requestUrl = requestUrl.substr(0, requestUrl.length - 1);\n }\n\n if (options.acl) {\n const aclSrv = injector.get(ACLService, null);\n if (aclSrv && !aclSrv.can(options.acl)) {\n return throwError({\n url: requestUrl,\n status: 401,\n statusText: `From Http Decorator`\n });\n }\n delete options.acl;\n }\n\n requestUrl = requestUrl.replace(/::/g, '^^');\n ((data.path as ParamType[]) || [])\n .filter(w => typeof args[w.index] !== 'undefined')\n .forEach((i: ParamType) => {\n requestUrl = requestUrl.replace(new RegExp(`:${i.key}`, 'g'), encodeURIComponent(args[i.index]));\n });\n requestUrl = requestUrl.replace(/\\^\\^/g, `:`);\n\n const params = (data.query || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n const headers = (data.headers || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n if (method === 'FORM') {\n headers['content-type'] = 'application/x-www-form-urlencoded';\n }\n\n const payload = getValidArgs(data, 'payload', args);\n const supportedBody = method === 'POST' || method === 'PUT';\n\n return http.request(method, requestUrl, {\n body: supportedBody ? genBody(getValidArgs(data, 'body', args), payload) : null,\n params: !supportedBody ? { ...params, ...payload } : params,\n headers: { ...baseData.baseHeaders, ...headers },\n ...options\n });\n };\n\n return descriptor;\n };\n };\n}\n\n/**\n * `OPTIONS` 请求\n * - 有效范围:方法\n */\nexport const OPTIONS = makeMethod('OPTIONS');\n\n/**\n * `GET` 请求\n * - 有效范围:方法\n */\nexport const GET = makeMethod('GET');\n\n/**\n * `POST` 请求\n * - 有效范围:方法\n */\nexport const POST = makeMethod('POST');\n\n/**\n * `DELETE` 请求\n * - 有效范围:方法\n */\nexport const DELETE = makeMethod('DELETE');\n\n/**\n * `PUT` 请求\n * - 有效范围:方法\n */\nexport const PUT = makeMethod('PUT');\n\n/**\n * `HEAD` 请求\n * - 有效范围:方法\n */\nexport const HEAD = makeMethod('HEAD');\n\n/**\n * `PATCH` 请求\n * - 有效范围:方法\n */\nexport const PATCH = makeMethod('PATCH');\n\n/**\n * `JSONP` 请求\n * - 有效范围:方法\n */\nexport const JSONP = makeMethod('JSONP');\n\n/**\n * `FORM` 请求\n * - 有效范围:方法\n */\nexport const FORM = makeMethod('FORM');\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { format, formatDistanceToNow } from 'date-fns';\n\nimport { toDate } from '@delon/util/date-time';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\n@Pipe({ name: '_date' })\nexport class DatePipe implements PipeTransform {\n constructor(private nzI18n: NzI18nService) {}\n\n transform(value: Date | string | number, formatString: string = 'yyyy-MM-dd HH:mm'): string {\n value = toDate(value);\n if (isNaN(value as NzSafeAny)) return '';\n\n const langOpt = { locale: this.nzI18n.getDateLocale() };\n return formatString === 'fn' ? formatDistanceToNow(value, langOpt) : format(value, formatString, langOpt);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * [Document](https://ng-alain.com/theme/keys)\n */\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(value: NzSafeAny, keyIsNumber: boolean = false): NzSafeAny[] {\n const ret: NzSafeAny[] = [];\n Object.keys(value).forEach(key => {\n ret.push({ key: keyIsNumber ? +key : key, value: value[key] });\n });\n return ret;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type YNMode = 'full' | 'icon' | 'text';\n\nconst ICON_YES = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"></path></svg>`;\nconst ICON_NO = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg>`;\nconst CLS_YES = `class=\"yn__yes\"`;\nconst CLS_NO = `class=\"yn__no\"`;\n\n@Pipe({ name: 'yn' })\nexport class YNPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(value: boolean, yes?: string, no?: string, mode?: YNMode, isSafeHtml: boolean = true): SafeHtml {\n let html = '';\n yes = yes || '是';\n no = no || '否';\n switch (mode) {\n case 'full':\n html = value\n ? `<i ${CLS_YES}>${ICON_YES}<span>${yes}</span></i>`\n : `<i ${CLS_NO}>${ICON_NO}<span>${no}</span></i>`;\n break;\n case 'text':\n html = value ? `<i ${CLS_YES}>${yes}</i>` : `<i ${CLS_NO}>${no}</i>`;\n break;\n default:\n html = value ? `<i ${CLS_YES} title=\"${yes}\">${ICON_YES}</i>` : `<i ${CLS_NO} title=\"${no}\">${ICON_NO}</i>`;\n break;\n }\n return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({ name: 'html' })\nexport class HTMLPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(html: string): string | SafeHtml {\n return html ? this.dom.bypassSecurityTrustHtml(html) : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({ name: 'url' })\nexport class URLPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(url: string): string | SafeUrl {\n return url ? this.dom.bypassSecurityTrustUrl(url) : '';\n }\n}\n","import { Inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from './i18n';\n\n@Pipe({ name: 'i18n' })\nexport class I18nPipe implements PipeTransform {\n constructor(@Inject(ALAIN_I18N_TOKEN) private i18n: AlainI18NService) {}\n\n transform(key: string, params?: Record<string, unknown>): string {\n return this.i18n.fanyi(key, params);\n }\n}\n","/* eslint-disable import/order */\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n// #region import\n\nconst HELPERS = [ModalHelper, DrawerHelper];\n\n// pipes\nimport { BellOutline, DeleteOutline, InboxOutline, PlusOutline } from '@ant-design/icons-angular/icons';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { DelonLocaleModule } from './locale/locale.module';\nimport { DatePipe } from './pipes/date/date.pipe';\nimport { KeysPipe } from './pipes/keys/keys.pipe';\nimport { HTMLPipe } from './pipes/safe/html.pipe';\nimport { URLPipe } from './pipes/safe/url.pipe';\nimport { YNPipe } from './pipes/yn/yn.pipe';\nimport { I18nPipe } from './services/i18n/i18n.pipe';\nconst PIPES = [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe];\n\n// #endregion\n\n// #region all delon used icons\n\n// - zorro: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/icon/icons.ts\n\nimport { DrawerHelper } from './services/drawer/drawer.helper';\nimport { ModalHelper } from './services/modal/modal.helper';\nimport { ALAIN_SETTING_KEYS } from './services/settings/settings.service';\nconst ICONS = [BellOutline, DeleteOutline, PlusOutline, InboxOutline];\n\n// #endregion\n\n@NgModule({\n imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule],\n declarations: [...PIPES],\n providers: [\n {\n provide: ALAIN_SETTING_KEYS,\n useValue: {\n layout: 'layout',\n user: 'user',\n app: 'app'\n }\n }\n ],\n exports: [...PIPES, DelonLocaleModule]\n})\nexport class AlainThemeModule {\n constructor(iconSrv: NzIconService) {\n iconSrv.addIcon(...ICONS);\n }\n\n static forRoot(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: [...HELPERS]\n };\n }\n\n static forChild(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: [...HELPERS]\n };\n }\n}\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * Optional pre-loading module, when it's necessary to load the resource at the first page load for some lazy routes, [example](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts).\n *\n * 可选预加载模块,当需要对某些懒路由在第一次页面加载时也一并加载该资源时,[示例](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts)。\n *\n * @example\n * {AT}NgModule({\n * providers: [PreloadOptionalModules],\n * imports: [\n * RouterModule.forRoot([\n * { path: '', loadChildren: null, data: { preload: true } }\n * ], { preloadingStrategy: PreloadOptionalModules})]\n * })\n */\nexport class PreloadOptionalModules implements PreloadingStrategy {\n preload(route: Route, fn: () => Observable<NzSafeAny>): Observable<NzSafeAny> {\n return route.data?.preload === true ? fn().pipe(catchError(() => of(null))) : of(null);\n }\n}\n","import { Version } from '@angular/core';\n\nexport const VERSION = new Version('12.2.3');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {I18nPipe as ɵa} from './src/services/i18n/i18n.pipe';"],"names":["InjectionToken","inject","AlainConfigService","BehaviorSubject","filter","Injectable","share","Optional","Inject","ACLService","Subject","Platform","map","Directionality","NzConfigService","DOCUMENT","ActivatedRoute","Router","Injector","Title","SkipSelf","NgModule","deepMerge","Observable","NzModalService","NzDrawerService","HttpParams","of","delay","tap","switchMap","finalize","HttpClient","throwError","toDate","formatDistanceToNow","format","Pipe","NzI18nService","DomSanitizer","BellOutline","DeleteOutline","PlusOutline","InboxOutline","CommonModule","RouterModule","OverlayModule","NzI18nModule","NzIconService","catchError","Version"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.umd.js","sources":["../../../../packages/theme/src/services/preloader/preloader.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../packages/theme/src/services/i18n/i18n.ts","../../../../packages/theme/src/services/menu/menu.service.ts","../../../../packages/theme/src/services/settings/settings.service.ts","../../../../packages/theme/src/services/responsive/responsive.ts","../../../../packages/theme/src/services/rtl/rtl.service.ts","../../../../packages/theme/src/services/title/title.service.ts","../../../../packages/theme/src/locale/locale.tokens.ts","../../../../packages/theme/src/locale/languages/zh-CN.ts","../../../../packages/theme/src/locale/locale.service.ts","../../../../packages/theme/src/locale/locale.module.ts","../../../../packages/theme/src/locale/languages/en-US.ts","../../../../packages/theme/src/locale/languages/zh-TW.ts","../../../../packages/theme/src/locale/languages/tr-TR.ts","../../../../packages/theme/src/locale/languages/pl-PL.ts","../../../../packages/theme/src/locale/languages/el-GR.ts","../../../../packages/theme/src/locale/languages/ko-KR.ts","../../../../packages/theme/src/locale/languages/hr-HR.ts","../../../../packages/theme/src/locale/languages/ja-JP.ts","../../../../packages/theme/src/locale/languages/sl-SI.ts","../../../../packages/theme/src/locale/languages/fr-FR.ts","../../../../packages/theme/src/locale/languages/es-ES.ts","../../../../packages/theme/src/locale/languages/it-IT.ts","../../../../packages/theme/src/services/modal/modal.helper.ts","../../../../packages/theme/src/services/drawer/drawer.helper.ts","../../../../packages/theme/src/services/http/http.client.ts","../../../../packages/theme/src/services/http/http.decorator.ts","../../../../packages/theme/src/pipes/date/date.pipe.ts","../../../../packages/theme/src/pipes/keys/keys.pipe.ts","../../../../packages/theme/src/pipes/yn/yn.pipe.ts","../../../../packages/theme/src/pipes/safe/html.pipe.ts","../../../../packages/theme/src/pipes/safe/url.pipe.ts","../../../../packages/theme/src/services/i18n/i18n.pipe.ts","../../../../packages/theme/src/theme.module.ts","../../../../packages/theme/src/router/optional-preloader.ts","../../../../packages/theme/src/version.ts","../../../../packages/theme/theme.ts"],"sourcesContent":["import type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport function preloaderFinished(): void {\n const body = document.querySelector('body')!;\n const preloader = document.querySelector('.preloader')!;\n\n body.style.overflow = 'hidden';\n\n function remove(): void {\n // preloader value null when running --hmr\n if (!preloader) return;\n preloader.addEventListener('transitionend', () => {\n preloader.className = 'preloader-hidden';\n });\n\n preloader.className += ' preloader-hidden-add preloader-hidden-add-active';\n }\n\n (window as NzSafeAny).appBootstrap = () => {\n setTimeout(() => {\n remove();\n body.style.overflow = '';\n }, 100);\n };\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainThemeI18nConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from '../http/http.client';\n\nexport interface AlainI18NService {\n [key: string]: NzSafeAny;\n\n /**\n * Call `use` to trigger change notification\n *\n * 调用 `use` 触发变更通知\n */\n readonly change: Observable<string>;\n\n /**\n * Get the default language\n *\n * 获取默认语言\n */\n readonly defaultLang: string;\n\n /**\n * Get current language\n *\n * 获取当前语言\n */\n readonly currentLang: string;\n\n /**\n * Change language\n *\n * 变更语言\n *\n * @param emit 是否触发 `change`,默认:true ; Should be removed, please use `change` event instead.\n */\n use(lang: string, data?: Record<string, unknown>): void;\n\n /**\n * Return to the current language list\n *\n * 返回当前语言列表\n */\n getLangs(): NzSafeAny[];\n\n /**\n * Translate 翻译\n *\n * @param params 模板所需要的参数对象\n * @param isSafe 是否返回安全字符,自动调用 `bypassSecurityTrustHtml`; Should be removed, If you need SafeHtml support, please use `| html` pipe instead.\n */\n fanyi(path: string, params?: unknown): string;\n}\n\nexport const ALAIN_I18N_TOKEN = new InjectionToken<AlainI18NService>('alainI18nToken', {\n providedIn: 'root',\n factory: () => new AlainI18NServiceFake(inject(AlainConfigService))\n});\n\n@Injectable()\nexport abstract class AlainI18nBaseService implements AlainI18NService {\n private cog: AlainThemeI18nConfig;\n protected _change$ = new BehaviorSubject<string | null>(null);\n protected _currentLang: string = '';\n protected _defaultLang: string = '';\n protected _data: Record<string, string> = {};\n get change(): Observable<string> {\n return this._change$.asObservable().pipe(filter(w => w != null)) as Observable<string>;\n }\n get defaultLang(): string {\n return this._defaultLang;\n }\n get currentLang(): string {\n return this._currentLang;\n }\n get data(): Record<string, string> {\n return this._data;\n }\n\n constructor(cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeI18n', {\n interpolation: ['{{', '}}']\n })!;\n }\n\n /**\n * Flattened data source\n *\n * @example\n * {\n * \"name\": \"Name\",\n * \"sys\": {\n * \"\": \"System\",\n * \"title\": \"Title\"\n * }\n * }\n * =>\n * {\n * \"name\": \"Name\",\n * \"sys\": \"System\",\n * \"sys.title\": \"Title\"\n * }\n */\n flatData(data: Record<string, unknown>, parentKey: string[]): Record<string, string> {\n const res: Record<string, string> = {};\n for (const key of Object.keys(data)) {\n const value = data[key];\n if (typeof value === 'object') {\n const child = this.flatData(value as Record<string, unknown>, parentKey.concat(key));\n Object.keys(child).forEach(childKey => (res[childKey] = child[childKey]));\n } else {\n res[(key ? parentKey.concat(key) : parentKey).join('.')] = `${value}`;\n }\n }\n return res;\n }\n\n abstract use(lang: string, data?: Record<string, unknown>): void;\n\n abstract getLangs(): NzSafeAny[];\n\n fanyi(path: string, params?: Record<string, unknown>): string {\n let content = this._data[path] || '';\n if (!content) return path;\n\n if (params) {\n const interpolation = this.cog.interpolation!!;\n Object.keys(params).forEach(\n key =>\n (content = content.replace(\n new RegExp(`${interpolation[0]}\\s?${key}\\s?${interpolation[1]}`, 'g'),\n `${params[key]}`\n ))\n );\n }\n return content;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NServiceFake extends AlainI18nBaseService {\n use(lang: string, data: Record<string, unknown>): void {\n this._data = this.flatData(data, []);\n this._currentLang = lang;\n this._change$.next(lang);\n }\n\n getLangs(): NzSafeAny[] {\n return [];\n }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { Menu, MenuIcon, MenuInner } from './interface';\n\n/**\n * 菜单服务,[在线文档](https://ng-alain.com/theme/menu)\n */\n@Injectable({ providedIn: 'root' })\nexport class MenuService implements OnDestroy {\n private _change$: BehaviorSubject<Menu[]> = new BehaviorSubject<Menu[]>([]);\n private i18n$: Subscription;\n\n private data: Menu[] = [];\n\n constructor(\n @Optional()\n @Inject(ALAIN_I18N_TOKEN)\n private i18nSrv: AlainI18NService,\n @Optional() private aclService: ACLService\n ) {\n this.i18n$ = this.i18nSrv.change.subscribe(() => this.resume());\n }\n\n get change(): Observable<Menu[]> {\n return this._change$.pipe(share());\n }\n\n visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n const inFn = (list: Menu[], parentMenu: Menu | null, depth: number): void => {\n for (const item of list) {\n callback(item, parentMenu, depth);\n if (item.children && item.children.length > 0) {\n inFn(item.children, item, depth + 1);\n } else {\n item.children = [];\n }\n }\n };\n\n inFn(data, null, 0);\n }\n\n add(items: Menu[]): void {\n this.data = items;\n this.resume();\n }\n\n private fixItem(item: MenuInner): void {\n item._aclResult = true;\n\n if (!item.link) item.link = '';\n if (!item.externalLink) item.externalLink = '';\n\n // badge\n if (item.badge) {\n if (item.badgeDot !== true) {\n item.badgeDot = false;\n }\n if (!item.badgeStatus) {\n item.badgeStatus = 'error';\n }\n }\n\n if (!Array.isArray(item.children)) {\n item.children = [];\n }\n\n // icon\n if (typeof item.icon === 'string') {\n let type = 'class';\n let value = item.icon;\n // compatible `anticon anticon-user`\n if (~item.icon.indexOf(`anticon-`)) {\n type = 'icon';\n value = value.split('-').slice(1).join('-');\n } else if (/^https?:\\/\\//.test(item.icon)) {\n type = 'img';\n }\n item.icon = { type, value } as NzSafeAny;\n }\n if (item.icon != null) {\n item.icon = { theme: 'outline', spin: false, ...(item.icon as MenuIcon) };\n }\n\n item.text = item.i18n && this.i18nSrv ? this.i18nSrv.fanyi(item.i18n) : item.text;\n\n // group\n item.group = item.group !== false;\n\n // hidden\n item._hidden = typeof item.hide === 'undefined' ? false : item.hide;\n\n // disabled\n item.disabled = typeof item.disabled === 'undefined' ? false : item.disabled;\n\n // acl\n item._aclResult = item.acl && this.aclService ? this.aclService.can(item.acl) : true;\n }\n\n /**\n * 重置菜单,可能I18N、用户权限变动时需要调用刷新\n */\n resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void {\n let i = 1;\n const shortcuts: Menu[] = [];\n this.visit(this.data, (item: MenuInner, parent, depth) => {\n item._id = i++;\n item._parent = parent;\n item._depth = depth;\n this.fixItem(item);\n\n // shortcut\n if (parent && item.shortcut === true && parent.shortcutRoot !== true) {\n shortcuts.push(item);\n }\n\n if (callback) callback(item, parent, depth);\n });\n\n this.loadShortcut(shortcuts);\n this._change$.next(this.data);\n }\n\n /**\n * 加载快捷菜单,加载位置规则如下:\n * 1、统一在下标0的节点下(即【主导航】节点下方)\n * 1、若 children 存在 【shortcutRoot: true】则最优先【推荐】这种方式\n * 2、否则查找带有【dashboard】字样链接,若存在则在此菜单的下方创建快捷入口\n * 3、否则放在0节点位置\n */\n private loadShortcut(shortcuts: MenuInner[]): void {\n if (shortcuts.length === 0 || this.data.length === 0) {\n return;\n }\n\n const ls = this.data[0].children as MenuInner[];\n let pos = ls.findIndex(w => w.shortcutRoot === true);\n if (pos === -1) {\n pos = ls.findIndex(w => w.link!.includes('dashboard'));\n pos = (pos !== -1 ? pos : -1) + 1;\n const shortcutMenu = {\n text: '快捷菜单',\n i18n: 'shortcut',\n icon: 'icon-rocket',\n children: []\n } as MenuInner;\n this.data[0].children!.splice(pos, 0, shortcutMenu);\n }\n let _data = this.data[0].children![pos];\n if (_data.i18n && this.i18nSrv) _data.text = this.i18nSrv.fanyi(_data.i18n);\n _data = Object.assign(_data, {\n shortcutRoot: true,\n _id: -1,\n _parent: null,\n _depth: 1\n } as MenuInner);\n _data.children = shortcuts.map(i => {\n i._depth = 2;\n i._parent = _data;\n return i;\n });\n }\n\n get menus(): Menu[] {\n return this.data;\n }\n\n /**\n * 清空菜单\n */\n clear(): void {\n this.data = [];\n this._change$.next(this.data);\n }\n\n getHit(data: Menu[], url: string, recursive: boolean = false, cb: ((i: Menu) => void) | null = null): Menu | null {\n let item: Menu | null = null;\n\n while (!item && url) {\n this.visit(data, i => {\n if (cb) {\n cb(i);\n }\n if (i.link != null && i.link === url) {\n item = i;\n }\n });\n\n if (!recursive) break;\n\n if (/[?;]/g.test(url)) {\n url = url.split(/[?;]/g)[0];\n } else {\n url = url.split('/').slice(0, -1).join('/');\n }\n }\n\n return item;\n }\n\n /**\n * 根据URL设置菜单 `_open` 属性\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n openedByUrl(url: string | null, recursive: boolean = false): void {\n if (!url) return;\n\n let findItem = this.getHit(this.data, url, recursive, (i: MenuInner) => {\n i._selected = false;\n i._open = false;\n }) as MenuInner;\n if (findItem == null) return;\n\n do {\n findItem._selected = true;\n findItem._open = true;\n findItem = findItem._parent!;\n } while (findItem);\n }\n\n /**\n * 根据url获取菜单列表\n * - 若 `recursive: true` 则会自动向上递归查找\n * - 菜单数据源包含 `/ware`,则 `/ware/1` 也视为 `/ware` 项\n */\n getPathByUrl(url: string, recursive: boolean = false): Menu[] {\n const ret: Menu[] = [];\n let item = this.getHit(this.data, url, recursive) as MenuInner;\n\n if (!item) return ret;\n\n do {\n ret.splice(0, 0, item);\n item = item._parent!;\n } while (item);\n\n return ret;\n }\n\n /**\n * Get menu based on `key`\n */\n getItem(key: string): Menu | null {\n let res: Menu | null = null;\n this.visit(this.data, item => {\n if (res == null && item.key === key) {\n res = item;\n }\n });\n return res;\n }\n\n /**\n * Set menu based on `key`\n */\n setItem(key: string, value: Menu): void {\n const item = this.getItem(key);\n if (item == null) return;\n\n Object.keys(value).forEach(k => {\n item[k] = value[k];\n });\n this.fixItem(item);\n\n this._change$.next(this.data);\n }\n\n ngOnDestroy(): void {\n this._change$.unsubscribe();\n this.i18n$.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { App, Layout, SettingsNotify, User } from './types';\n\nexport interface SettingsKeys {\n /** Layout data specifies the stored key, default: `layout` */\n layout: string;\n /** User data specifies the stored key, default: `user` */\n user: string;\n /** App data specifies the stored key, default: `app` */\n app: string;\n}\n\nexport const ALAIN_SETTING_KEYS = new InjectionToken<SettingsKeys>('ALAIN_SETTING_KEYS');\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> {\n private notify$ = new Subject<SettingsNotify>();\n private _app: A | null = null;\n private _user: U | null = null;\n private _layout: L | null = null;\n\n constructor(private platform: Platform, @Inject(ALAIN_SETTING_KEYS) private KEYS: SettingsKeys) {}\n\n getData(key: string): NzSafeAny {\n if (!this.platform.isBrowser) {\n return null;\n }\n return JSON.parse(localStorage.getItem(key) || 'null') || null;\n }\n\n setData(key: string, value: NzSafeAny): void {\n if (!this.platform.isBrowser) {\n return;\n }\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n get layout(): L {\n if (!this._layout) {\n this._layout = {\n fixed: true,\n collapsed: false,\n boxed: false,\n lang: null,\n ...this.getData(this.KEYS.layout)\n };\n this.setData(this.KEYS.layout, this._layout);\n }\n return this._layout as L;\n }\n\n get app(): A {\n if (!this._app) {\n this._app = {\n year: new Date().getFullYear(),\n ...this.getData(this.KEYS.app)\n };\n this.setData(this.KEYS.app, this._app);\n }\n return this._app as A;\n }\n\n get user(): U {\n if (!this._user) {\n this._user = { ...this.getData(this.KEYS.user) };\n this.setData(this.KEYS.user, this._user);\n }\n return this._user as U;\n }\n\n get notify(): Observable<SettingsNotify> {\n return this.notify$.asObservable();\n }\n\n setLayout(name: string | L, value?: NzSafeAny): boolean {\n if (typeof name === 'string') {\n (this.layout as Layout)[name] = value;\n } else {\n this._layout = name;\n }\n this.setData(this.KEYS.layout, this._layout);\n this.notify$.next({ type: 'layout', name, value } as NzSafeAny);\n return true;\n }\n\n setApp(value: A): void {\n this._app = value;\n this.setData(this.KEYS.app, value);\n this.notify$.next({ type: 'app', value });\n }\n\n setUser(value: U): void {\n this._user = value;\n this.setData(this.KEYS.user, value);\n this.notify$.next({ type: 'user', value });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AlainConfigService, AlainThemeResponsiveConfig } from '@delon/util/config';\n\nexport const REP_MAX = 6;\n\nexport type REP_TYPE = 1 | 2 | 3 | 4 | 5 | 6;\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveService {\n private cog: AlainThemeResponsiveConfig;\n constructor(cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeResponsive', {\n rules: {\n 1: { xs: 24 },\n 2: { xs: 24, sm: 12 },\n 3: { xs: 24, sm: 12, md: 8 },\n 4: { xs: 24, sm: 12, md: 8, lg: 6 },\n 5: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 2 }\n }\n })!;\n if (\n Object.keys(this.cog.rules)\n .map(i => +i)\n .some((i: number) => i < 1 || i > REP_MAX)\n ) {\n throw new Error(`[theme] the responseive rule index value range must be 1-${REP_MAX}`);\n }\n }\n\n genCls(count: number): string[] {\n const rule = this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)];\n const antColClass = 'ant-col';\n const clsMap = [`${antColClass}-xs-${rule.xs}`];\n if (rule.sm) clsMap.push(`${antColClass}-sm-${rule.sm}`);\n if (rule.md) clsMap.push(`${antColClass}-md-${rule.md}`);\n if (rule.lg) clsMap.push(`${antColClass}-lg-${rule.lg}`);\n if (rule.xl) clsMap.push(`${antColClass}-xl-${rule.xl}`);\n if (rule.xxl) clsMap.push(`${antColClass}-xxl-${rule.xxl}`);\n return clsMap;\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzConfigService } from 'ng-zorro-antd/core/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SettingsService } from '../settings/settings.service';\n\nexport const HTML_DIR = 'dir';\nexport const RTL_DIRECTION = 'direction';\nexport const RTL_NZ_COMPONENTS = ['modal', 'drawer', 'message', 'notification', 'image'];\nexport const RTL_DELON_COMPONENTS = ['loading', 'onboarding'];\nexport const LTR = 'ltr';\nexport const RTL = 'rtl';\n\n@Injectable({ providedIn: 'root' })\nexport class RTLService {\n private _dir: Direction = LTR;\n /**\n * Get or Set the current text direction\n *\n * 获取或设置当前文字方向\n */\n get dir(): Direction {\n return this._dir;\n }\n set dir(value: Direction) {\n this._dir = value;\n this.updateLibConfig();\n this.updateHtml();\n // Should be wait inited\n Promise.resolve().then(() => {\n (this.d as NzSafeAny).value = value;\n this.d.change.emit(value);\n this.srv.setLayout(RTL_DIRECTION, value);\n });\n }\n\n /**\n * Get the next text direction\n *\n * 获取下一次文字方向\n */\n get nextDir(): Direction {\n return this.dir === LTR ? RTL : LTR;\n }\n\n /**\n * Subscription change notification\n *\n * 订阅变更通知\n */\n get change(): Observable<Direction> {\n return this.srv.notify.pipe(\n filter(w => w.name === RTL_DIRECTION),\n map(v => v.value)\n );\n }\n\n constructor(\n private d: Directionality,\n private srv: SettingsService,\n private nz: NzConfigService,\n private delon: AlainConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {\n this.dir = srv.layout.direction === RTL ? RTL : LTR;\n }\n\n /**\n * Toggle text direction\n *\n * 切换文字方向\n */\n toggle(): void {\n this.dir = this.nextDir;\n }\n\n private updateHtml(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n const htmlEl = this.doc.querySelector('html') as HTMLElement;\n if (htmlEl) {\n const dir = this.dir;\n htmlEl.style.direction = dir;\n htmlEl.classList.remove(RTL, LTR);\n htmlEl.classList.add(dir);\n htmlEl.setAttribute(HTML_DIR, dir);\n }\n }\n\n private updateLibConfig(): void {\n RTL_NZ_COMPONENTS.forEach(name => {\n this.nz.set(name as NzSafeAny, { nzDirection: this.dir });\n });\n RTL_DELON_COMPONENTS.forEach(name => {\n this.delon.set(name as NzSafeAny, { direction: this.dir });\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, Injector, OnDestroy, Optional } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { MenuService } from '../menu/menu.service';\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService implements OnDestroy {\n private _prefix: string = '';\n private _suffix: string = '';\n private _separator: string = ' - ';\n private _reverse: boolean = false;\n private i18n$: Subscription;\n\n readonly DELAY_TIME = 25;\n\n constructor(\n private injector: Injector,\n private title: Title,\n private menuSrv: MenuService,\n @Optional()\n @Inject(ALAIN_I18N_TOKEN)\n private i18nSrv: AlainI18NService,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {\n this.i18n$ = this.i18nSrv.change.pipe(filter(() => !!this.i18n$)).subscribe(() => this.setTitle());\n }\n\n /** 设置分隔符 */\n set separator(value: string) {\n this._separator = value;\n }\n\n /** 设置前缀 */\n set prefix(value: string) {\n this._prefix = value;\n }\n\n /** 设置后缀 */\n set suffix(value: string) {\n this._suffix = value;\n }\n\n /** 设置是否反转 */\n set reverse(value: boolean) {\n this._reverse = value;\n }\n\n /** 设置默认标题名 */\n default = `Not Page Name`;\n\n private getByElement(): string {\n const el = (this.doc.querySelector('.alain-default__content-title h1') ||\n this.doc.querySelector('.page-header__title')) as HTMLElement;\n if (el) {\n let text = '';\n el.childNodes.forEach(val => {\n if (!text && val.nodeType === 3) {\n text = val.textContent!.trim();\n }\n });\n return text || el.firstChild!.textContent!.trim();\n }\n return '';\n }\n\n private getByRoute(): string {\n let next = this.injector.get(ActivatedRoute);\n while (next.firstChild) next = next.firstChild;\n const data = (next.snapshot && next.snapshot.data) || {};\n if (data.titleI18n && this.i18nSrv) data.title = this.i18nSrv.fanyi(data.titleI18n);\n return data.title;\n }\n\n private getByMenu(): string {\n const menus = this.menuSrv.getPathByUrl(this.injector.get<Router>(Router).url);\n if (!menus || menus.length <= 0) return '';\n\n const item = menus[menus.length - 1];\n let title;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n return title || item.text!;\n }\n\n private _setTitle(title?: string | string[]): void {\n if (!title) {\n title = this.getByRoute() || this.getByMenu() || this.getByElement() || this.default;\n }\n if (title && !Array.isArray(title)) {\n title = [title];\n }\n\n let newTitles: string[] = [];\n if (this._prefix) {\n newTitles.push(this._prefix);\n }\n newTitles.push(...(title as string[]));\n if (this._suffix) {\n newTitles.push(this._suffix);\n }\n if (this._reverse) {\n newTitles = newTitles.reverse();\n }\n this.title.setTitle(newTitles.join(this._separator));\n }\n\n /**\n * Set the document title, will be delay `25ms`, pls refer to [#1261](https://github.com/ng-alain/ng-alain/issues/1261)\n */\n setTitle(title?: string | string[]): void {\n setTimeout(() => this._setTitle(title), this.DELAY_TIME);\n }\n\n /**\n * Set i18n key of the document title\n */\n setTitleByI18n(key: string, params?: unknown): void {\n this.setTitle(this.i18nSrv.fanyi(key, params));\n }\n\n ngOnDestroy(): void {\n this.i18n$.unsubscribe();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const DELON_LOCALE = new InjectionToken<string>('delon-locale');\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-CN',\n exception: {\n 403: '抱歉,你无权访问该页面',\n 404: '抱歉,你访问的页面不存在',\n 500: '抱歉,服务器出错了',\n backToHome: '返回首页'\n },\n noticeIcon: {\n emptyText: '暂无数据',\n clearText: '清空'\n },\n reuseTab: {\n close: '关闭标签',\n closeOther: '关闭其它标签',\n closeRight: '关闭右侧标签',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展开',\n collapse: '收起'\n },\n miniProgress: {\n target: '目标值:'\n },\n st: {\n total: '共 {{total}} 条',\n filterConfirm: '确定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全选',\n error: {\n 'false schema': `布尔模式出错`,\n $ref: `无法找到引用{ref}`,\n additionalItems: `不允许超过{limit}个元素`,\n additionalProperties: `不允许有额外的属性`,\n anyOf: `数据应为 anyOf 所指定的其中一个`,\n dependencies: `应当拥有属性{property}的依赖属性{deps}`,\n enum: `应当是预设定的枚举值之一`,\n format: `格式不正确`,\n type: `类型应当是 {type}`,\n required: `必填项`,\n maxLength: `至多 {limit} 个字符`,\n minLength: `至少 {limit} 个字符以上`,\n minimum: `必须 {comparison}{limit}`,\n formatMinimum: `必须 {comparison}{limit}`,\n maximum: `必须 {comparison}{limit}`,\n formatMaximum: `必须 {comparison}{limit}`,\n maxItems: `不应多于 {limit} 个项`,\n minItems: `不应少于 {limit} 个项`,\n maxProperties: `不应多于 {limit} 个属性`,\n minProperties: `不应少于 {limit} 个属性`,\n multipleOf: `应当是 {multipleOf} 的整数倍`,\n not: `不应当匹配 \"not\" schema`,\n oneOf: `只能匹配一个 \"oneOf\" 中的 schema`,\n pattern: `数据格式不正确`,\n uniqueItems: `不应当含有重复项 (第 {j} 项与第 {i} 项是重复的)`,\n custom: `格式不正确`,\n propertyNames: `属性名 \"{propertyName}\" 无效`,\n patternRequired: `应当有属性匹配模式 {missingPattern}`,\n switch: `由于 {caseIndex} 失败,未通过 \"switch\" 校验`,\n const: `应当等于常量`,\n contains: `应当包含一个有效项`,\n formatExclusiveMaximum: `formatExclusiveMaximum 应当是布尔值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 应当是布尔值`,\n if: `应当匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳过`,\n prev: `上一项`,\n next: `下一项`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { Inject, Injectable, Optional, Provider, SkipSelf } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE } from './locale.tokens';\nimport { FullLocaleData, LocaleData } from './locale.types';\n\n@Injectable()\nexport class DelonLocaleService {\n private _locale: FullLocaleData = zhCN;\n private change$ = new BehaviorSubject<FullLocaleData>(this._locale);\n\n constructor(@Inject(DELON_LOCALE) locale: FullLocaleData | null) {\n this.setLocale(locale || zhCN);\n }\n\n get change(): Observable<FullLocaleData> {\n return this.change$.asObservable();\n }\n\n setLocale(locale: FullLocaleData): void {\n if (this._locale && this._locale.abbr === locale.abbr) {\n return;\n }\n this._locale = locale;\n this.change$.next(locale);\n }\n\n get locale(): FullLocaleData {\n return this._locale;\n }\n\n getData(path: keyof FullLocaleData): LocaleData {\n return (this._locale[path] || {}) as LocaleData;\n }\n}\n\nexport function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(\n exist: DelonLocaleService,\n locale: FullLocaleData\n): DelonLocaleService {\n return exist || new DelonLocaleService(locale);\n}\n\nexport const DELON_LOCALE_SERVICE_PROVIDER: Provider = {\n provide: DelonLocaleService,\n useFactory: DELON_LOCALE_SERVICE_PROVIDER_FACTORY,\n deps: [[new Optional(), new SkipSelf(), DelonLocaleService], DELON_LOCALE]\n};\n","import { NgModule } from '@angular/core';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE_SERVICE_PROVIDER } from './locale.service';\nimport { DELON_LOCALE } from './locale.tokens';\n\n@NgModule({\n providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]\n})\nexport class DelonLocaleModule {}\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'en-US',\n exception: {\n 403: `Sorry, you don't have access to this page`,\n 404: `Sorry, the page you visited does not exist`,\n 500: `Sorry, the server is reporting an error`,\n backToHome: 'Back To Home'\n },\n noticeIcon: {\n emptyText: 'No data',\n clearText: 'Clear'\n },\n reuseTab: {\n close: 'Close tab',\n closeOther: 'Close other tabs',\n closeRight: 'Close tabs to right',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Expand',\n collapse: 'Collapse'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reset',\n search: 'Search',\n edit: 'Save',\n addText: 'Add',\n removeText: 'Remove',\n checkAllText: 'Check all',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Skip`,\n prev: `Prev`,\n next: `Next`,\n done: `Done`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'zh-TW',\n exception: {\n 403: '抱歉,你無權訪問該頁麵',\n 404: '抱歉,你訪問的頁麵不存在',\n 500: '抱歉,服務器出錯了',\n backToHome: '返回首頁'\n },\n noticeIcon: {\n emptyText: '暫無數據',\n clearText: '清空'\n },\n reuseTab: {\n close: '關閉標簽',\n closeOther: '關閉其它標簽',\n closeRight: '關閉右側標簽',\n refresh: '刷新'\n },\n tagSelect: {\n expand: '展開',\n collapse: '收起'\n },\n miniProgress: {\n target: '目標值:'\n },\n st: {\n total: '共 {{total}} 條',\n filterConfirm: '確定',\n filterReset: '重置'\n },\n sf: {\n submit: '提交',\n reset: '重置',\n search: '搜索',\n edit: '保存',\n addText: '添加',\n removeText: '移除',\n checkAllText: '全選',\n error: {\n 'false schema': `佈爾模式出錯`,\n $ref: `無法找到引用{ref}`,\n additionalItems: `不允許超過{ref}`,\n additionalProperties: `不允許有額外的屬性`,\n anyOf: `數據應為 anyOf 所指定的其中一個`,\n dependencies: `應當擁有屬性{property}的依賴屬性{deps}`,\n enum: `應當是預設定的枚舉值之一`,\n format: `格式不正確`,\n type: `類型應當是 {type}`,\n required: `必填項`,\n maxLength: `至多 {limit} 個字符`,\n minLength: `至少 {limit} 個字符以上`,\n minimum: `必須 {comparison}{limit}`,\n formatMinimum: `必須 {comparison}{limit}`,\n maximum: `必須 {comparison}{limit}`,\n formatMaximum: `必須 {comparison}{limit}`,\n maxItems: `不應多於 {limit} 個項`,\n minItems: `不應少於 {limit} 個項`,\n maxProperties: `不應多於 {limit} 個屬性`,\n minProperties: `不應少於 {limit} 個屬性`,\n multipleOf: `應當是 {multipleOf} 的整數倍`,\n not: `不應當匹配 \"not\" schema`,\n oneOf: `隻能匹配一個 \"oneOf\" 中的 schema`,\n pattern: `數據格式不正確`,\n uniqueItems: `不應當含有重複項 (第 {j} 項與第 {i} 項是重複的)`,\n custom: `格式不正確`,\n propertyNames: `屬性名 \"{propertyName}\" 無效`,\n patternRequired: `應當有屬性匹配模式 {missingPattern}`,\n switch: `由於 {caseIndex} 失敗,未通過 \"switch\" 校驗`,\n const: `應當等於常量`,\n contains: `應當包含一個有效項`,\n formatExclusiveMaximum: `formatExclusiveMaximum 應當是佈爾值`,\n formatExclusiveMinimum: `formatExclusiveMinimum 應當是佈爾值`,\n if: `應當匹配模式 \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `跳過`,\n prev: `上一項`,\n next: `下一項`,\n done: `完成`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'tr-TR',\n exception: {\n 403: `Üzgünüz, bu sayfaya erişiminiz yok`,\n 404: `Maalesef bu sayfa mevcut değil`,\n 500: `Üzgünüz, sunucu hatası`,\n backToHome: `Ana Sayfa'ya geri dön`\n },\n noticeIcon: {\n emptyText: 'Veri yok',\n clearText: 'Temiz'\n },\n reuseTab: {\n close: 'Sekmeyi Kapat',\n closeOther: 'Diğer sekmeleri kapat',\n closeRight: 'Sağdaki sekmeleri kapat',\n refresh: 'täzele'\n },\n tagSelect: {\n expand: 'Genişlet',\n collapse: 'Daralt'\n },\n miniProgress: {\n target: 'Hedef: '\n },\n st: {\n total: '{{range[0]}} ile {{range[1]}} arasında {{total}}',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla'\n },\n sf: {\n submit: 'Gönder',\n reset: 'Sıfırla',\n search: 'Ara',\n edit: 'Kaydet',\n addText: 'Ekle',\n removeText: 'Kaldır',\n checkAllText: 'Tümünü kontrol et',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Atla`,\n prev: `Önceki`,\n next: `Sonraki`,\n done: `Bitti`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'pl-PL',\n exception: {\n 403: `Niestety, nie masz uprawnień do tej strony`,\n 404: `Niestety, ta strona nie istnieje`,\n 500: `Niestety, błąd serwera`,\n backToHome: 'Powróć do strony głównej'\n },\n noticeIcon: {\n emptyText: 'Brak danych',\n clearText: 'Wyczyść'\n },\n reuseTab: {\n close: 'Zamknij kartę',\n closeOther: 'Zamknij inne karty',\n closeRight: 'Zamknij karty po prawej',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Rozszerz',\n collapse: 'Zmniejsz'\n },\n miniProgress: {\n target: 'Cel: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} z {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Wyczyść'\n },\n sf: {\n submit: 'Wyślij',\n reset: 'Resetuj',\n search: 'Szukaj',\n edit: 'Zapisz',\n addText: 'Dodaj',\n removeText: 'Usuń',\n checkAllText: 'Zaznacz wszystkie',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Pominąć`,\n prev: `Poprzedni`,\n next: `Kolejny`,\n done: `Gotowe`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'el-GR',\n exception: {\n 403: `Λυπούμαστε, δεν έχετε πρόσβαση σε αυτήν τη σελίδα`,\n 404: `Λυπούμαστε, η σελίδα αυτή δεν βρέθηκε`,\n 500: `Λυπούμαστε, σφάλμα διακομιστή`,\n backToHome: 'Επιστροφή στην αρχική σελίδα'\n },\n noticeIcon: {\n emptyText: 'Δεν υπάρχουν δεδομένα',\n clearText: 'Καθαρισμός'\n },\n reuseTab: {\n close: 'Κλείσιμο καρτέλας',\n closeOther: 'Κλείσιμο των άλλων καρτέλων',\n closeRight: 'Κλείσιμο των καρτελών δεξιά',\n refresh: 'Ανανέωση'\n },\n tagSelect: {\n expand: 'Επέκταση',\n collapse: 'Σύμπτυξη'\n },\n miniProgress: {\n target: 'Στόχος: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} από {{total}}',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά'\n },\n sf: {\n submit: 'Υποβολή',\n reset: 'Επαναφορά',\n search: 'Αναζήτηση',\n edit: 'Αποθήκευση',\n addText: 'Προσθήκη',\n removeText: 'Αφαίρεση',\n checkAllText: 'Επιλογή όλων',\n error: {\n 'false schema': `Η δυαδική δομή είναι ψευδής`,\n $ref: `Δεν είναι δυνατή η επίλυση της αναφοράς {ref}`,\n additionalItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n additionalProperties: `Δεν πρέπει να έχει επιπλέον χαρακτηριστικά`,\n anyOf: `Πρέπει να ταιριάζει με κάποια απο τις δομές στο \"anyOf\"`,\n dependencies: `τα χαρακτηριστικά {deps} είναι απαραίτητα, όταν υπάρχει το χαρακτηριστικό {property}`,\n enum: `Πρέπει να είναι ίσο με μία από τις προκαθορισμένες τιμές`,\n format: `Πρέπει να έχει την μορφή \"{format}\"`,\n type: `Πρέπει να είναι {type}`,\n required: `Απαιτείται`,\n maxLength: `Δεν πρέπει να είναι μεγαλύτερο από {limit} χαρακτήρες`,\n minLength: `Δεν πρέπει να είναι μικρότερο από {limit} χαρακτήρες`,\n minimum: `Πρέπει να είναι {comparison} {limit}`,\n formatMinimum: `Πρέπει να είναι {comparison} {limit}`,\n maximum: `Πρέπει να είναι {comparison} {limit}`,\n formatMaximum: `Πρέπει να είναι {comparison} {limit}`,\n maxItems: `Δεν πρέπει να έχει περισσότερα από {limit} στοιχεία`,\n minItems: `Δεν πρέπει να έχει λιγότερα από {limit} στοιχεία`,\n maxProperties: `Δεν πρέπει να έχει περισσότερα από {limit} χαρακτηριστικά`,\n minProperties: `Δεν πρέπει να έχει λιγότερα από {limit} χαρακτηριστικά`,\n multipleOf: `Πρέπει να είναι πολλαπλάσιο του {multipleOf}`,\n not: `Δεν πρέπει να είναι εγκύρο, σύμφωνα με την δομή στο \"not\"`,\n oneOf: `Πρέπει να ταιριάζει με ακριβώς μια απο τις δομές στο \"oneOf\"`,\n pattern: `Πρέπει να ταιριάζει με το πρότυπο \"{pattern}\"`,\n uniqueItems: `Τα στοιχεία δεν πρέπει να επαναλαμβάνονται (τα στοιχεία ## {j} και {i} είναι ίδια)`,\n custom: `Πρέπει να έχει την μορφή`,\n propertyNames: `Το όνομα του χαρακτηριστικού \"{propertyName}\" δεν είναι έγκυρο`,\n patternRequired: `Πρέπει να υπάρχει το χαρακτηριστικό αντιπαραβολής προτύπου \"{missingPattern}\"`,\n switch: `Πρέπει να περάσει ο έλεγχος εγκυρότητας της λέξης-κλειδιού με την χρήση της \"switch\", η περίπτωση {caseIndex} αποτυγχάνει`,\n const: `Πρέπει να είναι ίσο με σταθερά`,\n contains: `Πρέπει να περιέχει κάποιο έγκυρο στοιχείο`,\n formatExclusiveMaximum: `formatExclusiveMaximum πρέπει να είναι boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum πρέπει να είναι boolean`,\n if: `Πρέπει να ταιριάζει στην δομή \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Παράλειψη`,\n prev: `Προηγούμενο`,\n next: `Επόμενο`,\n done: `Ολοκληρώθηκε`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ko-KR',\n exception: {\n 403: `죄송합니다.이 페이지에 액세스 할 수 없습니다.`,\n 404: `죄송합니다. 해당 페이지가 없습니다.`,\n 500: `죄송합니다, 서버 오류가 있습니다.`,\n backToHome: '홈으로 돌아갑니다.'\n },\n noticeIcon: {\n emptyText: '데이터 없음',\n clearText: '지우기'\n },\n reuseTab: {\n close: '탭 닫기',\n closeOther: '다른 탭 닫기',\n closeRight: '오른쪽 탭 닫기',\n refresh: '새롭게 하다'\n },\n tagSelect: {\n expand: '펼치기',\n collapse: '접기'\n },\n miniProgress: {\n target: '대상: '\n },\n st: {\n total: '전체 {{total}}건',\n filterConfirm: '확인',\n filterReset: '초기화'\n },\n sf: {\n submit: '제출',\n reset: '재설정',\n search: '검색',\n edit: '저장',\n addText: '추가',\n removeText: '제거',\n checkAllText: '모두 확인',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `건너 뛰기`,\n prev: `이전`,\n next: `다음`,\n done: `끝난`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'hr-HR',\n exception: {\n 403: `Nažalost, nemate pristup ovoj lokaciji`,\n 404: `Nažalost, lokacija ne postoji`,\n 500: `Nažalost, server je javio pogrešku`,\n backToHome: 'Nazad na početnu stranicu'\n },\n noticeIcon: {\n emptyText: 'Nema podataka',\n clearText: 'Obriši'\n },\n reuseTab: {\n close: 'Zatvori karticu',\n closeOther: 'Zatvori druge kartice',\n closeRight: 'Zatvori kartice desno',\n refresh: 'Refresh'\n },\n tagSelect: {\n expand: 'Proširi',\n collapse: 'Skupi'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} od {{total}}',\n filterConfirm: 'U redu',\n filterReset: 'Poništi'\n },\n sf: {\n submit: 'Pošalji',\n reset: 'Poništi',\n search: 'Pretraži',\n edit: 'Spremi',\n addText: 'Dodaj',\n removeText: 'Ukloni',\n checkAllText: 'Označi sve'\n },\n onboarding: {\n skip: `Preskočiti`,\n prev: `Prethodna`,\n next: `Sljedeći`,\n done: `Sastavljeno`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'ja-JP',\n exception: {\n 403: 'ページへのアクセス権限がありません',\n 404: 'ページが存在しません',\n 500: 'サーバーエラーが発生しました',\n backToHome: 'ホームに戻る'\n },\n noticeIcon: {\n emptyText: 'データが有りません',\n clearText: 'クリア'\n },\n reuseTab: {\n close: 'タブを閉じる',\n closeOther: '他のタブを閉じる',\n closeRight: '右のタブを閉じる',\n refresh: 'リフレッシュ'\n },\n tagSelect: {\n expand: '展開する',\n collapse: '折りたたむ'\n },\n miniProgress: {\n target: '設定値: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} / {{total}}',\n filterConfirm: '確定',\n filterReset: 'リセット'\n },\n sf: {\n submit: '送信',\n reset: 'リセット',\n search: '検索',\n edit: '保存',\n addText: '追加',\n removeText: '削除',\n checkAllText: '全選択',\n error: {\n 'false schema': `真偽値スキーマが不正です`,\n $ref: `参照を解決できません: {ref}`,\n additionalItems: `{limit}個を超えるアイテムを含めることはできません`,\n additionalProperties: `追加のプロパティを使用しないでください`,\n anyOf: `\"anyOf\"のスキーマと一致する必要があります`,\n dependencies: `プロパティ {property} を指定した場合、次の依存関係を満たす必要があります: {deps}`,\n enum: `定義された値のいずれかに等しくなければなりません`,\n format: `入力形式に一致しません: \"{format}\"`,\n type: `型が不正です: {type}`,\n required: `必須項目です`,\n maxLength: `最大文字数: {limit}`,\n minLength: `最少文字数: {limit}`,\n minimum: `値が不正です: {comparison} {limit}`,\n formatMinimum: `値が不正です: {comparison} {limit}`,\n maximum: `値が不正です: {comparison} {limit}`,\n formatMaximum: `値が不正です: {comparison} {limit}`,\n maxItems: `最大選択数は {limit} より小さい必要があります`,\n minItems: `最小選択数は {limit} より大きい必要があります`,\n maxProperties: `値を{limit}より大きくすることはできません`,\n minProperties: `値を{limit}より小さくすることはできません`,\n multipleOf: `値は次の数の倍数である必要があります: {multipleOf}`,\n not: `値が不正です:`,\n oneOf: `値が不正です:`,\n pattern: `次のパターンに一致する必要があります: \"{pattern}\"`,\n uniqueItems: `値が重複しています: 選択肢: {j} 、{i}`,\n custom: `形式と一致する必要があります`,\n propertyNames: `次のプロパティの値が無効です: \"{propertyName}\"`,\n patternRequired: `次のパターンに一致するプロパティが必須です: \"{missingPattern}\"`,\n switch: `\"switch\" キーワードの値が不正です: {caseIndex}`,\n const: `値が定数に一致しません`,\n contains: `有効なアイテムを含める必要があります`,\n formatExclusiveMaximum: `formatExclusiveMaximum は真偽値である必要があります`,\n formatExclusiveMinimum: `formatExclusiveMaximum は真偽値である必要があります`,\n if: `パターンと一致する必要があります: \"{failingKeyword}\" `\n }\n },\n onboarding: {\n skip: `スキップ`,\n prev: `前へ`,\n next: `次`,\n done: `できた`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'sl-SI',\n exception: {\n 403: `Žal nimate dostopa do te strani`,\n 404: `Žal stran, ki ste jo obiskali, ne obstaja`,\n 500: `Žal strežnik poroča o napaki`,\n backToHome: 'Nazaj domov'\n },\n noticeIcon: {\n emptyText: 'Ni podatkov',\n clearText: 'Počisti'\n },\n reuseTab: {\n close: 'Zapri zavihek',\n closeOther: 'Zaprite druge zavihke',\n closeRight: 'Zaprite zavihke na desni'\n },\n tagSelect: {\n expand: 'Razširi',\n collapse: 'Strni'\n },\n miniProgress: {\n target: 'Cilj: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} of {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reset'\n },\n sf: {\n submit: 'Pošlji',\n reset: 'Reset',\n search: 'Išči',\n edit: 'Shrani',\n addText: 'Dodaj',\n removeText: 'Odstrani',\n checkAllText: 'Preveri vse',\n error: {\n 'false schema': `Boolova shema je napačna`,\n $ref: `Referenc ni mogoče razrešiti {ref}`,\n additionalItems: `Ne sme imeti več kot {limit} artiklov`,\n additionalProperties: `Ne bi smel imeti dodatnih lastnosti`,\n anyOf: `Se mora ujemati s shemo v \"anyOf\"`,\n dependencies: `mora imeti lastnosti {deps} ko je artikel {property} prisoten`,\n enum: `Mora biti enaka eni od vnaprej določenih vrednosti`,\n format: `Naj ustreza formatu \"{format}\"`,\n type: `Naj bo {type}`,\n required: `Zahtevano`,\n maxLength: `Ne sme biti daljši od {limit} znakov`,\n minLength: `Ne sme biti krajši od {limit} znakov`,\n minimum: `Naj bo {comparison} {limit}`,\n formatMinimum: `Naj bo {comparison} {limit}`,\n maximum: `Naj bo {comparison} {limit}`,\n formatMaximum: `Naj bo {comparison} {limit}`,\n maxItems: `Ne sme imeti več kot {limit} artiklov`,\n minItems: `Ne sme imeti manj kot {limit} artiklov`,\n maxProperties: `Ne sme imeti več kot {limit} lastnosti`,\n minProperties: `Ne sme imeti manj kot {limit} lastnosti`,\n multipleOf: `Mora biti večkratnik od {multipleOf}`,\n not: `Ne sme biti veljaven po shemi v \"not\"`,\n oneOf: `Naj ustreza natančno eni shemi v \"oneOf\"`,\n pattern: `Naj se ujema z vzorcem \"{pattern}\"`,\n uniqueItems: `Ne bi smel imeti dvojnikov (items ## {j} in {i} so identični)`,\n custom: `Naj ustreza formatu`,\n propertyNames: `Ime artikla \"{propertyName}\" je neveljavno`,\n patternRequired: `Mora imeti vzorec ujemanja lastnosti \"{missingPattern}\"`,\n switch: `Mora prestati \"switch\" validacijo ključne besede, primer {caseIndex} ne uspe`,\n const: `Naj bo enako konstanti`,\n contains: `Naj vsebuje veljaven artikel`,\n formatExclusiveMaximum: `formatExclusiveMaximum naj bo boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum naj bo boolean`,\n if: `Naj se ujema s shemo \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Preskoči`,\n prev: `Prejšnje`,\n next: `Naslednji`,\n done: `Končano`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'fr-FR',\n exception: {\n 403: `Désolé, vous n'avez pas accès à cette page`,\n 404: `Désolé, la page que vous avez visitée n'existe pas`,\n 500: `Désolé, le serveur signale une erreur`,\n backToHome: \"Retour à l'accueil\"\n },\n noticeIcon: {\n emptyText: 'Pas de données',\n clearText: 'Effacer'\n },\n reuseTab: {\n close: \"Fermer l'onglet\",\n closeOther: 'Fermer les autres onglets',\n closeRight: 'Fermer les onglets à droite',\n refresh: 'Rafraîchir'\n },\n tagSelect: {\n expand: 'Etendre',\n collapse: 'Effondrer'\n },\n miniProgress: {\n target: 'Cible: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} de {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser'\n },\n sf: {\n submit: 'Soumettre',\n reset: 'Réinitialiser',\n search: 'Rechercher',\n edit: 'Sauvegarder',\n addText: 'Ajouter',\n removeText: 'Supprimer',\n checkAllText: 'Cochez toutes',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Passer`,\n prev: `Précédent`,\n next: `Suivant`,\n done: `Terminé`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'es-ES',\n exception: {\n 403: `Lo sentimos, no tiene acceso a esta página`,\n 404: `Lo sentimos, la página que ha visitado no existe`,\n 500: `Lo siento, error interno del servidor `,\n backToHome: 'Volver a la página de inicio'\n },\n noticeIcon: {\n emptyText: 'No hay datos',\n clearText: 'Limpiar'\n },\n reuseTab: {\n close: 'Cerrar pestaña',\n closeOther: 'Cerrar otras pestañas',\n closeRight: 'Cerrar pestañas a la derecha',\n refresh: 'Actualizar'\n },\n tagSelect: {\n expand: 'Expandir',\n collapse: 'Ocultar'\n },\n miniProgress: {\n target: 'Target: '\n },\n st: {\n total: '{{rango[0]}} - {{rango[1]}} de {{total}}',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar'\n },\n sf: {\n submit: 'Submit',\n reset: 'Reiniciar',\n search: 'Buscar',\n edit: 'Guardar',\n addText: 'Añadir',\n removeText: 'Eliminar',\n checkAllText: 'Comprobar todo',\n error: {\n 'false schema': `Boolean schema is false`,\n $ref: `Can't resolve reference {ref}`,\n additionalItems: `Should not have more than {limit} item`,\n additionalProperties: `Should not have additional properties`,\n anyOf: `Should match some schema in \"anyOf\"`,\n dependencies: `should have property {deps} when property {property} is present`,\n enum: `Should be equal to one of predefined values`,\n format: `Should match format \"{format}\"`,\n type: `Should be {type}`,\n required: `Required`,\n maxLength: `Should not be longer than {limit} character`,\n minLength: `Should not be shorter than {limit} character`,\n minimum: `Should be {comparison} {limit}`,\n formatMinimum: `Should be {comparison} {limit}`,\n maximum: `Should be {comparison} {limit}`,\n formatMaximum: `Should be {comparison} {limit}`,\n maxItems: `Should not have more than {limit} item`,\n minItems: `Should not have less than {limit} item`,\n maxProperties: `Should not have more than {limit} property`,\n minProperties: `Should not have less than {limit} property`,\n multipleOf: `Should be a multiple of {multipleOf}`,\n not: `Should not be valid according to schema in \"not\"`,\n oneOf: `Should match exactly one schema in \"oneOf\"`,\n pattern: `Should match pattern \"{pattern}\"`,\n uniqueItems: `Should not have duplicate items (items ## {j} and {i} are identical)`,\n custom: `Should match format`,\n propertyNames: `Property name \"{propertyName}\" is invalid`,\n patternRequired: `Should have property matching pattern \"{missingPattern}\"`,\n switch: `Should pass \"switch\" keyword validation, case {caseIndex} fails`,\n const: `Should be equal to constant`,\n contains: `Should contain a valid item`,\n formatExclusiveMaximum: `formatExclusiveMaximum should be boolean`,\n formatExclusiveMinimum: `formatExclusiveMinimum should be boolean`,\n if: `Should match \"{failingKeyword}\" schema`\n }\n },\n onboarding: {\n skip: `Omitir`,\n prev: `Previo`,\n next: `Siguiente`,\n done: `Terminado`\n }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n abbr: 'it-IT',\n exception: {\n 403: `Spiacenti, non hai accesso a questa pagina`,\n 404: `Spiacenti, la pagina che hai visitato non esiste`,\n 500: `Spiacenti, il server sta riscontrando un errore`,\n backToHome: 'Torna alla Home'\n },\n noticeIcon: {\n emptyText: 'Nessun dato',\n clearText: 'Cancella memoria locale'\n },\n reuseTab: {\n close: 'Chiudi la scheda',\n closeOther: 'Chiudi le altre schede',\n closeRight: 'Chiudi le schede a destra',\n refresh: 'Aggiorna'\n },\n tagSelect: {\n expand: 'Espandi',\n collapse: 'Comprimi'\n },\n miniProgress: {\n target: 'Obiettivo: '\n },\n st: {\n total: '{{range[0]}} - {{range[1]}} di {{total}}',\n filterConfirm: 'OK',\n filterReset: 'Reimposta'\n },\n sf: {\n submit: 'Invia',\n reset: 'Reimposta',\n search: 'Cerca',\n edit: 'Salva',\n addText: 'Aggiungi',\n removeText: 'Rimuovi',\n checkAllText: 'Seleziona tutto',\n error: {\n 'false schema': `Lo schema booleano è falso`,\n $ref: `Impossibile risolvere il riferimento {ref}`,\n additionalItems: `Non deve avere più di {limit} elementi`,\n additionalProperties: `Non deve avere proprietà aggiuntive`,\n anyOf: `Deve corrispondere a uno schema in \"anyOf\"`,\n dependencies: `Deve avere una proprietà {deps} quando è presente la proprietà {property}`,\n enum: `Deve essere uguale a uno dei valori predefiniti`,\n format: `Deve corrispondere al formato \"{format}\"`,\n type: `Deve essere {type}`,\n required: `Obbligatorio`,\n maxLength: `Non deve essere superiore a {limit} caratteri`,\n minLength: `Non deve essere superiore a {limit} caratteri`,\n minimum: `Deve essere {comparison} {limit}`,\n formatMinimum: `Deve essere {comparison} {limit}`,\n maximum: `Deve essere {comparison} {limit}`,\n formatMaximum: `Deve essere {comparison} {limit}`,\n maxItems: `Non deve avere più di {limit} elementi`,\n minItems: `Non deve avere meno di {limit} elementi`,\n maxProperties: `Non deve avere più di {limit} proprietà`,\n minProperties: `Non deve avere meno di {limit} proprietà`,\n multipleOf: `Deve essere un multiplo di {multipleOf}`,\n not: `Non deve essere valido secondo lo schema in \"not\"`,\n oneOf: `Deve corrispondere esattamente a uno schema in \"oneOf\"`,\n pattern: `Deve corrispondere al modello \"{pattern}\"`,\n uniqueItems: `Non deve avere elementi duplicati (gli elementi ## {j} e {i} sono identici)`,\n custom: `Deve corrispondere al formato \"{format}\"`,\n propertyNames: `Il nome della proprietà \"{propertyName}\" non è valido`,\n patternRequired: `Deve avere una proprietà corrispondete al modello \"{missingPattern}\"`,\n switch: `Deve superare la convalida della parola chiave \"switch\", il caso {caseIndex} non è riuscito`,\n const: `Deve essere uguale alla costante`,\n contains: `Deve contenere un elemento valido`,\n formatExclusiveMaximum: `formatExclusiveMaximum deve essere booleano`,\n formatExclusiveMinimum: `formatExclusiveMaximum deve essere booleano`,\n if: `Deve corrispondere allo schema \"{failingKeyword}\"`\n }\n },\n onboarding: {\n skip: `Salta`,\n prev: `Precedente`,\n next: `Successivo`,\n done: `Fatto`\n }\n} as FullLocaleData;\n","import { Injectable, TemplateRef, Type } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { ModalOptions, NzModalService } from 'ng-zorro-antd/modal';\n\nexport interface ModalHelperOptions {\n /** 大小;例如:lg、600,默认:`lg` */\n size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number;\n /** 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数 */\n modalOptions?: ModalOptions;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 是否包裹标签页,修复模态包含标签间距问题 */\n includeTabs?: boolean;\n}\n\n/**\n * 对话框辅助类\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalHelper {\n constructor(private srv: NzModalService) {}\n\n /**\n * 构建一个对话框\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.create(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n create(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'lg',\n exact: true,\n includeTabs: false\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, includeTabs, modalOptions } = options as ModalHelperOptions;\n let cls = '';\n let width = '';\n if (size) {\n if (typeof size === 'number') {\n width = `${size}px`;\n } else {\n cls = `modal-${size}`;\n }\n }\n if (includeTabs) {\n cls += ' modal-include-tabs';\n }\n if (modalOptions && modalOptions.nzWrapClassName) {\n cls += ` ${modalOptions.nzWrapClassName}`;\n delete modalOptions.nzWrapClassName;\n }\n const defaultOptions: ModalOptions = {\n nzWrapClassName: cls,\n nzContent: comp,\n nzWidth: width ? width : undefined,\n nzFooter: null,\n nzComponentParams: params\n };\n const subject = this.srv.create({ ...defaultOptions, ...modalOptions });\n const afterClose$ = subject.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n });\n });\n }\n\n /**\n * 构建静态框,点击蒙层不允许关闭\n *\n * @param comp 组件\n * @param params 组件参数\n * @param options 额外参数\n *\n * @example\n * this.modalHelper.open(FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名\n * this.nzModalRef.close(data);\n * this.nzModalRef.close();\n * // 关闭\n * this.nzModalRef.destroy();\n */\n createStatic(\n comp: TemplateRef<NzSafeAny> | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: ModalHelperOptions\n ): Observable<NzSafeAny> {\n const modalOptions = {\n nzMaskClosable: false,\n ...(options && options.modalOptions)\n };\n return this.create(comp, params, { ...options, modalOptions });\n }\n}\n","import { Injectable, TemplateRef, Type } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerOptions, NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';\n\nexport interface DrawerHelperOptions {\n /**\n * 大小,若值为数值类型,则根据 `nzPlacement` 自动转化为 `nzHeight` 或 `nzWidth`;例如:lg、600,默认:`md`\n *\n * | 类型 | 默认大小 |\n * | --- | ------ |\n * | `sm` | `300` |\n * | `md` | `600` |\n * | `lg` | `900` |\n * | `xl` | `1200` |\n *\n * > 以上值,可通过覆盖相应的LESS参数自行调整\n */\n size?: 'sm' | 'md' | 'lg' | 'xl' | number;\n /**\n * 是否包含底部工具条,默认:`true`\n */\n footer?: boolean;\n /**\n * 底部工具条高度,默认:`55`\n */\n footerHeight?: number;\n /** 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误 */\n exact?: boolean;\n /** 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数 */\n drawerOptions?: NzDrawerOptions;\n}\n\n/**\n * 抽屉辅助类\n *\n * **注意:** 构建结果都可被订阅,但永远都不会触发 `observer.error`\n *\n * @example\n * this.drawerHelper.create('Edit', FormEditComponent, { i }).subscribe(res => this.load());\n * // 对于组件的成功&关闭的处理说明\n * // 成功\n * this.NzDrawerRef.close(data);\n * this.NzDrawerRef.close(true);\n * // 关闭\n * this.NzDrawerRef.close();\n * this.NzDrawerRef.close(false);\n */\n@Injectable({ providedIn: 'root' })\nexport class DrawerHelper {\n constructor(private srv: NzDrawerService) {}\n\n /**\n * 构建一个抽屉\n */\n create(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n options = deepMerge(\n {\n size: 'md',\n footer: true,\n footerHeight: 50,\n exact: true,\n drawerOptions: {\n nzPlacement: 'right',\n nzWrapClassName: ''\n }\n },\n options\n );\n return new Observable((observer: Observer<NzSafeAny>) => {\n const { size, footer, footerHeight, drawerOptions } = options as DrawerHelperOptions;\n const defaultOptions: NzDrawerOptions = {\n nzContent: comp,\n nzContentParams: params,\n nzTitle: title as NzSafeAny\n };\n\n if (typeof size === 'number') {\n defaultOptions[\n drawerOptions!.nzPlacement === 'top' || drawerOptions!.nzPlacement === 'bottom' ? 'nzHeight' : 'nzWidth'\n ] = options!.size;\n } else if (!drawerOptions!.nzWidth) {\n defaultOptions.nzWrapClassName = `${drawerOptions!.nzWrapClassName} drawer-${options!.size}`.trim();\n delete drawerOptions!.nzWrapClassName;\n }\n\n if (footer) {\n // The 24 value is @drawer-body-padding\n defaultOptions.nzBodyStyle = {\n 'padding-bottom.px': footerHeight! + 24\n };\n }\n\n const subject = this.srv.create({ ...defaultOptions, ...drawerOptions });\n const afterClose$ = subject.afterClose.subscribe((res: NzSafeAny) => {\n if (options!.exact === true) {\n if (res != null) {\n observer.next(res);\n }\n } else {\n observer.next(res);\n }\n observer.complete();\n afterClose$.unsubscribe();\n });\n });\n }\n\n /**\n * 构建一个抽屉,点击蒙层不允许关闭\n */\n static(\n title: string | TemplateRef<NzSafeAny> | undefined | null,\n comp:\n | TemplateRef<{\n $implicit: NzSafeAny;\n drawerRef: NzDrawerRef;\n }>\n | Type<NzSafeAny>,\n params?: NzSafeAny,\n options?: DrawerHelperOptions\n ): Observable<NzSafeAny> {\n const drawerOptions = {\n nzMaskClosable: false,\n ...(options && options.drawerOptions)\n };\n return this.create(title, comp, params, { ...options, drawerOptions });\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { delay, finalize, switchMap, tap } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainThemeHttpClientConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type _HttpHeaders = HttpHeaders | { [header: string]: string | string[] };\nexport type HttpObserve = 'body' | 'events' | 'response';\n\n/**\n * 封装HttpClient,主要解决:\n * + 优化HttpClient在参数上便利性\n * + 统一实现 loading\n * + 统一处理时间格式问题\n */\n@Injectable({ providedIn: 'root' })\nexport class _HttpClient {\n private cog: AlainThemeHttpClientConfig;\n constructor(private http: HttpClient, cogSrv: AlainConfigService) {\n this.cog = cogSrv.merge('themeHttp', {\n nullValueHandling: 'include',\n dateValueHandling: 'timestamp'\n })!;\n }\n\n private lc = 0;\n\n /**\n * Get whether it's loading\n *\n * 获取是否正在加载中\n */\n get loading(): boolean {\n return this.lc > 0;\n }\n\n /**\n * Get the currently loading count\n *\n * 获取当前加载中的数量\n */\n get loadingCount(): number {\n return this.lc;\n }\n\n parseParams(params: NzSafeAny): HttpParams {\n const newParams: NzSafeAny = {};\n if (params instanceof HttpParams) {\n return params;\n }\n\n Object.keys(params).forEach(key => {\n let _data = params[key];\n // 忽略空值\n if (this.cog.nullValueHandling === 'ignore' && _data == null) return;\n // 将时间转化为:时间戳 (秒)\n if (this.cog.dateValueHandling === 'timestamp' && _data instanceof Date) {\n _data = _data.valueOf();\n }\n newParams[key] = _data;\n });\n return new HttpParams({ fromObject: newParams });\n }\n\n appliedUrl(url: string, params?: NzSafeAny): string {\n if (!params) return url;\n url += ~url.indexOf('?') ? '' : '?';\n const arr: string[] = [];\n Object.keys(params).forEach(key => {\n arr.push(`${key}=${params[key]}`);\n });\n return url + arr.join('&');\n }\n\n private setCount(count: number): void {\n Promise.resolve(null).then(() => (this.lc = count <= 0 ? 0 : count));\n }\n\n private push(): void {\n this.setCount(++this.lc);\n }\n\n private pop(): void {\n this.setCount(--this.lc);\n }\n\n /**\n * Clean loading count\n *\n * 清空加载中\n */\n cleanLoading(): void {\n this.setCount(0);\n }\n\n // #region get\n\n /**\n * **GET Request** Return a `string` type / 返回一个 `string` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **GET Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **GET Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **GET Request** Return a `HttpResponse<T>` type / 返回一个 `HttpResponse<T>` 类型\n */\n get<T>(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<T>>;\n\n /**\n * **GET Request** Return a `any` type / 返回一个 `any` 类型\n */\n get(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **GET Request** Return a generic type / 返回一个泛类型\n */\n get<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'body';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n get(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('GET', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region post\n\n /**\n * **POST Request** Return a `string` type / 返回一个 `string` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **POST Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n post<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **POST Request** Return a `HttpResponse<any>` type / 返回一个 `HttpResponse<any>` 类型\n */\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **POST Request** Return a `any` type / 返回一个 `any` 类型\n */\n post(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **POST Request** Return a JSON type / 返回一个 `JSON` 类型\n */\n post<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n post(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region delete\n\n /**\n * **DELETE Request** Return a `string` type / 返回一个 `string` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **DELETE Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **DELETE Request** Return a `any` type / 返回一个 `any` 类型\n */\n delete(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * c返回一个泛类型\n */\n delete<T>(\n url: string,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n delete(\n url: string,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('DELETE', url, {\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region jsonp\n\n /**\n * **JSONP Request**\n *\n * @param callbackParam CALLBACK值,默认:JSONP_CALLBACK\n */\n jsonp(url: string, params?: any, callbackParam: string = 'JSONP_CALLBACK'): Observable<any> {\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.jsonp(this.appliedUrl(url, params), callbackParam)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n\n // #region patch\n\n /**\n * **PATCH Request** Return a `string` type / 返回一个 `string` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PATCH Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PATCH Request** Return a `any` type / 返回一个 `any` 类型\n */\n patch(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PATCH Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n patch<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n patch(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PATCH', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region put\n\n /**\n * **PUT Request** Return a `string` type / 返回一个 `string` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **PUT Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **PUT Request** Return a `any` type / 返回一个 `any` 类型\n */\n put(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **PUT Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n put<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n put(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('PUT', url, {\n body,\n params,\n ...options\n });\n }\n\n // #endregion\n\n // #region form\n\n /**\n * **Form Request** Return a `string` type / 返回一个 `string` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Form Request** Return a `HttpEvent<T>` type / 返回一个 `HttpEvent<T>` 类型\n */\n form<T>(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'events';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<T>>;\n\n /**\n * **Form Request** Return a `HttpResponse<JSON>` type / 返回一个 `HttpResponse<JSON>` 类型\n */\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<any>>;\n\n /**\n * **Form Request** Return a `any` type / 返回一个 `any` 类型\n */\n form(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n /**\n * **Form Request** Return a `JSON` type / 返回一个 `JSON` 类型\n */\n form<T>(\n url: string,\n body?: any,\n params?: any,\n options?: {\n headers?: _HttpHeaders;\n observe: 'response';\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<T>;\n\n form(\n url: string,\n body: any,\n params: any,\n options: {\n headers?: _HttpHeaders;\n observe?: 'body' | 'events' | 'response';\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n return this.request('POST', url, {\n body,\n params,\n ...options,\n headers: {\n 'content-type': `application/x-www-form-urlencoded`\n }\n });\n }\n\n // #endregion\n\n // #region request\n\n /**\n * **Request** Return a `ArrayBuffer` type / 返回一个 `ArrayBuffer` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<ArrayBuffer>;\n\n /**\n * **Request** Return a `Blob` type / 返回一个 `Blob` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Blob>;\n\n /**\n * **Request** Return a `string` type / 返回一个 `string` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<string>;\n\n /**\n * **Request** Return a `HttpEvent<ArrayBuffer>` type / 返回一个 `HttpEvent<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpEvent<Blob>` type / 返回一个 `HttpEvent<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<Blob>>;\n\n /**\n * **Request** Return a `HttpEvent<string>` type / 返回一个 `HttpEvent<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'events';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<string>>;\n\n /**\n * **Request** Return a `HttpEvent<any>` type / 返回一个 `HttpEvent<any>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<any>>;\n\n /**\n * **Request** Return a `HttpEvent<R>` type / 返回一个 `HttpEvent<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'events';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpEvent<R>>;\n\n /**\n * **Request** Return a `HttpResponse<ArrayBuffer>` type / 返回一个 `HttpResponse<ArrayBuffer>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'arraybuffer';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<ArrayBuffer>>;\n\n /**\n * **Request** Return a `HttpResponse<Blob>` type / 返回一个 `HttpResponse<Blob>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'blob';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<Blob>>;\n\n /**\n * **Request** Return a `HttpResponse<string>` type / 返回一个 `HttpResponse<string>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe: 'response';\n reportProgress?: boolean;\n responseType: 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<string>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<NzSafeAny>>;\n\n /**\n * **Request** Return a `HttpResponse<R>` type / 返回一个 `HttpResponse<R>` 类型\n */\n request<R>(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n reportProgress?: boolean;\n observe: 'response';\n responseType?: 'json';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<HttpResponse<R>>;\n\n /**\n * **Request** Return a `HttpResponse<Object>` type / 返回一个 `HttpResponse<Object>` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<Record<string, unknown>>;\n\n /**\n * **Request** Return a `R` type / 返回一个 `R` 类型\n */\n request<R>(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: 'body';\n responseType?: 'json';\n reportProgress?: boolean;\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<R>;\n\n /**\n * **Request** Return a `any` type / 返回一个 `any` 类型\n */\n request(\n method: string,\n url: string,\n options?: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n }\n ): Observable<any>;\n\n request(\n method: string,\n url: string,\n options: {\n body?: any;\n headers?: _HttpHeaders;\n params?: any;\n observe?: HttpObserve;\n reportProgress?: boolean;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n context?: HttpContext;\n } = {}\n ): Observable<any> {\n if (options.params) options.params = this.parseParams(options.params);\n return of(null).pipe(\n // Make sure to always be asynchronous, see issues: https://github.com/ng-alain/ng-alain/issues/1954\n delay(0),\n tap(() => this.push()),\n switchMap(() => this.http.request(method, url, options)),\n finalize(() => this.pop())\n );\n }\n\n // #endregion\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable, Injector } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { _HttpClient } from './http.client';\n\n/**\n * Every http decorator must be based on `BaseAPI`, Like this:\n * ```ts\n * \\@Injectable()\n * class DataService extends BaseApi {}\n * ```\n */\n@Injectable()\nexport abstract class BaseApi {\n constructor(@Inject(Injector) protected injector: Injector) {}\n}\n\nexport interface HttpOptions {\n /** ACL配置,若导入 `@delon/acl` 时自动有效,等同于 `ACLService.can(roleOrAbility: ACLCanType)` 参数值 */\n acl?: any;\n observe?: 'body' | 'events' | 'response';\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n reportProgress?: boolean;\n withCredentials?: boolean;\n}\n\ninterface ParamType {\n key: string;\n index: number;\n [key: string]: any;\n [key: number]: any;\n}\n\nconst paramKey = `__api_params`;\n\nfunction setParam(target: any, key: string = paramKey): any {\n let params = target[key];\n if (typeof params === 'undefined') {\n params = target[key] = {};\n }\n return params;\n}\n\n/**\n * 默认基准URL\n * - 有效范围:类\n */\nexport function BaseUrl(url: string) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseUrl = url;\n return target;\n };\n}\n\n/**\n * 默认 `headers`\n * - 有效范围:类\n */\nexport function BaseHeaders(\n headers:\n | HttpHeaders\n | {\n [header: string]: string | string[];\n }\n) {\n return function <TClass extends new (...args: any[]) => BaseApi>(target: TClass): TClass {\n const params = setParam(target.prototype);\n params.baseHeaders = headers;\n return target;\n };\n}\n\nfunction makeParam(paramName: string) {\n return function (key?: string) {\n return function (target: BaseApi, propertyKey: string, index: number) {\n const params = setParam(setParam(target), propertyKey);\n let tParams = params[paramName];\n if (typeof tParams === 'undefined') {\n tParams = params[paramName] = [];\n }\n tParams.push({\n key,\n index\n });\n };\n };\n}\n\n/**\n * URL路由参数\n * - 有效范围:方法参数\n */\nexport const Path = makeParam('path');\n\n/**\n * URL 参数 `QueryString`\n * - 有效范围:方法参数\n */\nexport const Query = makeParam('query');\n\n/**\n * 参数 `Body`\n * - 有效范围:方法参数\n */\nexport const Body = makeParam('body')();\n\n/**\n * 参数 `headers`\n * - 有效范围:方法参数\n * - 合并 `BaseHeaders`\n */\nexport const Headers = makeParam('headers');\n\n/**\n * Request Payload\n * - Supported body (like`POST`, `PUT`) as a body data, equivalent to `@Body`\n * - Not supported body (like `GET`, `DELETE` etc) as a `QueryString`\n */\nexport const Payload = makeParam('payload')();\n\nfunction getValidArgs(data: any, key: string, args: any[]): NzSafeAny {\n if (!data[key] || !Array.isArray(data[key]) || data[key].length <= 0) {\n return undefined;\n }\n return args[data[key][0].index];\n}\n\nfunction genBody(data?: any, payload?: any): any {\n if (Array.isArray(data) || Array.isArray(payload)) {\n return Object.assign([], data, payload);\n }\n return { ...data, ...payload };\n}\n\nexport type METHOD_TYPE = 'OPTIONS' | 'GET' | 'POST' | 'DELETE' | 'PUT' | 'HEAD' | 'PATCH' | 'JSONP' | 'FORM';\n\nfunction makeMethod(method: METHOD_TYPE) {\n return function (url: string = '', options?: HttpOptions) {\n return (_target: BaseApi, targetKey?: string, descriptor?: PropertyDescriptor) => {\n descriptor!.value = function (...args: any[]): Observable<any> {\n options = options || {};\n\n const injector = (this as NzSafeAny).injector as Injector;\n const http = injector.get(_HttpClient, null) as _HttpClient;\n if (http == null) {\n throw new TypeError(\n `Not found '_HttpClient', You can import 'AlainThemeModule' && 'HttpClientModule' in your root module.`\n );\n }\n\n const baseData = setParam(this);\n const data = setParam(baseData, targetKey);\n\n let requestUrl = url || '';\n requestUrl = [baseData.baseUrl || '', requestUrl.startsWith('/') ? requestUrl.substr(1) : requestUrl].join('/');\n // fix last split\n if (requestUrl.length > 1 && requestUrl.endsWith('/')) {\n requestUrl = requestUrl.substr(0, requestUrl.length - 1);\n }\n\n if (options.acl) {\n const aclSrv = injector.get(ACLService, null);\n if (aclSrv && !aclSrv.can(options.acl)) {\n return throwError({\n url: requestUrl,\n status: 401,\n statusText: `From Http Decorator`\n });\n }\n delete options.acl;\n }\n\n requestUrl = requestUrl.replace(/::/g, '^^');\n ((data.path as ParamType[]) || [])\n .filter(w => typeof args[w.index] !== 'undefined')\n .forEach((i: ParamType) => {\n requestUrl = requestUrl.replace(new RegExp(`:${i.key}`, 'g'), encodeURIComponent(args[i.index]));\n });\n requestUrl = requestUrl.replace(/\\^\\^/g, `:`);\n\n const params = (data.query || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n const headers = (data.headers || []).reduce((p: NzSafeAny, i: ParamType) => {\n p[i.key] = args[i.index];\n return p;\n }, {});\n\n if (method === 'FORM') {\n headers['content-type'] = 'application/x-www-form-urlencoded';\n }\n\n const payload = getValidArgs(data, 'payload', args);\n const supportedBody = method === 'POST' || method === 'PUT';\n\n return http.request(method, requestUrl, {\n body: supportedBody ? genBody(getValidArgs(data, 'body', args), payload) : null,\n params: !supportedBody ? { ...params, ...payload } : params,\n headers: { ...baseData.baseHeaders, ...headers },\n ...options\n });\n };\n\n return descriptor;\n };\n };\n}\n\n/**\n * `OPTIONS` 请求\n * - 有效范围:方法\n */\nexport const OPTIONS = makeMethod('OPTIONS');\n\n/**\n * `GET` 请求\n * - 有效范围:方法\n */\nexport const GET = makeMethod('GET');\n\n/**\n * `POST` 请求\n * - 有效范围:方法\n */\nexport const POST = makeMethod('POST');\n\n/**\n * `DELETE` 请求\n * - 有效范围:方法\n */\nexport const DELETE = makeMethod('DELETE');\n\n/**\n * `PUT` 请求\n * - 有效范围:方法\n */\nexport const PUT = makeMethod('PUT');\n\n/**\n * `HEAD` 请求\n * - 有效范围:方法\n */\nexport const HEAD = makeMethod('HEAD');\n\n/**\n * `PATCH` 请求\n * - 有效范围:方法\n */\nexport const PATCH = makeMethod('PATCH');\n\n/**\n * `JSONP` 请求\n * - 有效范围:方法\n */\nexport const JSONP = makeMethod('JSONP');\n\n/**\n * `FORM` 请求\n * - 有效范围:方法\n */\nexport const FORM = makeMethod('FORM');\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { format, formatDistanceToNow } from 'date-fns';\n\nimport { toDate } from '@delon/util/date-time';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\n@Pipe({ name: '_date' })\nexport class DatePipe implements PipeTransform {\n constructor(private nzI18n: NzI18nService) {}\n\n transform(value: Date | string | number, formatString: string = 'yyyy-MM-dd HH:mm'): string {\n value = toDate(value);\n if (isNaN(value as NzSafeAny)) return '';\n\n const langOpt = { locale: this.nzI18n.getDateLocale() };\n return formatString === 'fn' ? formatDistanceToNow(value, langOpt) : format(value, formatString, langOpt);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * [Document](https://ng-alain.com/theme/keys)\n */\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(value: NzSafeAny, keyIsNumber: boolean = false): NzSafeAny[] {\n const ret: NzSafeAny[] = [];\n Object.keys(value).forEach(key => {\n ret.push({ key: keyIsNumber ? +key : key, value: value[key] });\n });\n return ret;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type YNMode = 'full' | 'icon' | 'text';\n\nconst ICON_YES = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"></path></svg>`;\nconst ICON_NO = `<svg viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg>`;\nconst CLS_YES = `class=\"yn__yes\"`;\nconst CLS_NO = `class=\"yn__no\"`;\n\n@Pipe({ name: 'yn' })\nexport class YNPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(value: boolean, yes?: string, no?: string, mode?: YNMode, isSafeHtml: boolean = true): SafeHtml {\n let html = '';\n yes = yes || '是';\n no = no || '否';\n switch (mode) {\n case 'full':\n html = value\n ? `<i ${CLS_YES}>${ICON_YES}<span>${yes}</span></i>`\n : `<i ${CLS_NO}>${ICON_NO}<span>${no}</span></i>`;\n break;\n case 'text':\n html = value ? `<i ${CLS_YES}>${yes}</i>` : `<i ${CLS_NO}>${no}</i>`;\n break;\n default:\n html = value ? `<i ${CLS_YES} title=\"${yes}\">${ICON_YES}</i>` : `<i ${CLS_NO} title=\"${no}\">${ICON_NO}</i>`;\n break;\n }\n return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({ name: 'html' })\nexport class HTMLPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(html: string): string | SafeHtml {\n return html ? this.dom.bypassSecurityTrustHtml(html) : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({ name: 'url' })\nexport class URLPipe implements PipeTransform {\n constructor(private dom: DomSanitizer) {}\n\n transform(url: string): string | SafeUrl {\n return url ? this.dom.bypassSecurityTrustUrl(url) : '';\n }\n}\n","import { Inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from './i18n';\n\n@Pipe({ name: 'i18n' })\nexport class I18nPipe implements PipeTransform {\n constructor(@Inject(ALAIN_I18N_TOKEN) private i18n: AlainI18NService) {}\n\n transform(key: string, params?: Record<string, unknown>): string {\n return this.i18n.fanyi(key, params);\n }\n}\n","/* eslint-disable import/order */\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n// #region import\n\nconst HELPERS = [ModalHelper, DrawerHelper];\n\n// pipes\nimport { BellOutline, DeleteOutline, InboxOutline, PlusOutline } from '@ant-design/icons-angular/icons';\n\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { DelonLocaleModule } from './locale/locale.module';\nimport { DatePipe } from './pipes/date/date.pipe';\nimport { KeysPipe } from './pipes/keys/keys.pipe';\nimport { HTMLPipe } from './pipes/safe/html.pipe';\nimport { URLPipe } from './pipes/safe/url.pipe';\nimport { YNPipe } from './pipes/yn/yn.pipe';\nimport { I18nPipe } from './services/i18n/i18n.pipe';\nconst PIPES = [DatePipe, KeysPipe, YNPipe, I18nPipe, HTMLPipe, URLPipe];\n\n// #endregion\n\n// #region all delon used icons\n\n// - zorro: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/icon/icons.ts\n\nimport { DrawerHelper } from './services/drawer/drawer.helper';\nimport { ModalHelper } from './services/modal/modal.helper';\nimport { ALAIN_SETTING_KEYS } from './services/settings/settings.service';\nconst ICONS = [BellOutline, DeleteOutline, PlusOutline, InboxOutline];\n\n// #endregion\n\n@NgModule({\n imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule],\n declarations: [...PIPES],\n providers: [\n {\n provide: ALAIN_SETTING_KEYS,\n useValue: {\n layout: 'layout',\n user: 'user',\n app: 'app'\n }\n }\n ],\n exports: [...PIPES, DelonLocaleModule]\n})\nexport class AlainThemeModule {\n constructor(iconSrv: NzIconService) {\n iconSrv.addIcon(...ICONS);\n }\n\n static forRoot(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: [...HELPERS]\n };\n }\n\n static forChild(): ModuleWithProviders<AlainThemeModule> {\n return {\n ngModule: AlainThemeModule,\n providers: [...HELPERS]\n };\n }\n}\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * Optional pre-loading module, when it's necessary to load the resource at the first page load for some lazy routes, [example](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts).\n *\n * 可选预加载模块,当需要对某些懒路由在第一次页面加载时也一并加载该资源时,[示例](https://github.com/ng-alain/ng-alain/blob/master/src/app/routes/routes-routing.module.ts)。\n *\n * @example\n * {AT}NgModule({\n * providers: [PreloadOptionalModules],\n * imports: [\n * RouterModule.forRoot([\n * { path: '', loadChildren: null, data: { preload: true } }\n * ], { preloadingStrategy: PreloadOptionalModules})]\n * })\n */\nexport class PreloadOptionalModules implements PreloadingStrategy {\n preload(route: Route, fn: () => Observable<NzSafeAny>): Observable<NzSafeAny> {\n return route.data?.preload === true ? fn().pipe(catchError(() => of(null))) : of(null);\n }\n}\n","import { Version } from '@angular/core';\n\nexport const VERSION = new Version('12.4.2');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {I18nPipe as ɵa} from './src/services/i18n/i18n.pipe';"],"names":["InjectionToken","inject","AlainConfigService","BehaviorSubject","filter","Injectable","share","Optional","Inject","ACLService","Subject","Platform","map","Directionality","NzConfigService","DOCUMENT","ActivatedRoute","Router","Injector","Title","SkipSelf","NgModule","deepMerge","Observable","NzModalService","NzDrawerService","HttpParams","of","delay","tap","switchMap","finalize","HttpClient","throwError","toDate","formatDistanceToNow","format","Pipe","NzI18nService","DomSanitizer","BellOutline","DeleteOutline","PlusOutline","InboxOutline","CommonModule","RouterModule","OverlayModule","NzI18nModule","NzIconService","catchError","Version"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAEgB,iBAAiB;QAC/B,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAE,CAAC;QAC7C,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC;QAExD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/B,SAAS,MAAM;;YAEb,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE;gBAC1C,SAAS,CAAC,SAAS,GAAG,kBAAkB,CAAC;aAC1C,CAAC,CAAC;YAEH,SAAS,CAAC,SAAS,IAAI,mDAAmD,CAAC;SAC5E;QAEA,MAAoB,CAAC,YAAY,GAAG;YACnC,UAAU,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;aAC1B,EAAE,GAAG,CAAC,CAAC;SACT,CAAC;IACJ;;ICxBA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;QCpLa,gBAAgB,GAAG,IAAIA,iBAAc,CAAmB,gBAAgB,EAAE;QACrF,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,cAAM,OAAA,IAAI,oBAAoB,CAACC,SAAM,CAACC,qBAAkB,CAAC,CAAC,GAAA;KACpE,EAAE;;QAsBD,8BAAY,MAA0B;YAjB5B,aAAQ,GAAG,IAAIC,oBAAe,CAAgB,IAAI,CAAC,CAAC;YACpD,iBAAY,GAAW,EAAE,CAAC;YAC1B,iBAAY,GAAW,EAAE,CAAC;YAC1B,UAAK,GAA2B,EAAE,CAAC;YAe3C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;gBACnC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aAC5B,CAAE,CAAC;SACL;QAjBD,sBAAI,wCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAACC,gBAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,IAAI,GAAA,CAAC,CAAuB,CAAC;aACxF;;;WAAA;QACD,sBAAI,6CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;WAAA;QACD,sBAAI,6CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;;;WAAA;QACD,sBAAI,sCAAI;iBAAR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;;;WAAA;;;;;;;;;;;;;;;;;;;QA0BD,uCAAQ,GAAR,UAAS,IAA6B,EAAE,SAAmB;;YACzD,IAAM,GAAG,GAA2B,EAAE,CAAC;oCAC5B,GAAG;gBACZ,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,IAAM,OAAK,GAAG,OAAK,QAAQ,CAAC,KAAgC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrF,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC,OAAO,CAAC,UAAA,QAAQ,IAAI,QAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAK,CAAC,QAAQ,CAAC,IAAC,CAAC,CAAC;iBAC3E;qBAAM;oBACL,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAG,KAAO,CAAC;iBACvE;;;;gBAPH,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,gBAAA;oBAA9B,IAAM,GAAG,WAAA;4BAAH,GAAG;iBAQb;;;;;;;;;YACD,OAAO,GAAG,CAAC;SACZ;QAMD,oCAAK,GAAL,UAAM,IAAY,EAAE,MAAgC;YAClD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE1B,IAAI,MAAM,EAAE;gBACV,IAAM,eAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAe,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CACzB,UAAA,GAAG,IACD,QAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,IAAI,MAAM,CAAI,eAAa,CAAC,CAAC,CAAC,UAAM,GAAG,UAAM,eAAa,CAAC,CAAC,CAAG,EAAE,GAAG,CAAC,EACrE,KAAG,MAAM,CAAC,GAAG,CAAG,CACjB,IAAC,CACL,CAAC;aACH;YACD,OAAO,OAAO,CAAC;SAChB;;;;gBA7EFC,aAAU;;;gBA3DFH,qBAAkB;;;QA4Ie,wCAAoB;QAA9D;;;QACE,kCAAG,GAAH,UAAI,IAAY,EAAE,IAA6B;YAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,uCAAQ,GAAR;YACE,OAAO,EAAE,CAAC;SACX;;KATH,CAA0C,oBAAoB;;;gBAD7DG,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ICrIlC;;;;QAUE,qBAGU,OAAyB,EACb,UAAsB;YAJ5C,iBAOC;YAJS,YAAO,GAAP,OAAO,CAAkB;YACb,eAAU,GAAV,UAAU,CAAY;YATpC,aAAQ,GAA4B,IAAIF,oBAAe,CAAS,EAAE,CAAC,CAAC;YAGpE,SAAI,GAAW,EAAE,CAAC;YAQxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,MAAM,EAAE,GAAA,CAAC,CAAC;SACjE;QAED,sBAAI,+BAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACG,eAAK,EAAE,CAAC,CAAC;aACpC;;;WAAA;QAED,2BAAK,GAAL,UAAM,IAAY,EAAE,QAAwE;YAC1F,IAAM,IAAI,GAAG,UAAC,IAAY,EAAE,UAAuB,EAAE,KAAa;;;oBAChE,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;wBAApB,IAAM,IAAI,iBAAA;wBACb,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;wBAClC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;yBACtC;6BAAM;4BACL,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;yBACpB;qBACF;;;;;;;;;aACF,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACrB;QAED,yBAAG,GAAH,UAAI,KAAa;YACf,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QAEO,6BAAO,GAAP,UAAQ,IAAe;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;YAG/C,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;oBAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;iBAC5B;aACF;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACjC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;aACpB;;YAGD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACjC,IAAI,IAAI,GAAG,OAAO,CAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;;gBAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBAClC,IAAI,GAAG,MAAM,CAAC;oBACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7C;qBAAM,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACzC,IAAI,GAAG,KAAK,CAAC;iBACd;gBACD,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAe,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,IAAI,CAAC,IAAI,mBAAK,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,IAAM,IAAI,CAAC,IAAiB,CAAE,CAAC;aAC3E;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;;YAGlF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;;YAGlC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;;YAGpE,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;;YAG7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACtF;;;;QAKD,4BAAM,GAAN,UAAO,QAAyE;YAAhF,iBAmBC;YAlBC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAM,SAAS,GAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,IAAe,EAAE,MAAM,EAAE,KAAK;gBACnD,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;gBAGnB,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;oBACpE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtB;gBAED,IAAI,QAAQ;oBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aAC7C,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;;;;;QASO,kCAAY,GAAZ,UAAa,SAAsB;YACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,OAAO;aACR;YAED,IAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAuB,CAAC;YAChD,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,KAAK,IAAI,GAAA,CAAC,CAAC;YACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;gBACd,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAA,CAAC,CAAC;gBACvD,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAM,YAAY,GAAG;oBACnB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,EAAE;iBACA,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;aACrD;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5E,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC3B,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,CAAC,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,CAAC;aACG,CAAC,CAAC;YAChB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAA,CAAC;gBAC9B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACb,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;gBAClB,OAAO,CAAC,CAAC;aACV,CAAC,CAAC;SACJ;QAED,sBAAI,8BAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;;;WAAA;;;;QAKD,2BAAK,GAAL;YACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;QAED,4BAAM,GAAN,UAAO,IAAY,EAAE,GAAW,EAAE,SAA0B,EAAE,EAAqC;YAAjE,0BAAA,EAAA,iBAA0B;YAAE,mBAAA,EAAA,SAAqC;YACjG,IAAI,IAAI,GAAgB,IAAI,CAAC;YAE7B,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAA,CAAC;oBAChB,IAAI,EAAE,EAAE;wBACN,EAAE,CAAC,CAAC,CAAC,CAAC;qBACP;oBACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE;wBACpC,IAAI,GAAG,CAAC,CAAC;qBACV;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS;oBAAE,MAAM;gBAEtB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACrB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7B;qBAAM;oBACL,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;YAED,OAAO,IAAI,CAAC;SACb;;;;;;QAOD,iCAAW,GAAX,UAAY,GAAkB,EAAE,SAA0B;YAA1B,0BAAA,EAAA,iBAA0B;YACxD,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEjB,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,UAAC,CAAY;gBACjE,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;aACjB,CAAc,CAAC;YAChB,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO;YAE7B,GAAG;gBACD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBACtB,QAAQ,GAAG,QAAQ,CAAC,OAAQ,CAAC;aAC9B,QAAQ,QAAQ,EAAE;SACpB;;;;;;QAOD,kCAAY,GAAZ,UAAa,GAAW,EAAE,SAA0B;YAA1B,0BAAA,EAAA,iBAA0B;YAClD,IAAM,GAAG,GAAW,EAAE,CAAC;YACvB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAc,CAAC;YAE/D,IAAI,CAAC,IAAI;gBAAE,OAAO,GAAG,CAAC;YAEtB,GAAG;gBACD,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,OAAQ,CAAC;aACtB,QAAQ,IAAI,EAAE;YAEf,OAAO,GAAG,CAAC;SACZ;;;;QAKD,6BAAO,GAAP,UAAQ,GAAW;YACjB,IAAI,GAAG,GAAgB,IAAI,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAA,IAAI;gBACxB,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;oBACnC,GAAG,GAAG,IAAI,CAAC;iBACZ;aACF,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;SACZ;;;;QAKD,6BAAO,GAAP,UAAQ,GAAW,EAAE,KAAW;YAC9B,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO;YAEzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;QAED,iCAAW,GAAX;YACE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC1B;;;;;gBAxQFD,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gDAQ7BE,WAAQ,YACRC,SAAM,SAAC,gBAAgB;gBAlBnBC,aAAU,uBAoBdF,WAAQ;;;QCPA,kBAAkB,GAAG,IAAIP,iBAAc,CAAe,oBAAoB,EAAE;;QASvF,yBAAoB,QAAkB,EAAsC,IAAkB;YAA1E,aAAQ,GAAR,QAAQ,CAAU;YAAsC,SAAI,GAAJ,IAAI,CAAc;YALtF,YAAO,GAAG,IAAIU,YAAO,EAAkB,CAAC;YACxC,SAAI,GAAa,IAAI,CAAC;YACtB,UAAK,GAAa,IAAI,CAAC;YACvB,YAAO,GAAa,IAAI,CAAC;SAEiE;QAElG,iCAAO,GAAP,UAAQ,GAAW;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC;SAChE;QAED,iCAAO,GAAP,UAAQ,GAAW,EAAE,KAAgB;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5B,OAAO;aACR;YACD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;QAED,sBAAI,mCAAM;iBAAV;gBACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,IAAI,CAAC,OAAO,mBACV,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,IACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAClC,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC9C;gBACD,OAAO,IAAI,CAAC,OAAY,CAAC;aAC1B;;;WAAA;QAED,sBAAI,gCAAG;iBAAP;gBACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,IAAI,CAAC,IAAI,mBACP,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/B,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACxC;gBACD,OAAO,IAAI,CAAC,IAAS,CAAC;aACvB;;;WAAA;QAED,sBAAI,iCAAI;iBAAR;gBACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,CAAC,KAAK,qBAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1C;gBACD,OAAO,IAAI,CAAC,KAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,mCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aACpC;;;WAAA;QAED,mCAAS,GAAT,UAAU,IAAgB,EAAE,KAAiB;YAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,MAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAe,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;SACb;QAED,gCAAM,GAAN,UAAO,KAAQ;YACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;SAC3C;QAED,iCAAO,GAAP,UAAQ,KAAQ;YACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;SAC5C;;;;;gBAjFFL,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBAnBzBM,aAAQ;gDA0B0BH,SAAM,SAAC,kBAAkB;;;QCtBvD,OAAO,GAAG,EAAE;;QAOvB,2BAAY,MAA0B;YACpC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACzC,KAAK,EAAE;oBACL,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;oBACb,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;oBACrB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;oBAC5B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACnC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;oBAC1C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;iBACnD;aACF,CAAE,CAAC;YACJ,IACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;iBACxB,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAA,CAAC;iBACZ,IAAI,CAAC,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,GAAA,CAAC,EAC5C;gBACA,MAAM,IAAI,KAAK,CAAC,8DAA4D,OAAS,CAAC,CAAC;aACxF;SACF;QAED,kCAAM,GAAN,UAAO,KAAa;YAClB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAM,WAAW,GAAG,SAAS,CAAC;YAC9B,IAAM,MAAM,GAAG,CAAI,WAAW,YAAO,IAAI,CAAC,EAAI,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAI,WAAW,YAAO,IAAI,CAAC,EAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAI,WAAW,YAAO,IAAI,CAAC,EAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAI,WAAW,YAAO,IAAI,CAAC,EAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAI,WAAW,YAAO,IAAI,CAAC,EAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAI,WAAW,aAAQ,IAAI,CAAC,GAAK,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;SACf;;;;;gBAjCFH,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBANzBH,qBAAkB;;;QCWd,QAAQ,GAAG,MAAM;QACjB,aAAa,GAAG,YAAY;QAC5B,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE;QAC5E,oBAAoB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE;QACjD,GAAG,GAAG,MAAM;QACZ,GAAG,GAAG,MAAM;;QA8CvB,oBACU,CAAiB,EACjB,GAAoB,EACpB,EAAmB,EACnB,KAAyB,EACzB,QAAkB,EACA,GAAc;YALhC,MAAC,GAAD,CAAC,CAAgB;YACjB,QAAG,GAAH,GAAG,CAAiB;YACpB,OAAE,GAAF,EAAE,CAAiB;YACnB,UAAK,GAAL,KAAK,CAAoB;YACzB,aAAQ,GAAR,QAAQ,CAAU;YACA,QAAG,GAAH,GAAG,CAAW;YAhDlC,SAAI,GAAc,GAAG,CAAC;YAkD5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SACrD;QA7CD,sBAAI,2BAAG;;;;;;iBAAP;gBACE,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;iBACD,UAAQ,KAAgB;gBAAxB,iBAUC;gBATC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;;gBAElB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;oBACpB,KAAI,CAAC,CAAe,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpC,KAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,KAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;iBAC1C,CAAC,CAAC;aACJ;;;WAXA;QAkBD,sBAAI,+BAAO;;;;;;iBAAX;gBACE,OAAO,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;aACrC;;;WAAA;QAOD,sBAAI,8BAAM;;;;;;iBAAV;gBACE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CACzBE,gBAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,aAAa,GAAA,CAAC,EACrCQ,aAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAA,CAAC,CAClB,CAAC;aACH;;;WAAA;;;;;;QAkBD,2BAAM,GAAN;YACE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;SACzB;QAEO,+BAAU,GAAV;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5B,OAAO;aACR;YACD,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAgB,CAAC;YAC7D,IAAI,MAAM,EAAE;gBACV,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC7B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aACpC;SACF;QAEO,oCAAe,GAAf;YAAA,iBAOP;YANC,iBAAiB,CAAC,OAAO,CAAC,UAAA,IAAI;gBAC5B,KAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAiB,EAAE,EAAE,WAAW,EAAE,KAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aAC3D,CAAC,CAAC;YACH,oBAAoB,CAAC,OAAO,CAAC,UAAA,IAAI;gBAC/B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAiB,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aAC5D,CAAC,CAAC;SACJ;;;;;gBArFFP,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBApBdQ,mBAAc;gBAWzB,eAAe;gBAHfC,kBAAe;gBADfZ,qBAAkB;gBANlBS,aAAQ;gDAqEZH,SAAM,SAACO,WAAQ;;;;QChDlB,sBACU,QAAkB,EAClB,KAAY,EACZ,OAAoB,EAGpB,OAAyB,EACP,GAAc;YAP1C,iBAUC;YATS,aAAQ,GAAR,QAAQ,CAAU;YAClB,UAAK,GAAL,KAAK,CAAO;YACZ,YAAO,GAAP,OAAO,CAAa;YAGpB,YAAO,GAAP,OAAO,CAAkB;YACP,QAAG,GAAH,GAAG,CAAW;YAflC,YAAO,GAAW,EAAE,CAAC;YACrB,YAAO,GAAW,EAAE,CAAC;YACrB,eAAU,GAAW,KAAK,CAAC;YAC3B,aAAQ,GAAY,KAAK,CAAC;YAGzB,eAAU,GAAG,EAAE,CAAC;;YAmCzB,YAAO,GAAG,eAAe,CAAC;YAxBxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAACX,gBAAM,CAAC,cAAM,OAAA,CAAC,CAAC,KAAI,CAAC,KAAK,GAAA,CAAC,CAAC,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,QAAQ,EAAE,GAAA,CAAC,CAAC;SACpG;QAGD,sBAAI,mCAAS;;iBAAb,UAAc,KAAa;gBACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;;;WAAA;QAGD,sBAAI,gCAAM;;iBAAV,UAAW,KAAa;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;;;WAAA;QAGD,sBAAI,gCAAM;;iBAAV,UAAW,KAAa;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;;;WAAA;QAGD,sBAAI,iCAAO;;iBAAX,UAAY,KAAc;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;;;WAAA;QAKO,mCAAY,GAAZ;YACN,IAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,kCAAkC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAgB,CAAC;YAChE,IAAI,EAAE,EAAE;gBACN,IAAI,MAAI,GAAG,EAAE,CAAC;gBACd,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,GAAG;oBACvB,IAAI,CAAC,MAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;wBAC/B,MAAI,GAAG,GAAG,CAAC,WAAY,CAAC,IAAI,EAAE,CAAC;qBAChC;iBACF,CAAC,CAAC;gBACH,OAAO,MAAI,IAAI,EAAE,CAAC,UAAW,CAAC,WAAY,CAAC,IAAI,EAAE,CAAC;aACnD;YACD,OAAO,EAAE,CAAC;SACX;QAEO,iCAAU,GAAV;YACN,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACY,qBAAc,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,UAAU;gBAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAEO,gCAAS,GAAT;YACN,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAASC,aAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAE3C,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC;YACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO;gBAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,KAAK,IAAI,IAAI,CAAC,IAAK,CAAC;SAC5B;QAEO,gCAAS,GAAT,UAAU,KAAyB;YACzC,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;aACtF;YACD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;aACjB;YAED,IAAI,SAAS,GAAa,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,SAAS,CAAC,IAAI,OAAd,SAAS,2BAAU,KAAkB,IAAE;YACvC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SACtD;;;;QAKD,+BAAQ,GAAR,UAAS,KAAyB;YAAlC,iBAEC;YADC,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAA,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1D;;;;QAKD,qCAAc,GAAd,UAAe,GAAW,EAAE,MAAgB;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;SAChD;QAED,kCAAW,GAAX;YACE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC1B;;;;;gBApHFZ,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBAXLa,WAAQ;gBAC5BC,UAAK;gBAQL,WAAW;gDAgBfZ,WAAQ,YACRC,SAAM,SAAC,gBAAgB;gDAEvBA,SAAM,SAACO,WAAQ;;;QC3BP,YAAY,GAAG,IAAIf,iBAAc,CAAS,cAAc;;ACArE,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,MAAM;SACnB;QACD,UAAU,EAAE;YACV,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,KAAK,EAAE,eAAe;YACtB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE;gBACL,cAAc,EAAE,sCAAQ;gBACxB,IAAI,EAAE,2CAAa;gBACnB,eAAe,EAAE,yDAAiB;gBAClC,oBAAoB,EAAE,wDAAW;gBACjC,KAAK,EAAE,iFAAqB;gBAC5B,YAAY,EAAE,oFAA6B;gBAC3C,IAAI,EAAE,0EAAc;gBACpB,MAAM,EAAE,gCAAO;gBACf,IAAI,EAAE,uCAAc;gBACpB,QAAQ,EAAE,oBAAK;gBACf,SAAS,EAAE,yCAAgB;gBAC3B,SAAS,EAAE,qDAAkB;gBAC7B,OAAO,EAAE,kCAAwB;gBACjC,aAAa,EAAE,kCAAwB;gBACvC,OAAO,EAAE,kCAAwB;gBACjC,aAAa,EAAE,kCAAwB;gBACvC,QAAQ,EAAE,+CAAiB;gBAC3B,QAAQ,EAAE,+CAAiB;gBAC3B,aAAa,EAAE,qDAAkB;gBACjC,aAAa,EAAE,qDAAkB;gBACjC,UAAU,EAAE,0DAAuB;gBACnC,GAAG,EAAE,+CAAoB;gBACzB,KAAK,EAAE,oEAA0B;gBACjC,OAAO,EAAE,4CAAS;gBAClB,WAAW,EAAE,qHAAgC;gBAC7C,MAAM,EAAE,gCAAO;gBACf,aAAa,EAAE,oDAAyB;gBACxC,eAAe,EAAE,yEAA4B;gBAC7C,MAAM,EAAE,uFAAmC;gBAC3C,KAAK,EAAE,sCAAQ;gBACf,QAAQ,EAAE,wDAAW;gBACrB,sBAAsB,EAAE,6DAA+B;gBACvD,sBAAsB,EAAE,6DAA+B;gBACvD,EAAE,EAAE,2DAA2B;aAChC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,cAAI;YACV,IAAI,EAAE,oBAAK;YACX,IAAI,EAAE,oBAAK;YACX,IAAI,EAAE,cAAI;SACX;KACgB;;;QCvEjB,4BAAkC,MAA6B;YAHvD,YAAO,GAAmB,IAAI,CAAC;YAC/B,YAAO,GAAG,IAAIG,oBAAe,CAAiB,IAAI,CAAC,OAAO,CAAC,CAAC;YAGlE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;SAChC;QAED,sBAAI,sCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aACpC;;;WAAA;QAED,sCAAS,GAAT,UAAU,MAAsB;YAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;gBACrD,OAAO;aACR;YACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;QAED,sBAAI,sCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;WAAA;QAED,oCAAO,GAAP,UAAQ,IAA0B;YAChC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAgB;SACjD;;;;gBA3BFE,aAAU;;;gDAKIG,SAAM,SAAC,YAAY;;aAyBlB,qCAAqC,CACnD,KAAyB,EACzB,MAAsB;QAEtB,OAAO,KAAK,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;QAEY,6BAA6B,GAAa;QACrD,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,qCAAqC;QACjD,IAAI,EAAE,CAAC,CAAC,IAAID,WAAQ,EAAE,EAAE,IAAIa,WAAQ,EAAE,EAAE,kBAAkB,CAAC,EAAE,YAAY,CAAC;;;eCxC3B,IAAI;;QAErD;;;;;gBAHCC,WAAQ,SAAC;oBACR,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,MAAM,EAAE,EAAE,6BAA6B,CAAC;iBACtF;;;ACND,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,2CAA2C;YAChD,GAAG,EAAE,4CAA4C;YACjD,GAAG,EAAE,yCAAyC;YAC9C,UAAU,EAAE,cAAc;SAC3B;QACD,UAAU,EAAE;YACV,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,OAAO;SACnB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,kBAAkB;YAC9B,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE,SAAS;SACnB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;SACrB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,UAAU;SACnB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,OAAO;SACrB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,WAAW;YACzB,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,MAAM;SACnB;QACD,UAAU,EAAE;YACV,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,KAAK,EAAE,eAAe;YACtB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE;gBACL,cAAc,EAAE,sCAAQ;gBACxB,IAAI,EAAE,2CAAa;gBACnB,eAAe,EAAE,qCAAY;gBAC7B,oBAAoB,EAAE,wDAAW;gBACjC,KAAK,EAAE,iFAAqB;gBAC5B,YAAY,EAAE,oFAA6B;gBAC3C,IAAI,EAAE,0EAAc;gBACpB,MAAM,EAAE,gCAAO;gBACf,IAAI,EAAE,uCAAc;gBACpB,QAAQ,EAAE,oBAAK;gBACf,SAAS,EAAE,yCAAgB;gBAC3B,SAAS,EAAE,qDAAkB;gBAC7B,OAAO,EAAE,kCAAwB;gBACjC,aAAa,EAAE,kCAAwB;gBACvC,OAAO,EAAE,kCAAwB;gBACjC,aAAa,EAAE,kCAAwB;gBACvC,QAAQ,EAAE,+CAAiB;gBAC3B,QAAQ,EAAE,+CAAiB;gBAC3B,aAAa,EAAE,qDAAkB;gBACjC,aAAa,EAAE,qDAAkB;gBACjC,UAAU,EAAE,0DAAuB;gBACnC,GAAG,EAAE,+CAAoB;gBACzB,KAAK,EAAE,oEAA0B;gBACjC,OAAO,EAAE,4CAAS;gBAClB,WAAW,EAAE,qHAAgC;gBAC7C,MAAM,EAAE,gCAAO;gBACf,aAAa,EAAE,oDAAyB;gBACxC,eAAe,EAAE,yEAA4B;gBAC7C,MAAM,EAAE,uFAAmC;gBAC3C,KAAK,EAAE,sCAAQ;gBACf,QAAQ,EAAE,wDAAW;gBACrB,sBAAsB,EAAE,6DAA+B;gBACvD,sBAAsB,EAAE,6DAA+B;gBACvD,EAAE,EAAE,2DAA2B;aAChC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,cAAI;YACV,IAAI,EAAE,oBAAK;YACX,IAAI,EAAE,oBAAK;YACX,IAAI,EAAE,cAAI;SACX;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,wDAAoC;YACzC,GAAG,EAAE,qCAAgC;YACrC,GAAG,EAAE,4CAAwB;YAC7B,UAAU,EAAE,4BAAuB;SACpC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,OAAO;SACnB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,eAAe;YACtB,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,QAAQ;SAClB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,QAAQ;SACnB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,SAAS;SAClB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,kDAAkD;YACzD,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,SAAS;SACvB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAQ;YACd,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;SACd;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,iDAA4C;YACjD,GAAG,EAAE,kCAAkC;YACvC,GAAG,EAAE,kCAAwB;YAC7B,UAAU,EAAE,0BAA0B;SACvC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,SAAS;SACrB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,eAAe;YACtB,UAAU,EAAE,oBAAoB;YAChC,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,SAAS;SACnB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,UAAU;SACrB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,OAAO;SAChB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,yCAAyC;YAChD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,SAAS;SACvB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,mBAAS;YACf,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;SACf;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,gQAAmD;YACxD,GAAG,EAAE,kMAAuC;YAC5C,GAAG,EAAE,iKAA+B;YACpC,UAAU,EAAE,8BAA8B;SAC3C;QACD,UAAU,EAAE;YACV,SAAS,EAAE,uBAAuB;YAClC,SAAS,EAAE,YAAY;SACxB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,mBAAmB;YAC1B,UAAU,EAAE,6BAA6B;YACzC,UAAU,EAAE,6BAA6B;YACzC,OAAO,EAAE,UAAU;SACpB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,UAAU;SACrB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,UAAU;SACnB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,2CAA2C;YAClD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,WAAW;SACzB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,cAAc;YAC5B,KAAK,EAAE;gBACL,cAAc,EAAE,gJAA6B;gBAC7C,IAAI,EAAE,oNAA+C;gBACrD,eAAe,EAAE,8OAAqD;gBACtE,oBAAoB,EAAE,qOAA4C;gBAClE,KAAK,EAAE,8PAAyD;gBAChE,YAAY,EAAE,wXAAsF;gBACpG,IAAI,EAAE,qSAA0D;gBAChE,MAAM,EAAE,2IAAqC;gBAC7C,IAAI,EAAE,yFAAwB;gBAC9B,QAAQ,EAAE,8DAAY;gBACtB,SAAS,EAAE,0PAAuD;gBAClE,SAAS,EAAE,oPAAsD;gBACjE,OAAO,EAAE,uGAAsC;gBAC/C,aAAa,EAAE,uGAAsC;gBACrD,OAAO,EAAE,uGAAsC;gBAC/C,aAAa,EAAE,uGAAsC;gBACrD,QAAQ,EAAE,8OAAqD;gBAC/D,QAAQ,EAAE,4NAAkD;gBAC5D,aAAa,EAAE,kRAA2D;gBAC1E,aAAa,EAAE,gQAAwD;gBACvE,UAAU,EAAE,qLAA8C;gBAC1D,GAAG,EAAE,0QAA2D;gBAChE,KAAK,EAAE,uRAA8D;gBACrE,OAAO,EAAE,6LAA+C;gBACxD,WAAW,EAAE,2XAAoF;gBACjG,MAAM,EAAE,8HAA0B;gBAClC,aAAa,EAAE,qQAAgE;gBAC/E,eAAe,EAAE,qVAA+E;gBAChG,MAAM,EAAE,iiBAA2H;gBACnI,KAAK,EAAE,6JAAgC;gBACvC,QAAQ,EAAE,+NAA2C;gBACrD,sBAAsB,EAAE,iHAAgD;gBACxE,sBAAsB,EAAE,iHAAgD;gBACxE,EAAE,EAAE,iLAAkD;aACvD;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,wDAAW;YACjB,IAAI,EAAE,oEAAa;YACnB,IAAI,EAAE,4CAAS;YACf,IAAI,EAAE,0EAAc;SACrB;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,2HAA4B;YACjC,GAAG,EAAE,iGAAsB;YAC3B,GAAG,EAAE,2FAAqB;YAC1B,UAAU,EAAE,YAAY;SACzB;QACD,UAAU,EAAE;YACV,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,KAAK;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,QAAQ;SAClB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,MAAM;SACf;QACD,EAAE,EAAE;YACF,KAAK,EAAE,eAAe;YACtB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,KAAK;SACnB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,OAAO;YACrB,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,2BAAO;YACb,IAAI,EAAE,cAAI;YACV,IAAI,EAAE,cAAI;YACV,IAAI,EAAE,cAAI;SACX;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,6CAAwC;YAC7C,GAAG,EAAE,oCAA+B;YACpC,GAAG,EAAE,8CAAoC;YACzC,UAAU,EAAE,2BAA2B;SACxC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,QAAQ;SACpB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,uBAAuB;YACnC,OAAO,EAAE,SAAS;SACnB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,OAAO;SAClB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;SACjB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,QAAQ;YACvB,WAAW,EAAE,SAAS;SACvB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,YAAY;SAC3B;QACD,UAAU,EAAE;YACV,IAAI,EAAE,iBAAY;YAClB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAU;YAChB,IAAI,EAAE,aAAa;SACpB;KACgB;;AC7CnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,gBAAgB;YACrB,UAAU,EAAE,QAAQ;SACrB;QACD,UAAU,EAAE;YACV,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,KAAK;SACjB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,QAAQ;SAClB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,OAAO;SAClB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,OAAO;SAChB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,yCAAyC;YAChD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,MAAM;SACpB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE;gBACL,cAAc,EAAE,0EAAc;gBAC9B,IAAI,EAAE,qEAAmB;gBACzB,eAAe,EAAE,uIAA8B;gBAC/C,oBAAoB,EAAE,oHAAqB;gBAC3C,KAAK,EAAE,iHAA0B;gBACjC,YAAY,EAAE,0MAAoD;gBAClE,IAAI,EAAE,kJAA0B;gBAChC,MAAM,EAAE,kFAAyB;gBACjC,IAAI,EAAE,8CAAgB;gBACtB,QAAQ,EAAE,sCAAQ;gBAClB,SAAS,EAAE,yCAAgB;gBAC3B,SAAS,EAAE,yCAAgB;gBAC3B,OAAO,EAAE,4DAA8B;gBACvC,aAAa,EAAE,4DAA8B;gBAC7C,OAAO,EAAE,4DAA8B;gBACvC,aAAa,EAAE,4DAA8B;gBAC7C,QAAQ,EAAE,uHAA6B;gBACvC,QAAQ,EAAE,uHAA6B;gBACvC,aAAa,EAAE,+GAA0B;gBACzC,aAAa,EAAE,+GAA0B;gBACzC,UAAU,EAAE,4HAAkC;gBAC9C,GAAG,EAAE,uCAAS;gBACd,KAAK,EAAE,uCAAS;gBAChB,OAAO,EAAE,6HAAiC;gBAC1C,WAAW,EAAE,2FAA0B;gBACvC,MAAM,EAAE,sFAAgB;gBACxB,aAAa,EAAE,0GAAkC;gBACjD,eAAe,EAAE,sJAA2C;gBAC5D,MAAM,EAAE,kGAAoC;gBAC5C,KAAK,EAAE,oEAAa;gBACpB,QAAQ,EAAE,8GAAoB;gBAC9B,sBAAsB,EAAE,6GAAuC;gBAC/D,sBAAsB,EAAE,6GAAuC;gBAC/D,EAAE,EAAE,yHAAuC;aAC5C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,0BAAM;YACZ,IAAI,EAAE,cAAI;YACV,IAAI,EAAE,QAAG;YACT,IAAI,EAAE,oBAAK;SACZ;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,sCAAiC;YACtC,GAAG,EAAE,gDAA2C;YAChD,GAAG,EAAE,6CAA8B;YACnC,UAAU,EAAE,aAAa;SAC1B;QACD,UAAU,EAAE;YACV,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,SAAS;SACrB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,eAAe;YACtB,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,0BAA0B;SACvC;QACD,SAAS,EAAE;YACT,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,OAAO;SAClB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;SACjB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,OAAO;SACrB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,aAAa;YAC3B,KAAK,EAAE;gBACL,cAAc,EAAE,+BAA0B;gBAC1C,IAAI,EAAE,8CAAoC;gBAC1C,eAAe,EAAE,4CAAuC;gBACxD,oBAAoB,EAAE,qCAAqC;gBAC3D,KAAK,EAAE,qCAAmC;gBAC1C,YAAY,EAAE,+DAA+D;gBAC7E,IAAI,EAAE,yDAAoD;gBAC1D,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,2CAAsC;gBACjD,SAAS,EAAE,2CAAsC;gBACjD,OAAO,EAAE,6BAA6B;gBACtC,aAAa,EAAE,6BAA6B;gBAC5C,OAAO,EAAE,6BAA6B;gBACtC,aAAa,EAAE,6BAA6B;gBAC5C,QAAQ,EAAE,4CAAuC;gBACjD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,6CAAwC;gBACvD,aAAa,EAAE,yCAAyC;gBACxD,UAAU,EAAE,2CAAsC;gBAClD,GAAG,EAAE,yCAAuC;gBAC5C,KAAK,EAAE,iDAA0C;gBACjD,OAAO,EAAE,sCAAoC;gBAC7C,WAAW,EAAE,oEAA+D;gBAC5E,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,8CAA4C;gBAC3D,eAAe,EAAE,2DAAyD;gBAC1E,MAAM,EAAE,qFAA8E;gBACtF,KAAK,EAAE,wBAAwB;gBAC/B,QAAQ,EAAE,8BAA8B;gBACxC,sBAAsB,EAAE,uCAAuC;gBAC/D,sBAAsB,EAAE,uCAAuC;gBAC/D,EAAE,EAAE,2CAAyC;aAC9C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,eAAU;YAChB,IAAI,EAAE,eAAU;YAChB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,cAAS;SAChB;KACgB;;AChFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,gEAA4C;YACjD,GAAG,EAAE,mEAAoD;YACzD,GAAG,EAAE,iDAAuC;YAC5C,UAAU,EAAE,oBAAoB;SACjC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,SAAS;SACrB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,2BAA2B;YACvC,UAAU,EAAE,6BAA6B;YACzC,OAAO,EAAE,YAAY;SACtB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;SACtB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,SAAS;SAClB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,eAAe;SAC7B;QACD,EAAE,EAAE;YACF,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,eAAe;YAC7B,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,qBAAW;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAS;SAChB;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,iDAA4C;YACjD,GAAG,EAAE,uDAAkD;YACvD,GAAG,EAAE,wCAAwC;YAC7C,UAAU,EAAE,8BAA8B;SAC3C;QACD,UAAU,EAAE;YACV,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,SAAS;SACrB;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,8BAA8B;YAC1C,OAAO,EAAE,YAAY;SACtB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,SAAS;SACpB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,UAAU;SACnB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,WAAW;SACzB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,gBAAgB;YAC9B,KAAK,EAAE;gBACL,cAAc,EAAE,yBAAyB;gBACzC,IAAI,EAAE,+BAA+B;gBACrC,eAAe,EAAE,wCAAwC;gBACzD,oBAAoB,EAAE,uCAAuC;gBAC7D,KAAK,EAAE,uCAAqC;gBAC5C,YAAY,EAAE,iEAAiE;gBAC/E,IAAI,EAAE,6CAA6C;gBACnD,MAAM,EAAE,kCAAgC;gBACxC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,6CAA6C;gBACxD,SAAS,EAAE,8CAA8C;gBACzD,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,OAAO,EAAE,gCAAgC;gBACzC,aAAa,EAAE,gCAAgC;gBAC/C,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,wCAAwC;gBAClD,aAAa,EAAE,4CAA4C;gBAC3D,aAAa,EAAE,4CAA4C;gBAC3D,UAAU,EAAE,sCAAsC;gBAClD,GAAG,EAAE,oDAAkD;gBACvD,KAAK,EAAE,8CAA4C;gBACnD,OAAO,EAAE,oCAAkC;gBAC3C,WAAW,EAAE,sEAAsE;gBACnF,MAAM,EAAE,qBAAqB;gBAC7B,aAAa,EAAE,6CAA2C;gBAC1D,eAAe,EAAE,4DAA0D;gBAC3E,MAAM,EAAE,mEAAiE;gBACzE,KAAK,EAAE,6BAA6B;gBACpC,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,0CAA0C;gBAClE,sBAAsB,EAAE,0CAA0C;gBAClE,EAAE,EAAE,0CAAwC;aAC7C;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;SAClB;KACgB;;ACjFnB,eAAe;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,GAAG,EAAE,4CAA4C;YACjD,GAAG,EAAE,kDAAkD;YACvD,GAAG,EAAE,iDAAiD;YACtD,UAAU,EAAE,iBAAiB;SAC9B;QACD,UAAU,EAAE;YACV,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,yBAAyB;SACrC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,kBAAkB;YACzB,UAAU,EAAE,wBAAwB;YACpC,UAAU,EAAE,2BAA2B;YACvC,OAAO,EAAE,UAAU;SACpB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,UAAU;SACrB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,aAAa;SACtB;QACD,EAAE,EAAE;YACF,KAAK,EAAE,0CAA0C;YACjD,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,WAAW;SACzB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,iBAAiB;YAC/B,KAAK,EAAE;gBACL,cAAc,EAAE,iCAA4B;gBAC5C,IAAI,EAAE,4CAA4C;gBAClD,eAAe,EAAE,6CAAwC;gBACzD,oBAAoB,EAAE,0CAAqC;gBAC3D,KAAK,EAAE,8CAA4C;gBACnD,YAAY,EAAE,0FAA2E;gBACzF,IAAI,EAAE,iDAAiD;gBACvD,MAAM,EAAE,4CAA0C;gBAClD,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,+CAA+C;gBAC1D,SAAS,EAAE,+CAA+C;gBAC1D,OAAO,EAAE,kCAAkC;gBAC3C,aAAa,EAAE,kCAAkC;gBACjD,OAAO,EAAE,kCAAkC;gBAC3C,aAAa,EAAE,kCAAkC;gBACjD,QAAQ,EAAE,6CAAwC;gBAClD,QAAQ,EAAE,yCAAyC;gBACnD,aAAa,EAAE,mDAAyC;gBACxD,aAAa,EAAE,+CAA0C;gBACzD,UAAU,EAAE,yCAAyC;gBACrD,GAAG,EAAE,qDAAmD;gBACxD,KAAK,EAAE,0DAAwD;gBAC/D,OAAO,EAAE,6CAA2C;gBACpD,WAAW,EAAE,6EAA6E;gBAC1F,MAAM,EAAE,4CAA0C;gBAClD,aAAa,EAAE,mEAAuD;gBACtE,eAAe,EAAE,6EAAsE;gBACvF,MAAM,EAAE,oGAA6F;gBACrG,KAAK,EAAE,kCAAkC;gBACzC,QAAQ,EAAE,mCAAmC;gBAC7C,sBAAsB,EAAE,6CAA6C;gBACrE,sBAAsB,EAAE,6CAA6C;gBACrE,EAAE,EAAE,qDAAmD;aACxD;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,OAAO;SACd;KACgB;;ICjEnB;;;;QAKE,qBAAoB,GAAmB;YAAnB,QAAG,GAAH,GAAG,CAAgB;SAAI;;;;;;;;;;;;;;;;;QAkB3C,4BAAM,GAAN,UACE,IAA8C,EAC9C,MAAkB,EAClB,OAA4B;YAH9B,iBAmDC;YA9CC,OAAO,GAAGC,eAAS,CACjB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,KAAK;aACnB,EACD,OAAO,CACR,CAAC;YACF,OAAO,IAAIC,eAAU,CAAC,UAAC,QAA6B;gBAC1C,IAAA,IAAI,GAAgC,OAA6B,KAA7D,EAAE,WAAW,GAAmB,OAA6B,YAAhD,EAAE,YAAY,GAAK,OAA6B,aAAlC,CAAmC;gBAC1E,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,IAAI,EAAE;oBACR,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,KAAK,GAAM,IAAI,OAAI,CAAC;qBACrB;yBAAM;wBACL,GAAG,GAAG,WAAS,IAAM,CAAC;qBACvB;iBACF;gBACD,IAAI,WAAW,EAAE;oBACf,GAAG,IAAI,qBAAqB,CAAC;iBAC9B;gBACD,IAAI,YAAY,IAAI,YAAY,CAAC,eAAe,EAAE;oBAChD,GAAG,IAAI,MAAI,YAAY,CAAC,eAAiB,CAAC;oBAC1C,OAAO,YAAY,CAAC,eAAe,CAAC;iBACrC;gBACD,IAAM,cAAc,GAAiB;oBACnC,eAAe,EAAE,GAAG;oBACpB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;oBAClC,QAAQ,EAAE,IAAI;oBACd,iBAAiB,EAAE,MAAM;iBAC1B,CAAC;gBACF,IAAM,OAAO,GAAG,KAAI,CAAC,GAAG,CAAC,MAAM,iCAAM,cAAc,GAAK,YAAY,EAAG,CAAC;gBACxE,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,UAAC,GAAc;oBAC9D,IAAI,OAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;wBAC3B,IAAI,GAAG,IAAI,IAAI,EAAE;4BACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACpB;qBACF;yBAAM;wBACL,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACpB;oBACD,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,WAAW,CAAC,WAAW,EAAE,CAAC;iBAC3B,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;;;;;;;;;;;;;;;;;QAkBD,kCAAY,GAAZ,UACE,IAA8C,EAC9C,MAAkB,EAClB,OAA4B;YAE5B,IAAM,YAAY,mBAChB,cAAc,EAAE,KAAK,KACjB,OAAO,IAAI,OAAO,CAAC,YAAY,EACpC,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,kCAAO,OAAO,KAAE,YAAY,cAAA,IAAG,CAAC;SAChE;;;;;gBAnGFlB,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBAhBXmB,mBAAc;;;IC8BrC;;;;;;;;;;;;;;;;QAiBE,sBAAoB,GAAoB;YAApB,QAAG,GAAH,GAAG,CAAiB;SAAI;;;;QAK5C,6BAAM,GAAN,UACE,KAAyD,EACzD,IAKmB,EACnB,MAAkB,EAClB,OAA6B;YAT/B,iBA6DC;YAlDC,OAAO,GAAGF,eAAS,CACjB;gBACE,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE;oBACb,WAAW,EAAE,OAAO;oBACpB,eAAe,EAAE,EAAE;iBACpB;aACF,EACD,OAAO,CACR,CAAC;YACF,OAAO,IAAIC,eAAU,CAAC,UAAC,QAA6B;gBAC1C,IAAA,IAAI,GAA0C,OAA8B,KAAxE,EAAE,MAAM,GAAkC,OAA8B,OAAhE,EAAE,YAAY,GAAoB,OAA8B,aAAlD,EAAE,aAAa,GAAK,OAA8B,cAAnC,CAAoC;gBACrF,IAAM,cAAc,GAAoB;oBACtC,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,MAAM;oBACvB,OAAO,EAAE,KAAkB;iBAC5B,CAAC;gBAEF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,cAAc,CACZ,aAAc,CAAC,WAAW,KAAK,KAAK,IAAI,aAAc,CAAC,WAAW,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,CACzG,GAAG,OAAQ,CAAC,IAAI,CAAC;iBACnB;qBAAM,IAAI,CAAC,aAAc,CAAC,OAAO,EAAE;oBAClC,cAAc,CAAC,eAAe,GAAG,CAAG,aAAc,CAAC,eAAe,gBAAW,OAAQ,CAAC,IAAM,EAAC,IAAI,EAAE,CAAC;oBACpG,OAAO,aAAc,CAAC,eAAe,CAAC;iBACvC;gBAED,IAAI,MAAM,EAAE;;oBAEV,cAAc,CAAC,WAAW,GAAG;wBAC3B,mBAAmB,EAAE,YAAa,GAAG,EAAE;qBACxC,CAAC;iBACH;gBAED,IAAM,OAAO,GAAG,KAAI,CAAC,GAAG,CAAC,MAAM,iCAAM,cAAc,GAAK,aAAa,EAAG,CAAC;gBACzE,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,UAAC,GAAc;oBAC9D,IAAI,OAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;wBAC3B,IAAI,GAAG,IAAI,IAAI,EAAE;4BACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACpB;qBACF;yBAAM;wBACL,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACpB;oBACD,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,WAAW,CAAC,WAAW,EAAE,CAAC;iBAC3B,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;;;;QAKD,6BAAM,GAAN,UACE,KAAyD,EACzD,IAKmB,EACnB,MAAkB,EAClB,OAA6B;YAE7B,IAAM,aAAa,mBACjB,cAAc,EAAE,KAAK,KACjB,OAAO,IAAI,OAAO,CAAC,aAAa,EACrC,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAO,OAAO,KAAE,aAAa,eAAA,IAAG,CAAC;SACxE;;;;;gBAzFFlB,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBA7CKoB,oBAAe;;;ICLtD;IAYA;;;;;;;QASE,qBAAoB,IAAgB,EAAE,MAA0B;YAA5C,SAAI,GAAJ,IAAI,CAAY;YAO5B,OAAE,GAAG,CAAC,CAAC;YANb,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;gBACnC,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,WAAW;aAC/B,CAAE,CAAC;SACL;QASD,sBAAI,gCAAO;;;;;;iBAAX;gBACE,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACpB;;;WAAA;QAOD,sBAAI,qCAAY;;;;;;iBAAhB;gBACE,OAAO,IAAI,CAAC,EAAE,CAAC;aAChB;;;WAAA;QAED,iCAAW,GAAX,UAAY,MAAiB;YAA7B,iBAiBC;YAhBC,IAAM,SAAS,GAAc,EAAE,CAAC;YAChC,IAAI,MAAM,YAAYC,eAAU,EAAE;gBAChC,OAAO,MAAM,CAAC;aACf;YAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;gBAC7B,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAExB,IAAI,KAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI;oBAAE,OAAO;;gBAErE,IAAI,KAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI,EAAE;oBACvE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;iBACzB;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACxB,CAAC,CAAC;YACH,OAAO,IAAIA,eAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;SAClD;QAED,gCAAU,GAAV,UAAW,GAAW,EAAE,MAAkB;YACxC,IAAI,CAAC,MAAM;gBAAE,OAAO,GAAG,CAAC;YACxB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;YACpC,IAAM,GAAG,GAAa,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;gBAC7B,GAAG,CAAC,IAAI,CAAI,GAAG,SAAI,MAAM,CAAC,GAAG,CAAG,CAAC,CAAC;aACnC,CAAC,CAAC;YACH,OAAO,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QAEO,8BAAQ,GAAR,UAAS,KAAa;YAAtB,iBAEP;YADC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAM,QAAC,KAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,IAAC,CAAC,CAAC;SACtE;QAEO,0BAAI,GAAJ;YACN,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1B;QAEO,yBAAG,GAAH;YACN,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1B;;;;;;QAOD,kCAAY,GAAZ;YACE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAClB;QAoGD,yBAAG,GAAH,UACE,GAAW,EACX,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,kBAC5B,MAAM,QAAA,IACH,OAAO,EACV,CAAC;SACJ;QA2FD,0BAAI,GAAJ,UACE,GAAW,EACX,IAAS,EACT,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,kBAC7B,IAAI,MAAA,EACJ,MAAM,QAAA,IACH,OAAO,EACV,CAAC;SACJ;QAsED,4BAAM,GAAN,UACE,GAAW,EACX,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,kBAC/B,MAAM,QAAA,IACH,OAAO,EACV,CAAC;SACJ;;;;;;;;QAWD,2BAAK,GAAL,UAAM,GAAW,EAAE,MAAY,EAAE,aAAwC;YAAzE,iBAQC;YARgC,8BAAA,EAAA,gCAAwC;YACvE,OAAOC,OAAE,CAAC,IAAI,CAAC,CAAC,IAAI;;YAElBC,eAAK,CAAC,CAAC,CAAC,EACRC,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,IAAI,EAAE,GAAA,CAAC,EACtBC,mBAAS,CAAC,cAAM,OAAA,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,GAAA,CAAC,EAC7EC,kBAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,GAAG,EAAE,GAAA,CAAC,CAC3B,CAAC;SACH;QA0ED,2BAAK,GAAL,UACE,GAAW,EACX,IAAS,EACT,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,kBAC9B,IAAI,MAAA,EACJ,MAAM,QAAA,IACH,OAAO,EACV,CAAC;SACJ;QA0ED,yBAAG,GAAH,UACE,GAAW,EACX,IAAS,EACT,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,kBAC5B,IAAI,MAAA,EACJ,MAAM,QAAA,IACH,OAAO,EACV,CAAC;SACJ;QA2FD,0BAAI,GAAJ,UACE,GAAW,EACX,IAAS,EACT,MAAW,EACX,OAOM;YAPN,wBAAA,EAAA,YAOM;YAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,gCAC7B,IAAI,MAAA,EACJ,MAAM,QAAA,IACH,OAAO,KACV,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD,IACD,CAAC;SACJ;QAsSD,6BAAO,GAAP,UACE,MAAc,EACd,GAAW,EACX,OASM;YAZR,iBAsBC;YAnBC,wBAAA,EAAA,YASM;YAEN,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtE,OAAOJ,OAAE,CAAC,IAAI,CAAC,CAAC,IAAI;;YAElBC,eAAK,CAAC,CAAC,CAAC,EACRC,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,IAAI,EAAE,GAAA,CAAC,EACtBC,mBAAS,CAAC,cAAM,OAAA,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAA,CAAC,EACxDC,kBAAQ,CAAC,cAAM,OAAA,KAAI,CAAC,GAAG,EAAE,GAAA,CAAC,CAC3B,CAAC;SACH;;;;;gBA5/BF1B,aAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;gBAjBzB2B,eAAU;gBAKV9B,qBAAkB;;;ICI3B;;;;;;;;QASE,iBAAwC,QAAkB;YAAlB,aAAQ,GAAR,QAAQ,CAAU;SAAI;;;;gBAF/DG,aAAU;;;gBAfkBa,WAAQ,uBAiBtBV,SAAM,SAACU,WAAQ;;IAmB9B,IAAM,QAAQ,GAAG,cAAc,CAAC;IAEhC,SAAS,QAAQ,CAAC,MAAW,EAAE,GAAsB;QAAtB,oBAAA,EAAA,cAAsB;QACnD,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SAC3B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;aAIgB,OAAO,CAAC,GAAW;QACjC,OAAO,UAA0D,MAAc;YAC7E,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;YACrB,OAAO,MAAM,CAAC;SACf,CAAC;IACJ,CAAC;IAED;;;;aAIgB,WAAW,CACzB,OAIK;QAEL,OAAO,UAA0D,MAAc;YAC7E,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;YAC7B,OAAO,MAAM,CAAC;SACf,CAAC;IACJ,CAAC;IAED,SAAS,SAAS,CAAC,SAAiB;QAClC,OAAO,UAAU,GAAY;YAC3B,OAAO,UAAU,MAAe,EAAE,WAAmB,EAAE,KAAa;gBAClE,IAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;gBACvD,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;oBAClC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;iBAClC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,KAAA;oBACH,KAAK,OAAA;iBACN,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;QAIa,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE;IAEtC;;;;QAIa,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE;IAExC;;;;QAIa,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG;IAExC;;;;;QAKa,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE;IAE5C;;;;;QAKa,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG;IAE9C,SAAS,YAAY,CAAC,IAAS,EAAE,GAAW,EAAE,IAAW;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YACpE,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,OAAO,CAAC,IAAU,EAAE,OAAa;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SACzC;QACD,uCAAY,IAAI,GAAK,OAAO,EAAG;IACjC,CAAC;IAID,SAAS,UAAU,CAAC,MAAmB;QACrC,OAAO,UAAU,GAAgB,EAAE,OAAqB;YAAvC,oBAAA,EAAA,QAAgB;YAC/B,OAAO,UAAC,OAAgB,EAAE,SAAkB,EAAE,UAA+B;gBAC3E,UAAW,CAAC,KAAK,GAAG;oBAAU,cAAc;yBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;wBAAd,yBAAc;;oBAC1C,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;oBAExB,IAAM,QAAQ,GAAI,IAAkB,CAAC,QAAoB,CAAC;oBAC1D,IAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAgB,CAAC;oBAC5D,IAAI,IAAI,IAAI,IAAI,EAAE;wBAChB,MAAM,IAAI,SAAS,CACjB,uGAAuG,CACxG,CAAC;qBACH;oBAED,IAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAE3C,IAAI,UAAU,GAAG,GAAG,IAAI,EAAE,CAAC;oBAC3B,UAAU,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBAEhH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACrD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;qBAC1D;oBAED,IAAI,OAAO,CAAC,GAAG,EAAE;wBACf,IAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAACT,aAAU,EAAE,IAAI,CAAC,CAAC;wBAC9C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACtC,OAAOwB,eAAU,CAAC;gCAChB,GAAG,EAAE,UAAU;gCACf,MAAM,EAAE,GAAG;gCACX,UAAU,EAAE,qBAAqB;6BAClC,CAAC,CAAC;yBACJ;wBACD,OAAO,OAAO,CAAC,GAAG,CAAC;qBACpB;oBAED,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAE,IAAI,CAAC,IAAoB,IAAI,EAAE;yBAC9B,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,GAAA,CAAC;yBACjD,OAAO,CAAC,UAAC,CAAY;wBACpB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAI,CAAC,CAAC,GAAK,EAAE,GAAG,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAClG,CAAC,CAAC;oBACL,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAE9C,IAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,UAAC,CAAY,EAAE,CAAY;wBAClE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACzB,OAAO,CAAC,CAAC;qBACV,EAAE,EAAE,CAAC,CAAC;oBAEP,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,UAAC,CAAY,EAAE,CAAY;wBACrE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACzB,OAAO,CAAC,CAAC;qBACV,EAAE,EAAE,CAAC,CAAC;oBAEP,IAAI,MAAM,KAAK,MAAM,EAAE;wBACrB,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;qBAC/D;oBAED,IAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAM,aAAa,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC;oBAE5D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,kBACpC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,EAC/E,MAAM,EAAE,CAAC,aAAa,mCAAQ,MAAM,GAAK,OAAO,IAAK,MAAM,EAC3D,OAAO,kCAAO,QAAQ,CAAC,WAAW,GAAK,OAAO,KAC3C,OAAO,EACV,CAAC;iBACJ,CAAC;gBAEF,OAAO,UAAU,CAAC;aACnB,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;QAIa,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE;IAE7C;;;;QAIa,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE;IAErC;;;;QAIa,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE;IAEvC;;;;QAIa,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE;IAE3C;;;;QAIa,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE;IAErC;;;;QAIa,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE;IAEvC;;;;QAIa,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE;IAEzC;;;;QAIa,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE;IAEzC;;;;QAIa,IAAI,GAAG,UAAU,CAAC,MAAM;;;QClQnC,kBAAoB,MAAqB;YAArB,WAAM,GAAN,MAAM,CAAe;SAAI;QAE7C,4BAAS,GAAT,UAAU,KAA6B,EAAE,YAAyC;YAAzC,6BAAA,EAAA,iCAAyC;YAChF,KAAK,GAAGC,eAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,KAAkB,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEzC,IAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACxD,OAAO,YAAY,KAAK,IAAI,GAAGC,2BAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAGC,cAAM,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAC3G;;;;gBAVFC,OAAI,SAAC,EAAE,IAAI,EAAE,OAAO,EAAE;;;gBAFdC,kBAAa;;;ICFtB;;;;QAIA;;QACE,4BAAS,GAAT,UAAU,KAAgB,EAAE,WAA4B;YAA5B,4BAAA,EAAA,mBAA4B;YACtD,IAAM,GAAG,GAAgB,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;gBAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAChE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;SACZ;;;;gBARFD,OAAI,SAAC,EAAE,IAAI,EAAE,MAAM,EAAE;;;ICFtB,IAAM,QAAQ,GAAG,4TAAgT,CAAC;IAClU,IAAM,OAAO,GAAG,6bAAib,CAAC;IAClc,IAAM,OAAO,GAAG,mBAAiB,CAAC;IAClC,IAAM,MAAM,GAAG,kBAAgB,CAAC;;QAI9B,gBAAoB,GAAiB;YAAjB,QAAG,GAAH,GAAG,CAAc;SAAI;QAEzC,0BAAS,GAAT,UAAU,KAAc,EAAE,GAAY,EAAE,EAAW,EAAE,IAAa,EAAE,UAA0B;YAA1B,2BAAA,EAAA,iBAA0B;YAC5F,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;YACjB,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;YACf,QAAQ,IAAI;gBACV,KAAK,MAAM;oBACT,IAAI,GAAG,KAAK;0BACR,QAAM,OAAO,SAAI,QAAQ,cAAS,GAAG,gBAAa;0BAClD,QAAM,MAAM,SAAI,OAAO,cAAS,EAAE,gBAAa,CAAC;oBACpD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,GAAG,KAAK,GAAG,QAAM,OAAO,SAAI,GAAG,SAAM,GAAG,QAAM,MAAM,SAAI,EAAE,SAAM,CAAC;oBACrE,MAAM;gBACR;oBACE,IAAI,GAAG,KAAK,GAAG,QAAM,OAAO,iBAAW,GAAG,WAAK,QAAQ,SAAM,GAAG,QAAM,MAAM,iBAAW,EAAE,WAAK,OAAO,SAAM,CAAC;oBAC5G,MAAM;aACT;YACD,OAAO,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACnE;;;;gBAtBFA,OAAI,SAAC,EAAE,IAAI,EAAE,IAAI,EAAE;;;gBATXE,iBAAY;;;;QCInB,kBAAoB,GAAiB;YAAjB,QAAG,GAAH,GAAG,CAAc;SAAI;QAEzC,4BAAS,GAAT,UAAU,IAAY;YACpB,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC3D;;;;gBANFF,OAAI,SAAC,EAAE,IAAI,EAAE,MAAM,EAAE;;;gBAFbE,iBAAY;;;;QCInB,iBAAoB,GAAiB;YAAjB,QAAG,GAAH,GAAG,CAAc;SAAI;QAEzC,2BAAS,GAAT,UAAU,GAAW;YACnB,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACxD;;;;gBANFF,OAAI,SAAC,EAAE,IAAI,EAAE,KAAK,EAAE;;;gBAFZE,iBAAY;;;;QCKnB,kBAA8C,IAAsB;YAAtB,SAAI,GAAJ,IAAI,CAAkB;SAAI;QAExE,4BAAS,GAAT,UAAU,GAAW,EAAE,MAAgC;YACrD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACrC;;;;gBANFF,OAAI,SAAC,EAAE,IAAI,EAAE,MAAM,EAAE;;;gDAEP7B,SAAM,SAAC,gBAAgB;;;ICAtC;IAEA,IAAM,OAAO,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAe5C,IAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAWxE,IAAM,KAAK,GAAG,CAACgC,iBAAW,EAAEC,mBAAa,EAAEC,iBAAW,EAAEC,kBAAY,CAAC,CAAC;aAUtD;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;KACX;IAZP;;QAkBE,0BAAY,OAAsB;YAChC,OAAO,CAAC,OAAO,OAAf,OAAO,2BAAY,KAAK,IAAE;SAC3B;QAEM,wBAAO,GAAd;YACE,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,2BAAM,OAAO,EAAC;aACxB,CAAC;SACH;QAEM,yBAAQ,GAAf;YACE,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,2BAAM,OAAO,EAAC;aACxB,CAAC;SACH;;;;gBAhCFtB,WAAQ,SAAC;oBACR,OAAO,EAAE,CAACuB,eAAY,EAAEC,mBAAY,EAAEC,qBAAa,EAAEC,iBAAY,CAAC;oBAClE,YAAY,2BAAM,KAAK,EAAC;oBACxB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,kBAAkB;4BAC3B,QAAQ,IAIP;yBACF;qBACF;oBACD,OAAO,yCAAM,KAAK,KAAE,iBAAiB,EAAC;iBACvC;;;gBAtCQC,kBAAa;;;ICRtB;;;;;;;;;;;;;;;QAcA;SAIC;QAHC,wCAAO,GAAP,UAAQ,KAAY,EAAE,EAA+B;;YACnD,OAAO,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO,MAAK,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAACC,oBAAU,CAAC,cAAM,OAAAtB,OAAE,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,GAAGA,OAAE,CAAC,IAAI,CAAC,CAAC;SACxF;qCACF;KAAA;;QCtBY,OAAO,GAAG,IAAIuB,UAAO,CAAC,mBAAmB;;ICFtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|