{"version":3,"file":"theme.mjs","sources":["../../../../packages/theme/src/services/preloader/preloader.ts","../../../../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/services/i18n/i18n.pipe.ts","../../../../packages/theme/src/services/i18n/i18n-url.guard.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/services/http/http.token.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-HK.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/locale/languages/vi-VN.ts","../../../../packages/theme/src/locale/languages/ar-SA.ts","../../../../packages/theme/src/locale/languages/id-ID.ts","../../../../packages/theme/src/locale/languages/km-KH.ts","../../../../packages/theme/src/locale/languages/ms-MY.ts","../../../../packages/theme/src/locale/languages/th-TH.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/theme.module.ts","../../../../packages/theme/src/provide.ts","../../../../packages/theme/src/router/optional-preloader.ts","../../../../packages/theme/src/version.ts","../../../../packages/theme/theme.ts"],"sourcesContent":["import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { PLATFORM_ID, inject } from '@angular/core';\n\nexport function stepPreloader(): () => void {\n  const doc: Document = inject(DOCUMENT);\n  const ssr = isPlatformServer(inject(PLATFORM_ID));\n  if (ssr) {\n    return () => {};\n  }\n  const body = doc.querySelector<HTMLBodyElement>('body')!;\n  body.style.overflow = 'hidden';\n  let done = false;\n\n  return () => {\n    if (done) return;\n\n    done = true;\n    const preloader = doc.querySelector<HTMLElement>('.preloader');\n    if (preloader == null) return;\n\n    const CLS = 'preloader-hidden';\n    preloader.addEventListener('transitionend', () => {\n      preloader.className = CLS;\n    });\n    preloader.className += ` ${CLS}-add ${CLS}-add-active`;\n    body.style.overflow = '';\n  };\n}\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeI18nConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\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  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   */\n  fanyi(path: string, params?: unknown | unknown[]): string;\n}\n\nexport const ALAIN_I18N_TOKEN = new InjectionToken<AlainI18NService>('alainI18nToken', {\n  providedIn: 'root',\n  factory: () => new AlainI18NServiceFake()\n});\n\n@Injectable()\nexport abstract class AlainI18nBaseService implements AlainI18NService {\n  protected readonly cogSrv = inject(AlainConfigService);\n\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() {\n    this.cog = this.cogSrv.merge('themeI18n', {\n      interpolation: ['{{', '}}']\n    })!;\n  }\n\n  /**\n   * Merge the data into the current language data.\n   */\n  mergeData(data?: Record<string, unknown>): void {\n    if (!data) return;\n    const flatData = this.flatData(data, []);\n    this._data = { ...this._data, ...flatData };\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?: unknown | unknown[]): string {\n    let content = this._data[path] ?? '';\n    if (!content) return path;\n\n    if (!params) return content;\n\n    if (typeof params === 'object') {\n      const interpolation = this.cog.interpolation!;\n      const objParams = params as Record<string, unknown>;\n      Object.keys(objParams).forEach(key => {\n        content = content.replace(\n          new RegExp(`${interpolation[0]}\\\\s?${key}\\\\s?${interpolation[1]}`, 'g'),\n          `${objParams[key]}`\n        );\n      });\n    }\n\n    (Array.isArray(params) ? params : [params]).forEach(\n      (item, index) => (content = content.replace(new RegExp(`\\\\{\\\\s?${index}\\\\s?\\\\}`, 'g'), `${item}`))\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 { Injectable, OnDestroy, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription, share } from 'rxjs';\n\nimport { ACLService } from '@delon/acl';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Menu, MenuIcon, MenuInner } from './interface';\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\n\n/**\n * 菜单服务，[在线文档](https://ng-alain.com/theme/menu)\n */\n@Injectable({ providedIn: 'root' })\nexport class MenuService implements OnDestroy {\n  private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n  private readonly aclService = inject(ACLService);\n  private _change$: BehaviorSubject<Menu[]> = new BehaviorSubject<Menu[]>([]);\n  private i18n$?: Subscription;\n  private data: Menu[] = [];\n  /**\n   * 是否完全受控菜单打开状态，默认：`false`\n   */\n  openStrictly = false;\n\n  constructor() {\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  get menus(): Menu[] {\n    return this.data;\n  }\n\n  /**\n   * Returns a default menu link\n   *\n   * 返回一个默认跳转的菜单链接\n   */\n  getDefaultRedirect(opt: { redirectUrl?: string } = {}): string | null | undefined {\n    let ret: string | null | undefined;\n    this.visit(this.menus, (item: MenuInner) => {\n      if (typeof item.link !== 'string' || item.link.length <= 0 || !item._aclResult || item._hidden === true) {\n        return;\n      }\n      if (ret == null || ret.length <= 0 || item.link == opt?.redirectUrl) {\n        ret = item.link;\n      }\n    });\n    return ret;\n  }\n\n  visit<T extends Menu = Menu>(data: T[], callback: (item: T, parentMenum: T | null, depth?: number) => void): void;\n  visit(data: Menu[], callback: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\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.render_type) item.render_type = 'item';\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.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.can(item.acl) : true;\n\n    item.open = item.open != null ? item.open : false;\n  }\n\n  /**\n   * 重置菜单，可能I18N、用户权限变动时需要调用刷新\n   */\n  resume<T extends Menu = Menu>(callback?: (item: T, parentMenum: T | null, depth?: number) => void): void;\n  resume(callback?: (item: Menu, parentMenum: Menu | null, depth?: number) => void): void;\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) _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  /**\n   * 清空菜单\n   */\n  clear(): void {\n    this.data = [];\n    this._change$.next(this.data);\n  }\n\n  /**\n   * Use `url` or `key` to find menus\n   *\n   * 利用 `url` 或 `key` 查找菜单\n   */\n  find(options: {\n    key?: string | null;\n    url?: string | null;\n    recursive?: boolean | null;\n    /**\n     * When the callback returns a Boolean type, it means the custom validation result\n     *\n     * 当回调返回一个布尔类型时，表示自定义校验结果\n     */\n    cb?: ((i: Menu) => boolean | null) | null;\n    /**\n     * Use the current menu data by default\n     *\n     * 默认使用当前菜单数据\n     */\n    data?: Menu[] | null;\n    /**\n     * Whether to ignore hide items, default: `false`\n     *\n     * 是否忽略隐藏的项，默认：`false`\n     */\n    ignoreHide?: boolean;\n    /**\n     * Whether to return the last one, default: `false`\n     *\n     * 是否返回最后一个，默认：`false`\n     */\n    last?: boolean;\n  }): Menu | null {\n    const opt = { recursive: false, ignoreHide: false, last: false, ...options };\n    if (opt.key != null) {\n      return this.getItem(opt.key);\n    }\n\n    let url = opt.url;\n\n    let item: Menu | null = null;\n\n    while (!item && url) {\n      this.visit(opt.data ?? this.data, i => {\n        if (!opt.last && item != null) {\n          return;\n        }\n        if (opt.ignoreHide && i.hide) {\n          return;\n        }\n        if (opt.cb) {\n          const res = opt.cb(i);\n          if (typeof res === 'boolean' && res) {\n            item = i;\n          }\n        }\n        if (i.link != null && i.link === url) {\n          item = i;\n        }\n      });\n\n      if (!opt.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获取菜单列表\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.find({ 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 | Menu, value: Menu, options?: { emit?: boolean }): void {\n    const item = typeof key === 'string' ? this.getItem(key) : 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    if (options?.emit !== false) this._change$.next(this.data);\n  }\n\n  /**\n   * Open menu based on `key` or menu object\n   */\n  open(keyOrItem: string | Menu | null, options?: { emit?: boolean }): void {\n    let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n    if (item == null) return;\n\n    this.visit(this.menus, (i: MenuInner) => {\n      i._selected = false;\n      if (!this.openStrictly) i.open = false;\n    });\n\n    do {\n      item._selected = true;\n      item.open = true;\n      item = item._parent;\n    } while (item);\n    if (options?.emit !== false) this._change$.next(this.data);\n  }\n\n  openAll(status?: boolean): void {\n    this.toggleOpen(null, { allStatus: status });\n  }\n\n  toggleOpen(keyOrItem: string | Menu | null, options?: { allStatus?: boolean; emit?: boolean }): void {\n    let item = typeof keyOrItem === 'string' ? this.find({ key: keyOrItem }) : keyOrItem;\n    if (item == null) {\n      this.visit(this.menus, (i: MenuInner) => {\n        i._selected = false;\n        i.open = options?.allStatus === true;\n      });\n    } else {\n      if (!this.openStrictly) {\n        this.visit(this.menus, (i: MenuInner) => {\n          if (i !== item) i.open = false;\n        });\n        let pItem = item._parent;\n        while (pItem) {\n          pItem.open = true;\n          pItem = pItem._parent;\n        }\n      }\n      item.open = !item.open;\n    }\n    if (options?.emit !== false) 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 { Injectable, InjectionToken, Provider, inject, signal } 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');\nexport const ALAIN_SETTING_DEFAULT: Provider = {\n  provide: ALAIN_SETTING_KEYS,\n  useValue: {\n    layout: 'layout',\n    user: 'user',\n    app: 'app'\n  }\n};\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> {\n  private readonly KEYS = inject(ALAIN_SETTING_KEYS);\n  private readonly platform = inject(Platform);\n\n  private notify$ = new Subject<SettingsNotify>();\n  readonly appSignal = signal<A>({\n    year: new Date().getFullYear(),\n    ...this.getData(this.KEYS.app)\n  });\n  readonly userSignal = signal<U>({ ...this.getData(this.KEYS.user) });\n  readonly layoutSignal = signal<L>({\n    fixed: true,\n    collapsed: false,\n    boxed: false,\n    lang: null,\n    ...this.getData(this.KEYS.layout)\n  });\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    return this.layoutSignal() as L;\n  }\n\n  get app(): A {\n    return this.appSignal() as A;\n  }\n\n  get user(): U {\n    return this.userSignal() as U;\n  }\n\n  get notify(): Observable<SettingsNotify> {\n    return this.notify$.asObservable();\n  }\n\n  setLayout<T extends Layout = Layout>(name: T, value?: NzSafeAny): boolean;\n  setLayout(name: string | L, value?: NzSafeAny): boolean;\n  setLayout(name: string | L, value?: NzSafeAny): boolean {\n    this.layoutSignal.update(l => {\n      if (typeof name === 'string') {\n        (l as Layout)[name] = value;\n        return { ...l };\n      }\n      return { ...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  getLayout<T>(): T {\n    return this.layout as unknown as T;\n  }\n\n  setApp<T extends App = App>(value: T): void;\n  setApp(value: A): void;\n  setApp(value: A): void {\n    this.appSignal.set(value);\n    this.setData(this.KEYS.app, value);\n    this.notify$.next({ type: 'app', value });\n  }\n  getApp<T>(): T {\n    return this.app as unknown as T;\n  }\n\n  setUser<T extends User = User>(value: T): void;\n  setUser(value: U): void;\n  setUser(value: U): void {\n    this.userSignal.set(value);\n    this.setData(this.KEYS.user, value);\n    this.notify$.next({ type: 'user', value });\n  }\n  getUser<T>(): T {\n    return this.user as unknown as T;\n  }\n}\n","import { inject, Injectable } from '@angular/core';\n\nimport { AlainConfigService, AlainThemeResponsiveConfig } from '@delon/util/config';\n\nexport const REP_MAX = 6;\nexport const SPAN_MAX = 24;\n\nexport type REP_TYPE = 1 | 2 | 3 | 4 | 5 | 6;\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveService {\n  private readonly cogSrv = inject(AlainConfigService);\n  private cog: AlainThemeResponsiveConfig;\n  constructor() {\n    this.cog = this.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, defaultCol: number = 1): string[] {\n    const rule = { ...this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)] };\n    const antColClass = 'ant-col';\n\n    const itemMaxSpan = SPAN_MAX / defaultCol;\n    const paddingSpan = (value: number | undefined): number | undefined => {\n      if (value == null || defaultCol <= 1 || count >= defaultCol) return value;\n      return Math.max(value, count * itemMaxSpan);\n    };\n    const clsMap = [`${antColClass}-xs-${paddingSpan(rule.xs)}`];\n    if (rule.sm) clsMap.push(`${antColClass}-sm-${paddingSpan(rule.sm)}`);\n    if (rule.md) clsMap.push(`${antColClass}-md-${paddingSpan(rule.md)}`);\n    if (rule.lg) clsMap.push(`${antColClass}-lg-${paddingSpan(rule.lg)}`);\n    if (rule.xl) clsMap.push(`${antColClass}-xl-${paddingSpan(rule.xl)}`);\n    if (rule.xxl) clsMap.push(`${antColClass}-xxl-${paddingSpan(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 { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\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 readonly d = inject(Directionality);\n  private readonly nz = inject(NzConfigService);\n  private readonly delon = inject(AlainConfigService);\n  private readonly platform = inject(Platform);\n  private readonly doc = inject(DOCUMENT);\n  private readonly srv = inject(SettingsService);\n\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.valueSignal.set(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    this.dir = this.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 { DestroyRef, Injectable, Injector, OnDestroy, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, of, map, delay, isObservable, switchMap, Subscription } from 'rxjs';\n\nimport { ALAIN_I18N_TOKEN } from '../i18n/i18n';\nimport { MenuService } from '../menu/menu.service';\n\nexport interface RouteTitle {\n  title?: string | Observable<string>;\n  titleI18n?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService implements OnDestroy {\n  private destroy$ = inject(DestroyRef);\n  private _prefix: string = '';\n  private _suffix: string = '';\n  private _separator: string = ' - ';\n  private _reverse: boolean = false;\n  private tit$?: Subscription;\n\n  readonly DELAY_TIME = 25;\n\n  private readonly doc = inject(DOCUMENT);\n  private readonly injector = inject(Injector);\n  private readonly title = inject(Title);\n  private readonly menuSrv = inject(MenuService);\n  private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n\n  constructor() {\n    this.i18nSrv.change.pipe(takeUntilDestroyed()).subscribe(() => this.setTitle());\n  }\n\n  /**\n   * Set separator\n   *\n   * 设置分隔符\n   */\n  set separator(value: string) {\n    this._separator = value;\n  }\n\n  /**\n   * Set prefix\n   *\n   * 设置前缀\n   */\n  set prefix(value: string) {\n    this._prefix = value;\n  }\n\n  /**\n   * Set suffix\n   *\n   * 设置后缀\n   */\n  set suffix(value: string) {\n    this._suffix = value;\n  }\n\n  /**\n   * Set whether to reverse\n   *\n   * 设置是否反转\n   */\n  set reverse(value: boolean) {\n    this._reverse = value;\n  }\n\n  /**\n   * Set the default CSS selector string\n   *\n   * 设置默认CSS选择器字符串\n   */\n  selector?: string | null;\n\n  /**\n   * Set default title name\n   *\n   * 设置默认标题名\n   */\n  default = `Not Page Name`;\n\n  private getByElement(): Observable<string> {\n    return of('').pipe(\n      delay(this.DELAY_TIME),\n      map(() => {\n        const el = ((this.selector != null ? this.doc.querySelector(this.selector) : null) ||\n          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  }\n\n  private getByRoute(): Observable<string> {\n    let next = this.injector.get(ActivatedRoute);\n    while (next.firstChild) next = next.firstChild;\n    const data: RouteTitle = (next.snapshot && next.snapshot.data) ?? {};\n    if (data.titleI18n) data.title = this.i18nSrv.fanyi(data.titleI18n);\n    return isObservable(data.title) ? data.title : of(data.title!);\n  }\n\n  private getByMenu(): Observable<string> {\n    const menus = this.menuSrv.getPathByUrl(this.injector.get<Router>(Router).url);\n    if (!menus || menus.length <= 0) return of('');\n\n    const item = menus[menus.length - 1];\n    let title;\n    if (item.i18n) title = this.i18nSrv.fanyi(item.i18n);\n    return of(title ?? item.text!);\n  }\n\n  /**\n   * Set the document title\n   */\n  setTitle(title?: string | string[]): void {\n    this.tit$?.unsubscribe();\n    this.tit$ = of(title)\n      .pipe(\n        switchMap(tit => (tit ? of(tit) : this.getByRoute())),\n        switchMap(tit => (tit ? of(tit) : this.getByMenu())),\n        switchMap(tit => (tit ? of(tit) : this.getByElement())),\n        map(tit => tit || this.default),\n        map(title => (!Array.isArray(title) ? [title] : title)),\n        takeUntilDestroyed(this.destroy$)\n      )\n      .subscribe(titles => {\n        let newTitles: string[] = [];\n        if (this._prefix) {\n          newTitles.push(this._prefix);\n        }\n        newTitles.push(...titles.filter(title => !!title));\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  /**\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.tit$?.unsubscribe();\n  }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Pipe({ name: 'i18n' })\nexport class I18nPipe implements PipeTransform {\n  private readonly i18n = inject(ALAIN_I18N_TOKEN);\n\n  transform(key: string, params?: unknown | unknown[]): string {\n    return this.i18n.fanyi(key, params);\n  }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateChildFn, CanActivateFn } from '@angular/router';\nimport { Observable, of } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\n\nimport { ALAIN_I18N_TOKEN } from './i18n';\n\n@Injectable({ providedIn: 'root' })\nexport class AlainI18NGuardService {\n  private readonly i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });\n  private readonly cogSrv = inject(AlainConfigService);\n\n  process(route: ActivatedRouteSnapshot): Observable<boolean> {\n    const lang = route.params && route.params[this.cogSrv.get('themeI18n')?.paramNameOfUrlGuard ?? 'i18n'];\n    if (lang != null) {\n      this.i18nSrv?.use(lang);\n    }\n    return of(true);\n  }\n}\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫，自动识别Url中的语言，并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n *  path: 'home',\n *  canActivate: [ alainI18nCanActivate ]\n * }\n * ```\n */\nexport const alainI18nCanActivate: CanActivateFn = childRoute => inject(AlainI18NGuardService).process(childRoute);\n\n/**\n * Internationalization guard, automatically recognizes the language in Url and triggers the `ALAIN_I18N_TOKEN.use` method\n *\n * 国际化守卫，自动识别Url中的语言，并触发 `ALAIN_I18N_TOKEN.use` 方法\n *\n * ```ts\n * data: {\n *  path: 'home',\n *  canActivateChild: [ alainI18nCanActivateChild ]\n * }\n * ```\n */\nexport const alainI18nCanActivateChild: CanActivateChildFn = route => inject(AlainI18NGuardService).process(route);\n","import { createDragRef, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Injectable, Injector, TemplateRef, Type, inject } from '@angular/core';\nimport { SIGNAL, SignalNode } from '@angular/core/primitives/signals';\nimport { Observable, Observer, delay, take, tap } 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\nconst CLS_DRAG = 'MODAL-DRAG';\n\nexport interface ModalHelperOptions {\n  /** 大小；例如：lg、600、80%，默认：`lg` */\n  size?: 'sm' | 'md' | 'lg' | 'xl' | '' | number | string;\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  drag?: ModalHelperDragOptions | boolean;\n  /**\n   * 是否强制使用 `nzData` 传递参数，若为 `false` 表示参数会直接映射到组件实例中，其他值只能通过 `NZ_MODAL_DATA` 的方式来获取参数，默认：`false`\n   */\n  useNzData?: boolean;\n\n  /**\n   * 设置焦点按钮\n   */\n  focus?: 'ok' | 'cancel';\n}\n\nexport interface ModalHelperDragOptions {\n  /**\n   * 指定拖地区域的类名，若指定为 `null` 时表示整个对话框，默认：`.modal-header, .ant-modal-title`\n   */\n  handleCls?: string | null;\n}\n\n/**\n * 对话框辅助类\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalHelper {\n  private readonly srv = inject(NzModalService);\n  private readonly injector = inject(Injector);\n  private readonly doc = inject(DOCUMENT);\n\n  private buildDrag(options: ModalHelperDragOptions, wrapCls: string): DragRef {\n    const wrapEl = this.doc.querySelector(wrapCls) as HTMLDivElement;\n    const modalEl = wrapEl.firstChild as HTMLDivElement;\n    const handelEl = options.handleCls ? wrapEl.querySelector<HTMLDivElement>(options.handleCls) : null;\n    if (handelEl) {\n      handelEl.classList.add(`${CLS_DRAG}-HANDLE`);\n    }\n\n    return createDragRef(this.injector, handelEl ?? modalEl)\n      .withHandles([handelEl ?? modalEl])\n      .withBoundaryElement(wrapEl)\n      .withRootElement(modalEl);\n  }\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> | 'confirm' | 'info' | 'success' | 'error' | 'warning',\n    params?: NzSafeAny | ModalHelperOptions | null,\n    options?: ModalHelperOptions\n  ): Observable<NzSafeAny> {\n    const isBuildIn = typeof comp === 'string';\n    options = deepMerge(\n      {\n        size: 'lg',\n        exact: true,\n        includeTabs: false\n      },\n      isBuildIn && arguments.length === 2 ? params : options\n    );\n    return new Observable((observer: Observer<NzSafeAny>) => {\n      const { size, includeTabs, modalOptions, drag, useNzData, focus } = options as ModalHelperOptions;\n      let cls: string[] = [];\n      let width = '';\n      if (size) {\n        if (typeof size === 'number') {\n          width = `${size}px`;\n        } else if (['sm', 'md', 'lg', 'xl'].includes(size)) {\n          cls.push(`modal-${size}`);\n        } else {\n          width = size;\n        }\n      }\n      if (includeTabs) {\n        cls.push(`modal-include-tabs`);\n      }\n      if (modalOptions && modalOptions.nzWrapClassName) {\n        cls.push(modalOptions.nzWrapClassName);\n        delete modalOptions.nzWrapClassName;\n      }\n      let dragOptions: ModalHelperDragOptions | null;\n      let dragWrapCls = `${CLS_DRAG}-${+new Date()}`;\n      let dragRef: DragRef | null;\n      if (drag != null && drag !== false) {\n        dragOptions = {\n          handleCls: `.modal-header, .ant-modal-title`,\n          ...(typeof drag === 'object' ? drag : {})\n        };\n        cls.push(CLS_DRAG, dragWrapCls);\n      }\n      const mth = isBuildIn ? this.srv[comp] : this.srv.create;\n      const callOptions: ModalOptions = {\n        nzWrapClassName: cls.join(' '),\n        nzFooter: null,\n        nzData: params,\n        nzDraggable: false,\n        ...modalOptions\n      };\n      if (!isBuildIn) callOptions.nzContent = comp;\n      if (width) callOptions.nzWidth = width;\n      const modalRef = mth.call(this.srv, callOptions);\n      // 保留 nzComponentParams 原有风格，但依然可以通过 @Inject(NZ_MODAL_DATA) 获取\n      if (modalRef.componentInstance != null && useNzData !== true && params != null) {\n        Object.entries(params as object).forEach(([key, value]) => {\n          const t = modalRef.componentInstance as any;\n          const s = t[key]?.[SIGNAL] as SignalNode<any>;\n          if (s != null) {\n            s.value = value;\n          } else {\n            t[key] = value;\n          }\n        });\n      }\n      modalRef.afterOpen\n        .pipe(\n          take(1),\n          delay(modalOptions?.nzNoAnimation ? 25 : 341),\n          tap(() => {\n            if (dragOptions != null) {\n              dragRef = this.buildDrag(dragOptions, `.${dragWrapCls}`);\n            }\n          })\n        )\n        .subscribe(() => {\n          if (focus == null) return;\n          const btns = modalRef\n            .getElement()\n            .querySelector<HTMLDivElement>('.ant-modal-confirm-btns, .modal-footer')\n            ?.querySelectorAll<HTMLButtonElement>('.ant-btn');\n          const btnSize = btns?.length ?? 0;\n          let el: HTMLButtonElement | null = null;\n          if (btnSize === 1) {\n            el = btns![0];\n          } else if (btnSize > 1) {\n            el = btns![focus === 'ok' ? 1 : 0];\n          }\n          if (el != null) {\n            el.focus();\n            el.dataset.focused = focus;\n          }\n        });\n      modalRef.afterClose.pipe(take(1)).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        dragRef?.dispose();\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, inject } 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  private readonly srv = inject(NzDrawerService);\n  private readonly parentDrawer = inject(DrawerHelper, { optional: true, skipSelf: true });\n  private openDrawersAtThisLevel: NzDrawerRef[] = [];\n  get openDrawers(): NzDrawerRef[] {\n    return this.parentDrawer ? this.parentDrawer.openDrawers : this.openDrawersAtThisLevel;\n  }\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': `${footerHeight! + 24}px`\n        };\n      }\n\n      const ref = this.srv.create({ ...defaultOptions, ...drawerOptions });\n      this.openDrawers.push(ref);\n      const afterClose$ = ref.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        this.close(ref);\n      });\n    });\n  }\n\n  private close(ref: NzDrawerRef): void {\n    const idx = this.openDrawers.indexOf(ref);\n    if (idx === -1) return;\n    this.openDrawers.splice(idx, 1);\n  }\n\n  closeAll(): void {\n    let i = this.openDrawers.length;\n    while (i--) {\n      this.openDrawers[i].close();\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","import { HttpClient, HttpContext, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, of, delay, finalize, switchMap, tap } from 'rxjs';\n\nimport { AlainConfigService, AlainThemeHttpClientConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type _HttpHeaders = HttpHeaders | Record<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 readonly http = inject(HttpClient);\n  private readonly cogSrv = inject(AlainConfigService);\n  private cog: AlainThemeHttpClientConfig;\n  constructor() {\n    this.cog = this.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    const { nullValueHandling, dateValueHandling } = this.cog;\n    Object.keys(params).forEach(key => {\n      let paramValue = params[key];\n      // 忽略空值\n      if (nullValueHandling === 'ignore' && paramValue == null) return;\n      // 将时间转化为：时间戳 (秒)\n      if (\n        paramValue instanceof Date &&\n        (dateValueHandling === 'timestamp' || dateValueHandling === 'timestampSecond')\n      ) {\n        paramValue = dateValueHandling === 'timestamp' ? paramValue.valueOf() : Math.trunc(paramValue.valueOf() / 1000);\n      }\n      newParams[key] = paramValue;\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: 'body' | '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      body?: any;\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      body?: any;\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      body?: any;\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      body?: any;\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      body?: any;\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","import { HttpHeaders, HttpContext } from '@angular/common/http';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\nimport { ACLService, ACLCanType } 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  protected readonly injector = inject(Injector);\n}\n\nexport interface HttpOptions {\n  /** ACL配置，若导入 `@delon/acl` 时自动有效，等同于 `ACLService.can(roleOrAbility: ACLCanType)` 参数值 */\n  acl?: ACLCanType;\n  observe?: 'body' | 'events' | 'response';\n  responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n  reportProgress?: boolean;\n  withCredentials?: boolean;\n  context?: HttpContext;\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(headers: HttpHeaders | Record<string, string | string[]>) {\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.substring(1) : requestUrl].join(\n          '/'\n        );\n        // fix last split\n        if (requestUrl.length > 1 && requestUrl.endsWith('/')) {\n          requestUrl = requestUrl.substring(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 = ['POST', 'PUT', 'PATCH', 'DELETE'].some(v => v === method);\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 { HttpContextToken } from '@angular/common/http';\n\n/**\n * Whether to customize the handling of exception messages\n *\n * 是否自定义处理异常消息\n *\n * @example\n * this.http.post(`login`, {\n *  name: 'cipchk', pwd: '123456'\n * }, {\n *  context: new HttpContext()\n *              .set(ALLOW_ANONYMOUS, true)\n *              .set(CUSTOM_ERROR, true)\n * }).subscribe({\n *  next: console.log,\n *  error: console.log\n * });\n */\nexport const CUSTOM_ERROR = new HttpContextToken(() => false);\n\n/**\n * Whether to ignore API prefixes\n *\n * 是否忽略API前缀\n *\n * @example\n * // When environment.api.baseUrl set '/api'\n *\n * this.http.get(`/path`) // Request Url: /api/path\n * this.http.get(`/path`, { context: new HttpContext().set(IGNORE_BASE_URL, true) }) // Request Url: /path\n */\nexport const IGNORE_BASE_URL = new HttpContextToken(() => false);\n\n/**\n * Whether to return raw response body\n *\n * 是否原样返回请求Body\n */\nexport const RAW_BODY = new HttpContextToken(() => false);\n","import { InjectionToken } from '@angular/core';\n\nimport type { FullLocaleData } from './locale.types';\n\nexport const DELON_LOCALE = new InjectionToken<FullLocaleData>('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    more: '更多'\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  datePicker: {\n    today: '今天',\n    yesterday: '昨天',\n    last3Days: '近3天',\n    last7Days: '近7天',\n    thisWeek: '本周',\n    lastWeek: '上周',\n    thisMonth: '本月',\n    lastMonth: '上个月',\n    thisYear: '今年'\n  },\n  loading: {\n    text: '加载中...'\n  },\n  pageHeader: {\n    home: '首页'\n  }\n} as FullLocaleData;\n","import { inject, Injectable, Optional, Provider, Signal, SkipSelf } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nimport zhCN from './languages/zh-CN';\nimport { DELON_LOCALE } from './locale.tokens';\nimport type { FullLocaleData } from './locale.types';\n\n@Injectable()\nexport class DelonLocaleService {\n  private defLocale = inject(DELON_LOCALE, { optional: true });\n  private _locale: FullLocaleData = zhCN;\n  private change$ = new BehaviorSubject<FullLocaleData>(this._locale);\n\n  constructor() {\n    this.setLocale(this.defLocale ?? 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  valueSignal<K extends keyof FullLocaleData>(key: K): Signal<FullLocaleData[K]> {\n    const ret = toSignal(this.change.pipe(map(() => this.getData(key))), {\n      initialValue: this._locale[key]\n    });\n    return ret;\n  }\n\n  get locale(): FullLocaleData {\n    return this._locale;\n  }\n\n  getData<K extends keyof FullLocaleData>(key: K): FullLocaleData[K] {\n    return (this._locale[key] ?? {}) as FullLocaleData[K];\n  }\n}\n\nexport function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(exist: DelonLocaleService): DelonLocaleService {\n  return exist ?? new DelonLocaleService();\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]]\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    more: 'More'\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  datePicker: {\n    today: 'Today',\n    yesterday: 'Yesterday',\n    last3Days: 'Last 3 Days',\n    last7Days: 'Last 7 Days',\n    thisWeek: 'This Week',\n    lastWeek: 'Last Week',\n    thisMonth: 'This Month',\n    lastMonth: 'Last Month',\n    thisYear: 'This Year'\n  },\n  loading: {\n    text: 'Loading...'\n  },\n  pageHeader: {\n    home: 'Home'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'zh-HK',\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    more: '更多'\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  datePicker: {\n    today: '今日',\n    yesterday: '昨日',\n    last3Days: '近3日',\n    last7Days: '近7日',\n    thisWeek: '本星期',\n    lastWeek: '上星期',\n    thisMonth: '本月',\n    lastMonth: '上個月',\n    thisYear: '今年'\n  },\n  loading: {\n    text: '加載中...'\n  },\n  pageHeader: {\n    home: '主頁'\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    more: '更多'\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  datePicker: {\n    today: '今天',\n    yesterday: '昨天',\n    last3Days: '近3天',\n    last7Days: '近7天',\n    thisWeek: '本週',\n    lastWeek: '上週',\n    thisMonth: '本月',\n    lastMonth: '上個月',\n    thisYear: '今年'\n  },\n  loading: {\n    text: '加載中...'\n  },\n  pageHeader: {\n    home: '首頁'\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    more: 'Daha fazla'\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  datePicker: {\n    today: 'Bugün',\n    yesterday: 'Dün',\n    last3Days: 'Son 3 Gün',\n    last7Days: 'Son 7 Gün',\n    thisWeek: 'Bu Hafta',\n    lastWeek: 'Geçen Hafta',\n    thisMonth: 'Bu Ay',\n    lastMonth: 'Geçen Ay',\n    thisYear: 'Bu Yıl'\n  },\n  loading: {\n    text: 'Yükleniyor...'\n  },\n  pageHeader: {\n    home: 'Ana Sayfa'\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    more: 'Więcej'\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  datePicker: {\n    today: 'Dzisiaj',\n    yesterday: 'Wczoraj',\n    last3Days: 'Ost. 3 dni',\n    last7Days: 'Ost. 7 dni',\n    thisWeek: 'Ten tydzień',\n    lastWeek: 'Poprz. tydzień',\n    thisMonth: 'Ten miesiąc',\n    lastMonth: 'Poprz. miesiąc',\n    thisYear: 'Ten rok'\n  },\n  loading: {\n    text: 'Ładowanie...'\n  },\n  pageHeader: {\n    home: 'Strona główna'\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    more: 'Περισσότερα'\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  datePicker: {\n    today: 'Σήμερα',\n    yesterday: 'Χθές',\n    last3Days: 'Τελ. 3 ημ.',\n    last7Days: 'Τελ. 7 ημ.',\n    thisWeek: 'Αυτή την εβδ.',\n    lastWeek: 'Προηγ. εβδ.',\n    thisMonth: 'Αυτό το μήνα',\n    lastMonth: 'Προηγ. μήνα',\n    thisYear: 'Αυτό το έτος'\n  },\n  loading: {\n    text: 'Φόρτωση...'\n  },\n  pageHeader: {\n    home: 'Αρχική'\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    more: '더보기'\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  datePicker: {\n    today: '오늘',\n    yesterday: '어제',\n    last3Days: '지난 3일',\n    last7Days: '지난 7일',\n    thisWeek: '이번 주',\n    lastWeek: '지난주',\n    thisMonth: '이번 달',\n    lastMonth: '지난달',\n    thisYear: '올해'\n  },\n  loading: {\n    text: '로딩 중...'\n  },\n  pageHeader: {\n    home: '홈'\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    more: 'Više'\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  datePicker: {\n    today: 'Danas',\n    yesterday: 'Jučer',\n    last3Days: 'Posl. 3 dana',\n    last7Days: 'Posl. 7 dana',\n    thisWeek: 'Ovaj tjedan',\n    lastWeek: 'Prošli tjedan',\n    thisMonth: 'Ovaj mjesec',\n    lastMonth: 'Prošli mjesec',\n    thisYear: 'Ova godina'\n  },\n  loading: {\n    text: 'Učitavanje...'\n  },\n  pageHeader: {\n    home: 'Početna'\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    more: 'もっと'\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  datePicker: {\n    today: '今日',\n    yesterday: '昨日',\n    last3Days: '直近3日',\n    last7Days: '直近7日',\n    thisWeek: '今週',\n    lastWeek: '先週',\n    thisMonth: '今月',\n    lastMonth: '先月',\n    thisYear: '今年'\n  },\n  loading: {\n    text: '読み込み中...'\n  },\n  pageHeader: {\n    home: 'ホーム'\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    more: 'Več'\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  datePicker: {\n    today: 'Danes',\n    yesterday: 'Včeraj',\n    last3Days: 'Zadnji 3 dnevi',\n    last7Days: 'Zadnjih 7 dni',\n    thisWeek: 'Ta teden',\n    lastWeek: 'Prejšnji teden',\n    thisMonth: 'Ta mesec',\n    lastMonth: 'Prejšnji mesec',\n    thisYear: 'Letos'\n  },\n  loading: {\n    text: 'Nalaganje...'\n  },\n  pageHeader: {\n    home: 'Domov'\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    more: 'Plus'\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  datePicker: {\n    today: 'Auj.',\n    yesterday: 'Hier',\n    last3Days: '3 derniers j.',\n    last7Days: '7 derniers j.',\n    thisWeek: 'Sem. en cours',\n    lastWeek: 'Sem. dernière',\n    thisMonth: 'Mois en cours',\n    lastMonth: 'Mois dernier',\n    thisYear: 'Année en cours'\n  },\n  loading: {\n    text: 'Chargement...'\n  },\n  pageHeader: {\n    home: 'Accueil'\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    more: 'Más'\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  datePicker: {\n    today: 'Hoy',\n    yesterday: 'Ayer',\n    last3Days: 'Últ. 3 días',\n    last7Days: 'Últ. 7 días',\n    thisWeek: 'Esta sem.',\n    lastWeek: 'Sem. pasada',\n    thisMonth: 'Este mes',\n    lastMonth: 'Mes pasado',\n    thisYear: 'Este año'\n  },\n  loading: {\n    text: 'Cargando...'\n  },\n  pageHeader: {\n    home: 'Inicio'\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    more: 'Altro'\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  datePicker: {\n    today: 'Oggi',\n    yesterday: 'Ieri',\n    last3Days: 'Ultimi 3 gg',\n    last7Days: 'Ultimi 7 gg',\n    thisWeek: 'Questa sett.',\n    lastWeek: 'Sett. scorsa',\n    thisMonth: 'Questo mese',\n    lastMonth: 'Mese scorso',\n    thisYear: \"Quest'anno\"\n  },\n  loading: {\n    text: 'Caricamento...'\n  },\n  pageHeader: {\n    home: 'Home'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'vi-VN',\n  exception: {\n    403: `Xin lỗi, bạn không có quyền truy cập vào trang này`,\n    404: `Xin lỗi, trang bạn truy cập không tồn tại`,\n    500: `Xin lỗi, máy chủ đang báo cáo một lỗi`,\n    backToHome: 'Quay lại Trang chủ'\n  },\n  noticeIcon: {\n    emptyText: 'Không có dữ liệu',\n    clearText: 'Xóa'\n  },\n  reuseTab: {\n    close: 'Đóng tab',\n    closeOther: 'Đóng các tab khác',\n    closeRight: 'Đóng các tab bên phải',\n    refresh: 'Làm mới'\n  },\n  tagSelect: {\n    expand: 'Mở rộng',\n    collapse: 'Thu gọn'\n  },\n  miniProgress: {\n    target: 'Mục tiêu: '\n  },\n  st: {\n    total: '{{range[0]}} - {{range[1]}} của {{total}}',\n    filterConfirm: 'OK',\n    filterReset: 'Đặt lại',\n    more: 'Thêm'\n  },\n  sf: {\n    submit: 'Gửi',\n    reset: 'Đặt lại',\n    search: 'Tìm kiếm',\n    edit: 'Lưu',\n    addText: 'Thêm',\n    removeText: 'Xóa',\n    checkAllText: 'Chọn tất cả',\n    error: {\n      'false schema': `Mô hình Boolean sai`,\n      $ref: `Không thể giải quyết tham chiếu {ref}`,\n      additionalItems: `Không nên có nhiều hơn {limit} mục`,\n      additionalProperties: `Không nên có các thuộc tính bổ sung`,\n      anyOf: `Nên phù hợp với một số mô hình trong \"anyOf\"`,\n      dependencies: `nên có thuộc tính {deps} khi thuộc tính {property} hiện diện`,\n      enum: `Nên bằng với một trong số các giá trị được xác định trước`,\n      format: `Nên phù hợp với định dạng \"{format}\"`,\n      type: `Nên là {type}`,\n      required: `Bắt buộc`,\n      maxLength: `Không nên dài hơn {limit} ký tự`,\n      minLength: `Không nên ngắn hơn {limit} ký tự`,\n      minimum: `Nên là {comparison} {limit}`,\n      formatMinimum: `Nên là {comparison} {limit}`,\n      maximum: `Nên là {comparison} {limit}`,\n      formatMaximum: `Nên là {comparison} {limit}`,\n      maxItems: `Không nên có nhiều hơn {limit} mục`,\n      minItems: `Không nên có ít hơn {limit} mục`,\n      maxProperties: `Không nên có nhiều hơn {limit} thuộc tính`,\n      minProperties: `Không nên có ít hơn {limit} thuộc tính`,\n      multipleOf: `Nên là bội số của {multipleOf}`,\n      not: `Không nên hợp lệ theo mô hình trong \"not\"`,\n      oneOf: `Nên phù hợp chính xác với một mô hình trong \"oneOf\"`,\n      pattern: `Nên phù hợp với mẫu \"{pattern}\"`,\n      uniqueItems: `Không nên có các mục trùng lặp (mục ## {j} và {i} giống nhau)`,\n      custom: `Nên phù hợp với định dạng`,\n      propertyNames: `Tên thuộc tính \"{propertyName}\" không hợp lệ`,\n      patternRequired: `Nên có thuộc tính phù hợp với mẫu \"{missingPattern}\"`,\n      switch: `Nên vượt qua việc xác nhận từ khóa \"switch\", trường hợp {caseIndex} thất bại`,\n      const: `Nên bằng với hằng số`,\n      contains: `Nên chứa một mục hợp lệ`,\n      formatExclusiveMaximum: `formatExclusiveMaximum nên là boolean`,\n      formatExclusiveMinimum: `formatExclusiveMinimum nên là boolean`,\n      if: `Nên phù hợp với mô hình \"{failingKeyword}\"`\n    }\n  },\n  onboarding: {\n    skip: `Bỏ qua`,\n    prev: `Trước`,\n    next: `Tiếp`,\n    done: `Hoàn thành`\n  },\n  datePicker: {\n    today: 'Hôm nay',\n    yesterday: 'Hôm qua',\n    last3Days: '3 ngày qua',\n    last7Days: '7 ngày qua',\n    thisWeek: 'Tuần này',\n    lastWeek: 'Tuần trước',\n    thisMonth: 'Tháng này',\n    lastMonth: 'Tháng trước',\n    thisYear: 'Năm nay'\n  },\n  loading: {\n    text: 'Đang tải...'\n  },\n  pageHeader: {\n    home: 'Trang chủ'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'ar-SA',\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    more: 'المزيد'\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: `يجب ألا يحتوي على عناصر إضافية`,\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: `يجب ألا يحتوي على عناصر مكررة`,\n      custom: `يجب أن يكون صالحًا`,\n      propertyNames: `يجب أن تكون الخاصية صالحة`,\n      patternRequired: `يجب أن تحتوي على خاصية تطابق النمط \"{missingPattern}\"`,\n      switch: `يجب أن يكون {caseIndex} صالحًا`,\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  datePicker: {\n    today: 'اليوم',\n    yesterday: 'أمس',\n    last3Days: 'آخر 3 أيام',\n    last7Days: 'آخر 7 أيام',\n    thisWeek: 'هذا الأسبوع',\n    lastWeek: 'الأسبوع الماضي',\n    thisMonth: 'هذا الشهر',\n    lastMonth: 'الشهر الماضي',\n    thisYear: 'هذا العام'\n  },\n  loading: {\n    text: 'جاري التحميل...'\n  },\n  pageHeader: {\n    home: 'الرئيسية'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'id-ID',\n  exception: {\n    403: `Maaf, Anda tidak memiliki akses ke halaman ini`,\n    404: `Maaf, halaman yang Anda kunjungi tidak ada`,\n    500: `Maaf, server melaporkan kesalahan`,\n    backToHome: 'Kembali ke Beranda'\n  },\n  noticeIcon: {\n    emptyText: 'Tidak ada data',\n    clearText: 'Bersihkan'\n  },\n  reuseTab: {\n    close: 'Tutup tab',\n    closeOther: 'Tutup tab lainnya',\n    closeRight: 'Tutup tab di sebelah kanan',\n    refresh: 'Segarkan'\n  },\n  tagSelect: {\n    expand: 'Perluas',\n    collapse: 'Ciutkan'\n  },\n  miniProgress: {\n    target: 'Target: '\n  },\n  st: {\n    total: '{{range[0]}} - {{range[1]}} dari {{total}}',\n    filterConfirm: 'OK',\n    filterReset: 'Atur ulang',\n    more: 'Lainnya'\n  },\n  sf: {\n    submit: 'Kirim',\n    reset: 'Atur ulang',\n    search: 'Cari',\n    edit: 'Simpan',\n    addText: 'Tambah',\n    removeText: 'Hapus',\n    checkAllText: 'Pilih semua',\n    error: {\n      'false schema': `Skema boolean salah`,\n      $ref: `Tidak dapat menyelesaikan referensi {ref}`,\n      additionalItems: `Tidak boleh memiliki lebih dari {limit} item`,\n      additionalProperties: `Tidak boleh memiliki properti tambahan`,\n      anyOf: `Harus cocok dengan salah satu skema di \"anyOf\"`,\n      dependencies: `harus memiliki properti {deps} ketika properti {property} ada`,\n      enum: `Harus sama dengan salah satu nilai yang telah ditentukan`,\n      format: `Harus sesuai dengan format \"{format}\"`,\n      type: `Harus berupa {type}`,\n      required: `Diperlukan`,\n      maxLength: `Tidak boleh lebih panjang dari {limit} karakter`,\n      minLength: `Tidak boleh lebih pendek dari {limit} karakter`,\n      minimum: `Harus {comparison} {limit}`,\n      formatMinimum: `Harus {comparison} {limit}`,\n      maximum: `Harus {comparison} {limit}`,\n      formatMaximum: `Harus {comparison} {limit}`,\n      maxItems: `Tidak boleh memiliki lebih dari {limit} item`,\n      minItems: `Tidak boleh memiliki kurang dari {limit} item`,\n      maxProperties: `Tidak boleh memiliki lebih dari {limit} properti`,\n      minProperties: `Tidak boleh memiliki kurang dari {limit} properti`,\n      multipleOf: `Harus kelipatan dari {multipleOf}`,\n      not: `Tidak boleh valid menurut skema dalam \"not\"`,\n      oneOf: `Harus cocok dengan tepat satu skema dalam \"oneOf\"`,\n      pattern: `Harus cocok dengan pola \"{pattern}\"`,\n      uniqueItems: `Tidak boleh memiliki item duplikat (item ## {j} dan {i} identik)`,\n      custom: `Harus sesuai dengan format`,\n      propertyNames: `Nama properti \"{propertyName}\" tidak valid`,\n      patternRequired: `Harus memiliki properti yang cocok dengan pola \"{missingPattern}\"`,\n      switch: `Harus lulus validasi kata kunci \"switch\", kasus {caseIndex} gagal`,\n      const: `Harus sama dengan konstanta`,\n      contains: `Harus berisi item yang valid`,\n      formatExclusiveMaximum: `formatExclusiveMaximum harus berupa boolean`,\n      formatExclusiveMinimum: `formatExclusiveMinimum harus berupa boolean`,\n      if: `Harus cocok dengan skema \"{failingKeyword}\"`\n    }\n  },\n  onboarding: {\n    skip: `Lewati`,\n    prev: `Sebelumnya`,\n    next: `Berikutnya`,\n    done: `Selesai`\n  },\n  datePicker: {\n    today: 'Hari Ini',\n    yesterday: 'Kemarin',\n    last3Days: '3 Hari Terakhir',\n    last7Days: '7 Hari Terakhir',\n    thisWeek: 'Minggu Ini',\n    lastWeek: 'Minggu Lalu',\n    thisMonth: 'Bulan Ini',\n    lastMonth: 'Bulan Lalu',\n    thisYear: 'Tahun Ini'\n  },\n  loading: {\n    text: 'Memuat...'\n  },\n  pageHeader: {\n    home: 'Beranda'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'km-KH',\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    more: 'ច្រើនទៀត'\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 ត្រូវជាប៊ូលីន`,\n      formatExclusiveMinimum: `formatExclusiveMinimum ត្រូវជាប៊ូលីន`,\n      if: `ត្រូវតែត្រូវនឹងស្កីម៉ា \"{failingKeyword}\"`\n    }\n  },\n  onboarding: {\n    skip: `រំលង`,\n    prev: `ថយក្រោយ`,\n    next: `បន្ទាប់`,\n    done: `រួចរាល់`\n  },\n  datePicker: {\n    today: 'ថ្ងៃនេះ',\n    yesterday: 'ម្សិលមិញ',\n    last3Days: '៣ថ្ងៃចុងក្រោយ',\n    last7Days: '៧ថ្ងៃចុងក្រោយ',\n    thisWeek: 'សប្តាហ៍នេះ',\n    lastWeek: 'សប្តាហ៍មុន',\n    thisMonth: 'ខែនេះ',\n    lastMonth: 'ខែមុន',\n    thisYear: 'ឆ្នាំនេះ'\n  },\n  loading: {\n    text: 'កំពុងផ្ទុក...'\n  },\n  pageHeader: {\n    home: 'ទំព័រដើម'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'ms-MY',\n  exception: {\n    403: `Maaf, anda tidak mempunyai akses ke halaman ini`,\n    404: `Maaf, halaman yang anda lawati tidak wujud`,\n    500: `Maaf, pelayan melaporkan ralat`,\n    backToHome: 'Kembali ke Laman Utama'\n  },\n  noticeIcon: {\n    emptyText: 'Tiada data',\n    clearText: 'Padam'\n  },\n  reuseTab: {\n    close: 'Tutup tab',\n    closeOther: 'Tutup tab lain',\n    closeRight: 'Tutup tab di sebelah kanan',\n    refresh: 'Segar semula'\n  },\n  tagSelect: {\n    expand: 'Kembangkan',\n    collapse: 'Lipat'\n  },\n  miniProgress: {\n    target: 'Sasaran: '\n  },\n  st: {\n    total: '{{range[0]}} - {{range[1]}} daripada {{total}}',\n    filterConfirm: 'OK',\n    filterReset: 'Set Semula',\n    more: 'Lagi'\n  },\n  sf: {\n    submit: 'Hantar',\n    reset: 'Set Semula',\n    search: 'Cari',\n    edit: 'Simpan',\n    addText: 'Tambah',\n    removeText: 'Padam',\n    checkAllText: 'Tanda semua',\n    error: {\n      'false schema': `Skema boolean adalah palsu`,\n      $ref: `Tidak dapat menyelesaikan rujukan {ref}`,\n      additionalItems: `Tidak sepatutnya mempunyai lebih daripada {limit} item`,\n      additionalProperties: `Tidak sepatutnya mempunyai sifat tambahan`,\n      anyOf: `Perlu sepadan dengan beberapa skema dalam \"anyOf\"`,\n      dependencies: `Perlu mempunyai sifat {deps} apabila sifat {property} wujud`,\n      enum: `Perlu sama dengan salah satu nilai yang telah ditetapkan`,\n      format: `Perlu sepadan dengan format \"{format}\"`,\n      type: `Perlu menjadi {type}`,\n      required: `Diperlukan`,\n      maxLength: `Tidak boleh lebih panjang daripada {limit} aksara`,\n      minLength: `Tidak boleh lebih pendek daripada {limit} aksara`,\n      minimum: `Perlu {comparison} {limit}`,\n      formatMinimum: `Perlu {comparison} {limit}`,\n      maximum: `Perlu {comparison} {limit}`,\n      formatMaximum: `Perlu {comparison} {limit}`,\n      maxItems: `Tidak boleh mempunyai lebih daripada {limit} item`,\n      minItems: `Tidak boleh mempunyai kurang daripada {limit} item`,\n      maxProperties: `Tidak boleh mempunyai lebih daripada {limit} sifat`,\n      minProperties: `Tidak boleh mempunyai kurang daripada {limit} sifat`,\n      multipleOf: `Perlu menjadi gandaan bagi {multipleOf}`,\n      not: `Tidak sepatutnya sah mengikut skema dalam \"not\"`,\n      oneOf: `Perlu sepadan tepat dengan satu skema dalam \"oneOf\"`,\n      pattern: `Perlu sepadan dengan corak \"{pattern}\"`,\n      uniqueItems: `Tidak boleh mempunyai item yang sama (item ## {j} dan {i} adalah sama)`,\n      custom: `Perlu sepadan dengan format`,\n      propertyNames: `Nama sifat \"{propertyName}\" tidak sah`,\n      patternRequired: `Perlu mempunyai sifat yang sepadan dengan corak \"{missingPattern}\"`,\n      switch: `Perlu melepasi pengesahan kata kunci \"switch\", kes {caseIndex} gagal`,\n      const: `Perlu sama dengan nilai tetap`,\n      contains: `Perlu mengandungi item yang sah`,\n      formatExclusiveMaximum: `formatExclusiveMaximum mesti boolean`,\n      formatExclusiveMinimum: `formatExclusiveMinimum mesti boolean`,\n      if: `Perlu sepadan dengan skema \"{failingKeyword}\"`\n    }\n  },\n  onboarding: {\n    skip: `Langkau`,\n    prev: `Sebelum`,\n    next: `Seterusnya`,\n    done: `Selesai`\n  },\n  datePicker: {\n    today: 'Hari Ini',\n    yesterday: 'Semalam',\n    last3Days: '3 Hari Lalu',\n    last7Days: '7 Hari Lalu',\n    thisWeek: 'Minggu Ini',\n    lastWeek: 'Minggu Lalu',\n    thisMonth: 'Bulan Ini',\n    lastMonth: 'Bulan Lalu',\n    thisYear: 'Tahun Ini'\n  },\n  loading: {\n    text: 'Memuat...'\n  },\n  pageHeader: {\n    home: 'Laman Utama'\n  }\n} as FullLocaleData;\n","import { FullLocaleData } from '../locale.types';\n\nexport default {\n  abbr: 'th-TH',\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    more: 'เพิ่มเติม'\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 ควรเป็นบูลีน`,\n      formatExclusiveMinimum: `formatExclusiveMinimum ควรเป็นบูลีน`,\n      if: `ควรตรงกับสคีมา \"{failingKeyword}\"`\n    }\n  },\n  onboarding: {\n    skip: `ข้าม`,\n    prev: `ก่อนหน้า`,\n    next: `ถัดไป`,\n    done: `เสร็จสิ้น`\n  },\n  datePicker: {\n    today: 'วันนี้',\n    yesterday: 'เมื่อวาน',\n    last3Days: '3 วันที่ผ่านมา',\n    last7Days: '7 วันที่ผ่านมา',\n    thisWeek: 'สัปดาห์นี้',\n    lastWeek: 'สัปดาห์ที่แล้ว',\n    thisMonth: 'เดือนนี้',\n    lastMonth: 'เดือนที่แล้ว',\n    thisYear: 'ปีนี้'\n  },\n  loading: {\n    text: 'กำลังโหลด...'\n  },\n  pageHeader: {\n    home: 'หน้าหลัก'\n  }\n} as FullLocaleData;\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { formatDate } from '@delon/util/date-time';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\n@Pipe({ name: '_date' })\nexport class DatePipe implements PipeTransform {\n  private nzI18n = inject(NzI18nService);\n  private cog = inject(AlainConfigService).get('themePipe');\n\n  transform(value: Date | string | number, formatString?: string | null): string {\n    const formatStr = formatString ?? this.cog?.dateFormat ?? 'yyyy-MM-dd HH:mm';\n\n    return formatDate(value, formatStr, {\n      locale: this.nzI18n.getDateLocale(),\n      customFormat: this.cog?.dateFormatCustom\n    });\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, inject } 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\nexport interface YNOptions {\n  yes?: string;\n  no?: string;\n  mode?: YNMode;\n}\n\nexport function yn(value: boolean, opt?: YNOptions): string {\n  let html = '';\n  let { yes, no, mode } = { ...opt };\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 html;\n}\n\n@Pipe({ name: 'yn' })\nexport class YNPipe implements PipeTransform {\n  private readonly dom = inject(DomSanitizer);\n\n  transform(value: boolean, yes?: string, no?: string, mode?: YNMode, isSafeHtml: boolean = true): SafeHtml {\n    const html = yn(value, { yes, no, mode });\n    return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;\n  }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({ name: 'html' })\nexport class HTMLPipe implements PipeTransform {\n  private readonly dom = inject(DomSanitizer);\n\n  transform(html: string): string | SafeHtml {\n    return html ? this.dom.bypassSecurityTrustHtml(html) : '';\n  }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({ name: 'url' })\nexport class URLPipe implements PipeTransform {\n  private readonly dom = inject(DomSanitizer);\n\n  transform(url: string): string | SafeUrl {\n    return url ? this.dom.bypassSecurityTrustUrl(url) : '';\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_DEFAULT } from './services/settings/settings.service';\nconst ICONS = [BellOutline, DeleteOutline, PlusOutline, InboxOutline];\n\n// #endregion\n\n@NgModule({\n  imports: [CommonModule, RouterModule, OverlayModule, NzI18nModule, ...PIPES],\n  providers: [ALAIN_SETTING_DEFAULT],\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 { registerLocaleData } from '@angular/common';\nimport {\n  EnvironmentProviders,\n  LOCALE_ID,\n  Provider,\n  Type,\n  importProvidersFrom,\n  inject,\n  makeEnvironmentProviders,\n  provideEnvironmentInitializer\n} from '@angular/core';\n\nimport type { IconDefinition } from '@ant-design/icons-angular';\nimport {\n  BellOutline,\n  DeleteOutline,\n  InboxOutline,\n  PlusOutline,\n  MenuFoldOutline,\n  MenuUnfoldOutline\n} from '@ant-design/icons-angular/icons';\n\nimport { ALAIN_CONFIG, AlainConfig } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NZ_DATE_LOCALE, provideNzI18n } from 'ng-zorro-antd/i18n';\nimport { NzIconService } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\n\nimport { DELON_LOCALE, DELON_LOCALE_SERVICE_PROVIDER } from './locale';\nimport zhCN from './locale/languages/zh-CN';\nimport { ALAIN_I18N_TOKEN } from './services';\nimport { ALAIN_SETTING_DEFAULT } from './services/settings/settings.service';\n\nexport interface AlainProvideOptions {\n  config?: AlainConfig;\n  /**\n   * Initialize default language\n   *\n   * 初始化默认语言\n   */\n  defaultLang?: AlainProvideLang;\n  i18nClass?: Type<NzSafeAny>;\n  icons?: IconDefinition[];\n}\n\nexport interface AlainProvideLang {\n  abbr: string;\n  ng: NzSafeAny;\n  zorro: NzSafeAny;\n  date: NzSafeAny;\n  delon: NzSafeAny;\n}\n\nexport function provideAlain(options: AlainProvideOptions): EnvironmentProviders {\n  const lang = options?.defaultLang;\n  const provides: Array<Provider | EnvironmentProviders> = [\n    { provide: ALAIN_CONFIG, useValue: options?.config },\n    { provide: DELON_LOCALE, useValue: lang?.delon ?? zhCN },\n    DELON_LOCALE_SERVICE_PROVIDER,\n    importProvidersFrom([NzDrawerModule, NzModalModule]),\n    ALAIN_SETTING_DEFAULT\n  ];\n  if (lang) {\n    registerLocaleData(lang.ng, lang.abbr);\n    provides.push({ provide: LOCALE_ID, useValue: lang.abbr }, provideNzI18n(lang.zorro), {\n      provide: NZ_DATE_LOCALE,\n      useValue: lang.date\n    });\n  }\n\n  const i18nCls = options?.i18nClass;\n  if (i18nCls) {\n    provides.push({ provide: ALAIN_I18N_TOKEN, useClass: i18nCls, multi: false });\n  }\n\n  const icons: IconDefinition[] = [\n    BellOutline,\n    DeleteOutline,\n    PlusOutline,\n    InboxOutline,\n    MenuFoldOutline,\n    MenuUnfoldOutline,\n    ...(options.icons ?? [])\n  ];\n  provides.push(\n    provideEnvironmentInitializer(() => {\n      inject(NzIconService, { optional: true })?.addIcon(...icons);\n    })\n  );\n  return makeEnvironmentProviders(provides);\n}\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of, catchError } from 'rxjs';\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('21.1.0');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}