@dimina-kit/devkit 0.1.1-dev.20260513123738 → 0.1.1-dev.20260515105504

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -15,7 +15,17 @@ export declare function openProject(opts: {
15
15
  simulatorDir?: string;
16
16
  containerDir?: string;
17
17
  outputDir?: string;
18
+ /** When false, skip the chokidar file-watcher / auto-rebuild loop. Default true. */
19
+ watch?: boolean;
18
20
  onRebuild?: () => void;
19
21
  onBuildError?: (err: unknown) => void;
20
22
  }): Promise<ProjectSession>;
23
+ /**
24
+ * Watch a project directory and invoke `onChange` whenever a source file is
25
+ * created, modified, or deleted. Returns a handle whose `close()` stops the
26
+ * watcher.
27
+ */
28
+ export declare function createProjectWatcher(projectPath: string, onChange: () => void | Promise<void>): {
29
+ close: () => Promise<void>;
30
+ };
21
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,GAAG,OAAO,CAAC,cAAc,CAAC,CAmF1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,GAAG,OAAO,CAAC,cAAc,CAAC,CA4G1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAClC;IAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAgBhC"}
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ function getRandomPort() {
35
35
  });
36
36
  }
37
37
  export async function openProject(opts) {
38
- const { projectPath: rawProjectPath, port = 0, sourcemap = false, simulatorDir, containerDir: overrideContainerDir, outputDir, onRebuild, onBuildError, } = opts;
38
+ const { projectPath: rawProjectPath, port = 0, sourcemap = false, simulatorDir, containerDir: overrideContainerDir, outputDir, watch = true, onRebuild, onBuildError, } = opts;
39
39
  const projectPath = path.resolve(rawProjectPath);
40
40
  const buildOptions = { sourcemap };
41
41
  const resolvedPort = port === 0 ? await getRandomPort() : port;
@@ -52,6 +52,34 @@ export async function openProject(opts) {
52
52
  finally {
53
53
  process.chdir(prevCwd);
54
54
  }
55
+ // When the compiler is racing (e.g. opening a project that was just
56
+ // closed elsewhere in the same Electron process) `build()` can return
57
+ // null even though the manifest on disk is perfectly readable. The
58
+ // pre-existing fallback to `{ appId: 'unknown' }` was load-bearing for
59
+ // any consumer that calls `wx.setStorageSync` — the dimina runtime
60
+ // stores values under `${appId}_${key}` and the devtools storage panel
61
+ // also derives its IPC prefix from `appInfo.appId`. A stale `unknown`
62
+ // appId makes the panel and the runtime disagree (panel writes
63
+ // `unknown_foo`, runtime reads `${realAppId}_foo`), so this falls back
64
+ // to the canonical id from `project.config.json` instead. The literal
65
+ // `'unknown'` is only used as a last resort when the manifest itself
66
+ // is missing/unreadable, preserving the original error path.
67
+ if (!initialAppInfo) {
68
+ try {
69
+ const configRaw = fs.readFileSync(path.join(projectPath, 'project.config.json'), 'utf8');
70
+ const config = JSON.parse(configRaw);
71
+ if (config.appid && typeof config.appid === 'string' && config.appid.length > 0) {
72
+ initialAppInfo = {
73
+ appId: config.appid,
74
+ name: config.projectname ?? path.basename(projectPath),
75
+ path: projectPath,
76
+ };
77
+ }
78
+ }
79
+ catch {
80
+ // best-effort — fall through to the 'unknown' fallback below
81
+ }
82
+ }
55
83
  const sessionApps = initialAppInfo ? [initialAppInfo] : [];
56
84
  process.env.DIMINA_NO_OPEN_BROWSER = '1';
57
85
  const fe = await import('../fe/index.js');
@@ -64,13 +92,8 @@ export async function openProject(opts) {
64
92
  liveReload: true,
65
93
  sessionApps,
66
94
  });
67
- const watcher = chokidar.watch(projectPath, {
68
- ignored: /(^|[/\\])\../,
69
- persistent: true,
70
- ignoreInitial: true,
71
- });
72
95
  let isBuilding = false;
73
- watcher.on('change', async () => {
96
+ async function rebuild() {
74
97
  if (isBuilding)
75
98
  return;
76
99
  isBuilding = true;
@@ -94,14 +117,37 @@ export async function openProject(opts) {
94
117
  process.chdir(prevCwd);
95
118
  isBuilding = false;
96
119
  }
97
- });
120
+ }
121
+ const watcher = watch ? createProjectWatcher(projectPath, rebuild) : null;
98
122
  return {
99
123
  appInfo: initialAppInfo ?? { appId: 'unknown', name: path.basename(projectPath), path: projectPath },
100
124
  port: resolvedPort,
101
125
  close: async () => {
102
- await watcher.close();
126
+ await watcher?.close();
103
127
  server.closeAllConnections?.();
104
128
  await new Promise(resolve => server.close(() => resolve()));
105
129
  },
106
130
  };
107
131
  }
132
+ /**
133
+ * Watch a project directory and invoke `onChange` whenever a source file is
134
+ * created, modified, or deleted. Returns a handle whose `close()` stops the
135
+ * watcher.
136
+ */
137
+ export function createProjectWatcher(projectPath, onChange) {
138
+ const watcher = chokidar.watch(projectPath, {
139
+ ignored: /(^|[/\\])\../,
140
+ persistent: true,
141
+ ignoreInitial: true,
142
+ });
143
+ // Listen to add + change + unlink so creating, editing, and deleting a
144
+ // source file all surface as onChange. Listening only to 'change' silently
145
+ // dropped the "developer added a new page" case (a chokidar 'add' event)
146
+ // and made auto-compile feel broken on a common save pattern.
147
+ watcher.on('add', () => { void onChange(); });
148
+ watcher.on('change', () => { void onChange(); });
149
+ watcher.on('unlink', () => { void onChange(); });
150
+ return {
151
+ close: () => watcher.close(),
152
+ };
153
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-watcher.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-watcher.test.d.ts","sourceRoot":"","sources":["../src/project-watcher.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,152 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { createProjectWatcher } from './index.js';
6
+ /**
7
+ * Behavior tests for createProjectWatcher.
8
+ *
9
+ * These tests pin down the user-visible contract: when a developer edits
10
+ * something inside their mini-app project, the watcher must fire onChange so
11
+ * auto-compile can run. We deliberately use the real filesystem and real
12
+ * chokidar — the suspected bug is in how chokidar is configured against
13
+ * macOS reality, so any mocking would mask it.
14
+ */
15
+ // macOS's os.tmpdir() lives under /var which is a symlink to /private/var.
16
+ // Some watcher configurations resolve symlinks and some don't; if we pass the
17
+ // /var path in but chokidar reports events under /private/var, every test
18
+ // would fail for the wrong reason. Normalize via realpath so the watcher
19
+ // path and the path we mutate match byte-for-byte.
20
+ function makeTempProject() {
21
+ const raw = fs.mkdtempSync(path.join(os.tmpdir(), 'devkit-watcher-'));
22
+ return fs.realpathSync(raw);
23
+ }
24
+ // Give chokidar time to finish its initial scan before we start mutating.
25
+ // createProjectWatcher doesn't expose chokidar's 'ready' event, so a short
26
+ // settle delay is the practical option. 300ms is conservative on macOS.
27
+ const READY_DELAY_MS = 300;
28
+ async function settle(ms = READY_DELAY_MS) {
29
+ await new Promise(resolve => setTimeout(resolve, ms));
30
+ }
31
+ describe('createProjectWatcher', () => {
32
+ let tempDir;
33
+ let handle;
34
+ beforeEach(() => {
35
+ tempDir = makeTempProject();
36
+ handle = undefined;
37
+ });
38
+ afterEach(async () => {
39
+ if (handle) {
40
+ try {
41
+ await handle.close();
42
+ }
43
+ catch {
44
+ // ignore close errors during cleanup
45
+ }
46
+ }
47
+ fs.rmSync(tempDir, { recursive: true, force: true });
48
+ });
49
+ it('fires onChange when an existing file is overwritten', async () => {
50
+ // Why this matters: the bread-and-butter case — developer hits save in
51
+ // their editor on an existing file (e.g. app.json) and expects a rebuild.
52
+ const target = path.join(tempDir, 'app.json');
53
+ fs.writeFileSync(target, '{}');
54
+ const onChange = vi.fn();
55
+ handle = createProjectWatcher(tempDir, onChange);
56
+ await settle();
57
+ fs.writeFileSync(target, '{"a":1}');
58
+ await vi.waitFor(() => expect(onChange).toHaveBeenCalled(), { timeout: 2000 });
59
+ });
60
+ it('fires onChange when a brand-new file is created', async () => {
61
+ // Why this matters: "I added a new page and nothing rebuilt" is one of
62
+ // the most common auto-compile complaints.
63
+ fs.mkdirSync(path.join(tempDir, 'pages'), { recursive: true });
64
+ const onChange = vi.fn();
65
+ handle = createProjectWatcher(tempDir, onChange);
66
+ await settle();
67
+ fs.writeFileSync(path.join(tempDir, 'pages', 'new-page.js'), '// new');
68
+ await vi.waitFor(() => expect(onChange).toHaveBeenCalled(), { timeout: 2000 });
69
+ });
70
+ it('fires onChange when a file is deleted', async () => {
71
+ // Why this matters: removing a page should also trigger a rebuild so
72
+ // route tables and asset manifests stay in sync.
73
+ fs.mkdirSync(path.join(tempDir, 'pages'), { recursive: true });
74
+ const target = path.join(tempDir, 'pages', 'index.js');
75
+ fs.writeFileSync(target, '// initial');
76
+ const onChange = vi.fn();
77
+ handle = createProjectWatcher(tempDir, onChange);
78
+ await settle();
79
+ fs.unlinkSync(target);
80
+ await vi.waitFor(() => expect(onChange).toHaveBeenCalled(), { timeout: 2000 });
81
+ });
82
+ it('fires onChange on atomic-save rename (editor writes temp file, renames over target)', async () => {
83
+ // Why this matters: VS Code on macOS uses atomic-save by default — it
84
+ // writes to app.json.tmp-xyz and renames it over app.json. If the
85
+ // watcher only listens for direct writes, every save in VS Code looks
86
+ // like nothing happened. We accept any number of onChange invocations
87
+ // >= 1, since this single user action can naturally surface as either
88
+ // an "add" or a "change" event in chokidar.
89
+ const target = path.join(tempDir, 'app.json');
90
+ fs.writeFileSync(target, '{}');
91
+ const onChange = vi.fn();
92
+ handle = createProjectWatcher(tempDir, onChange);
93
+ await settle();
94
+ const tmp = path.join(tempDir, 'app.json.tmp-xyz');
95
+ fs.writeFileSync(tmp, '{"a":1}');
96
+ fs.renameSync(tmp, target);
97
+ await vi.waitFor(() => expect(onChange).toHaveBeenCalled(), { timeout: 2000 });
98
+ });
99
+ it('fires onChange for edits deep inside subdirectories', async () => {
100
+ // Why this matters: mini-app source trees are always nested
101
+ // (pages/index/index.wxml, components/foo/foo.js). If the watcher is
102
+ // non-recursive or has a shallow depth setting, the most common files
103
+ // in the project will silently fail to rebuild.
104
+ const nestedDir = path.join(tempDir, 'pages', 'index');
105
+ fs.mkdirSync(nestedDir, { recursive: true });
106
+ const target = path.join(nestedDir, 'index.wxml');
107
+ fs.writeFileSync(target, '<view></view>');
108
+ const onChange = vi.fn();
109
+ handle = createProjectWatcher(tempDir, onChange);
110
+ await settle();
111
+ fs.writeFileSync(target, '<view>updated</view>');
112
+ await vi.waitFor(() => expect(onChange).toHaveBeenCalled(), { timeout: 2000 });
113
+ });
114
+ it('stays quiet when only .git internals change', async () => {
115
+ // Why this matters: if the watcher picks up .git/HEAD shuffling or
116
+ // other VCS bookkeeping, every `git checkout` or `git commit` triggers
117
+ // a spurious rebuild — and worse, an auto-compile that itself touches
118
+ // files can loop. The watcher must ignore .git entirely.
119
+ const gitDir = path.join(tempDir, '.git');
120
+ fs.mkdirSync(gitDir, { recursive: true });
121
+ const head = path.join(gitDir, 'HEAD');
122
+ fs.writeFileSync(head, 'ref: refs/heads/main\n');
123
+ const onChange = vi.fn();
124
+ handle = createProjectWatcher(tempDir, onChange);
125
+ await settle();
126
+ fs.writeFileSync(head, 'ref: refs/heads/other\n');
127
+ // Negative assertion: wait a bit, then confirm no call happened.
128
+ // We don't use vi.waitFor here because we're proving absence, not
129
+ // presence — vi.waitFor would just burn the full timeout regardless.
130
+ await settle(500);
131
+ expect(onChange).not.toHaveBeenCalled();
132
+ });
133
+ it('stops firing onChange after close() is called', async () => {
134
+ // Why this matters: when a project session ends (user closes the
135
+ // devtools window, switches projects), lingering watchers would keep
136
+ // triggering rebuilds against stale state. close() must actually stop
137
+ // the watcher.
138
+ const target = path.join(tempDir, 'app.json');
139
+ fs.writeFileSync(target, '{}');
140
+ const onChange = vi.fn();
141
+ handle = createProjectWatcher(tempDir, onChange);
142
+ await settle();
143
+ await handle.close();
144
+ handle = undefined; // prevent afterEach double-close
145
+ // Clear any events that arrived during the ready window so we're only
146
+ // measuring what happens after close().
147
+ onChange.mockClear();
148
+ fs.writeFileSync(target, '{"after":"close"}');
149
+ await settle(500);
150
+ expect(onChange).not.toHaveBeenCalled();
151
+ });
152
+ });
@@ -1 +1 @@
1
- :root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:clamp(.4px,.13333vw,2px)}*{-webkit-tap-highlight-color:transparent;vertical-align:baseline;scrollbar-width:none;outline:none;margin:0;padding:0}::-webkit-scrollbar{width:0;height:0;display:none}img{vertical-align:top;border:none}em,i{font-style:normal}ol,ul{list-style:none}button,h1,h2,h3,h4,h5,h6,input,select{font-family:inherit;font-size:100%}table{border-collapse:collapse;border-spacing:0}a,a:visited{text-decoration:none}body{-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;font-family:HarmonyOSHans-Light,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:normal;overflow:hidden auto}.dd-page{box-sizing:border-box}@font-face{font-weight:400;font-style:normal;font-family:weui;src:url(data:application/octet-stream;base64,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)format("truetype")}.dd-button{box-sizing:border-box;text-align:center;-webkit-tap-highlight-color:transparent;color:#000;background-color:#f8f8f8;border-radius:5px;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;font-size:18px;line-height:2.55556;text-decoration:none;display:block;position:relative;overflow:hidden}.dd-button[hidden]{display:none}.dd-button:after{content:" ";transform-origin:0 0;box-sizing:border-box;border:1px solid #0003;border-radius:10px;width:200%;height:200%;position:absolute;top:0;left:0;transform:scale(.5)}.dd-button[native]{padding-left:0;padding-right:0}.dd-button[native] .dd-button-cover-view-wrapper{border:inherit;border-color:inherit;border-radius:inherit;background-color:inherit}.dd-button[native] .dd-button-cover-view-inner{padding-left:14px;padding-right:14px}.dd-button .dd-cover-view{line-height:inherit;white-space:inherit}.dd-button[type=default]{color:#000;background-color:#f8f8f8}.dd-button[type=primary]{color:#fff;background-color:#1aad19}.dd-button[type=warn]{color:#fff;background-color:#e64340}.dd-button[disabled]{color:#fff9}.dd-button[disabled][type=default],.dd-button[disabled]:not([type]){color:#0000004d;background-color:#f7f7f7}.dd-button[disabled][type=primary]{background-color:#9ed99d}.dd-button[disabled][type=warn]{background-color:#ec8b89}.dd-button[type=primary][plain]{color:#1aad19;background-color:#0000;border:1px solid #1aad19}.dd-button[type=primary][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=primary][plain]:after{border-width:0}.dd-button[type=default][plain]{color:#353535;background-color:#0000;border:1px solid #353535}.dd-button[type=default][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=default][plain]:after{border-width:0}.dd-button[plain]{color:#353535;background-color:#0000;border:1px solid #353535}.dd-button[plain][disabled]{color:#0003;border-color:#0003}.dd-button[plain]:after{border-width:0}.dd-button[plain][native] .dd-button-cover-view-inner{padding:0}.dd-button[type=warn][plain]{color:#e64340;background-color:#0000;border:1px solid #e64340}.dd-button[type=warn][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=warn][plain]:after{border-width:0}.dd-button[size=mini]{padding:0 1.34em;font-size:13px;line-height:2.3;display:inline-block}.dd-button[size=mini][native]{padding:0}.dd-button[size=mini][native] .dd-button-cover-view-inner{padding:0 1.34em}.dd-button[loading]:before{content:" ";vertical-align:middle;background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iciIgd2lkdGg9JzEyMHB4JyBoZWlnaHQ9JzEyMHB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJub25lIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjRTlFOUU5JwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICA8L3JlY3Q+CiAgICA8cmVjdCB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzk4OTY5NycKICAgICAgICAgIHRyYW5zZm9ybT0ncm90YXRlKDMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4KICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyM5Qjk5OUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz4KICAgIDwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjQTNBMUEyJwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoOTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNBQkE5QUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxMjAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCMkIyQjInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCQUI4QjknCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxODAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDMkMwQzEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyMTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDQkNCQ0InCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEMkQyRDInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEQURBREEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNFMkUyRTInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0Pgo8L3N2Zz4=) 0 0/100% no-repeat;width:18px;height:18px;animation:1s steps(12,end) infinite dd-button-loading-animate;display:inline-block}.dd-button[loading][type=primary]{color:#fff9;background-color:#179b16}.dd-button[loading][type=primary][plain]{color:#1aad19;background-color:#0000}.dd-button[loading][type=default]{color:#0009;background-color:#dedede}.dd-button[loading][type=default][plain]{color:#353535;background-color:#0000}.dd-button[loading][type=warn]{color:#fff9;background-color:#ce3c39}.dd-button[loading][type=warn][plain]{color:#e64340;background-color:#0000}.dd-button[loading][native]:before{content:none}@keyframes dd-button-loading-animate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button-hover{color:#0009;background-color:#dedede}.button-hover[plain]{color:#35353599;background-color:#0000;border-color:#35353599}.button-hover[type=primary]{color:#fff9;background-color:#179b16}.button-hover[type=primary][plain]{color:#1aad1999;background-color:#0000;border-color:#1aad1999}.button-hover[type=default]{color:#0009;background-color:#dedede}.button-hover[type=default][plain]{color:#35353599;background-color:#0000;border-color:#35353599}.button-hover[type=warn]{color:#fff9;background-color:#ce3c39}.button-hover[type=warn][plain]{color:#e6434099;background-color:#0000;border-color:#e6434099}.dd-camera{width:inherit;height:inherit}.dd-camera[hidden]{display:none}.dd-camera .dd-camera-container{-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:scroll}.dd-camera-desktop{color:#fff;background-color:gray;align-items:center;display:flex}.dd-checkbox{display:inline-block}.dd-checkbox[hidden]{display:none}.dd-checkbox-wrapper{vertical-align:middle;align-items:center;display:inline-flex}.dd-checkbox-input{appearance:none;text-indent:0;background-color:#fff;border:1px solid #d1d1d1;border-radius:3px;outline:0;width:22px;height:22px;margin-right:5px;position:relative}.dd-checkbox-input-checked{color:#09bb07}.dd-checkbox-input-checked:before{content:"";font:22px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-checkbox-group{display:block}.dd-checkbox-group[hidden]{display:none}.dd-image{width:inherit;height:inherit;display:inline-block;overflow:hidden}.dd-image img{width:inherit;height:inherit;pointer-events:none}.dd-image img[src=""],.dd-image img:not([src]){opacity:0}.dd-image[hidden]{display:none}.dd-image-scale{object-fit:fill;width:100%;height:100%}.dd-image-aspect{object-fit:contain;width:100%;height:100%}.dd-image-fill{object-fit:cover;width:100%;height:100%}.dd-image-width{width:100%;height:auto}.dd-image-height{width:auto;height:100%}.dd-image-top{object-fit:none;object-position:top;width:100%;height:100%}.dd-image-bottom{object-fit:none;object-position:bottom;width:100%;height:100%}.dd-image-center{object-fit:none;object-position:center;width:100%;height:100%}.dd-image-left{object-fit:none;object-position:left;width:100%;height:100%}.dd-image-right{object-fit:none;object-position:right;width:100%;height:100%}.dd-image-top-left{object-fit:none;object-position:top left;width:100%;height:100%}.dd-image-top-right{object-fit:none;object-position:top right;width:100%;height:100%}.dd-image-bottom-left{object-fit:none;object-position:bottom left;width:100%;height:100%}.dd-image-bottom-right{object-fit:none;object-position:bottom right;width:100%;height:100%}.dd-view{display:block}.dd-view[hidden]{display:none}.dd-icon{font:14px/1 weui;font-size:var(--ca781606);color:var(--v86488c32) .dd-icon [hidden];color-display:none;display:inline-block}[class^=dd-icon-]:before,[class*=dd-icon-]:before{margin:0}.dd-icon-success{color:#09bb07}.dd-icon-success:before{content:""}.dd-icon-info{color:#10aeff}.dd-icon-info:before{content:""}.dd-icon-warn{color:#f76260}.dd-icon-warn:before{content:""}.dd-icon-waiting{color:#10aeff}.dd-icon-waiting:before{content:""}.dd-icon-safe_success{color:#09bb07}.dd-icon-safe_success:before{content:""}.dd-icon-safe_warn{color:#ffbe00}.dd-icon-safe_warn:before{content:""}.dd-icon-success_circle{color:#09bb07}.dd-icon-success_circle:before{content:""}.dd-icon-success_no_circle{color:#09bb07}.dd-icon-success_no_circle:before{content:""}.dd-icon-waiting_circle{color:#10aeff}.dd-icon-waiting_circle:before{content:""}.dd-icon-circle{color:#c9c9c9}.dd-icon-circle:before{content:""}.dd-icon-download{color:#09bb07}.dd-icon-download:before{content:""}.dd-icon-info_circle{color:#09bb07}.dd-icon-info_circle:before{content:""}.dd-icon-cancel{color:#f43530}.dd-icon-cancel:before{content:""}.dd-icon-search{color:#b2b2b2}.dd-icon-search:before{content:""}.dd-icon-clear{color:#b2b2b2}.dd-icon-clear:before{content:""}[class^=dd-icon-]:before,[class*=dd-icon-]:before{box-sizing:border-box}.dd-input-wrapper{width:100%;height:100%;position:relative}.dd-input{appearance:none;width:100%;font-family:inherit;font-size:inherit;color:inherit;height:inherit;text-align:inherit;overflow:inherit;white-space:inherit;text-overflow:inherit;background-color:#0000;border:none;outline:0;margin:0;padding:0;display:block}.dd-input::-webkit-outer-spin-button{appearance:none;margin:0}.dd-input::-webkit-inner-spin-button{appearance:none;margin:0}.dd-input-placeholder{pointer-events:none;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0}.dd-input-placeholder.input-placeholder{color:#0000004d}.dd-input-disabled{opacity:.5}.dd-map{width:inherit;height:inherit}.dd-map[hidden]{display:none}.dd-map .dd-map-container{-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:scroll}.dd-map-desktop{color:#fff;background-color:gray;justify-content:center;align-items:center;display:flex}.dd-movable-area{width:10px;height:10px;display:block;position:relative}.dd-movable-area[hidden]{display:none}.dd-movable-view{visibility:hidden;cursor:grab;width:10px;height:10px;display:inline-block;position:absolute;top:0;left:0}.dd-movable-view.direction-horizontal{touch-action:pan-y}.dd-movable-view.direction-vertical{touch-action:pan-x}.dd-movable-view.direction-all{touch-action:none}.dd-movable-view.direction-none{touch-action:auto}.dd-movable-view .dd-movable-view-content{all:inherit;visibility:visible;-webkit-overflow-scrolling:touch;transition-property:transform;transition-duration:var(--duration);transform-origin:50%;will-change:transform;backface-visibility:hidden;transition-timing-function:ease-out;top:0;left:0}.dd-movable-view[hidden]{display:none}.dd-navigator{width:auto;height:auto;display:block}.dd-navigator.navigator-hover{opacity:.7;background-color:#0000001a}.dd-navigator[hidden]{display:none}.dd-picker-column[data-v-61501610]{flex:1;height:220px;position:relative;overflow:hidden}.dd-picker-column .dd-picker-column-mask[data-v-61501610]{pointer-events:none;z-index:2;background:linear-gradient(#ffffffe6 0%,#fff6 40%,#fff0 50%,#fff6 60%,#ffffffe6 100%);position:absolute;inset:0}.dd-picker-column .dd-picker-column-indicator[data-v-61501610]{pointer-events:none;z-index:1;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;height:44px;margin-top:-22px;position:absolute;top:50%;left:0;right:0}.dd-picker-column .dd-picker-column-content[data-v-61501610]{cursor:grab;padding-top:88px;padding-bottom:88px;position:relative}.dd-picker-column .dd-picker-column-content[data-v-61501610]:active{cursor:grabbing}.dd-picker-column .dd-picker-column-item[data-v-61501610]{text-align:center;color:#333;height:44px;font-size:16px;line-height:44px;transition:color .3s}.dd-picker-column .dd-picker-column-item.dd-picker-column-item-selected[data-v-61501610]{color:#000;font-weight:500}.dd-picker{cursor:pointer;display:block}.dd-picker[hidden]{display:none}.dd-picker-overlay{z-index:1000;background-color:#0009;align-items:flex-end;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.dd-picker-container{background-color:#fff;border-radius:12px 12px 0 0;width:100%;max-height:80vh;animation:.3s slideUp}.dd-picker-header{background-color:#fafafa;border-bottom:1px solid #e5e5e5;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dd-picker-action{cursor:pointer;border-radius:4px;padding:4px 8px;font-size:16px;transition:background-color .2s}.dd-picker-action:hover{background-color:#0000000d}.dd-picker-cancel{color:#999}.dd-picker-confirm{color:#09bb07;font-weight:500}.dd-picker-title{color:#333;font-size:16px;font-weight:500}.dd-picker-body{background-color:#fff;padding:20px 0}.dd-picker-columns{align-items:center;gap:0;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dd-picker-view{display:flex;position:relative;overflow:hidden}.dd-picker-view[hidden]{display:none}.dd-picker-view-column{z-index:0;flex:1;height:100%;position:relative;overflow:hidden}.dd-picker-view-column .dd-picker__mask{transform:translateZ(0)}.dd-picker-view-column .dd-picker__indicator,.dd-picker-view-column .dd-picker__mask{z-index:3;width:100%;position:absolute;left:0}.dd-picker-view-column .dd-picker__mask{background-color:#0000;background-image:linear-gradient(#fffffff2,#fff9),linear-gradient(#fff9,#fffffff2);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 102px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:100%;margin:0 auto;top:0}.dd-picker-view-column .dd-picker__indicator{top:102px}.dd-picker-view-column .dd-picker__indicator,.dd-picker-view-column .dd-picker__mask{z-index:3;pointer-events:none;width:100%;position:absolute;left:0}.dd-picker-view-column .dd-picker__content{width:100%;transition:transform var(--duration) ease-out 0s;cursor:grab;position:absolute;top:0;left:0}.dd-picker-view-column .dd-picker__indicator:before{transform-origin:0 0;border-top:1px solid #e5e5e5;top:0;transform:scaleY(.5)}.dd-picker-view-column .dd-picker__indicator:after{transform-origin:0 100%;border-bottom:1px solid #e5e5e5;bottom:0;transform:scaleY(.5)}.dd-picker-view-column .dd-picker__indicator:after,.dd-picker-view-column .dd-picker__indicator:before{content:" ";color:#e5e5e5;height:1px;position:absolute;left:0;right:0}.dd-progress{align-items:center;display:flex}.dd-progress[hidden]{display:none}.dd-progress .dd-progress-bar{flex:1;overflow:hidden}.dd-progress .dd-progress-inner-bar{--percent:0;--duration:0s;width:var(--percent);height:100%;transition-duration:var(--duration);transition-property:width}.dd-progress .dd-progress-info{min-width:2em;margin-top:0;margin-bottom:0;margin-left:15px;font-size:16px}.dd-radio{display:inline-block}.dd-radio[hidden]{display:none}.dd-radio-wrapper{vertical-align:middle;align-items:center;display:inline-flex}.dd-radio-input{appearance:none;background-color:#fff;border:1px solid #d1d1d1;border-radius:50%;outline:0;width:22px;height:22px;margin-right:5px;position:relative}.dd-radio-input-checked{background-color:#09bb07;border-color:#09bb07}.dd-radio-input-checked:before{content:"";color:#fff;font:18px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-radio-input-disabled{background-color:#e1e1e1;border-color:#d1d1d1}.dd-radio-input-disabled:before{color:#adadad}.dd-radio-group{display:block}.dd-radio-group[hidden]{display:none}.dd-rich-text{-webkit-user-select:text;user-select:text}.dd-rich-text[hidden]{display:none}.dd-root-portal{z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}.dd-root-portal-disabled{display:block}.dd-scroll-view{width:100%;height:inherit;-webkit-overflow-scrolling:touch;max-height:inherit;position:relative;overflow:auto}.dd-scroll-view[hidden]{display:none}.dd-scroll-view.scroll-x{overflow:auto hidden!important}.dd-scroll-view.scroll-y{overflow:hidden auto!important}.dd-scroll-view.scroll-x.scroll-y{overflow:auto}.dd-scroll-view.hide-scrollbar{scroll-behavior:smooth;position:relative}.dd-scroll-view.hide-scrollbar::-webkit-scrollbar{width:0;height:0}.dd-slider{margin:10px 18px;padding:0;display:block}.dd-slider[hidden]{display:block}.dd-slider-wrapper{align-items:center;min-height:16px;display:flex}.dd-slider-tap-area{flex:1;padding:8px 0}.dd-slider-handle-wrapper{z-index:0;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#e9e9e9;border-radius:5px;height:2px;transition:background-color .3s;position:relative}.dd-slider-track{background-color:#1aad19;border-radius:6px;height:100%;transition:background-color .3s}.dd-slider-handle,.dd-slider-thumb{cursor:grab;border-radius:50%;transition:border-color .3s;position:absolute;top:50%;left:0%}.dd-slider-handle{z-index:3;background-color:#0000;width:28px;height:28px;margin-top:-14px;margin-left:-14px}.dd-slider-thumb{z-index:2;background-color:#fff;width:28px;height:28px;margin-top:-14px;margin-left:-14px;box-shadow:0 0 4px #0003}.dd-slider-step{z-index:1;background:0 0;width:100%;height:2px;position:absolute}.dd-slider-value{color:#888;text-align:center;margin-left:1em;font-size:14px}.dd-slider-disabled .dd-slider-track{background-color:#ccc}.dd-slider-disabled .dd-slider-thumb{background-color:#fff;border-color:#ccc}.dd-swiper{height:150px;display:block}.dd-swiper[hidden]{display:none}.dd-swiper .dd-swiper-wrapper{cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}.dd-swiper .dd-swiper-slides{position:absolute;inset:0}.dd-swiper .dd-swiper-slide-frame{will-change:transform;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.dd-swiper .dd-swiper-dots{font-size:0;position:absolute}.dd-swiper .dd-swiper-dots-horizontal{text-align:center;white-space:nowrap;bottom:10px;left:50%;transform:translate(-50%)}.dd-swiper .dd-swiper-dots-horizontal .dd-swiper-dot{margin-right:8px}.dd-swiper .dd-swiper-dots-horizontal .dd-swiper-dot:last-child{margin-right:0}.dd-swiper .dd-swiper-dots-vertical{text-align:right;top:50%;right:10px;transform:translateY(-50%)}.dd-swiper .dd-swiper-dots-vertical .dd-swiper-dot{margin-bottom:9px;display:block}.dd-swiper .dd-swiper-dots-vertical .dd-swiper-dot:last-child{margin-bottom:0}.dd-swiper .dd-swiper-dot{background:#0000004d;border-radius:50%;width:8px;height:8px;transition-property:background-color;transition-timing-function:ease;display:inline-block}.dd-swiper .dd-swiper-dot-active{background-color:#000}.dd-swiper-item{will-change:transform;flex:0 0 100%;width:100%;display:block}.dd-swiper-item[hidden]{display:none}.dd-switch-input{appearance:none;box-sizing:border-box;background-color:#dfdfdf;border:1px solid #dfdfdf;border-radius:16px;outline:0;width:52px;height:32px;margin-right:5px;transition:background-color .1s,border .1s;display:inline-block;position:relative}.dd-switch-input:before{content:" ";background-color:#fdfdfd;border-radius:15px;width:50px;height:30px;transition:transform .3s;position:absolute;top:0;left:0}.dd-switch-input:after{content:" ";background-color:#fff;border-radius:15px;width:30px;height:30px;transition:transform .3s;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0006}.dd-switch-input-inner{border-radius:inherit;position:absolute;inset:0}.dd-switch-input-checked:before{transform:scale(0)}.dd-switch-input-checked:after{transform:translate(20px)}.dd-checkbox-input{appearance:none;background-color:#fff;border:1px solid #d1d1d1;border-radius:3px;outline:0;width:22px;height:22px;margin-right:5px;display:inline-block;position:relative}.dd-checkbox-input-inner{border-radius:inherit;position:absolute;inset:0}.dd-checkbox-input-checked .dd-checkbox-input-inner:before{content:"";color:inherit;font:22px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-checkbox-input-disabled{background-color:#e1e1e1}.dd-checkbox-input-disabled:before{color:#adadad}.dd-text{-webkit-user-select:none;user-select:none;display:inline}.dd-text[hidden]{display:none}.dd-text-selectable{cursor:auto;-webkit-user-select:text;user-select:text;display:inline-block}.dd-textarea-wrapper{width:100%;height:100%;position:relative}.dd-textarea{resize:none;width:100%;height:100%;font-family:inherit;line-height:1.2;font-size:inherit;color:inherit;background-color:#0000;border:none;outline:none;padding:0;display:block;position:relative}.dd-textarea::-webkit-scrollbar{display:none}.dd-textarea[hidden]{display:none}.dd-textarea-placeholder{padding:inherit;pointer-events:none;position:absolute;top:0;left:0}.dd-textarea-placeholder.textarea-placeholder{color:#0000004d}.dd-textarea-disabled{opacity:.5}.dd-web-view{width:100vw;height:100vh}.dd-web-view-pc{border:0;width:100%;height:100%;position:absolute;top:0;left:0}
1
+ :root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:clamp(.4px,.13333vw,2px)}*{-webkit-tap-highlight-color:transparent;vertical-align:baseline;scrollbar-width:none;outline:none;margin:0;padding:0}::-webkit-scrollbar{width:0;height:0;display:none}img{vertical-align:top;border:none}em,i{font-style:normal}ol,ul{list-style:none}button,h1,h2,h3,h4,h5,h6,input,select{font-family:inherit;font-size:100%}table{border-collapse:collapse;border-spacing:0}a,a:visited{text-decoration:none}body{-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;font-family:HarmonyOSHans-Light,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:normal;overflow:hidden auto}.dd-page{box-sizing:border-box}@font-face{font-weight:400;font-style:normal;font-family:weui;src:url(data:application/octet-stream;base64,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)format("truetype")}.dd-button{box-sizing:border-box;text-align:center;-webkit-tap-highlight-color:transparent;color:#000;background-color:#f8f8f8;border-radius:5px;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;font-size:18px;line-height:2.55556;text-decoration:none;display:block;position:relative;overflow:hidden}.dd-button[hidden]{display:none}.dd-button:after{content:" ";transform-origin:0 0;box-sizing:border-box;border:1px solid #0003;border-radius:10px;width:200%;height:200%;position:absolute;top:0;left:0;transform:scale(.5)}.dd-button[native]{padding-left:0;padding-right:0}.dd-button[native] .dd-button-cover-view-wrapper{border:inherit;border-color:inherit;border-radius:inherit;background-color:inherit}.dd-button[native] .dd-button-cover-view-inner{padding-left:14px;padding-right:14px}.dd-button .dd-cover-view{line-height:inherit;white-space:inherit}.dd-button[type=default]{color:#000;background-color:#f8f8f8}.dd-button[type=primary]{color:#fff;background-color:#1aad19}.dd-button[type=warn]{color:#fff;background-color:#e64340}.dd-button[disabled]{color:#fff9}.dd-button[disabled][type=default],.dd-button[disabled]:not([type]){color:#0000004d;background-color:#f7f7f7}.dd-button[disabled][type=primary]{background-color:#9ed99d}.dd-button[disabled][type=warn]{background-color:#ec8b89}.dd-button[type=primary][plain]{color:#1aad19;background-color:#0000;border:1px solid #1aad19}.dd-button[type=primary][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=primary][plain]:after{border-width:0}.dd-button[type=default][plain]{color:#353535;background-color:#0000;border:1px solid #353535}.dd-button[type=default][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=default][plain]:after{border-width:0}.dd-button[plain]{color:#353535;background-color:#0000;border:1px solid #353535}.dd-button[plain][disabled]{color:#0003;border-color:#0003}.dd-button[plain]:after{border-width:0}.dd-button[plain][native] .dd-button-cover-view-inner{padding:0}.dd-button[type=warn][plain]{color:#e64340;background-color:#0000;border:1px solid #e64340}.dd-button[type=warn][plain][disabled]{color:#0003;border-color:#0003}.dd-button[type=warn][plain]:after{border-width:0}.dd-button[size=mini]{padding:0 1.34em;font-size:13px;line-height:2.3;display:inline-block}.dd-button[size=mini][native]{padding:0}.dd-button[size=mini][native] .dd-button-cover-view-inner{padding:0 1.34em}.dd-button[loading]:before{content:" ";vertical-align:middle;background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iciIgd2lkdGg9JzEyMHB4JyBoZWlnaHQ9JzEyMHB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJub25lIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjRTlFOUU5JwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICA8L3JlY3Q+CiAgICA8cmVjdCB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzk4OTY5NycKICAgICAgICAgIHRyYW5zZm9ybT0ncm90YXRlKDMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4KICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyM5Qjk5OUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz4KICAgIDwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjQTNBMUEyJwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoOTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNBQkE5QUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxMjAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCMkIyQjInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCQUI4QjknCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxODAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDMkMwQzEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyMTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDQkNCQ0InCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEMkQyRDInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEQURBREEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNFMkUyRTInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0Pgo8L3N2Zz4=) 0 0/100% no-repeat;width:18px;height:18px;animation:1s steps(12,end) infinite dd-button-loading-animate;display:inline-block}.dd-button[loading][type=primary]{color:#fff9;background-color:#179b16}.dd-button[loading][type=primary][plain]{color:#1aad19;background-color:#0000}.dd-button[loading][type=default]{color:#0009;background-color:#dedede}.dd-button[loading][type=default][plain]{color:#353535;background-color:#0000}.dd-button[loading][type=warn]{color:#fff9;background-color:#ce3c39}.dd-button[loading][type=warn][plain]{color:#e64340;background-color:#0000}.dd-button[loading][native]:before{content:none}@keyframes dd-button-loading-animate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button-hover{color:#0009;background-color:#dedede}.button-hover[plain]{color:#35353599;background-color:#0000;border-color:#35353599}.button-hover[type=primary]{color:#fff9;background-color:#179b16}.button-hover[type=primary][plain]{color:#1aad1999;background-color:#0000;border-color:#1aad1999}.button-hover[type=default]{color:#0009;background-color:#dedede}.button-hover[type=default][plain]{color:#35353599;background-color:#0000;border-color:#35353599}.button-hover[type=warn]{color:#fff9;background-color:#ce3c39}.button-hover[type=warn][plain]{color:#e6434099;background-color:#0000;border-color:#e6434099}.dd-camera{width:inherit;height:inherit}.dd-camera[hidden]{display:none}.dd-camera .dd-camera-container{-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:scroll}.dd-camera-desktop{color:#fff;background-color:gray;align-items:center;display:flex}.dd-checkbox{display:inline-block}.dd-checkbox[hidden]{display:none}.dd-checkbox-wrapper{vertical-align:middle;align-items:center;display:inline-flex}.dd-checkbox-input{appearance:none;text-indent:0;background-color:#fff;border:1px solid #d1d1d1;border-radius:3px;outline:0;width:22px;height:22px;margin-right:5px;position:relative}.dd-checkbox-input-checked{color:#09bb07}.dd-checkbox-input-checked:before{content:"";font:22px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-checkbox-group{display:block}.dd-checkbox-group[hidden]{display:none}.dd-image{width:inherit;height:inherit;display:inline-block;overflow:hidden}.dd-image img{width:inherit;height:inherit;pointer-events:none}.dd-image img[src=""],.dd-image img:not([src]){opacity:0}.dd-image[hidden]{display:none}.dd-image-scale{object-fit:fill;width:100%;height:100%}.dd-image-aspect{object-fit:contain;width:100%;height:100%}.dd-image-fill{object-fit:cover;width:100%;height:100%}.dd-image-width{width:100%;height:auto}.dd-image-height{width:auto;height:100%}.dd-image-top{object-fit:none;object-position:top;width:100%;height:100%}.dd-image-bottom{object-fit:none;object-position:bottom;width:100%;height:100%}.dd-image-center{object-fit:none;object-position:center;width:100%;height:100%}.dd-image-left{object-fit:none;object-position:left;width:100%;height:100%}.dd-image-right{object-fit:none;object-position:right;width:100%;height:100%}.dd-image-top-left{object-fit:none;object-position:top left;width:100%;height:100%}.dd-image-top-right{object-fit:none;object-position:top right;width:100%;height:100%}.dd-image-bottom-left{object-fit:none;object-position:bottom left;width:100%;height:100%}.dd-image-bottom-right{object-fit:none;object-position:bottom right;width:100%;height:100%}.dd-cover-image-native-placeholder{display:inline-block;pointer-events:none!important;visibility:hidden!important}.dd-cover-image-native-placeholder img{width:inherit;height:inherit}.dd-view{display:block}.dd-view[hidden]{display:none}.dd-cover-view-native-placeholder{pointer-events:none!important;visibility:hidden!important}.dd-icon{font:14px/1 weui;font-size:var(--ca781606);color:var(--v86488c32) .dd-icon [hidden];color-display:none;display:inline-block}[class^=dd-icon-]:before,[class*=dd-icon-]:before{margin:0}.dd-icon-success{color:#09bb07}.dd-icon-success:before{content:""}.dd-icon-info{color:#10aeff}.dd-icon-info:before{content:""}.dd-icon-warn{color:#f76260}.dd-icon-warn:before{content:""}.dd-icon-waiting{color:#10aeff}.dd-icon-waiting:before{content:""}.dd-icon-safe_success{color:#09bb07}.dd-icon-safe_success:before{content:""}.dd-icon-safe_warn{color:#ffbe00}.dd-icon-safe_warn:before{content:""}.dd-icon-success_circle{color:#09bb07}.dd-icon-success_circle:before{content:""}.dd-icon-success_no_circle{color:#09bb07}.dd-icon-success_no_circle:before{content:""}.dd-icon-waiting_circle{color:#10aeff}.dd-icon-waiting_circle:before{content:""}.dd-icon-circle{color:#c9c9c9}.dd-icon-circle:before{content:""}.dd-icon-download{color:#09bb07}.dd-icon-download:before{content:""}.dd-icon-info_circle{color:#09bb07}.dd-icon-info_circle:before{content:""}.dd-icon-cancel{color:#f43530}.dd-icon-cancel:before{content:""}.dd-icon-search{color:#b2b2b2}.dd-icon-search:before{content:""}.dd-icon-clear{color:#b2b2b2}.dd-icon-clear:before{content:""}[class^=dd-icon-]:before,[class*=dd-icon-]:before{box-sizing:border-box}.dd-input-wrapper{width:100%;height:100%;position:relative}.dd-input{appearance:none;width:100%;font-family:inherit;font-size:inherit;color:inherit;height:inherit;text-align:inherit;overflow:inherit;white-space:inherit;text-overflow:inherit;background-color:#0000;border:none;outline:0;margin:0;padding:0;display:block}.dd-input::-webkit-outer-spin-button{appearance:none;margin:0}.dd-input::-webkit-inner-spin-button{appearance:none;margin:0}.dd-input-placeholder{pointer-events:none;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0}.dd-input-placeholder.input-placeholder{color:#0000004d}.dd-input-disabled{opacity:.5}.dd-map{width:inherit;height:inherit}.dd-map[hidden]{display:none}.dd-map .dd-map-container{-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:scroll}.dd-map-desktop{color:#fff;background-color:gray;justify-content:center;align-items:center;display:flex}.dd-movable-area{width:10px;height:10px;display:block;position:relative}.dd-movable-area[hidden]{display:none}.dd-movable-view{visibility:hidden;cursor:grab;width:10px;height:10px;display:inline-block;position:absolute;top:0;left:0}.dd-movable-view.direction-horizontal{touch-action:pan-y}.dd-movable-view.direction-vertical{touch-action:pan-x}.dd-movable-view.direction-all{touch-action:none}.dd-movable-view.direction-none{touch-action:auto}.dd-movable-view .dd-movable-view-content{all:inherit;visibility:visible;-webkit-overflow-scrolling:touch;transition-property:transform;transition-duration:var(--duration);transform-origin:50%;will-change:transform;backface-visibility:hidden;transition-timing-function:ease-out;top:0;left:0}.dd-movable-view[hidden]{display:none}.dd-navigator{width:auto;height:auto;display:block}.dd-navigator.navigator-hover{opacity:.7;background-color:#0000001a}.dd-navigator[hidden]{display:none}.dd-picker-column[data-v-61501610]{flex:1;height:220px;position:relative;overflow:hidden}.dd-picker-column .dd-picker-column-mask[data-v-61501610]{pointer-events:none;z-index:2;background:linear-gradient(#ffffffe6 0%,#fff6 40%,#fff0 50%,#fff6 60%,#ffffffe6 100%);position:absolute;inset:0}.dd-picker-column .dd-picker-column-indicator[data-v-61501610]{pointer-events:none;z-index:1;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;height:44px;margin-top:-22px;position:absolute;top:50%;left:0;right:0}.dd-picker-column .dd-picker-column-content[data-v-61501610]{cursor:grab;padding-top:88px;padding-bottom:88px;position:relative}.dd-picker-column .dd-picker-column-content[data-v-61501610]:active{cursor:grabbing}.dd-picker-column .dd-picker-column-item[data-v-61501610]{text-align:center;color:#333;height:44px;font-size:16px;line-height:44px;transition:color .3s}.dd-picker-column .dd-picker-column-item.dd-picker-column-item-selected[data-v-61501610]{color:#000;font-weight:500}.dd-picker{cursor:pointer;display:block}.dd-picker[hidden]{display:none}.dd-picker-overlay{z-index:1000;background-color:#0009;align-items:flex-end;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.dd-picker-container{background-color:#fff;border-radius:12px 12px 0 0;width:100%;max-height:80vh;animation:.3s slideUp}.dd-picker-header{background-color:#fafafa;border-bottom:1px solid #e5e5e5;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dd-picker-action{cursor:pointer;border-radius:4px;padding:4px 8px;font-size:16px;transition:background-color .2s}.dd-picker-action:hover{background-color:#0000000d}.dd-picker-cancel{color:#999}.dd-picker-confirm{color:#09bb07;font-weight:500}.dd-picker-title{color:#333;font-size:16px;font-weight:500}.dd-picker-body{background-color:#fff;padding:20px 0}.dd-picker-columns{align-items:center;gap:0;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dd-picker-view{display:flex;position:relative;overflow:hidden}.dd-picker-view[hidden]{display:none}.dd-picker-view-column{z-index:0;flex:1;height:100%;position:relative;overflow:hidden}.dd-picker-view-column .dd-picker__mask{transform:translateZ(0)}.dd-picker-view-column .dd-picker__indicator,.dd-picker-view-column .dd-picker__mask{z-index:3;width:100%;position:absolute;left:0}.dd-picker-view-column .dd-picker__mask{background-color:#0000;background-image:linear-gradient(#fffffff2,#fff9),linear-gradient(#fff9,#fffffff2);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 102px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:100%;margin:0 auto;top:0}.dd-picker-view-column .dd-picker__indicator{top:102px}.dd-picker-view-column .dd-picker__indicator,.dd-picker-view-column .dd-picker__mask{z-index:3;pointer-events:none;width:100%;position:absolute;left:0}.dd-picker-view-column .dd-picker__content{width:100%;transition:transform var(--duration) ease-out 0s;cursor:grab;position:absolute;top:0;left:0}.dd-picker-view-column .dd-picker__indicator:before{transform-origin:0 0;border-top:1px solid #e5e5e5;top:0;transform:scaleY(.5)}.dd-picker-view-column .dd-picker__indicator:after{transform-origin:0 100%;border-bottom:1px solid #e5e5e5;bottom:0;transform:scaleY(.5)}.dd-picker-view-column .dd-picker__indicator:after,.dd-picker-view-column .dd-picker__indicator:before{content:" ";color:#e5e5e5;height:1px;position:absolute;left:0;right:0}.dd-progress{align-items:center;display:flex}.dd-progress[hidden]{display:none}.dd-progress .dd-progress-bar{flex:1;overflow:hidden}.dd-progress .dd-progress-inner-bar{--percent:0;--duration:0s;width:var(--percent);height:100%;transition-duration:var(--duration);transition-property:width}.dd-progress .dd-progress-info{min-width:2em;margin-top:0;margin-bottom:0;margin-left:15px;font-size:16px}.dd-radio{display:inline-block}.dd-radio[hidden]{display:none}.dd-radio-wrapper{vertical-align:middle;align-items:center;display:inline-flex}.dd-radio-input{appearance:none;background-color:#fff;border:1px solid #d1d1d1;border-radius:50%;outline:0;width:22px;height:22px;margin-right:5px;position:relative}.dd-radio-input-checked{background-color:#09bb07;border-color:#09bb07}.dd-radio-input-checked:before{content:"";color:#fff;font:18px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-radio-input-disabled{background-color:#e1e1e1;border-color:#d1d1d1}.dd-radio-input-disabled:before{color:#adadad}.dd-radio-group{display:block}.dd-radio-group[hidden]{display:none}.dd-rich-text{-webkit-user-select:text;user-select:text}.dd-rich-text[hidden]{display:none}.dd-root-portal{z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}.dd-root-portal-disabled{display:block}.dd-scroll-view{width:100%;height:inherit;-webkit-overflow-scrolling:touch;max-height:inherit;position:relative;overflow:auto}.dd-scroll-view[hidden]{display:none}.dd-scroll-view.scroll-x{overflow:auto hidden!important}.dd-scroll-view.scroll-y{overflow:hidden auto!important}.dd-scroll-view.scroll-x.scroll-y{overflow:auto}.dd-scroll-view.hide-scrollbar{scroll-behavior:smooth;position:relative}.dd-scroll-view.hide-scrollbar::-webkit-scrollbar{width:0;height:0}.dd-slider{margin:10px 18px;padding:0;display:block}.dd-slider[hidden]{display:block}.dd-slider-wrapper{align-items:center;min-height:16px;display:flex}.dd-slider-tap-area{flex:1;padding:8px 0}.dd-slider-handle-wrapper{z-index:0;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#e9e9e9;border-radius:5px;height:2px;transition:background-color .3s;position:relative}.dd-slider-track{background-color:#1aad19;border-radius:6px;height:100%;transition:background-color .3s}.dd-slider-handle,.dd-slider-thumb{cursor:grab;border-radius:50%;transition:border-color .3s;position:absolute;top:50%;left:0%}.dd-slider-handle{z-index:3;background-color:#0000;width:28px;height:28px;margin-top:-14px;margin-left:-14px}.dd-slider-thumb{z-index:2;background-color:#fff;width:28px;height:28px;margin-top:-14px;margin-left:-14px;box-shadow:0 0 4px #0003}.dd-slider-step{z-index:1;background:0 0;width:100%;height:2px;position:absolute}.dd-slider-value{color:#888;text-align:center;margin-left:1em;font-size:14px}.dd-slider-disabled .dd-slider-track{background-color:#ccc}.dd-slider-disabled .dd-slider-thumb{background-color:#fff;border-color:#ccc}.dd-swiper{height:150px;display:block}.dd-swiper[hidden]{display:none}.dd-swiper .dd-swiper-wrapper{cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}.dd-swiper .dd-swiper-slides{position:absolute;inset:0}.dd-swiper .dd-swiper-slide-frame{will-change:transform;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.dd-swiper .dd-swiper-dots{font-size:0;position:absolute}.dd-swiper .dd-swiper-dots-horizontal{text-align:center;white-space:nowrap;bottom:10px;left:50%;transform:translate(-50%)}.dd-swiper .dd-swiper-dots-horizontal .dd-swiper-dot{margin-right:8px}.dd-swiper .dd-swiper-dots-horizontal .dd-swiper-dot:last-child{margin-right:0}.dd-swiper .dd-swiper-dots-vertical{text-align:right;top:50%;right:10px;transform:translateY(-50%)}.dd-swiper .dd-swiper-dots-vertical .dd-swiper-dot{margin-bottom:9px;display:block}.dd-swiper .dd-swiper-dots-vertical .dd-swiper-dot:last-child{margin-bottom:0}.dd-swiper .dd-swiper-dot{background:#0000004d;border-radius:50%;width:8px;height:8px;transition-property:background-color;transition-timing-function:ease;display:inline-block}.dd-swiper .dd-swiper-dot-active{background-color:#000}.dd-swiper-item{will-change:transform;flex:0 0 100%;width:100%;display:block}.dd-swiper-item[hidden]{display:none}.dd-switch-input{appearance:none;box-sizing:border-box;background-color:#dfdfdf;border:1px solid #dfdfdf;border-radius:16px;outline:0;width:52px;height:32px;margin-right:5px;transition:background-color .1s,border .1s;display:inline-block;position:relative}.dd-switch-input:before{content:" ";background-color:#fdfdfd;border-radius:15px;width:50px;height:30px;transition:transform .3s;position:absolute;top:0;left:0}.dd-switch-input:after{content:" ";background-color:#fff;border-radius:15px;width:30px;height:30px;transition:transform .3s;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0006}.dd-switch-input-inner{border-radius:inherit;position:absolute;inset:0}.dd-switch-input-checked:before{transform:scale(0)}.dd-switch-input-checked:after{transform:translate(20px)}.dd-checkbox-input{appearance:none;background-color:#fff;border:1px solid #d1d1d1;border-radius:3px;outline:0;width:22px;height:22px;margin-right:5px;display:inline-block;position:relative}.dd-checkbox-input-inner{border-radius:inherit;position:absolute;inset:0}.dd-checkbox-input-checked .dd-checkbox-input-inner:before{content:"";color:inherit;font:22px/1 weui;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)scale(.73)}.dd-checkbox-input-disabled{background-color:#e1e1e1}.dd-checkbox-input-disabled:before{color:#adadad}.dd-text{-webkit-user-select:none;user-select:none;display:inline}.dd-text[hidden]{display:none}.dd-text-selectable{cursor:auto;-webkit-user-select:text;user-select:text;display:inline-block}.dd-textarea-wrapper{width:100%;height:100%;position:relative}.dd-textarea{resize:none;width:100%;height:100%;font-family:inherit;line-height:1.2;font-size:inherit;color:inherit;background-color:#0000;border:none;outline:none;padding:0;display:block;position:relative}.dd-textarea::-webkit-scrollbar{display:none}.dd-textarea[hidden]{display:none}.dd-textarea-placeholder{padding:inherit;pointer-events:none;position:absolute;top:0;left:0}.dd-textarea-placeholder.textarea-placeholder{color:#0000004d}.dd-textarea-disabled{opacity:.5}.dd-video{z-index:0;width:300px;height:225px;line-height:0;display:inline-block;position:relative;overflow:hidden}.dd-video[hidden]{display:none}.dd-video .dd-video-container{-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:scroll}.dd-video-placeholder{color:#fff;background-color:gray;justify-content:center;align-items:center;display:flex}.dd-web-view{width:100vw;height:100vh}.dd-web-view-pc{border:0;width:100%;height:100%;position:absolute;top:0;left:0}