diff --git a/404.html b/404.html new file mode 100644 index 00000000..6312f531 --- /dev/null +++ b/404.html @@ -0,0 +1,17 @@ + + + + + + + + + 404 - Gez + + + +

404

PAGE NOT FOUND

+
+ + + diff --git a/api/README.html b/api/README.html new file mode 100644 index 00000000..d1b6a0c2 --- /dev/null +++ b/api/README.html @@ -0,0 +1,54 @@ + + + + + + + + + Gez - Gez + + + +
+
+ + + diff --git a/api/classes/Gez.html b/api/classes/Gez.html new file mode 100644 index 00000000..14a143cd --- /dev/null +++ b/api/classes/Gez.html @@ -0,0 +1,339 @@ + + + + + + + + + Class: Gez - Gez + + + +

Class: Gez

+

Table of contents

+

Constructors

+ +

Properties

+ +

Accessors

+ +

Methods

+ +

Constructors

+

constructor

+

new Gez(options?)

+

Parameters

+ + + + + + + + + + + + + +
NameType
optionsGezOptions
+

Properties

+

_app

+

Private _app: null | App = null

+
+

_command

+

Private _command: null | COMMAND = null

+
+

_options

+

Private Readonly _options: GezOptions

+
+

moduleConfig

+

Readonly moduleConfig: ParsedModuleConfig

+

根据传入的 modules 选项解析出来的对象。

+
+

packConfig

+

Readonly packConfig: ParsedPackConfig

+

Accessors

+

COMMAND

+

get COMMAND(): typeof COMMAND

+

全部命令的枚举对象。

+

Returns

+

typeof COMMAND

+
+

app

+

Private get app(): App

+

Returns

+

App

+
+

basePath

+

get basePath(): string

+

根据服务名称生成的静态资源基本路径。

+

Returns

+

string

+
+

basePathPlaceholder

+

get basePathPlaceholder(): string

+

动态的 base 地址占位符。

+

Returns

+

string

+
+

command

+

get command(): COMMAND

+

当前执行的命令。

+

Returns

+

COMMAND

+
+

isProd

+

get isProd(): boolean

+

是否是生产环境。

+

Returns

+

boolean

+
+

middleware

+

get middleware(): Middleware

+

中间件。

+

Returns

+

Middleware

+
+

name

+

get name(): string

+

服务名称,来源于 package.json 文件的 name 字段。

+

Returns

+

string

+
+

render

+

get render(): (options?: RenderContextOptions) => Promise<RenderContext>

+

调用 entry.server.ts 导出的渲染函数。

+

Returns

+

fn

+

(options?): Promise<RenderContext>

+

渲染函数

+
Parameters
+ + + + + + + + + + + + + + + +
NameTypeDescription
options?RenderContextOptions透传给 RenderContextOptions
+
Returns
+

Promise<RenderContext>

+
+

root

+

get root(): string

+

项目根目录。

+

Returns

+

string

+
+

varName

+

get varName(): string

+

根据 name 生成的 JS 变量名称。

+

Returns

+

string

+

Methods

+

build

+

build(): Promise<boolean>

+

构建生产代码。

+

Returns

+

Promise<boolean>

+
+

createServer

+

createServer(): Promise<void>

+

执行下面的命令,会创建服务器。

+
    +
  • gez dev
  • +
  • gez start
  • +
  • gez preview
  • +
+

Returns

+

Promise<void>

+
+

destroy

+

destroy(): Promise<boolean>

+

销毁实例,释放内存。

+

Returns

+

Promise<boolean>

+
+

getManifestList

+

getManifestList(target): ManifestJson[]

+

获取全部服务的清单文件。

+

Parameters

+ + + + + + + + + + + + + +
NameType
target"client" | "server"
+

Returns

+

ManifestJson[]

+
+

getServerImportMap

+

getServerImportMap(): ImportMap

+

获取服务端的 importmap 映射文件。

+

Returns

+

ImportMap

+
+

init

+

init(command): Promise<boolean>

+

初始化实例。

+

Parameters

+ + + + + + + + + + + + + +
NameType
commandCOMMAND
+

Returns

+

Promise<boolean>

+
+

postCompileProdHook

+

postCompileProdHook(): Promise<boolean>

+

执行 gez build 命令回调。

+

Returns

+

Promise<boolean>

+
+

readJsonSync

+

readJsonSync(filename): any

+

异步的读取一个 JSON 文件。

+

Parameters

+ + + + + + + + + + + + + +
NameType
filenamestring
+

Returns

+

any

+
+

resolvePath

+

resolvePath(projectPath, ...args): string

+

解析项目路径。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
projectPathProjectPath
...argsstring[]
+

Returns

+

string

+
+

writeSync

+

writeSync(filepath, data): void

+

同步写入一个文件。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
filepathstring
dataany
+

Returns

+

void

+
+

getDistOptions

+

Static getDistOptions(): Promise<GezOptions>

+

获取 dist/node/src/entry.node.js 文件导出的选项

+

Returns

+

Promise<GezOptions>

+
+

getSrcOptions

+

Static getSrcOptions(): Promise<GezOptions>

+

获取 src/entry.node.ts 文件导出的选项

+

Returns

+

Promise<GezOptions>

+
+ + + diff --git a/api/classes/RenderContext.html b/api/classes/RenderContext.html new file mode 100644 index 00000000..0ec790bb --- /dev/null +++ b/api/classes/RenderContext.html @@ -0,0 +1,217 @@ + + + + + + + + + Class: RenderContext - Gez + + + +

Class: RenderContext

+

渲染上下文

+

Table of contents

+

Constructors

+ +

Properties

+ +

Accessors

+ +

Methods

+ +

Constructors

+

constructor

+

new RenderContext(gez, options?)

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
gezGez
optionsRenderContextOptions
+

Properties

+

_html

+

Private _html: string = ''

+
+

base

+

Readonly base: string

+

参数传入的 base。

+
+

entryName

+

Readonly entryName: string

+

参数传入的 entryName。

+
+

files

+

files: RenderFiles

+

importMetaSet 收集完成后,调用 rc.commit() 函数时,会更新这个对象的信息。

+
+

gez

+

gez: Gez

+

Gez 的实例。

+
+

importMetaSet

+

importMetaSet: Set<ImportMeta>

+

服务端渲染过程中,收集模块执行过程中的 import.meta 对象。

+
+

params

+

Readonly params: Record<string, any>

+

参数传入的 params。

+
+

redirect

+

redirect: null | string = null

+

重定向地址。

+
+

status

+

status: null | number = null

+

响应的状态码。

+

Accessors

+

html

+

get html(): string

+

响应的 html 内容。

+

Returns

+

string

+

set html(html): void

+

Parameters

+ + + + + + + + + + + + + +
NameType
htmlstring
+

Returns

+

void

+

Methods

+

commit

+

commit(): Promise<void>

+

同构应用渲染完成后,提交模块依赖更新 files 对象。

+

Returns

+

Promise<void>

+
+

css

+

css(): string

+

根据 files 生成服务端首屏加载的 CSS。

+

Returns

+

string

+
+

importmap

+

importmap(): string

+

根据 files 生成 importmap 相关代码。

+

Returns

+

string

+
+

moduleEntry

+

moduleEntry(): string

+

根据 files 生成模块入口执行代码。

+

Returns

+

string

+
+

modulePreload

+

modulePreload(): string

+

根据 files 生成 ESM 模块预加载代码。

+

Returns

+

string

+
+

preload

+

preload(): string

+

根据 files 生成 JS 和 CSS 文件的预加载代码。

+

Returns

+

string

+
+

serialize

+

serialize(input, options?): string

+

透传 https://github.com/yahoo/serialize-javascript

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
inputany
options?SerializeJSOptions
+

Returns

+

string

+
+

state

+

state(varName, data): string

+

在 window 对象,注入一个 JS 变量对象,data 必须是可以被序列化的。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
varNamestring
dataRecord<string, any>
+

Returns

+

string

+
+ + + diff --git a/api/core/app.html b/api/core/app.html new file mode 100644 index 00000000..4495bc2f --- /dev/null +++ b/api/core/app.html @@ -0,0 +1,42 @@ + + + + + + + + + App - Gez + + + +

App

+

类型

+
1import type { Gez } from './gez';
+2import { type Middleware } from './middleware';
+3import { RenderContext, type RenderContextOptions } from './render-context';
+4export interface App {
+5    /**
+6     * 中间件列表
+7     */
+8    middleware: Middleware;
+9    /**
+10     * 渲染函数
+11     * @param options 透传给 RenderContextOptions
+12     * @returns
+13     */
+14    render: (options?: RenderContextOptions) => Promise<RenderContext>;
+15    /**
+16     * 执行构建
+17     */
+18    build?: () => Promise<boolean>;
+19    /**
+20     * 销毁实例,释放内存
+21     */
+22    destroy?: () => Promise<boolean>;
+23}
+24export declare function createApp(gez: Gez): Promise<App>;
ON THIS PAGE
+
+ + + diff --git a/api/core/gez.html b/api/core/gez.html new file mode 100644 index 00000000..ffbce1df --- /dev/null +++ b/api/core/gez.html @@ -0,0 +1,170 @@ + + + + + + + + + Gez - Gez + + + +

Gez

+

类型

+
1import type { ImportMap } from '@gez/import';
+2import { type App } from './app';
+3import type { ManifestJson } from './manifest-json';
+4import { type ModuleConfig, type ParsedModuleConfig } from './module-config';
+5import { type PackConfig, type ParsedPackConfig } from './pack-config';
+6import { type ProjectPath } from './resolve-path';
+7/**
+8 * 详细说明,请看文档:https://dp-os.github.io/gez/api/gez.html
+9 */
+10export interface GezOptions {
+11    /**
+12     * 项目根目录,默认为当前执行命令的目录。
+13     */
+14    root?: string;
+15    /**
+16     * 是否是生产环境。
+17     */
+18    isProd?: boolean;
+19    /**
+20     * 动态路径的变量占位符。
+21     */
+22    basePathPlaceholder?: string | false;
+23    /**
+24     * 模块链接配置。
+25     */
+26    modules?: ModuleConfig;
+27    /**
+28     * 是否启用归档,等同于 npm pack。
+29     */
+30    packs?: PackConfig;
+31    /**
+32     * 创建开发应用,在执行 dev、build、preview 命令时调用。
+33     */
+34    createDevApp?: (gez: Gez) => Promise<App>;
+35    /**
+36     * 创建服务器,执行 dev、build、preview 命令时调用。
+37     */
+38    createServer?: (gez: Gez) => Promise<void>;
+39    /**
+40     * gez build 构建完成后,以生产模式执行的钩子。
+41     */
+42    postCompileProdHook?: (gez: Gez) => Promise<void>;
+43}
+44export declare enum COMMAND {
+45    dev = "dev",
+46    build = "build",
+47    preview = "preview",
+48    start = "start"
+49}
+50export declare class Gez {
+51    /**
+52     * 获取 src/entry.node.ts 文件导出的选项
+53     */
+54    static getSrcOptions(): Promise<GezOptions>;
+55    /**
+56     * 获取 dist/node/src/entry.node.js 文件导出的选项
+57     */
+58    static getDistOptions(): Promise<GezOptions>;
+59    private readonly _options;
+60    private _app;
+61    private _command;
+62    /**
+63     * 根据传入的 modules 选项解析出来的对象。
+64     */
+65    readonly moduleConfig: ParsedModuleConfig;
+66    readonly packConfig: ParsedPackConfig;
+67    constructor(options?: GezOptions);
+68    /**
+69     * 服务名称,来源于 package.json 文件的 name 字段。
+70     */
+71    get name(): string;
+72    /**
+73     * 根据 name 生成的 JS 变量名称。
+74     */
+75    get varName(): string;
+76    /**
+77     * 项目根目录。
+78     */
+79    get root(): string;
+80    /**
+81     * 是否是生产环境。
+82     */
+83    get isProd(): boolean;
+84    /**
+85     * 根据服务名称生成的静态资源基本路径。
+86     */
+87    get basePath(): string;
+88    /**
+89     * 动态的 base 地址占位符。
+90     */
+91    get basePathPlaceholder(): string;
+92    /**
+93     * 当前执行的命令。
+94     */
+95    get command(): COMMAND;
+96    /**
+97     * 全部命令的枚举对象。
+98     */
+99    get COMMAND(): typeof COMMAND;
+100    private get app();
+101    /**
+102     * 执行下面的命令,会创建服务器。
+103     * - gez dev
+104     * - gez start
+105     * - gez preview
+106     */
+107    createServer(): Promise<void>;
+108    /**
+109     * 执行 gez build 命令回调。
+110     */
+111    postCompileProdHook(): Promise<boolean>;
+112    /**
+113     * 初始化实例。
+114     */
+115    init(command: COMMAND): Promise<boolean>;
+116    /**
+117     * 销毁实例,释放内存。
+118     */
+119    destroy(): Promise<boolean>;
+120    /**
+121     * 构建生产代码。
+122     */
+123    build(): Promise<boolean>;
+124    /**
+125     * 中间件。
+126     */
+127    get middleware(): import("./middleware").Middleware;
+128    /**
+129     * 调用 entry.server.ts 导出的渲染函数。
+130     */
+131    get render(): (options?: import("./render-context").RenderContextOptions) => Promise<import("./render-context").RenderContext>;
+132    /**
+133     * 解析项目路径。
+134     */
+135    resolvePath(projectPath: ProjectPath, ...args: string[]): string;
+136    /**
+137     * 同步写入一个文件。
+138     */
+139    writeSync(filepath: string, data: any): void;
+140    /**
+141     * 异步的读取一个 JSON 文件。
+142     */
+143    readJsonSync(filename: string): any;
+144    /**
+145     * 获取全部服务的清单文件。
+146     */
+147    getManifestList(target: 'client' | 'server'): ManifestJson[];
+148    /**
+149     * 获取服务端的 importmap 映射文件。
+150     */
+151    getServerImportMap(): ImportMap;
+152}
ON THIS PAGE
+
+ + + diff --git a/api/core/manifest-json.html b/api/core/manifest-json.html new file mode 100644 index 00000000..aba75ace --- /dev/null +++ b/api/core/manifest-json.html @@ -0,0 +1,72 @@ + + + + + + + + + ManifestJson - Gez + + + +

ManifestJson

+

类型

+
1export interface ManifestJsonChunks {
+2    /**
+3     * 当前编译的 JS 文件。
+4     */
+5    js: string;
+6    /**
+7     * 当前编译的 CSS 文件。
+8     */
+9    css: string[];
+10    /**
+11     * 其它的资源文件。
+12     */
+13    resources: string[];
+14    /**
+15     * 构建产物的大小。
+16     */
+17    sizes: ManifestJsonChunkSizes;
+18}
+19export interface ManifestJsonChunkSizes {
+20    js: number;
+21    css: number;
+22    resource: number;
+23}
+24export interface ManifestJson {
+25    /**
+26     * 服务名字,来自于:GezOptions.name
+27     */
+28    name: string;
+29    /**
+30     * 版本号,默认为 1.0.0
+31     */
+32    version: string;
+33    /**
+34     * 模块系统
+35     */
+36    type: 'module';
+37    /**
+38     * 对外导出的文件
+39     */
+40    exports: Record<string, string>;
+41    /**
+42     * 构建的全部文件清单
+43     */
+44    buildFiles: string[];
+45    /**
+46     * 编译的文件信息
+47     * 类型:Record<源文件, 编译信息>
+48     */
+49    chunks: Record<string, ManifestJsonChunks>;
+50    /**
+51     * globalThis.__importmap__ 对象注入导入信息。
+52     */
+53    importmapJs: string;
+54}
ON THIS PAGE
+
+ + + diff --git a/api/core/middleware.html b/api/core/middleware.html new file mode 100644 index 00000000..c4612d1b --- /dev/null +++ b/api/core/middleware.html @@ -0,0 +1,28 @@ + + + + + + + + + Middleware - Gez + + + +

Middleware

+

类型

+
1import type { IncomingMessage, ServerResponse } from 'node:http';
+2import type { Gez } from './gez';
+3export type Middleware = (req: IncomingMessage, res: ServerResponse, next: Function) => void;
+4export declare function createMiddleware(gez: Gez): Middleware;
+5/**
+6 * 将多个中间件,合并成一个中间件执行
+7 * @param middlewares 中间件列表
+8 * @returns
+9 */
+10export declare function mergeMiddlewares(middlewares: Middleware[]): Middleware;
ON THIS PAGE
+
+ + + diff --git a/api/core/module-config.html b/api/core/module-config.html new file mode 100644 index 00000000..3309ea58 --- /dev/null +++ b/api/core/module-config.html @@ -0,0 +1,122 @@ + + + + + + + + + ModuleConfig - Gez + + + +

ModuleConfig

+

类型

+
1export declare enum PathType {
+2    npm = "npm:",
+3    root = "root:"
+4}
+5export interface ModuleConfig {
+6    /**
+7     * 对外导出的文件
+8     * 必须以 npm: 或 root: 开头
+9     * npm:开头代表 node_modules 的依赖
+10     * root:开头代表项目内root目录下的文件
+11     * 例如:
+12     *   npm:vue
+13     *   root:src/routes
+14     *   root:src/[filename]
+15     */
+16    exports?: string[];
+17    /**
+18     * 导入的模块基本配置
+19     */
+20    imports?: Record<string, string>;
+21    /**
+22     * 设置项目的外部依赖
+23     * 例如:
+24     * {
+25     *  "vue": "ssr-npm/vue"
+26     * }
+27     */
+28    externals?: Record<string, string>;
+29}
+30export interface ParsedModuleConfig {
+31    /**
+32     * 当前的服务名字
+33     */
+34    name: string;
+35    /**
+36     * 当前服务运行的根目录
+37     */
+38    root: string;
+39    /**
+40     * 对外导出的文件
+41     */
+42    exports: {
+43        /**
+44         * npm:*
+45         * root:src/*
+46         * root:src/routes/index.ts
+47         */
+48        name: string;
+49        /**
+50         * 路径的类型
+51         */
+52        type: PathType;
+53        /**
+54         * ssr-demo/npm/vue
+55         * ssr-demo/src/routes
+56         * ssr-demo/src/routes/index
+57         */
+58        importName: string;
+59        /**
+60         * ./npm/vue
+61         * ./src/routes
+62         */
+63        exportName: string;
+64        /**
+65         * vue
+66         * ./src/routes.ts
+67         */
+68        exportPath: string;
+69        /**
+70         * vue
+71         * ssr-demo/src/routes/index
+72         */
+73        externalName: string;
+74    }[];
+75    /**
+76     * 导入的外部服务
+77     */
+78    imports: {
+79        /**
+80         * 外部服务名称
+81         */
+82        name: string;
+83        /**
+84         * 本地路径
+85         * 用于读取依赖 和 存放远程下载的依赖
+86         */
+87        localPath: string;
+88    }[];
+89    /**
+90     * 外部依赖
+91     */
+92    externals: Record<string, {
+93        match: RegExp;
+94        import?: string;
+95    }>;
+96}
+97/**
+98 * 解析模块配置
+99 * @param name 当前运行服务的名字
+100 * @param root 当前运行服务的根路径
+101 * @param config 模块的配置
+102 * @returns
+103 */
+104export declare function parseModuleConfig(name: string, root: string, config?: ModuleConfig): ParsedModuleConfig;
ON THIS PAGE
+
+ + + diff --git a/api/core/pack-config.html b/api/core/pack-config.html new file mode 100644 index 00000000..eb2c9500 --- /dev/null +++ b/api/core/pack-config.html @@ -0,0 +1,50 @@ + + + + + + + + + PackConfig - Gez + + + +

PackConfig

+

类型

+
1import type { Gez } from './gez';
+2export interface PackConfig {
+3    /**
+4     * 是否启用归档,默认关闭。
+5     */
+6    enable?: boolean;
+7    /**
+8     * 输出的文件,支持同时输出多个。
+9     * 默认输出为:dist/client/versions/latest.tgz
+10     */
+11    outputs?: string | string[] | boolean;
+12    /**
+13     * 创建 packages.json 执行的回调,你可以在这里修改一些数据。
+14     */
+15    packageJson?: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>;
+16    /**
+17     * 归档之前执行钩子,你可以在这里添加一些文件。
+18     */
+19    onBefore?: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>;
+20    /**
+21     * 归档之后执行钩子,你可以在这里直接上传到服务器。
+22     */
+23    onAfter?: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>;
+24}
+25export interface ParsedPackConfig {
+26    enable: boolean;
+27    outputs: string[];
+28    packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>;
+29    onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>;
+30    onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>;
+31}
+32export declare function parsePackConfig(config?: PackConfig): ParsedPackConfig;
ON THIS PAGE
+
+ + + diff --git a/api/core/render-context.html b/api/core/render-context.html new file mode 100644 index 00000000..d66c8ee5 --- /dev/null +++ b/api/core/render-context.html @@ -0,0 +1,142 @@ + + + + + + + + + RenderContext - Gez + + + +

RenderContext

+

类型

+
1import serialize from 'serialize-javascript';
+2import type { Gez } from './gez';
+3/**
+4 * 渲染的参数
+5 */
+6export interface RenderContextOptions {
+7    /**
+8     * 静态资产的公共路径,可以根据业务的上下文来动态设置不同的路径。
+9     */
+10    base?: string;
+11    /**
+12     * gez.render() 函数执行时,会调用 entry.server.ts 文件导出的名称。
+13     */
+14    entryName?: string;
+15    /**
+16     * 传递给 RenderContext 对象的 params 字段。
+17     */
+18    params?: Record<string, any>;
+19}
+20/**
+21 * 渲染上下文
+22 */
+23export declare class RenderContext {
+24    /**
+25     * Gez 的实例。
+26     */
+27    gez: Gez;
+28    /**
+29     * 重定向地址。
+30     */
+31    redirect: string | null;
+32    /**
+33     * 响应的状态码。
+34     */
+35    status: number | null;
+36    private _html;
+37    /**
+38     * 参数传入的 base。
+39     */
+40    readonly base: string;
+41    /**
+42     * 参数传入的 params。
+43     */
+44    readonly params: Record<string, any>;
+45    /**
+46     * 参数传入的 entryName。
+47     */
+48    readonly entryName: string;
+49    /**
+50     * 服务端渲染过程中,收集模块执行过程中的 import.meta 对象。
+51     */
+52    importMetaSet: Set<ImportMeta>;
+53    /**
+54     * importMetaSet 收集完成后,调用 rc.commit() 函数时,会更新这个对象的信息。
+55     */
+56    files: RenderFiles;
+57    constructor(gez: Gez, options?: RenderContextOptions);
+58    /**
+59     * 响应的 html 内容。
+60     */
+61    get html(): string;
+62    set html(html: string);
+63    /**
+64     * 透传 https://github.com/yahoo/serialize-javascript
+65     */
+66    serialize(input: any, options?: serialize.SerializeJSOptions): any;
+67    /**
+68     * 在 window 对象,注入一个 JS 变量对象,data 必须是可以被序列化的。
+69     */
+70    state(varName: string, data: Record<string, any>): string;
+71    /**
+72     * 同构应用渲染完成后,提交模块依赖更新 files 对象。
+73     */
+74    commit(): Promise<void>;
+75    /**
+76     * 根据 files 生成 JS 和 CSS 文件的预加载代码。
+77     */
+78    preload(): string;
+79    /**
+80     * 根据 files 生成服务端首屏加载的 CSS。
+81     */
+82    css(): string;
+83    /**
+84     * 根据 files 生成 importmap 相关代码。
+85     */
+86    importmap(): string;
+87    /**
+88     * 根据 files 生成模块入口执行代码。
+89     */
+90    moduleEntry(): string;
+91    /**
+92     * 根据 files 生成 ESM 模块预加载代码。
+93     */
+94    modulePreload(): string;
+95}
+96/**
+97 * 服务端渲染处理函数。
+98 */
+99export type ServerRenderHandle = (render: RenderContext) => Promise<void>;
+100/**
+101 * 当前页面渲染的文件
+102 */
+103export interface RenderFiles {
+104    /**
+105     * CSS 文件列表。
+106     */
+107    css: string[];
+108    /**
+109     * ESM 模块列表。
+110     */
+111    modulepreload: string[];
+112    /**
+113     * importmap.js 文件列表。
+114     */
+115    importmap: string[];
+116    /**
+117     * 全部的 JS 文件列表,包含 modulepreload 和 importmap。
+118     */
+119    js: string[];
+120    /**
+121     * 除了 JS 和 CSS 之外的其它文件列表。
+122     */
+123    resources: string[];
+124}
ON THIS PAGE
+
+ + + diff --git a/api/enums/PathType.html b/api/enums/PathType.html new file mode 100644 index 00000000..8313c768 --- /dev/null +++ b/api/enums/PathType.html @@ -0,0 +1,29 @@ + + + + + + + + + Enumeration: PathType - Gez + + + +

Enumeration: PathType

+

Table of contents

+

Enumeration Members

+ +

Enumeration Members

+

npm

+

npm = "npm:"

+
+

root

+

root = "root:"

+
+ + + diff --git a/api/functions/createApp.html b/api/functions/createApp.html new file mode 100644 index 00000000..b43c4e80 --- /dev/null +++ b/api/functions/createApp.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: createApp - Gez + + + +

Function: createApp

+

createApp(gez): Promise<App>

+

Parameters

+ + + + + + + + + + + + + +
NameType
gezGez
+

Returns

+

Promise<App>

ON THIS PAGE
+
+ + + diff --git a/api/functions/createMiddleware.html b/api/functions/createMiddleware.html new file mode 100644 index 00000000..f7517c92 --- /dev/null +++ b/api/functions/createMiddleware.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: createMiddleware - Gez + + + +

Function: createMiddleware

+

createMiddleware(gez): Middleware

+

Parameters

+ + + + + + + + + + + + + +
NameType
gezGez
+

Returns

+

Middleware

ON THIS PAGE
+
+ + + diff --git a/api/functions/mergeMiddlewares.html b/api/functions/mergeMiddlewares.html new file mode 100644 index 00000000..70a4f7a9 --- /dev/null +++ b/api/functions/mergeMiddlewares.html @@ -0,0 +1,38 @@ + + + + + + + + + Function: mergeMiddlewares - Gez + + + +

Function: mergeMiddlewares

+

mergeMiddlewares(middlewares): Middleware

+

将多个中间件,合并成一个中间件执行

+

Parameters

+ + + + + + + + + + + + + + + +
NameTypeDescription
middlewaresMiddleware[]中间件列表
+

Returns

+

Middleware

ON THIS PAGE
+
+ + + diff --git a/api/functions/parseModuleConfig.html b/api/functions/parseModuleConfig.html new file mode 100644 index 00000000..210773cf --- /dev/null +++ b/api/functions/parseModuleConfig.html @@ -0,0 +1,48 @@ + + + + + + + + + Function: parseModuleConfig - Gez + + + +

Function: parseModuleConfig

+

parseModuleConfig(name, root, config?): ParsedModuleConfig

+

解析模块配置

+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
namestring当前运行服务的名字
rootstring当前运行服务的根路径
configModuleConfig模块的配置
+

Returns

+

ParsedModuleConfig

ON THIS PAGE
+
+ + + diff --git a/api/functions/parsePackConfig.html b/api/functions/parsePackConfig.html new file mode 100644 index 00000000..abdbfa2f --- /dev/null +++ b/api/functions/parsePackConfig.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: parsePackConfig - Gez + + + +

Function: parsePackConfig

+

parsePackConfig(config?): ParsedPackConfig

+

Parameters

+ + + + + + + + + + + + + +
NameType
configPackConfig
+

Returns

+

ParsedPackConfig

ON THIS PAGE
+
+ + + diff --git a/api/interfaces/App.html b/api/interfaces/App.html new file mode 100644 index 00000000..e71a4ef5 --- /dev/null +++ b/api/interfaces/App.html @@ -0,0 +1,70 @@ + + + + + + + + + Interface: App - Gez + + + +

Interface: App

+

Table of contents

+

Properties

+ +

Properties

+

build

+

Optional build: () => Promise<boolean>

+

Type declaration

+

(): Promise<boolean>

+

执行构建

+
Returns
+

Promise<boolean>

+
+

destroy

+

Optional destroy: () => Promise<boolean>

+

Type declaration

+

(): Promise<boolean>

+

销毁实例,释放内存

+
Returns
+

Promise<boolean>

+
+

middleware

+

middleware: Middleware

+

中间件列表

+
+

render

+

render: (options?: RenderContextOptions) => Promise<RenderContext>

+

Type declaration

+

(options?): Promise<RenderContext>

+

渲染函数

+
Parameters
+ + + + + + + + + + + + + + + +
NameTypeDescription
options?RenderContextOptions透传给 RenderContextOptions
+
Returns
+

Promise<RenderContext>

+
+ + + diff --git a/api/interfaces/GezOptions.html b/api/interfaces/GezOptions.html new file mode 100644 index 00000000..6e9f578a --- /dev/null +++ b/api/interfaces/GezOptions.html @@ -0,0 +1,119 @@ + + + + + + + + + Interface: GezOptions - Gez + + + +

Interface: GezOptions

+

详细说明,请看文档:https://dp-os.github.io/gez/api/gez.html

+

Table of contents

+

Properties

+ +

Properties

+

basePathPlaceholder

+

Optional basePathPlaceholder: string | false

+

动态路径的变量占位符。

+
+

createDevApp

+

Optional createDevApp: (gez: Gez) => Promise<App>

+

Type declaration

+

(gez): Promise<App>

+

创建开发应用,在执行 dev、build、preview 命令时调用。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<App>

+
+

createServer

+

Optional createServer: (gez: Gez) => Promise<void>

+

Type declaration

+

(gez): Promise<void>

+

创建服务器,执行 dev、build、preview 命令时调用。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<void>

+
+

isProd

+

Optional isProd: boolean

+

是否是生产环境。

+
+

modules

+

Optional modules: ModuleConfig

+

模块链接配置。

+
+

packs

+

Optional packs: PackConfig

+

是否启用归档,等同于 npm pack。

+
+

postCompileProdHook

+

Optional postCompileProdHook: (gez: Gez) => Promise<void>

+

Type declaration

+

(gez): Promise<void>

+

gez build 构建完成后,以生产模式执行的钩子。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<void>

+
+

root

+

Optional root: string

+

项目根目录,默认为当前执行命令的目录。

+
+ + + diff --git a/api/interfaces/ManifestJson.html b/api/interfaces/ManifestJson.html new file mode 100644 index 00000000..530d695b --- /dev/null +++ b/api/interfaces/ManifestJson.html @@ -0,0 +1,57 @@ + + + + + + + + + Interface: ManifestJson - Gez + + + +

Interface: ManifestJson

+

Table of contents

+

Properties

+ +

Properties

+

buildFiles

+

buildFiles: string[]

+

构建的全部文件清单

+
+

chunks

+

chunks: Record<string, ManifestJsonChunks>

+

编译的文件信息 +类型:Record<源文件, 编译信息>

+
+

exports

+

exports: Record<string, string>

+

对外导出的文件

+
+

hash

+

hash: string

+

构建的版本号

+
+

name

+

name: string

+

服务名字,来自于:GezOptions.name

+
+

type

+

type: "module"

+

模块系统

+
+

version

+

version: string

+

版本号,默认为 1.0.0

+
+ + + diff --git a/api/interfaces/ManifestJsonChunkSizes.html b/api/interfaces/ManifestJsonChunkSizes.html new file mode 100644 index 00000000..07112561 --- /dev/null +++ b/api/interfaces/ManifestJsonChunkSizes.html @@ -0,0 +1,33 @@ + + + + + + + + + Interface: ManifestJsonChunkSizes - Gez + + + +

Interface: ManifestJsonChunkSizes

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: number

+
+

js

+

js: number

+
+

resource

+

resource: number

+
+ + + diff --git a/api/interfaces/ManifestJsonChunks.html b/api/interfaces/ManifestJsonChunks.html new file mode 100644 index 00000000..130c918f --- /dev/null +++ b/api/interfaces/ManifestJsonChunks.html @@ -0,0 +1,41 @@ + + + + + + + + + Interface: ManifestJsonChunks - Gez + + + +

Interface: ManifestJsonChunks

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: string[]

+

当前编译的 CSS 文件。

+
+

js

+

js: string

+

当前编译的 JS 文件。

+
+

resources

+

resources: string[]

+

其它的资源文件。

+
+

sizes

+

sizes: ManifestJsonChunkSizes

+

构建产物的大小。

+
+ + + diff --git a/api/interfaces/ModuleConfig.html b/api/interfaces/ModuleConfig.html new file mode 100644 index 00000000..1b20dfed --- /dev/null +++ b/api/interfaces/ModuleConfig.html @@ -0,0 +1,47 @@ + + + + + + + + + Interface: ModuleConfig - Gez + + + +

Interface: ModuleConfig

+

Table of contents

+

Properties

+ +

Properties

+

exports

+

Optional exports: string[]

+

对外导出的文件 +必须以 npm: 或 root: 开头 +npm:开头代表 node_modules 的依赖 +root:开头代表项目内root目录下的文件 +例如: +npm:vue +root:src/routes +root:src/[filename]

+
+

externals

+

Optional externals: Record<string, string>

+

设置项目的外部依赖 +例如: +{ +"vue": "ssr-npm/vue" +}

+
+

imports

+

Optional imports: Record<string, string>

+

导入的模块基本配置

+
+ + + diff --git a/api/interfaces/PackConfig.html b/api/interfaces/PackConfig.html new file mode 100644 index 00000000..a0d9f307 --- /dev/null +++ b/api/interfaces/PackConfig.html @@ -0,0 +1,122 @@ + + + + + + + + + Interface: PackConfig - Gez + + + +

Interface: PackConfig

+

Table of contents

+

Properties

+ +

Properties

+

enable

+

Optional enable: boolean

+

是否启用归档

+
+

onAfter

+

Optional onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>

+

Type declaration

+

(gez, pkgJson, file): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
fileBuffer
+
Returns
+

Promise<void>

+
+

onBefore

+

Optional onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>

+

Type declaration

+

(gez, pkgJson): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<void>

+
+

outputs

+

Optional outputs: string | boolean | string[]

+

输出的文件

+
+

packageJson

+

Optional packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>

+

Type declaration

+

(gez, pkgJson): Promise<Record<string, any>>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<Record<string, any>>

+
+

releaseType

+

Optional releaseType: "major" | "premajor" | "minor" | "preminor" | "patch" | "prepatch" | "prerelease"

+

发布的类型 +环境变量设置:process.env.RELEASE_TYPE

+
+ + + diff --git a/api/interfaces/ParsedModuleConfig.html b/api/interfaces/ParsedModuleConfig.html new file mode 100644 index 00000000..174ff94e --- /dev/null +++ b/api/interfaces/ParsedModuleConfig.html @@ -0,0 +1,46 @@ + + + + + + + + + Interface: ParsedModuleConfig - Gez + + + +

Interface: ParsedModuleConfig

+

Table of contents

+

Properties

+ +

Properties

+

exports

+

exports: { exportName: string ; exportPath: string ; externalName: string ; importName: string ; name: string ; type: PathType }[]

+

对外导出的文件

+
+

externals

+

externals: Record<string, { import?: string ; match: RegExp }>

+

外部依赖

+
+

imports

+

imports: { localPath: string ; name: string }[]

+

导入的外部服务

+
+

name

+

name: string

+

当前的服务名字

+
+

root

+

root: string

+

当前服务运行的根目录

+
+ + + diff --git a/api/interfaces/ParsedPackConfig.html b/api/interfaces/ParsedPackConfig.html new file mode 100644 index 00000000..a1a55154 --- /dev/null +++ b/api/interfaces/ParsedPackConfig.html @@ -0,0 +1,114 @@ + + + + + + + + + Interface: ParsedPackConfig - Gez + + + +

Interface: ParsedPackConfig

+

Table of contents

+

Properties

+ +

Properties

+

enable

+

enable: boolean

+
+

onAfter

+

onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>

+

Type declaration

+

(gez, pkgJson, file): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
fileBuffer
+
Returns
+

Promise<void>

+
+

onBefore

+

onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>

+

Type declaration

+

(gez, pkgJson): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<void>

+
+

outputs

+

outputs: string[]

+
+

packageJson

+

packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>

+

Type declaration

+

(gez, pkgJson): Promise<Record<string, any>>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<Record<string, any>>

+
+ + + diff --git a/api/interfaces/RenderContextOptions.html b/api/interfaces/RenderContextOptions.html new file mode 100644 index 00000000..39f4c3a8 --- /dev/null +++ b/api/interfaces/RenderContextOptions.html @@ -0,0 +1,37 @@ + + + + + + + + + Interface: RenderContextOptions - Gez + + + +

Interface: RenderContextOptions

+

渲染的参数

+

Table of contents

+

Properties

+ +

Properties

+

base

+

Optional base: string

+

静态资产的公共路径,可以根据业务的上下文来动态设置不同的路径。

+
+

entryName

+

Optional entryName: string

+

gez.render() 函数执行时,会调用 entry.server.ts 文件导出的名称。

+
+

params

+

Optional params: Record<string, any>

+

传递给 RenderContext 对象的 params 字段。

+
+ + + diff --git a/api/interfaces/RenderFiles.html b/api/interfaces/RenderFiles.html new file mode 100644 index 00000000..924ac696 --- /dev/null +++ b/api/interfaces/RenderFiles.html @@ -0,0 +1,47 @@ + + + + + + + + + Interface: RenderFiles - Gez + + + +

Interface: RenderFiles

+

当前页面渲染的文件

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: string[]

+

CSS 文件列表。

+
+

importmap

+

importmap: string[]

+

importmap.js 文件列表。

+
+

js

+

js: string[]

+

全部的 JS 文件列表,包含 modulepreload 和 importmap。

+
+

modulepreload

+

modulepreload: string[]

+

ESM 模块列表。

+
+

resources

+

resources: string[]

+

除了 JS 和 CSS 之外的其它文件列表。

+
+ + + diff --git a/api/rspack-vue/vue.html b/api/rspack-vue/vue.html new file mode 100644 index 00000000..46861193 --- /dev/null +++ b/api/rspack-vue/vue.html @@ -0,0 +1,28 @@ + + + + + + + + + Vue - Gez + + + +

Vue

+

类型

+
1import type { Gez } from '@gez/core';
+2import type { RspackHtmlAppOptions } from '@gez/rspack';
+3export interface RspackVueAppOptions extends RspackHtmlAppOptions {
+4    /**
+5     * 透传 https://github.com/vuejs/vue-loader
+6     */
+7    vueLoader?: Record<string, any>;
+8}
+9export declare function createRspackVue2App(gez: Gez, options?: RspackVueAppOptions): Promise<import("@gez/core").App>;
+10export declare function createRspackVue3App(gez: Gez, options?: RspackVueAppOptions): Promise<import("@gez/core").App>;
ON THIS PAGE
+
+ + + diff --git a/api/rspack/app.html b/api/rspack/app.html new file mode 100644 index 00000000..b70f0790 --- /dev/null +++ b/api/rspack/app.html @@ -0,0 +1,49 @@ + + + + + + + + + App - Gez + + + +

App

+

类型

+
1import { type App, type Gez } from '@gez/core';
+2import { type RspackOptions } from '@rspack/core';
+3import type { BuildTarget } from './build-target';
+4export interface RspackAppConfigContext {
+5    gez: Gez;
+6    buildTarget: BuildTarget;
+7    config: RspackOptions;
+8    options: RspackAppOptions;
+9}
+10export interface RspackAppOptions {
+11    /**
+12     * 是否压缩代码,默认情况下在生产环境压缩代码。
+13     */
+14    minimize?: boolean;
+15    /**
+16     * 这是一个过渡的方案,等 Rspack 完全支持 ESM 之后,这个参数会废弃。
+17     * - auto 默认值,在开发环境时,使用 module 获得热更新,生产环境编译使用 modern-module
+18     * - module 支持热更新,但是不支持 export *
+19     * - modern-module 不支持热更新,大部分情况下 支持 export *,部分情况下编译输出不稳定。
+20     *
+21     * 更多了解:
+22     *      https://github.com/web-infra-dev/rspack/issues/8546
+23     *      https://github.com/web-infra-dev/rspack/issues/8557
+24     */
+25    module?: 'auto' | 'module' | 'modern-module';
+26    /**
+27     * Rspack 配置钩子,你可以在这里修改 context.config。
+28     */
+29    config?: (context: RspackAppConfigContext) => void;
+30}
+31export declare function createRspackApp(gez: Gez, options?: RspackAppOptions): Promise<App>;
ON THIS PAGE
+
+ + + diff --git a/api/rspack/build-target.html b/api/rspack/build-target.html new file mode 100644 index 00000000..99025051 --- /dev/null +++ b/api/rspack/build-target.html @@ -0,0 +1,19 @@ + + + + + + + + + BuildTarget - Gez + + + +

BuildTarget

+

类型

+
1export type BuildTarget = 'node' | 'client' | 'server';
ON THIS PAGE
+
+ + + diff --git a/api/rspack/html-app.html b/api/rspack/html-app.html new file mode 100644 index 00000000..d5ba10a1 --- /dev/null +++ b/api/rspack/html-app.html @@ -0,0 +1,71 @@ + + + + + + + + + HtmlApp - Gez + + + +

HtmlApp

+

类型

+
1import type { Gez } from '@gez/core';
+2import { type SwcLoaderOptions } from '@rspack/core';
+3import { type RspackAppOptions } from './app';
+4import type { BuildTarget } from './build-target';
+5import { RSPACK_LOADER } from './loader';
+6export interface RspackHtmlAppOptions extends RspackAppOptions {
+7    /**
+8     * CSS 输出到 css 文件还是 js 文件中,默认为 css,设置 为 false,则关闭 css 相关的 loader 规则,需要你手动配置。
+9     */
+10    css?: 'css' | 'js' | false;
+11    /**
+12     * 你可以选择重写一部分 loader 的。比如把 style-loader 替换成 new URL(import.meta.resolve('vue-style-loader')).pathname
+13     */
+14    loaders?: Partial<Record<keyof typeof RSPACK_LOADER, string>>;
+15    /**
+16     * 透传 https://github.com/webpack-contrib/style-loader
+17     */
+18    styleLoader?: Record<string, any>;
+19    /**
+20     * 透传 https://github.com/webpack-contrib/css-loader
+21     */
+22    cssLoader?: Record<string, any>;
+23    /**
+24     * 透传 https://github.com/webpack-contrib/less-loader
+25     */
+26    lessLoader?: Record<string, any>;
+27    /**
+28     * 透传 https://github.com/yenshih/style-resources-loader
+29     */
+30    styleResourcesLoader?: Record<string, any>;
+31    /**
+32     * 透传 https://rspack.dev/guide/features/builtin-swc-loader
+33     */
+34    swcLoader?: SwcLoaderOptions;
+35    /**
+36     * 透传 DefinePlugin 的值 https://rspack.dev/plugins/webpack/define-plugin
+37     */
+38    definePlugin?: Record<string, string | Partial<Record<BuildTarget, string>>>;
+39    /**
+40     * 构建目标
+41     */
+42    target?: {
+43        /**
+44         * 浏览器的构建目标
+45         */
+46        web?: string[];
+47        /**
+48         * nodejs的构建目标
+49         */
+50        node?: string[];
+51    };
+52}
+53export declare function createRspackHtmlApp(gez: Gez, options?: RspackHtmlAppOptions): Promise<import("@gez/core").App>;
ON THIS PAGE
+
+ + + diff --git a/api/types/Middleware.html b/api/types/Middleware.html new file mode 100644 index 00000000..bd79d19c --- /dev/null +++ b/api/types/Middleware.html @@ -0,0 +1,45 @@ + + + + + + + + + Type alias: Middleware - Gez + + + +

Type alias: Middleware

+

Middleware: (req: IncomingMessage, res: ServerResponse, next: Function) => void

+

Type declaration

+

(req, res, next): void

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
reqIncomingMessage
resServerResponse
nextFunction
+
Returns
+

void

ON THIS PAGE
+
+ + + diff --git a/api/types/ServerRenderHandle.html b/api/types/ServerRenderHandle.html new file mode 100644 index 00000000..66a9a63f --- /dev/null +++ b/api/types/ServerRenderHandle.html @@ -0,0 +1,38 @@ + + + + + + + + + Type alias: ServerRenderHandle - Gez + + + +

Type alias: ServerRenderHandle

+

ServerRenderHandle: (render: RenderContext) => Promise<void>

+

Type declaration

+

(render): Promise<void>

+

服务端渲染处理函数。

+
Parameters
+ + + + + + + + + + + + + +
NameType
renderRenderContext
+
Returns
+

Promise<void>

ON THIS PAGE
+
+ + + diff --git a/guide/essentials/alias.html b/guide/essentials/alias.html new file mode 100644 index 00000000..c4f8389f --- /dev/null +++ b/guide/essentials/alias.html @@ -0,0 +1,61 @@ + + + + + + + + + 路径别名 - Gez + + + +

路径别名

+

路径别名允许开发者为模块定义别名,以便于在代码中更方便的引用它们。当你想要使用一个简短、易于记忆的名称来代替冗长复杂的路径时,这将非常有用。

+

默认别名

+

在 Gez 中,默认使用服务名来作为别名,这样有两个好处。

+
    +
  • 在调用其它服务时保持命名风格的统一
  • +
  • 执行 npm run build:dts 命令,生成的类型可以被其它服务使用。
  • +
+

package.json

+
package.json
1{
+2    "name": "ssr-module-auth"
+3}
+

程序会读取 package.jsonname 字段,设置别名为 ssr-module-auth

+

tsconfig.json

+

同时还需要在 tsconfig.json 配置别名。

+
1{
+2    "compilerOptions": {
+3        "paths": {
+4            "ssr-module-auth/src/*": [
+5                "./src/*"
+6            ],
+7            "ssr-module-auth/*": [
+8                "./*"
+9            ]
+10        }
+11    }
+12}
+

自定义别名

+

业务模块,你应该总是使用默认的别名,但是一些第三方包有时需要设置别名,你可以这样做。

+
1export default {
+2    async createDevApp(gez) {
+3        return import('@gez/rspack').then((m) =>
+4            m.createApp(gez, (buildContext) => {
+5                buildContext.config.resolve = {
+6                    ...buildContext.config.resolve,
+7                    alias: {
+8                        ...buildContext.config.resolve?.alias,
+9                        vue$: 'vue/dist/vue.esm.js',
+10                    }
+11                }
+12            })
+13        );
+14    }
+15} satisfies GezOptions;
+
WARNING

业务模块对外导出时,程序会做一些打包的优化。如果你自定义了业务模块的别名,可能会导致打包出来的内容不正确。

+
+ + + diff --git a/guide/essentials/base-path.html b/guide/essentials/base-path.html new file mode 100644 index 00000000..b2f7c565 --- /dev/null +++ b/guide/essentials/base-path.html @@ -0,0 +1,46 @@ + + + + + + + + + 基本路径 - Gez + + + +

基本路径

+

默认路径

+

静态资产的文件路径,总是会读取 package.jsonname 来生成固定的路径:/${name}/

+

src/entry.node.ts

+
package.json
1{
+2    "name": "ssr-module-auth"
+3}
+

动态路径

+

有时,我们将一套代码部署在不同的国家或地区的集群中,允许独立域名访问和二级目录访问。

+

二级目录

+
    +
  • 主域名.com -> 默认主站
  • +
  • 主域名.com/cn/ -> 中文站点
  • +
  • 主域名.com/en/ -> 英文站点
  • +
+
+
+

独立站点

+
    +
  • 主域名.com -> 默认主站
  • +
  • cn.域名.com -> 中文站点
  • +
  • en.域名.com -> 英文站点
  • +
+

动态传参

+

你可以根据请求上下文,在给渲染函数传入不同的基本 URL。

+
1const render = await gez.render({
+2    base: '/gez'
+3});
+
实现原理

在服务端,静态资产文件的编译路径为 [[[___GEZ_DYNAMIC_BASE___]]]/${name}/,程序会将你返回的 html 中的 [[[___GEZ_DYNAMIC_BASE___]]] 占位符替换成你传入的 base。 +

+
+ + + diff --git a/guide/essentials/command.html b/guide/essentials/command.html new file mode 100644 index 00000000..af1c04b7 --- /dev/null +++ b/guide/essentials/command.html @@ -0,0 +1,49 @@ + + + + + + + + + 常见命令 - Gez + + + +

常见命令

+

一个典型的命令配置。

+
1{
+2    "scripts": {
+3        "dev": "gez dev",
+4        "build": "npm run build:dts && npm run build:ssr",
+5        "build:ssr": "gez build",
+6        "preview": "gez preview",
+7        "start": "gez start",
+8        "build:dts": "tsc --declaration --emitDeclarationOnly --outDir dist/src"
+9    }
+10}
+
TIP

你需要手动配置 tsconfig.json 文件,否则执行 build:dts 命令会报错。 +

+

gez dev

+

本地开发时启动。

+
TIP

如果链接的服务是一个本地的目录,你也可以把该服务跑起来快速的开发调试。

+
1export default {
+2    name: 'ssr-module-auth',
+3    modules: {
+4        imports: {
+5            'ssr-core': 'root:../ssr-core/dist'
+6        }
+7    }
+8} satisfies GezOptions;
+

gez build

+

构建生产代码

+
TIP

有三个产物,分别是 client、server、node。

+

gez preview

+

等同于执行 gez build && gez start

+

gez start

+

运行生产环境代码。

+
TIP

开发环境中,所依赖的外部服务代码变更,总是会获得热更新,但是在生产环境中是没有热更新的。

如果依赖的服务发布更新了,你需要手动重启一下服务,或者编写一个脚本,监听其它服务版本发布来重启服务。

+
+ + + diff --git a/guide/essentials/config.html b/guide/essentials/config.html new file mode 100644 index 00000000..0fc3e9a4 --- /dev/null +++ b/guide/essentials/config.html @@ -0,0 +1,213 @@ + + + + + + + + + 基础配置 - Gez + + + +

基础配置

+

Gez 作为基础设施,它的配置总是非常简单的。

+

使用

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    // 配置选项
+5} satisfies GezOptions;
+

选项

+

name v3.0.0

+
    +
  • 类型:string
  • +
  • 默认值:gez
  • +
  • 描述: 服务的名称,全局唯一。
  • +
+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2import { name } from '../package.json';
+3
+4export default {
+5    name,
+6} satisfies GezOptions;
+
TIP

如果你的网站,同一个域名下,使用 Gez 打包了多个项目,那么你需要配置一个 name 来区分不同的项目。 +

+

root v3.0.0

+
    +
  • +

    类型:string

    +
  • +
  • +

    默认值:cwd()

    +
  • +
  • +

    描述: 项目根目录,默认为当前执行命令的目录。

    +
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+
+

isProd v3.0.0

+
    +
  • 类型:boolean
  • +
  • 默认值: process.env.NODE_ENV === 'production'
  • +
  • 描述: 是否是生产环境。
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+

isInstall v3.0.0

+
    +
  • 类型:boolean
  • +
  • 默认值: process.env.npm_config_production !== 'true'
  • +
  • 描述: 安装生产依赖时,是否安装远程依赖。
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+

basePathPlaceholder v3.0.0

+
    +
  • 类型:string | false
  • +
  • 默认值: [[[___GEZ_DYNAMIC_BASE___]]]
  • +
  • 描述: 动态路径的变量占位符,深入了解请看基本路径说明。
  • +
+
WARNING

如果你的业务上,没有出现用户的内容被误替换,你都不应该配置它。

+

模块链接

+

这是 Gez 的核心功能,点击这里深入了解

+

modules.exports v3.0.0

+
    +
  • 类型:string[]
  • +
  • 默认值: []
  • +
  • 描述: 对外模块导出。
  • +
+
src/entry.node.ts
1export default {
+2    modules: {
+3        exports: [
+4            'root:src/components/layout.vue',
+5            'root:src/utils/index.ts',
+6            'npm:vue',
+7            'npm:vue-router'
+8        ]
+9    }
+10} satisfies GezOptions;
+
TIP

你可以将当前项目的模块或者当前项目的第三方依赖,对外导出,这样其它服务就可以使用了。

+

modules.imports v3.0.0

+
    +
  • 类型:Record<string, string | [string, string]>
  • +
  • 默认值: {}
  • +
  • 描述: 配置远程依赖。
  • +
+
src/entry.node.ts
1export default {
+2    modules: {
+3        imports: {
+4            'ssr-base': ['root:../ssr-base/dist', 'https://<hostname>/ssr-base/versions/latest.json']
+5        }
+6    }
+7} satisfies GezOptions;
+
TIP
+
    +
  • 第一个参数为本地的存储路径
  • +
  • 第二个参数是远程依赖的地址
  • +
  • 执行 gez install 命令可以下载远程依赖到本地的地址。
  • +
+
+

你也可以直接配置本地地址。

+
src/entry.node.ts
1export default {
+2    modules: {
+3        imports: {
+4            'ssr-base': 'root:../ssr-base/dist'
+5        }
+6    }
+7} satisfies GezOptions;
+

modules.externals v3.0.0

+
    +
  • 类型:Record<string, string>
  • +
  • 默认值: {}
  • +
  • 描述: 外部依赖设置,你可以将当前服务的依赖,指向到其它导出的服务。
  • +
+
src/entry.node.ts
1export default {
+2    name: 'ssr-main',
+3    modules: {
+4        externals: {
+5            vue: 'ssr-base/npm/vue',
+6            'vue-router': 'ssr-base/npm/vue-router'
+7        }
+8    }
+9} satisfies GezOptions;
+
WARNING

需要先配置对应服务的 modules.imports,否则运行起来会报错,提示找不到模块。 +

+

钩子

+

createDevApp() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<App>
  • +
  • 默认值: isProd = false
  • +
  • 描述: 创建开发应用,在执行 devbuildpreview 命令时调用。
  • +
+
src/entry.node.ts
1export default {
+2    async createDevApp(gez) {
+3        return import('@gez/rspack').then((m) =>
+4            m.createRspackHtmlApp(gez, {
+5                config(context) {
+6                    // 可以在这里修改 Rspack 编译的配置
+7                }
+8            })
+9        );
+10    }
+11} satisfies GezOptions;
+
TIP
+ +
+

createServer() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<void>
  • +
  • 默认值: undefined
  • +
  • 描述: 创建服务器,执行 devbuildpreview 命令时调用。
  • +
+
src/entry.node.ts
1import http from 'node:http';
+2
+3export default {
+4    async createServer(gez) {
+5        const server = http.createServer((req, res) => {
+6            // 静态文件处理
+7            gez.middleware(req, res, async () => {
+8                // 传入渲染的参数
+9                const render = await gez.render({
+10                    params: {
+11                        url: req.url
+12                    }
+13                });
+14                // 响应 HTML 内容
+15                res.end(render.html);
+16            });
+17        });
+18        // 监听端口
+19        server.listen(3000, () => {
+20            console.log('http://localhost:3000');
+21        });
+22    },
+23} satisfies GezOptions;
+
TIP

你也可以使用其它的框架来创建服务器,例如:Express。 +

+

postCompileProdHook() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<void>
  • +
  • 默认值: undefined
  • +
  • 描述: gez build 构建完成后,以生产模式执行的钩子。
  • +
+
src/entry.node.ts
1import path from 'node:path';
+2
+3export default {
+4    async postCompileProdHook(gez) {
+5        const render = await gez.render({
+6            base: '/gez',
+7            params: { url: '/' }
+8        });
+9        gez.writeSync(
+10            gez.resolvePath('dist/client', url.substring(1), 'index.html'),
+11            rc.html
+12        );
+13    }
+14} satisfies GezOptions;
+
TIP

你可以使用这个钩子来生成静态网站。

+
+ + + diff --git a/guide/essentials/csr.html b/guide/essentials/csr.html new file mode 100644 index 00000000..6c7ea3d7 --- /dev/null +++ b/guide/essentials/csr.html @@ -0,0 +1,67 @@ + + + + + + + + + 客户端渲染 - Gez + + + +

客户端渲染

+

如果在生产环境,无法部署一个 Node 实例,可以在构建阶段就生成客户端渲染的 index.html 文件。

+

客户端模板

+

在服务渲染时,返回一个通用的模板即可。

+
src/entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 提交依赖收集
+5    await rc.commit();
+6    // 响应 HTML
+7    rc.html = `
+8<!DOCTYPE html>
+9<html>
+10<head>
+11    ${rc.preload()}
+12    <title>Gez</title>
+13    ${rc.css()}
+14</head>
+15<body>
+16    <div id="app"></div>
+17    ${rc.importmap()}
+18    ${rc.moduleEntry()}
+19    ${rc.modulePreload()}
+20</body>
+21</html>
+22`;
+23};
+

构建时生成 index.html

+
    +
  • postCompileProdHook 钩子中,手动执行一次 SSR 渲染,将生成的 HTML 写入到 dist/client/index.html 文件中。
  • +
  • dist/client/ 目录复制到你的服务器上。
  • +
+
src/entry.node.ts
1import path from 'node:path';
+2import type { GezOptions } from '@gez/core';
+3
+4export default {
+5    // ... 其它选项
+6    async postCompileProdHook(gez) {
+7        const render = await gez.render({
+8            params: {
+9                url: '/'
+10            }
+11        });
+12        gez.writeSync(
+13            gez.resolvePath('dist/client', url.substring(1), 'index.html'),
+14            rc.html
+15        );
+16    }
+17} satisfies GezOptions;
+
TIP

postCompileProdHook 钩子会在构建完成后,以生产模式执行构建出来的代码。如果你要生成一个完全静态的网站,也可以在这里实现。

+
+
+ + + diff --git a/guide/essentials/module-link.html b/guide/essentials/module-link.html new file mode 100644 index 00000000..47948d4b --- /dev/null +++ b/guide/essentials/module-link.html @@ -0,0 +1,120 @@ + + + + + + + + + 模块链接 - Gez + + + +

模块链接

+

我们假设有三个服务,分别是 ssr-basessr-module-authssr-main,其中

+
    +
  • +

    ssr-base 基础服务,负责第三方依赖的管理,以及提供基础的业务组件、工具函数。

    +
  • +
  • +

    ssr-module-auth 业务服务,按照业务模块来拆分服务,这里是负责用户认证相关,包含登录、注册、找回密码、验证码相关,最终对外会导出一个路由的配置文件。

    +
  • +
  • +

    ssr-main 聚合服务,将不同业务服务导出的路由配置注册进路由总线中,实现应用程序的聚合。

    +
  • +
+

基本概念

+

Remote

+
    +
  • 定义:提供远程模块供其他应用使用的应用。
  • +
  • 功能:导出自己的模块,以便其他应用可以动态加载和运行。
  • +
  • 特点:独立、灵活,可独立更新和扩展,共享依赖以优化资源加载。
  • +
+

Host

+
    +
  • 定义:加载并运行远程模块的应用,通常作为微前端架构的宿主。
  • +
  • 功能:动态加载 Remote 应用提供的模块,并在需要的地方导入和使用。
  • +
  • 特点:整合能力强,能将多个 Remote 应用组合成完整前端应用,提供扩展点和钩子函数。
  • +
+
TIP

每一个服务,既可以是 Host,也可以是 Remote。下面将会以 ssr-basessr-main 作为例子,分别扮演 Remote 和 Host,你将会了解到它是如何工作的。 +

+

无类型导出

+

在执行 tsc --declaration --emitDeclarationOnly --outDir dist/src 命令时,由于找不到 npm/axios.ts 这个文件,所以不会生成类型文件。

+

Remote

+

直接将 axios 模块导出。

+
ssr-base/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        exports: ['npm:axios']
+6    },
+7} satisfies GezOptions;
+

Host

+

ssr-main 此时作为 Host,需要将 axios 链接到 ssr-base/npm/axios,并且需要在项目安装 axios 模块来获得类型提示。

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        imports: {
+6            'ssr-base': 'root:../ssr-base/dist'
+7        },
+8        externals: {
+9            axios: 'ssr-base/npm/axios'
+10        }
+11    },
+12} satisfies GezOptions;
+

源码:

+
1import axios from 'axios';
+

将会被替换成:

+
1import axios from 'ssr-base/npm/axios';
+

有类型导出

+

在执行 tsc --declaration --emitDeclarationOnly --outDir dist/src 命令时,由于存在 src/axios.ts 这个文件,就会生成相关的类型文件。

+

Remote

+

创建文件,并导出 axios

+
ssr-base/src/axios.ts
1export * from 'axios';
+

导出 axios 软件包。

+
ssr-base/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        exports: ['root:src/axios.ts']
+6    },
+7} satisfies GezOptions;
+

Host

+

ssr-main 此时作为 Host,需要导入 ssr-base 服务。

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        imports: {
+6            'ssr-base': 'root:../ssr-base/dist'
+7        }
+8    },
+9} satisfies GezOptions;
+

此时,你在业务代码中将会获得类型提示。

+
ssr-main/src/app.ts
1import axios from 'ssr-base/src/axios';
+
TIP

如果要考虑到老系统需要迁移,你还是可以选择将 axios 替换成 ssr-base/src/axios,并且需要安装 axios 模块到当前项目下才能获得类型提示。 +

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        externals: {
+6            axios: 'ssr-base/src/axios'
+7        }
+8    },
+9} satisfies GezOptions;
+

软件包发布

+

packs.enable 配置为 true 时,在编译完成后,会将 dist 目录进行归档,写入到 dist/client/versions/latest.tgz

+
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    packs: {
+5        enable: true
+6    }
+7} satisfies GezOptions;
+
WARNING

未完待续!

+
+ + + diff --git a/guide/essentials/render-context.html b/guide/essentials/render-context.html new file mode 100644 index 00000000..51ce186d --- /dev/null +++ b/guide/essentials/render-context.html @@ -0,0 +1,91 @@ + + + + + + + + + 渲染上下文 - Gez + + + +

渲染上下文

+

我们有 entry.node.tsentry.server.ts 两个入口文件,entry.node.ts 负责创建服务器,来调用 entry.server.ts 生成 HTML。为了简化 CSS 和 JS 的注入,于是提供了一个 RenderContext 对象。

+

基本传参

+

entry.node.ts 通常可以看到这样的代码,调用一个渲染函数,然后服务响应 HTML。

+
entry.node.ts
1const rc = await gez.render({
+2    // 传入渲染的参数
+3    params: {
+4        url: req.url
+5    }
+6});
+7// 响应 HTML 内容
+8res.end(rc.html);
+

entry.server.ts 接收到传入的参数,并且根据传入的参数来响应内容。

+
entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 传入的参数
+5    console.log(rc.params);
+6    // 提交模块依赖收集
+7    await rc.commit();
+8    // 响应内容
+9    rc.html = `你好世界!`;
+10}
+

模块依赖收集

+

在 SSR 应用程序中,要处理注入渲染页面的 CSS 和 JS 文件,并不是一件简单的事情,当需要考虑多服务提供的模块时,这个问题将会变得更难。庆幸的是,Gez 提供了一个标准的实现方案,并且在 Vue 中提供了完整的实现。

+

在构建阶段,Gez 会给服务端生成的每一个 JS 文件头部注入一个 import.meta.chunkName 字段,该字段提供了一个 chunk 文件打包的入口源文件。

+
[chunk].js
1import.meta.chunkName= import.meta.chunkName ?? "ssr-vue2-remote@src/entry.ts";
+

ssr-vue2-remote 是我们的服务名,src/entry.ts 是这个文件打包的第一个文件。

+

例如:

+
1import('ssr-vue2-remote/src/app.ts');
+

上述代码,就会生成

+
1import.meta.chunkName = import.meta.chunkName ?? "ssr-vue2-remote@src/app.ts";
+

Vue2 例子

+

将渲染上下文的 importMetaSet 对象传递给 Vue SSR 渲染的上下文对象中。

+
entry.server.ts
1export default async (rc: RenderContext) => {
+2    const { app } = createApp();
+3
+4    const html = await renderer.renderToString(app, {
+5        importMetaSet: rc.importMetaSet
+6    });
+7    // ......
+8};
+

在 Vue 组件中,收集上下文依赖。

+
App.vue
1export default {
+2    serverPrefetch () {
+3        this.$ssrContext?.importMetaSet.add(import.meta);
+4    }
+5}
+
TIP

在实际的操作中,@gez/rspack-vue 已经在编译 .vue 组件时,已经将这段代码注入,你不需要手动调用。 +

+

等 Vue 组件渲染完成后,调用 await rc.commit() 函数来提交模块上下文的依赖收集, rc.preload()rc.css()rc.importmap()rc.modulePreload() 才能正确的注入客户端所需的依赖。

+
entry.server.ts
1export default async (rc: RenderContext) => {
+2    // ......
+3    await rc.commit();
+4
+5    rc.html = `
+6<!DOCTYPE html>
+7<html>
+8<head>
+9    ${rc.preload()}
+10    <title>Gez</title>
+11    ${rc.css()}
+12</head>
+13<body>
+14    ${html}
+15    ${rc.importmap()}
+16    ${rc.moduleEntry()}
+17    ${rc.modulePreload()}
+18</body>
+19</html>
+20`;
+21};
+

深入了解

+
TIP

如果你想更加深入了解模块依赖收集,可以看下 ssr-html 这个例子,它是通过编码的形式来实现模块的依赖收集。 +

+
+ + + diff --git a/guide/essentials/rspack.html b/guide/essentials/rspack.html new file mode 100644 index 00000000..7d44aa95 --- /dev/null +++ b/guide/essentials/rspack.html @@ -0,0 +1,180 @@ + + + + + + + + + Rspack - Gez + + + +

Rspack

+

Gez 是基于 Rspack 构建应用程序,同时也就继承了 Rspack 的全部优势。Gez 提供了一些 Rspack 的配置,你可以根据自己的情况来选择使用哪个。

+
TIP

你可以基于 @gez/rspackcreateRspackHtmlApp 函数构建自己的 VueReactPreactSolidSvelte 等不同框架的配置。 +

+

@gez/rspack

+

提供了 Rspack 的基本配置。

+

安装依赖

+

如果你没有 @gez/rspack 的依赖,那么你可以通过如下命令安装。

+
npm
yarn
pnpm
bun
1npm install @gez/rspack -D
+

No Loader

+

createRspackApp 提供了 Gez 的必要配置,默认情况下不提供任何 loader 相关的配置,你还需要配置一些 loader 才能将项目跑起来。

+
DANGER

Gez 的默认配置不可修改,否则 Gez 无法正常工作,点击这里 了解默认配置。 +

+

选项

+

config() v3.0.0

+
    +
  • 类型: config?: (context: RspackAppConfigContext) => void;
  • +
  • 默认值: undefined
  • +
  • 描述: 自定义 Rspack 配置。
  • +
+

例子

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack').then((m) =>
+6            m.createRspackApp(gez, {
+7                config({ config }) {
+8                    config.module = {
+9                        ...config.module,
+10                        rules: [
+11                            {
+12                                test: /\.ts$/,
+13                                exclude: [/node_modules/],
+14                                loader: 'builtin:swc-loader',
+15                                options: {
+16                                  jsc: {
+17                                    parser: {
+18                                      syntax: 'typescript',
+19                                    },
+20                                  },
+21                                },
+22                                type: 'javascript/auto',
+23                              }
+24                        ]
+25                    }
+26                }
+27            })
+28        );
+29    }
+30} satisfies GezOptions;
+

Html

+

createRspackHtmlApp 提供了一些开箱即用的配置,支持 Typescript、Worker、JSON、CSS、Less、Video、Image、Font 的相关文件。

+

选项

+

css v3.0.0

+
    +
  • 类型: boolean
  • +
  • 默认值: true
  • +
  • 描述: 是否启用默认的 CSS 配置。
  • +
+
TIP

如果你要自定义 CSS loader,可以设置为 false。 +

+

swcLoader v3.0.0

+
    +
  • 类型: SwcLoaderOptions
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 builtin-swc-loader
  • +
+

lessLoader v3.0.0

+
    +
  • 类型: Record<string, any>;
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 less-loader
  • +
+

styleResourcesLoader v3.0.0

+ +

definePlugin v3.0.0

+
    +
  • 类型: Record<string, any>;
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 DefinePlugin
  • +
+

target.web v3.0.0

+
    +
  • 类型: string[]
  • +
  • 默认值: ['chrome>=87', 'firefox>=78', 'safari>=14', 'edge>=88']
  • +
  • 描述: 浏览器的构建目标。
  • +
+
WARNING

构建目标小于默认配置,Gez 可能无法正常工作。

+

target.node v3.0.0

+
    +
  • 类型: string[]
  • +
  • 默认值: ['node>=20']
  • +
  • 描述: Node.js 的构建目标。
  • +
+
WARNING

构建目标小于默认配置,无法保证兼容性,请认真考虑后设置。

+

例子

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack').then((m) =>
+6            m.createRspackHtmlApp(gez, {
+7                // 自定义选项
+8                config({ config }) {
+9                    // 自定义 Rspack 的配置
+10                }
+11            })
+12        );
+13    },
+14} satisfies GezOptions;
+

@gez/rspack-vue

+

提供了 Rspack vue 的基本配置。

+

安装

+

如果你没有 @gez/rspack-vue 的依赖,那么你可以通过如下命令安装。

+
npm
yarn
pnpm
bun
1npm install @gez/rspack-vue -D
+
TIP

该软件包同时支持 Vue2Vue3。 +

+

选项

+

选项继承于 createRspackHtmlApp

+

vueLoader v3.0.0

+
    +
  • 类型: Record<string, any>
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 vue-loader
  • +
+
WARNING

experimentalInlineMatchResourceoptimizeSSR 由程序自动设置,你传入也无效。 +

+

Vue2

+

createRspackVue2App 提供了 Vue2 的 .vue 文件支持。

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack-vue').then((m) =>
+6            m.createRspackVue2App(gez, {
+7                config ({ config }) {
+8                    // 自定义 Rspack 配置
+9                }
+10            })
+11        );
+12    }
+13} satisfies GezOptions;
+

Vue3

+

createRspackVue3App 提供了 Vue3 的 .vue 文件的支持

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack-vue').then((m) =>
+6            m.createRspackVue3App(gez, {
+7                config ({ config }) {
+8                    // 自定义 Rspack 配置
+9                }
+10            })
+11        );
+12    }
+13} satisfies GezOptions;
+

JSX/TSX

+

目前暂不支持 JSX/TSX ,如果你想要支持它。需要自行添加相关的 Rspack 配置。点击这里了解 Vue 的相关配置。

+
+ + + diff --git a/guide/essentials/std.html b/guide/essentials/std.html new file mode 100644 index 00000000..cf730e61 --- /dev/null +++ b/guide/essentials/std.html @@ -0,0 +1,58 @@ + + + + + + + + + 通用约定 - Gez + + + +

通用约定

+

目录规范

+

这是一个约定,无法通过程序配置来修改。

+
1root
+2│─ dist                  # 编译输出目录。
+3│  ├─ package.json       # 编译输出后的软件包配置。
+4│  ├─ server             # 服务端编译输出。
+5│  │  └─ manifest.json   # 编译清单输出,用于生成 importmap。
+6│  ├─ node               # Node 服务器程序编译输出。
+7│  ├─ client             # 客户端编译输出。
+8│  │  ├─ versions        # 版本存储目录。
+9│  │  │  └─ latest.tgz   # 将 dist 目录归档,对外提供软件包分发。
+10│  │  └─ manifest.json   # 编译清单输出,用于生成 importmap。
+11│  └─ src                # 使用 tsc 生成的文件类型。
+12├─ src
+13│  ├─ entry.server.ts    # 服务端应用程序入口。
+14│  ├─ entry.client.ts    # 客户端应用程序入口。
+15│  └─ entry.node.ts      # Node 服务器应用程序入口。
+16├─ tsconfig.json         # TypeScript 配置。
+17└─ package.json          # 软件包配置。
+
拓展知识
+
    +
  • gez.name 来源于 package.jsonname 字段。
  • +
  • dist/package.json 来源于根目录的 package.json
  • +
  • 设置 packs.enabletrue 时,才会对 dist 目录进行归档。
  • +
+
+

缓存策略

+

在构建生产代码时,可以设置强缓存部分的资源,总是以 .final[ext] 作为文件名生成规则。也就是说符合这个规则的文件,可以设置强缓存,否则应设置协商缓存。

+

final 文件

+
1res.setHeader('cache-control', 'public, max-age=31536000, immutable')
+

其它文件

+
1res.setHeader('cache-control', 'no-cache')
+
小知识

使用了 gez.middleware 中间件,就会默认帮你处理这个逻辑。在生产环境时,你可以自己来实现静态服务器来控制不同的缓存策略,对于你来说 gez.middleware 是可选的。点击这里 可以参考实现。 +

+

Node experimental

+

在开发时,gez 会启用一些 Node 实验性质的功能,来获得开发环境支持 ESM 热更新和 TypeScript 的原生支持。

+
1node --experimental-vm-modules --experimental-import-meta-resolve --experimental-strip-types
+

但是在生产环境中,我们完全不需要这些,你应该使用构建后的产物来运行程序。

+
1NODE_ENV=production node dist/index.js
+
WARNING

如果你在生产环境中使用 gez start 来启动你的应用程序,由于启用了 Node 实验性功能的原因,可能会给你的程序带来未知的风险,请始终使用 NODE_ENV=production node dist/index.js 来启动。 +

+
+ + + diff --git a/guide/start/getting-started.html b/guide/start/getting-started.html new file mode 100644 index 00000000..7dd53971 --- /dev/null +++ b/guide/start/getting-started.html @@ -0,0 +1,173 @@ + + + + + + + + + 快速开始 - Gez + + + +

快速开始

+

这是一个与框架无关的例子,采用原生的 HTML 来开发项目

+
TIP

Gez 默认支持 SSR,但是你可以当成 CSR 来使用。 +

+

创建项目

+
1cd 项目目录
+2npm init
+

设置 ESM

+
package.json
1{
+2    "type": "module",
+3}
+

安装依赖

+

安装生产依赖

+
npm
yarn
pnpm
bun
1npm install @gez/core
+

安装开发依赖

+
npm
yarn
pnpm
bun
1npm install @gez/rspack typescript @types/node -D
+
TIP

总是应该将生产依赖和开发依赖区分,会使 node_modules 在生产环境中更小。 +

+

添加脚本

+
package.json
1{
+2    "scripts": {
+3        "dev": "gez dev",
+4        "build": "npm run build:dts && npm run build:ssr",
+5        "build:ssr": "gez build",
+6        "preview": "gez preview",
+7        "start": "gez start",
+8        "build:dts": "tsc --declaration --emitDeclarationOnly --outDir dist/src"
+9    },
+10}
+
TIP

你需要手动配置 tsconfig.json 文件,否则执行 build:dts 命令会报错。 +

+

目录结构

+
- src/ + - entry.client.ts # 客户端渲染入口。 + - entry.server.ts # 服务端渲染入口。 + - entry.node.ts # 创建服务器。 +- tsconfig.json # TS 的配置。 +- package.json # 软件包配置。 +
+

tsconfig.json

+
1{
+2    "compilerOptions": {
+3        "isolatedModules": true,
+4        "experimentalDecorators": true,
+5        "resolveJsonModule": true,
+6        "types": [
+7            "@types/node"
+8        ],
+9        "target": "ESNext",
+10        "module": "ESNext",
+11        "moduleResolution": "node",
+12        "strict": true,
+13        "skipLibCheck": true,
+14        "allowSyntheticDefaultImports": true,
+15        "paths": {
+16            "ssr-html/src/*": [
+17                "./src/*"
+18            ],
+19            "ssr-html/*": [
+20                "./*"
+21            ]
+22        }
+23    },
+24    "include": [
+25        "src"
+26    ],
+27    "exclude": [
+28        "dist"
+29    ]
+30  }
+
WARNING

你需要将上面的 ssr-html,替换成 package.jsonname 字段的值。 +

+

创建服务器

+

创建一个 web 服务器,来处理客户请求

+
src/entry.node.ts
1import http from 'node:http';
+2import type { GezOptions } from '@gez/core';
+3
+4export default {
+5    // 本地执行 dev 和 build 时会使用
+6    async createDevApp(gez) {
+7        return import('@gez/rspack').then((m) =>
+8            m.createRspackHtmlApp(gez, {
+9                config(context) {
+10                    // 可以在这里修改 Rspack 编译的配置
+11                }
+12            })
+13        );
+14    },
+15    async createServer(gez) {
+16        const server = http.createServer((req, res) => {
+17            // 静态文件处理
+18            gez.middleware(req, res, async () => {
+19                // 传入渲染的参数
+20                const rc = await gez.render({
+21                    params: {
+22                        url: req.url
+23                    }
+24                });
+25                // 响应 HTML 内容
+26                res.end(rc.html);
+27            });
+28        });
+29        // 监听端口
+30        server.listen(3000, () => {
+31            console.log('http://localhost:3000');
+32        });
+33    }
+34} satisfies GezOptions;
+

服务端渲染

+

模拟框架的 SSR API,渲染出 HTML 内容返回

+
src/entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 提交依赖收集
+5    await rc.commit();
+6    // 响应 HTML
+7    const time = new Date().toISOString();
+8    rc.html = `
+9<!DOCTYPE html>
+10<html>
+11<head>
+12    ${rc.preload()}
+13    <title>Gez</title>
+14    ${rc.css()}
+15</head>
+16<body>
+17    <h1>Gez</h1>
+18    <h2>Hello world!</h2>
+19    <p>URL: ${rc.params.url}</p>
+20    <time>${time}</time>
+21    ${rc.importmap()}
+22    ${rc.moduleEntry()}
+23    ${rc.modulePreload()}
+24</body>
+25</html>
+26`;
+27};
+

客户端渲染

+

更新当前时间

+
src/entry.client.ts
1const time = document.querySelector('time');
+2setInterval(() => {
+3    time?.setHTMLUnsafe(new Date().toISOString());
+4}, 1000);
+

启动项目

+
1npm run dev
+
+

浏览器打开:http://localhost:3000

+
+

更多例子

+ +
TIP

如果你使用了 Gez,欢迎提交 PR,在这里提供更多的例子。

+
+ + + diff --git a/guide/start/introduction.html b/guide/start/introduction.html new file mode 100644 index 00000000..efd17916 --- /dev/null +++ b/guide/start/introduction.html @@ -0,0 +1,70 @@ + + + + + + + + + 介绍 - Gez + + + +

介绍

+

Gez 是 Genesis 迭代的第三个大版本,v1.0 是基于 HTTP 请求来实现的远程组件,v2.0 是基于 Module Federation v1.0 +实现的远程组件。随着主流浏览器都已经支持 ESM,这使得设计一款基于 ESM 的模块链接变成了可能。随着 Rspack v1.0 的发布,提供了对 ESM 更加友好的支持,这使得我们可以将可能变成了现实。于是,我们将 v3.0 版本重命名为 Gez

+

为什么选 Gez

+

目前,社区中的微服务解决方案大致可归为三类:iframe、micro-app 和 Module Federation。然而,iframe 和 micro-app 模式更适用于对老旧项目的整合,这种整合往往以牺牲一定的运行效率为代价。而 Module Federation,尽管功能强大,却因其较高的接入成本和复杂的内部机制,使得问题排查变得异常困难。

+

相较于这些方案,Gez展现出了显著的优势。它完全基于 ESM(ECMAScript Modules)模块系统设计,不仅默认支持服务器端渲染(SSR),还允许每个服务灵活地导出或使用外部模块。这一过程中,Gez保持了简单透明的特性,使得依赖管理变得精准可控。更值得一提的是,通过 importmap 技术,Gez能够将多个服务的模块映射到具有强缓存、基于内容哈希的URL上,从而确保了应用的高效与稳定。

+
TIP

Gez的初衷在于打造一个支持服务器端渲染(SSR)的微服务架构,旨在助力构建高性能且规模庞大的 Web 应用程序。

+

调研

+
    +
  • +

    现代JavaScript支持:参考了Vite的定义,基准为浏览器对 ESM dynamic importimport.meta 的支持。

    +
      +
    • Chrome ≥ 87
    • +
    • Firefox ≥ 78
    • +
    • Safari ≥ 14
    • +
    • Edge ≥ 88
    • +
    • Node.js ≥ 22.6
    • +
    +
  • +
  • +

    内容哈希与importmap:构建产物具备内容哈希,利用 importmap 技术将 import vue from 'vue' 转换为 ssr-npm/npm/vue.[contenthash].final.js,确保静态文件的强缓存。对于不支持importmap的浏览器,采用 es-module-shims 进行降级处理。

    +
  • +
  • +

    Rspack与ESM外部依赖:Rspack 的 externalsType 支持 module-import,便于设置 ESM 模块的外部依赖。

    +
  • +
  • +

    Node.js上的ESM热更新:尽管在 Node.js 上实现 ESM 模块的热更新具有挑战性,但可通过启用 node --experimental-vm-modules --experimental-import-meta-resolve 来实现。

    +
  • +
  • +

    Node.js原生支持TypeScript:自 Node.js 22.6 版本起,支持 --experimental-strip-types,从而原生支持运行TypeScript代码。

    +
  • +
+
TIP

经过一年多的构思与对Vite、farmfe、Rspack的深入调研,我们成功打通了这条路径,并确保其生产环境可用性。

+

定位

+

Gez 的定位并非旨在成为一个如同 Next.jsNuxt.js 那样功能全面的大型框架。相反,它致力于成为一个具备 Typescript、ESM、SSR(服务器端渲染)以及模块链接等核心特性的基础设施。基于这样的基础,开发者可以自由地构建出属于自己的 Next.js。对于那些追求高度定制化的实现,Gez 将是一个理想的选择。

+

模块链接

+

在大型项目开发过程中,为了提高代码的可维护性和复用性,通常会将项目拆分为多个组件库、工具库和业务模块。这些部分往往分散在不同的位置,可能以 multirepo 或 monorepo 包的形式进行管理和存储。然而,这些分散的模块最终需要通过系统的主程序进行有效的整合和链接,以确保整个系统的协同工作。

+

在这个过程中,Gez发挥了至关重要的作用。其核心功能在于能够快速地将这些分布在不同地方的模块进行链接,从而形成一个完整、统一的系统。通过Gez,开发者可以轻松地实现一个服务的发布,并确保其他相关服务能够同步更新,大大提高了开发效率和系统的一致性。

+

简而言之,Gez为大型项目的模块整合提供了便捷、高效的解决方案,使得分散的模块能够迅速聚合,共同构建出稳定、可靠的大型应用系统。

+

设计理念

+

在构建大型软件项目时,我们遵循以下核心理念,以确保系统的稳定性、可维护性和高效性:

+

基础服务集中化

+

我们倡导设计一个集中的基础服务,该服务将作为所有第三方依赖的单一来源。这种集中化的管理方式能够简化依赖关系,降低系统的复杂性。

+

统一依赖管理

+

基础服务不仅提供第三方依赖,还负责这些依赖的统一维护和更新。通过集中管理依赖的生命周期,我们可以确保整个系统中使用的依赖版本是一致的,从而避免版本冲突和不一致性问题。

+

一次发布,全局生效

+

当基础服务中的第三方依赖发生更新时,我们采用“一次发布,所有业务系统生效”的策略。这意味着一旦基础服务发布了新的依赖版本,所有依赖该服务的业务系统都将立即使用这些更新,无需在每个业务系统中单独进行更新操作。这种机制大大提高了系统的更新效率和一致性。

+

业务与依赖解耦

+

我们鼓励将业务服务与第三方依赖进行解耦。业务服务应专注于构建和处理业务逻辑,而不直接管理第三方依赖。所有对第三方依赖的引用都应通过基础服务进行间接访问。这种设计使得业务服务更加轻量级、灵活,且易于维护和扩展。

+

综上所述,我们的设计理念旨在通过基础服务的集中化管理和统一维护,简化大型项目中的依赖关系,提高系统的整体稳定性和开发效率。同时,通过解耦业务服务与第三方依赖,我们为系统的未来扩展和维护奠定了坚实的基础。

+

兼容性

+

所有的主流浏览器都已经支持,针对一些低版本的浏览器,可以提供一个升级的页面来引导用户升级它的浏览器。

+

可靠性

+

v1.0v2.0 到现在的 v3.0,已经走过了将近 5 年的时光,支持起了公司内部数十个业务的项目,并且不断地推动业务项目的升级。

+
+ + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..1587a0c8 --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + + Gez + + + +

Gez

基于导入映射实现的模块链接。

👍

技术创新

首个基于 ESM 构建的 SSR 多服务模块链接。

🚀

项目构建

基于 Rspack 实现,构建速度极快,带给你极致的开发体验。

🎯

依赖管理

一次构建,一次发布,多服务生效。

☁️

同构渲染

支持 Vue2、Vue3、React 等不同框架实现 SSR。

😎

基准支持

Node22.9 和支持 ESM dynamic import 和 import.meta 的浏览器。

👏

长久维护

Genesis 从 2020 年迭代至今,现更名为 Gez。

+
+ + + diff --git a/logo.svg b/logo.svg new file mode 100644 index 00000000..fef098a6 --- /dev/null +++ b/logo.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-base/importmap.5bd8cd6c7af9.final.js b/ssr-base/importmap.5bd8cd6c7af9.final.js new file mode 100644 index 00000000..8b5cfae9 --- /dev/null +++ b/ssr-base/importmap.5bd8cd6c7af9.final.js @@ -0,0 +1 @@ +(s=>{let t="ssr-base",e="__importmap__",c=s[e]=s[e]||{},r=c.imports=c.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+t+"/"),n=s=>t+s.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ef46db37.final.js","./npm/axios":"./npm/axios.614f39dd.final.js","./src/date-fns":"./src/date-fns.58515d12.final.js","./src/title":"./src/title.f87b9567.final.js"}).forEach(([s,t])=>{r[n(s)]=i[0]+"/"+n(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-base/importmap.js b/ssr-base/importmap.js new file mode 100644 index 00000000..8b5cfae9 --- /dev/null +++ b/ssr-base/importmap.js @@ -0,0 +1 @@ +(s=>{let t="ssr-base",e="__importmap__",c=s[e]=s[e]||{},r=c.imports=c.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+t+"/"),n=s=>t+s.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ef46db37.final.js","./npm/axios":"./npm/axios.614f39dd.final.js","./src/date-fns":"./src/date-fns.58515d12.final.js","./src/title":"./src/title.f87b9567.final.js"}).forEach(([s,t])=>{r[n(s)]=i[0]+"/"+n(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-base/index.html b/ssr-base/index.html new file mode 100644 index 00000000..e69de29b diff --git a/ssr-base/manifest.json b/ssr-base/manifest.json new file mode 100644 index 00000000..99ead2ea --- /dev/null +++ b/ssr-base/manifest.json @@ -0,0 +1,62 @@ +{ + "name": "ssr-base", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.ef46db37.final.js", + "./npm/axios": "./npm/axios.614f39dd.final.js", + "./src/date-fns": "./src/date-fns.58515d12.final.js", + "./src/title": "./src/title.f87b9567.final.js" + }, + "buildFiles": [ + "src/title.f87b9567.final.js", + "npm/axios.614f39dd.final.js", + "src/entry.client.ef46db37.final.js", + "src/date-fns.58515d12.final.js", + "importmap.js", + "importmap.5bd8cd6c7af9.final.js" + ], + "importmapJs": "importmap.5bd8cd6c7af9.final.js", + "chunks": { + "ssr-base@src/title.ts": { + "js": "./src/title.f87b9567.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 49, + "css": 0, + "resource": 0 + } + }, + "ssr-base@../../node_modules/.pnpm/axios@1.7.7/node_modules/axios/index.js": { + "js": "./npm/axios.614f39dd.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 169416, + "css": 0, + "resource": 0 + } + }, + "ssr-base@src/entry.client.ts": { + "js": "./src/entry.client.ef46db37.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 1, + "css": 0, + "resource": 0 + } + }, + "ssr-base@src/date-fns.ts": { + "js": "./src/date-fns.58515d12.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 532936, + "css": 0, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-base/npm/axios.614f39dd.final.js b/ssr-base/npm/axios.614f39dd.final.js new file mode 100644 index 00000000..17640579 --- /dev/null +++ b/ssr-base/npm/axios.614f39dd.final.js @@ -0,0 +1 @@ +let t,e,r;var n,o={446:function(t,e){e.byteLength=function(t){var e=f(t),r=e[0],n=e[1];return(r+n)*3/4-n},e.toByteArray=function(t){var e,r,i,s,a=f(t),u=a[0],l=a[1];var c=new o((e=0,(u+(r=l))*3/4-r)),h=0,p=l>0?u-4:u;for(s=0;s>16&255,c[h++]=i>>8&255,c[h++]=255&i;return 2===l&&(i=n[t.charCodeAt(s)]<<2|n[t.charCodeAt(s+1)]>>4,c[h++]=255&i),1===l&&(i=n[t.charCodeAt(s)]<<10|n[t.charCodeAt(s+1)]<<4|n[t.charCodeAt(s+2)]>>2,c[h++]=i>>8&255,c[h++]=255&i),c},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],s=0,a=n-o;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o])}return s.join("")}(t,s,s+16383>a?a:s+16383));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},313:function(t,e,r){let n=r(446),o=r(164),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.INSPECT_MAX_BYTES=50;a.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),!a.TYPED_ARRAY_SUPPORT&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(t){if(t>0x7fffffff)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,a.prototype),e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return l(t)}return f(t,e,r)}function f(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!a.isEncoding(e))throw TypeError("Unknown encoding: "+e);let r=0|d(t,e),n=s(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(F(t,Uint8Array)){let e=new Uint8Array(t);return h(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(F(t,SharedArrayBuffer)||t&&F(t.buffer,SharedArrayBuffer)))return h(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);let o=function(t){if(a.isBuffer(t)){let e=0|p(t.length),r=s(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(void 0!==t.length)return"number"!=typeof t.length||function(t){return t!=t}(t.length)?s(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(t,e,r){return f(t,e,r)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function l(t){return u(t),s(t<0?0:0|p(t))}a.alloc=function(t,e,r){var n,o,i;return n=t,o=e,i=r,(u(n),n<=0)?s(n):void 0!==o?"string"==typeof i?s(n).fill(o,i):s(n).fill(o):s(n)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)};function c(t){let e=t.length<0?0:0|p(t.length),r=s(e);for(let n=0;n=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+"7fffffff bytes");return 0|t}function d(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(t).length;default:if(o)return n?-1:L(t).length;e=(""+e).toLowerCase(),o=!0}}function y(t,e,r){let o=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0))return"";for(!t&&(t="utf8");;)switch(t){case"hex":return function(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let o="";for(let n=e;n0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),function(t){return t!=t}(r=+r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return -1;r=t.length-1}else if(r<0){if(!o)return -1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,o);if("number"==typeof e){if(e&=255,"function"==typeof Uint8Array.prototype.indexOf)return o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r);return b(t,[e],r,n,o)}throw TypeError("val must be string, number or Buffer")}function b(t,e,r,n,o){let i,s=1,a=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;s=2,a/=2,f/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){let n=-1;for(i=r;ia&&(r=a-f),i=r;i>=0;i--){let r=!0;for(let n=0;nn.length?(!a.isBuffer(e)&&(e=a.from(e)),e.copy(n,o)):Uint8Array.prototype.set.call(n,e,o);else if(a.isBuffer(e))e.copy(n,o);else throw TypeError('"list" argument must be an Array of Buffers');o+=e.length}return n},a.byteLength=d,a.prototype._isBuffer=!0,a.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},i&&(a.prototype[i]=a.prototype.inspect),a.prototype.compare=function(t,e,r,n,o){if(F(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,o>>>=0,this===t)return 0;let i=o-n,s=r-e,f=Math.min(i,s),u=this.slice(n,o),l=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let E=this.length-e;if((void 0===r||r>E)&&(r=E),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");!n&&(n="utf8");let R=!1;for(;;)switch(n){case"hex":return function(t,e,r,n){let o;r=Number(r)||0;let i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;let s=e.length;for(n>s/2&&(n=s/2),o=0;o>8,o=r%256,i.push(o),i.push(n);return i}(m,g.length-b),g,b,w);default:if(R)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),R=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(t,e,r){r=Math.min(t.length,r);let n=[],o=e;for(;o239?4:e>223?3:e>191?2:1;if(o+s<=r){let r,n,a,f;switch(s){case 1:e<128&&(i=e);break;case 2:(192&(r=t[o+1]))==128&&(f=(31&e)<<6|63&r)>127&&(i=f);break;case 3:r=t[o+1],n=t[o+2],(192&r)==128&&(192&n)==128&&(f=(15&e)<<12|(63&r)<<6|63&n)>2047&&(f<55296||f>57343)&&(i=f);break;case 4:r=t[o+1],n=t[o+2],a=t[o+3],(192&r)==128&&(192&n)==128&&(192&a)==128&&(f=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&a)>65535&&f<1114112&&(i=f)}}null===i?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|1023&i),n.push(i),o+=s}return function(t){let e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nr)throw RangeError("Trying to access beyond buffer length")}function R(t,e,r,n,o,i){if(!a.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw RangeError("Index out of range")}function A(t,e,r,n,o){C(e,n,o,t,r,7);let i=Number(e&BigInt(0xffffffff));t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i;let s=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function O(t,e,r,n,o){C(e,n,o,t,r,7);let i=Number(e&BigInt(0xffffffff));t[r+7]=i,i>>=8,t[r+6]=i,i>>=8,t[r+5]=i,i>>=8,t[r+4]=i;let s=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function S(t,e,r,n,o,i){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function B(t,e,r,n,i){return e=+e,r>>>=0,!i&&S(t,e,r,4,34028234663852886e22,-34028234663852886e22),o.write(t,e,r,n,23,4),r+4}function x(t,e,r,n,i){return e=+e,r>>>=0,!i&&S(t,e,r,8,17976931348623157e292,-17976931348623157e292),o.write(t,e,r,n,52,8),r+8}a.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t],o=1,i=0;for(;++i>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t+--e],o=1;for(;e>0&&(o*=256);)n+=this[t+--e]*o;return n},a.prototype.readUint8=a.prototype.readUInt8=function(t,e){return t>>>=0,!e&&E(t,1,this.length),this[t]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(t,e){return t>>>=0,!e&&E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(t,e){return t>>>=0,!e&&E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+0x1000000*this[t+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),0x1000000*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readBigUInt64LE=M(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&I(t,this.length-8);let n=e+256*this[++t]+65536*this[++t]+0x1000000*this[++t],o=this[++t]+256*this[++t]+65536*this[++t]+0x1000000*r;return BigInt(n)+(BigInt(o)<>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&I(t,this.length-8);let n=0x1000000*e+65536*this[++t]+256*this[++t]+this[++t],o=0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t],o=1,i=0;for(;++i=(o*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,!r&&E(t,e,this.length);let n=e,o=1,i=this[t+--n];for(;n>0&&(o*=256);)i+=this[t+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},a.prototype.readInt8=function(t,e){return(t>>>=0,!e&&E(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,!e&&E(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,!e&&E(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readBigInt64LE=M(function(t){_(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&I(t,this.length-8),(BigInt(this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24))<>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&I(t,this.length-8),(BigInt((e<<24)+65536*this[++t]+256*this[++t]+this[++t])<>>=0,!e&&E(t,4,this.length),o.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),o.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,!e&&E(t,8,this.length),o.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,!e&&E(t,8,this.length),o.read(this,t,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;R(this,t,e,r,n,0)}let o=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;R(this,t,e,r,n,0)}let o=r-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+r},a.prototype.writeUint8=a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0xffffffff,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0xffffffff,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeBigUInt64LE=M(function(t,e=0){return A(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=M(function(t,e=0){return O(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let o=r-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0x7fffffff,-0x80000000),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0x7fffffff,-0x80000000),t<0&&(t=0xffffffff+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeBigInt64LE=M(function(t,e=0){return A(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=M(function(t,e=0){return O(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeFloatLE=function(t,e,r){return B(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return B(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return x(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return x(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw TypeError("argument should be a Buffer");if(!r&&(r=0),!n&&0!==n&&(n=this.length),e>=t.length&&(e=t.length),!e&&(e=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,!t&&(t=0),"number"==typeof t)for(o=e;o=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}T("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),T("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,o=r;return Number.isInteger(r)&&Math.abs(r)>0x100000000?o=U(String(r)):"bigint"==typeof r&&(o=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(o=U(o)),o+="n"),n+=` It must be ${e}. Received ${o}`},RangeError);function C(t,e,r,n,o,i){var s,a,f;if(t>r||t3?0===e||e===BigInt(0)?`>= 0${o} and < 2${o} ** ${(i+1)*8}${o}`:`>= -(2${o} ** ${(i+1)*8-1}${o}) and < 2 ** ${(i+1)*8-1}${o}`:`>= ${e}${o} and <= ${r}${o}`,new v.ERR_OUT_OF_RANGE("value",n,t)}s=n,a=o,f=i,_(a,"offset"),(void 0===s[a]||void 0===s[a+f])&&I(a,s.length-(f+1))}function _(t,e){if("number"!=typeof t)throw new v.ERR_INVALID_ARG_TYPE(e,"number",t)}function I(t,e,r){if(Math.floor(t)!==t)throw _(t,r),new v.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new v.ERR_BUFFER_OUT_OF_BOUNDS;throw new v.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}let N=/[^+/0-9A-Za-z-_]/g;function L(t,e){let r;e=e||1/0;let n=t.length,o=null,i=[];for(let s=0;s55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return i}function j(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(N,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function P(t,e,r,n){let o;for(o=0;o=e.length)&&!(o>=t.length);++o)e[o+r]=t[o];return o}function F(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function k(t){return t!=t}let D=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let o=0;o<16;++o)e[n+o]=t[r]+t[o]}return e}();function M(t){return"undefined"==typeof BigInt?q:t}function q(){throw Error("BigInt not supported")}},164:function(t,e){e.read=function(t,e,r,n,o){var i,s,a=8*o-n-1,f=(1<>1,l=-7,c=r?o-1:0,h=r?-1:1,p=t[e+c];for(c+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+c],c+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=n;l>0;s=256*s+t[e+c],c+=h,l-=8);if(0===i)i=1-u;else{if(i===f)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),i-=u}return(p?-1:1)*s*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var s,a,f,u=8*i-o-1,l=(1<>1,h=23===o?5960464477539062e-23:0,p=n?0:i-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+c>=1?e+=h/f:e+=h*Math.pow(2,1-c),e*f>=2&&(s++,f/=2),s+c>=l?(a=0,s=l):s+c>=1?(a=(e*f-1)*Math.pow(2,o),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,o),s=0));o>=8;t[r+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;t[r+p]=255&s,p+=d,s/=256,u-=8);t[r+p-d]|=128*y}}},i={};function s(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,s),r.exports}s.d=function(t,e){for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var a={};function f(t,e){return function(){return t.apply(e,arguments)}}s.r(a),s.d(a,{hasBrowserEnv:()=>th,hasStandardBrowserEnv:()=>td,hasStandardBrowserWebWorkerEnv:()=>ty,navigator:()=>tp,origin:()=>tg});let{toString:u}=Object.prototype,{getPrototypeOf:l}=Object;let c=(t=Object.create(null),e=>{let r=u.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())}),h=t=>(t=t.toLowerCase(),e=>c(e)===t),p=t=>e=>typeof e===t,{isArray:d}=Array,y=p("undefined"),g=h("ArrayBuffer"),m=p("string"),b=p("function"),w=p("number"),E=t=>null!==t&&"object"==typeof t,R=t=>{if("object"!==c(t))return!1;let e=l(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},A=h("Date"),O=h("File"),S=h("Blob"),B=h("FileList"),x=h("URLSearchParams"),[v,T,U,C]=["ReadableStream","Request","Response","Headers"].map(h);function _(t,e,{allOwnKeys:r=!1}={}){let n,o;if(null!=t)if("object"!=typeof t&&(t=[t]),d(t))for(n=0,o=t.length;n0;)if(e===(r=n[o]).toLowerCase())return r;return null}let N="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,L=t=>!y(t)&&t!==N;let j=(e="undefined"!=typeof Uint8Array&&l(Uint8Array),t=>e&&t instanceof e),P=h("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),k=h("RegExp"),D=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};_(r,(r,o)=>{let i;!1!==(i=e(r,o,t))&&(n[o]=i||r)}),Object.defineProperties(t,n)},M="abcdefghijklmnopqrstuvwxyz",q="0123456789",$={DIGIT:q,ALPHA:M,ALPHA_DIGIT:M+M.toUpperCase()+q},z=h("AsyncFunction"),H=((t,e)=>{var r,n;if(t)return setImmediate;return e?(r=`axios@${Math.random()}`,n=[],N.addEventListener("message",({source:t,data:e})=>{t===N&&e===r&&n.length&&n.shift()()},!1),t=>{n.push(t),N.postMessage(r,"*")}):t=>setTimeout(t)})("function"==typeof setImmediate,b(N.postMessage)),J="undefined"!=typeof queueMicrotask?queueMicrotask.bind(N):"undefined"!=typeof process&&process.nextTick||H,W={isArray:d,isArrayBuffer:g,isBuffer:function(t){return null!==t&&!y(t)&&null!==t.constructor&&!y(t.constructor)&&b(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||b(t.append)&&("formdata"===(e=c(t))||"object"===e&&b(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&g(t.buffer)},isString:m,isNumber:w,isBoolean:t=>!0===t||!1===t,isObject:E,isPlainObject:R,isReadableStream:v,isRequest:T,isResponse:U,isHeaders:C,isUndefined:y,isDate:A,isFile:O,isBlob:S,isRegExp:k,isFunction:b,isStream:t=>E(t)&&b(t.pipe),isURLSearchParams:x,isTypedArray:j,isFileList:B,forEach:_,merge:function t(){let{caseless:e}=L(this)&&this||{},r={},n=(n,o)=>{let i=e&&I(r,o)||o;R(r[i])&&R(n)?r[i]=t(r[i],n):R(n)?r[i]=t({},n):d(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t(_(e,(e,n)=>{r&&b(e)?t[n]=f(e,r):t[n]=e},{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,i,s;let a={};if(e=e||{},null==t)return e;do{for(i=(o=Object.getOwnPropertyNames(t)).length;i-- >0;)s=o[i],(!n||n(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=!1!==r&&l(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:c,kindOfTest:h,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return -1!==n&&n===r},toArray:t=>{if(!t)return null;if(d(t))return t;let e=t.length;if(!w(e))return null;let r=Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{let r;let n=(t&&t[Symbol.iterator]).call(t);for(;(r=n.next())&&!r.done;){let n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let r;let n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:P,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:D,freezeMethods:t=>{D(t,(e,r)=>{if(b(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;if(b(t[r])){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}!e.set&&(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},toObjectSet:(t,e)=>{let r={},n=t=>{t.forEach(t=>{r[t]=!0})};return n(d(t)?t:String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,e,r){return e.toUpperCase()+r}),noop:()=>{},toFiniteNumber:(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,findKey:I,global:N,isContextDefined:L,ALPHABET:$,generateString:(t=16,e=$.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r},isSpecCompliantForm:function(t){return!!(t&&b(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{let e=Array(10),r=(t,n)=>{if(E(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;let o=d(t)?[]:{};return _(t,(t,e)=>{let i=r(t,n+1);y(i)||(o[e]=i)}),e[n]=void 0,o}}return t};return r(t,0)},isAsyncFn:z,isThenable:t=>t&&(E(t)||b(t))&&b(t.then)&&b(t.catch),setImmediate:H,asap:J};function V(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}W.inherits(V,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:W.toJSONObject(this.config),code:this.code,status:this.status}}});let G=V.prototype,K={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{K[t]={value:t}}),Object.defineProperties(V,K),Object.defineProperty(G,"isAxiosError",{value:!0}),V.from=(t,e,r,n,o,i)=>{let s=Object.create(G);return W.toFlatObject(t,s,function(t){return t!==Error.prototype},t=>"isAxiosError"!==t),V.call(s,t.message,e,r,n,o),s.cause=t,s.name=t.name,i&&Object.assign(s,i),s};var Y=s(313).Buffer;function X(t){return W.isPlainObject(t)||W.isArray(t)}function Q(t){return W.endsWith(t,"[]")?t.slice(0,-2):t}function Z(t,e,r){return t?t.concat(e).map(function(t,e){return t=Q(t),!r&&e?"["+t+"]":t}).join(r?".":""):e}let tt=W.toFlatObject(W,{},null,function(t){return/^is[A-Z]/.test(t)}),te=function(t,e,r){if(!W.isObject(t))throw TypeError("target must be an object");e=e||new FormData;let n=(r=W.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!W.isUndefined(e[t])})).metaTokens,o=r.visitor||u,i=r.dots,s=r.indexes,a=(r.Blob||"undefined"!=typeof Blob&&Blob)&&W.isSpecCompliantForm(e);if(!W.isFunction(o))throw TypeError("visitor must be a function");function f(t){if(null===t)return"";if(W.isDate(t))return t.toISOString();if(!a&&W.isBlob(t))throw new V("Blob is not supported. Use a Buffer instead.");return W.isArrayBuffer(t)||W.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):Y.from(t):t}function u(t,r,o){let a=t;if(t&&!o&&"object"==typeof t){if(W.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else{var u;if(W.isArray(t)&&(u=t,W.isArray(u)&&!u.some(X))||(W.isFileList(t)||W.endsWith(r,"[]"))&&(a=W.toArray(t)))return r=Q(r),a.forEach(function(t,n){W.isUndefined(t)||null===t||e.append(!0===s?Z([r],n,i):null===s?r:r+"[]",f(t))}),!1}}return!!X(t)||(e.append(Z(o,r,i),f(t)),!1)}let l=[],c=Object.assign(tt,{defaultVisitor:u,convertValue:f,isVisitable:X});if(!W.isObject(t))throw TypeError("data must be an object");return!function t(r,n){if(!W.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),W.forEach(r,function(r,i){!0===(!(W.isUndefined(r)||null===r)&&o.call(e,r,W.isString(i)?i.trim():i,n,c))&&t(r,n?n.concat(i):[i])}),l.pop()}}(t),e};function tr(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function tn(t,e){this._pairs=[],t&&te(t,this,e)}let to=tn.prototype;to.append=function(t,e){this._pairs.push([t,e])},to.toString=function(t){let e=t?function(e){return t.call(this,e,tr)}:tr;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function ti(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ts(t,e,r){let n;if(!e)return t;let o=r&&r.encode||ti,i=r&&r.serialize;if(n=i?i(e,r):W.isURLSearchParams(e)?e.toString():new tn(e,r).toString(o)){let e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+n}return t}let ta=class t{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){W.forEach(this.handlers,function(e){null!==e&&t(e)})}},tf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},tu="undefined"!=typeof URLSearchParams?URLSearchParams:tn,tl="undefined"!=typeof FormData?FormData:null,tc="undefined"!=typeof Blob?Blob:null,th="undefined"!=typeof window&&"undefined"!=typeof document,tp="object"==typeof navigator&&navigator||void 0,td=th&&(!tp||0>["ReactNative","NativeScript","NS"].indexOf(tp.product)),ty="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,tg=th&&window.location.href||"http://localhost",tm={...a,isBrowser:!0,classes:{URLSearchParams:tu,FormData:tl,Blob:tc},protocols:["http","https","file","blob","url","data"]},tb=function(t){if(W.isFormData(t)&&W.isFunction(t.entries)){let e={};return W.forEachEntry(t,(t,r)=>{var n;!function t(e,r,n,o){let i=e[o++];if("__proto__"===i)return!0;let s=Number.isFinite(+i),a=o>=e.length;return(i=!i&&W.isArray(n)?n.length:i,a)?(W.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!s):((!n[i]||!W.isObject(n[i]))&&(n[i]=[]),t(e,r,n[i],o)&&W.isArray(n[i])&&(n[i]=function(t){let e,r;let n={},o=Object.keys(t),i=o.length;for(e=0;e"[]"===t[0]?"":t[1]||t[0])),r,e,0)}),e}return null},tw={transitional:tf,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){let r;let n=e.getContentType()||"",o=n.indexOf("application/json")>-1,i=W.isObject(t);if(i&&W.isHTMLForm(t)&&(t=new FormData(t)),W.isFormData(t))return o?JSON.stringify(tb(t)):t;if(W.isArrayBuffer(t)||W.isBuffer(t)||W.isStream(t)||W.isFile(t)||W.isBlob(t)||W.isReadableStream(t))return t;if(W.isArrayBufferView(t))return t.buffer;if(W.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1){var s,a;return(s=t,a=this.formSerializer,te(s,new tm.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return tm.isNode&&W.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},a))).toString()}if((r=W.isFileList(t))||n.indexOf("multipart/form-data")>-1){let e=this.env&&this.env.FormData;return te(r?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||o?(e.setContentType("application/json",!1),function(t,e,r){if(W.isString(t))try{return(0,JSON.parse)(t),W.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){let e=this.transitional||tw.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(W.isResponse(t)||W.isReadableStream(t))return t;if(t&&W.isString(t)&&(r&&!this.responseType||n)){let r=e&&e.silentJSONParsing;try{return JSON.parse(t)}catch(t){if(!r&&n){if("SyntaxError"===t.name)throw V.from(t,V.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tm.classes.FormData,Blob:tm.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};W.forEach(["delete","get","head","post","put","patch"],t=>{tw.headers[t]={}});let tE=W.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),tR=t=>{let e,r,n;let o={};return t&&t.split("\n").forEach(function(t){if(n=t.indexOf(":"),e=t.substring(0,n).trim().toLowerCase(),r=t.substring(n+1).trim(),!!e&&(!o[e]||!tE[e]))"set-cookie"===e?o[e]?o[e].push(r):o[e]=[r]:o[e]=o[e]?o[e]+", "+r:r}),o},tA=Symbol("internals");function tO(t){return t&&String(t).trim().toLowerCase()}function tS(t){return!1===t||null==t?t:W.isArray(t)?t.map(tS):String(t)}let tB=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function tx(t,e,r,n,o){if(W.isFunction(n))return n.call(this,e,r);if(o&&(e=r),W.isString(e)){if(W.isString(n))return -1!==e.indexOf(n);if(W.isRegExp(n))return n.test(e)}}class tv{constructor(t){t&&this.set(t)}set(t,e,r){let n=this;function o(t,e,r){let o=tO(e);if(!o)throw Error("header name must be a non-empty string");let i=W.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=tS(t))}let i=(t,e)=>W.forEach(t,(t,r)=>o(t,r,e));if(W.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(W.isString(t)&&(t=t.trim())&&!tB(t))i(tR(t),e);else if(W.isHeaders(t))for(let[e,n]of t.entries())o(n,e,r);else null!=t&&o(e,t,r);return this}get(t,e){if(t=tO(t)){let r=W.findKey(this,t);if(r){let t=this[r];if(!e)return t;if(!0===e)return function(t){let e;let r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;for(;e=n.exec(t);)r[e[1]]=e[2];return r}(t);if(W.isFunction(e))return e.call(this,t,r);if(W.isRegExp(e))return e.exec(t);throw TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=tO(t)){let r=W.findKey(this,t);return!!(r&&void 0!==this[r]&&(!e||tx(this,this[r],r,e)))}return!1}delete(t,e){let r=this,n=!1;function o(t){if(t=tO(t)){let o=W.findKey(r,t);o&&(!e||tx(r,r[o],o,e))&&(delete r[o],n=!0)}}return W.isArray(t)?t.forEach(o):o(t),n}clear(t){let e=Object.keys(this),r=e.length,n=!1;for(;r--;){let o=e[r];(!t||tx(this,this[o],o,t,!0))&&(delete this[o],n=!0)}return n}normalize(t){let e=this,r={};return W.forEach(this,(n,o)=>{let i=W.findKey(r,o);if(i){e[i]=tS(n),delete e[o];return}let s=t?o.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,r)=>e.toUpperCase()+r):String(o).trim();s!==o&&delete e[o],e[s]=tS(n),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let e=Object.create(null);return W.forEach(this,(r,n)=>{null!=r&&!1!==r&&(e[n]=t&&W.isArray(r)?r.join(", "):r)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){let r=new this(t);return e.forEach(t=>r.set(t)),r}static accessor(t){let e=(this[tA]=this[tA]={accessors:{}}).accessors,r=this.prototype;function n(t){let n=tO(t);!e[n]&&(!function(t,e){let r=W.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})})}(r,t),e[n]=!0)}return W.isArray(t)?t.forEach(n):n(t),this}}tv.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),W.reduceDescriptors(tv.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[r]=t}}}),W.freezeMethods(tv);function tT(t,e){let r=this||tw,n=e||r,o=tv.from(n.headers),i=n.data;return W.forEach(t,function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function tU(t){return!!(t&&t.__CANCEL__)}function tC(t,e,r){V.call(this,null==t?"canceled":t,V.ERR_CANCELED,e,r),this.name="CanceledError"}W.inherits(tC,V,{__CANCEL__:!0});function t_(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new V("Request failed with status code "+r.status,[V.ERR_BAD_REQUEST,V.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}let tI=function(t,e){let r;let n=Array(t=t||10),o=Array(t),i=0,s=0;return e=void 0!==e?e:1e3,function(a){let f=Date.now(),u=o[s];!r&&(r=f),n[i]=a,o[i]=f;let l=s,c=0;for(;l!==i;)c+=n[l++],l%=t;if((i=(i+1)%t)===s&&(s=(s+1)%t),f-r{o=i,r=null,n&&(clearTimeout(n),n=null),t.apply(null,e)};return[(...t)=>{let e=Date.now(),a=e-o;a>=i?s(t,e):(r=t,!n&&(n=setTimeout(()=>{n=null,s(r)},i-a)))},()=>r&&s(r)]},tL=(t,e,r=3)=>{let n=0,o=tI(50,250);return tN(r=>{let i=r.loaded,s=r.lengthComputable?r.total:void 0,a=i-n,f=o(a);n=i;t({loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:f||void 0,estimated:f&&s&&i<=s?(s-i)/f:void 0,event:r,lengthComputable:null!=s,[e?"download":"upload"]:!0})},r)},tj=(t,e)=>{let r=null!=t;return[n=>e[0]({lengthComputable:r,total:t,loaded:n}),e[1]]},tP=t=>(...e)=>W.asap(()=>t(...e)),tF=tm.hasStandardBrowserEnv?function(){let t;let e=tm.navigator&&/(msie|trident)/i.test(tm.navigator.userAgent),r=document.createElement("a");function n(t){let n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=n(window.location.href),function(e){let r=W.isString(e)?n(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0},tk=tm.hasStandardBrowserEnv?{write(t,e,r,n,o,i){let s=[t+"="+encodeURIComponent(e)];W.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),W.isString(n)&&s.push("path="+n),W.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read(t){let e=document.cookie.match(RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function tD(t,e){var r,n,o;if(t&&(r=e,!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r))){;return n=t,(o=e)?n.replace(/\/?\/$/,"")+"/"+o.replace(/^\/+/,""):n}return e}let tM=t=>t instanceof tv?{...t}:t;function tq(t,e){e=e||{};let r={};function n(t,e,r){if(W.isPlainObject(t)&&W.isPlainObject(e))return W.merge.call({caseless:r},t,e);if(W.isPlainObject(e))return W.merge({},e);if(W.isArray(e))return e.slice();return e}function o(t,e,r){return W.isUndefined(e)?W.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!W.isUndefined(e))return n(void 0,e)}function s(t,e){return W.isUndefined(e)?W.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function a(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}let f={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(t,e)=>o(tM(t),tM(e),!0)};return W.forEach(Object.keys(Object.assign({},t,e)),function(n){let i=f[n]||o,s=i(t[n],e[n],n);W.isUndefined(s)&&i!==a||(r[n]=s)}),r}let t$=t=>{let e;let r=tq({},t),{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:f}=r;if(r.headers=a=tv.from(a),r.url=ts(tD(r.baseURL,r.url),t.params,t.paramsSerializer),f&&a.set("Authorization","Basic "+btoa((f.username||"")+":"+(f.password?unescape(encodeURIComponent(f.password)):""))),W.isFormData(n)){if(tm.hasStandardBrowserEnv||tm.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(e=a.getContentType())){let[t,...r]=e?e.split(";").map(t=>t.trim()).filter(Boolean):[];a.setContentType([t||"multipart/form-data",...r].join("; "))}}if(tm.hasStandardBrowserEnv&&(o&&W.isFunction(o)&&(o=o(r)),o||!1!==o&&tF(r.url))){let t=i&&s&&tk.read(s);t&&a.set(i,t)}return r},tz="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise(function(e,r){let n,o,i,s,a;let f=t$(t),u=f.data,l=tv.from(f.headers).normalize(),{responseType:c,onUploadProgress:h,onDownloadProgress:p}=f;function d(){s&&s(),a&&a(),f.cancelToken&&f.cancelToken.unsubscribe(n),f.signal&&f.signal.removeEventListener("abort",n)}let y=new XMLHttpRequest;function g(){if(!y)return;let n=tv.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders());t_(function(t){e(t),d()},function(t){r(t),d()},{data:c&&"text"!==c&&"json"!==c?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:n,config:t,request:y}),y=null}y.open(f.method.toUpperCase(),f.url,!0),y.timeout=f.timeout,"onloadend"in y?y.onloadend=g:y.onreadystatechange=function(){if(!!y&&4===y.readyState&&(0!==y.status||!!(y.responseURL&&0===y.responseURL.indexOf("file:"))))setTimeout(g)},y.onabort=function(){if(!!y)r(new V("Request aborted",V.ECONNABORTED,t,y)),y=null},y.onerror=function(){r(new V("Network Error",V.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let e=f.timeout?"timeout of "+f.timeout+"ms exceeded":"timeout exceeded",n=f.transitional||tf;f.timeoutErrorMessage&&(e=f.timeoutErrorMessage),r(new V(e,n.clarifyTimeoutError?V.ETIMEDOUT:V.ECONNABORTED,t,y)),y=null},void 0===u&&l.setContentType(null),"setRequestHeader"in y&&W.forEach(l.toJSON(),function(t,e){y.setRequestHeader(e,t)}),!W.isUndefined(f.withCredentials)&&(y.withCredentials=!!f.withCredentials),c&&"json"!==c&&(y.responseType=f.responseType),p&&([i,a]=tL(p,!0),y.addEventListener("progress",i)),h&&y.upload&&([o,s]=tL(h),y.upload.addEventListener("progress",o),y.upload.addEventListener("loadend",s)),(f.cancelToken||f.signal)&&(n=e=>{if(!!y)r(!e||e.type?new tC(null,t,y):e),y.abort(),y=null},f.cancelToken&&f.cancelToken.subscribe(n),f.signal&&(f.signal.aborted?n():f.signal.addEventListener("abort",n)));let m=function(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(f.url);if(m&&-1===tm.protocols.indexOf(m)){r(new V("Unsupported protocol "+m+":",V.ERR_BAD_REQUEST,t));return}y.send(u||null)})},tH=(t,e)=>{let{length:r}=t=t?t.filter(Boolean):[];if(e||r){let r,n=new AbortController,o=function(t){if(!r){r=!0,s();let e=t instanceof Error?t:this.reason;n.abort(e instanceof V?e:new tC(e instanceof Error?e.message:e))}},i=e&&setTimeout(()=>{i=null,o(new V(`timeout ${e} of ms exceeded`,V.ETIMEDOUT))},e),s=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(t=>{t.unsubscribe?t.unsubscribe(o):t.removeEventListener("abort",o)}),t=null)};t.forEach(t=>t.addEventListener("abort",o));let{signal:a}=n;return a.unsubscribe=()=>W.asap(s),a}},tJ=function*(t,e){let r,n=t.byteLength;if(!e||n{let o;let i=tW(t,e),s=0,a=t=>{!o&&(o=!0,n&&n(t))};return new ReadableStream({async pull(t){try{let{done:e,value:n}=await i.next();if(e){a(),t.close();return}let o=n.byteLength;if(r){let t=s+=o;r(t)}t.enqueue(new Uint8Array(n))}catch(t){throw a(t),t}},cancel:t=>(a(t),i.return())},{highWaterMark:2})},tK="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,tY=tK&&"function"==typeof ReadableStream;let tX=tK&&("function"==typeof TextEncoder?(r=new TextEncoder,t=>r.encode(t)):async t=>new Uint8Array(await new Response(t).arrayBuffer())),tQ=(t,...e)=>{try{return!!t(...e)}catch(t){return!1}},tZ=tY&&tQ(()=>{let t=!1,e=new Request(tm.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),t0=tY&&tQ(()=>W.isReadableStream(new Response("").body)),t1={stream:t0&&(t=>t.body)};tK&&(n=new Response,["text","arrayBuffer","blob","formData","stream"].forEach(t=>{t1[t]||(t1[t]=W.isFunction(n[t])?e=>e[t]():(e,r)=>{throw new V(`Response type '${t}' is not supported`,V.ERR_NOT_SUPPORT,r)})}));let t2=async t=>{if(null==t)return 0;if(W.isBlob(t))return t.size;if(W.isSpecCompliantForm(t)){let e=new Request(tm.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}return W.isArrayBufferView(t)||W.isArrayBuffer(t)?t.byteLength:(W.isURLSearchParams(t)&&(t+=""),W.isString(t))?(await tX(t)).byteLength:void 0},t5=async(t,e)=>{let r=W.toFiniteNumber(t.getContentLength());return null==r?t2(e):r},t6={http:null,xhr:tz,fetch:tK&&(async t=>{let e,r,{url:n,method:o,data:i,signal:s,cancelToken:a,timeout:f,onDownloadProgress:u,onUploadProgress:l,responseType:c,headers:h,withCredentials:p="same-origin",fetchOptions:d}=t$(t);c=c?(c+"").toLowerCase():"text";let y=tH([s,a&&a.toAbortSignal()],f),g=y&&y.unsubscribe&&(()=>{y.unsubscribe()});try{if(l&&tZ&&"get"!==o&&"head"!==o&&0!==(r=await t5(h,i))){let t,e=new Request(n,{method:"POST",body:i,duplex:"half"});if(W.isFormData(i)&&(t=e.headers.get("content-type"))&&h.setContentType(t),e.body){let[t,n]=tj(r,tL(tP(l)));i=tG(e.body,65536,t,n)}}!W.isString(p)&&(p=p?"include":"omit");let s="credentials"in Request.prototype;e=new Request(n,{...d,signal:y,method:o.toUpperCase(),headers:h.normalize().toJSON(),body:i,duplex:"half",credentials:s?p:void 0});let a=await fetch(e),f=t0&&("stream"===c||"response"===c);if(t0&&(u||f&&g)){let t={};["status","statusText","headers"].forEach(e=>{t[e]=a[e]});let e=W.toFiniteNumber(a.headers.get("content-length")),[r,n]=u&&tj(e,tL(tP(u),!0))||[];a=new Response(tG(a.body,65536,r,()=>{n&&n(),g&&g()}),t)}c=c||"text";let m=await t1[W.findKey(t1,c)||"text"](a,t);return!f&&g&&g(),await new Promise((r,n)=>{t_(r,n,{data:m,headers:tv.from(a.headers),status:a.status,statusText:a.statusText,config:t,request:e})})}catch(r){if(g&&g(),r&&"TypeError"===r.name&&/fetch/i.test(r.message))throw Object.assign(new V("Network Error",V.ERR_NETWORK,t,e),{cause:r.cause||r});throw V.from(r,r&&r.code,t,e)}})};W.forEach(t6,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}});let t8=t=>`- ${t}`,t3=t=>W.isFunction(t)||null===t||!1===t,t4=t=>{let e,r;let{length:n}=t=W.isArray(t)?t:[t],o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build"));throw new V("There is no suitable adapter to dispatch the request "+(n?t.length>1?"since :\n"+t.map(t8).join("\n"):" "+t8(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function t7(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new tC(null,t)}function t9(t){return t7(t),t.headers=tv.from(t.headers),t.data=tT.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),t4(t.adapter||tw.adapter)(t).then(function(e){return t7(t),e.data=tT.call(t,t.transformResponse,e),e.headers=tv.from(e.headers),e},function(e){return!tU(e)&&(t7(t),e&&e.response&&(e.response.data=tT.call(t,t.transformResponse,e.response),e.response.headers=tv.from(e.response.headers))),Promise.reject(e)})}let et="1.7.7",ee={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{ee[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});let er={};ee.transitional=function(t,e,r){function n(t,e){return"[Axios v"+et+"] Transitional option '"+t+"'"+e+(r?". "+r:"")}return(r,o,i)=>{if(!1===t)throw new V(n(o," has been removed"+(e?" in "+e:"")),V.ERR_DEPRECATED);return e&&!er[o]&&(er[o]=!0,console.warn(n(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,o,i)}};let en={assertOptions:function(t,e,r){if("object"!=typeof t)throw new V("options must be an object",V.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),o=n.length;for(;o-- >0;){let i=n[o],s=e[i];if(s){let e=t[i],r=void 0===e||s(e,i,t);if(!0!==r)throw new V("option "+i+" must be "+r,V.ERR_BAD_OPTION_VALUE);continue}if(!0!==r)throw new V("Unknown option "+i,V.ERR_BAD_OPTION)}},validators:ee},eo=en.validators;class ei{constructor(t){this.defaults=t,this.interceptors={request:new ta,response:new ta}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=Error();let r=e.stack?e.stack.replace(/^.+\n/,""):"";try{t.stack?r&&!String(t.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+r):t.stack=r}catch(t){}}throw t}}_request(t,e){let r,n;"string"==typeof t?(e=e||{}).url=t:e=t||{};let{transitional:o,paramsSerializer:i,headers:s}=e=tq(this.defaults,e);void 0!==o&&en.assertOptions(o,{silentJSONParsing:eo.transitional(eo.boolean),forcedJSONParsing:eo.transitional(eo.boolean),clarifyTimeoutError:eo.transitional(eo.boolean)},!1),null!=i&&(W.isFunction(i)?e.paramsSerializer={serialize:i}:en.assertOptions(i,{encode:eo.function,serialize:eo.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a=s&&W.merge(s.common,s[e.method]);s&&W.forEach(["delete","get","head","post","put","patch","common"],t=>{delete s[t]}),e.headers=tv.concat(a,s);let f=[],u=!0;this.interceptors.request.forEach(function(t){if("function"!=typeof t.runWhen||!1!==t.runWhen(e))u=u&&t.synchronous,f.unshift(t.fulfilled,t.rejected)});let l=[];this.interceptors.response.forEach(function(t){l.push(t.fulfilled,t.rejected)});let c=0;if(!u){let t=[t9.bind(this),void 0];for(t.unshift.apply(t,f),t.push.apply(t,l),n=t.length,r=Promise.resolve(e);c{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null}),this.promise.then=t=>{let e;let n=new Promise(t=>{r.subscribe(t),e=t}).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t(function(t,n,o){if(!r.reason)r.reason=new tC(t,n,o),e(r.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}toAbortSignal(){let t=new AbortController,e=e=>{t.abort(e)};return this.subscribe(e),t.signal.unsubscribe=()=>this.unsubscribe(e),t.signal}static source(){let t;return{token:new es(function(e){t=e}),cancel:t}}}let ea={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ea).forEach(([t,e])=>{ea[e]=t});let ef=function t(e){let r=new ei(e),n=f(ei.prototype.request,r);return W.extend(n,ei.prototype,r,{allOwnKeys:!0}),W.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(tq(e,r))},n}(tw);ef.Axios=ei,ef.CanceledError=tC,ef.CancelToken=es,ef.isCancel=tU,ef.VERSION=et,ef.toFormData=te,ef.AxiosError=V,ef.Cancel=ef.CanceledError,ef.all=function(t){return Promise.all(t)},ef.spread=function(t){return function(e){return t.apply(null,e)}},ef.isAxiosError=function(t){return W.isObject(t)&&!0===t.isAxiosError},ef.mergeConfig=tq,ef.AxiosHeaders=tv,ef.formToJSON=t=>tb(W.isHTMLForm(t)?new FormData(t):t),ef.getAdapter=t4,ef.HttpStatusCode=ea,ef.default=ef;let eu=ef,{Axios:el,AxiosError:ec,CanceledError:eh,isCancel:ep,CancelToken:ed,VERSION:ey,all:eg,Cancel:em,isAxiosError:eb,spread:ew,toFormData:eE,AxiosHeaders:eR,HttpStatusCode:eA,formToJSON:eO,getAdapter:eS,mergeConfig:eB}=eu;export{el as Axios,ec as AxiosError,eR as AxiosHeaders,em as Cancel,ed as CancelToken,eh as CanceledError,eA as HttpStatusCode,ey as VERSION,eg as all,eu as default,eO as formToJSON,eS as getAdapter,eb as isAxiosError,ep as isCancel,eB as mergeConfig,ew as spread,eE as toFormData}; \ No newline at end of file diff --git a/ssr-base/src/date-fns.58515d12.final.js b/ssr-base/src/date-fns.58515d12.final.js new file mode 100644 index 00000000..7bf856b6 --- /dev/null +++ b/ssr-base/src/date-fns.58515d12.final.js @@ -0,0 +1 @@ +var e;let t=86400,n=604800,r=0x1e18558,a=2629746,i=7889238,s=Symbol.for("constructDateFrom");function o(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&s in e?e[s](t):e instanceof Date?new e.constructor(t):new Date(t)}function u(e,t){return o(t||e,e)}function l(e,t,n){let r=u(e,n?.in);return isNaN(t)?o(n?.in||e,NaN):t?(r.setDate(r.getDate()+t),r):r}function c(e,t,n){let r=u(e,n?.in);if(isNaN(t))return o(n?.in||e,NaN);if(!t)return r;let a=r.getDate(),i=o(n?.in||e,r.getTime());return(i.setMonth(r.getMonth()+t+1,0),a>=i.getDate())?i:(r.setFullYear(i.getFullYear(),i.getMonth(),a),r)}function d(e,t,n){let{years:r=0,months:a=0,weeks:i=0,days:s=0,hours:d=0,minutes:f=0,seconds:h=0}=t,m=u(e,n?.in),g=a||r?c(m,a+12*r):m,w=s||i?l(g,s+7*i):g;return o(n?.in||e,+w+1e3*(h+60*(f+60*d)))}function f(e,t){return 6===u(e,t?.in).getDay()}function h(e,t){return 0===u(e,t?.in).getDay()}function m(e,t){let n=u(e,t?.in).getDay();return 0===n||6===n}function g(e,t,n){let r=u(e,n?.in),a=m(r,n);if(isNaN(t))return o(n?.in,NaN);let i=r.getHours(),s=t<0?-1:1,l=Math.trunc(t/5);r.setDate(r.getDate()+7*l);let c=Math.abs(t%5);for(;c>0;)r.setDate(r.getDate()+s),!m(r,n)&&(c-=1);return a&&m(r,n)&&0!==t&&(f(r,n)&&r.setDate(r.getDate()+(s<0?2:-1)),h(r,n)&&r.setDate(r.getDate()+(s<0?1:-2))),r.setHours(i),r}function w(e,t,n){return o(n?.in||e,+u(e)+t)}function y(e,t,n){return w(e,36e5*t,n)}let M={};function p(){return M}function D(e,t){let n=M,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=u(e,t?.in),i=a.getDay();return a.setDate(a.getDate()-((i=i.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function x(e){let t=u(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function O(e,...t){let n=o.bind(null,e||t.find(e=>"object"==typeof e));return t.map(n)}function S(e,t){let n=u(e,t?.in);return n.setHours(0,0,0,0),n}function k(e,t,n){let[r,a]=O(n?.in,e,t),i=S(r),s=S(a),o=+i-x(i);return Math.round((o-(+s-x(s)))/864e5)}function v(e,t){let n=T(e,t),r=o(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),b(r)}function Y(e,t,n){let r=u(e,n?.in),a=k(r,v(r,n)),i=o(n?.in||e,0);return i.setFullYear(t,0,4),i.setHours(0,0,0,0),(r=v(i)).setDate(r.getDate()+a),r}function I(e,t,n){return Y(e,T(e,n)+t,n)}function N(e,t,n){let r=u(e,n?.in);return r.setTime(r.getTime()+6e4*t),r}function H(e,t,n){return c(e,3*t,n)}function W(e,t,n){return w(e,1e3*t,n)}function _(e,t,n){return l(e,7*t,n)}function F(e,t,n){return c(e,12*t,n)}function P(e,t,n){let[r,a]=[+u(e.start,n?.in),+u(e.end,n?.in)].sort((e,t)=>e-t),[i,s]=[+u(t.start,n?.in),+u(t.end,n?.in)].sort((e,t)=>e-t);return n?.inclusive?r<=s&&i<=a:r{!r&&"object"==typeof e&&(r=o.bind(null,e));let t=u(e,r);(!n||n{!r&&"object"==typeof e&&(r=o.bind(null,e));let t=u(e,r);(!n||n>t||isNaN(+t))&&(n=t)}),o(r,n||NaN)}function q(e,t,n){let[r,a,i]=O(n?.in,e,t.start,t.end);return Q([C([r,a],n),i],n)}function E(e,t){let n,r;let a=+u(e);return isNaN(a)?NaN:(t.forEach((e,t)=>{let i=u(e);if(isNaN(+i)){n=NaN,r=NaN;return}let s=Math.abs(a-+i);(null==n||s0?1:n}function R(e,t){let n=+u(e)-+u(t);return n>0?-1:n<0?1:n}function X(e){return o(e,Date.now())}function j(e){let t=Math.trunc(e/7);return 0===t?0:t}function B(e,t,n){let[r,a]=O(n?.in,e,t);return+S(r)==+S(a)}function A(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}function U(e){return!(!A(e)&&"number"!=typeof e||isNaN(+u(e)))}function z(e,t,n){let[r,a]=O(n?.in,e,t);if(!U(r)||!U(a))return NaN;let i=k(r,a),s=i<0?-1:1,o=Math.trunc(i/7),u=5*o,c=l(a,7*o);for(;!B(r,c);)u+=m(c,n)?0:s,c=l(c,s);return 0===u?0:u}function G(e,t,n){let[r,a]=O(n?.in,e,t);return T(r,n)-T(a,n)}function Z(e,t,n){let[r,a]=O(n?.in,e,t),i=b(r),s=b(a),o=+i-x(i);return Math.round((o-(+s-x(s)))/6048e5)}function J(e,t,n){let[r,a]=O(n?.in,e,t),i=r.getFullYear()-a.getFullYear();return 12*i+(r.getMonth()-a.getMonth())}function K(e,t){return Math.trunc(u(e,t?.in).getMonth()/3)+1}function V(e,t,n){let[r,a]=O(n?.in,e,t),i=r.getFullYear()-a.getFullYear();return 4*i+(K(r)-K(a))}function ee(e,t,n){let[r,a]=O(n?.in,e,t),i=D(r,n),s=D(a,n),o=+i-x(i);return Math.round((o-(+s-x(s)))/6048e5)}function et(e,t,n){let[r,a]=O(n?.in,e,t);return r.getFullYear()-a.getFullYear()}function en(e,t,n){let[r,a]=O(n?.in,e,t),i=er(r,a),s=Math.abs(k(r,a));r.setDate(r.getDate()-i*s);let o=Number(er(r,a)===-i),u=i*(s-o);return 0===u?0:u}function er(e,t){let n=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return n<0?-1:n>0?1:n}function ea(e){return t=>{let n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ei(e,t,n){let[r,a]=O(n?.in,e,t);return ea(n?.roundingMethod)((+r-+a)/36e5)}function es(e,t,n){return I(e,-t,n)}function eo(e,t,n){let[r,a]=O(n?.in,e,t),i=L(r,a),s=Math.abs(G(r,a,n)),o=Number(L(es(r,i*s,n),a)===-i),u=i*(s-o);return 0===u?0:u}function eu(e,t){return+u(e)-+u(t)}function el(e,t,n){let r=eu(e,t)/6e4;return ea(n?.roundingMethod)(r)}function ec(e,t){let n=u(e,t?.in);return n.setHours(23,59,59,999),n}function ed(e,t){let n=u(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function ef(e,t){let n=u(e,t?.in);return+ec(n,t)==+ed(n,t)}function eh(e,t,n){let[r,a,i]=O(n?.in,e,e,t),s=L(a,i),o=Math.abs(J(a,i));if(o<1)return 0;1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-s*o);let u=L(a,i)===-s;ef(r)&&1===o&&1===L(r,i)&&(u=!1);let l=s*(o-+u);return 0===l?0:l}function em(e,t,n){let r=eh(e,t,n)/3;return ea(n?.roundingMethod)(r)}function eg(e,t,n){let r=eu(e,t)/1e3;return ea(n?.roundingMethod)(r)}function ew(e,t,n){let r=en(e,t,n)/7;return ea(n?.roundingMethod)(r)}function ey(e,t,n){let[r,a]=O(n?.in,e,t),i=L(r,a),s=Math.abs(et(r,a));r.setFullYear(1584),a.setFullYear(1584);let o=L(r,a)===-i,u=i*(s-+o);return 0===u?0:u}function eM(e,t){let[n,r]=O(e,t.start,t.end);return{start:n,end:r}}function ep(e,t){let{start:n,end:r}=eM(t?.in,e),a=+n>+r,i=a?+n:+r,s=a?r:n;s.setHours(0,0,0,0);let u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s.setDate(s.getDate()+u),s.setHours(0,0,0,0);return a?l.reverse():l}function eD(e,t){let{start:n,end:r}=eM(t?.in,e),a=+n>+r,i=a?+n:+r,s=a?r:n;s.setMinutes(0,0,0);let u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s.setHours(s.getHours()+u);return a?l.reverse():l}function eb(e,t){let{start:n,end:r}=eM(t?.in,e);n.setSeconds(0,0);let a=+n>+r,i=a?+n:+r,s=a?r:n,u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s=N(s,u);return a?l.reverse():l}function eT(e,t){let{start:n,end:r}=eM(t?.in,e),a=+n>+r,i=a?+n:+r,s=a?r:n;s.setHours(0,0,0,0),s.setDate(1);let u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s.setMonth(s.getMonth()+u);return a?l.reverse():l}function ex(e,t){let n=u(e,t?.in),r=n.getMonth();return n.setMonth(r-r%3,1),n.setHours(0,0,0,0),n}function eO(e,t){let{start:n,end:r}=eM(t?.in,e),a=+n>+r,i=a?+ex(n):+ex(r),s=a?ex(r):ex(n),u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s=H(s,u);return a?l.reverse():l}function eS(e,t){let{start:n,end:r}=eM(t?.in,e),a=+n>+r,i=a?D(r,t):D(n,t),s=a?D(n,t):D(r,t);i.setHours(15),s.setHours(15);let u=+s.getTime(),l=i,c=t?.step??1;if(!c)return[];c<0&&(c=-c,a=!a);let d=[];for(;+l<=u;)l.setHours(0),d.push(o(n,l)),(l=_(l,c)).setHours(15);return a?d.reverse():d}function ek(e,t){let{start:n,end:r}=eM(t?.in,e),a=ep({start:n,end:r},t),i=[],s=0;for(;s+r,i=a?+n:+r,s=a?r:n;s.setHours(0,0,0,0),s.setMonth(0,1);let u=t?.step??1;if(!u)return[];u<0&&(u=-u,a=!a);let l=[];for(;+s<=i;)l.push(o(n,s)),s.setFullYear(s.getFullYear()+u);return a?l.reverse():l}function e_(e,t){let n=u(e,t?.in),r=9+10*Math.floor(n.getFullYear()/10);return n.setFullYear(r,11,31),n.setHours(23,59,59,999),n}function eF(e,t){let n=u(e,t?.in);return n.setMinutes(59,59,999),n}function eP(e,t){let n=M,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=u(e,t?.in),i=a.getDay();return a.setDate(a.getDate()+((i{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}let eA={date:eB({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:eB({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:eB({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},eU={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function ez(e){return(t,n)=>{let r;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,a=n?.width?String(n.width):t;r=e.formattingValues[a]||e.formattingValues[t]}else{let t=e.defaultWidth,a=n?.width?String(n.width):e.defaultWidth;r=e.values[a]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}let eG={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ez({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:ez({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:ez({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:ez({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:ez({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function eZ(e){return(t,n={})=>{let r;let a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],s=t.match(i);if(!s)return null;let o=s[0],u=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(u)?function(e,t){for(let n=0;ne.test(o)):function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}(u,e=>e.test(o));return r=e.valueCallback?e.valueCallback(l):l,r=n.valueCallback?n.valueCallback(r):r,{value:r,rest:t.slice(o.length)}}}let eJ={code:"en-US",formatDistance:(e,t,n)=>{let r;let a=ej[e];if(r="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),n?.addSuffix)return n.comparison&&n.comparison>0?"in "+r:r+" ago";return r},formatLong:eA,formatRelative:(e,t,n,r)=>eU[e],localize:eG,match:{ordinalNumber:(e={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let a=r[0],i=t.match(e.parsePattern);if(!i)return null;let s=e.valueCallback?e.valueCallback(i[0]):i[0];return s=n.valueCallback?n.valueCallback(s):s,{value:s,rest:t.slice(a.length)}}),era:eZ({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:eZ({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:eZ({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:eZ({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:eZ({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function eK(e,t){let n=u(e,t?.in),r=k(n,eN(n));return r+1}function eV(e,t){let n=u(e,t?.in);return Math.round((+b(n)-+v(n))/6048e5)+1}function e0(e,t){let n=u(e,t?.in),r=n.getFullYear(),a=M,i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=o(t?.in||e,0);s.setFullYear(r+1,0,i),s.setHours(0,0,0,0);let l=D(s,t),c=o(t?.in||e,0);c.setFullYear(r,0,i),c.setHours(0,0,0,0);let d=D(c,t);return+n>=+l?r+1:+n>=+d?r:r-1}function e1(e,t){let n=M,r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=e0(e,t),i=o(t?.in||e,0);return i.setFullYear(a,0,r),i.setHours(0,0,0,0),D(i,t)}function e2(e,t){let n=u(e,t?.in);return Math.round((+D(n,t)-+e1(n,t))/6048e5)+1}function e3(e,t){let n=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+n}let e4={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return e3("yy"===t?r%100:r,t.length)},M(e,t){let n=e.getMonth();return"M"===t?String(n+1):e3(n+1,2)},d:(e,t)=>e3(e.getDate(),t.length),a(e,t){let n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>e3(e.getHours()%12||12,t.length),H:(e,t)=>e3(e.getHours(),t.length),m:(e,t)=>e3(e.getMinutes(),t.length),s:(e,t)=>e3(e.getSeconds(),t.length),S(e,t){let n=t.length;return e3(Math.trunc(e.getMilliseconds()*Math.pow(10,n-3)),t.length)}},e6={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},e5={G:function(e,t,n){let r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){let t=e.getFullYear();return n.ordinalNumber(t>0?t:1-t,{unit:"year"})}return e4.y(e,t)},Y:function(e,t,n,r){let a=e0(e,r),i=a>0?a:1-a;return"YY"===t?e3(i%100,2):"Yo"===t?n.ordinalNumber(i,{unit:"year"}):e3(i,t.length)},R:function(e,t){return e3(T(e),t.length)},u:function(e,t){return e3(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return e3(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return e3(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){let r=e.getMonth();switch(t){case"M":case"MM":return e4.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){let r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return e3(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){let a=e2(e,r);return"wo"===t?n.ordinalNumber(a,{unit:"week"}):e3(a,t.length)},I:function(e,t,n){let r=eV(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):e3(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):e4.d(e,t)},D:function(e,t,n){let r=eK(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):e3(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){let a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return e3(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){let a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return e3(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){let r=e.getDay(),a=0===r?7:r;switch(t){case"i":return String(a);case"ii":return e3(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){let r;let a=e.getHours();switch(r=12===a?e6.noon:0===a?e6.midnight:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){let r;let a=e.getHours();switch(r=a>=17?e6.evening:a>=12?e6.afternoon:a>=4?e6.morning:e6.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return e4.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):e4.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):e3(r,t.length)},k:function(e,t,n){let r=e.getHours();return(0===r&&(r=24),"ko"===t)?n.ordinalNumber(r,{unit:"hour"}):e3(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):e4.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):e4.s(e,t)},S:function(e,t){return e4.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(0===r)return"Z";switch(t){case"X":return e7(r);case"XXXX":case"XX":return e8(r);default:return e8(r,":")}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"x":return e7(r);case"xxxx":case"xx":return e8(r);default:return e8(r,":")}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+e9(r,":");default:return"GMT"+e8(r,":")}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+e9(r,":");default:return"GMT"+e8(r,":")}},t:function(e,t,n){return e3(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return e3(+e,t.length)}};function e9(e,t=""){let n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),i=r%60;return 0===i?n+String(a):n+String(a)+t+e3(i,2)}function e7(e,t){return e%60==0?(e>0?"-":"+")+e3(Math.abs(e)/60,2):e8(e,t)}function e8(e,t=""){let n=Math.abs(e),r=e3(Math.trunc(n/60),2);return(e>0?"-":"+")+r+t+e3(n%60,2)}let te=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},tt=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},tn={p:tt,P:(e,t)=>{let n;let r=e.match(/(P+)(p+)?/)||[],a=r[1],i=r[2];if(!i)return te(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",te(a,t)).replace("{{time}}",tt(i,t))}},tr=/^D+$/,ta=/^Y+$/,ti=["D","DD","YY","YYYY"];function ts(e){return tr.test(e)}function to(e){return ta.test(e)}function tu(e,t,n){let r=function(e,t,n){let r="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(r),ti.includes(e))throw RangeError(r)}let tl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,tc=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,td=/^'([^]*?)'?$/,tf=/''/g,th=/[a-zA-Z]/;function tm(e,t,n){let r=M,a=n?.locale??r.locale??eJ,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,o=u(e,n?.in);if(!U(o))throw RangeError("Invalid time value");let l=t.match(tc).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,tn[t])(e,a.formatLong):e}).join("").match(tl).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t)return{isToken:!1,value:function(e){let t=e.match(td);return t?t[1].replace(tf,"'"):e}(e)};if(e5[t])return{isToken:!0,value:e};if(t.match(th))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});a.localize.preprocessor&&(l=a.localize.preprocessor(o,l));let c={firstWeekContainsDate:i,weekStartsOn:s,locale:a};return l.map(r=>{var i,s;if(!r.isToken)return r.value;let u=r.value;if(!n?.useAdditionalWeekYearTokens&&(i=u,ta.test(i))||!n?.useAdditionalDayOfYearTokens&&(s=u,tr.test(s)))tu(u,t,String(e));return(0,e5[u[0]])(o,u,a.localize,c)}).join("")}function tg(e,t,n){let r;let a=M,i=n?.locale??a.locale??eJ,s=L(e,t);if(isNaN(s))throw RangeError("Invalid time value");let o=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:s}),[u,l]=O(n?.in,...s>0?[t,e]:[e,t]),c=eg(l,u),d=Math.round((c-(x(l)-x(u))/1e3)/60);if(d<2){if(n?.includeSeconds){if(c<5)return i.formatDistance("lessThanXSeconds",5,o);if(c<10)return i.formatDistance("lessThanXSeconds",10,o);else if(c<20)return i.formatDistance("lessThanXSeconds",20,o);else if(c<40)return i.formatDistance("halfAMinute",0,o);else if(c<60)return i.formatDistance("lessThanXMinutes",1,o);else return i.formatDistance("xMinutes",1,o)}return 0===d?i.formatDistance("lessThanXMinutes",1,o):i.formatDistance("xMinutes",d,o)}if(d<45)return i.formatDistance("xMinutes",d,o);if(d<90)return i.formatDistance("aboutXHours",1,o);else if(d<1440){let e=Math.round(d/60);return i.formatDistance("aboutXHours",e,o)}else if(d<2520)return i.formatDistance("xDays",1,o);else if(d<43200){let e=Math.round(d/1440);return i.formatDistance("xDays",e,o)}else if(d<86400)return r=Math.round(d/43200),i.formatDistance("aboutXMonths",r,o);if((r=eh(l,u))<12){let e=Math.round(d/43200);return i.formatDistance("xMonths",e,o)}{let e=r%12,t=Math.trunc(r/12);return e<3?i.formatDistance("aboutXYears",t,o):e<9?i.formatDistance("overXYears",t,o):i.formatDistance("almostXYears",t+1,o)}}function tw(e,t,n){let r;let a=M,i=n?.locale??a.locale??eJ,s=L(e,t);if(isNaN(s))throw RangeError("Invalid time value");let o=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:s}),[u,l]=O(n?.in,...s>0?[t,e]:[e,t]),c=ea(n?.roundingMethod??"round"),d=l.getTime()-u.getTime(),f=d/6e4,h=(d-(x(l)-x(u)))/6e4,m=n?.unit;if("second"===(r=m?m:f<1?"second":f<60?"minute":f<1440?"hour":h<43200?"day":h<525600?"month":"year")){let e=c(d/1e3);return i.formatDistance("xSeconds",e,o)}if("minute"===r){let e=c(f);return i.formatDistance("xMinutes",e,o)}if("hour"===r){let e=c(f/60);return i.formatDistance("xHours",e,o)}else if("day"===r){let e=c(h/1440);return i.formatDistance("xDays",e,o)}else if("month"===r){let e=c(h/43200);return 12===e&&"month"!==m?i.formatDistance("xYears",1,o):i.formatDistance("xMonths",e,o)}else{let e=c(h/525600);return i.formatDistance("xYears",e,o)}}function ty(e,t){return tg(e,X(e),t)}function tM(e,t){return tw(e,X(e),t)}let tp=["years","months","weeks","days","hours","minutes","seconds"];function tD(e,t){let n=M,r=t?.locale??n.locale??eJ,a=t?.format??tp,i=t?.zero??!1,s=t?.delimiter??" ";return r.formatDistance?a.reduce((t,n)=>{let a=`x${n.replace(/(^.)/,e=>e.toUpperCase())}`,s=e[n];return void 0!==s&&(i||e[n])?t.concat(r.formatDistance(a,s)):t},[]).join(s):""}function tb(e,t){let n=u(e,t?.in);if(isNaN(+n))throw RangeError("Invalid time value");let r=t?.format??"extended",a=t?.representation??"complete",i="",s="",o="extended"===r?"-":"";if("time"!==a){let e=e3(n.getDate(),2),t=e3(n.getMonth()+1,2),r=e3(n.getFullYear(),4);i=`${r}${o}${t}${o}${e}`}if("date"!==a){let e=n.getTimezoneOffset();if(0!==e){let t=Math.abs(e),n=e3(Math.trunc(t/60),2),r=e3(t%60,2);s=`${e<0?"+":"-"}${n}:${r}`}else s="Z";let t=e3(n.getHours(),2),a=e3(n.getMinutes(),2),o=e3(n.getSeconds(),2),u=""===i?"":"T",l=[t,a,o].join("extended"===r?":":"");i=`${i}${u}${l}${s}`}return i}function tT(e,t){let n=u(e,t?.in);if(!U(n))throw RangeError("Invalid time value");let r=t?.format??"extended",a=t?.representation??"complete",i="",s="extended"===r?"-":"",o="extended"===r?":":"";if("time"!==a){let e=e3(n.getDate(),2),t=e3(n.getMonth()+1,2),r=e3(n.getFullYear(),4);i=`${r}${s}${t}${s}${e}`}if("date"!==a){let e=e3(n.getHours(),2),t=e3(n.getMinutes(),2),r=e3(n.getSeconds(),2),a=""===i?"":" ";i=`${i}${a}${e}${o}${t}${o}${r}`}return i}function tx(e){let{years:t=0,months:n=0,days:r=0,hours:a=0,minutes:i=0,seconds:s=0}=e;return`P${t}Y${n}M${r}DT${a}H${i}M${s}S`}function tO(e,t){let n=u(e,t?.in);if(!U(n))throw RangeError("Invalid time value");let r=t?.fractionDigits??0,a=e3(n.getDate(),2),i=e3(n.getMonth()+1,2),s=n.getFullYear(),o=e3(n.getHours(),2),l=e3(n.getMinutes(),2),c=e3(n.getSeconds(),2),d="";r>0&&(d="."+e3(Math.trunc(n.getMilliseconds()*Math.pow(10,r-3)),r));let f="",h=n.getTimezoneOffset();if(0!==h){let e=Math.abs(h),t=e3(Math.trunc(e/60),2),n=e3(e%60,2);f=`${h<0?"+":"-"}${t}:${n}`}else f="Z";return`${s}-${i}-${a}T${o}:${l}:${c}${d}${f}`}let tS=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],tk=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function tv(e){let t=u(e);if(!U(t))throw RangeError("Invalid time value");let n=tS[t.getUTCDay()],r=e3(t.getUTCDate(),2),a=tk[t.getUTCMonth()],i=t.getUTCFullYear(),s=e3(t.getUTCHours(),2),o=e3(t.getUTCMinutes(),2),l=e3(t.getUTCSeconds(),2);return`${n}, ${r} ${a} ${i} ${s}:${o}:${l} GMT`}function tY(e,t,n){let r;let[a,i]=O(n?.in,e,t),s=M,o=n?.locale??s.locale??eJ,u=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,l=k(a,i);if(isNaN(l))throw RangeError("Invalid time value");r=l<-6?"other":l<-1?"lastWeek":l<0?"yesterday":l<1?"today":l<2?"tomorrow":l<7?"nextWeek":"other";let c=o.formatRelative(r,a,i,{locale:o,weekStartsOn:u});return tm(a,c,{locale:o,weekStartsOn:u})}function tI(e,t){return u(1e3*e,t?.in)}function tN(e,t){return u(e,t?.in).getDate()}function tH(e,t){return u(e,t?.in).getDay()}function tW(e,t){let n=u(e,t?.in),r=n.getFullYear(),a=n.getMonth(),i=o(n,0);return i.setFullYear(r,a+1,0),i.setHours(0,0,0,0),i.getDate()}function t_(e,t){let n=u(e,t?.in).getFullYear();return n%400==0||n%4==0&&n%100!=0}function tF(e,t){let n=u(e,t?.in);return Number.isNaN(+n)?NaN:t_(n)?366:365}function tP(e,t){return 10*Math.floor(u(e,t?.in).getFullYear()/10)}function tC(){return Object.assign({},M)}function tQ(e,t){return u(e,t?.in).getHours()}function tq(e,t){let n=u(e,t?.in).getDay();return 0===n?7:n}function tE(e,t){let n=v(e,t);return Math.round((+v(_(n,60))-+n)/6048e5)}function t$(e){return u(e).getMilliseconds()}function tL(e,t){return u(e,t?.in).getMinutes()}function tR(e,t){return u(e,t?.in).getMonth()}function tX(e,t){let[n,r]=[+u(e.start),+u(e.end)].sort((e,t)=>e-t),[a,i]=[+u(t.start),+u(t.end)].sort((e,t)=>e-t);if(!(nr?r:i;return Math.ceil((l-x(l)-o)/864e5)}function tj(e){return u(e).getSeconds()}function tB(e){return+u(e)}function tA(e){return Math.trunc(+u(e)/1e3)}function tU(e,t){let n=M,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=tN(u(e,t?.in));if(isNaN(a))return NaN;let i=r-tH(ev(e,t));return i<=0&&(i+=7),Math.ceil((a-i)/7)+1}function tz(e,t){let n=u(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(0,0,0,0),u(n,t?.in)}function tG(e,t){let n=u(e,t?.in);return ee(tz(n,t),ev(n,t),t)+1}function tZ(e,t){return u(e,t?.in).getFullYear()}function tJ(e){return Math.trunc(36e5*e)}function tK(e){return Math.trunc(60*e)}function tV(e){return Math.trunc(3600*e)}function t0(e,t,n){let[r,a]=O(n?.in,e,t);if(isNaN(+r))throw TypeError("Start date is invalid");if(isNaN(+a))throw TypeError("End date is invalid");if(n?.assertPositive&&+r>+a)throw TypeError("End date must be after start date");return{start:r,end:a}}function t1(e,t){let{start:n,end:r}=eM(t?.in,e),a={},i=ey(r,n);i&&(a.years=i);let s=d(n,{years:a.years}),o=eh(r,s);o&&(a.months=o);let u=d(s,{months:a.months}),l=en(r,u);l&&(a.days=l);let c=d(u,{days:a.days}),f=ei(r,c);f&&(a.hours=f);let h=d(c,{hours:a.hours}),m=el(r,h);m&&(a.minutes=m);let g=eg(r,d(h,{minutes:a.minutes}));return g&&(a.seconds=g),a}function t2(e,t,n){let r;return function(e){return void 0!==e&&!("locale"in e)}(t)?r=t:n=t,new Intl.DateTimeFormat(n?.locale,r).format(u(e))}function t3(e,s,o){let u,l=0,[c,d]=O(o?.in,e,s);if(o?.unit)"second"===(u=o?.unit)?l=eg(c,d):"minute"===u?l=el(c,d):"hour"===u?l=ei(c,d):"day"===u?l=k(c,d):"week"===u?l=ee(c,d):"month"===u?l=J(c,d):"quarter"===u?l=V(c,d):"year"===u&&(l=et(c,d));else{let e=eg(c,d);60>Math.abs(e)?(l=eg(c,d),u="second"):3600>Math.abs(e)?(l=el(c,d),u="minute"):Math.abs(e)Math.abs(k(c,d))?(l=ei(c,d),u="hour"):Math.abs(e)Math.abs(l)?u="day":Math.abs(e)V(c,d)?(l=V(c,d),u="quarter"):(l=et(c,d),u="year")}return new Intl.RelativeTimeFormat(o?.locale,{numeric:"auto",...o}).format(l,u)}function t4(e,t){return+u(e)>+u(t)}function t6(e,t){return+u(e)<+u(t)}function t5(e,t){return+u(e)==+u(t)}function t9(e,t,n){let r=new Date(e,t,n);return r.getFullYear()===e&&r.getMonth()===t&&r.getDate()===n}function t7(e,t){return 1===u(e,t?.in).getDate()}function t8(e,t){return 5===u(e,t?.in).getDay()}function ne(e){return+u(e)>Date.now()}function nt(e,t){let n=function(e){return"function"==typeof e&&e.prototype?.constructor===e}(t)?new t(0):o(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}class nn{subPriority=0;validate(e,t){return!0}}class nr extends nn{constructor(e,t,n,r,a){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,a&&(this.subPriority=a)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}}class na extends nn{priority=10;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>o(t,e))}set(e,t){return t.timestampIsSet?e:o(e,nt(e,this.context))}}class ni{run(e,t,n,r){let a=this.parse(e,t,n,r);return a?{setter:new nr(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(e,t,n){return!0}}let ns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},no={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function nu(e,t){return e?{value:t(e.value),rest:e.rest}:e}function nl(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function nc(e,t){let n=t.match(e);if(!n)return null;if("Z"===n[0])return{value:0,rest:t.slice(1)};let r="+"===n[1]?1:-1,a=n[2]?parseInt(n[2],10):0,i=n[3]?parseInt(n[3],10):0;return{value:r*(36e5*a+6e4*i+(n[5]?parseInt(n[5],10):0)*1e3),rest:t.slice(n[0].length)}}function nd(e){return nl(ns.anyDigitsSigned,e)}function nf(e,t){switch(e){case 1:return nl(ns.singleDigit,t);case 2:return nl(ns.twoDigits,t);case 3:return nl(ns.threeDigits,t);case 4:return nl(ns.fourDigits,t);default:return nl(RegExp("^\\d{1,"+e+"}"),t)}}function nh(e,t){switch(e){case 1:return nl(ns.singleDigitSigned,t);case 2:return nl(ns.twoDigitsSigned,t);case 3:return nl(ns.threeDigitsSigned,t);case 4:return nl(ns.fourDigitsSigned,t);default:return nl(RegExp("^-?\\d{1,"+e+"}"),t)}}function nm(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function ng(e,t){let n;let r=t>0,a=r?t:1-t;if(a<=50)n=e||100;else{let t=a+50,r=100*Math.trunc(t/100);n=e+r-(e>=t%100?100:0)}return r?n:1-n}function nw(e){return e%400==0||e%4==0&&e%100!=0}function ny(e,t,n){let r=u(e,n?.in),a=e2(r,n)-t;return r.setDate(r.getDate()-7*a),u(r,n?.in)}function nM(e,t,n){let r=u(e,n?.in),a=eV(r,n)-t;return r.setDate(r.getDate()-7*a),r}let np=[31,28,31,30,31,30,31,31,30,31,30,31],nD=[31,29,31,30,31,30,31,31,30,31,30,31];function nb(e,t,n){let r=M,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=u(e,n?.in),s=i.getDay(),o=7-a;return l(i,t<0||t>6?t-(s+o)%7:((t%7+7)%7+o)%7-(s+o)%7,n)}function nT(e,t,n){let r=u(e,n?.in),a=tq(r,n);return l(r,t-a,n)}let nx={G:new class e extends ni{priority=140;parse(e,t,n){switch(t){case"G":case"GG":case"GGG":return n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"});case"GGGGG":return n.era(e,{width:"narrow"});default:return n.era(e,{width:"wide"})||n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["R","u","t","T"]},y:new class e extends ni{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:"yy"===t});switch(t){case"y":return nu(nf(4,e),r);case"yo":return nu(n.ordinalNumber(e,{unit:"year"}),r);default:return nu(nf(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=ng(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let a="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(a,0,1),e.setHours(0,0,0,0),e}},Y:new class e extends ni{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:"YY"===t});switch(t){case"Y":return nu(nf(4,e),r);case"Yo":return nu(n.ordinalNumber(e,{unit:"year"}),r);default:return nu(nf(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let a=e0(e,r);if(n.isTwoDigitYear){let t=ng(n.year,a);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),D(e,r)}let i="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(i,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),D(e,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class e extends ni{priority=130;parse(e,t){return"R"===t?nh(4,e):nh(t.length,e)}set(e,t,n){let r=o(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),b(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class e extends ni{priority=130;parse(e,t){return"u"===t?nh(4,e):nh(t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class e extends ni{priority=120;parse(e,t,n){switch(t){case"Q":case"QQ":return nf(t.length,e);case"Qo":return n.ordinalNumber(e,{unit:"quarter"});case"QQQ":return n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return n.quarter(e,{width:"narrow",context:"formatting"});default:return n.quarter(e,{width:"wide",context:"formatting"})||n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class e extends ni{priority=120;parse(e,t,n){switch(t){case"q":case"qq":return nf(t.length,e);case"qo":return n.ordinalNumber(e,{unit:"quarter"});case"qqq":return n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return n.quarter(e,{width:"narrow",context:"standalone"});default:return n.quarter(e,{width:"wide",context:"standalone"})||n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class e extends ni{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case"M":return nu(nl(ns.month,e),r);case"MM":return nu(nf(2,e),r);case"Mo":return nu(n.ordinalNumber(e,{unit:"month"}),r);case"MMM":return n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return n.month(e,{width:"narrow",context:"formatting"});default:return n.month(e,{width:"wide",context:"formatting"})||n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},L:new class e extends ni{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case"L":return nu(nl(ns.month,e),r);case"LL":return nu(nf(2,e),r);case"Lo":return nu(n.ordinalNumber(e,{unit:"month"}),r);case"LLL":return n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return n.month(e,{width:"narrow",context:"standalone"});default:return n.month(e,{width:"wide",context:"standalone"})||n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class e extends ni{priority=100;parse(e,t,n){switch(t){case"w":return nl(ns.week,e);case"wo":return n.ordinalNumber(e,{unit:"week"});default:return nf(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return D(ny(e,n,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class e extends ni{priority=100;parse(e,t,n){switch(t){case"I":return nl(ns.week,e);case"Io":return n.ordinalNumber(e,{unit:"week"});default:return nf(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return b(nM(e,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class e extends ni{priority=90;subPriority=1;parse(e,t,n){switch(t){case"d":return nl(ns.date,e);case"do":return n.ordinalNumber(e,{unit:"date"});default:return nf(t.length,e)}}validate(e,t){let n=nw(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=nD[r]:t>=1&&t<=np[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class e extends ni{priority=90;subpriority=1;parse(e,t,n){switch(t){case"D":case"DD":return nl(ns.dayOfYear,e);case"Do":return n.ordinalNumber(e,{unit:"date"});default:return nf(t.length,e)}}validate(e,t){return nw(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class e extends ni{priority=90;parse(e,t,n){switch(t){case"E":case"EE":case"EEE":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return n.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nb(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["D","i","e","c","t","T"]},e:new class e extends ni{priority=90;parse(e,t,n,r){let a=e=>{let t=7*Math.floor((e-1)/7);return(e+r.weekStartsOn+6)%7+t};switch(t){case"e":case"ee":return nu(nf(t.length,e),a);case"eo":return nu(n.ordinalNumber(e,{unit:"day"}),a);case"eee":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"eeeee":return n.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nb(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class e extends ni{priority=90;parse(e,t,n,r){let a=e=>{let t=7*Math.floor((e-1)/7);return(e+r.weekStartsOn+6)%7+t};switch(t){case"c":case"cc":return nu(nf(t.length,e),a);case"co":return nu(n.ordinalNumber(e,{unit:"day"}),a);case"ccc":return n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});case"ccccc":return n.day(e,{width:"narrow",context:"standalone"});case"cccccc":return n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});default:return n.day(e,{width:"wide",context:"standalone"})||n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nb(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class e extends ni{priority=90;parse(e,t,n){let r=e=>0===e?7:e;switch(t){case"i":case"ii":return nf(t.length,e);case"io":return n.ordinalNumber(e,{unit:"day"});case"iii":return nu(n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r);case"iiiii":return nu(n.day(e,{width:"narrow",context:"formatting"}),r);case"iiiiii":return nu(n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r);default:return nu(n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return(e=nT(e,n)).setHours(0,0,0,0),e}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class e extends ni{priority=80;parse(e,t,n){switch(t){case"a":case"aa":case"aaa":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(nm(n),0,0,0),e}incompatibleTokens=["b","B","H","k","t","T"]},b:new class e extends ni{priority=80;parse(e,t,n){switch(t){case"b":case"bb":case"bbb":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(nm(n),0,0,0),e}incompatibleTokens=["a","B","H","k","t","T"]},B:new class e extends ni{priority=80;parse(e,t,n){switch(t){case"B":case"BB":case"BBB":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(nm(n),0,0,0),e}incompatibleTokens=["a","b","t","T"]},h:new class e extends ni{priority=70;parse(e,t,n){switch(t){case"h":return nl(ns.hour12h,e);case"ho":return n.ordinalNumber(e,{unit:"hour"});default:return nf(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):r||12!==n?e.setHours(n,0,0,0):e.setHours(0,0,0,0),e}incompatibleTokens=["H","K","k","t","T"]},H:new class e extends ni{priority=70;parse(e,t,n){switch(t){case"H":return nl(ns.hour23h,e);case"Ho":return n.ordinalNumber(e,{unit:"hour"});default:return nf(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class e extends ni{priority=70;parse(e,t,n){switch(t){case"K":return nl(ns.hour11h,e);case"Ko":return n.ordinalNumber(e,{unit:"hour"});default:return nf(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=["h","H","k","t","T"]},k:new class e extends ni{priority=70;parse(e,t,n){switch(t){case"k":return nl(ns.hour24h,e);case"ko":return n.ordinalNumber(e,{unit:"hour"});default:return nf(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){return e.setHours(n<=24?n%24:n,0,0,0),e}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class e extends ni{priority=60;parse(e,t,n){switch(t){case"m":return nl(ns.minute,e);case"mo":return n.ordinalNumber(e,{unit:"minute"});default:return nf(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=["t","T"]},s:new class e extends ni{priority=50;parse(e,t,n){switch(t){case"s":return nl(ns.second,e);case"so":return n.ordinalNumber(e,{unit:"second"});default:return nf(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=["t","T"]},S:new class e extends ni{priority=30;parse(e,t){return nu(nf(t.length,e),e=>Math.trunc(e*Math.pow(10,-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=["t","T"]},X:new class e extends ni{priority=10;parse(e,t){switch(t){case"X":return nc(no.basicOptionalMinutes,e);case"XX":return nc(no.basic,e);case"XXXX":return nc(no.basicOptionalSeconds,e);case"XXXXX":return nc(no.extendedOptionalSeconds,e);default:return nc(no.extended,e)}}set(e,t,n){return t.timestampIsSet?e:o(e,e.getTime()-x(e)-n)}incompatibleTokens=["t","T","x"]},x:new class e extends ni{priority=10;parse(e,t){switch(t){case"x":return nc(no.basicOptionalMinutes,e);case"xx":return nc(no.basic,e);case"xxxx":return nc(no.basicOptionalSeconds,e);case"xxxxx":return nc(no.extendedOptionalSeconds,e);default:return nc(no.extended,e)}}set(e,t,n){return t.timestampIsSet?e:o(e,e.getTime()-x(e)-n)}incompatibleTokens=["t","T","X"]},t:new class e extends ni{priority=40;parse(e){return nd(e)}set(e,t,n){return[o(e,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class e extends ni{priority=20;parse(e){return nd(e)}set(e,t,n){return[o(e,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},nO=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,nS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,nk=/^'([^]*?)'?$/,nv=/''/g,nY=/\S/,nI=/[a-zA-Z]/;function nN(e,t,n,r){let a=()=>o(r?.in||n,NaN),i=tC(),s=r?.locale??i.locale??eJ,l=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,c=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0;if(!t)return e?a():u(n,r?.in);let d={firstWeekContainsDate:l,weekStartsOn:c,locale:s},f=[new na(r?.in,n)],h=t.match(nS).map(e=>{let t=e[0];return t in tn?(0,tn[t])(e,s.formatLong):e}).join("").match(nO),m=[];for(let n of h){var g,w;if(!r?.useAdditionalWeekYearTokens&&(g=n,ta.test(g)))tu(n,t,e);if(!r?.useAdditionalDayOfYearTokens&&(w=n,tr.test(w)))tu(n,t,e);let i=n[0],o=nx[i];if(o){let{incompatibleTokens:t}=o;if(Array.isArray(t)){let e=m.find(e=>t.includes(e.token)||e.token===i);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if("*"===o.incompatibleTokens&&m.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);m.push({token:i,fullToken:n});let r=o.run(e,n,s.match,d);if(!r)return a();f.push(r.setter),e=r.rest}else{if(i.match(nI))throw RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");if("''"===n?n="'":"'"===i&&(n=function(e){return e.match(nk)[1].replace(nv,"'")}(n)),0!==e.indexOf(n))return a();e=e.slice(n.length)}}if(e.length>0&&nY.test(e))return a();let y=f.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>f.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),M=u(n,r?.in);if(isNaN(+M))return a();let p={};for(let e of y){if(!e.validate(M,d))return a();let t=e.set(M,p,d);Array.isArray(t)?(M=t[0],Object.assign(p,t[1])):M=t}return M}function nH(e,t,n){return U(nN(e,t,new Date,n))}function nW(e,t){return 1===u(e,t?.in).getDay()}function n_(e){return+u(e)e-t);return r>=a&&r<=i}function n5(e,t,n){return l(e,-t,n)}function n9(e,t){return B(o(t?.in||e,e),n5(X(t?.in||e),1))}function n7(e,t){let n=u(e,t?.in),r=9+10*Math.floor(n.getFullYear()/10);return n.setFullYear(r+1,0,0),n.setHours(0,0,0,0),u(n,t?.in)}function n8(e,t){let n=M,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=u(e,t?.in),i=a.getDay();return a.setHours(0,0,0,0),a.setDate(a.getDate()+((i{if("''"===e)return"'";let t=e[0];if("'"===t)return function(e){let t=e.match(ri);return t?t[1].replace(rs,"'"):e}(e);let r=e4[t];if(r)return r(n,e);if(t.match(ro))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return e}).join(""):""}function rl({years:e,months:t,weeks:n,days:r,hours:a,minutes:i,seconds:s}){let o=0;e&&(o+=365.2425*e),t&&(o+=30.436875*t),n&&(o+=7*n),r&&(o+=r);let u=86400*o;return a&&(u+=3600*a),i&&(u+=60*i),s&&(u+=s),Math.trunc(1e3*u)}function rc(e){return Math.trunc(e/36e5)}function rd(e){return Math.trunc(e/6e4)}function rf(e){return Math.trunc(e/1e3)}function rh(e){return Math.trunc(e/60)}function rm(e){return Math.trunc(6e4*e)}function rg(e){return Math.trunc(60*e)}function rw(e){return Math.trunc(e/3)}function ry(e){return Math.trunc(e/12)}function rM(e,t,n){let r=t-tH(e,n);return r<=0&&(r+=7),l(e,r,n)}function rp(e,t){return rM(e,5,t)}function rD(e,t){return rM(e,1,t)}function rb(e,t){return rM(e,6,t)}function rT(e,t){return rM(e,0,t)}function rx(e,t){return rM(e,4,t)}function rO(e,t){return rM(e,2,t)}function rS(e,t){return rM(e,3,t)}function rk(e,t){let n,r;let a=()=>o(t?.in,NaN),i=t?.additionalDigits??2,s=function(e){let t;let n={},r=e.split(rv.dateTimeDelimiter);if(r.length>2)return n;if(/:/.test(r[0])?t=r[0]:(n.date=r[0],t=r[1],rv.timeZoneDelimiter.test(n.date)&&(n.date=e.split(rv.timeZoneDelimiter)[0],t=e.substr(n.date.length,e.length))),t){let e=rv.timezone.exec(t);e?(n.time=t.replace(e[1],""),n.timezone=e[1]):n.time=t}return n}(e);if(s.date){let e=function(e,t){let n=RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};let a=r[1]?parseInt(r[1]):null,i=r[2]?parseInt(r[2]):null;return{year:null===i?a:100*i,restDateString:e.slice((r[1]||r[2]).length)}}(s.date,i);n=function(e,t){if(null===t)return new Date(NaN);let n=e.match(rY);if(!n)return new Date(NaN);let r=!!n[4],a=rH(n[1]),i=rH(n[2])-1,s=rH(n[3]),o=rH(n[4]),u=rH(n[5])-1;if(r)return!function(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}(t,o,u)?new Date(NaN):function(e,t,n){let r=new Date(0);r.setUTCFullYear(e,0,4);let a=r.getUTCDay()||7;return r.setUTCDate(r.getUTCDate()+((t-1)*7+n+1-a)),r}(t,o,u);{let e=new Date(0);return!function(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(r_[t]||(rF(e)?29:28))}(t,i,s)||!function(e,t){return t>=1&&t<=(rF(e)?366:365)}(t,a)?new Date(NaN):(e.setUTCFullYear(t,i,Math.max(a,s)),e)}}(e.restDateString,e.year)}if(!n||isNaN(+n))return a();let l=+n,c=0;if(s.time&&isNaN(c=function(e){let t=e.match(rI);if(!t)return NaN;let n=rW(t[1]),r=rW(t[2]),a=rW(t[3]);return!function(e,t,n){return 24===e?0===t&&0===n:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}(n,r,a)?NaN:36e5*n+6e4*r+1e3*a}(s.time)))return a();if(s.timezone){if(isNaN(r=function(e){if("Z"===e)return 0;let t=e.match(rN);if(!t)return 0;let n="+"===t[1]?-1:1,r=parseInt(t[2]),a=t[3]&&parseInt(t[3])||0;return!function(e,t){return t>=0&&t<=59}(r,a)?NaN:n*(36e5*r+6e4*a)}(s.timezone)))return a()}else{let e=new Date(l+c),n=u(0,t?.in);return n.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),n.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),n}return u(l+c+r,t?.in)}let rv={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},rY=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,rI=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,rN=/^([+-])(\d{2})(?::?(\d{2}))?$/;function rH(e){return e?parseInt(e):1}function rW(e){return e&&parseFloat(e.replace(",","."))||0}let r_=[31,null,31,30,31,30,31,31,30,31,30,31];function rF(e){return e%400==0||e%4==0&&e%100!=0}function rP(e,t){let n=e.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/);return n?u(Date.UTC(+n[1],+n[2]-1,+n[3],+n[4]-(+n[9]||0)*("-"==n[8]?-1:1),+n[5]-(+n[10]||0)*("-"==n[8]?-1:1),+n[6],+((n[7]||"0")+"00").substring(0,3)),t?.in):u(NaN,t?.in)}function rC(e,t,n){let r=tH(e,n)-t;return r<=0&&(r+=7),n5(e,r,n)}function rQ(e,t){return rC(e,5,t)}function rq(e,t){return rC(e,1,t)}function rE(e,t){return rC(e,6,t)}function r$(e,t){return rC(e,0,t)}function rL(e,t){return rC(e,4,t)}function rR(e,t){return rC(e,2,t)}function rX(e,t){return rC(e,3,t)}function rj(e){return Math.trunc(3*e)}function rB(e){return Math.trunc(e/4)}function rA(e,t){let n=t?.nearestTo??1;if(n<1||n>12)return o(t?.in||e,NaN);let r=u(e,t?.in),a=r.getMinutes()/60,i=r.getSeconds()/60/60,s=r.getMilliseconds()/1e3/60/60,l=r.getHours()+a+i+s,c=ea(t?.roundingMethod??"round")(l/n)*n;return r.setHours(c,0,0,0),r}function rU(e,t){let n=t?.nearestTo??1;if(n<1||n>30)return o(e,NaN);let r=u(e,t?.in),a=r.getSeconds()/60,i=r.getMilliseconds()/1e3/60,s=r.getMinutes()+a+i,l=ea(t?.roundingMethod??"round")(s/n)*n;return r.setMinutes(l,0,0),r}function rz(e){return Math.trunc(e/3600)}function rG(e){return 1e3*e}function rZ(e){return Math.trunc(e/60)}function rJ(e,t,n){let r=u(e,n?.in),a=r.getFullYear(),i=r.getDate(),s=o(n?.in||e,0);s.setFullYear(a,t,15),s.setHours(0,0,0,0);let l=tW(s);return r.setMonth(t,Math.min(i,l)),r}function rK(e,t,n){let r=u(e,n?.in);return isNaN(+r)?o(n?.in||e,NaN):(null!=t.year&&r.setFullYear(t.year),null!=t.month&&(r=rJ(r,t.month)),null!=t.date&&r.setDate(t.date),null!=t.hours&&r.setHours(t.hours),null!=t.minutes&&r.setMinutes(t.minutes),null!=t.seconds&&r.setSeconds(t.seconds),null!=t.milliseconds&&r.setMilliseconds(t.milliseconds),r)}function rV(e,t,n){let r=u(e,n?.in);return r.setDate(t),r}function r0(e,t,n){let r=u(e,n?.in);return r.setMonth(0),r.setDate(t),r}function r1(e){let t={},n=M;for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(void 0===e[n]?delete t[n]:t[n]=e[n]);M=t}function r2(e,t,n){let r=u(e,n?.in);return r.setHours(t),r}function r3(e,t,n){let r=u(e,n?.in);return r.setMilliseconds(t),r}function r4(e,t,n){let r=u(e,n?.in);return r.setMinutes(t),r}function r6(e,t,n){let r=u(e,n?.in),a=Math.trunc(r.getMonth()/3)+1;return rJ(r,r.getMonth()+3*(t-a))}function r5(e,t,n){let r=u(e,n?.in);return r.setSeconds(t),r}function r9(e,t,n){let r=M,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=k(u(e,n?.in),e1(e,n),n),s=o(n?.in||e,0);s.setFullYear(t,0,a),s.setHours(0,0,0,0);let l=e1(s,n);return l.setDate(l.getDate()+i),l}function r7(e,t,n){let r=u(e,n?.in);return isNaN(+r)?o(n?.in||e,NaN):(r.setFullYear(t),r)}function r8(e,t){let n=u(e,t?.in),r=10*Math.floor(n.getFullYear()/10);return n.setFullYear(r,0,1),n.setHours(0,0,0,0),n}function ae(e){return S(Date.now(),e)}function at(e){let t=X(e?.in),n=t.getFullYear(),r=t.getMonth(),a=t.getDate(),i=o(e?.in,0);return i.setFullYear(n,r,a+1),i.setHours(0,0,0,0),i}function an(e){let t=X(e?.in),n=t.getFullYear(),r=t.getMonth(),a=t.getDate(),i=X(e?.in);return i.setFullYear(n,r,a-1),i.setHours(0,0,0,0),i}function ar(e,t,n){return c(e,-t,n)}function aa(e,t,n){let{years:r=0,months:a=0,weeks:i=0,days:s=0,hours:u=0,minutes:l=0,seconds:c=0}=t,d=n5(ar(e,a+12*r,n),s+7*i,n);return o(n?.in||e,+d-1e3*(c+60*(l+60*u)))}function ai(e,t,n){return g(e,-t,n)}function as(e,t,n){return y(e,-t,n)}function ao(e,t,n){return w(e,-t,n)}function au(e,t,n){return N(e,-t,n)}function al(e,t,n){return H(e,-t,n)}function ac(e,t,n){return W(e,-t,n)}function ad(e,t,n){return _(e,-t,n)}function af(e,t,n){return F(e,-t,n)}function ah(e){return Math.trunc(7*e)}function am(e){return Math.trunc(365.2425*e)}function ag(e){return Math.trunc(12*e)}function aw(e){return Math.trunc(4*e)}export{d as add,g as addBusinessDays,l as addDays,y as addHours,I as addISOWeekYears,w as addMilliseconds,N as addMinutes,c as addMonths,H as addQuarters,W as addSeconds,_ as addWeeks,F as addYears,P as areIntervalsOverlapping,q as clamp,E as closestIndexTo,$ as closestTo,L as compareAsc,R as compareDesc,o as constructFrom,X as constructNow,j as daysToWeeks,z as differenceInBusinessDays,k as differenceInCalendarDays,G as differenceInCalendarISOWeekYears,Z as differenceInCalendarISOWeeks,J as differenceInCalendarMonths,V as differenceInCalendarQuarters,ee as differenceInCalendarWeeks,et as differenceInCalendarYears,en as differenceInDays,ei as differenceInHours,eo as differenceInISOWeekYears,eu as differenceInMilliseconds,el as differenceInMinutes,eh as differenceInMonths,em as differenceInQuarters,eg as differenceInSeconds,ew as differenceInWeeks,ey as differenceInYears,ep as eachDayOfInterval,eD as eachHourOfInterval,eb as eachMinuteOfInterval,eT as eachMonthOfInterval,eO as eachQuarterOfInterval,eS as eachWeekOfInterval,ek as eachWeekendOfInterval,eY as eachWeekendOfMonth,eH as eachWeekendOfYear,eW as eachYearOfInterval,ec as endOfDay,e_ as endOfDecade,eF as endOfHour,eC as endOfISOWeek,eQ as endOfISOWeekYear,eq as endOfMinute,ed as endOfMonth,eE as endOfQuarter,e$ as endOfSecond,eL as endOfToday,eR as endOfTomorrow,eP as endOfWeek,eI as endOfYear,eX as endOfYesterday,tm as format,tm as formatDate,tg as formatDistance,tw as formatDistanceStrict,ty as formatDistanceToNow,tM as formatDistanceToNowStrict,tD as formatDuration,tb as formatISO,tT as formatISO9075,tx as formatISODuration,tO as formatRFC3339,tv as formatRFC7231,tY as formatRelative,e5 as formatters,tI as fromUnixTime,tN as getDate,tH as getDay,eK as getDayOfYear,tW as getDaysInMonth,tF as getDaysInYear,tP as getDecade,tC as getDefaultOptions,tQ as getHours,tq as getISODay,eV as getISOWeek,T as getISOWeekYear,tE as getISOWeeksInYear,t$ as getMilliseconds,tL as getMinutes,tR as getMonth,tX as getOverlappingDaysInIntervals,K as getQuarter,tj as getSeconds,tB as getTime,tA as getUnixTime,e2 as getWeek,tU as getWeekOfMonth,e0 as getWeekYear,tG as getWeeksInMonth,tZ as getYear,tJ as hoursToMilliseconds,tK as hoursToMinutes,tV as hoursToSeconds,t0 as interval,t1 as intervalToDuration,t2 as intlFormat,t3 as intlFormatDistance,t4 as isAfter,t6 as isBefore,A as isDate,t5 as isEqual,t9 as isExists,t7 as isFirstDayOfMonth,t8 as isFriday,ne as isFuture,ef as isLastDayOfMonth,t_ as isLeapYear,nH as isMatch,nW as isMonday,n_ as isPast,B as isSameDay,nP as isSameHour,nQ as isSameISOWeek,nq as isSameISOWeekYear,n$ as isSameMinute,nL as isSameMonth,nR as isSameQuarter,nj as isSameSecond,nC as isSameWeek,nB as isSameYear,f as isSaturday,h as isSunday,nA as isThisHour,nU as isThisISOWeek,nz as isThisMinute,nG as isThisMonth,nZ as isThisQuarter,nJ as isThisSecond,nK as isThisWeek,nV as isThisYear,n0 as isThursday,n1 as isToday,n2 as isTomorrow,n3 as isTuesday,U as isValid,n4 as isWednesday,m as isWeekend,n6 as isWithinInterval,n9 as isYesterday,n7 as lastDayOfDecade,re as lastDayOfISOWeek,rt as lastDayOfISOWeekYear,tz as lastDayOfMonth,rn as lastDayOfQuarter,n8 as lastDayOfWeek,rr as lastDayOfYear,ru as lightFormat,e4 as lightFormatters,tn as longFormatters,C as max,rl as milliseconds,rc as millisecondsToHours,rd as millisecondsToMinutes,rf as millisecondsToSeconds,Q as min,rh as minutesToHours,rm as minutesToMilliseconds,rg as minutesToSeconds,rw as monthsToQuarters,ry as monthsToYears,rM as nextDay,rp as nextFriday,rD as nextMonday,rb as nextSaturday,rT as nextSunday,rx as nextThursday,rO as nextTuesday,rS as nextWednesday,nN as parse,rk as parseISO,rP as parseJSON,nx as parsers,rC as previousDay,rQ as previousFriday,rq as previousMonday,rE as previousSaturday,r$ as previousSunday,rL as previousThursday,rR as previousTuesday,rX as previousWednesday,rj as quartersToMonths,rB as quartersToYears,rA as roundToNearestHours,rU as roundToNearestMinutes,rz as secondsToHours,rG as secondsToMilliseconds,rZ as secondsToMinutes,rK as set,rV as setDate,nb as setDay,r0 as setDayOfYear,r1 as setDefaultOptions,r2 as setHours,nT as setISODay,nM as setISOWeek,Y as setISOWeekYear,r3 as setMilliseconds,r4 as setMinutes,rJ as setMonth,r6 as setQuarter,r5 as setSeconds,ny as setWeek,r9 as setWeekYear,r7 as setYear,S as startOfDay,r8 as startOfDecade,nF as startOfHour,b as startOfISOWeek,v as startOfISOWeekYear,nE as startOfMinute,ev as startOfMonth,ex as startOfQuarter,nX as startOfSecond,ae as startOfToday,at as startOfTomorrow,D as startOfWeek,e1 as startOfWeekYear,eN as startOfYear,an as startOfYesterday,aa as sub,ai as subBusinessDays,n5 as subDays,as as subHours,es as subISOWeekYears,ao as subMilliseconds,au as subMinutes,ar as subMonths,al as subQuarters,ac as subSeconds,ad as subWeeks,af as subYears,u as toDate,nt as transpose,ah as weeksToDays,am as yearsToDays,ag as yearsToMonths,aw as yearsToQuarters}; \ No newline at end of file diff --git a/ssr-base/src/entry.client.ef46db37.final.js b/ssr-base/src/entry.client.ef46db37.final.js new file mode 100644 index 00000000..e69de29b diff --git a/ssr-base/src/title.f87b9567.final.js b/ssr-base/src/title.f87b9567.final.js new file mode 100644 index 00000000..11f46704 --- /dev/null +++ b/ssr-base/src/title.f87b9567.final.js @@ -0,0 +1 @@ +function e(){return"Gez"}export{e as getTitle}; \ No newline at end of file diff --git a/ssr-base/versions/latest.tgz b/ssr-base/versions/latest.tgz new file mode 100644 index 00000000..adbf786f Binary files /dev/null and b/ssr-base/versions/latest.tgz differ diff --git a/ssr-base/versions/latest.txt b/ssr-base/versions/latest.txt new file mode 100644 index 00000000..6f0a7afd --- /dev/null +++ b/ssr-base/versions/latest.txt @@ -0,0 +1 @@ +dab52e8a0e6d7dc2077c45e79d698a7958802e72410da21744df8da329507c63 \ No newline at end of file diff --git a/ssr-html/about/index.html b/ssr-html/about/index.html new file mode 100644 index 00000000..72bd6402 --- /dev/null +++ b/ssr-html/about/index.html @@ -0,0 +1,32 @@ + + + + + + + + About + + + +
+ +
+

Gez

+ +
+ Gez 是一个基于 Rspack 构建的模块链接(Module Link) 解决方案,通过 importmap 将多服务的模块映射到具有强缓存,基于内容哈希的 URL 中。 +
+
+ +
+ + + + + + + diff --git a/ssr-html/chunks/222.13b8f3f2.final.js b/ssr-html/chunks/222.13b8f3f2.final.js new file mode 100644 index 00000000..525a1c87 --- /dev/null +++ b/ssr-html/chunks/222.13b8f3f2.final.js @@ -0,0 +1,35 @@ +export const ids=["222"];export const modules={878:function(t,e,i){function r(t){return` +
+

Gez

+ +
+ ${t} +
+
+`}i.d(e,{b:function(){return r}}),i(992)},286:function(t,e,i){function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.d(e,{T:function(){return n}});class n{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(t){this._props=t}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){r(this,"importMetaSet",new Set),r(this,"_props",null),r(this,"title",""),r(this,"state",{})}}},421:function(t,e,i){i.r(e),i.d(e,{default:()=>p});var r=i("878");let n=i.p+"images/cat.ed79ef6b.final.jpeg",s=i.p+"images/loading.6e6b1b2e.final.gif",o=i.p+"images/logo.310683d2.final.svg",a=i.p+"images/starry.d914a632.final.jpg",l=i.p+"images/sun.429a7bc5.final.png";var u=i("286"),c=i("944");function h(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class p extends u.T{render(){let{url:t}=this.props,{count:e}=this.state;return(0,r.b)(` +

计数器

+
${e}
+

请求地址

+
${t}
+

图片

+
    +
  • ${o}
    + +
  • +
  • ${a}
    + +
  • +
  • ${n}
    + +
  • +
  • ${s}
    + +
  • +
  • ${l}
    + +
  • +
+`)}onClient(){setInterval(()=>{this.state.count++;let t=document.querySelector("#count");t instanceof HTMLDivElement&&(t.innerText=String(this.state.count))},1e3)}async onServer(){this.importMetaSet.add(import.meta),super.onServer(),this.state.count=1}constructor(...t){super(...t),h(this,"state",{count:0}),h(this,"title",c.title.home)}}},992:function(t,e,i){t.exports={}}}; \ No newline at end of file diff --git a/ssr-html/chunks/222.75b27a1c.final.css b/ssr-html/chunks/222.75b27a1c.final.css new file mode 100644 index 00000000..8c998008 --- /dev/null +++ b/ssr-html/chunks/222.75b27a1c.final.css @@ -0,0 +1 @@ +.layout{padding:10px} \ No newline at end of file diff --git a/ssr-html/chunks/473.75b27a1c.final.css b/ssr-html/chunks/473.75b27a1c.final.css new file mode 100644 index 00000000..8c998008 --- /dev/null +++ b/ssr-html/chunks/473.75b27a1c.final.css @@ -0,0 +1 @@ +.layout{padding:10px} \ No newline at end of file diff --git a/ssr-html/chunks/473.986c5be2.final.js b/ssr-html/chunks/473.986c5be2.final.js new file mode 100644 index 00000000..48ab8875 --- /dev/null +++ b/ssr-html/chunks/473.986c5be2.final.js @@ -0,0 +1,12 @@ +export const ids=["473"];export const modules={878:function(t,e,r){function n(t){return` +
+

Gez

+ +
+ ${t} +
+
+`}r.d(e,{b:function(){return n}}),r(992)},286:function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{T:function(){return i}});class i{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(t){this._props=t}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){n(this,"importMetaSet",new Set),n(this,"_props",null),n(this,"title",""),n(this,"state",{})}}},896:function(t,e,r){r.r(e),r.d(e,{default:function(){return a}});var n=r(878),i=r(286),o=r(944);function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class a extends i.T{render(){return(0,n.b)(`Gez 是一个基于 Rspack 构建的模块链接(Module Link) 解决方案,通过 importmap 将多服务的模块映射到具有强缓存,基于内容哈希的 URL 中。`)}async onServer(){this.importMetaSet.add(import.meta),super.onServer(),this.state.time=new Date().toISOString()}constructor(...t){super(...t),s(this,"state",{time:""}),s(this,"title",o.title.about)}}},992:function(t,e,r){t.exports={}}}; \ No newline at end of file diff --git a/ssr-html/chunks/830.5cb2fb4e.final.js b/ssr-html/chunks/830.5cb2fb4e.final.js new file mode 100644 index 00000000..930edb31 --- /dev/null +++ b/ssr-html/chunks/830.5cb2fb4e.final.js @@ -0,0 +1,12 @@ +export const ids=["830"];export const modules={878:function(t,e,r){function n(t){return` +
+

Gez

+ +
+ ${t} +
+
+`}r.d(e,{b:function(){return n}}),r(992)},286:function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{T:function(){return o}});class o{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(t){this._props=t}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){n(this,"importMetaSet",new Set),n(this,"_props",null),n(this,"title",""),n(this,"state",{})}}},654:function(t,e,r){r.r(e),r.d(e,{default:function(){return s}});var n=r(878),o=r(286),i=r(944);class s extends o.T{render(){return(0,n.b)("

Not Found

")}async onServer(){this.importMetaSet.add(import.meta),super.onServer()}constructor(...t){var e,r,n;super(...t),e=this,r="title",n=i.title.notFound,r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}}},992:function(t,e,r){t.exports={}}}; \ No newline at end of file diff --git a/ssr-html/chunks/830.75b27a1c.final.css b/ssr-html/chunks/830.75b27a1c.final.css new file mode 100644 index 00000000..8c998008 --- /dev/null +++ b/ssr-html/chunks/830.75b27a1c.final.css @@ -0,0 +1 @@ +.layout{padding:10px} \ No newline at end of file diff --git a/ssr-html/images/cat.ed79ef6b.final.jpeg b/ssr-html/images/cat.ed79ef6b.final.jpeg new file mode 100644 index 00000000..29e4dab9 Binary files /dev/null and b/ssr-html/images/cat.ed79ef6b.final.jpeg differ diff --git a/ssr-html/images/loading.6e6b1b2e.final.gif b/ssr-html/images/loading.6e6b1b2e.final.gif new file mode 100644 index 00000000..0613ccb0 Binary files /dev/null and b/ssr-html/images/loading.6e6b1b2e.final.gif differ diff --git a/ssr-html/images/logo.310683d2.final.svg b/ssr-html/images/logo.310683d2.final.svg new file mode 100644 index 00000000..fef098a6 --- /dev/null +++ b/ssr-html/images/logo.310683d2.final.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-html/images/starry.d914a632.final.jpg b/ssr-html/images/starry.d914a632.final.jpg new file mode 100644 index 00000000..1d0c3b0a Binary files /dev/null and b/ssr-html/images/starry.d914a632.final.jpg differ diff --git a/ssr-html/images/sun.429a7bc5.final.png b/ssr-html/images/sun.429a7bc5.final.png new file mode 100644 index 00000000..fedb581d Binary files /dev/null and b/ssr-html/images/sun.429a7bc5.final.png differ diff --git a/ssr-html/importmap.d63d876e107c.final.js b/ssr-html/importmap.d63d876e107c.final.js new file mode 100644 index 00000000..94f53600 --- /dev/null +++ b/ssr-html/importmap.d63d876e107c.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-html",s="__importmap__",e=t[s]=t[s]||{},i=e.imports=e.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ac6f4d48.final.js","./src/title":"./src/title.23ced5f2.final.js"}).forEach(([t,r])=>{i[n(t)]=c[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-html/importmap.js b/ssr-html/importmap.js new file mode 100644 index 00000000..94f53600 --- /dev/null +++ b/ssr-html/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-html",s="__importmap__",e=t[s]=t[s]||{},i=e.imports=e.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ac6f4d48.final.js","./src/title":"./src/title.23ced5f2.final.js"}).forEach(([t,r])=>{i[n(t)]=c[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-html/index.html b/ssr-html/index.html new file mode 100644 index 00000000..aba2156e --- /dev/null +++ b/ssr-html/index.html @@ -0,0 +1,55 @@ + + + + + + + + Home + + + +
+ +
+

Gez

+ +
+ +

计数器

+
1
+

请求地址

+
/
+

图片

+
    +
  • /gez/ssr-html/images/logo.310683d2.final.svg
    + +
  • +
  • /gez/ssr-html/images/starry.d914a632.final.jpg
    + +
  • +
  • /gez/ssr-html/images/cat.ed79ef6b.final.jpeg
    + +
  • +
  • /gez/ssr-html/images/loading.6e6b1b2e.final.gif
    + +
  • +
  • /gez/ssr-html/images/sun.429a7bc5.final.png
    + +
  • +
+ +
+
+ +
+ + + + + + + diff --git a/ssr-html/manifest.json b/ssr-html/manifest.json new file mode 100644 index 00000000..fc2dec9f --- /dev/null +++ b/ssr-html/manifest.json @@ -0,0 +1,94 @@ +{ + "name": "ssr-html", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.ac6f4d48.final.js", + "./src/title": "./src/title.23ced5f2.final.js" + }, + "buildFiles": [ + "images/logo.310683d2.final.svg", + "chunks/222.75b27a1c.final.css", + "images/cat.ed79ef6b.final.jpeg", + "images/sun.429a7bc5.final.png", + "chunks/473.986c5be2.final.js", + "chunks/473.75b27a1c.final.css", + "src/title.23ced5f2.final.js", + "importmap.js", + "importmap.d63d876e107c.final.js", + "src/entry.client.ac6f4d48.final.js", + "chunks/222.13b8f3f2.final.js", + "images/starry.d914a632.final.jpg", + "chunks/830.5cb2fb4e.final.js", + "chunks/830.75b27a1c.final.css", + "src/entry.client.507f8043.final.css", + "images/loading.6e6b1b2e.final.gif" + ], + "importmapJs": "importmap.d63d876e107c.final.js", + "chunks": { + "ssr-html@src/views/home.ts": { + "js": "chunks/222.13b8f3f2.final.js", + "css": [ + "chunks/222.75b27a1c.final.css" + ], + "resources": [ + "images/cat.ed79ef6b.final.jpeg", + "images/loading.6e6b1b2e.final.gif", + "images/logo.310683d2.final.svg", + "images/starry.d914a632.final.jpg", + "images/sun.429a7bc5.final.png" + ], + "sizes": { + "js": 4077, + "css": 30, + "resource": 187219 + } + }, + "ssr-html@src/title.ts": { + "js": "./src/title.23ced5f2.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 90, + "css": 0, + "resource": 0 + } + }, + "ssr-html@src/views/about.ts": { + "js": "chunks/473.986c5be2.final.js", + "css": [ + "chunks/473.75b27a1c.final.css" + ], + "resources": [], + "sizes": { + "js": 2527, + "css": 30, + "resource": 0 + } + }, + "ssr-html@src/views/not-found.ts": { + "js": "chunks/830.5cb2fb4e.final.js", + "css": [ + "chunks/830.75b27a1c.final.css" + ], + "resources": [], + "sizes": { + "js": 2212, + "css": 30, + "resource": 0 + } + }, + "ssr-html@src/entry.client.ts": { + "js": "./src/entry.client.ac6f4d48.final.js", + "css": [ + "./src/entry.client.507f8043.final.css" + ], + "resources": [], + "sizes": { + "js": 9788, + "css": 44, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-html/src/entry.client.507f8043.final.css b/ssr-html/src/entry.client.507f8043.final.css new file mode 100644 index 00000000..600e2b33 --- /dev/null +++ b/ssr-html/src/entry.client.507f8043.final.css @@ -0,0 +1 @@ +html,body{margin:0;padding:0} \ No newline at end of file diff --git a/ssr-html/src/entry.client.ac6f4d48.final.js b/ssr-html/src/entry.client.ac6f4d48.final.js new file mode 100644 index 00000000..31b26a8c --- /dev/null +++ b/ssr-html/src/entry.client.ac6f4d48.final.js @@ -0,0 +1 @@ +import*as e from"ssr-html/src/title";var t,r,n,o,i,a,u,c={612:function(e,t,r){e.exports={}},944:function(t){t.exports=e}},s={};function f(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return c[e](r,r.exports,f),r.exports}async function l(e){let t=[{path:"/",page:()=>f.e("222").then(f.bind(f,421)).then(e=>e.default)},{path:"/about",page:()=>f.e("473").then(f.bind(f,896)).then(e=>e.default)}].find(t=>t.path===e);return t?t.page():f.e("830").then(f.bind(f,654)).then(e=>e.default)}f.m=c,f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,r){return f.f[r](e,t),t},[]))},f.k=function(e){return"chunks/"+e+"."+({222:"75b27a1c",473:"75b27a1c",830:"75b27a1c"})[e]+".final.css"},f.u=function(e){return"chunks/"+e+"."+({222:"13b8f3f2",473:"986c5be2",830:"5cb2fb4e"})[e]+".final.js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),f.p=e+"../"})(),t={891:0},r="__ssr_html__",n=(e,r)=>{t[r]=0},o="data-webpack-loading",i=function(e,t,n,i,a){var u,c,s="chunk-"+e;if(!i){for(var l=document.getElementsByTagName("link"),d=0;d{let r="ssr-preact-htm",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ff8dc511.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-preact-htm/importmap.js b/ssr-preact-htm/importmap.js new file mode 100644 index 00000000..48f00ed1 --- /dev/null +++ b/ssr-preact-htm/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-preact-htm",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ff8dc511.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-preact-htm/index.html b/ssr-preact-htm/index.html new file mode 100644 index 00000000..577615d2 --- /dev/null +++ b/ssr-preact-htm/index.html @@ -0,0 +1,19 @@ + + + + + + + + Gez + + + +
+

Preact

你好,世界!

+
+ + + + + diff --git a/ssr-preact-htm/manifest.json b/ssr-preact-htm/manifest.json new file mode 100644 index 00000000..de2b8ced --- /dev/null +++ b/ssr-preact-htm/manifest.json @@ -0,0 +1,29 @@ +{ + "name": "ssr-preact-htm", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.ff8dc511.final.js" + }, + "buildFiles": [ + "importmap.js", + "src/entry.client.ff8dc511.final.js", + "src/entry.client.6a268465.final.css", + "importmap.58ec166a7f0f.final.js" + ], + "importmapJs": "importmap.58ec166a7f0f.final.js", + "chunks": { + "ssr-preact-htm@src/entry.client.ts": { + "js": "./src/entry.client.ff8dc511.final.js", + "css": [ + "./src/entry.client.6a268465.final.css" + ], + "resources": [], + "sizes": { + "js": 14607, + "css": 39, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-preact-htm/src/entry.client.6a268465.final.css b/ssr-preact-htm/src/entry.client.6a268465.final.css new file mode 100644 index 00000000..b590c4fe --- /dev/null +++ b/ssr-preact-htm/src/entry.client.6a268465.final.css @@ -0,0 +1 @@ +body{margin:0;padding:0} \ No newline at end of file diff --git a/ssr-preact-htm/src/entry.client.ff8dc511.final.js b/ssr-preact-htm/src/entry.client.ff8dc511.final.js new file mode 100644 index 00000000..51198d6e --- /dev/null +++ b/ssr-preact-htm/src/entry.client.ff8dc511.final.js @@ -0,0 +1,4 @@ +var e={142:function(e,t,n){e.exports={}}},t={};function n(_){var r=t[_];if(void 0!==r)return r.exports;var o=t[_]={exports:{}};return e[_](o,o.exports,n),o.exports}n.m=e,n.k=function(e){return""+e+".css"},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e+"../"})();var _,r,o,l,u,i,s,p,f,c,a={},h=[],d=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,v=Array.isArray;function y(e,t){for(var n in t)e[n]=t[n];return e}function g(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function m(e,t,n){var r,o,l,u={};for(l in t)"key"==l?r=t[l]:"ref"==l?o=t[l]:u[l]=t[l];if(arguments.length>2&&(u.children=arguments.length>3?_.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(l in e.defaultProps)void 0===u[l]&&(u[l]=e.defaultProps[l]);return b(e,u,r,o,null)}function b(e,t,n,_,l){var u={type:e,props:t,key:n,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==l?++o:l,__i:-1,__u:0};return null==l&&null!=r.vnode&&r.vnode(u),u}function k(e){return e.children}function w(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__i+1):null;for(var n;tt&&l.sort(s));P.__r=0}function T(e,t,n,_,o,l,u,i,s,p,f){var c,d,y,m,w,S=_&&_.__k||h,P=t.length;for(n.__d=s,function(e,t,n){var _,o,l,u,i,s=t.length,p=n.length,f=p,c=0;for(e.__k=[],_=0;_0?b(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=e,o.__b=e.__b+1,l=null,-1!==(i=o.__i=function(e,t,n,_){var r=e.key,o=e.type,l=n-1,u=n+1,i=t[n];if(null===i||i&&r==i.key&&o===i.type&&0==(131072&i.__u))return n;if(_>(null!=i&&0==(131072&i.__u)?1:0))for(;l>=0||u=0){if((i=t[l])&&0==(131072&i.__u)&&r==i.key&&o===i.type)return l;l--}if(uu?c--:c++,o.__u|=65536))):o=e.__k[_]=null;if(f)for(_=0;_=5&&((r||!e&&5===_)&&(l.push(_,0,r,n),_=6),e&&(l.push(_,e,0,n),_=6)),r=""},i=0;i"===t?(_=1,r=""):r=t+r[0]:o?t===o?o="":r+=t:'"'===t||"'"===t?o=t:">"===t?(u(),_=1):_&&("="===t?(_=5,n=r,r=""):"/"===t&&(_<5||">"===e[i][s+1])?(u(),3===_&&(l=l[0]),_=l,(l=l[0]).push(2,0,_),_=0):" "===t||" "===t||"\n"===t||"\r"===t?(u(),_=2):r+=t),3===_&&"!--"===r&&(_=4,l=l[0])}return u(),l}(e)),t),arguments,[])).length>1?t:t[0]}).bind(m);!function e(t,n){var o,l,u,i,s,p,f;o=t,l=n,u=e,r.__&&r.__(o,l),s=(i="function"==typeof u)?null:u&&u.__k||l.__k,p=[],f=[],D(l,o=(!i&&u||l).__k=m(k,null,[o]),s||a,a,l.namespaceURI,!i&&u?[u]:s?null:l.firstChild?_.call(l.childNodes):null,p,!i&&u?u:s?s.__e:l.firstChild,i,f),E(p,o,f)}(O`
+

Preact

+

你好,世界!

+
`,document.getElementById("app")); \ No newline at end of file diff --git a/ssr-vue2-host/chunks/928.2d8d4f4e.final.css b/ssr-vue2-host/chunks/928.2d8d4f4e.final.css new file mode 100644 index 00000000..07ce684c --- /dev/null +++ b/ssr-vue2-host/chunks/928.2d8d4f4e.final.css @@ -0,0 +1 @@ +button[data-v-c46f67c8]{border-radius:5px;margin:0;padding:5px 10px}.tip[data-v-cbbd7a84]{background:#efe;margin:0;padding:10px}div,body,html,h2{margin:0;padding:0} \ No newline at end of file diff --git a/ssr-vue2-host/chunks/928.ae626653.final.js b/ssr-vue2-host/chunks/928.ae626653.final.js new file mode 100644 index 00000000..72f9d189 --- /dev/null +++ b/ssr-vue2-host/chunks/928.ae626653.final.js @@ -0,0 +1 @@ +export const ids=["928"];export const modules={496:function(t,e,n){t.exports={}},48:function(t,e,n){t.exports={}},265:function(t,e,n){t.exports={}},965:function(t,e,n){n.r(t.exports={})},432:function(t,e,n){n.r(t.exports={})},190:function(t,e,n){n.r(t.exports={})},653:function(t,e,n){n.r(e),n.d(e,{default:()=>u});var o=n("946"),s=n("725"),r=n("527");function i(t,e,n,o,s,r,i,a){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),o&&(u.functional=!0),r&&(u._scopeId="data-v-"+r),i?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&"undefined"!=typeof __VUE_SSR_CONTEXT__&&(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=l):s&&(l=a?function(){s.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:s),l){if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var _=u.beforeCreate;u.beforeCreate=_?[].concat(_,l):[l]}}return{exports:t,options:u}}n("265");let a=i({},function(){return(0,this._self._c)("button",[this._v("这是自己服务的组件")])},[],!1,null,"c46f67c8",null).exports,l=(0,o.defineComponent)({__name:"app",setup:t=>({__sfc:!0,GezFooter:s.GezFooter,layout:r.default,Next:a})});n("496"),n("48");let u=i(l,function(){var t=this._self._c,e=this._self._setupProxy;return t("div",{staticClass:"box"},[t(e.layout,[this._v("\n Hello world!\n\n "),t("br"),this._v(" "),t(e.Next),this._v(" "),t("p",{staticClass:"tip"},[this._v("\n 我的 "),t("a",{attrs:{href:"https://github.com/dp-os/gez/blob/master/examples/ssr-vue2-host/src/entry.node.ts",rel:"noopener",target:"_blank"}},[this._v("Vue")]),this._v(" 实例,被指向到了 ssr-vue2-remote/vue\n ")]),this._v(" "),t(e.GezFooter)],1)],1)},[],!1,null,"cbbd7a84",null).exports}}; \ No newline at end of file diff --git a/ssr-vue2-host/importmap.953e1ca4cc2a.final.js b/ssr-vue2-host/importmap.953e1ca4cc2a.final.js new file mode 100644 index 00000000..24720104 --- /dev/null +++ b/ssr-vue2-host/importmap.953e1ca4cc2a.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue2-host",s="__importmap__",e=t[s]=t[s]||{},i=e.imports=e.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+r+"/"),c=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.1c12a2c2.final.js"}).forEach(([t,r])=>{i[c(t)]=n[0]+"/"+c(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-host/importmap.js b/ssr-vue2-host/importmap.js new file mode 100644 index 00000000..24720104 --- /dev/null +++ b/ssr-vue2-host/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue2-host",s="__importmap__",e=t[s]=t[s]||{},i=e.imports=e.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+r+"/"),c=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.1c12a2c2.final.js"}).forEach(([t,r])=>{i[c(t)]=n[0]+"/"+c(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-host/index.html b/ssr-vue2-host/index.html new file mode 100644 index 00000000..ada75c3f --- /dev/null +++ b/ssr-vue2-host/index.html @@ -0,0 +1,26 @@ + + + + + + + + Gez + + + +
+ 我是一个来自于 ssr-vue2-remote 服务的组件。 +
+ Hello world! + +

+ 我的 Vue 实例,被指向到了 ssr-vue2-remote/vue +


+ 这是底部的组件,来自于 @gez/vue-ui +
+ + + + + diff --git a/ssr-vue2-host/manifest.json b/ssr-vue2-host/manifest.json new file mode 100644 index 00000000..c358d280 --- /dev/null +++ b/ssr-vue2-host/manifest.json @@ -0,0 +1,40 @@ +{ + "name": "ssr-vue2-host", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.1c12a2c2.final.js" + }, + "buildFiles": [ + "chunks/928.ae626653.final.js", + "chunks/928.2d8d4f4e.final.css", + "importmap.js", + "importmap.953e1ca4cc2a.final.js", + "src/entry.client.1c12a2c2.final.js" + ], + "importmapJs": "importmap.953e1ca4cc2a.final.js", + "chunks": { + "ssr-vue2-host@src/entry.client.ts": { + "js": "./src/entry.client.1c12a2c2.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 9136, + "css": 0, + "resource": 0 + } + }, + "ssr-vue2-host@src/app.vue": { + "js": "chunks/928.ae626653.final.js", + "css": [ + "chunks/928.2d8d4f4e.final.css" + ], + "resources": [], + "sizes": { + "js": 8252, + "css": 2809, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue2-host/src/entry.client.1c12a2c2.final.js b/ssr-vue2-host/src/entry.client.1c12a2c2.final.js new file mode 100644 index 00000000..71265644 --- /dev/null +++ b/ssr-vue2-host/src/entry.client.1c12a2c2.final.js @@ -0,0 +1 @@ +import*as e from"ssr-vue2-remote/npm/@gez/vue-ui";import*as t from"ssr-vue2-remote/npm/vue";import*as r from"ssr-vue2-remote/src/components/layout.vue";var o,n,i,u,a,s,f,c={725:function(t){t.exports=e},946:function(e){e.exports=t},527:function(e){e.exports=r}},l={};function p(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return c[e](r,r.exports,p),r.exports}p.m=c,p.d=function(e,t){for(var r in t)p.o(t,r)&&!p.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},p.f={},p.e=function(e){return Promise.all(Object.keys(p.f).reduce(function(t,r){return p.f[r](e,t),t},[]))},p.k=function(e){return"chunks/"+e+".2d8d4f4e.final.css"},p.u=function(e){return"chunks/"+e+".ae626653.final.js"},p.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),p.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),p.p=e+"../"})(),o={},n="__ssr_vue__host__",i=(e,t)=>{o[t]=0},u="data-webpack-loading",a=function(e,t,r,o,i){var a,s,f="chunk-"+e;if(!o){for(var c=document.getElementsByTagName("link"),l=0;lp.e("928").then(p.bind(p,653)));({app:new d.default({render:e=>e(m)})}).app.$mount('[data-server-rendered="true"]'); \ No newline at end of file diff --git a/ssr-vue2-remote/chunks/891.0f6d9ec8.final.js b/ssr-vue2-remote/chunks/891.0f6d9ec8.final.js new file mode 100644 index 00000000..c5716738 --- /dev/null +++ b/ssr-vue2-remote/chunks/891.0f6d9ec8.final.js @@ -0,0 +1 @@ +export const ids=["891"];export const modules={69:function(t,e,n){t.exports=n.p+"images/logo.310683d2.final.svg"},539:function(t,e,n){t.exports={}},246:function(t,e,n){t.exports={}},618:function(t,e,n){n.r(t.exports={})},711:function(t,e,n){n.r(t.exports={})},920:function(t,e,n){n.r(e),n.d(e,{default:()=>_});var o=n("946"),s=n("725"),r=n("527");let i=(0,o.defineComponent)({__name:"logo",props:{width:null,height:null},setup:t=>({__sfc:!0})});function l(t,e,n,o,s,r,i,l){var a,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),o&&(u.functional=!0),r&&(u._scopeId="data-v-"+r),i?(a=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&"undefined"!=typeof __VUE_SSR_CONTEXT__&&(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=a):s&&(a=l?function(){s.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:s),a){if(u.functional){u._injectStyles=a;var _=u.render;u.render=function(t,e){return a.call(e),_(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,a):[a]}}return{exports:t,options:u}}n("246");let a=l(i,function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"logo"},[t("img",{attrs:{width:this.width,height:this.height,src:n(69)}})])},[],!1,null,"0e165eca",null).exports,u=(0,o.defineComponent)({__name:"app",setup(t){let e=(0,o.ref)(new Date().toISOString());return(0,o.onMounted)(()=>{let t=setInterval(()=>{e.value=new Date().toISOString()},1e3);(0,o.onBeforeUnmount)(()=>{clearInterval(t)})}),{__sfc:!0,time:e,GezFooter:s.GezFooter,layout:r.default,Logo:a}}});n("539");let _=l(u,function(){var t=this._self._c,e=this._self._setupProxy;return t(e.layout,[t(e.Logo,{attrs:{width:120,height:60}}),this._v(" "),t("p",[this._v("\n Time: "+this._s(e.time)+"\n ")]),this._v(" "),t(e.GezFooter)],1)},[],!1,null,null,null).exports}}; \ No newline at end of file diff --git a/ssr-vue2-remote/chunks/891.a2d38135.final.css b/ssr-vue2-remote/chunks/891.a2d38135.final.css new file mode 100644 index 00000000..bd005394 --- /dev/null +++ b/ssr-vue2-remote/chunks/891.a2d38135.final.css @@ -0,0 +1 @@ +.logo[data-v-0e165eca]{border:1px solid red;padding:5px}div,body,html,h2{margin:0;padding:0} \ No newline at end of file diff --git a/ssr-vue2-remote/images/logo.310683d2.final.svg b/ssr-vue2-remote/images/logo.310683d2.final.svg new file mode 100644 index 00000000..fef098a6 --- /dev/null +++ b/ssr-vue2-remote/images/logo.310683d2.final.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-vue2-remote/importmap.2a561666603f.final.js b/ssr-vue2-remote/importmap.2a561666603f.final.js new file mode 100644 index 00000000..8bb81966 --- /dev/null +++ b/ssr-vue2-remote/importmap.2a561666603f.final.js @@ -0,0 +1 @@ +(e=>{let n="ssr-vue2-remote",t="__importmap__",s=e[t]=e[t]||{},r=s.imports=s.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+n+"/"),i=e=>n+e.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.7321a693.final.js","./src/components/layout.vue":"./src/components/layout.vue.7bfaccd5.final.js","./npm/vue":"./npm/vue.905c1643.final.js","./npm/@gez/vue-ui":"./npm/@gez/vue-ui.cfe1c119.final.js"}).forEach(([e,n])=>{r[i(e)]=c[0]+"/"+i(n)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-remote/importmap.js b/ssr-vue2-remote/importmap.js new file mode 100644 index 00000000..8bb81966 --- /dev/null +++ b/ssr-vue2-remote/importmap.js @@ -0,0 +1 @@ +(e=>{let n="ssr-vue2-remote",t="__importmap__",s=e[t]=e[t]||{},r=s.imports=s.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+n+"/"),i=e=>n+e.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.7321a693.final.js","./src/components/layout.vue":"./src/components/layout.vue.7bfaccd5.final.js","./npm/vue":"./npm/vue.905c1643.final.js","./npm/@gez/vue-ui":"./npm/@gez/vue-ui.cfe1c119.final.js"}).forEach(([e,n])=>{r[i(e)]=c[0]+"/"+i(n)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-remote/index.html b/ssr-vue2-remote/index.html new file mode 100644 index 00000000..dc5c00ad --- /dev/null +++ b/ssr-vue2-remote/index.html @@ -0,0 +1,23 @@ + + + + + + + + Gez + + + +
+ 我是一个来自于 ssr-vue2-remote 服务的组件。 +

+ Time: 2024-12-09T02:00:36.403Z +


+ 这是底部的组件,来自于 @gez/vue-ui +
+ + + + + diff --git a/ssr-vue2-remote/manifest.json b/ssr-vue2-remote/manifest.json new file mode 100644 index 00000000..7cbb38e7 --- /dev/null +++ b/ssr-vue2-remote/manifest.json @@ -0,0 +1,85 @@ +{ + "name": "ssr-vue2-remote", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.7321a693.final.js", + "./src/components/layout.vue": "./src/components/layout.vue.7bfaccd5.final.js", + "./npm/vue": "./npm/vue.905c1643.final.js", + "./npm/@gez/vue-ui": "./npm/@gez/vue-ui.cfe1c119.final.js" + }, + "buildFiles": [ + "images/logo.310683d2.final.svg", + "importmap.2a561666603f.final.js", + "src/entry.client.7321a693.final.js", + "npm/vue.905c1643.final.js", + "src/entry.client.026c3f43.final.css", + "npm/@gez/vue-ui.cfe1c119.final.js", + "chunks/891.0f6d9ec8.final.js", + "src/components/layout.vue.ac3071c0.final.css", + "chunks/891.a2d38135.final.css", + "importmap.js", + "src/components/layout.vue.7bfaccd5.final.js" + ], + "importmapJs": "importmap.2a561666603f.final.js", + "chunks": { + "ssr-vue2-remote@src/entry.client.ts": { + "js": "./src/entry.client.7321a693.final.js", + "css": [ + "./src/entry.client.026c3f43.final.css" + ], + "resources": [], + "sizes": { + "js": 9243, + "css": 63, + "resource": 0 + } + }, + "ssr-vue2-remote@src/components/layout.vue": { + "js": "./src/components/layout.vue.7bfaccd5.final.js", + "css": [ + "./src/components/layout.vue.ac3071c0.final.css" + ], + "resources": [], + "sizes": { + "js": 8315, + "css": 1368, + "resource": 0 + } + }, + "ssr-vue2-remote@../vue-ui/src/index.ts": { + "js": "./npm/@gez/vue-ui.cfe1c119.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 5330, + "css": 0, + "resource": 0 + } + }, + "ssr-vue2-remote@src/app.vue": { + "js": "chunks/891.0f6d9ec8.final.js", + "css": [ + "chunks/891.a2d38135.final.css" + ], + "resources": [ + "images/logo.310683d2.final.svg" + ], + "sizes": { + "js": 10189, + "css": 1855, + "resource": 188 + } + }, + "ssr-vue2-remote@../../node_modules/.pnpm/vue@2.7.16/node_modules/vue/dist/vue.esm.js": { + "js": "./npm/vue.905c1643.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 419337, + "css": 0, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue2-remote/npm/@gez/vue-ui.cfe1c119.final.js b/ssr-vue2-remote/npm/@gez/vue-ui.cfe1c119.final.js new file mode 100644 index 00000000..1a04d162 --- /dev/null +++ b/ssr-vue2-remote/npm/@gez/vue-ui.cfe1c119.final.js @@ -0,0 +1 @@ +import*as e from"ssr-vue2-remote/npm/vue";let t=(0,e.defineComponent)({name:"vue-footer"}),n=function(e,t,n,r,o,s,i,f){var u,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(u=o),u){if(l.functional){l._injectStyles=u;var c=l.render;l.render=function(e,t){return u.call(t),c(e,t)}}else{var a=l.beforeCreate;l.beforeCreate=a?[].concat(a,u):[u]}}return{exports:e,options:l}}(t,function(){return this._self._c,this._self._setupProxy,this._m(0)},[function(){var e=this._self._c;return this._self._setupProxy,e("footer",[e("hr"),this._v("\n 这是底部的组件,来自于 @gez/vue-ui\n")])}],!1,null,null,null).exports;export{n as GezFooter}; \ No newline at end of file diff --git a/ssr-vue2-remote/npm/vue.905c1643.final.js b/ssr-vue2-remote/npm/vue.905c1643.final.js new file mode 100644 index 00000000..87440bd6 --- /dev/null +++ b/ssr-vue2-remote/npm/vue.905c1643.final.js @@ -0,0 +1 @@ +var t,e,n,r,o,i,a,s,c,u,l,f,p,d,v,h,m,g,y,_,b,$,w,x,C,k,S,O,T,A,j,E,N,P,D={};D.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}();var M=Object.freeze({}),I=Array.isArray;function L(t){return null==t}function R(t){return null!=t}function F(t){return!0===t}function H(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function B(t){return"function"==typeof t}function U(t){return null!==t&&"object"==typeof t}var z=Object.prototype.toString;function V(t){return"[object Object]"===z.call(t)}function K(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function J(t){return R(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function q(t){return null==t?"":Array.isArray(t)||V(t)&&t.toString===z?JSON.stringify(t,W,2):String(t)}function W(t,e){return e&&e.__v_isRef?e.value:e}function Z(t){var e=parseFloat(t);return isNaN(e)?t:e}function G(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var tt=Object.prototype.hasOwnProperty;function te(t,e){return tt.call(t,e)}function tn(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var tr=/-(\w)/g,to=tn(function(t){return t.replace(tr,function(t,e){return e?e.toUpperCase():""})}),ti=tn(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),ta=/\B([A-Z])/g,ts=tn(function(t){return t.replace(ta,"-$1").toLowerCase()}),tc=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function tu(t,e){e=e||0;for(var n=t.length-e,r=Array(n);n--;)r[n]=t[n+e];return r}function tl(t,e){for(var n in e)t[n]=e[n];return t}function tf(t){for(var e={},n=0;n0,tN=tA&&tA.indexOf("edge/")>0;tA&&tA.indexOf("android");var tP=tA&&/iphone|ipad|ipod|ios/.test(tA);tA&&/chrome\/\d+/.test(tA),tA&&/phantomjs/.test(tA);var tD=tA&&tA.match(/firefox\/(\d+)/),tM={}.watch,tI=!1;if(tT)try{var tL={};Object.defineProperty(tL,"passive",{get:function(){tI=!0}}),window.addEventListener("test-passive",null,tL)}catch(t){}var tR=function(){return void 0===c&&(c=!tT&&void 0!==D.g&&D.g.process&&"server"===D.g.process.env.VUE_ENV),c},tF=tT&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function tH(t){return"function"==typeof t&&/native code/.test(t.toString())}var tB="undefined"!=typeof Symbol&&tH(Symbol)&&"undefined"!=typeof Reflect&&tH(Reflect.ownKeys);u="undefined"!=typeof Set&&tH(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var tU=null;function tz(){return tU&&{proxy:tU}}function tV(t){void 0===t&&(t=null),!t&&tU&&tU._scope.off(),tU=t,t&&t._scope.on()}var tK=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),tJ=function(t){void 0===t&&(t="");var e=new tK;return e.text=t,e.isComment=!0,e};function tq(t){return new tK(void 0,void 0,void 0,String(t))}function tW(t){var e=new tK(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}"function"==typeof SuppressedError&&SuppressedError;var tZ=0,tG=[],tX=function(){for(var t=0;t0&&(eM((o=t(o,"".concat(n||"","_").concat(r)))[0])&&eM(a)&&(s[i]=tq(a.text+o[0].text),o.shift()),s.push.apply(s,o)):H(o)?eM(a)?s[i]=tq(a.text+o):""!==o&&s.push(tq(o)):eM(o)&&eM(a)?s[i]=tq(a.text+o.text):(F(e._isVList)&&R(o.tag)&&L(o.key)&&R(n)&&(o.key="__vlist".concat(n,"_").concat(r,"__")),s.push(o)));return s}(t):void 0}function eM(t){return R(t)&&R(t.text)&&!1===t.isComment}function eI(t,e,n,r,o,i){return(I(n)||H(n))&&(o=r,r=n,n=void 0),F(i)&&(o=2),function(t,e,n,r,o){if(R(n)&&R(n.__ob__))return tJ();if(R(n)&&R(n.is)&&(e=n.is),!e)return tJ();if(I(r)&&B(r[0])&&((n=n||{}).scopedSlots={default:r[0]},r.length=0),2===o?r=eD(r):1===o&&(r=function(t){for(var e=0;e0,a=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;else if(a&&r&&r!==M&&s===r.$key&&!i&&!r.$hasNormal)return r;else for(var c in o={},e)e[c]&&"$"!==c[0]&&(o[c]=function(t,e,n,r){var o=function(){var e=tU;tV(t);var n=arguments.length?r.apply(null,arguments):r({}),o=(n=n&&"object"==typeof n&&!I(n)?[n]:eD(n))&&n[0];return tV(e),n&&(!o||1===n.length&&o.isComment&&!eQ(o))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:o,enumerable:!0,configurable:!0}),o}(t,n,c,e[c]))}else o={};for(var u in n)!(u in o)&&(o[u]=function(t,e){return function(){return t[e]}}(n,u));return e&&Object.isExtensible(e)&&(e._normalized=o),tk(o,"$stable",a),tk(o,"$key",s),tk(o,"$hasNormal",i),o}function e1(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};tk(e,"_v_attr_proxy",!0),e2(e,t.$attrs,M,t,"$attrs")}return t._attrsProxy},get listeners(){return!t._listenersProxy&&e2(t._listenersProxy={},t.$listeners,M,t,"$listeners"),t._listenersProxy},get slots(){return function(t){return!t._slotsProxy&&e3(t._slotsProxy={},t.$scopedSlots),t._slotsProxy}(t)},emit:tc(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach(function(n){return e$(t,e,n)})}}}function e2(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,function(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}(t,a,r,o));for(var a in t)!(a in e)&&(i=!0,delete t[a]);return i}function e3(t,e){for(var n in e)t[n]=e[n];for(var n in t)!(n in e)&&delete t[n]}function e9(){return e7().slots}function e4(){return e7().attrs}function e6(){return e7().listeners}function e7(){var t=tU;return t._setupContext||(t._setupContext=e1(t))}function e5(t,e){var n=I(t)?t.reduce(function(t,e){return t[e]={},t},{}):t;for(var r in e){var o=n[r];o?I(o)||B(o)?n[r]={type:o,default:e[r]}:o.default=e[r]:null===o&&(n[r]={default:e[r]})}return n}var e8=null;function nt(t,e){return(t.__esModule||tB&&"Module"===t[Symbol.toStringTag])&&(t=t.default),U(t)?e.extend(t):t}function ne(t){if(I(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(nw=function(){return nx.now()})}var nC=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return -1;return t.id-e.id};function nk(){for(n$=nw(),n_=!0,nh.sort(nC),nb=0;nbnb&&nh[n].id>t.id;)n--;nh.splice(n+1,0,t)}else nh.push(t);if(!ny){ny=!0;nQ(nk)}}}var nO="watcher",nT="".concat(nO," callback"),nA="".concat(nO," getter"),nj="".concat(nO," cleanup");function nE(t,e){return nI(t,null,e)}function nN(t,e){return nI(t,null,{flush:"post"})}function nP(t,e){return nI(t,null,{flush:"sync"})}var nD={};function nM(t,e,n){return nI(t,e,n)}function nI(t,e,n){var r,o,i=void 0===n?M:n,a=i.immediate,s=i.deep,c=i.flush,u=void 0===c?"pre":c;i.onTrack,i.onTrigger;var l=tU,f=function(t,e,n){void 0===n&&(n=null);var r=nU(t,null,n,l,e);return s&&r&&r.__ob__&&r.__ob__.dep.depend(),r},p=!1,d=!1;if(ev(t)?(r=function(){return t.value},p=ec(t)):es(t)?(r=function(){return t.__ob__.dep.depend(),t},s=!0):I(t)?(d=!0,p=t.some(function(t){return es(t)||ec(t)}),r=function(){return t.map(function(t){if(ev(t))return t.value;if(es(t))return t.__ob__.dep.depend(),rl(t);if(B(t))return f(t,nA)})}):r=B(t)?e?function(){return f(t,nA)}:function(){if(!l||!l._isDestroyed)return o&&o(),f(t,nO,[h])}:tp,e&&s){var v=r;r=function(){return rl(v())}}var h=function(t){o=m.onStop=function(){f(t,nj)}};if(tR())return h=tp,e?a&&f(e,nT,[r(),d?[]:void 0,h]):r(),tp;var m=new rp(tU,r,tp,{lazy:!0});m.noRecurse=!e;var g=d?[]:nD;return m.run=function(){if(!!m.active)if(e){var t=m.get();(s||p||(d?t.some(function(t,e){return ty(t,g[e])}):ty(t,g)))&&(o&&o(),f(e,nT,[t,g===nD?void 0:g,h]),g=t)}else m.get()},"sync"===u?m.update=m.run:"post"===u?(m.post=!0,m.update=function(){return nS(m)}):m.update=function(){if(l&&l===tU&&!l._isMounted){var t=l._preWatchers||(l._preWatchers=[]);0>t.indexOf(m)&&t.push(m)}else nS(m)},e?a?m.run():g=m.get():"post"===u&&l?l.$once("hook:mounted",function(){return m.get()}):m.get(),function(){m.teardown()}}function nL(t,e){if(tU)nR(tU)[t]=e}function nR(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function nF(t,e,n){void 0===n&&(n=!1);var r=tU;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&B(e)?e.call(r):e}}function nH(t,e,n){return eI(tU,t,e,n,2,!0)}function nB(t,e,n){t0();try{if(e){for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i-1){if(i&&!te(o,"default"))a=!1;else if(""===a||a===ts(t)){var c=rU(String,o.type);(c<0||s1?tu(e):e;for(var n=tu(arguments,1),r='event handler for "'.concat(t,'"'),o=0,i=e.length;o-1;if("string"==typeof t)return t.split(",").indexOf(e)>-1;if(n=t,"[object RegExp]"===z.call(n))return t.test(e);return!1}function rJ(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&rq(n,a,r,o)}}i.componentOptions.children=void 0}function rq(t,e,n,r){var o=t[e];o&&(!r||o.tag!==r.tag)&&o.componentInstance.$destroy(),t[e]=null,Q(n,e)}var rW=[String,RegExp,Array],rZ={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:rW,exclude:rW,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,n=this.vnodeToCache,r=this.keyToCache;if(n){var o=n.tag,i=n.componentInstance,a=n.componentOptions;t[r]={name:rV(a),tag:o,componentInstance:i},e.push(r),this.max&&e.length>parseInt(this.max)&&rq(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)rq(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",function(e){rJ(t,function(t){return rK(e,t)})}),this.$watch("exclude",function(e){rJ(t,function(t){return!rK(e,t)})})},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=ne(t),n=e&&e.componentOptions;if(n){var r=rV(n),o=this.include,i=this.exclude;if(o&&(!r||!rK(o,r))||i&&r&&rK(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,Q(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e,n,r,o={};o.get=function(){return tw};Object.defineProperty(t,"config",o),t.util={warn:tp,extend:tl,mergeOptions:rI,defineReactive:ee},t.set=en,t.delete=er,t.nextTick=nQ,t.observable=function(t){return et(t),t},t.options=Object.create(null),tb.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,tl(t.options.components,rZ),t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=tu(arguments,1);return n.unshift(this),B(t.install)?t.install.apply(t,n):B(t)&&t.apply(null,n),e.push(t),this},t.mixin=function(t){return this.options=rI(this.options,t),this},(e=t).cid=0,n=1,e.extend=function(t){t=t||{};var e=this,r=e.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=rS(t)||rS(e.options),a=function(t){this._init(t)};return a.prototype=Object.create(e.prototype),a.prototype.constructor=a,a.cid=n++,a.options=rI(e.options,t),a.super=e,a.options.props&&function(t){var e=t.options.props;for(var n in e)rv(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)rm(t.prototype,n,e[n])}(a),a.extend=e.extend,a.mixin=e.mixin,a.use=e.use,tb.forEach(function(t){a[t]=e[t]}),i&&(a.options.components[i]=a),a.superOptions=e.options,a.extendOptions=t,a.sealedOptions=tl({},a.options),o[r]=a,a},r=t,tb.forEach(function(t){r[t]=function(e,n){return n?("component"===t&&V(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&B(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(rz),Object.defineProperty(rz.prototype,"$isServer",{get:tR}),Object.defineProperty(rz.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(rz,"FunctionalRenderContext",{value:rx}),rz.version=rs;var rG=G("style,class"),rX=G("input,textarea,option,select,progress"),rY=function(t,e,n){return"value"===n&&rX(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},rQ=G("contenteditable,draggable,spellcheck"),r0=G("events,caret,typing,plaintext-only"),r1=G("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),r2="http://www.w3.org/1999/xlink",r3=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},r9=function(t){return r3(t)?t.slice(6,t.length):""},r4=function(t){return null==t||!1===t};function r6(t,e){return{staticClass:r7(t.staticClass,e.staticClass),class:R(t.class)?[t.class,e.class]:e.class}}function r7(t,e){return t?e?t+" "+e:t:e||""}function r5(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1)ob(t,e,n);else if(r1(e))r4(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n));else if(rQ(e)){var o,i;t.setAttribute(e,(o=e,r4(i=n)||"false"===i?"false":"contenteditable"===o&&r0(i)?i:"true"))}else r3(e)?r4(n)?t.removeAttributeNS(r2,r9(e)):t.setAttributeNS(r2,e,n):ob(t,e,n)}function ob(t,e,n){if(r4(n))t.removeAttribute(e);else{if(tj&&!tE&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}function o$(t,e){var n=e.elm,r=e.data,o=t.data;if(!(L(r.staticClass)&&L(r.class)&&(L(o)||L(o.staticClass)&&L(o.class)))){var i=function(t){for(var e=t.data,n=t,r=t;R(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=r6(r.data,e));for(;R(n=n.parent);)n&&n.data&&(e=r6(e,n.data));return function(t,e){return R(t)||R(e)?r7(t,r5(e)):""}(e.staticClass,e.class)}(e),a=n._transitionClasses;R(a)&&(i=r7(i,r5(a))),i!==n._prevClass&&(n.setAttribute("class",i),n._prevClass=i)}}var ow=/[\w).+\-_$\]]/;function ox(t){var e,n,r,o,i,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=t.charAt(v));v--);(!h||!ow.test(h))&&(u=!0)}}else void 0===o?(d=r+1,o=t.slice(0,r).trim()):m();function m(){(i||(i=[])).push(t.slice(d,r).trim()),d=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==d&&m(),i)for(r=0;rt.indexOf("[")||t.lastIndexOf("]")-1?{exp:t.slice(0,m),key:'"'+t.slice(m+1)+'"'}:{exp:t,key:null};for(v=t,m=g=y=0;!oR();)oF(h=oL())?oH(h):91===h&&function(t){var e=1;for(g=m;!(m>=d);){if(oF(t=oL())){oH(t);continue}if(91===t&&e++,93===t&&e--,0===e){y=m;break}}}(h);return{exp:t.slice(0,g),key:t.slice(g+1,y)}}(t);return null===n.key?"".concat(t,"=").concat(e):"$set(".concat(n.exp,", ").concat(n.key,", ").concat(e,")")}function oL(){return v.charCodeAt(++m)}function oR(){return m>=d}function oF(t){return 34===t||39===t}function oH(t){for(var e=t;!(m>=d)&&(t=oL())!==e;);}function oB(t,e,n){var r=_;return function o(){var i=e.apply(null,arguments);null!==i&&oV(t,o,n,r)}}var oU=nK&&!(tD&&53>=Number(tD[1]));function oz(t,e,n,r){if(oU){var o=n$,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}_.addEventListener(t,e,tI?{capture:n,passive:r}:n)}function oV(t,e,n,r){(r||_).removeEventListener(t,e._wrapper||e,n)}function oK(t,e){if(!(L(t.data.on)&&L(e.data.on))){var n=e.data.on||{},r=t.data.on||{};_=e.elm||t.elm,!function(t){if(R(t.__r)){var e=tj?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}R(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),eE(n,r,oz,oV,oB,e.context),_=void 0}}function oJ(t,e){if(!(L(t.data.domProps)&&L(e.data.domProps))){var n,r,o=e.elm,i=t.data.domProps||{},a=e.data.domProps||{};for(n in(R(a.__ob__)||F(a._v_attr_proxy))&&(a=e.data.domProps=tl({},a)),i)!(n in a)&&(o[n]="");for(n in a){if(r=a[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===i[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var s=L(r)?"":String(r);(function(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(R(r)){if(r.number)return Z(n)!==Z(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))})(o,s)&&(o.value=s)}else if("innerHTML"===n&&oe(o.tagName)&&L(o.innerHTML)){(b=b||document.createElement("div")).innerHTML="".concat(r,"");for(var c=b.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;c.firstChild;)o.appendChild(c.firstChild)}else if(r!==i[n])try{o[n]=r}catch(t){}}}}var oq=tn(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function oW(t){var e=oZ(t.style);return t.staticStyle?tl(t.staticStyle,e):e}function oZ(t){return Array.isArray(t)?tf(t):"string"==typeof t?oq(t):t}var oG=/^--/,oX=/\s*!important$/,oY=function(t,e,n){if(oG.test(e))t.style.setProperty(e,n);else if(oX.test(n))t.style.setProperty(ts(e),n.replace(oX,""),"important");else{var r=o0(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(o2).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");0>n.indexOf(" "+e+" ")&&t.setAttribute("class",(n+e).trim())}}function o9(t,e){if(!!e&&!!(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(o2).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),!t.classList.length&&t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function o4(t){if(!!t){if("object"==typeof t){var e={};return!1!==t.css&&tl(e,o6(t.name||"v")),tl(e,t),e}if("string"==typeof t)return o6(t)}}var o6=tn(function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}}),o7=tT&&!tE,o5="transition",o8="animation",it="transition",ie="transitionend",ir="animation",io="animationend";o7&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(it="WebkitTransition",ie="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ir="WebkitAnimation",io="webkitAnimationEnd"));var ii=tT?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ia(t){ii(function(){ii(t)})}function is(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);0>n.indexOf(e)&&(n.push(e),o3(t,e))}function ic(t,e){t._transitionClasses&&Q(t._transitionClasses,e),o9(t,e)}function iu(t,e,n){var r=ip(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===o5?ie:io,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=o5,l=a,f=i.length):e===o8?u>0&&(n=o8,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?o5:o8:null)?n===o5?i.length:c.length:0;var p=n===o5&&il.test(r[it+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function id(t,e){for(;t.length1}function i_(t,e){!0!==e.data.show&&ih(e)}var ib=function(t){var e,n,r={},o=t.modules,i=t.nodeOps;for(e=0;ep?v(t,L(n[y+1])?null:n[y+1].elm,n,f,y,r):f>y&&m(e,l,p)}(l,d,h,n,c):R(h)?(R(t.text)&&i.setTextContent(l,""),v(l,null,h,0,h.length-1,n)):R(d)?m(d,0,d.length-1):R(t.text)&&i.setTextContent(l,""):t.text!==e.text&&i.setTextContent(l,e.text),R(p)&&R(u=p.hook)&&R(u=u.postpatch)&&u(t,e)}}function y(t,e,n){if(F(n)&&R(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,o.selected!==r&&(o.selected=r);else if(th(ik(o),i)){t.selectedIndex!==s&&(t.selectedIndex=s);return}!a&&(t.selectedIndex=-1)}}function iC(t,e){return e.every(function(e){return!th(e,t)})}function ik(t){return"_value"in t?t._value:t.value}function iS(t){t.target.composing=!0}function iO(t){t.target.composing&&(t.target.composing=!1,iT(t.target,"input"))}function iT(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function iA(t){return!t.componentInstance||t.data&&t.data.transition?t:iA(t.componentInstance._vnode)}var ij={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function iE(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?iE(ne(e.children)):t}function iN(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[to(r)]=o[r];return e}function iP(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var iD=function(t){return t.tag||eQ(t)},iM=function(t){return"show"===t.name},iI=tl({tag:String,moveClass:String},ij);delete iI.mode;function iL(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function iR(t){t.data.newPos=t.elm.getBoundingClientRect()}function iF(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}rz.config.mustUseProp=rY,rz.config.isReservedTag=on,rz.config.isReservedAttr=rG,rz.config.getTagNamespace=or,rz.config.isUnknownElement=function(t){if(!tT)return!0;if(on(t))return!1;if(null!=oo[t=t.toLowerCase()])return oo[t];var e=document.createElement(t);return t.indexOf("-")>-1?oo[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:oo[t]=/HTMLUnknownElement/.test(e.toString())},tl(rz.options.directives,{model:i$,show:{bind:function(t,e,n){var r=e.value,o=(n=iA(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,ih(n,function(){t.style.display=i})):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=iA(n)).data&&n.data.transition?(n.data.show=!0,r?ih(n,function(){t.style.display=t.__vOriginalDisplay}):im(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){!o&&(t.style.display=t.__vOriginalDisplay)}}}),tl(rz.options.components,{Transition:{name:"transition",props:ij,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(!!n&&!!(n=n.filter(iD)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=iE(o);if(!i)return o;if(this._leaving)return iP(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:H(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=iN(this),c=this._vnode,u=iE(c);if(i.data.directives&&i.data.directives.some(iM)&&(i.data.show=!0),u&&u.data&&(f=i,(p=u).key!==f.key||p.tag!==f.tag)&&!eQ(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var l=u.data.transition=tl({},s);if("out-in"===r)return this._leaving=!0,eN(l,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),iP(t,o);if("in-out"===r){if(eQ(i))return c;var f,p,d,v=function(){d()};eN(s,"afterEnter",v),eN(s,"enterCancelled",v),eN(l,"delayLeave",function(t){d=t})}}return o}}},TransitionGroup:{props:iI,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=nf(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=iN(this),s=0;s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,iq=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,iW="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(tx.source,"]*"),iZ="((?:".concat(iW,"\\:)?").concat(iW,")"),iG=new RegExp("^<".concat(iZ)),iX=/^\s*(\/?)>/,iY=new RegExp("^<\\/".concat(iZ,"[^>]*>")),iQ=/^]+>/i,i0=/^",""":'"',"&":"&"," ":"\n"," ":" ","'":"'"},i4=/&(?:lt|gt|quot|amp|#39);/g,i6=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,i7=G("pre,textarea",!0),i5=function(t,e){return t&&i7(t)&&"\n"===e[0]},i8=/^@|^v-on:/,at=/^v-|^@|^:|^#/,ae=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,an=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ar=/^\(|\)$/g,ao=/^\[.*\]$/,ai=/:(.*)$/,aa=/^:|^\.|^v-bind:/,as=/\.[^.\]]+(?=[^\]]*$)/g,ac=/^v-slot(:|$)|^#/,au=/[\r\n]/,al=/[ \f\t\r\n]+/g,af=tn(function(t){return(w=w||document.createElement("div")).innerHTML=t,w.textContent}),ap="_empty_";function ad(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n-1")+("true"===i?":(".concat(e,")"):":_q(".concat(e,",").concat(i,")"))),oj(t,"change","var $$a=".concat(e,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(i,"):(").concat(a,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(r?"_n("+o+")":o,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(oI(e,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(oI(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(oI(e,"$$c"),"}"),null,!0)})(t,r,o);else if("input"===i&&"radio"===a)(function(t,e,n){var r=n&&n.number,o=oE(t,"value")||"null";o=r?"_n(".concat(o,")"):o,oS(t,"checked","_q(".concat(e,",").concat(o,")")),oj(t,"change",oI(e,o),null,!0)})(t,r,o);else if("input"===i||"textarea"===i)(function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c="$event.target.value";s&&(c="$event.target.value.trim()"),a&&(c="_n(".concat(c,")"));var u=oI(e,c);!i&&"range"!==r&&(u="if($event.target.composing)return;".concat(u)),oS(t,"value","(".concat(e,")")),oj(t,i?"change":"range"===r?"__r":"input",u,null,!0),(s||a)&&oj(t,"blur","$forceUpdate()")})(t,r,o);else if(!tw.isReservedTag(i))return oM(t,r,o),!1;return!0},text:function(t,e){e.value&&oS(t,"textContent","_s(".concat(e.value,")"),e)},html:function(t,e){e.value&&oS(t,"innerHTML","_s(".concat(e.value,")"),e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:iz,mustUseProp:rY,canBeLeftOpenTag:iV,isReservedTag:on,getTagNamespace:or,staticKeys:a$.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")},ax=tn(function(t){return G("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}),aC=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,ak=/\([^)]*?\);*$/,aS=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,aO={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},aT={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},aA=function(t){return"if(".concat(t,")return null;")},aj={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:aA("$event.target !== $event.currentTarget"),ctrl:aA("!$event.ctrlKey"),shift:aA("!$event.shiftKey"),alt:aA("!$event.altKey"),meta:aA("!$event.metaKey"),left:aA("'button' in $event && $event.button !== 0"),middle:aA("'button' in $event && $event.button !== 1"),right:aA("'button' in $event && $event.button !== 2")};function aE(t,e){var n=e?"nativeOn:":"on:",r="",o="";for(var i in t){var a=function t(e){if(!e)return"function(){}";if(Array.isArray(e))return"[".concat(e.map(function(e){return t(e)}).join(","),"]");var n=aS.test(e.value),r=aC.test(e.value),o=aS.test(e.value.replace(ak,""));if(e.modifiers){var i="",a="",s=[];for(var c in e.modifiers)!function(t){if(aj[t])a+=aj[t],aO[t]&&s.push(t);else if("exact"===t){var n=e.modifiers;a+=aA(["ctrl","shift","alt","meta"].filter(function(t){return!n[t]}).map(function(t){return"$event.".concat(t,"Key")}).join("||"))}else s.push(t)}(c);s.length&&(i+=function(t){return"if(!$event.type.indexOf('key')&&"+"".concat(t.map(aN).join("&&"),")return null;")}(s)),a&&(i+=a);var u=n?"return ".concat(e.value,".apply(null, arguments)"):r?"return (".concat(e.value,").apply(null, arguments)"):o?"return ".concat(e.value):e.value;return"function($event){".concat(i).concat(u,"}")}return n||r?e.value:"function($event){".concat(o?"return ".concat(e.value):e.value,"}")}(t[i]);t[i]&&t[i].dynamic?o+="".concat(i,",").concat(a,","):r+='"'.concat(i,'":').concat(a,",")}return(r="{".concat(r.slice(0,-1),"}"),o)?n+"_d(".concat(r,",[").concat(o.slice(0,-1),"])"):n+r}function aN(t){var e=parseInt(t,10);if(e)return"$event.keyCode!==".concat(e);var n=aO[t],r=aT[t];return"_k($event.keyCode,"+"".concat(JSON.stringify(t),",")+"".concat(JSON.stringify(n),",")+"$event.key,"+"".concat(JSON.stringify(r))+")"}var aP={on:function(t,e){t.wrapListeners=function(t){return"_g(".concat(t,",").concat(e.value,")")}},bind:function(t,e){t.wrapData=function(n){return"_b(".concat(n,",'").concat(t.tag,"',").concat(e.value,",").concat(e.modifiers&&e.modifiers.prop?"true":"false").concat(e.modifiers&&e.modifiers.sync?",true":"",")")}},cloak:tp},aD=function(t){this.options=t,this.warn=t.warn||oC,this.transforms=ok(t.modules,"transformCode"),this.dataGenFns=ok(t.modules,"genData"),this.directives=tl(tl({},aP),t.directives);var e=t.isReservedTag||td;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function aM(t,e){var n=new aD(e),r=t?"script"===t.tag?"null":aI(t,n):'_c("div")';return{render:"with(this){return ".concat(r,"}"),staticRenderFns:n.staticRenderFns}}function aI(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return aL(t,e);if(t.once&&!t.onceProcessed)return aR(t,e);if(t.for&&!t.forProcessed)return aH(t,e);else{if(t.if&&!t.ifProcessed)return aF(t,e);if("template"===t.tag&&!t.slotTarget&&!e.pre)return aU(t,e)||"void 0";if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=aU(t,e),o="_t(".concat(n).concat(r?",function(){return ".concat(r,"}"):""),i=t.attrs||t.dynamicAttrs?aK((t.attrs||[]).concat(t.dynamicAttrs||[]).map(function(t){return{name:to(t.name),value:t.value,dynamic:t.dynamic}})):null,a=t.attrsMap["v-bind"];return(i||a)&&!r&&(o+=",null"),i&&(o+=",".concat(i)),a&&(o+="".concat(i?"":",null",",").concat(a)),o+")"}(t,e);var n=void 0;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:aU(e,n,!0);return"_c(".concat(t,",").concat(aB(e,n)).concat(r?",".concat(r):"",")")}(t.component,t,e);else{var r=void 0,o=e.maybeComponent(t);(!t.plain||t.pre&&o)&&(r=aB(t,e));var i=void 0,a=e.options.bindings;o&&a&&!1!==a.__isScriptSetup&&(i=function(t,e){var n=to(e),r=ti(n),o=function(o){return t[e]===o?e:t[n]===o?n:t[r]===o?r:void 0},i=o("setup-const")||o("setup-reactive-const");if(i)return i;var a=o("setup-let")||o("setup-ref")||o("setup-maybe-ref");if(a)return a}(a,t.tag)),!i&&(i="'".concat(t.tag,"'"));var s=t.inlineTemplate?null:aU(t,e,!0);n="_c(".concat(i).concat(r?",".concat(r):"").concat(s?",".concat(s):"",")")}for(var c=0;c>>0}(a)):"",")")}(t,t.scopedSlots,e),",")),t.model&&(n+="model:{value:".concat(t.model.value,",callback:").concat(t.model.callback,",expression:").concat(t.model.expression,"},")),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=aM(n,e.options);return"inlineTemplate:{render:function(){".concat(r.render,"},staticRenderFns:[").concat(r.staticRenderFns.map(function(t){return"function(){".concat(t,"}")}).join(","),"]}")}}(t,e);i&&(n+="".concat(i,","))}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b(".concat(n,',"').concat(t.tag,'",').concat(aK(t.dynamicAttrs),")")),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function aU(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return"".concat((r||aI)(a,e)).concat(s)}var c=n?function(t,e){for(var n=0,r=0;r]*>)","i")),v=t.replace(d,function(t,n,r){return f=r.length,!i2(p)&&"noscript"!==p&&(n=n.replace(//g,"$1").replace(//g,"$1")),i5(p,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});c+=t.length-v.length,t=v,l(p,c-f,c)}else{var h=t.indexOf("<");if(0===h){if(i0.test(t)){var m=t.indexOf("--\x3e");if(m>=0)return e.shouldKeepComment&&e.comment&&e.comment(t.substring(4,m),c,c+m+3),u(m+3),"continue"}if(i1.test(t)){var g=t.indexOf("]>");if(g>=0)return u(g+2),"continue"}var y=t.match(iQ);if(y)return u(y[0].length),"continue";var _=t.match(iY);if(_){var b=c;return u(_[0].length),l(_[1],b,c),"continue"}var $=function(){var e=t.match(iG);if(e){var n={tagName:e[1],attrs:[],start:c};u(e[0].length);for(var r=void 0,o=void 0;!(r=t.match(iX))&&(o=t.match(iq)||t.match(iJ));)o.start=c,u(o[0].length),o.end=c,n.attrs.push(o);if(r)return n.unarySlash=r[1],u(r[0].length),n.end=c,n}}();if($)return function(t){var n=t.tagName,c=t.unarySlash;i&&("p"===r&&iK(n)&&l(r),s(n)&&r===n&&l(n));for(var u=a(n)||!!c,f=t.attrs.length,p=Array(f),d=0;d=0){for(v=t.slice(h);!iY.test(v)&&!iG.test(v)&&!i0.test(v)&&!i1.test(v)&&!((x=v.indexOf("<",1))<0);){;h+=x,v=t.slice(h)}w=t.substring(0,h)}h<0&&(w=t),w&&u(w.length),e.chars&&w&&e.chars(w,c-w.length,c)}if(t===n)return e.chars&&e.chars(t),"break"}(););function u(e){c+=e,t=t.substring(e)}l();function l(t,n,i){var a,s;if(null==n&&(n=c),null==i&&(i=c),t)for(s=t.toLowerCase(),a=o.length-1;a>=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=o.length-1;u>=a;u--)e.end&&e.end(o[u].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,i):"p"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}}(t,{warn:x,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,l,f){var p=r&&r.ns||j(t);tj&&"svg"===p&&(i=function(t){for(var e=[],n=0;nc&&(s.push(o=t.slice(c,r)),a.push(JSON.stringify(o)));var u=ox(n[1].trim());a.push("_s(".concat(u,")")),s.push({"@binding":u}),c=r+n[0].length}return c':'
',P.innerHTML.indexOf(" ")>0}var aG=!!tT&&aZ(!1),aX=!!tT&&aZ(!0),aY=tn(function(t){var e=oa(t);return e&&e.innerHTML}),aQ=rz.prototype.$mount;rz.prototype.$mount=function(t,e){if((t=t&&oa(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r){if("string"==typeof r)"#"===r.charAt(0)&&(r=aY(r));else{if(!r.nodeType)return this;r=r.innerHTML}}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=aW(r,{outputSourceRange:!1,shouldDecodeNewlines:aG,shouldDecodeNewlinesForHref:aX,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return aQ.call(this,t,e)};rz.compile=aW;export{na as EffectScope,eT as computed,ew as customRef,rz as default,n2 as defineAsyncComponent,rc as defineComponent,er as del,ns as effectScope,tz as getCurrentInstance,nc as getCurrentScope,nH as h,nF as inject,el as isProxy,es as isReactive,eu as isReadonly,ev as isRef,ec as isShallow,ep as markRaw,e5 as mergeDefaults,nQ as nextTick,rt as onActivated,n9 as onBeforeMount,n5 as onBeforeUnmount,n6 as onBeforeUpdate,re as onDeactivated,ra as onErrorCaptured,n4 as onMounted,rr as onRenderTracked,ro as onRenderTriggered,nu as onScopeDispose,rn as onServerPrefetch,n8 as onUnmounted,n7 as onUpdated,nL as provide,eb as proxyRefs,eo as reactive,ek as readonly,eh as ref,en as set,ei as shallowReactive,eO as shallowReadonly,em as shallowRef,ef as toRaw,eC as toRef,ex as toRefs,ey as triggerRef,e_ as unref,e4 as useAttrs,n0 as useCssModule,n1 as useCssVars,e6 as useListeners,e9 as useSlots,rs as version,nM as watch,nE as watchEffect,nN as watchPostEffect,nP as watchSyncEffect}; \ No newline at end of file diff --git a/ssr-vue2-remote/src/components/layout.vue.7bfaccd5.final.js b/ssr-vue2-remote/src/components/layout.vue.7bfaccd5.final.js new file mode 100644 index 00000000..38afe164 --- /dev/null +++ b/ssr-vue2-remote/src/components/layout.vue.7bfaccd5.final.js @@ -0,0 +1 @@ +import*as t from"ssr-vue2-remote/npm/vue";var e={149:function(t,e,r){t.exports={}},824:function(t,e,r){r.r(t.exports={})}},r={};function s(t){var i=r[t];if(void 0!==i)return i.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,s),n.exports}s.m=e,s.k=function(t){return""+t+".css"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;if("string"==typeof import.meta.url&&(t=import.meta.url),!t)throw Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t+"../../"})();let i=(0,t.defineComponent)({__name:"layout",setup:t=>({__sfc:!0})});s("149");let n=function(t,e,r,s,i,n,o,a){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=r,u._compiled=!0),s&&(u.functional=!0),n&&(u._scopeId="data-v-"+n),i&&(l=i),l){if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}}return{exports:t,options:u}}(i,function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"layout"},[this._m(0),this._v(" "),this._m(1),this._v(" "),t("main",[this._t("default")],2)])},[function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"tip"},[this._v("\n 我是一个来自于 "),t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez/blob/master/examples/ssr-vue2-remote/src/components/layout.vue",rel:"noopener",target:"_blank"}},[this._v("ssr-vue2-remote")]),this._v(" 服务的组件。\n ")])},function(){var t=this._self._c;return this._self._setupProxy,t("header",{staticClass:"menu-list"},[t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez",target:"_blank"}},[this._v("github")])]),this._v(" "),t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://www.npmjs.com/package/@gez/core",target:"_blank"}},[this._v("npm")])])])}],!1,null,"b2ae6f88",null).exports;export{n as default}; \ No newline at end of file diff --git a/ssr-vue2-remote/src/components/layout.vue.ac3071c0.final.css b/ssr-vue2-remote/src/components/layout.vue.ac3071c0.final.css new file mode 100644 index 00000000..6131730d --- /dev/null +++ b/ssr-vue2-remote/src/components/layout.vue.ac3071c0.final.css @@ -0,0 +1 @@ +.tip[data-v-b2ae6f88]{background:#efefef;padding:10px}.tip a[data-v-b2ae6f88]{color:#00f}.menu-list[data-v-b2ae6f88]{display:flex}.menu-list-item[data-v-b2ae6f88]{background:#efefef;border-radius:5px;margin:5px;padding:10px}.menu-list-item[data-v-b2ae6f88]:hover{background:#00f}.menu-list-item:hover a[data-v-b2ae6f88]{color:#fff}.menu-list-item-link[data-v-b2ae6f88]{color:#000;text-decoration:none} \ No newline at end of file diff --git a/ssr-vue2-remote/src/entry.client.026c3f43.final.css b/ssr-vue2-remote/src/entry.client.026c3f43.final.css new file mode 100644 index 00000000..8a06d3b5 --- /dev/null +++ b/ssr-vue2-remote/src/entry.client.026c3f43.final.css @@ -0,0 +1 @@ +html,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0} \ No newline at end of file diff --git a/ssr-vue2-remote/src/entry.client.7321a693.final.js b/ssr-vue2-remote/src/entry.client.7321a693.final.js new file mode 100644 index 00000000..da76cd5a --- /dev/null +++ b/ssr-vue2-remote/src/entry.client.7321a693.final.js @@ -0,0 +1 @@ +import*as e from"ssr-vue2-remote/npm/@gez/vue-ui";import*as t from"ssr-vue2-remote/npm/vue";import*as r from"ssr-vue2-remote/src/components/layout.vue";var o,n,i,u,a,s,f,c={288:function(e,t,r){e.exports={}},725:function(t){t.exports=e},946:function(e){e.exports=t},527:function(e){e.exports=r}},l={};function p(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return c[e](r,r.exports,p),r.exports}p.m=c,p.d=function(e,t){for(var r in t)p.o(t,r)&&!p.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},p.f={},p.e=function(e){return Promise.all(Object.keys(p.f).reduce(function(t,r){return p.f[r](e,t),t},[]))},p.k=function(e){return"chunks/"+e+".a2d38135.final.css"},p.u=function(e){return"chunks/"+e+".0f6d9ec8.final.js"},p.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),p.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),p.p=e+"../"})(),o={626:0},n="__ssr_vue__remote__",i=(e,t)=>{o[t]=0},u="data-webpack-loading",a=function(e,t,r,o,i){var a,s,f="chunk-"+e;if(!o){for(var c=document.getElementsByTagName("link"),l=0;lp.e("891").then(p.bind(p,920)));({app:new d.default({render:e=>e(m)})}).app.$mount('[data-server-rendered="true"]'); \ No newline at end of file diff --git a/ssr-vue3/importmap.3e2113968c34.final.js b/ssr-vue3/importmap.3e2113968c34.final.js new file mode 100644 index 00000000..102df785 --- /dev/null +++ b/ssr-vue3/importmap.3e2113968c34.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue3",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ac26fdb2.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue3/importmap.js b/ssr-vue3/importmap.js new file mode 100644 index 00000000..102df785 --- /dev/null +++ b/ssr-vue3/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue3",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.ac26fdb2.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue3/index.html b/ssr-vue3/index.html new file mode 100644 index 00000000..7702b5d2 --- /dev/null +++ b/ssr-vue3/index.html @@ -0,0 +1,17 @@ + + + + + + + + Gez + + + +

rspack + vue3

Count value: 1
+ + + + + diff --git a/ssr-vue3/manifest.json b/ssr-vue3/manifest.json new file mode 100644 index 00000000..ecff5c55 --- /dev/null +++ b/ssr-vue3/manifest.json @@ -0,0 +1,29 @@ +{ + "name": "ssr-vue3", + "version": "1.0.0", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.ac26fdb2.final.js" + }, + "buildFiles": [ + "importmap.js", + "src/entry.client.0db8cdd1.final.css", + "src/entry.client.ac26fdb2.final.js", + "importmap.3e2113968c34.final.js" + ], + "importmapJs": "importmap.3e2113968c34.final.js", + "chunks": { + "ssr-vue3@src/entry.client.ts": { + "js": "./src/entry.client.ac26fdb2.final.js", + "css": [ + "./src/entry.client.0db8cdd1.final.css" + ], + "resources": [], + "sizes": { + "js": 367569, + "css": 665, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue3/src/entry.client.0db8cdd1.final.css b/ssr-vue3/src/entry.client.0db8cdd1.final.css new file mode 100644 index 00000000..471083b4 --- /dev/null +++ b/ssr-vue3/src/entry.client.0db8cdd1.final.css @@ -0,0 +1 @@ +div,body,html,h2{margin:0;padding:0} \ No newline at end of file diff --git a/ssr-vue3/src/entry.client.ac26fdb2.final.js b/ssr-vue3/src/entry.client.ac26fdb2.final.js new file mode 100644 index 00000000..073b5bce --- /dev/null +++ b/ssr-vue3/src/entry.client.ac26fdb2.final.js @@ -0,0 +1,23 @@ +let e,t,n,r,i,o,l,s,a,u,c,p,d,f,h,m;var g,y,b={562:function(e,t,n){e.exports={}},53:function(e,t,n){n.r(e.exports={})}},_={};function w(e){var t=_[e];if(void 0!==t)return t.exports;var n=_[e]={exports:{}};return b[e](n,n.exports,w),n.exports}function x(e){let t=Object.create(null);for(let n of e.split(","))t[n]=1;return e=>e in t}w.m=b,w.k=function(e){return""+e+".css"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e+"../"})();const k=Object.freeze({}),S=Object.freeze([]),C=()=>{},$=()=>!1,O=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||97>e.charCodeAt(2)),T=e=>e.startsWith("onUpdate:"),j=Object.assign,E=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},A=Object.prototype.hasOwnProperty,M=(e,t)=>A.call(e,t),P=Array.isArray,R=e=>"[object Map]"===B(e),N=e=>"[object Set]"===B(e),F=e=>"[object RegExp]"===B(e),I=e=>"function"==typeof e,L=e=>"string"==typeof e,V=e=>"symbol"==typeof e,D=e=>null!==e&&"object"==typeof e,U=e=>(D(e)||I(e))&&I(e.then)&&I(e.catch),H=Object.prototype.toString,B=e=>H.call(e),W=e=>B(e).slice(8,-1),z=e=>"[object Object]"===B(e),q=e=>L(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,J=x(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),K=x("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),G=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Y=/-(\w)/g,X=G(e=>e.replace(Y,(e,t)=>t?t.toUpperCase():"")),Z=/\B([A-Z])/g,Q=G(e=>e.replace(Z,"-$1").toLowerCase()),ee=G(e=>e.charAt(0).toUpperCase()+e.slice(1)),et=G(e=>e?`on${ee(e)}`:""),en=(e,t)=>!Object.is(e,t),er=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},eo=e=>{let t=parseFloat(e);return isNaN(t)?e:t},el=e=>{let t=L(e)?Number(e):NaN;return isNaN(t)?e:t},es=()=>e||(e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==w.g?w.g:{});function ea(e){if(P(e)){let t={};for(let n=0;n{if(e){let n=e.split(ec);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}(r):ea(r);if(i)for(let e in i)t[e]=i[e]}return t}if(L(e)||D(e))return e}const eu=/;(?![^(]*\))/g,ec=/:([^]+)/,ep=/\/\*[^]*?\*\//g;function ed(e){let t="";if(L(e))t=e;else if(P(e))for(let n=0;n?@[\\\]^`{|}~]/g,ek=e=>!!(e&&!0===e.__v_isRef),eS=e=>L(e)?e:null==e?"":P(e)||D(e)&&(e.toString===H||!I(e.toString))?ek(e)?eS(e.value):JSON.stringify(e,eC,2):String(e),eC=(e,t)=>{if(ek(t))return eC(e,t.value);if(R(t))return{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[e$(t,r)+" =>"]=n,e),{})};if(N(t))return{[`Set(${t.size})`]:[...t.values()].map(e=>e$(e))};else if(V(t))return e$(t);else if(D(t)&&!P(t)&&!z(t))return String(t);return t},e$=(e,t="")=>{var n;return V(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function eO(e,...t){console.warn(`[Vue warn] ${e}`,...t)}class eT{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=t,!e&&t&&(this.index=(t.scopes||(t.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)){if(i){let e=i;for(i=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}for(;r;){let t=r;for(r=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){!e&&(e=t)}t=n}}if(e)throw e}}function eN(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function eF(e){let t;let n=e.depsTail,r=n;for(;r;){let e=r.prevDep;-1===r.version?(r===n&&(n=e),eV(r),function(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function eI(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(eL(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty||!1}function eL(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===ez)return;e.globalVersion=ez;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!eI(e)){e.flags&=-3;return}let r=n,i=eD;n=e,eD=!0;try{eN(e);let n=e.fn(e._value);(0===t.version||en(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{n=r,eD=i,eF(e),e.flags&=-3}}function eV(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)eV(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}let eD=!0;const eU=[];function eH(){eU.push(eD),eD=!1}function eB(){let e=eU.pop();eD=void 0===e||e}function eW(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=n;n=void 0;try{t()}finally{n=e}}}let ez=0;class eq{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class eJ{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.subsHead=void 0}track(e){if(!n||!eD||n===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==n)t=this.activeLink=new eq(n,this),n.deps?(t.prevDep=n.depsTail,n.depsTail.nextDep=t,n.depsTail=t):n.deps=n.depsTail=t,function e(t){if(t.dep.sc++,4&t.sub.flags){let n=t.dep.computed;if(n&&!t.dep.subs){n.flags|=20;for(let t=n.deps;t;t=t.nextDep)e(t)}let r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),void 0===t.dep.subsHead&&(t.dep.subsHead=t),t.dep.subs=t}}(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=n.depsTail,t.nextDep=void 0,n.depsTail.nextDep=t,n.depsTail=t,n.deps===t&&(n.deps=e)}return n.onTrack&&n.onTrack(j({effect:n},e)),t}trigger(e){this.version++,ez++,this.notify(e)}notify(e){eA++;try{for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(8&t.sub.flags)&&t.sub.onTrigger(j({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{eR()}}}const eK=new WeakMap,eG=Symbol("Object iterate"),eY=Symbol("Map keys iterate"),eX=Symbol("Array iterate");function eZ(e,t,r){if(eD&&n){let n=eK.get(e);!n&&eK.set(e,n=new Map);let i=n.get(r);!i&&(n.set(r,i=new eJ),i.map=n,i.key=r),i.track({target:e,type:t,key:r})}}function eQ(e,t,n,r,i,o){let l=eK.get(e);if(!l){ez++;return}let s=l=>{l&&l.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:o})};if(eA++,"clear"===t)l.forEach(s);else{let i=P(e),o=i&&q(n);if(i&&"length"===n){let e=Number(r);l.forEach((t,n)=>{("length"===n||n===eX||!V(n)&&n>=e)&&s(t)})}else switch((void 0!==n||l.has(void 0))&&s(l.get(n)),o&&s(l.get(eX)),t){case"add":i?o&&s(l.get("length")):(s(l.get(eG)),R(e)&&s(l.get(eY)));break;case"delete":!i&&(s(l.get(eG)),R(e)&&s(l.get(eY)));break;case"set":R(e)&&s(l.get(eG))}}eR()}function e0(e){let t=tE(e);return t===e?t:(eZ(t,"iterate",eX),tT(e)?t:t.map(tA))}function e1(e){return eZ(e=tE(e),"iterate",eX),e}const e2={__proto__:null,[Symbol.iterator](){return e6(this,Symbol.iterator,tA)},concat(...e){return e0(this).concat(...e.map(e=>P(e)?e0(e):e))},entries(){return e6(this,"entries",e=>(e[1]=tA(e[1]),e))},every(e,t){return e4(this,"every",e,t,void 0,arguments)},filter(e,t){return e4(this,"filter",e,t,e=>e.map(tA),arguments)},find(e,t){return e4(this,"find",e,t,tA,arguments)},findIndex(e,t){return e4(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return e4(this,"findLast",e,t,tA,arguments)},findLastIndex(e,t){return e4(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return e4(this,"forEach",e,t,void 0,arguments)},includes(...e){return e5(this,"includes",e)},indexOf(...e){return e5(this,"indexOf",e)},join(e){return e0(this).join(e)},lastIndexOf(...e){return e5(this,"lastIndexOf",e)},map(e,t){return e4(this,"map",e,t,void 0,arguments)},pop(){return e7(this,"pop")},push(...e){return e7(this,"push",e)},reduce(e,...t){return e8(this,"reduce",e,t)},reduceRight(e,...t){return e8(this,"reduceRight",e,t)},shift(){return e7(this,"shift")},some(e,t){return e4(this,"some",e,t,void 0,arguments)},splice(...e){return e7(this,"splice",e)},toReversed(){return e0(this).toReversed()},toSorted(e){return e0(this).toSorted(e)},toSpliced(...e){return e0(this).toSpliced(...e)},unshift(...e){return e7(this,"unshift",e)},values(){return e6(this,"values",tA)}};function e6(e,t,n){let r=e1(e),i=r[t]();return r!==e&&!tT(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.value&&(e.value=n(e.value)),e}),i}const e3=Array.prototype;function e4(e,t,n,r,i,o){let l=e1(e),s=l!==e&&!tT(e),a=l[t];if(a!==e3[t]){let t=a.apply(e,o);return s?tA(t):t}let u=n;l!==e&&(s?u=function(t,r){return n.call(this,tA(t),r,e)}:n.length>2&&(u=function(t,r){return n.call(this,t,r,e)}));let c=a.call(l,u,r);return s&&i?i(c):c}function e8(e,t,n,r){let i=e1(e),o=n;return i!==e&&(tT(e)?n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}):o=function(t,r,i){return n.call(this,t,tA(r),i,e)}),i[t](o,...r)}function e5(e,t,n){let r=tE(e);eZ(r,"iterate",eX);let i=r[t](...n);return(-1===i||!1===i)&&tj(n[0])?(n[0]=tE(n[0]),r[t](...n)):i}function e7(e,t,n=[]){eH(),eA++;let r=tE(e)[t].apply(e,n);return eR(),eB(),r}const e9=x("__proto__,__v_isRef,__isVue"),te=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(V));function tt(e){!V(e)&&(e=String(e));let t=tE(this);return eZ(t,"has",e),t.hasOwnProperty(e)}class tn{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){let r=this._isReadonly,i=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return i;else if("__v_raw"===t)return n===(r?i?tw:t_:i?tb:ty).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let o=P(e);if(!r){let e;if(o&&(e=e2[t]))return e;if("hasOwnProperty"===t)return tt}let l=Reflect.get(e,t,tP(e)?e:n);return(V(t)?te.has(t):e9(t))?l:(!r&&eZ(e,"get",t),i)?l:tP(l)?o&&q(t)?l:l.value:D(l)?r?tk(l):tx(l):l}}class tr extends tn{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t];if(!this._isShallow){let t=tO(i);if(!tT(n)&&!tO(n)&&(i=tE(i),n=tE(n)),!P(e)&&tP(i)&&!tP(n))return!t&&(i.value=n,!0)}let o=P(e)&&q(t)?Number(t)e,tc=e=>Reflect.getPrototypeOf(e);function tp(e){return function(...t){{let n=t[0]?`on key "${t[0]}" `:"";eO(`${ee(e)} operation ${n}failed: target is readonly.`,tE(this))}return"delete"!==e&&("clear"===e?void 0:this)}}function td(e,t){let n=function(e,t){let n={get(n){let r=this.__v_raw,i=tE(r),o=tE(n);!e&&(en(n,o)&&eZ(i,"get",n),eZ(i,"get",o));let{has:l}=tc(i),s=t?tu:e?tM:tA;return l.call(i,n)?s(r.get(n)):l.call(i,o)?s(r.get(o)):void(r!==i&&r.get(n))},get size(){let t=this.__v_raw;return e||eZ(tE(t),"iterate",eG),Reflect.get(t,"size",t)},has(t){let n=this.__v_raw,r=tE(n),i=tE(t);return!e&&(en(t,i)&&eZ(r,"has",t),eZ(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,o=i.__v_raw,l=tE(o),s=t?tu:e?tM:tA;return e||eZ(l,"iterate",eG),o.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return j(n,e?{add:tp("add"),set:tp("set"),delete:tp("delete"),clear:tp("clear")}:{add(e){!t&&!tT(e)&&!tO(e)&&(e=tE(e));let n=tE(this);return!tc(n).has.call(n,e)&&(n.add(e),eQ(n,"add",e,e)),this},set(e,n){!t&&!tT(n)&&!tO(n)&&(n=tE(n));let r=tE(this),{has:i,get:o}=tc(r),l=i.call(r,e);l?tv(r,i,e):(e=tE(e),l=i.call(r,e));let s=o.call(r,e);return r.set(e,n),l?en(n,s)&&eQ(r,"set",e,n,s):eQ(r,"add",e,n),this},delete(e){let t=tE(this),{has:n,get:r}=tc(t),i=n.call(t,e);i?tv(t,n,e):(e=tE(e),i=n.call(t,e));let o=r?r.call(t,e):void 0,l=t.delete(e);return i&&eQ(t,"delete",e,void 0,o),l},clear(){let e=tE(this),t=0!==e.size,n=R(e)?new Map(e):new Set(e),r=e.clear();return t&&eQ(e,"clear",void 0,void 0,n),r}}),["keys","values","entries",Symbol.iterator].forEach(r=>{var i,o,l;n[r]=(i=r,o=e,l=t,function(...e){let t=this.__v_raw,n=tE(t),r=R(n),s="entries"===i||i===Symbol.iterator&&r,a=t[i](...e),u=l?tu:o?tM:tA;return o||eZ(n,"iterate","keys"===i&&r?eY:eG),{next(){let{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}})}),n}(e,t);return(t,r,i)=>{if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r)return t;return Reflect.get(M(n,r)&&r in t?n:t,r,i)}}const tf={get:td(!1,!1)},th={get:td(!1,!0)},tm={get:td(!0,!1)},tg={get:td(!0,!0)};function tv(e,t,n){let r=tE(n);if(r!==n&&t.call(e,r)){let t=W(e);eO(`Reactive ${t} contains both the raw and reactive versions of the same object${"Map"===t?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const ty=new WeakMap,tb=new WeakMap,t_=new WeakMap,tw=new WeakMap;function tx(e){return tO(e)?e:tC(e,!1,to,tf,ty)}function tk(e){return tC(e,!0,tl,tm,t_)}function tS(e){return tC(e,!0,ta,tg,tw)}function tC(e,t,n,r,i){var o;if(!D(e))return eO(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;let l=i.get(e);if(l)return l;let s=(o=e).__v_skip||!Object.isExtensible(o)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(W(o));if(0===s)return e;let a=new Proxy(e,2===s?r:n);return i.set(e,a),a}function t$(e){return tO(e)?t$(e.__v_raw):!!(e&&e.__v_isReactive)}function tO(e){return!!(e&&e.__v_isReadonly)}function tT(e){return!!(e&&e.__v_isShallow)}function tj(e){return!!e&&!!e.__v_raw}function tE(e){let t=e&&e.__v_raw;return t?tE(t):e}const tA=e=>D(e)?tx(e):e,tM=e=>D(e)?tk(e):e;function tP(e){return!!e&&!0===e.__v_isRef}class tR{constructor(e,t){this.dep=new eJ,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:tE(e),this._value=t?e:tA(e),this.__v_isShallow=t}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||tT(e)||tO(e);en(e=n?e:tE(e),t)&&(this._rawValue=e,this._value=n?e:tA(e),this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:t}))}}const tN={get:(e,t,n)=>{var r;return"__v_raw"===t?e:tP(r=Reflect.get(e,t,n))?r.value:r},set:(e,t,n,r)=>{let i=e[t];return tP(i)&&!tP(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function tF(e){return t$(e)?e:new Proxy(e,tN)}class tI{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new eJ(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ez-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&n!==this)return eM(this,!0),!0}get value(){let e=this.dep.track({target:this,type:"get",key:"value"});return eL(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):eO("Write operation failed: computed value is readonly")}}const tL={},tV=new WeakMap;function tD(e,t=1/0,n){if(t<=0||!D(e)||e.__v_skip||(n=n||new Set).has(e))return e;if(n.add(e),t--,tP(e))tD(e.value,t,n);else if(P(e))for(let r=0;r{tD(e,t,n)});else if(z(e)){for(let r in e)tD(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tD(e[r],t,n)}return e}const tU=[];function tH(e){tU.push(e)}function tB(){tU.pop()}let tW=!1;function tz(e,...t){if(tW)return;tW=!0,eH();let n=tU.length?tU[tU.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=function(){let e=tU[tU.length-1];if(!e)return[];let t=[];for(;e;){let n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});let r=e.component&&e.component.parent;e=r&&r.vnode}return t}();if(r)tJ(r,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,i.map(({vnode:e})=>`at <${iZ(n,e.type)}>`).join("\n"),i]);else{let n=[`[Vue warn]: ${e}`,...t];i.length&&n.push(` +`,...function(e){let t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:[` +`],...function({vnode:e,recurseCount:t}){let n=t>0?`... (${t} recursive calls)`:"",r=!!e.component&&null==e.component.parent,i=` at <${iZ(e.component,e.type,r)}`,o=">"+n;return e.props?[i,...function(e){let t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...function e(t,n,r){if(L(n))return n=JSON.stringify(n),r?n:[`${t}=${n}`];if("number"==typeof n||"boolean"==typeof n||null==n)return r?n:[`${t}=${n}`];if(tP(n))return n=e(t,tE(n.value),!0),r?n:[`${t}=Ref<`,n,">"];else if(I(n))return[`${t}=fn${n.name?`<${n.name}>`:""}`];else return n=tE(n),r?n:[`${t}=`,n]}(n,e[n]))}),n.length>3&&t.push(" ..."),t}(e.props),o]:[i+o]}(e))}),t}(i)),console.warn(...n)}eB(),tW=!1}const tq={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function tJ(e,t,n,r){try{return r?e(...r):e()}catch(e){tG(e,t,n)}}function tK(e,t,n,r){if(I(e)){let i=tJ(e,t,n,r);return i&&U(i)&&i.catch(e=>{tG(e,t,n)}),i}if(P(e)){let i=[];for(let o=0;o=t9(n)?tY.push(e):tY.splice(function(e){let t=tX+1,n=tY.length;for(;t>>1,i=tY[r],o=t9(i);one(t,e);try{for(tX=0;tXt9(e)-t9(t));if(tZ.length=0,tQ){tQ.push(...t);return}for(t0=0,tQ=t,e=e||new Map;t0null==e.id?2&e.flags?-1:1/0:e.id;function ne(e,t){let n=e.get(t)||0;if(n>100){let e=t.i,n=e&&iX(e.type);return tG(`Maximum recursive updates exceeded${n?` in component <${n}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}let nt=!1;const nn=new Map;es().__VUE_HMR_RUNTIME__={createRecord:ns(ni),rerender:ns(function(e,t){let n=nr.get(e);if(!!n)n.initialDef.render=t,[...n.instances].forEach(e=>{t&&(e.render=t,no(e.type).render=t),e.renderCache=[],nt=!0,e.update(),nt=!1})}),reload:ns(function(e,t){let n=nr.get(e);if(!n)return;t=no(t),nl(n.initialDef,t);let r=[...n.instances];for(let e=0;e{nt=!0,i.parent.update(),nt=!1,l.delete(i)}):i.appContext.reload?i.appContext.reload():"undefined"!=typeof window?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(o)}t8(()=>{nn.clear()})})};const nr=new Map;function ni(e,t){return!nr.has(e)&&(nr.set(e,{initialDef:no(t),instances:new Set}),!0)}function no(e){return iQ(e)?e.__vccOpts:e}function nl(e,t){for(let n in j(e,t),e)"__file"!==n&&!(n in t)&&delete e[n]}function ns(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let na=[],nu=!1;function nc(e,...t){o?o.emit(e,...t):!nu&&na.push({event:e,args:t})}const np=nm("component:added"),nd=nm("component:updated"),nf=nm("component:removed"),nh=e=>{o&&"function"==typeof o.cleanupBuffer&&!o.cleanupBuffer(e)&&nf(e)};function nm(e){return t=>{nc(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const ng=ny("perf:start"),nv=ny("perf:end");function ny(e){return(t,n,r)=>{nc(e,t.appContext.app,t.uid,t,n,r)}}let nb=null,n_=null;function nw(e){let t=nb;return nb=e,n_=e&&e.type.__scopeId||null,t}function nx(e){K(e)&&tz("Do not use built-in directive ids as custom directive id: "+e)}function nk(e,t,n,r){let i=e.dirs,o=t&&t.dirs;for(let l=0;le.__isTeleport,n$=Symbol("_leaveCb"),nO=Symbol("_enterCb"),nT=[Function,Array],nj={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:nT,onEnter:nT,onAfterEnter:nT,onEnterCancelled:nT,onBeforeLeave:nT,onLeave:nT,onAfterLeave:nT,onLeaveCancelled:nT,onBeforeAppear:nT,onAppear:nT,onAfterAppear:nT,onAppearCancelled:nT},nE=e=>{let t=e.subTree;return t.component?nE(t.component):t};function nA(e){let t=e[0];if(e.length>1){let n=!1;for(let r of e)if(r.type!==im){if(n){tz(" can only be used on a single element or component. Use for lists.");break}t=r,n=!0}}return t}function nM(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return!r&&(r=Object.create(null),n.set(t.type,r)),r}function nP(e,t,n,r,i){let{appear:o,mode:l,persisted:s=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:p,onBeforeLeave:d,onLeave:f,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=t,w=String(e.key),x=nM(n,e),k=(e,t)=>{e&&tK(e,r,9,t)},S=(e,t)=>{let n=t[1];k(e,t),P(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},C={mode:l,persisted:s,beforeEnter(t){let r=a;if(!n.isMounted){if(!o)return;r=g||a}t[n$]&&t[n$](!0);let i=x[w];i&&ix(e,i)&&i.el[n$]&&i.el[n$](),k(r,[t])},enter(e){let t=u,r=c,i=p;if(!n.isMounted){if(!o)return;t=y||u,r=b||c,i=_||p}let l=!1,s=e[nO]=t=>{!l&&(l=!0,t?k(i,[e]):k(r,[e]),C.delayedLeave&&C.delayedLeave(),e[nO]=void 0)};t?S(t,[e,s]):s()},leave(t,r){let i=String(e.key);if(t[nO]&&t[nO](!0),n.isUnmounting)return r();k(d,[t]);let o=!1,l=t[n$]=n=>{!o&&(o=!0,r(),n?k(m,[t]):k(h,[t]),t[n$]=void 0,x[i]===e&&delete x[i])};x[i]=e,f?S(f,[t,l]):l()},clone(e){let o=nP(e,t,n,r,i);return i&&i(o),o}};return C}function nR(e){if(nQ(e))return(e=iO(e)).children=null,e}function nN(e){if(!nQ(e))return nC(e.type)&&e.children?nA(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&I(n.default))return n.default()}}function nF(e,t){6&e.shapeFlag&&e.component?(e.transition=t,nF(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function nI(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const nL=new WeakSet;function nV(e,t,n,r,i=!1){if(P(e)){e.forEach((e,o)=>nV(e,t&&(P(t)?t[o]:t),n,r,i));return}if(nZ(r)&&!i)return;let o=4&r.shapeFlag?iK(r.component):r.el,l=i?null:o,{i:s,r:a}=e;if(!s){tz("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.");return}let u=t&&t.r,c=s.refs===k?s.refs={}:s.refs,p=s.setupState,d=tE(p),f=p===k?()=>!1:e=>(M(d,e)&&!tP(d[e])&&tz(`Template ref "${e}" used on a non-ref value. It will not work in the production build.`),!nL.has(d[e])&&M(d,e));if(null!=u&&u!==a&&(L(u)?(c[u]=null,f(u)&&(p[u]=null)):tP(u)&&(u.value=null)),I(a))tJ(a,s,12,[l,c]);else{let t=L(a),r=tP(a);if(t||r){let s=()=>{if(e.f){let n=t?f(a)?p[a]:c[a]:a.value;i?P(n)&&E(n,o):P(n)?!n.includes(o)&&n.push(o):t?(c[a]=[o],f(a)&&(p[a]=c[a])):(a.value=[o],e.k&&(c[e.k]=a.value))}else t?(c[a]=l,f(a)&&(p[a]=l)):r?(a.value=l,e.k&&(c[e.k]=l)):tz("Invalid template ref type:",a,`(${typeof a})`)};l?(s.id=-1,rK(s,n)):s()}else tz("Invalid template ref type:",a,`(${typeof a})`)}}let nD=!1;const nU=()=>{if(!nD)console.error("Hydration completed but contains mismatches."),nD=!0},nH=e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName,nB=e=>e.namespaceURI.includes("MathML"),nW=e=>{if(1===e.nodeType){if(nH(e))return"svg";if(nB(e))return"mathml"}},nz=e=>8===e.nodeType;function nq(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:o,parentNode:l,remove:s,insert:a,createComment:u}}=e,c=(n,r,s,u,b,_=!1)=>{_=_||!!r.dynamicChildren;let w=nz(n)&&"["===n.data,x=()=>h(n,r,s,u,b,w),{type:k,ref:S,shapeFlag:C,patchFlag:$}=r,O=n.nodeType;r.el=n,ei(n,"__vnode",r,!0),ei(n,"__vueParentComponent",s,!0),-2===$&&(_=!1,r.dynamicChildren=null);let T=null;switch(k){case ih:3!==O?""===r.children?(a(r.el=i(""),l(n),n),T=n):T=x():(n.data!==r.children&&(tz("Hydration text mismatch in",n.parentNode,` + - rendered on server: ${JSON.stringify(n.data)} + - expected on client: ${JSON.stringify(r.children)}`),nU(),n.data=r.children),T=o(n));break;case im:y(n)?(T=o(n),g(r.el=n.content.firstChild,n,s)):T=8!==O||w?x():o(n);break;case ig:if(w&&(O=(n=o(n)).nodeType),1===O||3===O){T=n;let e=!r.children.length;for(let t=0;t{l=l||!!t.dynamicChildren;let{type:a,props:u,patchFlag:c,shapeFlag:p,dirs:f,transition:h}=t,m="input"===a||"option"===a;{let a;f&&nk(t,null,n,"created");let c=!1;if(y(e)){c=rZ(null,h)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;c&&h.beforeEnter(r),g(r,e,n),t.el=e=r}if(16&p&&!(u&&(u.innerHTML||u.textContent))){let r=d(e.firstChild,t,e,n,i,o,l),a=!1;for(;r;){!nX(e,1)&&(!a&&(tz("Hydration children mismatch on",e,` +Server rendered element contains more child nodes than client vdom.`),a=!0),nU());let t=r;r=r.nextSibling,s(t)}}else if(8&p){let n=t.children;"\n"===n[0]&&("PRE"===e.tagName||"TEXTAREA"===e.tagName)&&(n=n.slice(1)),e.textContent!==n&&(!nX(e,0)&&(tz("Hydration text content mismatch on",e,` + - rendered on server: ${e.textContent} + - expected on client: ${t.children}`),nU()),e.textContent=t.children)}if(u){let i=e.tagName.includes("-");for(let o in u)!(f&&f.some(e=>e.dir.created))&&function(e,t,n,r,i){let o,l,s,a;if("class"===t)s=e.getAttribute("class"),a=ed(n),!function(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}(nJ(s||""),nJ(a))&&(o=2,l="class");else if("style"===t){s=e.getAttribute("style")||"",a=L(n)?n:function(e){let t="";if(!e||L(e))return t;for(let n in e){let r=e[n];if(L(r)||"number"==typeof r){let e=n.startsWith("--")?n:Q(n);t+=`${e}:${r};`}}return t}(ea(n));let t=nK(s),u=nK(a);if(r.dirs)for(let{dir:e,value:t}of r.dirs)"show"===e.name&&!t&&u.set("display","none");i&&function e(t,n,r){let i=t.subTree;if(t.getCssVars&&(n===i||i&&i.type===id&&i.children.includes(n))){let e=t.getCssVars();for(let t in e){var o=void 0;r.set(`--${t.replace(ex,e=>`\\${e}`)}`,String(e[t]))}}n===i&&t.parent&&e(t.parent,t.vnode,r)}(i,r,u),!function(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(r!==t.get(n))return!1;return!0}(t,u)&&(o=3,l="style")}else(e instanceof SVGElement&&ew(t)||e instanceof HTMLElement&&(ey(t)||e_(t)))&&(ey(t)?(s=e.hasAttribute(t),a=eb(n)):null==n?(s=e.hasAttribute(t),a=!1):(s=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,a=!!function(e){if(null==e)return!1;let t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),s!==a&&(o=4,l=t));if(null!=o&&!nX(e,o)){let t=e=>!1===e?"(not rendered)":`${l}="${e}"`,n=`Hydration ${nY[o]} mismatch on`;return tz(n,e,` + - rendered on server: ${t(s)} + - expected on client: ${t(a)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`),!0}return!1}(e,o,u[o],t,n)&&nU(),(m&&(o.endsWith("value")||"indeterminate"===o)||O(o)&&!J(o)||"."===o[0]||i)&&r(e,o,null,u[o],void 0,n)}(a=u&&u.onVnodeBeforeMount)&&iP(a,n,t),f&&nk(t,null,n,"beforeMount"),((a=u&&u.onVnodeMounted)||f||c)&&ip(()=>{a&&iP(a,n,t),c&&h.enter(e),f&&nk(t,null,n,"mounted")},i)}return e.nextSibling},d=(e,t,r,l,s,u,p)=>{p=p||!!t.dynamicChildren;let d=t.children,f=d.length,h=!1;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let p=l(e),f=d(o(e),t,p,n,r,i,s);return f&&nz(f)&&"]"===f.data?o(t.anchor=f):(nU(),a(t.anchor=u("]"),p,f),f)},h=(e,t,r,i,a,u)=>{if(!nX(e.parentElement,1)&&(tz(`Hydration node mismatch: +- rendered on server:`,e,3===e.nodeType?"(text)":nz(e)&&"["===e.data?"(start of fragment)":"",` +- expected on client:`,t.type),nU()),t.el=null,u){let t=m(e);for(;;){let n=o(e);if(n&&n!==t)s(n);else break}}let c=o(e),p=l(e);return s(e),n(null,t,p,c,r,i,nW(p),a),c},m=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=o(e))&&nz(e)&&(e.data===t&&r++,e.data===n)){if(0===r)return o(e);r--}return e},g=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes()){tz("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),t7(),t._vnode=e;return}c(t.firstChild,e,null,null,null),t7(),t._vnode=e},c]}function nJ(e){return new Set(e.trim().split(/\s+/))}function nK(e){let t=new Map;for(let n of e.split(";")){let[e,r]=n.split(":");e=e.trim(),r=r&&r.trim(),e&&r&&t.set(e,r)}return t}const nG="data-allow-mismatch",nY={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function nX(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(nG);)e=e.parentElement;let n=e&&e.getAttribute(nG);if(null==n)return!1;if(""===n)return!0;{let e=n.split(",");return!!(0===t&&e.includes("children"))||n.split(",").includes(nY[t])}}es().requestIdleCallback||(e=>setTimeout(e,1)),es().cancelIdleCallback||(e=>clearTimeout(e));const nZ=e=>!!e.type.__asyncLoader,nQ=e=>e.type.__isKeepAlive;function n0(e,t){n2(e,"a",t)}function n1(e,t){n2(e,"da",t)}function n2(e,t,n=iF){let r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(n6(t,r,n),n){let e=n.parent;for(;e&&e.parent;)nQ(e.parent.vnode)&&function(e,t,n,r){let i=n6(t,e,r,!0);re(()=>{E(r[t],i)},n)}(r,t,n,e),e=e.parent}}function n6(e,t,n=iF,r=!1){if(n){let i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{eH();let i=iL(n),o=tK(t,n,e,r);return i(),eB(),o});return r?i.unshift(o):i.push(o),o}{let t=et(tq[e].replace(/ hook$/,""));tz(`${t} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const n3=e=>(t,n=iF)=>{(!iB||"sp"===e)&&n6(e,(...e)=>t(...e),n)},n4=n3("bm"),n8=n3("m"),n5=n3("bu"),n7=n3("u"),n9=n3("bum"),re=n3("um"),rt=n3("sp"),rn=n3("rtg"),rr=n3("rtc");function ri(e,t=iF){n6("ec",e,t)}const ro=Symbol.for("v-ndc"),rl=e=>e?iH(e)?iK(e):rl(e.parent):null,rs=j(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>tS(e.props),$attrs:e=>tS(e.attrs),$slots:e=>tS(e.slots),$refs:e=>tS(e.refs),$parent:e=>rl(e.parent),$root:e=>rl(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>rh(e),$forceUpdate:e=>e.f||(e.f=()=>{t3(e.update)}),$nextTick:e=>e.n||(e.n=t6.bind(e.proxy)),$watch:e=>r4.bind(e)}),ra=e=>"_"===e||"$"===e,ru=(e,t)=>e!==k&&!e.__isScriptSetup&&M(e,t),rc={get({_:e},t){let n,r,i;if("__v_skip"===t)return!0;let{ctx:o,setupState:l,data:s,props:a,accessCache:u,type:c,appContext:p}=e;if("__isVue"===t)return!0;if("$"!==t[0]){let r=u[t];if(void 0!==r)switch(r){case 1:return l[t];case 2:return s[t];case 4:return o[t];case 3:return a[t]}else{if(ru(l,t))return u[t]=1,l[t];if(s!==k&&M(s,t))return u[t]=2,s[t];if((n=e.propsOptions[0])&&M(n,t))return u[t]=3,a[t];if(o!==k&&M(o,t))return u[t]=4,o[t];rd&&(u[t]=0)}}let d=rs[t];if(d)return"$attrs"===t?(eZ(e.attrs,"get",""),function(){ie=!0}()):"$slots"===t&&eZ(e,"get",t),d(e);if((r=c.__cssModules)&&(r=r[t]))return r;if(o!==k&&M(o,t))return u[t]=4,o[t];else{if(M(i=p.config.globalProperties,t))return i[t];nb&&(!L(t)||0!==t.indexOf("__v"))&&(s!==k&&ra(t[0])&&M(s,t)?tz(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===nb&&tz(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))}},set({_:e},t,n){let{data:r,setupState:i,ctx:o}=e;if(ru(i,t))return i[t]=n,!0;if(i.__isScriptSetup&&M(i,t))return tz(`Cannot mutate