diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05801b5..bece9fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,17 +16,27 @@ jobs: - name: build examples run: | - cd examples npm install yarn - yarn + yarn yarn build - cd - rm -rf ./deploy mkdir -p deploy/examples mkdir -p deploy/docs + mkdir -p deploy/demo cp -rf index.html ./deploy cp -rf ./docs/* ./deploy/docs cp -rf ./examples/dist/* ./deploy/examples + cd ./demo + for file in ./* + do + if [ -d $file/dist ];then + echo $file/dist + mkdir -p ./dist/$file + cp -rf $file/dist/* dist/$file/ + fi + done + cd - + cp -rf ./demo/dist ./deploy/demo - name: deploy to github pages uses: peaceiris/actions-gh-pages@v3 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..56eac65 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +demo/dist +examples/dist \ No newline at end of file diff --git a/README.md b/README.md index feb9fb7..f736e29 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,18 @@ "examples": [ { "name": "自定义带有图标的节点-1-1", - "key": "custom-node-1-1" + "key": "custom-node-1-1", + "type": "playground" // playground 表示需要playground, 会跳转至playground页面, link 表示链接,会跳到外部链接(非playground页面) }, { "name": "使用vue自定义html节点-1-1", - "key": "vue-1-1" + "key": "vue-1-1", + "type": "playground" }, { "name": "html卡片-1-1", - "key": "html-card-1-1" + "key": "html-card-1-1", + "type": "playground" } ] } diff --git a/demo/demo-a/package.json b/demo/demo-a/package.json new file mode 100644 index 0000000..b26889c --- /dev/null +++ b/demo/demo-a/package.json @@ -0,0 +1,14 @@ +{ + "name": "demo-a", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "lodash": "^4.17.21" + } +} diff --git a/demo/demo-b/package.json b/demo/demo-b/package.json new file mode 100644 index 0000000..d8c59b5 --- /dev/null +++ b/demo/demo-b/package.json @@ -0,0 +1,11 @@ +{ + "name": "demo-b", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} diff --git a/demo/logicflow-node-red-vue3/.gitignore b/demo/logicflow-node-red-vue3/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/demo/logicflow-node-red-vue3/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/demo/logicflow-node-red-vue3/.vscode/extensions.json b/demo/logicflow-node-red-vue3/.vscode/extensions.json new file mode 100644 index 0000000..3dc5b08 --- /dev/null +++ b/demo/logicflow-node-red-vue3/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["johnsoncodehk.volar"] +} diff --git a/demo/logicflow-node-red-vue3/README.md b/demo/logicflow-node-red-vue3/README.md new file mode 100644 index 0000000..ea39c25 --- /dev/null +++ b/demo/logicflow-node-red-vue3/README.md @@ -0,0 +1,11 @@ +# LogicFlow-NodeRed + +LogicFlow仿NodeRed风格流程图。 + +## 效果 + +![node-red](https://cdn.jsdelivr.net/gh/Logic-Flow/static@latest/core/node-red.png) + +## codesandbox地址 + +[https://codesandbox.io/s/logicflow-node-red-vue3-u2c3zk?file=/src/components/FlowChart.vue](https://codesandbox.io/s/logicflow-node-red-vue3-u2c3zk?file=/src/components/FlowChart.vue) diff --git a/demo/logicflow-node-red-vue3/auto-imports.d.ts b/demo/logicflow-node-red-vue3/auto-imports.d.ts new file mode 100644 index 0000000..5e073f1 --- /dev/null +++ b/demo/logicflow-node-red-vue3/auto-imports.d.ts @@ -0,0 +1,6 @@ +// Generated by 'unplugin-auto-import' +// We suggest you to commit this file into source control +declare global { + +} +export {} diff --git a/demo/logicflow-node-red-vue3/components.d.ts b/demo/logicflow-node-red-vue3/components.d.ts new file mode 100644 index 0000000..c87eec1 --- /dev/null +++ b/demo/logicflow-node-red-vue3/components.d.ts @@ -0,0 +1,18 @@ +// generated by unplugin-vue-components +// We suggest you to commit this file into source control +// Read more: https://github.com/vuejs/vue-next/pull/3399 + +declare module 'vue' { + export interface GlobalComponents { + ElButton: typeof import('element-plus/es')['ElButton'] + ElCollapse: typeof import('element-plus/es')['ElCollapse'] + ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] + ElInput: typeof import('element-plus/es')['ElInput'] + FlowChart: typeof import('./src/components/FlowChart.vue')['default'] + Palette: typeof import('./src/components/node-red/tools/Palette.vue')['default'] + Setting: typeof import('./src/components/node-red/tools/Setting.vue')['default'] + VueNode: typeof import('./src/components/node-red/nodes/VueNode.vue')['default'] + } +} + +export { } diff --git a/demo/logicflow-node-red-vue3/index.html b/demo/logicflow-node-red-vue3/index.html new file mode 100644 index 0000000..3877281 --- /dev/null +++ b/demo/logicflow-node-red-vue3/index.html @@ -0,0 +1,13 @@ + + + + + + + LogicFlow + + +
+ + + diff --git a/demo/logicflow-node-red-vue3/package.json b/demo/logicflow-node-red-vue3/package.json new file mode 100644 index 0000000..83cc49a --- /dev/null +++ b/demo/logicflow-node-red-vue3/package.json @@ -0,0 +1,22 @@ +{ + "name": "logicflow-node-red-vue3", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@logicflow/core": "^1.1.23", + "@logicflow/extension": "^1.1.23", + "element-plus": "^2.0.4", + "vue": "^3.2.25" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.2.0", + "unplugin-auto-import": "^0.6.1", + "unplugin-vue-components": "^0.17.21", + "vite": "^2.8.0" + } +} diff --git a/demo/logicflow-node-red-vue3/public/favicon.ico b/demo/logicflow-node-red-vue3/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/demo/logicflow-node-red-vue3/public/favicon.ico differ diff --git a/demo/logicflow-node-red-vue3/public/images/delay.svg b/demo/logicflow-node-red-vue3/public/images/delay.svg new file mode 100644 index 0000000..fd7d3f4 --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/delay.svg @@ -0,0 +1 @@ + diff --git a/demo/logicflow-node-red-vue3/public/images/fetch.svg b/demo/logicflow-node-red-vue3/public/images/fetch.svg new file mode 100644 index 0000000..63679c8 --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/fetch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/public/images/function.svg b/demo/logicflow-node-red-vue3/public/images/function.svg new file mode 100644 index 0000000..04bebc3 --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/function.svg @@ -0,0 +1 @@ + diff --git a/demo/logicflow-node-red-vue3/public/images/start.svg b/demo/logicflow-node-red-vue3/public/images/start.svg new file mode 100644 index 0000000..841c6c2 --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/start.svg @@ -0,0 +1 @@ + diff --git a/demo/logicflow-node-red-vue3/public/images/swap.svg b/demo/logicflow-node-red-vue3/public/images/swap.svg new file mode 100644 index 0000000..e004e8b --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/swap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/public/images/switch.svg b/demo/logicflow-node-red-vue3/public/images/switch.svg new file mode 100644 index 0000000..639d468 --- /dev/null +++ b/demo/logicflow-node-red-vue3/public/images/switch.svg @@ -0,0 +1 @@ + diff --git a/demo/logicflow-node-red-vue3/src/App.vue b/demo/logicflow-node-red-vue3/src/App.vue new file mode 100644 index 0000000..18f82a6 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/App.vue @@ -0,0 +1,9 @@ + + + diff --git a/demo/logicflow-node-red-vue3/src/assets/logo.png b/demo/logicflow-node-red-vue3/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/demo/logicflow-node-red-vue3/src/assets/logo.png differ diff --git a/demo/logicflow-node-red-vue3/src/components/FlowChart.vue b/demo/logicflow-node-red-vue3/src/components/FlowChart.vue new file mode 100644 index 0000000..e25aa2e --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/FlowChart.vue @@ -0,0 +1,208 @@ + + + + + diff --git a/demo/logicflow-node-red-vue3/src/components/engine/index.js b/demo/logicflow-node-red-vue3/src/components/engine/index.js new file mode 100644 index 0000000..6c6e19e --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/engine/index.js @@ -0,0 +1,4 @@ +class Engine { + run() {} + initFlow() {} +} \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/FlowLink.js b/demo/logicflow-node-red-vue3/src/components/node-red/FlowLink.js new file mode 100644 index 0000000..ba530d2 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/FlowLink.js @@ -0,0 +1,18 @@ +import { BezierEdge, BezierEdgeModel } from "@logicflow/core"; + +class FlowLinkModel extends BezierEdgeModel { + getEdgeStyle() { + const style = super.getEdgeStyle(); + style.strokeWidth = 3; + style.stroke = this.isSelected ? '#ff7f0e' : '#999'; + return style; + } +} +class FlowLink extends BezierEdge {} + +export default { + type: 'flow-link', + view: FlowLink, + model: FlowLinkModel +} + diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/index.js b/demo/logicflow-node-red-vue3/src/components/node-red/index.js new file mode 100644 index 0000000..13ef758 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/index.js @@ -0,0 +1,34 @@ +import { createApp } from 'vue'; +import FunctionNode from "./nodes/FunctionNode"; +import SwitchNode from "./nodes/SwitchNode"; +import StartNode from "./nodes/StartNode"; +import FetchNode from "./nodes/FetchNode"; +import DelayNode from "./nodes/DelayNode"; +import FlowLink from "./FlowLink"; +import Palette from './tools/Palette.vue'; +import VueHtmlNode from './nodes/VueHtmlNode'; + +class NodeRedExtension { + static pluginName = 'NodeRedExtension' + constructor ({ lf }) { + lf.register(FunctionNode); + lf.register(SwitchNode); + lf.register(StartNode); + lf.register(FetchNode); + lf.register(FlowLink); + lf.register(DelayNode); + lf.register(VueHtmlNode); + lf.setDefaultEdgeType('flow-link'); + this.app = createApp(Palette, { + lf + }) + } + render(lf, domOverlay) { + const node = document.createElement('div') + node.className = 'node-red-palette' + domOverlay.appendChild(node) + this.app.mount(node) + } +} + +export default NodeRedExtension \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/BaseNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/BaseNode.js new file mode 100644 index 0000000..022fd72 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/BaseNode.js @@ -0,0 +1,162 @@ +import { RectNode, RectNodeModel, h } from "@logicflow/core" +import { getBytesLength } from '../util' + + +class RedNodeModel extends RectNodeModel { + /** + * 初始化 + */ + initNodeData(data) { + super.initNodeData(data) + this.width = 100; + this.height = 30; + this.radius = 5; + // this.text.editable = false; + this.text.x = this.x + 10; + this.iconPosition = ''; // icon位置,left表示左边,'right'表示右边 + this.defaultFill = '#a6bbcf'; + } + getData () { + const data = super.getData() + data.properties.ui = 'node-red' + return data + } + /** + * 动态设置初始化数据 + */ + setAttributes() { + if (this.text.value) { + let width = 30 + getBytesLength(this.text.value) * 9; + width = Math.ceil(width / 20) * 20; + if (width < 100) { + width = 100; + } + this.width = width; + } + } + updateText(val) { + super.updateText(val) + this.setAttributes(); + } + /** + * 重写节点样式 + */ + getNodeStyle() { + const style = super.getNodeStyle(); + const dataStyle = this.properties.style || {}; + if (this.isSelected) { + style.strokeWidth = Number(dataStyle.borderWidth) || 2; + style.stroke = dataStyle.borderColor || '#ff7f0e'; + } else { + style.strokeWidth = Number(dataStyle.borderWidth) || 1; + style.stroke = dataStyle.borderColor || '#999'; + } + style.fill = dataStyle.backgroundColor || this.defaultFill; + return style; + } + /** + * 重写定义锚点 + */ + getDefaultAnchor() { + const { x, y, id, width, height } = this; + const anchors = [ + { + x: x + width / 2, + y: y, + id: `${id}_right`, + type: "right" + }, + { + x: x - width / 2, + y: y, + id: `${id}_left`, + type: "left" + } + ]; + return anchors; + } + /** + * + */ + getOutlineStyle() { + const style = super.getOutlineStyle(); + style.stroke = 'transparent'; + style.hover.stroke = 'transparent'; + return style; + } +} +class RedNode extends RectNode { + /** + * 1.1.7版本后支持在view中重写锚点形状。 + * 重写锚点新增 + */ + getAnchorShape(anchorData) { + const { x, y, type } = anchorData; + return h("rect", { + x: x - 5, + y: y - 5, + width: 10, + height: 10, + className: 'custom-anchor' + }); + } + getIcon () { + return null; + } + getShape() { + const { + text, + x, + y, + width, + height, + radius + } = this.props.model; + const style = this.props.model.getNodeStyle() + return h( + 'g', + { + className: 'lf-red-node' + }, + [ + h('rect', { + ...style, + x: x - width / 2, + y: y - height / 2, + width, + height, + rx: radius, + ry: radius + }), + h('g', { + style: 'pointer-events: none;', + transform: `translate(${x}, ${y})` + }, [ + h('rect', { + x: - width / 2, + y: - height / 2, + width: 30, + height: 30, + fill: '#000', + fillOpacity: 0.05, + stroke: 'none', + }), + this.getIcon(), + h('path', { + d: `M ${30 - width / 2} ${1 -height / 2 } l 0 28`, + stroke: '#000', + strokeOpacity: 0.1, + strokeWidth: 1 + }) + ]) + ] + ) + } +} + + +export default { + type: 'red-node', + model: RedNodeModel, + view: RedNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/DelayNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/DelayNode.js new file mode 100644 index 0000000..2b50beb --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/DelayNode.js @@ -0,0 +1,31 @@ +import { h } from '@logicflow/core' +import BaseNode from "./BaseNode" + +class DelayNode extends BaseNode.view { + getIcon () { + const { + width, + height, + } = this.props.model; + return h('image', { + width: 30, + height: 30, + x: - width / 2, + y: - height / 2, + href: 'images/delay.svg' + }) + } +} + +class DelayNodeModel extends BaseNode.model { + initNodeData (data) { + super.initNodeData(data) + this.defaultFill = 'rgb(230, 224, 248)' + } +} + +export default { + type: 'delay-node', + model: DelayNodeModel, + view: DelayNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FetchNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FetchNode.js new file mode 100644 index 0000000..be446f9 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FetchNode.js @@ -0,0 +1,31 @@ +import { h } from '@logicflow/core' +import BaseNode from "./BaseNode" + +class FetchNode extends BaseNode.view { + getIcon () { + const { + width, + height, + } = this.props.model; + return h('image', { + width: 30, + height: 30, + x: - width / 2, + y: - height / 2, + href: 'images/fetch.svg' + }) + } +} + +class FetchNodeModel extends BaseNode.model { + initNodeData (data) { + super.initNodeData(data) + this.defaultFill = 'rgb(231, 231, 174)' + } +} + +export default { + type: 'fetch-node', + model: FetchNodeModel, + view: FetchNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FunctionNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FunctionNode.js new file mode 100644 index 0000000..805d6b7 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/FunctionNode.js @@ -0,0 +1,31 @@ +import { h } from '@logicflow/core' +import BaseNode from "./BaseNode" + +class FunctionNode extends BaseNode.view { + getIcon () { + const { + width, + height, + } = this.props.model; + return h('image', { + width: 30, + height: 30, + x: - width / 2, + y: - height / 2, + href: 'images/function.svg' + }) + } +} + +class FunctionNodeModel extends BaseNode.model { + initNodeData (data) { + super.initNodeData(data) + this.defaultFill = 'rgb(253, 208, 162)' + } +} + +export default { + type: 'function-node', + model: FunctionNodeModel, + view: FunctionNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/StartNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/StartNode.js new file mode 100644 index 0000000..426cd66 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/StartNode.js @@ -0,0 +1,51 @@ +import { h } from '@logicflow/core' +import BaseNode from "./BaseNode" + +class StartNode extends BaseNode.view { + getIcon () { + const { model, graphModel } = this.props; + const { + width, + height, + } = model; + return h('image', { + width: 30, + height: 30, + x: - width / 2, + y: - height / 2, + className: 'node-red-start', + href: 'images/start.svg', + onClick: () => { + graphModel.eventCenter.emit('node-red:start') + } + }) + } +} + +class StartNodeModel extends BaseNode.model { + /** + * 重写定义锚点 + */ + getDefaultAnchor() { + const { x, y, id, width } = this; + const anchors = [ + { + x: x + width / 2, + y: y, + id: `${id}_right`, + type: "right" + } + ]; + return anchors; + } + initNodeData (data) { + super.initNodeData(data) + this.defaultFill = 'rgb(166, 187, 207)' + } +} + +export default { + type: 'start-node', + model: StartNodeModel, + view: StartNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/SwitchNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/SwitchNode.js new file mode 100644 index 0000000..18afb82 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/SwitchNode.js @@ -0,0 +1,31 @@ +import { h } from '@logicflow/core' +import BaseNode from "./BaseNode" + +class SwitchNode extends BaseNode.view { + getIcon () { + const { + width, + height, + } = this.props.model; + return h('image', { + width: 30, + height: 30, + x: - width / 2, + y: - height / 2, + href: 'images/switch.svg' + }) + } +} + +class SwitchNodeModel extends BaseNode.model { + initNodeData (data) { + super.initNodeData(data) + this.defaultFill = 'rgb(226, 217, 110)' + } +} + +export default { + type: 'switch-node', + model: SwitchNodeModel, + view: SwitchNode +} diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueHtmlNode.js b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueHtmlNode.js new file mode 100644 index 0000000..e68cc34 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueHtmlNode.js @@ -0,0 +1,62 @@ +import { HtmlNode, HtmlNodeModel } from "@logicflow/core"; +import { createApp, ref, h } from 'vue'; +import VueNode from './VueNode.vue'; + +class VueHtmlNode extends HtmlNode { + constructor (props) { + super(props) + this.isMounted = false + this.r = h(VueNode, { + properties: props.model.getProperties(), + text: props.model.inputData, + onBtnClick: (i) => { + this.r.component.props.text = String(Number(this.r.component.props.text) + Number(i)) + } + }) + this.app = createApp({ + render: () => this.r + }) + } + setHtml(rootEl) { + if (!this.isMounted) { + this.isMounted = true + const node = document.createElement('div') + rootEl.appendChild(node) + this.app.mount(node) + } else { + this.r.component.props.properties = this.props.model.getProperties() + } + } + getText () { + return null + } +} + +class VueHtmlNodeModel extends HtmlNodeModel { + setAttributes() { + this.width = 300; + this.height = 100; + this.text.editable = false; + this.inputData = this.text.value + } + getOutlineStyle() { + const style = super.getOutlineStyle(); + style.stroke = 'none'; + style.hover.stroke = 'none'; + return style; + } + getDefaultAnchor() { + return [] + } + getData () { + const data = super.getData() + data.text.value = this.inputData + return data + } +} + +export default { + type: 'vue-html', + model: VueHtmlNodeModel, + view: VueHtmlNode +} \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueNode.vue b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueNode.vue new file mode 100644 index 0000000..1c0994b --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/nodes/VueNode.vue @@ -0,0 +1,53 @@ + + + + \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/readme.md b/demo/logicflow-node-red-vue3/src/components/node-red/readme.md new file mode 100644 index 0000000..9f9e77c --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/readme.md @@ -0,0 +1,4 @@ +# 说明 + +参考node-red样式,以logicflow插件的方式实现。 + diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/style.css b/demo/logicflow-node-red-vue3/src/components/node-red/style.css new file mode 100644 index 0000000..c5e2db6 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/style.css @@ -0,0 +1,23 @@ +.custom-anchor { + stroke: #999; + stroke-width: 1; + fill: #d9d9d9; + cursor: crosshair; + rx: 3; + ry: 3; +} +.custom-anchor:hover { + fill: #ff7f0e; + stroke: #ff7f0e; +} +.node-red-palette { + width: 150px; + overflow: hidden; + position: absolute; + left: 0px; + top: 0px; +} +.node-red-start { + cursor: pointer; + pointer-events: all; +} \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/tools/Palette.vue b/demo/logicflow-node-red-vue3/src/components/node-red/tools/Palette.vue new file mode 100644 index 0000000..b5278f6 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/tools/Palette.vue @@ -0,0 +1,145 @@ + + + + \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/tools/Setting.vue b/demo/logicflow-node-red-vue3/src/components/node-red/tools/Setting.vue new file mode 100644 index 0000000..7b6876b --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/tools/Setting.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/components/node-red/util.js b/demo/logicflow-node-red-vue3/src/components/node-red/util.js new file mode 100644 index 0000000..a8e3189 --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/components/node-red/util.js @@ -0,0 +1,18 @@ +/* 求字符串的字节长度 */ +export const getBytesLength = (word) => { + if (!word) { + return 0; + } + let totalLength = 0; + for (let i = 0; i < word.length; i++) { + const c = word.charCodeAt(i); + if ((word.match(/[A-Z]/))) { + totalLength += 1.5; + } else if ((c >= 0x0001 && c <= 0x007e) || (c >= 0xff60 && c <= 0xff9f)) { + totalLength += 1; + } else { + totalLength += 1.8; + } + } + return totalLength; +}; \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/src/main.js b/demo/logicflow-node-red-vue3/src/main.js new file mode 100644 index 0000000..4568a8e --- /dev/null +++ b/demo/logicflow-node-red-vue3/src/main.js @@ -0,0 +1,11 @@ +import { createApp } from 'vue' +// import ElementPlus from 'element-plus' +import App from './App.vue' +import './style.css' + + +const app = createApp(App) + +// app.use(ElementPlus) + +app.mount('#app') diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/style.css" b/demo/logicflow-node-red-vue3/src/style.css similarity index 50% rename from "examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/style.css" rename to demo/logicflow-node-red-vue3/src/style.css index d70810b..38ff79f 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/style.css" +++ b/demo/logicflow-node-red-vue3/src/style.css @@ -1,5 +1,10 @@ html, body { - height: 100%; - margin: 0; padding: 0; + margin: 0; + width: 100%; + height: 100%; +} +#app { + width: 100%; + height: 100%; } \ No newline at end of file diff --git a/demo/logicflow-node-red-vue3/vite.config.js b/demo/logicflow-node-red-vue3/vite.config.js new file mode 100644 index 0000000..7b6ad1d --- /dev/null +++ b/demo/logicflow-node-red-vue3/vite.config.js @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +// https://vitejs.dev/config/ +export default defineConfig({ + // 在codesandbox中需要用443来保证开发时不会重复刷新 + // server: { + // hmr: { + // port: 443 + // } + // }, + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ] +}) diff --git a/demo/logicflow-node-red-vue3/yarn.lock b/demo/logicflow-node-red-vue3/yarn.lock new file mode 100644 index 0000000..0cea9ca --- /dev/null +++ b/demo/logicflow-node-red-vue3/yarn.lock @@ -0,0 +1,817 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@antfu/utils@^0.4.0": + version "0.4.0" + resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.4.0.tgz#df100ed9922d7359bf6c99083765b5207086b9a7" + integrity sha512-gqkpvjkgFUu+s3kP+Ly33OKpo5zvVY3FDFhv5BIb98SncS3KD6DNxPfNDjwHIoyXbz1leWo1j8DtRLZ1D2Jv+Q== + dependencies: + "@types/throttle-debounce" "^2.1.0" + +"@antfu/utils@^0.5.0": + version "0.5.2" + resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b" + integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA== + +"@babel/parser@^7.16.4": + version "7.18.13" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" + integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== + +"@ctrl/tinycolor@^3.4.1": + version "3.4.1" + resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32" + integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw== + +"@element-plus/icons-vue@^2.0.6": + version "2.0.9" + resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.9.tgz#b7777c57534522e387303d194451d50ff549d49a" + integrity sha512-okdrwiVeKBmW41Hkl0eMrXDjzJwhQMuKiBOu17rOszqM+LS/yBYpNQNV5Jvoh06Wc+89fMmb/uhzf8NZuDuUaQ== + +"@esbuild/linux-loong64@0.14.54": + version "0.14.54" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" + integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== + +"@floating-ui/core@^0.7.3": + version "0.7.3" + resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-0.7.3.tgz#d274116678ffae87f6b60e90f88cc4083eefab86" + integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg== + +"@floating-ui/dom@^0.5.4": + version "0.5.4" + resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.5.4.tgz#4eae73f78bcd4bd553ae2ade30e6f1f9c73fe3f1" + integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg== + dependencies: + "@floating-ui/core" "^0.7.3" + +"@logicflow/core@^1.1.23", "@logicflow/core@^1.1.26": + version "1.1.26" + resolved "https://registry.npmmirror.com/@logicflow/core/-/core-1.1.26.tgz#394417121d977fae553ff1724a10f80f87c51192" + integrity sha512-o+7ZRpJVd1BuXBBv9zr0KDJICQRcWEypTok5vp8266zkLURWOn09BPi+WR+tO9kcN4uNYNw+TI+JV7csZlG1pg== + dependencies: + "@types/mousetrap" "^1.6.4" + mousetrap "^1.6.5" + preact "^10.4.8" + +"@logicflow/extension@^1.1.23": + version "1.1.26" + resolved "https://registry.npmmirror.com/@logicflow/extension/-/extension-1.1.26.tgz#7ff679cc84d08f178ad78efbfdaed678c5e1abbe" + integrity sha512-b4DBxC2DGP48CaG8FvwB11dq89MT9mKSxLzb7Q58+DI6guFBJHpS8EC70vo4VsBL5PQ/EDotgF6LFMZBZS52Kw== + dependencies: + "@logicflow/core" "^1.1.26" + ids "^1.0.0" + preact "^10.4.8" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": + version "2.11.7" + resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671" + integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== + +"@rollup/pluginutils@^4.1.2", "@rollup/pluginutils@^4.2.0": + version "4.2.1" + resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@types/lodash-es@^4.17.6": + version "4.17.6" + resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz#c2ed4c8320ffa6f11b43eb89e9eaeec65966a0a0" + integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.182": + version "4.14.184" + resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" + integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== + +"@types/mousetrap@^1.6.4": + version "1.6.9" + resolved "https://registry.npmmirror.com/@types/mousetrap/-/mousetrap-1.6.9.tgz#f1ef9adbd1eac3466f21b6988b1c82c633a45340" + integrity sha512-HUAiN65VsRXyFCTicolwb5+I7FM6f72zjMWr+ajGk+YTvzBgXqa2A5U7d+rtsouAkunJ5U4Sb5lNJjo9w+nmXg== + +"@types/throttle-debounce@^2.1.0": + version "2.1.0" + resolved "https://registry.npmmirror.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + +"@types/web-bluetooth@^0.0.15": + version "0.0.15" + resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz#d60330046a6ed8a13b4a53df3813c44942ebdf72" + integrity sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA== + +"@vitejs/plugin-vue@^2.2.0": + version "2.3.4" + resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz#966a6279060eb2d9d1a02ea1a331af071afdcf9e" + integrity sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg== + +"@vue/compiler-core@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz#b3c42e04c0e0f2c496ff1784e543fbefe91e215a" + integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz#10d2427a789e7c707c872da9d678c82a0c6582b5" + integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ== + dependencies: + "@vue/compiler-core" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/compiler-sfc@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz#3103af3da2f40286edcd85ea495dcb35bc7f5ff4" + integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.37" + "@vue/compiler-dom" "3.2.37" + "@vue/compiler-ssr" "3.2.37" + "@vue/reactivity-transform" "3.2.37" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz#4899d19f3a5fafd61524a9d1aee8eb0505313cff" + integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw== + dependencies: + "@vue/compiler-dom" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/reactivity-transform@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz#0caa47c4344df4ae59f5a05dde2a8758829f8eca" + integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.37" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz#5bc3847ac58828e2b78526e08219e0a1089f8848" + integrity sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A== + dependencies: + "@vue/shared" "3.2.37" + +"@vue/runtime-core@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz#7ba7c54bb56e5d70edfc2f05766e1ca8519966e3" + integrity sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ== + dependencies: + "@vue/reactivity" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/runtime-dom@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz#002bdc8228fa63949317756fb1e92cdd3f9f4bbd" + integrity sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw== + dependencies: + "@vue/runtime-core" "3.2.37" + "@vue/shared" "3.2.37" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz#840a29c8dcc29bddd9b5f5ffa22b95c0e72afdfc" + integrity sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA== + dependencies: + "@vue/compiler-ssr" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/shared@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702" + integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== + +"@vueuse/core@^9.1.0": + version "9.1.1" + resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.1.1.tgz#a5c09c33ccee58cfd53bc3ec2d5a0d304155529e" + integrity sha512-QfuaNWRDMQcCUwXylCyYhPC3ScS9Tiiz4J0chdwr3vOemBwRToSywq8MP+ZegKYFnbETzRY8G/5zC+ca30wrRQ== + dependencies: + "@types/web-bluetooth" "^0.0.15" + "@vueuse/metadata" "9.1.1" + "@vueuse/shared" "9.1.1" + vue-demi "*" + +"@vueuse/metadata@9.1.1": + version "9.1.1" + resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.1.1.tgz#b3fe4b97e62096f7566cd8eb107c503998b2c9a6" + integrity sha512-XZ2KtSW+85LLHB/IdGILPAtbIVHasPsAW7aqz3BRMzJdAQWRiM/FGa1OKBwLbXtUw/AmjKYFlZJo7eOFIBXRog== + +"@vueuse/shared@9.1.1": + version "9.1.1" + resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.1.1.tgz#811f47629e281a19013ae6dcdf11ed3e1e91e023" + integrity sha512-c+IfcOYmHiHqoEa3ED1Tbpue5GHmoUmTp8PtO4YbczthtY155Rt6DmWhjxMLXBF1Bcidagxljmp/7xtAzEHXLw== + dependencies: + vue-demi "*" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +chokidar@^3.5.2, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +csstype@^2.6.8: + version "2.6.20" + resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" + integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== + +dayjs@^1.11.3: + version "1.11.5" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" + integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== + +debug@^4.3.3: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +element-plus@^2.0.4: + version "2.2.15" + resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.15.tgz#862bb6ecbd15b2d82d79dcf56bbbc30010771132" + integrity sha512-SMIx8xKB1YawT9JocyFhbs3Av2rXFfxrCVTLMYS0DK0xnW+fKvwjZngLfwF6MyRzXIuzNW17XFtu0iP3tlJHbA== + dependencies: + "@ctrl/tinycolor" "^3.4.1" + "@element-plus/icons-vue" "^2.0.6" + "@floating-ui/dom" "^0.5.4" + "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" + "@types/lodash" "^4.14.182" + "@types/lodash-es" "^4.17.6" + "@vueuse/core" "^9.1.0" + async-validator "^4.2.5" + dayjs "^1.11.3" + escape-html "^1.0.3" + lodash "^4.17.21" + lodash-es "^4.17.21" + lodash-unified "^1.0.2" + memoize-one "^6.0.0" + normalize-wheel-es "^1.2.0" + +esbuild-android-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" + integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== + +esbuild-android-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" + integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== + +esbuild-darwin-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" + integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== + +esbuild-darwin-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" + integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== + +esbuild-freebsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" + integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== + +esbuild-freebsd-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" + integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== + +esbuild-linux-32@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" + integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== + +esbuild-linux-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" + integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== + +esbuild-linux-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" + integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== + +esbuild-linux-arm@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" + integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== + +esbuild-linux-mips64le@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" + integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== + +esbuild-linux-ppc64le@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" + integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== + +esbuild-linux-riscv64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" + integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== + +esbuild-linux-s390x@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" + integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== + +esbuild-netbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" + integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== + +esbuild-openbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" + integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== + +esbuild-sunos-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" + integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== + +esbuild-windows-32@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" + integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== + +esbuild-windows-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" + integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== + +esbuild-windows-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" + integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== + +esbuild@^0.14.27: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" + integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== + optionalDependencies: + "@esbuild/linux-loong64" "0.14.54" + esbuild-android-64 "0.14.54" + esbuild-android-arm64 "0.14.54" + esbuild-darwin-64 "0.14.54" + esbuild-darwin-arm64 "0.14.54" + esbuild-freebsd-64 "0.14.54" + esbuild-freebsd-arm64 "0.14.54" + esbuild-linux-32 "0.14.54" + esbuild-linux-64 "0.14.54" + esbuild-linux-arm "0.14.54" + esbuild-linux-arm64 "0.14.54" + esbuild-linux-mips64le "0.14.54" + esbuild-linux-ppc64le "0.14.54" + esbuild-linux-riscv64 "0.14.54" + esbuild-linux-s390x "0.14.54" + esbuild-netbsd-64 "0.14.54" + esbuild-openbsd-64 "0.14.54" + esbuild-sunos-64 "0.14.54" + esbuild-windows-32 "0.14.54" + esbuild-windows-64 "0.14.54" + esbuild-windows-arm64 "0.14.54" + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fast-glob@^3.2.11: + version "3.2.11" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +ids@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/ids/-/ids-1.0.0.tgz#df67f2d37b81d7c2effc87e03d17ebff95a58c05" + integrity sha512-Zvtq1xUto4LttpstyOlFum8lKx+i1OmRfg+6A9drFS9iSZsDPMHG4Sof/qwNR4kCU7jBeWFPrY2ocHxiz7cCRw== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +local-pkg@^0.4.1: + version "0.4.2" + resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.2.tgz#13107310b77e74a0e513147a131a2ba288176c2f" + integrity sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg== + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash-unified@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz#bb2694db3533781e5cce984af60cfaea318b83c1" + integrity sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +magic-string@^0.26.1: + version "0.26.2" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" + integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== + dependencies: + sourcemap-codec "^1.4.8" + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +mousetrap@^1.6.5: + version "1.6.5" + resolved "https://registry.npmmirror.com/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9" + integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-wheel-es@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e" + integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss@^8.1.10, postcss@^8.4.13: + version "8.4.16" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" + integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +preact@^10.4.8: + version "10.10.6" + resolved "https://registry.npmmirror.com/preact/-/preact-10.10.6.tgz#1fe62aecf93974b64e6a42e09ba1f00f93207d14" + integrity sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.21.0, resolve@^1.22.0: + version "1.22.1" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +"rollup@>=2.59.0 <2.78.0": + version "2.77.3" + resolved "https://registry.npmmirror.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12" + integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +unplugin-auto-import@^0.6.1: + version "0.6.9" + resolved "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.6.9.tgz#0ecdc7cf38aaf94f22358b56703e059f41b6f367" + integrity sha512-IqgT7AoRrNQwNhiF/wDH3sMEDX8SqCYBEgJzwdg5441b5aiC5VwZz0J0wYqkaKu89YkZE9DG6rQ2JpFfZv1iiQ== + dependencies: + "@antfu/utils" "^0.5.0" + "@rollup/pluginutils" "^4.2.0" + local-pkg "^0.4.1" + magic-string "^0.26.1" + resolve "^1.22.0" + unplugin "^0.4.0" + +unplugin-vue-components@^0.17.21: + version "0.17.21" + resolved "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.17.21.tgz#b4acdb389ef2dab90d974353e5310507865acc43" + integrity sha512-jkXksUF6zkNbzHQbw1DdrsQyVoMZGESRZDIGd9x7nUP+65nHdpBCY/JmlxSjKbuTrOwfMsk6FQFa0RpRueOCKg== + dependencies: + "@antfu/utils" "^0.4.0" + "@rollup/pluginutils" "^4.1.2" + chokidar "^3.5.2" + debug "^4.3.3" + fast-glob "^3.2.11" + local-pkg "^0.4.1" + magic-string "^0.25.7" + minimatch "^3.0.4" + resolve "^1.21.0" + unplugin "^0.3.0" + +unplugin@^0.3.0: + version "0.3.3" + resolved "https://registry.npmmirror.com/unplugin/-/unplugin-0.3.3.tgz#e9b148f84cabef5e6529f232a10e674a7c020930" + integrity sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA== + dependencies: + webpack-virtual-modules "^0.4.3" + +unplugin@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/unplugin/-/unplugin-0.4.0.tgz#43a923f0267f8834118a926c406131d1d84a1358" + integrity sha512-4ScITEmzlz1iZW3tkz+3L1V5k/xMQ6kjgm4lEXKxH0ozd8/OUWfiSA7RMRyrawsvq/t50JIzPpp1UyuSL/AXkA== + dependencies: + chokidar "^3.5.3" + webpack-virtual-modules "^0.4.3" + +vite@^2.8.0: + version "2.9.15" + resolved "https://registry.npmmirror.com/vite/-/vite-2.9.15.tgz#2858dd5b2be26aa394a283e62324281892546f0b" + integrity sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ== + dependencies: + esbuild "^0.14.27" + postcss "^8.4.13" + resolve "^1.22.0" + rollup ">=2.59.0 <2.78.0" + optionalDependencies: + fsevents "~2.3.2" + +vue-demi@*: + version "0.13.11" + resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" + integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== + +vue@^3.2.25: + version "3.2.37" + resolved "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz#da220ccb618d78579d25b06c7c21498ca4e5452e" + integrity sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ== + dependencies: + "@vue/compiler-dom" "3.2.37" + "@vue/compiler-sfc" "3.2.37" + "@vue/runtime-dom" "3.2.37" + "@vue/server-renderer" "3.2.37" + "@vue/shared" "3.2.37" + +webpack-virtual-modules@^0.4.3: + version "0.4.4" + resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc" + integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA== diff --git a/examples/.gitignore b/examples/.gitignore index 3c226c0..8b81c61 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -8,7 +8,7 @@ pnpm-debug.log* lerna-debug.log* node_modules -# dist +dist dist-ssr *.local @@ -28,3 +28,4 @@ public/playground_json/* *.njsproj *.sln *.sw? + diff --git a/examples/dist/assets/index.0b960f37.js b/examples/dist/assets/index.0b960f37.js deleted file mode 100644 index cedf5eb..0000000 --- a/examples/dist/assets/index.0b960f37.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,u as g,i as a,o as s,c as e,F as r,r as i,a as p,b as n,t as d}from"./index.537c21d6.js";const m={class:"gallery"},b=["id"],B={class:"case-wrap"},C=["id","onClick"],j={class:"case-thumbnail"},F=["src","alt"],S={class:"case-name"},$={__name:"index",setup(w){const u=g(),l=c=>{y.value="thumbnail",u.push({name:"Playground",hash:`#${c}`})},h=a("originConfig"),y=a("type"),k=a("screenshots"),v=c=>k(c);return(c,D)=>(s(),e("div",m,[(s(!0),e(r,null,i(p(h),_=>(s(),e("div",{key:_.key},[(s(!0),e(r,null,i(_.children,o=>(s(),e("div",{key:o.key,id:o.key},[n("h2",null,d(o.name),1),n("div",B,[(s(!0),e(r,null,i(o.examples,t=>(s(),e("div",{key:t.key,class:"case",id:t.key,onClick:E=>l(t.key)},[n("div",j,[n("img",{src:v(t.key),alt:t.key},null,8,F)]),n("div",S,d(t.name),1)],8,C))),128))])],8,b))),128))]))),128))]))}},L=f($,[["__scopeId","data-v-8af55081"]]);export{L as default}; diff --git a/examples/dist/assets/index.26f1f432.css b/examples/dist/assets/index.26f1f432.css deleted file mode 100644 index de79893..0000000 --- a/examples/dist/assets/index.26f1f432.css +++ /dev/null @@ -1 +0,0 @@ -.ide[data-v-0246dde7]{display:flex}.preview[data-v-0246dde7]{flex:2}.editor[data-v-0246dde7]{flex:1.5}.urlDiv[data-v-0246dde7]{position:absolute;width:0;height:0;visibility:hidden}div[data-v-0246dde7]{height:100%;overflow:scroll}#ide-preview[data-v-0246dde7],#ide-editor[data-v-0246dde7]{height:100%} diff --git a/examples/dist/assets/index.48ae3ff8.css b/examples/dist/assets/index.48ae3ff8.css deleted file mode 100644 index b80c19f..0000000 --- a/examples/dist/assets/index.48ae3ff8.css +++ /dev/null @@ -1 +0,0 @@ -:root{font-family:Inter,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}#app{height:100%}div[data-v-9990922d]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none}div[data-v-9990922d]::-webkit-scrollbar{display:none}a[data-v-9990922d]{display:block;padding-left:10px;color:#000;width:100%;line-height:44px;transition:.25s}a[data-v-9990922d]:link,a[data-v-9990922d]:visited,a[data-v-9990922d]:hover,a[data-v-9990922d]:active{text-decoration:none}span[data-v-9990922d]{white-space:nowrap;text-overflow:ellipsis}strong[data-v-9990922d]{padding-left:5px}p[data-v-9990922d]{margin:0}.rem-17{width:17rem}.rem-0{width:27px}.menu-wrap{display:flex;align-items:center;transition:.2s;background:#fff}.menu{height:100%;overflow:scroll;background-color:#fff;color:#000;border-right:1px solid #ccc}.menu .menu-search-wrap{display:flex;justify-content:space-around;flex-direction:column;align-items:center;margin:0 0 10px}.menu .menu-search-wrap .menu-header{width:100%;height:50px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.menu .menu-search-wrap .menu-header div{margin:0 15px;display:flex;align-items:center;cursor:pointer}.menu .menu-search-wrap .menu-header img{height:24px}.menu .menu-search-wrap .menu-sh{display:flex;justify-content:space-around;align-items:center;width:100%}.menu .menu-search-wrap .menu-search{display:flex;border-radius:3px;background-color:#fff;border:1px solid #ccc}.menu .menu-search-wrap .menu-search-icon{margin:0 5px}.menu .menu-search-wrap .menu-search-input{outline-style:none;border:none;border-radius:3px;background-color:#fff;color:#000}.menu .menu-search-wrap .menu-search-fold{cursor:pointer}.menu .menu-item{overflow:hidden;transition:.25s}.menu .topic{height:40px;padding:0 10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.25s;background-color:#fff}.menu .examples-wrap{background-color:#f9f9f9;transition:.3s;overflow:hidden}.menu .examples-wrap div{width:100%;transition:.25s}.menu .examples-wrap .examples{min-height:44px;color:#000}.menu .examples-wrap .item-active{background:#cae4ff;box-shadow:inset -5px 0 #214393}.menu .examples-wrap .sub-title{display:flex;height:50px;align-items:center;justify-content:space-between}.menu .examples-wrap .sub-title :first-child{padding-left:15px}.menu .examples-wrap .sub-title .fold-icon{right:20px}.menu .examples-wrap .sub-items{flex-direction:column;background-color:#f3f3f3}.menu .examples-wrap .sub-items a{display:flex}.menu .examples-wrap .sub-items a img{display:inline-block}.menu .examples-wrap .sub-items .sub-item{transition:.25s;padding:8px 0}.menu .examples-wrap .with-thumbnail{display:flex;flex-direction:column;overflow:scroll}.hover-bkg:hover{background-color:#eef7ff}.hover-font:hover{color:#306eff}.fold-tool{background-color:#fff;height:90px;display:flex;align-items:center;border-radius:0 6px 6px 0;padding:0 10px 0 0;color:#000;border:1px solid #ccc;border-left:none;position:relative;right:1px;transition:.25s}.fold-tool-transform{transform:rotate3d(0,0,1,180deg) translate(-10px)}.fold-icon-collapse .fold-icon:after{transform:translate(-6px)}.fold-icon-collapse .fold-icon:before{transform:translate(-8px)}.fold-icon-open .fold-icon:after{transform:translate(-2px) rotate(90deg)}.fold-icon-open .fold-icon:before{transform:translate(-12px) rotate(-90deg)}.fold-icon{text-align:right;position:relative;right:10px}.fold-icon:after{transition:.25s;content:"";position:absolute;width:6px;height:1.5px;background-color:#314659}.fold-icon:before{transition:.25s;content:"";position:absolute;width:6px;height:1.5px;background-color:#314659}.thumbnail-active .thumbnail{border:1px solid #587ef1}.thumbnail{height:100px;display:block;margin-left:10px;border:1px solid transparent}.selected:first-child{color:#306eff}.filter-font{padding-left:0!important;color:#306eff}div[data-v-c15ac834]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none}div[data-v-c15ac834]::-webkit-scrollbar{display:none}a[data-v-c15ac834]{display:block;padding-left:10px;color:#000;width:100%;line-height:44px;transition:.25s}a[data-v-c15ac834]:link,a[data-v-c15ac834]:visited,a[data-v-c15ac834]:hover,a[data-v-c15ac834]:active{text-decoration:none}span[data-v-c15ac834]{white-space:nowrap;text-overflow:ellipsis}strong[data-v-c15ac834]{padding-left:5px}p[data-v-c15ac834]{margin:0}body,html{width:100%;height:100%;padding:0;margin:0}.wrap{height:100%;width:100%}.wrap .header{width:100%;height:5%}.container{width:100%;height:100%;display:flex}.main{background-color:#fff;width:100%;color:#000} diff --git a/examples/dist/assets/index.537c21d6.js b/examples/dist/assets/index.537c21d6.js deleted file mode 100644 index 201efe3..0000000 --- a/examples/dist/assets/index.537c21d6.js +++ /dev/null @@ -1,2118 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))s(d);new MutationObserver(d=>{for(const A of d)if(A.type==="childList")for(const p of A.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&s(p)}).observe(document,{childList:!0,subtree:!0});function i(d){const A={};return d.integrity&&(A.integrity=d.integrity),d.referrerpolicy&&(A.referrerPolicy=d.referrerpolicy),d.crossorigin==="use-credentials"?A.credentials="include":d.crossorigin==="anonymous"?A.credentials="omit":A.credentials="same-origin",A}function s(d){if(d.ep)return;d.ep=!0;const A=i(d);fetch(d.href,A)}})();function oh(n,e){const i=Object.create(null),s=n.split(",");for(let d=0;d!!i[d.toLowerCase()]:d=>!!i[d]}const SC="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",RC=oh(SC);function d0(n){return!!n||n===""}function sh(n){if(xt(n)){const e={};for(let i=0;i{if(i){const s=i.split(zC);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function Zr(n){let e="";if(Ai(n))e=n;else if(xt(n))for(let i=0;iAi(n)?n:n==null?"":xt(n)||In(n)&&(n.toString===h0||!Qt(n.toString))?JSON.stringify(n,u0,2):String(n),u0=(n,e)=>e&&e.__v_isRef?u0(n,e.value):dA(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((i,[s,d])=>(i[`${s} =>`]=d,i),{})}:f0(e)?{[`Set(${e.size})`]:[...e.values()]}:In(e)&&!xt(e)&&!g0(e)?String(e):e,mn={},cA=[],Ao=()=>{},OC=()=>!1,PC=/^on[^a-z]/,Vu=n=>PC.test(n),ah=n=>n.startsWith("onUpdate:"),vi=Object.assign,lh=(n,e)=>{const i=n.indexOf(e);i>-1&&n.splice(i,1)},DC=Object.prototype.hasOwnProperty,Gt=(n,e)=>DC.call(n,e),xt=Array.isArray,dA=n=>Ku(n)==="[object Map]",f0=n=>Ku(n)==="[object Set]",Qt=n=>typeof n=="function",Ai=n=>typeof n=="string",Ah=n=>typeof n=="symbol",In=n=>n!==null&&typeof n=="object",p0=n=>In(n)&&Qt(n.then)&&Qt(n.catch),h0=Object.prototype.toString,Ku=n=>h0.call(n),NC=n=>Ku(n).slice(8,-1),g0=n=>Ku(n)==="[object Object]",ch=n=>Ai(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,Su=oh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qu=n=>{const e=Object.create(null);return i=>e[i]||(e[i]=n(i))},FC=/-(\w)/g,To=qu(n=>n.replace(FC,(e,i)=>i?i.toUpperCase():"")),jC=/\B([A-Z])/g,CA=qu(n=>n.replace(jC,"-$1").toLowerCase()),Yu=qu(n=>n.charAt(0).toUpperCase()+n.slice(1)),Xf=qu(n=>n?`on${Yu(n)}`:""),Nc=(n,e)=>!Object.is(n,e),Ru=(n,e)=>{for(let i=0;i{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value:i})},Du=n=>{const e=parseFloat(n);return isNaN(e)?n:e};let Sg;const HC=()=>Sg||(Sg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Mo;class $C{constructor(e=!1){this.detached=e,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Mo,!e&&Mo&&(this.index=(Mo.scopes||(Mo.scopes=[])).push(this)-1)}run(e){if(this.active){const i=Mo;try{return Mo=this,e()}finally{Mo=i}}}on(){Mo=this}off(){Mo=this.parent}stop(e){if(this.active){let i,s;for(i=0,s=this.effects.length;i{const e=new Set(n);return e.w=0,e.n=0,e},m0=n=>(n.w&aa)>0,v0=n=>(n.n&aa)>0,GC=({deps:n})=>{if(n.length)for(let e=0;e{const{deps:e}=n;if(e.length){let i=0;for(let s=0;s{(v==="length"||v>=s)&&g.push(m)});else switch(i!==void 0&&g.push(p.get(i)),e){case"add":xt(n)?ch(i)&&g.push(p.get("length")):(g.push(p.get(gl)),dA(n)&&g.push(p.get(vp)));break;case"delete":xt(n)||(g.push(p.get(gl)),dA(n)&&g.push(p.get(vp)));break;case"set":dA(n)&&g.push(p.get(gl));break}if(g.length===1)g[0]&&bp(g[0]);else{const m=[];for(const v of g)v&&m.push(...v);bp(dh(m))}}function bp(n,e){const i=xt(n)?n:[...n];for(const s of i)s.computed&&Tg(s);for(const s of i)s.computed||Tg(s)}function Tg(n,e){(n!==ao||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const WC=oh("__proto__,__v_isRef,__isVue"),x0=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Ah)),XC=fh(),JC=fh(!1,!0),VC=fh(!0),zg=KC();function KC(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...i){const s=nn(this);for(let A=0,p=this.length;A{n[e]=function(...i){_A();const s=nn(this)[e].apply(this,i);return wA(),s}}),n}function fh(n=!1,e=!1){return function(s,d,A){if(d==="__v_isReactive")return!n;if(d==="__v_isReadonly")return n;if(d==="__v_isShallow")return e;if(d==="__v_raw"&&A===(n?e?f_:E0:e?I0:w0).get(s))return s;const p=xt(s);if(!n&&p&&Gt(zg,d))return Reflect.get(zg,d,A);const g=Reflect.get(s,d,A);return(Ah(d)?x0.has(d):WC(d))||(n||xr(s,"get",d),e)?g:Si(g)?p&&ch(d)?g:g.value:In(g)?n?B0(g):vl(g):g}}const qC=C0(),YC=C0(!0);function C0(n=!1){return function(i,s,d,A){let p=i[s];if(hA(p)&&Si(p)&&!Si(d))return!1;if(!n&&(!Nu(d)&&!hA(d)&&(p=nn(p),d=nn(d)),!xt(i)&&Si(p)&&!Si(d)))return p.value=d,!0;const g=xt(i)&&ch(s)?Number(s)n,ef=n=>Reflect.getPrototypeOf(n);function yu(n,e,i=!1,s=!1){n=n.__v_raw;const d=nn(n),A=nn(e);i||(e!==A&&xr(d,"get",e),xr(d,"get",A));const{has:p}=ef(d),g=s?ph:i?mh:Fc;if(p.call(d,e))return g(n.get(e));if(p.call(d,A))return g(n.get(A));n!==d&&n.get(e)}function xu(n,e=!1){const i=this.__v_raw,s=nn(i),d=nn(n);return e||(n!==d&&xr(s,"has",n),xr(s,"has",d)),n===d?i.has(n):i.has(n)||i.has(d)}function Cu(n,e=!1){return n=n.__v_raw,!e&&xr(nn(n),"iterate",gl),Reflect.get(n,"size",n)}function Lg(n){n=nn(n);const e=nn(this);return ef(e).has.call(e,n)||(e.add(n),ps(e,"add",n,n)),this}function Og(n,e){e=nn(e);const i=nn(this),{has:s,get:d}=ef(i);let A=s.call(i,n);A||(n=nn(n),A=s.call(i,n));const p=d.call(i,n);return i.set(n,e),A?Nc(e,p)&&ps(i,"set",n,e):ps(i,"add",n,e),this}function Pg(n){const e=nn(this),{has:i,get:s}=ef(e);let d=i.call(e,n);d||(n=nn(n),d=i.call(e,n)),s&&s.call(e,n);const A=e.delete(n);return d&&ps(e,"delete",n,void 0),A}function Dg(){const n=nn(this),e=n.size!==0,i=n.clear();return e&&ps(n,"clear",void 0,void 0),i}function _u(n,e){return function(s,d){const A=this,p=A.__v_raw,g=nn(p),m=e?ph:n?mh:Fc;return!n&&xr(g,"iterate",gl),p.forEach((v,C)=>s.call(d,m(v),m(C),A))}}function wu(n,e,i){return function(...s){const d=this.__v_raw,A=nn(d),p=dA(A),g=n==="entries"||n===Symbol.iterator&&p,m=n==="keys"&&p,v=d[n](...s),C=i?ph:e?mh:Fc;return!e&&xr(A,"iterate",m?vp:gl),{next(){const{value:_,done:B}=v.next();return B?{value:_,done:B}:{value:g?[C(_[0]),C(_[1])]:C(_),done:B}},[Symbol.iterator](){return this}}}}function Js(n){return function(...e){return n==="delete"?!1:this}}function o_(){const n={get(A){return yu(this,A)},get size(){return Cu(this)},has:xu,add:Lg,set:Og,delete:Pg,clear:Dg,forEach:_u(!1,!1)},e={get(A){return yu(this,A,!1,!0)},get size(){return Cu(this)},has:xu,add:Lg,set:Og,delete:Pg,clear:Dg,forEach:_u(!1,!0)},i={get(A){return yu(this,A,!0)},get size(){return Cu(this,!0)},has(A){return xu.call(this,A,!0)},add:Js("add"),set:Js("set"),delete:Js("delete"),clear:Js("clear"),forEach:_u(!0,!1)},s={get(A){return yu(this,A,!0,!0)},get size(){return Cu(this,!0)},has(A){return xu.call(this,A,!0)},add:Js("add"),set:Js("set"),delete:Js("delete"),clear:Js("clear"),forEach:_u(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(A=>{n[A]=wu(A,!1,!1),i[A]=wu(A,!0,!1),e[A]=wu(A,!1,!0),s[A]=wu(A,!0,!0)}),[n,i,e,s]}const[s_,a_,l_,A_]=o_();function hh(n,e){const i=e?n?A_:l_:n?a_:s_;return(s,d,A)=>d==="__v_isReactive"?!n:d==="__v_isReadonly"?n:d==="__v_raw"?s:Reflect.get(Gt(i,d)&&d in s?i:s,d,A)}const c_={get:hh(!1,!1)},d_={get:hh(!1,!0)},u_={get:hh(!0,!1)},w0=new WeakMap,I0=new WeakMap,E0=new WeakMap,f_=new WeakMap;function p_(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function h_(n){return n.__v_skip||!Object.isExtensible(n)?0:p_(NC(n))}function vl(n){return hA(n)?n:gh(n,!1,_0,c_,w0)}function g_(n){return gh(n,!1,r_,d_,I0)}function B0(n){return gh(n,!0,i_,u_,E0)}function gh(n,e,i,s,d){if(!In(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const A=d.get(n);if(A)return A;const p=h_(n);if(p===0)return n;const g=new Proxy(n,p===2?s:i);return d.set(n,g),g}function uA(n){return hA(n)?uA(n.__v_raw):!!(n&&n.__v_isReactive)}function hA(n){return!!(n&&n.__v_isReadonly)}function Nu(n){return!!(n&&n.__v_isShallow)}function k0(n){return uA(n)||hA(n)}function nn(n){const e=n&&n.__v_raw;return e?nn(e):n}function M0(n){return Pu(n,"__v_skip",!0),n}const Fc=n=>In(n)?vl(n):n,mh=n=>In(n)?B0(n):n;function Q0(n){oa&&ao&&(n=nn(n),y0(n.dep||(n.dep=dh())))}function S0(n,e){n=nn(n),n.dep&&bp(n.dep)}function Si(n){return!!(n&&n.__v_isRef===!0)}function AA(n){return R0(n,!1)}function m_(n){return R0(n,!0)}function R0(n,e){return Si(n)?n:new v_(n,e)}class v_{constructor(e,i){this.__v_isShallow=i,this.dep=void 0,this.__v_isRef=!0,this._rawValue=i?e:nn(e),this._value=i?e:Fc(e)}get value(){return Q0(this),this._value}set value(e){const i=this.__v_isShallow||Nu(e)||hA(e);e=i?e:nn(e),Nc(e,this._rawValue)&&(this._rawValue=e,this._value=i?e:Fc(e),S0(this))}}function Yt(n){return Si(n)?n.value:n}const b_={get:(n,e,i)=>Yt(Reflect.get(n,e,i)),set:(n,e,i,s)=>{const d=n[e];return Si(d)&&!Si(i)?(d.value=i,!0):Reflect.set(n,e,i,s)}};function T0(n){return uA(n)?n:new Proxy(n,b_)}var z0;class y_{constructor(e,i,s,d){this._setter=i,this.dep=void 0,this.__v_isRef=!0,this[z0]=!1,this._dirty=!0,this.effect=new uh(e,()=>{this._dirty||(this._dirty=!0,S0(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!d,this.__v_isReadonly=s}get value(){const e=nn(this);return Q0(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}z0="__v_isReadonly";function x_(n,e,i=!1){let s,d;const A=Qt(n);return A?(s=n,d=Ao):(s=n.get,d=n.set),new y_(s,d,A||!d,i)}function sa(n,e,i,s){let d;try{d=s?n(...s):n()}catch(A){tf(A,e,i)}return d}function Wr(n,e,i,s){if(Qt(n)){const A=sa(n,e,i,s);return A&&p0(A)&&A.catch(p=>{tf(p,e,i)}),A}const d=[];for(let A=0;A>>1;Hc(Qi[s])So&&Qi.splice(e,1)}function I_(n){xt(n)?fA.push(...n):(!us||!us.includes(n,n.allowRecurse?cl+1:cl))&&fA.push(n),P0()}function Ng(n,e=jc?So+1:0){for(;eHc(i)-Hc(s)),cl=0;cln.id==null?1/0:n.id,E_=(n,e)=>{const i=Hc(n)-Hc(e);if(i===0){if(n.pre&&!e.pre)return-1;if(e.pre&&!n.pre)return 1}return i};function N0(n){yp=!1,jc=!0,Qi.sort(E_);const e=Ao;try{for(So=0;SoS.trim())),_&&(d=i.map(Du))}let g,m=s[g=Xf(e)]||s[g=Xf(To(e))];!m&&A&&(m=s[g=Xf(CA(e))]),m&&Wr(m,n,6,d);const v=s[g+"Once"];if(v){if(!n.emitted)n.emitted={};else if(n.emitted[g])return;n.emitted[g]=!0,Wr(v,n,6,d)}}function F0(n,e,i=!1){const s=e.emitsCache,d=s.get(n);if(d!==void 0)return d;const A=n.emits;let p={},g=!1;if(!Qt(n)){const m=v=>{const C=F0(v,e,!0);C&&(g=!0,vi(p,C))};!i&&e.mixins.length&&e.mixins.forEach(m),n.extends&&m(n.extends),n.mixins&&n.mixins.forEach(m)}return!A&&!g?(In(n)&&s.set(n,null),null):(xt(A)?A.forEach(m=>p[m]=null):vi(p,A),In(n)&&s.set(n,p),p)}function nf(n,e){return!n||!Vu(e)?!1:(e=e.slice(2).replace(/Once$/,""),Gt(n,e[0].toLowerCase()+e.slice(1))||Gt(n,CA(e))||Gt(n,e))}let Ri=null,rf=null;function Fu(n){const e=Ri;return Ri=n,rf=n&&n.type.__scopeId||null,e}function j0(n){rf=n}function H0(){rf=null}function of(n,e=Ri,i){if(!e||n._n)return n;const s=(...d)=>{s._d&&Vg(-1);const A=Fu(e);let p;try{p=n(...d)}finally{Fu(A),s._d&&Vg(1)}return p};return s._n=!0,s._c=!0,s._d=!0,s}function Jf(n){const{type:e,vnode:i,proxy:s,withProxy:d,props:A,propsOptions:[p],slots:g,attrs:m,emit:v,render:C,renderCache:_,data:B,setupState:S,ctx:N,inheritAttrs:j}=n;let oe,X;const le=Fu(n);try{if(i.shapeFlag&4){const xe=d||s;oe=Qo(C.call(xe,xe,_,A,S,B,N)),X=m}else{const xe=e;oe=Qo(xe.length>1?xe(A,{attrs:m,slots:g,emit:v}):xe(A,null)),X=e.props?m:k_(m)}}catch(xe){zc.length=0,tf(xe,n,1),oe=Xn(Xr)}let ye=oe;if(X&&j!==!1){const xe=Object.keys(X),{shapeFlag:Pe}=ye;xe.length&&Pe&7&&(p&&xe.some(ah)&&(X=M_(X,p)),ye=la(ye,X))}return i.dirs&&(ye=la(ye),ye.dirs=ye.dirs?ye.dirs.concat(i.dirs):i.dirs),i.transition&&(ye.transition=i.transition),oe=ye,Fu(le),oe}const k_=n=>{let e;for(const i in n)(i==="class"||i==="style"||Vu(i))&&((e||(e={}))[i]=n[i]);return e},M_=(n,e)=>{const i={};for(const s in n)(!ah(s)||!(s.slice(9)in e))&&(i[s]=n[s]);return i};function Q_(n,e,i){const{props:s,children:d,component:A}=n,{props:p,children:g,patchFlag:m}=e,v=A.emitsOptions;if(e.dirs||e.transition)return!0;if(i&&m>=0){if(m&1024)return!0;if(m&16)return s?Fg(s,p,v):!!p;if(m&8){const C=e.dynamicProps;for(let _=0;_n.__isSuspense;function T_(n,e){e&&e.pendingBranch?xt(n)?e.effects.push(...n):e.effects.push(n):I_(n)}function Hr(n,e){if(li){let i=li.provides;const s=li.parent&&li.parent.provides;s===i&&(i=li.provides=Object.create(s)),i[n]=e}}function Zn(n,e,i=!1){const s=li||Ri;if(s){const d=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(d&&n in d)return d[n];if(arguments.length>1)return i&&Qt(e)?e.call(s.proxy):e}}function z_(n,e){return yh(n,null,e)}const jg={};function Rc(n,e,i){return yh(n,e,i)}function yh(n,e,{immediate:i,deep:s,flush:d,onTrack:A,onTrigger:p}=mn){const g=li;let m,v=!1,C=!1;if(Si(n)?(m=()=>n.value,v=Nu(n)):uA(n)?(m=()=>n,s=!0):xt(n)?(C=!0,v=n.some(X=>uA(X)||Nu(X)),m=()=>n.map(X=>{if(Si(X))return X.value;if(uA(X))return hl(X);if(Qt(X))return sa(X,g,2)})):Qt(n)?e?m=()=>sa(n,g,2):m=()=>{if(!(g&&g.isUnmounted))return _&&_(),Wr(n,g,3,[B])}:m=Ao,e&&s){const X=m;m=()=>hl(X())}let _,B=X=>{_=oe.onStop=()=>{sa(X,g,4)}};if(Uc)return B=Ao,e?i&&Wr(e,g,3,[m(),C?[]:void 0,B]):m(),Ao;let S=C?[]:jg;const N=()=>{if(!!oe.active)if(e){const X=oe.run();(s||v||(C?X.some((le,ye)=>Nc(le,S[ye])):Nc(X,S)))&&(_&&_(),Wr(e,g,3,[X,S===jg?void 0:S,B]),S=X)}else oe.run()};N.allowRecurse=!!e;let j;d==="sync"?j=N:d==="post"?j=()=>rr(N,g&&g.suspense):(N.pre=!0,g&&(N.id=g.uid),j=()=>bh(N));const oe=new uh(m,j);return e?i?N():S=oe.run():d==="post"?rr(oe.run.bind(oe),g&&g.suspense):oe.run(),()=>{oe.stop(),g&&g.scope&&lh(g.scope.effects,oe)}}function L_(n,e,i){const s=this.proxy,d=Ai(n)?n.includes(".")?$0(s,n):()=>s[n]:n.bind(s,s);let A;Qt(e)?A=e:(A=e.handler,i=e);const p=li;gA(this);const g=yh(d,A.bind(s),i);return p?gA(p):ml(),g}function $0(n,e){const i=e.split(".");return()=>{let s=n;for(let d=0;d{hl(i,e)});else if(g0(n))for(const i in n)hl(n[i],e);return n}function O_(){const n={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return J0(()=>{n.isMounted=!0}),V0(()=>{n.isUnmounting=!0}),n}const Fr=[Function,Array],P_={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fr,onEnter:Fr,onAfterEnter:Fr,onEnterCancelled:Fr,onBeforeLeave:Fr,onLeave:Fr,onAfterLeave:Fr,onLeaveCancelled:Fr,onBeforeAppear:Fr,onAppear:Fr,onAfterAppear:Fr,onAppearCancelled:Fr},setup(n,{slots:e}){const i=Cw(),s=O_();let d;return()=>{const A=e.default&&U0(e.default(),!0);if(!A||!A.length)return;let p=A[0];if(A.length>1){for(const j of A)if(j.type!==Xr){p=j;break}}const g=nn(n),{mode:m}=g;if(s.isLeaving)return Vf(p);const v=Hg(p);if(!v)return Vf(p);const C=xp(v,g,s,i);Cp(v,C);const _=i.subTree,B=_&&Hg(_);let S=!1;const{getTransitionKey:N}=v.type;if(N){const j=N();d===void 0?d=j:j!==d&&(d=j,S=!0)}if(B&&B.type!==Xr&&(!dl(v,B)||S)){const j=xp(B,g,s,i);if(Cp(B,j),m==="out-in")return s.isLeaving=!0,j.afterLeave=()=>{s.isLeaving=!1,i.update()},Vf(p);m==="in-out"&&v.type!==Xr&&(j.delayLeave=(oe,X,le)=>{const ye=G0(s,B);ye[String(B.key)]=B,oe._leaveCb=()=>{X(),oe._leaveCb=void 0,delete C.delayedLeave},C.delayedLeave=le})}return p}}},Z0=P_;function G0(n,e){const{leavingVNodes:i}=n;let s=i.get(e.type);return s||(s=Object.create(null),i.set(e.type,s)),s}function xp(n,e,i,s){const{appear:d,mode:A,persisted:p=!1,onBeforeEnter:g,onEnter:m,onAfterEnter:v,onEnterCancelled:C,onBeforeLeave:_,onLeave:B,onAfterLeave:S,onLeaveCancelled:N,onBeforeAppear:j,onAppear:oe,onAfterAppear:X,onAppearCancelled:le}=e,ye=String(n.key),xe=G0(i,n),Pe=(Y,Q)=>{Y&&Wr(Y,s,9,Q)},Ie=(Y,Q)=>{const M=Q[1];Pe(Y,Q),xt(Y)?Y.every(W=>W.length<=1)&&M():Y.length<=1&&M()},Ee={mode:A,persisted:p,beforeEnter(Y){let Q=g;if(!i.isMounted)if(d)Q=j||g;else return;Y._leaveCb&&Y._leaveCb(!0);const M=xe[ye];M&&dl(n,M)&&M.el._leaveCb&&M.el._leaveCb(),Pe(Q,[Y])},enter(Y){let Q=m,M=v,W=C;if(!i.isMounted)if(d)Q=oe||m,M=X||v,W=le||C;else return;let O=!1;const K=Y._enterCb=se=>{O||(O=!0,se?Pe(W,[Y]):Pe(M,[Y]),Ee.delayedLeave&&Ee.delayedLeave(),Y._enterCb=void 0)};Q?Ie(Q,[Y,K]):K()},leave(Y,Q){const M=String(n.key);if(Y._enterCb&&Y._enterCb(!0),i.isUnmounting)return Q();Pe(_,[Y]);let W=!1;const O=Y._leaveCb=K=>{W||(W=!0,Q(),K?Pe(N,[Y]):Pe(S,[Y]),Y._leaveCb=void 0,xe[M]===n&&delete xe[M])};xe[M]=n,B?Ie(B,[Y,O]):O()},clone(Y){return xp(Y,e,i,s)}};return Ee}function Vf(n){if(sf(n))return n=la(n),n.children=null,n}function Hg(n){return sf(n)?n.children?n.children[0]:void 0:n}function Cp(n,e){n.shapeFlag&6&&n.component?Cp(n.component.subTree,e):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function U0(n,e=!1,i){let s=[],d=0;for(let A=0;A1)for(let A=0;A!!n.type.__asyncLoader,sf=n=>n.type.__isKeepAlive;function D_(n,e){X0(n,"a",e)}function N_(n,e){X0(n,"da",e)}function X0(n,e,i=li){const s=n.__wdc||(n.__wdc=()=>{let d=i;for(;d;){if(d.isDeactivated)return;d=d.parent}return n()});if(af(e,s,i),i){let d=i.parent;for(;d&&d.parent;)sf(d.parent.vnode)&&F_(s,e,i,d),d=d.parent}}function F_(n,e,i,s){const d=af(e,n,s,!0);K0(()=>{lh(s[e],d)},i)}function af(n,e,i=li,s=!1){if(i){const d=i[n]||(i[n]=[]),A=e.__weh||(e.__weh=(...p)=>{if(i.isUnmounted)return;_A(),gA(i);const g=Wr(e,i,n,p);return ml(),wA(),g});return s?d.unshift(A):d.push(A),A}}const ms=n=>(e,i=li)=>(!Uc||n==="sp")&&af(n,(...s)=>e(...s),i),j_=ms("bm"),J0=ms("m"),H_=ms("bu"),$_=ms("u"),V0=ms("bum"),K0=ms("um"),Z_=ms("sp"),G_=ms("rtg"),U_=ms("rtc");function W_(n,e=li){af("ec",n,e)}function $c(n,e){const i=Ri;if(i===null)return n;const s=Af(i)||i.proxy,d=n.dirs||(n.dirs=[]);for(let A=0;Ae(p,g,void 0,A&&A[g]));else{const p=Object.keys(n);d=new Array(p.length);for(let g=0,m=p.length;g$u(e)?!(e.type===Xr||e.type===sr&&!tv(e.children)):!0)?n:null}const _p=n=>n?fv(n)?Af(n)||n.proxy:_p(n.parent):null,ju=vi(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>_p(n.parent),$root:n=>_p(n.root),$emit:n=>n.emit,$options:n=>xh(n),$forceUpdate:n=>n.f||(n.f=()=>bh(n.update)),$nextTick:n=>n.n||(n.n=O0.bind(n.proxy)),$watch:n=>L_.bind(n)}),K_={get({_:n},e){const{ctx:i,setupState:s,data:d,props:A,accessCache:p,type:g,appContext:m}=n;let v;if(e[0]!=="$"){const S=p[e];if(S!==void 0)switch(S){case 1:return s[e];case 2:return d[e];case 4:return i[e];case 3:return A[e]}else{if(s!==mn&&Gt(s,e))return p[e]=1,s[e];if(d!==mn&&Gt(d,e))return p[e]=2,d[e];if((v=n.propsOptions[0])&&Gt(v,e))return p[e]=3,A[e];if(i!==mn&&Gt(i,e))return p[e]=4,i[e];wp&&(p[e]=0)}}const C=ju[e];let _,B;if(C)return e==="$attrs"&&xr(n,"get",e),C(n);if((_=g.__cssModules)&&(_=_[e]))return _;if(i!==mn&&Gt(i,e))return p[e]=4,i[e];if(B=m.config.globalProperties,Gt(B,e))return B[e]},set({_:n},e,i){const{data:s,setupState:d,ctx:A}=n;return d!==mn&&Gt(d,e)?(d[e]=i,!0):s!==mn&&Gt(s,e)?(s[e]=i,!0):Gt(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(A[e]=i,!0)},has({_:{data:n,setupState:e,accessCache:i,ctx:s,appContext:d,propsOptions:A}},p){let g;return!!i[p]||n!==mn&&Gt(n,p)||e!==mn&&Gt(e,p)||(g=A[0])&&Gt(g,p)||Gt(s,p)||Gt(ju,p)||Gt(d.config.globalProperties,p)},defineProperty(n,e,i){return i.get!=null?n._.accessCache[e]=0:Gt(i,"value")&&this.set(n,e,i.value,null),Reflect.defineProperty(n,e,i)}};let wp=!0;function q_(n){const e=xh(n),i=n.proxy,s=n.ctx;wp=!1,e.beforeCreate&&Zg(e.beforeCreate,n,"bc");const{data:d,computed:A,methods:p,watch:g,provide:m,inject:v,created:C,beforeMount:_,mounted:B,beforeUpdate:S,updated:N,activated:j,deactivated:oe,beforeDestroy:X,beforeUnmount:le,destroyed:ye,unmounted:xe,render:Pe,renderTracked:Ie,renderTriggered:Ee,errorCaptured:Y,serverPrefetch:Q,expose:M,inheritAttrs:W,components:O,directives:K,filters:se}=e;if(v&&Y_(v,s,null,n.appContext.config.unwrapInjectedRef),p)for(const He in p){const Qe=p[He];Qt(Qe)&&(s[He]=Qe.bind(i))}if(d){const He=d.call(i,i);In(He)&&(n.data=vl(He))}if(wp=!0,A)for(const He in A){const Qe=A[He],st=Qt(Qe)?Qe.bind(i,i):Qt(Qe.get)?Qe.get.bind(i,i):Ao,ht=!Qt(Qe)&&Qt(Qe.set)?Qe.set.bind(i):Ao,Fe=yr({get:st,set:ht});Object.defineProperty(s,He,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:De=>Fe.value=De})}if(g)for(const He in g)nv(g[He],s,i,He);if(m){const He=Qt(m)?m.call(i):m;Reflect.ownKeys(He).forEach(Qe=>{Hr(Qe,He[Qe])})}C&&Zg(C,n,"c");function ze(He,Qe){xt(Qe)?Qe.forEach(st=>He(st.bind(i))):Qe&&He(Qe.bind(i))}if(ze(j_,_),ze(J0,B),ze(H_,S),ze($_,N),ze(D_,j),ze(N_,oe),ze(W_,Y),ze(U_,Ie),ze(G_,Ee),ze(V0,le),ze(K0,xe),ze(Z_,Q),xt(M))if(M.length){const He=n.exposed||(n.exposed={});M.forEach(Qe=>{Object.defineProperty(He,Qe,{get:()=>i[Qe],set:st=>i[Qe]=st})})}else n.exposed||(n.exposed={});Pe&&n.render===Ao&&(n.render=Pe),W!=null&&(n.inheritAttrs=W),O&&(n.components=O),K&&(n.directives=K)}function Y_(n,e,i=Ao,s=!1){xt(n)&&(n=Ip(n));for(const d in n){const A=n[d];let p;In(A)?"default"in A?p=Zn(A.from||d,A.default,!0):p=Zn(A.from||d):p=Zn(A),Si(p)&&s?Object.defineProperty(e,d,{enumerable:!0,configurable:!0,get:()=>p.value,set:g=>p.value=g}):e[d]=p}}function Zg(n,e,i){Wr(xt(n)?n.map(s=>s.bind(e.proxy)):n.bind(e.proxy),e,i)}function nv(n,e,i,s){const d=s.includes(".")?$0(i,s):()=>i[s];if(Ai(n)){const A=e[n];Qt(A)&&Rc(d,A)}else if(Qt(n))Rc(d,n.bind(i));else if(In(n))if(xt(n))n.forEach(A=>nv(A,e,i,s));else{const A=Qt(n.handler)?n.handler.bind(i):e[n.handler];Qt(A)&&Rc(d,A,n)}}function xh(n){const e=n.type,{mixins:i,extends:s}=e,{mixins:d,optionsCache:A,config:{optionMergeStrategies:p}}=n.appContext,g=A.get(e);let m;return g?m=g:!d.length&&!i&&!s?m=e:(m={},d.length&&d.forEach(v=>Hu(m,v,p,!0)),Hu(m,e,p)),In(e)&&A.set(e,m),m}function Hu(n,e,i,s=!1){const{mixins:d,extends:A}=e;A&&Hu(n,A,i,!0),d&&d.forEach(p=>Hu(n,p,i,!0));for(const p in e)if(!(s&&p==="expose")){const g=ew[p]||i&&i[p];n[p]=g?g(n[p],e[p]):e[p]}return n}const ew={data:Gg,props:Al,emits:Al,methods:Al,computed:Al,beforeCreate:Ui,created:Ui,beforeMount:Ui,mounted:Ui,beforeUpdate:Ui,updated:Ui,beforeDestroy:Ui,beforeUnmount:Ui,destroyed:Ui,unmounted:Ui,activated:Ui,deactivated:Ui,errorCaptured:Ui,serverPrefetch:Ui,components:Al,directives:Al,watch:nw,provide:Gg,inject:tw};function Gg(n,e){return e?n?function(){return vi(Qt(n)?n.call(this,this):n,Qt(e)?e.call(this,this):e)}:e:n}function tw(n,e){return Al(Ip(n),Ip(e))}function Ip(n){if(xt(n)){const e={};for(let i=0;i0)&&!(p&16)){if(p&8){const C=n.vnode.dynamicProps;for(let _=0;_{m=!0;const[B,S]=rv(_,e,!0);vi(p,B),S&&g.push(...S)};!i&&e.mixins.length&&e.mixins.forEach(C),n.extends&&C(n.extends),n.mixins&&n.mixins.forEach(C)}if(!A&&!m)return In(n)&&s.set(n,cA),cA;if(xt(A))for(let C=0;C-1,S[1]=j<0||N-1||Gt(S,"default"))&&g.push(_)}}}const v=[p,g];return In(n)&&s.set(n,v),v}function Ug(n){return n[0]!=="$"}function Wg(n){const e=n&&n.toString().match(/^\s*function (\w+)/);return e?e[1]:n===null?"null":""}function Xg(n,e){return Wg(n)===Wg(e)}function Jg(n,e){return xt(e)?e.findIndex(i=>Xg(i,n)):Qt(e)&&Xg(e,n)?0:-1}const ov=n=>n[0]==="_"||n==="$stable",Ch=n=>xt(n)?n.map(Qo):[Qo(n)],ow=(n,e,i)=>{if(e._n)return e;const s=of((...d)=>Ch(e(...d)),i);return s._c=!1,s},sv=(n,e,i)=>{const s=n._ctx;for(const d in n){if(ov(d))continue;const A=n[d];if(Qt(A))e[d]=ow(d,A,s);else if(A!=null){const p=Ch(A);e[d]=()=>p}}},av=(n,e)=>{const i=Ch(e);n.slots.default=()=>i},sw=(n,e)=>{if(n.vnode.shapeFlag&32){const i=e._;i?(n.slots=nn(e),Pu(e,"_",i)):sv(e,n.slots={})}else n.slots={},e&&av(n,e);Pu(n.slots,lf,1)},aw=(n,e,i)=>{const{vnode:s,slots:d}=n;let A=!0,p=mn;if(s.shapeFlag&32){const g=e._;g?i&&g===1?A=!1:(vi(d,e),!i&&g===1&&delete d._):(A=!e.$stable,sv(e,d)),p=e}else e&&(av(n,e),p={default:1});if(A)for(const g in d)!ov(g)&&!(g in p)&&delete d[g]};function lv(){return{app:null,config:{isNativeTag:OC,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let lw=0;function Aw(n,e){return function(s,d=null){Qt(s)||(s=Object.assign({},s)),d!=null&&!In(d)&&(d=null);const A=lv(),p=new Set;let g=!1;const m=A.app={_uid:lw++,_component:s,_props:d,_container:null,_context:A,_instance:null,version:Mw,get config(){return A.config},set config(v){},use(v,...C){return p.has(v)||(v&&Qt(v.install)?(p.add(v),v.install(m,...C)):Qt(v)&&(p.add(v),v(m,...C))),m},mixin(v){return A.mixins.includes(v)||A.mixins.push(v),m},component(v,C){return C?(A.components[v]=C,m):A.components[v]},directive(v,C){return C?(A.directives[v]=C,m):A.directives[v]},mount(v,C,_){if(!g){const B=Xn(s,d);return B.appContext=A,C&&e?e(B,v):n(B,v,_),g=!0,m._container=v,v.__vue_app__=m,Af(B.component)||B.component.proxy}},unmount(){g&&(n(null,m._container),delete m._container.__vue_app__)},provide(v,C){return A.provides[v]=C,m}};return m}}function Bp(n,e,i,s,d=!1){if(xt(n)){n.forEach((B,S)=>Bp(B,e&&(xt(e)?e[S]:e),i,s,d));return}if(Tc(s)&&!d)return;const A=s.shapeFlag&4?Af(s.component)||s.component.proxy:s.el,p=d?null:A,{i:g,r:m}=n,v=e&&e.r,C=g.refs===mn?g.refs={}:g.refs,_=g.setupState;if(v!=null&&v!==m&&(Ai(v)?(C[v]=null,Gt(_,v)&&(_[v]=null)):Si(v)&&(v.value=null)),Qt(m))sa(m,g,12,[p,C]);else{const B=Ai(m),S=Si(m);if(B||S){const N=()=>{if(n.f){const j=B?Gt(_,m)?_[m]:C[m]:m.value;d?xt(j)&&lh(j,A):xt(j)?j.includes(A)||j.push(A):B?(C[m]=[A],Gt(_,m)&&(_[m]=C[m])):(m.value=[A],n.k&&(C[n.k]=m.value))}else B?(C[m]=p,Gt(_,m)&&(_[m]=p)):S&&(m.value=p,n.k&&(C[n.k]=p))};p?(N.id=-1,rr(N,i)):N()}}}const rr=T_;function cw(n){return dw(n)}function dw(n,e){const i=HC();i.__VUE__=!0;const{insert:s,remove:d,patchProp:A,createElement:p,createText:g,createComment:m,setText:v,setElementText:C,parentNode:_,nextSibling:B,setScopeId:S=Ao,insertStaticContent:N}=n,j=(L,U,ae,fe=null,Ce=null,ke=null,Z=!1,ie=null,V=!!U.dynamicChildren)=>{if(L===U)return;L&&!dl(L,U)&&(fe=ve(L),De(L,Ce,ke,!0),L=null),U.patchFlag===-2&&(V=!1,U.dynamicChildren=null);const{type:Ae,ref:Ue,shapeFlag:Ze}=U;switch(Ae){case _h:oe(L,U,ae,fe);break;case Xr:X(L,U,ae,fe);break;case Kf:L==null&&le(U,ae,fe,Z);break;case sr:O(L,U,ae,fe,Ce,ke,Z,ie,V);break;default:Ze&1?Pe(L,U,ae,fe,Ce,ke,Z,ie,V):Ze&6?K(L,U,ae,fe,Ce,ke,Z,ie,V):(Ze&64||Ze&128)&&Ae.process(L,U,ae,fe,Ce,ke,Z,ie,V,ot)}Ue!=null&&Ce&&Bp(Ue,L&&L.ref,ke,U||L,!U)},oe=(L,U,ae,fe)=>{if(L==null)s(U.el=g(U.children),ae,fe);else{const Ce=U.el=L.el;U.children!==L.children&&v(Ce,U.children)}},X=(L,U,ae,fe)=>{L==null?s(U.el=m(U.children||""),ae,fe):U.el=L.el},le=(L,U,ae,fe)=>{[L.el,L.anchor]=N(L.children,U,ae,fe,L.el,L.anchor)},ye=({el:L,anchor:U},ae,fe)=>{let Ce;for(;L&&L!==U;)Ce=B(L),s(L,ae,fe),L=Ce;s(U,ae,fe)},xe=({el:L,anchor:U})=>{let ae;for(;L&&L!==U;)ae=B(L),d(L),L=ae;d(U)},Pe=(L,U,ae,fe,Ce,ke,Z,ie,V)=>{Z=Z||U.type==="svg",L==null?Ie(U,ae,fe,Ce,ke,Z,ie,V):Q(L,U,Ce,ke,Z,ie,V)},Ie=(L,U,ae,fe,Ce,ke,Z,ie)=>{let V,Ae;const{type:Ue,props:Ze,shapeFlag:Ge,transition:Ye,dirs:_t}=L;if(V=L.el=p(L.type,ke,Ze&&Ze.is,Ze),Ge&8?C(V,L.children):Ge&16&&Y(L.children,V,null,fe,Ce,ke&&Ue!=="foreignObject",Z,ie),_t&&il(L,null,fe,"created"),Ze){for(const Rt in Ze)Rt!=="value"&&!Su(Rt)&&A(V,Rt,null,Ze[Rt],ke,L.children,fe,Ce,ue);"value"in Ze&&A(V,"value",null,Ze.value),(Ae=Ze.onVnodeBeforeMount)&&ko(Ae,fe,L)}Ee(V,L,L.scopeId,Z,fe),_t&&il(L,null,fe,"beforeMount");const mt=(!Ce||Ce&&!Ce.pendingBranch)&&Ye&&!Ye.persisted;mt&&Ye.beforeEnter(V),s(V,U,ae),((Ae=Ze&&Ze.onVnodeMounted)||mt||_t)&&rr(()=>{Ae&&ko(Ae,fe,L),mt&&Ye.enter(V),_t&&il(L,null,fe,"mounted")},Ce)},Ee=(L,U,ae,fe,Ce)=>{if(ae&&S(L,ae),fe)for(let ke=0;ke{for(let Ae=V;Ae{const ie=U.el=L.el;let{patchFlag:V,dynamicChildren:Ae,dirs:Ue}=U;V|=L.patchFlag&16;const Ze=L.props||mn,Ge=U.props||mn;let Ye;ae&&rl(ae,!1),(Ye=Ge.onVnodeBeforeUpdate)&&ko(Ye,ae,U,L),Ue&&il(U,L,ae,"beforeUpdate"),ae&&rl(ae,!0);const _t=Ce&&U.type!=="foreignObject";if(Ae?M(L.dynamicChildren,Ae,ie,ae,fe,_t,ke):Z||Qe(L,U,ie,null,ae,fe,_t,ke,!1),V>0){if(V&16)W(ie,U,Ze,Ge,ae,fe,Ce);else if(V&2&&Ze.class!==Ge.class&&A(ie,"class",null,Ge.class,Ce),V&4&&A(ie,"style",Ze.style,Ge.style,Ce),V&8){const mt=U.dynamicProps;for(let Rt=0;Rt{Ye&&ko(Ye,ae,U,L),Ue&&il(U,L,ae,"updated")},fe)},M=(L,U,ae,fe,Ce,ke,Z)=>{for(let ie=0;ie{if(ae!==fe){if(ae!==mn)for(const ie in ae)!Su(ie)&&!(ie in fe)&&A(L,ie,ae[ie],null,Z,U.children,Ce,ke,ue);for(const ie in fe){if(Su(ie))continue;const V=fe[ie],Ae=ae[ie];V!==Ae&&ie!=="value"&&A(L,ie,Ae,V,Z,U.children,Ce,ke,ue)}"value"in fe&&A(L,"value",ae.value,fe.value)}},O=(L,U,ae,fe,Ce,ke,Z,ie,V)=>{const Ae=U.el=L?L.el:g(""),Ue=U.anchor=L?L.anchor:g("");let{patchFlag:Ze,dynamicChildren:Ge,slotScopeIds:Ye}=U;Ye&&(ie=ie?ie.concat(Ye):Ye),L==null?(s(Ae,ae,fe),s(Ue,ae,fe),Y(U.children,ae,Ue,Ce,ke,Z,ie,V)):Ze>0&&Ze&64&&Ge&&L.dynamicChildren?(M(L.dynamicChildren,Ge,ae,Ce,ke,Z,ie),(U.key!=null||Ce&&U===Ce.subTree)&&Av(L,U,!0)):Qe(L,U,ae,Ue,Ce,ke,Z,ie,V)},K=(L,U,ae,fe,Ce,ke,Z,ie,V)=>{U.slotScopeIds=ie,L==null?U.shapeFlag&512?Ce.ctx.activate(U,ae,fe,Z,V):se(U,ae,fe,Ce,ke,Z,V):Oe(L,U,V)},se=(L,U,ae,fe,Ce,ke,Z)=>{const ie=L.component=xw(L,fe,Ce);if(sf(L)&&(ie.ctx.renderer=ot),_w(ie),ie.asyncDep){if(Ce&&Ce.registerDep(ie,ze),!L.el){const V=ie.subTree=Xn(Xr);X(null,V,U,ae)}return}ze(ie,L,U,ae,Ce,ke,Z)},Oe=(L,U,ae)=>{const fe=U.component=L.component;if(Q_(L,U,ae))if(fe.asyncDep&&!fe.asyncResolved){He(fe,U,ae);return}else fe.next=U,w_(fe.update),fe.update();else U.el=L.el,fe.vnode=U},ze=(L,U,ae,fe,Ce,ke,Z)=>{const ie=()=>{if(L.isMounted){let{next:Ue,bu:Ze,u:Ge,parent:Ye,vnode:_t}=L,mt=Ue,Rt;rl(L,!1),Ue?(Ue.el=_t.el,He(L,Ue,Z)):Ue=_t,Ze&&Ru(Ze),(Rt=Ue.props&&Ue.props.onVnodeBeforeUpdate)&&ko(Rt,Ye,Ue,_t),rl(L,!0);const $e=Jf(L),Fn=L.subTree;L.subTree=$e,j(Fn,$e,_(Fn.el),ve(Fn),L,Ce,ke),Ue.el=$e.el,mt===null&&S_(L,$e.el),Ge&&rr(Ge,Ce),(Rt=Ue.props&&Ue.props.onVnodeUpdated)&&rr(()=>ko(Rt,Ye,Ue,_t),Ce)}else{let Ue;const{el:Ze,props:Ge}=U,{bm:Ye,m:_t,parent:mt}=L,Rt=Tc(U);if(rl(L,!1),Ye&&Ru(Ye),!Rt&&(Ue=Ge&&Ge.onVnodeBeforeMount)&&ko(Ue,mt,U),rl(L,!0),Ze&&et){const $e=()=>{L.subTree=Jf(L),et(Ze,L.subTree,L,Ce,null)};Rt?U.type.__asyncLoader().then(()=>!L.isUnmounted&&$e()):$e()}else{const $e=L.subTree=Jf(L);j(null,$e,ae,fe,L,Ce,ke),U.el=$e.el}if(_t&&rr(_t,Ce),!Rt&&(Ue=Ge&&Ge.onVnodeMounted)){const $e=U;rr(()=>ko(Ue,mt,$e),Ce)}(U.shapeFlag&256||mt&&Tc(mt.vnode)&&mt.vnode.shapeFlag&256)&&L.a&&rr(L.a,Ce),L.isMounted=!0,U=ae=fe=null}},V=L.effect=new uh(ie,()=>bh(Ae),L.scope),Ae=L.update=()=>V.run();Ae.id=L.uid,rl(L,!0),Ae()},He=(L,U,ae)=>{U.component=L;const fe=L.vnode.props;L.vnode=U,L.next=null,rw(L,U.props,fe,ae),aw(L,U.children,ae),_A(),Ng(),wA()},Qe=(L,U,ae,fe,Ce,ke,Z,ie,V=!1)=>{const Ae=L&&L.children,Ue=L?L.shapeFlag:0,Ze=U.children,{patchFlag:Ge,shapeFlag:Ye}=U;if(Ge>0){if(Ge&128){ht(Ae,Ze,ae,fe,Ce,ke,Z,ie,V);return}else if(Ge&256){st(Ae,Ze,ae,fe,Ce,ke,Z,ie,V);return}}Ye&8?(Ue&16&&ue(Ae,Ce,ke),Ze!==Ae&&C(ae,Ze)):Ue&16?Ye&16?ht(Ae,Ze,ae,fe,Ce,ke,Z,ie,V):ue(Ae,Ce,ke,!0):(Ue&8&&C(ae,""),Ye&16&&Y(Ze,ae,fe,Ce,ke,Z,ie,V))},st=(L,U,ae,fe,Ce,ke,Z,ie,V)=>{L=L||cA,U=U||cA;const Ae=L.length,Ue=U.length,Ze=Math.min(Ae,Ue);let Ge;for(Ge=0;GeUe?ue(L,Ce,ke,!0,!1,Ze):Y(U,ae,fe,Ce,ke,Z,ie,V,Ze)},ht=(L,U,ae,fe,Ce,ke,Z,ie,V)=>{let Ae=0;const Ue=U.length;let Ze=L.length-1,Ge=Ue-1;for(;Ae<=Ze&&Ae<=Ge;){const Ye=L[Ae],_t=U[Ae]=V?ta(U[Ae]):Qo(U[Ae]);if(dl(Ye,_t))j(Ye,_t,ae,null,Ce,ke,Z,ie,V);else break;Ae++}for(;Ae<=Ze&&Ae<=Ge;){const Ye=L[Ze],_t=U[Ge]=V?ta(U[Ge]):Qo(U[Ge]);if(dl(Ye,_t))j(Ye,_t,ae,null,Ce,ke,Z,ie,V);else break;Ze--,Ge--}if(Ae>Ze){if(Ae<=Ge){const Ye=Ge+1,_t=YeGe)for(;Ae<=Ze;)De(L[Ae],Ce,ke,!0),Ae++;else{const Ye=Ae,_t=Ae,mt=new Map;for(Ae=_t;Ae<=Ge;Ae++){const Ut=U[Ae]=V?ta(U[Ae]):Qo(U[Ae]);Ut.key!=null&&mt.set(Ut.key,Ae)}let Rt,$e=0;const Fn=Ge-_t+1;let dt=!1,rn=0;const Jt=new Array(Fn);for(Ae=0;Ae=Fn){De(Ut,Ce,ke,!0);continue}let Mn;if(Ut.key!=null)Mn=mt.get(Ut.key);else for(Rt=_t;Rt<=Ge;Rt++)if(Jt[Rt-_t]===0&&dl(Ut,U[Rt])){Mn=Rt;break}Mn===void 0?De(Ut,Ce,ke,!0):(Jt[Mn-_t]=Ae+1,Mn>=rn?rn=Mn:dt=!0,j(Ut,U[Mn],ae,null,Ce,ke,Z,ie,V),$e++)}const zi=dt?uw(Jt):cA;for(Rt=zi.length-1,Ae=Fn-1;Ae>=0;Ae--){const Ut=_t+Ae,Mn=U[Ut],bn=Ut+1{const{el:ke,type:Z,transition:ie,children:V,shapeFlag:Ae}=L;if(Ae&6){Fe(L.component.subTree,U,ae,fe);return}if(Ae&128){L.suspense.move(U,ae,fe);return}if(Ae&64){Z.move(L,U,ae,ot);return}if(Z===sr){s(ke,U,ae);for(let Ze=0;Zeie.enter(ke),Ce);else{const{leave:Ze,delayLeave:Ge,afterLeave:Ye}=ie,_t=()=>s(ke,U,ae),mt=()=>{Ze(ke,()=>{_t(),Ye&&Ye()})};Ge?Ge(ke,_t,mt):mt()}else s(ke,U,ae)},De=(L,U,ae,fe=!1,Ce=!1)=>{const{type:ke,props:Z,ref:ie,children:V,dynamicChildren:Ae,shapeFlag:Ue,patchFlag:Ze,dirs:Ge}=L;if(ie!=null&&Bp(ie,null,ae,L,!0),Ue&256){U.ctx.deactivate(L);return}const Ye=Ue&1&&Ge,_t=!Tc(L);let mt;if(_t&&(mt=Z&&Z.onVnodeBeforeUnmount)&&ko(mt,U,L),Ue&6)he(L.component,ae,fe);else{if(Ue&128){L.suspense.unmount(ae,fe);return}Ye&&il(L,null,U,"beforeUnmount"),Ue&64?L.type.remove(L,U,ae,Ce,ot,fe):Ae&&(ke!==sr||Ze>0&&Ze&64)?ue(Ae,U,ae,!1,!0):(ke===sr&&Ze&384||!Ce&&Ue&16)&&ue(V,U,ae),fe&&qe(L)}(_t&&(mt=Z&&Z.onVnodeUnmounted)||Ye)&&rr(()=>{mt&&ko(mt,U,L),Ye&&il(L,null,U,"unmounted")},ae)},qe=L=>{const{type:U,el:ae,anchor:fe,transition:Ce}=L;if(U===sr){rt(ae,fe);return}if(U===Kf){xe(L);return}const ke=()=>{d(ae),Ce&&!Ce.persisted&&Ce.afterLeave&&Ce.afterLeave()};if(L.shapeFlag&1&&Ce&&!Ce.persisted){const{leave:Z,delayLeave:ie}=Ce,V=()=>Z(ae,ke);ie?ie(L.el,ke,V):V()}else ke()},rt=(L,U)=>{let ae;for(;L!==U;)ae=B(L),d(L),L=ae;d(U)},he=(L,U,ae)=>{const{bum:fe,scope:Ce,update:ke,subTree:Z,um:ie}=L;fe&&Ru(fe),Ce.stop(),ke&&(ke.active=!1,De(Z,L,U,ae)),ie&&rr(ie,U),rr(()=>{L.isUnmounted=!0},U),U&&U.pendingBranch&&!U.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===U.pendingId&&(U.deps--,U.deps===0&&U.resolve())},ue=(L,U,ae,fe=!1,Ce=!1,ke=0)=>{for(let Z=ke;ZL.shapeFlag&6?ve(L.component.subTree):L.shapeFlag&128?L.suspense.next():B(L.anchor||L.el),Te=(L,U,ae)=>{L==null?U._vnode&&De(U._vnode,null,null,!0):j(U._vnode||null,L,U,null,null,null,ae),Ng(),D0(),U._vnode=L},ot={p:j,um:De,m:Fe,r:qe,mt:se,mc:Y,pc:Qe,pbc:M,n:ve,o:n};let gt,et;return e&&([gt,et]=e(ot)),{render:Te,hydrate:gt,createApp:Aw(Te,gt)}}function rl({effect:n,update:e},i){n.allowRecurse=e.allowRecurse=i}function Av(n,e,i=!1){const s=n.children,d=e.children;if(xt(s)&&xt(d))for(let A=0;A>1,n[i[g]]0&&(e[s]=i[A-1]),i[A]=s)}}for(A=i.length,p=i[A-1];A-- >0;)i[A]=p,p=e[p];return i}const fw=n=>n.__isTeleport,sr=Symbol(void 0),_h=Symbol(void 0),Xr=Symbol(void 0),Kf=Symbol(void 0),zc=[];let lo=null;function gi(n=!1){zc.push(lo=n?null:[])}function pw(){zc.pop(),lo=zc[zc.length-1]||null}let Zc=1;function Vg(n){Zc+=n}function cv(n){return n.dynamicChildren=Zc>0?lo||cA:null,pw(),Zc>0&&lo&&lo.push(n),n}function $r(n,e,i,s,d,A){return cv(ln(n,e,i,s,d,A,!0))}function Gc(n,e,i,s,d){return cv(Xn(n,e,i,s,d,!0))}function $u(n){return n?n.__v_isVNode===!0:!1}function dl(n,e){return n.type===e.type&&n.key===e.key}const lf="__vInternal",dv=({key:n})=>n!=null?n:null,Tu=({ref:n,ref_key:e,ref_for:i})=>n!=null?Ai(n)||Si(n)||Qt(n)?{i:Ri,r:n,k:e,f:!!i}:n:null;function ln(n,e=null,i=null,s=0,d=null,A=n===sr?0:1,p=!1,g=!1){const m={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&dv(e),ref:e&&Tu(e),scopeId:rf,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:A,patchFlag:s,dynamicProps:d,dynamicChildren:null,appContext:null};return g?(wh(m,i),A&128&&n.normalize(m)):i&&(m.shapeFlag|=Ai(i)?8:16),Zc>0&&!p&&lo&&(m.patchFlag>0||A&6)&&m.patchFlag!==32&&lo.push(m),m}const Xn=hw;function hw(n,e=null,i=null,s=0,d=null,A=!1){if((!n||n===X_)&&(n=Xr),$u(n)){const g=la(n,e,!0);return i&&wh(g,i),Zc>0&&!A&&lo&&(g.shapeFlag&6?lo[lo.indexOf(n)]=g:lo.push(g)),g.patchFlag|=-2,g}if(kw(n)&&(n=n.__vccOpts),e){e=gw(e);let{class:g,style:m}=e;g&&!Ai(g)&&(e.class=Zr(g)),In(m)&&(k0(m)&&!xt(m)&&(m=vi({},m)),e.style=sh(m))}const p=Ai(n)?1:R_(n)?128:fw(n)?64:In(n)?4:Qt(n)?2:0;return ln(n,e,i,s,d,p,A,!0)}function gw(n){return n?k0(n)||lf in n?vi({},n):n:null}function la(n,e,i=!1){const{props:s,ref:d,patchFlag:A,children:p}=n,g=e?vw(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:g,key:g&&dv(g),ref:e&&e.ref?i&&d?xt(d)?d.concat(Tu(e)):[d,Tu(e)]:Tu(e):d,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:p,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==sr?A===-1?16:A|16:A,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&la(n.ssContent),ssFallback:n.ssFallback&&la(n.ssFallback),el:n.el,anchor:n.anchor}}function mw(n=" ",e=0){return Xn(_h,null,n,e)}function uv(n="",e=!1){return e?(gi(),Gc(Xr,null,n)):Xn(Xr,null,n)}function Qo(n){return n==null||typeof n=="boolean"?Xn(Xr):xt(n)?Xn(sr,null,n.slice()):typeof n=="object"?ta(n):Xn(_h,null,String(n))}function ta(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:la(n)}function wh(n,e){let i=0;const{shapeFlag:s}=n;if(e==null)e=null;else if(xt(e))i=16;else if(typeof e=="object")if(s&65){const d=e.default;d&&(d._c&&(d._d=!1),wh(n,d()),d._c&&(d._d=!0));return}else{i=32;const d=e._;!d&&!(lf in e)?e._ctx=Ri:d===3&&Ri&&(Ri.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else Qt(e)?(e={default:e,_ctx:Ri},i=32):(e=String(e),s&64?(i=16,e=[mw(e)]):i=8);n.children=e,n.shapeFlag|=i}function vw(...n){const e={};for(let i=0;ili||Ri,gA=n=>{li=n,n.scope.on()},ml=()=>{li&&li.scope.off(),li=null};function fv(n){return n.vnode.shapeFlag&4}let Uc=!1;function _w(n,e=!1){Uc=e;const{props:i,children:s}=n.vnode,d=fv(n);iw(n,i,d,e),sw(n,s);const A=d?ww(n,e):void 0;return Uc=!1,A}function ww(n,e){const i=n.type;n.accessCache=Object.create(null),n.proxy=M0(new Proxy(n.ctx,K_));const{setup:s}=i;if(s){const d=n.setupContext=s.length>1?Ew(n):null;gA(n),_A();const A=sa(s,n,0,[n.props,d]);if(wA(),ml(),p0(A)){if(A.then(ml,ml),e)return A.then(p=>{Kg(n,p,e)}).catch(p=>{tf(p,n,0)});n.asyncDep=A}else Kg(n,A,e)}else pv(n,e)}function Kg(n,e,i){Qt(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:In(e)&&(n.setupState=T0(e)),pv(n,i)}let qg;function pv(n,e,i){const s=n.type;if(!n.render){if(!e&&qg&&!s.render){const d=s.template||xh(n).template;if(d){const{isCustomElement:A,compilerOptions:p}=n.appContext.config,{delimiters:g,compilerOptions:m}=s,v=vi(vi({isCustomElement:A,delimiters:g},p),m);s.render=qg(d,v)}}n.render=s.render||Ao}gA(n),_A(),q_(n),wA(),ml()}function Iw(n){return new Proxy(n.attrs,{get(e,i){return xr(n,"get","$attrs"),e[i]}})}function Ew(n){const e=s=>{n.exposed=s||{}};let i;return{get attrs(){return i||(i=Iw(n))},slots:n.slots,emit:n.emit,expose:e}}function Af(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(T0(M0(n.exposed)),{get(e,i){if(i in e)return e[i];if(i in ju)return ju[i](n)}}))}function Bw(n,e=!0){return Qt(n)?n.displayName||n.name:n.name||e&&n.__name}function kw(n){return Qt(n)&&"__vccOpts"in n}const yr=(n,e)=>x_(n,e,Uc);function Ih(n,e,i){const s=arguments.length;return s===2?In(e)&&!xt(e)?$u(e)?Xn(n,null,[e]):Xn(n,e):Xn(n,null,e):(s>3?i=Array.prototype.slice.call(arguments,2):s===3&&$u(i)&&(i=[i]),Xn(n,e,i))}const Mw="3.2.41",Qw="http://www.w3.org/2000/svg",ul=typeof document<"u"?document:null,Yg=ul&&ul.createElement("template"),Sw={insert:(n,e,i)=>{e.insertBefore(n,i||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,i,s)=>{const d=e?ul.createElementNS(Qw,n):ul.createElement(n,i?{is:i}:void 0);return n==="select"&&s&&s.multiple!=null&&d.setAttribute("multiple",s.multiple),d},createText:n=>ul.createTextNode(n),createComment:n=>ul.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>ul.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,i,s,d,A){const p=i?i.previousSibling:e.lastChild;if(d&&(d===A||d.nextSibling))for(;e.insertBefore(d.cloneNode(!0),i),!(d===A||!(d=d.nextSibling)););else{Yg.innerHTML=s?`${n}`:n;const g=Yg.content;if(s){const m=g.firstChild;for(;m.firstChild;)g.appendChild(m.firstChild);g.removeChild(m)}e.insertBefore(g,i)}return[p?p.nextSibling:e.firstChild,i?i.previousSibling:e.lastChild]}};function Rw(n,e,i){const s=n._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?n.removeAttribute("class"):i?n.setAttribute("class",e):n.className=e}function Tw(n,e,i){const s=n.style,d=Ai(i);if(i&&!d){for(const A in i)kp(s,A,i[A]);if(e&&!Ai(e))for(const A in e)i[A]==null&&kp(s,A,"")}else{const A=s.display;d?e!==i&&(s.cssText=i):e&&n.removeAttribute("style"),"_vod"in n&&(s.display=A)}}const em=/\s*!important$/;function kp(n,e,i){if(xt(i))i.forEach(s=>kp(n,e,s));else if(i==null&&(i=""),e.startsWith("--"))n.setProperty(e,i);else{const s=zw(n,e);em.test(i)?n.setProperty(CA(s),i.replace(em,""),"important"):n[s]=i}}const tm=["Webkit","Moz","ms"],qf={};function zw(n,e){const i=qf[e];if(i)return i;let s=To(e);if(s!=="filter"&&s in n)return qf[e]=s;s=Yu(s);for(let d=0;dYf||(Fw.then(()=>Yf=0),Yf=Date.now());function Hw(n,e){const i=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=i.attached)return;Wr($w(s,i.value),e,5,[s])};return i.value=n,i.attached=jw(),i}function $w(n,e){if(xt(e)){const i=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0},e.map(s=>d=>!d._stopped&&s&&s(d))}else return e}const rm=/^on[a-z]/,Zw=(n,e,i,s,d=!1,A,p,g,m)=>{e==="class"?Rw(n,s,d):e==="style"?Tw(n,i,s):Vu(e)?ah(e)||Dw(n,e,i,s,p):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Gw(n,e,s,d))?Ow(n,e,s,A,p,g,m):(e==="true-value"?n._trueValue=s:e==="false-value"&&(n._falseValue=s),Lw(n,e,s,d))};function Gw(n,e,i,s){return s?!!(e==="innerHTML"||e==="textContent"||e in n&&rm.test(e)&&Qt(i)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA"||rm.test(e)&&Ai(i)?!1:e in n}const Vs="transition",_c="animation",Eh=(n,{slots:e})=>Ih(Z0,Uw(n),e);Eh.displayName="Transition";const hv={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Eh.props=vi({},Z0.props,hv);const ol=(n,e=[])=>{xt(n)?n.forEach(i=>i(...e)):n&&n(...e)},om=n=>n?xt(n)?n.some(e=>e.length>1):n.length>1:!1;function Uw(n){const e={};for(const O in n)O in hv||(e[O]=n[O]);if(n.css===!1)return e;const{name:i="v",type:s,duration:d,enterFromClass:A=`${i}-enter-from`,enterActiveClass:p=`${i}-enter-active`,enterToClass:g=`${i}-enter-to`,appearFromClass:m=A,appearActiveClass:v=p,appearToClass:C=g,leaveFromClass:_=`${i}-leave-from`,leaveActiveClass:B=`${i}-leave-active`,leaveToClass:S=`${i}-leave-to`}=n,N=Ww(d),j=N&&N[0],oe=N&&N[1],{onBeforeEnter:X,onEnter:le,onEnterCancelled:ye,onLeave:xe,onLeaveCancelled:Pe,onBeforeAppear:Ie=X,onAppear:Ee=le,onAppearCancelled:Y=ye}=e,Q=(O,K,se)=>{sl(O,K?C:g),sl(O,K?v:p),se&&se()},M=(O,K)=>{O._isLeaving=!1,sl(O,_),sl(O,S),sl(O,B),K&&K()},W=O=>(K,se)=>{const Oe=O?Ee:le,ze=()=>Q(K,O,se);ol(Oe,[K,ze]),sm(()=>{sl(K,O?m:A),Ks(K,O?C:g),om(Oe)||am(K,s,j,ze)})};return vi(e,{onBeforeEnter(O){ol(X,[O]),Ks(O,A),Ks(O,p)},onBeforeAppear(O){ol(Ie,[O]),Ks(O,m),Ks(O,v)},onEnter:W(!1),onAppear:W(!0),onLeave(O,K){O._isLeaving=!0;const se=()=>M(O,K);Ks(O,_),Vw(),Ks(O,B),sm(()=>{!O._isLeaving||(sl(O,_),Ks(O,S),om(xe)||am(O,s,oe,se))}),ol(xe,[O,se])},onEnterCancelled(O){Q(O,!1),ol(ye,[O])},onAppearCancelled(O){Q(O,!0),ol(Y,[O])},onLeaveCancelled(O){M(O),ol(Pe,[O])}})}function Ww(n){if(n==null)return null;if(In(n))return[ep(n.enter),ep(n.leave)];{const e=ep(n);return[e,e]}}function ep(n){return Du(n)}function Ks(n,e){e.split(/\s+/).forEach(i=>i&&n.classList.add(i)),(n._vtc||(n._vtc=new Set)).add(e)}function sl(n,e){e.split(/\s+/).forEach(s=>s&&n.classList.remove(s));const{_vtc:i}=n;i&&(i.delete(e),i.size||(n._vtc=void 0))}function sm(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let Xw=0;function am(n,e,i,s){const d=n._endId=++Xw,A=()=>{d===n._endId&&s()};if(i)return setTimeout(A,i);const{type:p,timeout:g,propCount:m}=Jw(n,e);if(!p)return s();const v=p+"end";let C=0;const _=()=>{n.removeEventListener(v,B),A()},B=S=>{S.target===n&&++C>=m&&_()};setTimeout(()=>{C(i[N]||"").split(", "),d=s(Vs+"Delay"),A=s(Vs+"Duration"),p=lm(d,A),g=s(_c+"Delay"),m=s(_c+"Duration"),v=lm(g,m);let C=null,_=0,B=0;e===Vs?p>0&&(C=Vs,_=p,B=A.length):e===_c?v>0&&(C=_c,_=v,B=m.length):(_=Math.max(p,v),C=_>0?p>v?Vs:_c:null,B=C?C===Vs?A.length:m.length:0);const S=C===Vs&&/\b(transform|all)(,|$)/.test(i[Vs+"Property"]);return{type:C,timeout:_,propCount:B,hasTransform:S}}function lm(n,e){for(;n.lengthAm(i)+Am(n[s])))}function Am(n){return Number(n.slice(0,-1).replace(",","."))*1e3}function Vw(){return document.body.offsetHeight}const cm=n=>{const e=n.props["onUpdate:modelValue"]||!1;return xt(e)?i=>Ru(e,i):e};function Kw(n){n.target.composing=!0}function dm(n){const e=n.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const qw={created(n,{modifiers:{lazy:e,trim:i,number:s}},d){n._assign=cm(d);const A=s||d.props&&d.props.type==="number";oA(n,e?"change":"input",p=>{if(p.target.composing)return;let g=n.value;i&&(g=g.trim()),A&&(g=Du(g)),n._assign(g)}),i&&oA(n,"change",()=>{n.value=n.value.trim()}),e||(oA(n,"compositionstart",Kw),oA(n,"compositionend",dm),oA(n,"change",dm))},mounted(n,{value:e}){n.value=e==null?"":e},beforeUpdate(n,{value:e,modifiers:{lazy:i,trim:s,number:d}},A){if(n._assign=cm(A),n.composing||document.activeElement===n&&n.type!=="range"&&(i||s&&n.value.trim()===e||(d||n.type==="number")&&Du(n.value)===e))return;const p=e==null?"":e;n.value!==p&&(n.value=p)}},Yw=["ctrl","shift","alt","meta"],eI={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>Yw.some(i=>n[`${i}Key`]&&!e.includes(i))},zu=(n,e)=>(i,...s)=>{for(let d=0;d{wc(n,!1)}):wc(n,e))},beforeUnmount(n,{value:e}){wc(n,e)}};function wc(n,e){n.style.display=e?n._vod:"none"}const tI=vi({patchProp:Zw},Sw);let um;function nI(){return um||(um=cw(tI))}const iI=(...n)=>{const e=nI().createApp(...n),{mount:i}=e;return e.mount=s=>{const d=rI(s);if(!d)return;const A=e._component;!Qt(A)&&!A.render&&!A.template&&(A.template=d.innerHTML),d.innerHTML="";const p=i(d,!1,d instanceof SVGElement);return d instanceof Element&&(d.removeAttribute("v-cloak"),d.setAttribute("data-v-app","")),p},e};function rI(n){return Ai(n)?document.querySelector(n):n}const oI="modulepreload",sI=function(n){return"/examples/"+n},fm={},pm=function(e,i,s){return!i||i.length===0?e():Promise.all(i.map(d=>{if(d=sI(d),d in fm)return;fm[d]=!0;const A=d.endsWith(".css"),p=A?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${p}`))return;const g=document.createElement("link");if(g.rel=A?"stylesheet":oI,A||(g.as="script",g.crossOrigin=""),g.href=d,document.head.appendChild(g),A)return new Promise((m,v)=>{g.addEventListener("load",m),g.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${d}`)))})})).then(()=>e())};/*! - * vue-router v4.1.6 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */const sA=typeof window<"u";function aI(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const an=Object.assign;function tp(n,e){const i={};for(const s in e){const d=e[s];i[s]=co(d)?d.map(n):n(d)}return i}const Lc=()=>{},co=Array.isArray,lI=/\/$/,AI=n=>n.replace(lI,"");function np(n,e,i="/"){let s,d={},A="",p="";const g=e.indexOf("#");let m=e.indexOf("?");return g=0&&(m=-1),m>-1&&(s=e.slice(0,m),A=e.slice(m+1,g>-1?g:e.length),d=n(A)),g>-1&&(s=s||e.slice(0,g),p=e.slice(g,e.length)),s=fI(s!=null?s:e,i),{fullPath:s+(A&&"?")+A+p,path:s,query:d,hash:p}}function cI(n,e){const i=e.query?n(e.query):"";return e.path+(i&&"?")+i+(e.hash||"")}function hm(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function dI(n,e,i){const s=e.matched.length-1,d=i.matched.length-1;return s>-1&&s===d&&mA(e.matched[s],i.matched[d])&&gv(e.params,i.params)&&n(e.query)===n(i.query)&&e.hash===i.hash}function mA(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function gv(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const i in n)if(!uI(n[i],e[i]))return!1;return!0}function uI(n,e){return co(n)?gm(n,e):co(e)?gm(e,n):n===e}function gm(n,e){return co(e)?n.length===e.length&&n.every((i,s)=>i===e[s]):n.length===1&&n[0]===e}function fI(n,e){if(n.startsWith("/"))return n;if(!n)return e;const i=e.split("/"),s=n.split("/");let d=i.length-1,A,p;for(A=0;A1&&d--;else break;return i.slice(0,d).join("/")+"/"+s.slice(A-(A===s.length?1:0)).join("/")}var Wc;(function(n){n.pop="pop",n.push="push"})(Wc||(Wc={}));var Oc;(function(n){n.back="back",n.forward="forward",n.unknown=""})(Oc||(Oc={}));function pI(n){if(!n)if(sA){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),AI(n)}const hI=/^[^#]+#/;function gI(n,e){return n.replace(hI,"#")+e}function mI(n,e){const i=document.documentElement.getBoundingClientRect(),s=n.getBoundingClientRect();return{behavior:e.behavior,left:s.left-i.left-(e.left||0),top:s.top-i.top-(e.top||0)}}const cf=()=>({left:window.pageXOffset,top:window.pageYOffset});function vI(n){let e;if("el"in n){const i=n.el,s=typeof i=="string"&&i.startsWith("#"),d=typeof i=="string"?s?document.getElementById(i.slice(1)):document.querySelector(i):i;if(!d)return;e=mI(d,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function mm(n,e){return(history.state?history.state.position-e:-1)+n}const Mp=new Map;function bI(n,e){Mp.set(n,e)}function yI(n){const e=Mp.get(n);return Mp.delete(n),e}let xI=()=>location.protocol+"//"+location.host;function mv(n,e){const{pathname:i,search:s,hash:d}=e,A=n.indexOf("#");if(A>-1){let g=d.includes(n.slice(A))?n.slice(A).length:1,m=d.slice(g);return m[0]!=="/"&&(m="/"+m),hm(m,"")}return hm(i,n)+s+d}function CI(n,e,i,s){let d=[],A=[],p=null;const g=({state:B})=>{const S=mv(n,location),N=i.value,j=e.value;let oe=0;if(B){if(i.value=S,e.value=B,p&&p===N){p=null;return}oe=j?B.position-j.position:0}else s(S);d.forEach(X=>{X(i.value,N,{delta:oe,type:Wc.pop,direction:oe?oe>0?Oc.forward:Oc.back:Oc.unknown})})};function m(){p=i.value}function v(B){d.push(B);const S=()=>{const N=d.indexOf(B);N>-1&&d.splice(N,1)};return A.push(S),S}function C(){const{history:B}=window;!B.state||B.replaceState(an({},B.state,{scroll:cf()}),"")}function _(){for(const B of A)B();A=[],window.removeEventListener("popstate",g),window.removeEventListener("beforeunload",C)}return window.addEventListener("popstate",g),window.addEventListener("beforeunload",C),{pauseListeners:m,listen:v,destroy:_}}function vm(n,e,i,s=!1,d=!1){return{back:n,current:e,forward:i,replaced:s,position:window.history.length,scroll:d?cf():null}}function _I(n){const{history:e,location:i}=window,s={value:mv(n,i)},d={value:e.state};d.value||A(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function A(m,v,C){const _=n.indexOf("#"),B=_>-1?(i.host&&document.querySelector("base")?n:n.slice(_))+m:xI()+n+m;try{e[C?"replaceState":"pushState"](v,"",B),d.value=v}catch(S){console.error(S),i[C?"replace":"assign"](B)}}function p(m,v){const C=an({},e.state,vm(d.value.back,m,d.value.forward,!0),v,{position:d.value.position});A(m,C,!0),s.value=m}function g(m,v){const C=an({},d.value,e.state,{forward:m,scroll:cf()});A(C.current,C,!0);const _=an({},vm(s.value,m,null),{position:C.position+1},v);A(m,_,!1),s.value=m}return{location:s,state:d,push:g,replace:p}}function wI(n){n=pI(n);const e=_I(n),i=CI(n,e.state,e.location,e.replace);function s(A,p=!0){p||i.pauseListeners(),history.go(A)}const d=an({location:"",base:n,go:s,createHref:gI.bind(null,n)},e,i);return Object.defineProperty(d,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(d,"state",{enumerable:!0,get:()=>e.state.value}),d}function II(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),wI(n)}function EI(n){return typeof n=="string"||n&&typeof n=="object"}function vv(n){return typeof n=="string"||typeof n=="symbol"}const qs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},bv=Symbol("");var bm;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(bm||(bm={}));function vA(n,e){return an(new Error,{type:n,[bv]:!0},e)}function cs(n,e){return n instanceof Error&&bv in n&&(e==null||!!(n.type&e))}const ym="[^/]+?",BI={sensitive:!1,strict:!1,start:!0,end:!0},kI=/[.+*?^${}()[\]/\\]/g;function MI(n,e){const i=an({},BI,e),s=[];let d=i.start?"^":"";const A=[];for(const v of n){const C=v.length?[]:[90];i.strict&&!v.length&&(d+="/");for(let _=0;_e.length?e.length===1&&e[0]===40+40?1:-1:0}function SI(n,e){let i=0;const s=n.score,d=e.score;for(;i0&&e[e.length-1]<0}const RI={type:0,value:""},TI=/[a-zA-Z0-9_]/;function zI(n){if(!n)return[[]];if(n==="/")return[[RI]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(S){throw new Error(`ERR (${i})/"${v}": ${S}`)}let i=0,s=i;const d=[];let A;function p(){A&&d.push(A),A=[]}let g=0,m,v="",C="";function _(){!v||(i===0?A.push({type:0,value:v}):i===1||i===2||i===3?(A.length>1&&(m==="*"||m==="+")&&e(`A repeatable param (${v}) must be alone in its segment. eg: '/:ids+.`),A.push({type:1,value:v,regexp:C,repeatable:m==="*"||m==="+",optional:m==="*"||m==="?"})):e("Invalid state to consume buffer"),v="")}function B(){v+=m}for(;g{p(le)}:Lc}function p(C){if(vv(C)){const _=s.get(C);_&&(s.delete(C),i.splice(i.indexOf(_),1),_.children.forEach(p),_.alias.forEach(p))}else{const _=i.indexOf(C);_>-1&&(i.splice(_,1),C.record.name&&s.delete(C.record.name),C.children.forEach(p),C.alias.forEach(p))}}function g(){return i}function m(C){let _=0;for(;_=0&&(C.record.path!==i[_].record.path||!yv(C,i[_]));)_++;i.splice(_,0,C),C.record.name&&!_m(C)&&s.set(C.record.name,C)}function v(C,_){let B,S={},N,j;if("name"in C&&C.name){if(B=s.get(C.name),!B)throw vA(1,{location:C});j=B.record.name,S=an(Cm(_.params,B.keys.filter(le=>!le.optional).map(le=>le.name)),C.params&&Cm(C.params,B.keys.map(le=>le.name))),N=B.stringify(S)}else if("path"in C)N=C.path,B=i.find(le=>le.re.test(N)),B&&(S=B.parse(N),j=B.record.name);else{if(B=_.name?s.get(_.name):i.find(le=>le.re.test(_.path)),!B)throw vA(1,{location:C,currentLocation:_});j=B.record.name,S=an({},_.params,C.params),N=B.stringify(S)}const oe=[];let X=B;for(;X;)oe.unshift(X.record),X=X.parent;return{name:j,path:N,params:S,matched:oe,meta:NI(oe)}}return n.forEach(C=>A(C)),{addRoute:A,resolve:v,removeRoute:p,getRoutes:g,getRecordMatcher:d}}function Cm(n,e){const i={};for(const s of e)s in n&&(i[s]=n[s]);return i}function PI(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:DI(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function DI(n){const e={},i=n.props||!1;if("component"in n)e.default=i;else for(const s in n.components)e[s]=typeof i=="boolean"?i:i[s];return e}function _m(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function NI(n){return n.reduce((e,i)=>an(e,i.meta),{})}function wm(n,e){const i={};for(const s in n)i[s]=s in e?e[s]:n[s];return i}function yv(n,e){return e.children.some(i=>i===n||yv(n,i))}const xv=/#/g,FI=/&/g,jI=/\//g,HI=/=/g,$I=/\?/g,Cv=/\+/g,ZI=/%5B/g,GI=/%5D/g,_v=/%5E/g,UI=/%60/g,wv=/%7B/g,WI=/%7C/g,Iv=/%7D/g,XI=/%20/g;function Bh(n){return encodeURI(""+n).replace(WI,"|").replace(ZI,"[").replace(GI,"]")}function JI(n){return Bh(n).replace(wv,"{").replace(Iv,"}").replace(_v,"^")}function Qp(n){return Bh(n).replace(Cv,"%2B").replace(XI,"+").replace(xv,"%23").replace(FI,"%26").replace(UI,"`").replace(wv,"{").replace(Iv,"}").replace(_v,"^")}function VI(n){return Qp(n).replace(HI,"%3D")}function KI(n){return Bh(n).replace(xv,"%23").replace($I,"%3F")}function qI(n){return n==null?"":KI(n).replace(jI,"%2F")}function Gu(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function YI(n){const e={};if(n===""||n==="?")return e;const s=(n[0]==="?"?n.slice(1):n).split("&");for(let d=0;dA&&Qp(A)):[s&&Qp(s)]).forEach(A=>{A!==void 0&&(e+=(e.length?"&":"")+i,A!=null&&(e+="="+A))})}return e}function eE(n){const e={};for(const i in n){const s=n[i];s!==void 0&&(e[i]=co(s)?s.map(d=>d==null?null:""+d):s==null?s:""+s)}return e}const tE=Symbol(""),Em=Symbol(""),df=Symbol(""),kh=Symbol(""),Sp=Symbol("");function Ic(){let n=[];function e(s){return n.push(s),()=>{const d=n.indexOf(s);d>-1&&n.splice(d,1)}}function i(){n=[]}return{add:e,list:()=>n,reset:i}}function na(n,e,i,s,d){const A=s&&(s.enterCallbacks[d]=s.enterCallbacks[d]||[]);return()=>new Promise((p,g)=>{const m=_=>{_===!1?g(vA(4,{from:i,to:e})):_ instanceof Error?g(_):EI(_)?g(vA(2,{from:e,to:_})):(A&&s.enterCallbacks[d]===A&&typeof _=="function"&&A.push(_),p())},v=n.call(s&&s.instances[d],e,i,m);let C=Promise.resolve(v);n.length<3&&(C=C.then(m)),C.catch(_=>g(_))})}function ip(n,e,i,s){const d=[];for(const A of n)for(const p in A.components){let g=A.components[p];if(!(e!=="beforeRouteEnter"&&!A.instances[p]))if(nE(g)){const v=(g.__vccOpts||g)[e];v&&d.push(na(v,i,s,A,p))}else{let m=g();d.push(()=>m.then(v=>{if(!v)return Promise.reject(new Error(`Couldn't resolve component "${p}" at "${A.path}"`));const C=aI(v)?v.default:v;A.components[p]=C;const B=(C.__vccOpts||C)[e];return B&&na(B,i,s,A,p)()}))}}return d}function nE(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function Bm(n){const e=Zn(df),i=Zn(kh),s=yr(()=>e.resolve(Yt(n.to))),d=yr(()=>{const{matched:m}=s.value,{length:v}=m,C=m[v-1],_=i.matched;if(!C||!_.length)return-1;const B=_.findIndex(mA.bind(null,C));if(B>-1)return B;const S=km(m[v-2]);return v>1&&km(C)===S&&_[_.length-1].path!==S?_.findIndex(mA.bind(null,m[v-2])):B}),A=yr(()=>d.value>-1&&sE(i.params,s.value.params)),p=yr(()=>d.value>-1&&d.value===i.matched.length-1&&gv(i.params,s.value.params));function g(m={}){return oE(m)?e[Yt(n.replace)?"replace":"push"](Yt(n.to)).catch(Lc):Promise.resolve()}return{route:s,href:yr(()=>s.value.href),isActive:A,isExactActive:p,navigate:g}}const iE=W0({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Bm,setup(n,{slots:e}){const i=vl(Bm(n)),{options:s}=Zn(df),d=yr(()=>({[Mm(n.activeClass,s.linkActiveClass,"router-link-active")]:i.isActive,[Mm(n.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:i.isExactActive}));return()=>{const A=e.default&&e.default(i);return n.custom?A:Ih("a",{"aria-current":i.isExactActive?n.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:d.value},A)}}}),rE=iE;function oE(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function sE(n,e){for(const i in e){const s=e[i],d=n[i];if(typeof s=="string"){if(s!==d)return!1}else if(!co(d)||d.length!==s.length||s.some((A,p)=>A!==d[p]))return!1}return!0}function km(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const Mm=(n,e,i)=>n!=null?n:e!=null?e:i,aE=W0({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:i}){const s=Zn(Sp),d=yr(()=>n.route||s.value),A=Zn(Em,0),p=yr(()=>{let v=Yt(A);const{matched:C}=d.value;let _;for(;(_=C[v])&&!_.components;)v++;return v}),g=yr(()=>d.value.matched[p.value]);Hr(Em,yr(()=>p.value+1)),Hr(tE,g),Hr(Sp,d);const m=AA();return Rc(()=>[m.value,g.value,n.name],([v,C,_],[B,S,N])=>{C&&(C.instances[_]=v,S&&S!==C&&v&&v===B&&(C.leaveGuards.size||(C.leaveGuards=S.leaveGuards),C.updateGuards.size||(C.updateGuards=S.updateGuards))),v&&C&&(!S||!mA(C,S)||!B)&&(C.enterCallbacks[_]||[]).forEach(j=>j(v))},{flush:"post"}),()=>{const v=d.value,C=n.name,_=g.value,B=_&&_.components[C];if(!B)return Qm(i.default,{Component:B,route:v});const S=_.props[C],N=S?S===!0?v.params:typeof S=="function"?S(v):S:null,oe=Ih(B,an({},N,e,{onVnodeUnmounted:X=>{X.component.isUnmounted&&(_.instances[C]=null)},ref:m}));return Qm(i.default,{Component:oe,route:v})||oe}}});function Qm(n,e){if(!n)return null;const i=n(e);return i.length===1?i[0]:i}const lE=aE;function AE(n){const e=OI(n.routes,n),i=n.parseQuery||YI,s=n.stringifyQuery||Im,d=n.history,A=Ic(),p=Ic(),g=Ic(),m=m_(qs);let v=qs;sA&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const C=tp.bind(null,he=>""+he),_=tp.bind(null,qI),B=tp.bind(null,Gu);function S(he,ue){let ve,Te;return vv(he)?(ve=e.getRecordMatcher(he),Te=ue):Te=he,e.addRoute(Te,ve)}function N(he){const ue=e.getRecordMatcher(he);ue&&e.removeRoute(ue)}function j(){return e.getRoutes().map(he=>he.record)}function oe(he){return!!e.getRecordMatcher(he)}function X(he,ue){if(ue=an({},ue||m.value),typeof he=="string"){const L=np(i,he,ue.path),U=e.resolve({path:L.path},ue),ae=d.createHref(L.fullPath);return an(L,U,{params:B(U.params),hash:Gu(L.hash),redirectedFrom:void 0,href:ae})}let ve;if("path"in he)ve=an({},he,{path:np(i,he.path,ue.path).path});else{const L=an({},he.params);for(const U in L)L[U]==null&&delete L[U];ve=an({},he,{params:_(he.params)}),ue.params=_(ue.params)}const Te=e.resolve(ve,ue),ot=he.hash||"";Te.params=C(B(Te.params));const gt=cI(s,an({},he,{hash:JI(ot),path:Te.path})),et=d.createHref(gt);return an({fullPath:gt,hash:ot,query:s===Im?eE(he.query):he.query||{}},Te,{redirectedFrom:void 0,href:et})}function le(he){return typeof he=="string"?np(i,he,m.value.path):an({},he)}function ye(he,ue){if(v!==he)return vA(8,{from:ue,to:he})}function xe(he){return Ee(he)}function Pe(he){return xe(an(le(he),{replace:!0}))}function Ie(he){const ue=he.matched[he.matched.length-1];if(ue&&ue.redirect){const{redirect:ve}=ue;let Te=typeof ve=="function"?ve(he):ve;return typeof Te=="string"&&(Te=Te.includes("?")||Te.includes("#")?Te=le(Te):{path:Te},Te.params={}),an({query:he.query,hash:he.hash,params:"path"in Te?{}:he.params},Te)}}function Ee(he,ue){const ve=v=X(he),Te=m.value,ot=he.state,gt=he.force,et=he.replace===!0,L=Ie(ve);if(L)return Ee(an(le(L),{state:typeof L=="object"?an({},ot,L.state):ot,force:gt,replace:et}),ue||ve);const U=ve;U.redirectedFrom=ue;let ae;return!gt&&dI(s,Te,ve)&&(ae=vA(16,{to:U,from:Te}),ht(Te,Te,!0,!1)),(ae?Promise.resolve(ae):Q(U,Te)).catch(fe=>cs(fe)?cs(fe,2)?fe:st(fe):He(fe,U,Te)).then(fe=>{if(fe){if(cs(fe,2))return Ee(an({replace:et},le(fe.to),{state:typeof fe.to=="object"?an({},ot,fe.to.state):ot,force:gt}),ue||U)}else fe=W(U,Te,!0,et,ot);return M(U,Te,fe),fe})}function Y(he,ue){const ve=ye(he,ue);return ve?Promise.reject(ve):Promise.resolve()}function Q(he,ue){let ve;const[Te,ot,gt]=cE(he,ue);ve=ip(Te.reverse(),"beforeRouteLeave",he,ue);for(const L of Te)L.leaveGuards.forEach(U=>{ve.push(na(U,he,ue))});const et=Y.bind(null,he,ue);return ve.push(et),tA(ve).then(()=>{ve=[];for(const L of A.list())ve.push(na(L,he,ue));return ve.push(et),tA(ve)}).then(()=>{ve=ip(ot,"beforeRouteUpdate",he,ue);for(const L of ot)L.updateGuards.forEach(U=>{ve.push(na(U,he,ue))});return ve.push(et),tA(ve)}).then(()=>{ve=[];for(const L of he.matched)if(L.beforeEnter&&!ue.matched.includes(L))if(co(L.beforeEnter))for(const U of L.beforeEnter)ve.push(na(U,he,ue));else ve.push(na(L.beforeEnter,he,ue));return ve.push(et),tA(ve)}).then(()=>(he.matched.forEach(L=>L.enterCallbacks={}),ve=ip(gt,"beforeRouteEnter",he,ue),ve.push(et),tA(ve))).then(()=>{ve=[];for(const L of p.list())ve.push(na(L,he,ue));return ve.push(et),tA(ve)}).catch(L=>cs(L,8)?L:Promise.reject(L))}function M(he,ue,ve){for(const Te of g.list())Te(he,ue,ve)}function W(he,ue,ve,Te,ot){const gt=ye(he,ue);if(gt)return gt;const et=ue===qs,L=sA?history.state:{};ve&&(Te||et?d.replace(he.fullPath,an({scroll:et&&L&&L.scroll},ot)):d.push(he.fullPath,ot)),m.value=he,ht(he,ue,ve,et),st()}let O;function K(){O||(O=d.listen((he,ue,ve)=>{if(!rt.listening)return;const Te=X(he),ot=Ie(Te);if(ot){Ee(an(ot,{replace:!0}),Te).catch(Lc);return}v=Te;const gt=m.value;sA&&bI(mm(gt.fullPath,ve.delta),cf()),Q(Te,gt).catch(et=>cs(et,12)?et:cs(et,2)?(Ee(et.to,Te).then(L=>{cs(L,20)&&!ve.delta&&ve.type===Wc.pop&&d.go(-1,!1)}).catch(Lc),Promise.reject()):(ve.delta&&d.go(-ve.delta,!1),He(et,Te,gt))).then(et=>{et=et||W(Te,gt,!1),et&&(ve.delta&&!cs(et,8)?d.go(-ve.delta,!1):ve.type===Wc.pop&&cs(et,20)&&d.go(-1,!1)),M(Te,gt,et)}).catch(Lc)}))}let se=Ic(),Oe=Ic(),ze;function He(he,ue,ve){st(he);const Te=Oe.list();return Te.length?Te.forEach(ot=>ot(he,ue,ve)):console.error(he),Promise.reject(he)}function Qe(){return ze&&m.value!==qs?Promise.resolve():new Promise((he,ue)=>{se.add([he,ue])})}function st(he){return ze||(ze=!he,K(),se.list().forEach(([ue,ve])=>he?ve(he):ue()),se.reset()),he}function ht(he,ue,ve,Te){const{scrollBehavior:ot}=n;if(!sA||!ot)return Promise.resolve();const gt=!ve&&yI(mm(he.fullPath,0))||(Te||!ve)&&history.state&&history.state.scroll||null;return O0().then(()=>ot(he,ue,gt)).then(et=>et&&vI(et)).catch(et=>He(et,he,ue))}const Fe=he=>d.go(he);let De;const qe=new Set,rt={currentRoute:m,listening:!0,addRoute:S,removeRoute:N,hasRoute:oe,getRoutes:j,resolve:X,options:n,push:xe,replace:Pe,go:Fe,back:()=>Fe(-1),forward:()=>Fe(1),beforeEach:A.add,beforeResolve:p.add,afterEach:g.add,onError:Oe.add,isReady:Qe,install(he){const ue=this;he.component("RouterLink",rE),he.component("RouterView",lE),he.config.globalProperties.$router=ue,Object.defineProperty(he.config.globalProperties,"$route",{enumerable:!0,get:()=>Yt(m)}),sA&&!De&&m.value===qs&&(De=!0,xe(d.location).catch(ot=>{}));const ve={};for(const ot in qs)ve[ot]=yr(()=>m.value[ot]);he.provide(df,ue),he.provide(kh,vl(ve)),he.provide(Sp,m);const Te=he.unmount;qe.add(he),he.unmount=function(){qe.delete(he),qe.size<1&&(v=qs,O&&O(),O=null,m.value=qs,De=!1,ze=!1),Te()}}};return rt}function tA(n){return n.reduce((e,i)=>e.then(()=>i()),Promise.resolve())}function cE(n,e){const i=[],s=[],d=[],A=Math.max(e.matched.length,n.matched.length);for(let p=0;pmA(v,g))?s.push(g):i.push(g));const m=n.matched[p];m&&(e.matched.find(v=>mA(v,m))||d.push(m))}return[i,s,d]}function Ev(){return Zn(df)}function dE(){return Zn(kh)}const uE=[{path:"/",name:"Index",redirect:"/gallery",children:[{path:"/gallery",name:"Gallery",component:()=>pm(()=>import("./index.0b960f37.js"),["assets/index.0b960f37.js","assets/index.e8df64c2.css"])},{path:"/playground",name:"Playground",component:()=>pm(()=>import("./index.c4645784.js"),["assets/index.c4645784.js","assets/index.26f1f432.css"])}]}],fE=AE({history:II(),routes:uE});var Rp=function(n,e){return Rp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(i[d]=s[d])},Rp(n,e)};function IA(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Rp(n,e);function i(){this.constructor=n}n.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}var Wi=function(){return Wi=Object.assign||function(e){for(var i,s=1,d=arguments.length;s=0;g--)(p=n[g])&&(A=(d<3?p(A):d>3?p(e,i,A):p(e,i))||A);return d>3&&A&&Object.defineProperty(e,i,A),A}function fs(n){var e=typeof Symbol=="function"&&Symbol.iterator,i=e&&n[e],s=0;if(i)return i.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&s>=n.length&&(n=void 0),{value:n&&n[s++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Lu=window,Mh=Lu.ShadowRoot&&(Lu.ShadyCSS===void 0||Lu.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Qh=Symbol(),Sm=new WeakMap;class Bv{constructor(e,i,s){if(this._$cssResult$=!0,s!==Qh)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=i}get styleSheet(){let e=this.o;const i=this.t;if(Mh&&e===void 0){const s=i!==void 0&&i.length===1;s&&(e=Sm.get(i)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&Sm.set(i,e))}return e}toString(){return this.cssText}}const pE=n=>new Bv(typeof n=="string"?n:n+"",void 0,Qh),Gn=(n,...e)=>{const i=n.length===1?n[0]:e.reduce((s,d,A)=>s+(p=>{if(p._$cssResult$===!0)return p.cssText;if(typeof p=="number")return p;throw Error("Value passed to 'css' function must be a 'css' function result: "+p+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(d)+n[A+1],n[0]);return new Bv(i,n,Qh)},hE=(n,e)=>{Mh?n.adoptedStyleSheets=e.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet):e.forEach(i=>{const s=document.createElement("style"),d=Lu.litNonce;d!==void 0&&s.setAttribute("nonce",d),s.textContent=i.cssText,n.appendChild(s)})},Rm=Mh?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let i="";for(const s of e.cssRules)i+=s.cssText;return pE(i)})(n):n;/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */var rp;const Uu=window,Tm=Uu.trustedTypes,gE=Tm?Tm.emptyScript:"",zm=Uu.reactiveElementPolyfillSupport,Tp={toAttribute(n,e){switch(e){case Boolean:n=n?gE:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let i=n;switch(e){case Boolean:i=n!==null;break;case Number:i=n===null?null:Number(n);break;case Object:case Array:try{i=JSON.parse(n)}catch{i=null}}return i}},kv=(n,e)=>e!==n&&(e==e||n==n),op={attribute:!0,type:String,converter:Tp,reflect:!1,hasChanged:kv};class aA extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(e){var i;(i=this.h)!==null&&i!==void 0||(this.h=[]),this.h.push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach((i,s)=>{const d=this._$Ep(s,i);d!==void 0&&(this._$Ev.set(d,s),e.push(d))}),e}static createProperty(e,i=op){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(e,i),!i.noAccessor&&!this.prototype.hasOwnProperty(e)){const s=typeof e=="symbol"?Symbol():"__"+e,d=this.getPropertyDescriptor(e,s,i);d!==void 0&&Object.defineProperty(this.prototype,e,d)}}static getPropertyDescriptor(e,i,s){return{get(){return this[i]},set(d){const A=this[e];this[i]=d,this.requestUpdate(e,A,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||op}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const i=this.properties,s=[...Object.getOwnPropertyNames(i),...Object.getOwnPropertySymbols(i)];for(const d of s)this.createProperty(d,i[d])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const i=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const d of s)i.unshift(Rm(d))}else e!==void 0&&i.push(Rm(e));return i}static _$Ep(e,i){const s=i.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}u(){var e;this._$E_=new Promise(i=>this.enableUpdating=i),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(e=this.constructor.h)===null||e===void 0||e.forEach(i=>i(this))}addController(e){var i,s;((i=this._$ES)!==null&&i!==void 0?i:this._$ES=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&((s=e.hostConnected)===null||s===void 0||s.call(e))}removeController(e){var i;(i=this._$ES)===null||i===void 0||i.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])})}createRenderRoot(){var e;const i=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return hE(i,this.constructor.elementStyles),i}connectedCallback(){var e;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return(s=i.hostConnected)===null||s===void 0?void 0:s.call(i)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return(s=i.hostDisconnected)===null||s===void 0?void 0:s.call(i)})}attributeChangedCallback(e,i,s){this._$AK(e,s)}_$EO(e,i,s=op){var d;const A=this.constructor._$Ep(e,s);if(A!==void 0&&s.reflect===!0){const p=(((d=s.converter)===null||d===void 0?void 0:d.toAttribute)!==void 0?s.converter:Tp).toAttribute(i,s.type);this._$El=e,p==null?this.removeAttribute(A):this.setAttribute(A,p),this._$El=null}}_$AK(e,i){var s;const d=this.constructor,A=d._$Ev.get(e);if(A!==void 0&&this._$El!==A){const p=d.getPropertyOptions(A),g=typeof p.converter=="function"?{fromAttribute:p.converter}:((s=p.converter)===null||s===void 0?void 0:s.fromAttribute)!==void 0?p.converter:Tp;this._$El=A,this[A]=g.fromAttribute(i,p.type),this._$El=null}}requestUpdate(e,i,s){let d=!0;e!==void 0&&(((s=s||this.constructor.getPropertyOptions(e)).hasChanged||kv)(this[e],i)?(this._$AL.has(e)||this._$AL.set(e,i),s.reflect===!0&&this._$El!==e&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(e,s))):d=!1),!this.isUpdatePending&&d&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(i){Promise.reject(i)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((d,A)=>this[A]=d),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),(e=this._$ES)===null||e===void 0||e.forEach(d=>{var A;return(A=d.hostUpdate)===null||A===void 0?void 0:A.call(d)}),this.update(s)):this._$Ek()}catch(d){throw i=!1,this._$Ek(),d}i&&this._$AE(s)}willUpdate(e){}_$AE(e){var i;(i=this._$ES)===null||i===void 0||i.forEach(s=>{var d;return(d=s.hostUpdated)===null||d===void 0?void 0:d.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){this._$EC!==void 0&&(this._$EC.forEach((i,s)=>this._$EO(s,this[s],i)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}aA.finalized=!0,aA.elementProperties=new Map,aA.elementStyles=[],aA.shadowRootOptions={mode:"open"},zm==null||zm({ReactiveElement:aA}),((rp=Uu.reactiveElementVersions)!==null&&rp!==void 0?rp:Uu.reactiveElementVersions=[]).push("1.4.1");/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */var sp;const Wu=window,bA=Wu.trustedTypes,Lm=bA?bA.createPolicy("lit-html",{createHTML:n=>n}):void 0,ra=`lit$${(Math.random()+"").slice(9)}$`,Mv="?"+ra,mE=`<${Mv}>`,yA=document,Xc=(n="")=>yA.createComment(n),Jc=n=>n===null||typeof n!="object"&&typeof n!="function",Qv=Array.isArray,vE=n=>Qv(n)||typeof(n==null?void 0:n[Symbol.iterator])=="function",Ec=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Om=/-->/g,Pm=/>/g,al=RegExp(`>|[ -\f\r](?:([^\\s"'>=/]+)([ -\f\r]*=[ -\f\r]*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Dm=/'/g,Nm=/"/g,Sv=/^(?:script|style|textarea|title)$/i,bE=n=>(e,...i)=>({_$litType$:n,strings:e,values:i}),it=bE(1),Gr=Symbol.for("lit-noChange"),vn=Symbol.for("lit-nothing"),Fm=new WeakMap,pA=yA.createTreeWalker(yA,129,null,!1),yE=(n,e)=>{const i=n.length-1,s=[];let d,A=e===2?"":"",p=Ec;for(let m=0;m"?(p=d!=null?d:Ec,B=-1):_[1]===void 0?B=-2:(B=p.lastIndex-_[2].length,C=_[1],p=_[3]===void 0?al:_[3]==='"'?Nm:Dm):p===Nm||p===Dm?p=al:p===Om||p===Pm?p=Ec:(p=al,d=void 0);const N=p===al&&n[m+1].startsWith("/>")?" ":"";A+=p===Ec?v+mE:B>=0?(s.push(C),v.slice(0,B)+"$lit$"+v.slice(B)+ra+N):v+ra+(B===-2?(s.push(void 0),m):N)}const g=A+(n[i]||"")+(e===2?"":"");if(!Array.isArray(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Lm!==void 0?Lm.createHTML(g):g,s]};class Vc{constructor({strings:e,_$litType$:i},s){let d;this.parts=[];let A=0,p=0;const g=e.length-1,m=this.parts,[v,C]=yE(e,i);if(this.el=Vc.createElement(v,s),pA.currentNode=this.el.content,i===2){const _=this.el.content,B=_.firstChild;B.remove(),_.append(...B.childNodes)}for(;(d=pA.nextNode())!==null&&m.length0){d.textContent=bA?bA.emptyScript:"";for(let S=0;S2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=vn}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,i=this,s,d){const A=this.strings;let p=!1;if(A===void 0)e=xA(this,e,i,0),p=!Jc(e)||e!==this._$AH&&e!==Gr,p&&(this._$AH=e);else{const g=e;let m,v;for(e=A[0],m=0;m{var s,d;const A=(s=i==null?void 0:i.renderBefore)!==null&&s!==void 0?s:e;let p=A._$litPart$;if(p===void 0){const g=(d=i==null?void 0:i.renderBefore)!==null&&d!==void 0?d:null;A._$litPart$=p=new qc(e.insertBefore(Xc(),g),g,void 0,i!=null?i:{})}return p._$AI(n),p};/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */var ap,lp;class mi extends aA{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,i;const s=super.createRenderRoot();return(e=(i=this.renderOptions).renderBefore)!==null&&e!==void 0||(i.renderBefore=s.firstChild),s}update(e){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=zp(i,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1)}render(){return Gr}}mi.finalized=!0,mi._$litElement$=!0,(ap=globalThis.litElementHydrateSupport)===null||ap===void 0||ap.call(globalThis,{LitElement:mi});const Hm=globalThis.litElementPolyfillSupport;Hm==null||Hm({LitElement:mi});((lp=globalThis.litElementVersions)!==null&&lp!==void 0?lp:globalThis.litElementVersions=[]).push("3.2.2");/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Jn=n=>e=>typeof e=="function"?((i,s)=>(customElements.define(i,s),s))(n,e):((i,s)=>{const{kind:d,elements:A}=s;return{kind:d,elements:A,finisher(p){customElements.define(i,p)}}})(n,e);/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const BE=(n,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,n)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,n)}};function ge(n){return(e,i)=>i!==void 0?((s,d,A)=>{d.constructor.createProperty(A,s)})(n,e,i):BE(n,e)}/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Ct(n){return ge({...n,state:!0})}/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Yc=({finisher:n,descriptor:e})=>(i,s)=>{var d;if(s===void 0){const A=(d=i.originalKey)!==null&&d!==void 0?d:i.key,p=e!=null?{kind:"method",placement:"prototype",key:A,descriptor:e(i.key)}:{...i,key:A};return n!=null&&(p.finisher=function(g){n(g,A)}),p}{const A=i.constructor;e!==void 0&&Object.defineProperty(i,s,e(s)),n==null||n(A,s)}};/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function ff(n){return Yc({finisher:(e,i)=>{Object.assign(e.prototype[i],n)}})}/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function en(n,e){return Yc({descriptor:i=>{const s={get(){var d,A;return(A=(d=this.renderRoot)===null||d===void 0?void 0:d.querySelector(n))!==null&&A!==void 0?A:null},enumerable:!0,configurable:!0};if(e){const d=typeof i=="symbol"?Symbol():"__"+i;s.get=function(){var A,p;return this[d]===void 0&&(this[d]=(p=(A=this.renderRoot)===null||A===void 0?void 0:A.querySelector(n))!==null&&p!==void 0?p:null),this[d]}}return s}})}/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Sh(n){return Yc({descriptor:e=>({async get(){var i;return await this.updateComplete,(i=this.renderRoot)===null||i===void 0?void 0:i.querySelector(n)},enumerable:!0,configurable:!0})})}/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */var Ap;const kE=((Ap=window.HTMLSlotElement)===null||Ap===void 0?void 0:Ap.prototype.assignedElements)!=null?(n,e)=>n.assignedElements(e):(n,e)=>n.assignedNodes(e).filter(i=>i.nodeType===Node.ELEMENT_NODE);function ME(n){const{slot:e,selector:i}=n!=null?n:{};return Yc({descriptor:s=>({get(){var d;const A="slot"+(e?`[name=${e}]`:":not([name])"),p=(d=this.renderRoot)===null||d===void 0?void 0:d.querySelector(A),g=p!=null?kE(p,n):[];return i?g.filter(m=>m.matches(i)):g},enumerable:!0,configurable:!0})})}/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Rv(n,e,i){let s,d=n;return typeof n=="object"?(d=n.slot,s=n):s={flatten:e},i?ME({slot:d,flatten:e,selector:i}):Yc({descriptor:A=>({get(){var p,g;const m="slot"+(d?`[name=${d}]`:":not([name])"),v=(p=this.renderRoot)===null||p===void 0?void 0:p.querySelector(m);return(g=v==null?void 0:v.assignedNodes(s))!==null&&g!==void 0?g:[]},enumerable:!0,configurable:!0})})}const Tv=Symbol("Comlink.proxy"),QE=Symbol("Comlink.endpoint"),SE=Symbol("Comlink.releaseProxy"),Lp=Symbol("Comlink.thrown"),zv=n=>typeof n=="object"&&n!==null||typeof n=="function",RE={canHandle:n=>zv(n)&&n[Tv],serialize(n){const{port1:e,port2:i}=new MessageChannel;return Ov(n,e),[i,[i]]},deserialize(n){return n.start(),Op(n)}},TE={canHandle:n=>zv(n)&&Lp in n,serialize({value:n}){let e;return n instanceof Error?e={isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:e={isError:!1,value:n},[e,[]]},deserialize(n){throw n.isError?Object.assign(new Error(n.value.message),n.value):n.value}},Lv=new Map([["proxy",RE],["throw",TE]]);function Ov(n,e=self){e.addEventListener("message",function i(s){if(!s||!s.data)return;const{id:d,type:A,path:p}=Object.assign({path:[]},s.data),g=(s.data.argumentList||[]).map(fl);let m;try{const v=p.slice(0,-1).reduce((_,B)=>_[B],n),C=p.reduce((_,B)=>_[B],n);switch(A){case"GET":m=C;break;case"SET":v[p.slice(-1)[0]]=fl(s.data.value),m=!0;break;case"APPLY":m=C.apply(v,g);break;case"CONSTRUCT":{const _=new C(...g);m=Dp(_)}break;case"ENDPOINT":{const{port1:_,port2:B}=new MessageChannel;Ov(n,B),m=OE(_,[_])}break;case"RELEASE":m=void 0;break;default:return}}catch(v){m={value:v,[Lp]:0}}Promise.resolve(m).catch(v=>({value:v,[Lp]:0})).then(v=>{const[C,_]=Rh(v);e.postMessage(Object.assign(Object.assign({},C),{id:d}),_),A==="RELEASE"&&(e.removeEventListener("message",i),Pv(e))})}),e.start&&e.start()}function zE(n){return n.constructor.name==="MessagePort"}function Pv(n){zE(n)&&n.close()}function Op(n,e){return Pp(n,[],e)}function Iu(n){if(n)throw new Error("Proxy has been released and is not useable")}function Pp(n,e=[],i=function(){}){let s=!1;const d=new Proxy(i,{get(A,p){if(Iu(s),p===SE)return()=>nA(n,{type:"RELEASE",path:e.map(g=>g.toString())}).then(()=>{Pv(n),s=!0});if(p==="then"){if(e.length===0)return{then:()=>d};const g=nA(n,{type:"GET",path:e.map(m=>m.toString())}).then(fl);return g.then.bind(g)}return Pp(n,[...e,p])},set(A,p,g){Iu(s);const[m,v]=Rh(g);return nA(n,{type:"SET",path:[...e,p].map(C=>C.toString()),value:m},v).then(fl)},apply(A,p,g){Iu(s);const m=e[e.length-1];if(m===QE)return nA(n,{type:"ENDPOINT"}).then(fl);if(m==="bind")return Pp(n,e.slice(0,-1));const[v,C]=$m(g);return nA(n,{type:"APPLY",path:e.map(_=>_.toString()),argumentList:v},C).then(fl)},construct(A,p){Iu(s);const[g,m]=$m(p);return nA(n,{type:"CONSTRUCT",path:e.map(v=>v.toString()),argumentList:g},m).then(fl)}});return d}function LE(n){return Array.prototype.concat.apply([],n)}function $m(n){const e=n.map(Rh);return[e.map(i=>i[0]),LE(e.map(i=>i[1]))]}const Dv=new WeakMap;function OE(n,e){return Dv.set(n,e),n}function Dp(n){return Object.assign(n,{[Tv]:!0})}function Rh(n){for(const[e,i]of Lv)if(i.canHandle(n)){const[s,d]=i.serialize(n);return[{type:"HANDLER",name:e,value:s},d]}return[{type:"RAW",value:n},Dv.get(n)||[]]}function fl(n){switch(n.type){case"HANDLER":return Lv.get(n.name).deserialize(n.value);case"RAW":return n.value}}function nA(n,e,i){return new Promise(s=>{const d=PE();n.addEventListener("message",function A(p){!p.data||!p.data.id||p.data.id!==d||(n.removeEventListener("message",A),s(p.data))}),n.start&&n.start(),n.postMessage(Object.assign({id:d},e),i)})}function PE(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const DE=1,NE=3,FE=4,jE=6;/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Zm=n=>n.endsWith("/")?n:n+"/",HE=()=>crypto.getRandomValues(new Uint32Array(1))[0].toString(32),$E=n=>(n.hostname==="cdn.skypack.dev"&&(n.pathname=n.pathname.replace(/mode=imports\/(un)?optimized/,"mode=raw")),n);function hs(n){return Array.isArray?Array.isArray(n):jv(n)==="[object Array]"}const ZE=1/0;function GE(n){if(typeof n=="string")return n;let e=n+"";return e=="0"&&1/n==-ZE?"-0":e}function UE(n){return n==null?"":GE(n)}function Ro(n){return typeof n=="string"}function Nv(n){return typeof n=="number"}function WE(n){return n===!0||n===!1||XE(n)&&jv(n)=="[object Boolean]"}function Fv(n){return typeof n=="object"}function XE(n){return Fv(n)&&n!==null}function br(n){return n!=null}function cp(n){return!n.trim().length}function jv(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}const JE="Incorrect 'index' type",VE=n=>`Invalid value for key ${n}`,KE=n=>`Pattern length exceeds max of ${n}.`,qE=n=>`Missing ${n} property in key`,YE=n=>`Property 'weight' in key '${n}' must be a positive integer`,Gm=Object.prototype.hasOwnProperty;class eB{constructor(e){this._keys=[],this._keyMap={};let i=0;e.forEach(s=>{let d=Hv(s);i+=d.weight,this._keys.push(d),this._keyMap[d.id]=d,i+=d.weight}),this._keys.forEach(s=>{s.weight/=i})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Hv(n){let e=null,i=null,s=null,d=1,A=null;if(Ro(n)||hs(n))s=n,e=Um(n),i=Np(n);else{if(!Gm.call(n,"name"))throw new Error(qE("name"));const p=n.name;if(s=p,Gm.call(n,"weight")&&(d=n.weight,d<=0))throw new Error(YE(p));e=Um(p),i=Np(p),A=n.getFn}return{path:e,id:i,weight:d,src:s,getFn:A}}function Um(n){return hs(n)?n:n.split(".")}function Np(n){return hs(n)?n.join("."):n}function tB(n,e){let i=[],s=!1;const d=(A,p,g)=>{if(!!br(A))if(!p[g])i.push(A);else{let m=p[g];const v=A[m];if(!br(v))return;if(g===p.length-1&&(Ro(v)||Nv(v)||WE(v)))i.push(UE(v));else if(hs(v)){s=!0;for(let C=0,_=v.length;C<_;C+=1)d(v[C],p,g+1)}else p.length&&d(v,p,g+1)}};return d(n,Ro(e)?e.split("."):e,0),s?i:i[0]}const nB={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},iB={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(n,e)=>n.score===e.score?n.idx{this._keysMap[i.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,Ro(this.docs[0])?this.docs.forEach((e,i)=>{this._addString(e,i)}):this.docs.forEach((e,i)=>{this._addObject(e,i)}),this.norm.clear())}add(e){const i=this.size();Ro(e)?this._addString(e,i):this._addObject(e,i)}removeAt(e){this.records.splice(e,1);for(let i=e,s=this.size();i{let p=d.getFn?d.getFn(e):this.getFn(e,d.path);if(!!br(p)){if(hs(p)){let g=[];const m=[{nestedArrIndex:-1,value:p}];for(;m.length;){const{nestedArrIndex:v,value:C}=m.pop();if(!!br(C))if(Ro(C)&&!cp(C)){let _={v:C,i:v,n:this.norm.get(C)};g.push(_)}else hs(C)&&C.forEach((_,B)=>{m.push({nestedArrIndex:B,value:_})})}s.$[A]=g}else if(Ro(p)&&!cp(p)){let g={v:p,n:this.norm.get(p)};s.$[A]=g}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function $v(n,e,{getFn:i=Et.getFn,fieldNormWeight:s=Et.fieldNormWeight}={}){const d=new Th({getFn:i,fieldNormWeight:s});return d.setKeys(n.map(Hv)),d.setSources(e),d.create(),d}function lB(n,{getFn:e=Et.getFn,fieldNormWeight:i=Et.fieldNormWeight}={}){const{keys:s,records:d}=n,A=new Th({getFn:e,fieldNormWeight:i});return A.setKeys(s),A.setIndexRecords(d),A}function Eu(n,{errors:e=0,currentLocation:i=0,expectedLocation:s=0,distance:d=Et.distance,ignoreLocation:A=Et.ignoreLocation}={}){const p=e/n.length;if(A)return p;const g=Math.abs(s-i);return d?p+g/d:g?1:p}function AB(n=[],e=Et.minMatchCharLength){let i=[],s=-1,d=-1,A=0;for(let p=n.length;A=e&&i.push([s,d]),s=-1)}return n[A-1]&&A-s>=e&&i.push([s,A-1]),i}const pl=32;function cB(n,e,i,{location:s=Et.location,distance:d=Et.distance,threshold:A=Et.threshold,findAllMatches:p=Et.findAllMatches,minMatchCharLength:g=Et.minMatchCharLength,includeMatches:m=Et.includeMatches,ignoreLocation:v=Et.ignoreLocation}={}){if(e.length>pl)throw new Error(KE(pl));const C=e.length,_=n.length,B=Math.max(0,Math.min(s,_));let S=A,N=B;const j=g>1||m,oe=j?Array(_):[];let X;for(;(X=n.indexOf(e,N))>-1;){let Ee=Eu(e,{currentLocation:X,expectedLocation:B,distance:d,ignoreLocation:v});if(S=Math.min(Ee,S),N=X+C,j){let Y=0;for(;Y=M;se-=1){let Oe=se-1,ze=i[n.charAt(Oe)];if(j&&(oe[Oe]=+!!ze),O[se]=(O[se+1]<<1|1)&ze,Ee&&(O[se]|=(le[se+1]|le[se])<<1|1|le[se+1]),O[se]&Pe&&(ye=Eu(e,{errors:Ee,currentLocation:Oe,expectedLocation:B,distance:d,ignoreLocation:v}),ye<=S)){if(S=ye,N=Oe,N<=B)break;M=Math.max(1,2*B-N)}}if(Eu(e,{errors:Ee+1,currentLocation:B,expectedLocation:B,distance:d,ignoreLocation:v})>S)break;le=O}const Ie={isMatch:N>=0,score:Math.max(.001,ye)};if(j){const Ee=AB(oe,g);Ee.length?m&&(Ie.indices=Ee):Ie.isMatch=!1}return Ie}function dB(n){let e={};for(let i=0,s=n.length;i{this.chunks.push({pattern:B,alphabet:dB(B),startIndex:S})},_=this.pattern.length;if(_>pl){let B=0;const S=_%pl,N=_-S;for(;B{const{isMatch:X,score:le,indices:ye}=cB(e,N,j,{location:d+oe,distance:A,threshold:p,findAllMatches:g,minMatchCharLength:m,includeMatches:s,ignoreLocation:v});X&&(B=!0),_+=le,X&&ye&&(C=[...C,...ye])});let S={isMatch:B,score:B?_/this.chunks.length:1};return B&&s&&(S.indices=C),S}}class Aa{constructor(e){this.pattern=e}static isMultiMatch(e){return Wm(e,this.multiRegex)}static isSingleMatch(e){return Wm(e,this.singleRegex)}search(){}}function Wm(n,e){const i=n.match(e);return i?i[1]:null}class uB extends Aa{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const i=e===this.pattern;return{isMatch:i,score:i?0:1,indices:[0,this.pattern.length-1]}}}class fB extends Aa{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const s=e.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}}class pB extends Aa{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const i=e.startsWith(this.pattern);return{isMatch:i,score:i?0:1,indices:[0,this.pattern.length-1]}}}class hB extends Aa{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const i=!e.startsWith(this.pattern);return{isMatch:i,score:i?0:1,indices:[0,e.length-1]}}}class gB extends Aa{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const i=e.endsWith(this.pattern);return{isMatch:i,score:i?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}class mB extends Aa{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const i=!e.endsWith(this.pattern);return{isMatch:i,score:i?0:1,indices:[0,e.length-1]}}}class Gv extends Aa{constructor(e,{location:i=Et.location,threshold:s=Et.threshold,distance:d=Et.distance,includeMatches:A=Et.includeMatches,findAllMatches:p=Et.findAllMatches,minMatchCharLength:g=Et.minMatchCharLength,isCaseSensitive:m=Et.isCaseSensitive,ignoreLocation:v=Et.ignoreLocation}={}){super(e),this._bitapSearch=new Zv(e,{location:i,threshold:s,distance:d,includeMatches:A,findAllMatches:p,minMatchCharLength:g,isCaseSensitive:m,ignoreLocation:v})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class Uv extends Aa{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let i=0,s;const d=[],A=this.pattern.length;for(;(s=e.indexOf(this.pattern,i))>-1;)i=s+A,d.push([s,i-1]);const p=!!d.length;return{isMatch:p,score:p?0:1,indices:d}}}const Fp=[uB,Uv,pB,hB,mB,gB,fB,Gv],Xm=Fp.length,vB=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,bB="|";function yB(n,e={}){return n.split(bB).map(i=>{let s=i.trim().split(vB).filter(A=>A&&!!A.trim()),d=[];for(let A=0,p=s.length;A!!(n[Xu.AND]||n[Xu.OR]),wB=n=>!!n[$p.PATH],IB=n=>!hs(n)&&Fv(n)&&!Zp(n),Jm=n=>({[Xu.AND]:Object.keys(n).map(e=>({[e]:n[e]}))});function Wv(n,e,{auto:i=!0}={}){const s=d=>{let A=Object.keys(d);const p=wB(d);if(!p&&A.length>1&&!Zp(d))return s(Jm(d));if(IB(d)){const m=p?d[$p.PATH]:A[0],v=p?d[$p.PATTERN]:d[m];if(!Ro(v))throw new Error(VE(m));const C={keyId:Np(m),pattern:v};return i&&(C.searcher=Hp(v,e)),C}let g={children:[],operator:A[0]};return A.forEach(m=>{const v=d[m];hs(v)&&v.forEach(C=>{g.children.push(s(C))})}),g};return Zp(n)||(n=Jm(n)),s(n)}function EB(n,{ignoreFieldNorm:e=Et.ignoreFieldNorm}){n.forEach(i=>{let s=1;i.matches.forEach(({key:d,norm:A,score:p})=>{const g=d?d.weight:null;s*=Math.pow(p===0&&g?Number.EPSILON:p,(g||1)*(e?1:A))}),i.score=s})}function BB(n,e){const i=n.matches;e.matches=[],br(i)&&i.forEach(s=>{if(!br(s.indices)||!s.indices.length)return;const{indices:d,value:A}=s;let p={indices:d,value:A};s.key&&(p.key=s.key.src),s.idx>-1&&(p.refIndex=s.idx),e.matches.push(p)})}function kB(n,e){e.score=n.score}function MB(n,e,{includeMatches:i=Et.includeMatches,includeScore:s=Et.includeScore}={}){const d=[];return i&&d.push(BB),s&&d.push(kB),n.map(A=>{const{idx:p}=A,g={item:e[p],refIndex:p};return d.length&&d.forEach(m=>{m(A,g)}),g})}class EA{constructor(e,i={},s){this.options={...Et,...i},this.options.useExtendedSearch,this._keyStore=new eB(this.options.keys),this.setCollection(e,s)}setCollection(e,i){if(this._docs=e,i&&!(i instanceof Th))throw new Error(JE);this._myIndex=i||$v(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){!br(e)||(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){const i=[];for(let s=0,d=this._docs.length;s-1&&(m=m.slice(0,i)),MB(m,this._docs,{includeMatches:s,includeScore:d})}_searchStringList(e){const i=Hp(e,this.options),{records:s}=this._myIndex,d=[];return s.forEach(({v:A,i:p,n:g})=>{if(!br(A))return;const{isMatch:m,score:v,indices:C}=i.searchIn(A);m&&d.push({item:A,idx:p,matches:[{score:v,value:A,norm:g,indices:C}]})}),d}_searchLogical(e){const i=Wv(e,this.options),s=(g,m,v)=>{if(!g.children){const{keyId:_,searcher:B}=g,S=this._findMatches({key:this._keyStore.get(_),value:this._myIndex.getValueForItemAtKeyId(m,_),searcher:B});return S&&S.length?[{idx:v,item:m,matches:S}]:[]}const C=[];for(let _=0,B=g.children.length;_{if(br(g)){let v=s(i,g,m);v.length&&(A[m]||(A[m]={idx:m,item:g,matches:[]},p.push(A[m])),v.forEach(({matches:C})=>{A[m].matches.push(...C)}))}}),p}_searchObjectList(e){const i=Hp(e,this.options),{keys:s,records:d}=this._myIndex,A=[];return d.forEach(({$:p,i:g})=>{if(!br(p))return;let m=[];s.forEach((v,C)=>{m.push(...this._findMatches({key:v,value:p[C],searcher:i}))}),m.length&&A.push({idx:g,item:p,matches:m})}),A}_findMatches({key:e,value:i,searcher:s}){if(!br(i))return[];let d=[];if(hs(i))i.forEach(({v:A,i:p,n:g})=>{if(!br(A))return;const{isMatch:m,score:v,indices:C}=s.searchIn(A);m&&d.push({score:v,key:e,value:A,idx:p,norm:g,indices:C})});else{const{v:A,n:p}=i,{isMatch:g,score:m,indices:v}=s.searchIn(A);g&&d.push({score:m,key:e,value:A,norm:p,indices:v})}return d}}EA.version="6.6.2";EA.createIndex=$v;EA.parseIndex=lB;EA.config=Et;EA.parseQuery=Wv;_B(CB);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function QB(n,e){return n?new EA(n!=null?n:[],{threshold:.3,shouldSort:!0,isCaseSensitive:!0,includeScore:!0,includeMatches:!0,keys:["name"],minMatchCharLength:Math.max(e.length/1.2,1)}).search(e).map(A=>{var p;return{text:A.item.name,displayText:A.item.name,score:(p=A.score)!==null&&p!==void 0?p:0,matches:A.matches,get details(){return A.item.details}}}).sort((A,p)=>A.score===p.score?A.text.localeCompare(p.text):A.score-p.score):[]}function SB(n,e=""){var i;return(i=n==null?void 0:n.map(s=>({text:e+s.name,displayText:s.name,score:Number.parseInt(s.sortText),get details(){return s.details}})))!==null&&i!==void 0?i:[]}function RB(n,e,i,s){const d=n;return d.entries=n==null?void 0:n.entries.map(A=>({...A,_details:void 0,get details(){return this._details||(this._details=s(e,i,A.name)),this._details}})),d}/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Xv="0.16.3",Ou="f56081d9";/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */class Sc{constructor(){this.settled=!1,this.promise=new Promise((e,i)=>{this._resolve=e,this._reject=i})}resolve(e){this.settled=!0,this._resolve(e)}reject(e){this.settled=!0,this._reject(e)}}/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const TB=n=>n,Vm={status:404,body:"Playground file not found"},Km={status:503,body:"Playground build cancelled"};class zB{constructor(e){this.diagnostics=new Map,this._state="active",this._stateChange=new Sc,this._files=new Map,this._diagnosticsCallback=e}state(){return this._state}get stateChange(){return this._stateChange.promise}cancel(){this._errorPendingFileRequests(Km),this._changeState("cancelled")}async getFile(e){let i=this._files.get(e);if(i===void 0){if(this._state==="done")return Vm;if(this._state==="cancelled")return Km;i=new Sc,this._files.set(e,i)}return i.promise}onOutput(e){if(this._state==="active")if(e.kind==="file")this._onFile(e);else if(e.kind==="diagnostic")this._onDiagnostic(e);else if(e.kind==="done")this._onDone();else throw new Error(`Unexpected BuildOutput kind: ${TB(e).kind}`)}_changeState(e){this._state=e,this._stateChange.resolve(),this._stateChange=new Sc}_onFile(e){let i=this._files.get(e.file.name);i===void 0&&(i=new Sc,this._files.set(e.file.name,i)),i.resolve(e.file)}_onDiagnostic(e){let i=this.diagnostics.get(e.filename);i===void 0&&(i=[],this.diagnostics.set(e.filename,i)),i.push(e.diagnostic),this._diagnosticsDebounceId===void 0&&(this._diagnosticsDebounceId=requestAnimationFrame(()=>{this._state!=="cancelled"&&(this._diagnosticsDebounceId=void 0,this._diagnosticsCallback())}))}_onDone(){this._errorPendingFileRequests(Vm),this._changeState("done")}_errorPendingFileRequests(e){for(const i of this._files.values())i.settled||i.resolve(e)}}/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const qm=new Set,LB=()=>{let n;do n=HE();while(qm.has(n));return qm.add(n),n};class Bu extends Event{constructor(e=!1){super("filesChanged"),this.projectLoaded=e}}let uo=class extends mi{constructor(){super(...arguments),this._source={type:"none"},this.sandboxBaseUrl=`https://unpkg.com/playground-elements@${Xv}/`,this.sandboxScope=`__playground_swfs_${Ou}/`,this._modified=!1,this._sessionId=LB(),this._deferredTypeScriptWorkerApi=new Sc,this._validImportMap={},this.lastSave=Promise.resolve(),this.savePending=!1}get projectSrc(){if(this._source.type==="url")return this._source.url}set projectSrc(e){e?(this._source.type!=="url"||this._source.url!==e)&&(this._source={type:"url",url:e}):this._source.type==="url"&&(this._source={type:"none"})}get config(){var e;return{files:Object.fromEntries(((e=this._files)!==null&&e!==void 0?e:[]).map(i=>[i.name,{...i,name:void 0}])),importMap:this._validImportMap}}set config(e){e?this._source={type:"direct",config:e}:this._source.type==="direct"&&(this._source={type:"none"})}get files(){return this._files}get diagnostics(){var e;return(e=this._build)===null||e===void 0?void 0:e.diagnostics}get modified(){return this._modified===void 0&&(this._files===void 0&&this._pristineFiles===void 0?this._modified=!1:this._files===void 0||this._pristineFiles===void 0?this._modified=!0:this._modified=!DB(this._files,this._pristineFiles)),this._modified}set _importMap(e){const i=OB(e);if(i.length>0){for(const s of i)console.error(s);this._validImportMap={}}else this._validImportMap=e}get _importMap(){return this._validImportMap}get _normalizedSandboxBaseUrl(){const e=new URL(this.sandboxBaseUrl,import.meta.url);return e.pathname=Zm(e.pathname),e}get baseUrl(){return this._serviceWorkerAPI===void 0||this._files===void 0?void 0:new URL(`${Zm(this.sandboxScope)}${this._sessionId}/`,this._normalizedSandboxBaseUrl).href}get _serviceWorkerProxyIframeUrl(){return new URL(`playground-service-worker-proxy.html#playground-session-id=${this._sessionId}`,this._normalizedSandboxBaseUrl).href}async update(e){e.has("_source")&&this._loadProjectFromSource(),(e.has("sandboxScope")||e.has("sandboxBaseUrl")||e.has("_serviceWorkerAPI"))&&this.dispatchEvent(new CustomEvent("urlChanged")),super.update(e)}async _loadProjectFromSource(){const e=this._source;switch(e.type){case"none":this._files=void 0,this._importMap={};break;case"direct":{const{files:i,importMap:s}=await Vv(e.config,document.baseURI);if(e!==this._source)return;this._files=i,this._importMap=s}break;case"slot":this._files=e.files,this._importMap=e.importMap;break;case"url":{const{files:i,importMap:s}=await Jv(new URL(e.url,document.baseURI).href);if(e!==this._source)return;this._files=i,this._importMap=s}break}this._pristineFiles=this._files&&JSON.parse(JSON.stringify(this._files)),this._modified=!1,this.dispatchEvent(new Bu(!0)),this.save()}render(){return it` - - - `}_slotChange(){var e;const{type:i}=this._source;if(i!=="none"&&i!=="slot")return;const s=[];let d;for(const A of this._slot.assignedElements({flatten:!0})){const p=A.getAttribute("type");if(!(p!=null&&p.startsWith("sample/")))continue;const g=p.substring(7);let m=(e=A.textContent)!==null&&e!==void 0?e:"";if(g==="html"&&(m=m.replace(/<\//g,"0||d!==void 0)&&(this._source={type:"slot",files:s,importMap:d!=null?d:{}})}async firstUpdated(){const e=$E(new URL("/examples/assets/playground-typescript-worker.cb4eabc4.js",self.location));let i;if(e.origin===window.location.origin)i=new Worker(e);else{const d=await(await fetch(e.href)).text(),A=URL.createObjectURL(new Blob([d],{type:"application/javascript"}));i=new Worker(A),URL.revokeObjectURL(A)}this._deferredTypeScriptWorkerApi.resolve(Op(i))}_onServiceWorkerProxyIframeLoad(){const{port1:e,port2:i}=new MessageChannel;e.addEventListener("message",s=>{s.data.type===NE&&this._onNewServiceWorkerPort(s.data.port)}),e.start(),this._postMessageToServiceWorkerProxyIframe({type:DE,url:"playground-service-worker.js",scope:this.sandboxScope,port:i},[i])}_onNewServiceWorkerPort(e){const i=s=>{s.data.type===FE&&(e.removeEventListener("message",i),s.data.version===Ou?(this._serviceWorkerAPI=Op(e),this._serviceWorkerAPI.setFileAPI(Dp({getFile:d=>this._getFile(d)}),this._sessionId)):(console.info(`Playground service worker is outdated. Want ${Ou} but got ${s.data.version}. Waiting for update.`),this._postMessageToServiceWorkerProxyIframe({type:jE})))};e.addEventListener("message",i),e.start()}_postMessageToServiceWorkerProxyIframe(e,i){const s=this._serviceWorkerProxyIframe.contentWindow;if(!s)throw new Error("Unexpected internal error: service worker proxy iframe had no contentWindow");s.postMessage(e,"*",i)}async _getFile(e){return this._build===void 0?{status:503,body:"Playground build not started"}:this._build.getFile(e)}async save(){var e,i;(e=this._build)===null||e===void 0||e.cancel();const s=new zB(()=>{this.dispatchEvent(new CustomEvent("diagnosticsChanged"))});this._build=s,this.dispatchEvent(new CustomEvent("compileStart"));const d=await this._deferredTypeScriptWorkerApi.promise;s.state()==="active"&&(d.compileProject((i=this._files)!==null&&i!==void 0?i:[],{importMap:this._importMap},Dp(A=>s.onOutput(A))),await s.stateChange,s.state()==="done"&&this.dispatchEvent(new CustomEvent("compileDone")))}async getCompletions(e){var i,s,d;const A=e.tokenUnderCursor.trim();if(!e.isRefinement){const v=await(await this._deferredTypeScriptWorkerApi.promise).getCompletions(e.fileName,e.fileContent,A,e.cursorIndex,{importMap:this._importMap});if(v){const C=this._getCompletionDetails.bind(this);this._completionInfo=RB(v,e.fileName,e.cursorIndex,C)}}const p=e.tokenUnderCursor==="."||e.tokenUnderCursor==="";let g=[];return p?g=SB((i=this._completionInfo)===null||i===void 0?void 0:i.entries,e.tokenUnderCursor):g=QB((s=this._completionInfo)===null||s===void 0?void 0:s.entries,A),(d=g[0])===null||d===void 0||d.details,g}async _getCompletionDetails(e,i,s){return await(await this._deferredTypeScriptWorkerApi.promise).getCompletionItemDetails(e,i,{importMap:this._importMap},s)}async saveDebounced(){this.savePending||(this.savePending=!0,await this.lastSave,this.savePending=!1,this.lastSave=this.save())}isValidNewFilename(e){var i;if(!e)return!1;const s=(i=this._files)===null||i===void 0?void 0:i.find(d=>d.name===e);return s!==void 0?s.hidden===!0:!0}editFile(e,i){e.content=i,this._modified=void 0,this.saveDebounced()}addFile(e){var i;if(!this._files||!this.isValidNewFilename(e))return;const s=(i=this._files)===null||i===void 0?void 0:i.find(d=>d.name===e);(s==null?void 0:s.hidden)===!0?s.hidden=!1:this._files.push({name:e,content:"",contentType:Gp(e)}),this._modified=void 0,this.requestUpdate(),this.dispatchEvent(new Bu),this.save()}deleteFile(e){if(!this._files)return;const i=this._files.findIndex(s=>s.name===e);i<0||(this._files=[...this._files.slice(0,i),...this._files.slice(i+1)],this._modified=void 0,this.dispatchEvent(new Bu),this.save())}renameFile(e,i){if(!e||!this._files||!this.isValidNewFilename(i))return;const s=this._files.find(d=>d.name===e);!s||(s.name=i,s.contentType=Gp(i),this._files=[...this._files],this._modified=void 0,this.dispatchEvent(new Bu),this.save())}};uo.styles=Gn` - iframe { - display: none; - } - `;G([ge({attribute:"project-src",hasChanged:()=>!1})],uo.prototype,"projectSrc",null);G([ge({attribute:!1,hasChanged:()=>!1})],uo.prototype,"config",null);G([Ct()],uo.prototype,"_source",void 0);G([ge({attribute:"sandbox-base-url"})],uo.prototype,"sandboxBaseUrl",void 0);G([ge({attribute:"sandbox-scope"})],uo.prototype,"sandboxScope",void 0);G([Ct()],uo.prototype,"_serviceWorkerAPI",void 0);G([en("slot")],uo.prototype,"_slot",void 0);G([en("iframe")],uo.prototype,"_serviceWorkerProxyIframe",void 0);uo=G([Jn("playground-project")],uo);const Jv=async(n,e=new Set,i=new Set)=>{if(i.has(n))throw new Error(`Circular project config extends: ${[...i.values(),n].join(" extends ")}`);i.add(n);const s=await fetch(n);if(s.status!==200)throw new Error(`Error ${s.status} fetching project config from ${n}: ${await s.text()}`);let d;try{d=await s.json()}catch(A){throw new Error(`Error parsing project config JSON from ${n}: ${A.message}`)}return await Vv(d,n,e,i)},Vv=async(n,e,i=new Set,s=new Set)=>{var d,A,p,g,m;const v=[];for(const[S,N]of Object.entries((d=n.files)!==null&&d!==void 0?d:{}))i.has(S)||(i.add(S),N.content===void 0?v.push((async()=>{var j,oe;const X=await fetch(new URL(S,e).href);return{...N,name:S,content:await X.text(),contentType:(oe=(j=X.headers.get("Content-Type"))===null||j===void 0?void 0:j.toLowerCase())!==null&&oe!==void 0?oe:"text/plain"}})()):v.push(Promise.resolve({...N,name:S,content:(A=N.content)!==null&&A!==void 0?A:"",contentType:(p=Gp(S))!==null&&p!==void 0?p:"text/plain"})));const C=n.extends?Jv(new URL(n.extends,e).href,i,s):void 0,_=await Promise.all(v),B=(g=n.importMap)!==null&&g!==void 0?g:{};if(C){const S=await C;_.push(...S.files),B.imports={...(m=S.importMap)===null||m===void 0?void 0:m.imports,...B.imports}}return{files:_,importMap:B}},Gp=n=>{const e=n.lastIndexOf(".");if(e===-1||e===n.length-1)return;const i=n.slice(e+1);return Kv(i)},Kv=n=>{if(n!==void 0)switch(n){case"ts":return"video/mp2t";case"js":return"application/javascript; charset=utf-8";case"json":return"application/json; charset=utf-8";case"jsx":return"text/jsx; charset=utf-8";case"tsx":return"text/typescript-jsx; charset=utf-8";case"html":return"text/html; charset=utf-8";case"css":return"text/css; charset=utf-8";case"svg":return"image/svg+xml";case"png":return"image/png";case"gif":return"image/gif";case"jpeg":case"jpg":return"image/jpeg";case"ico":return"image/vnd.microsoft.icon";case"webp":return"image/webp";case"webm":return"video/webm";case"mid":case"midi":return"audio/midi";case"mp3":return"audio/mpeg";case"weba":return"audio/webm"}},OB=n=>{const e=[];if(typeof n!="object"||n===null)return e.push(`Import map is invalid because it must be an object, but it was ${n===null?"null":typeof n}.`),e;const i=Object.keys(n).filter(d=>d!=="imports");i.length>0&&e.push(`Invalid import map properties: ${[...i].join(", ")}. Only "imports" are currently supported.`);const s=n.imports;if(s===void 0)return e;if(typeof s!="object"||s===null)return e.push(`Import map "imports" property is invalid because it must be an object, but it was ${s===null?"null":typeof s}.`),e;for(const[d,A]of Object.entries(s)){if(typeof A!="string"){e.push(`Import map key "${d}" is invalid because address must be a string, but was ${A===null?"null":typeof A}`);continue}d.endsWith("/")&&!A.endsWith("/")&&e.push(`Import map key "${d}" is invalid because address "${A}" must end in a forward-slash.`);try{new URL(A)}catch{e.push(`Import map key "${d}" is invalid because address "${A}" is not a valid URL.`)}}return e},PB=n=>{n=n.replace(/(^[\n\s]*\n)|(\n[\n\s]*$)/g,"");let e;for(const i of n.split(/\n/g)){const s=i.match(/^\s*/)[0].length;(e===void 0||s{if(n.length!==e.length)return!1;for(let i=0;in.nodeType===Node.ELEMENT_NODE;function qv(n){return{addClass:e=>{n.classList.add(e)},removeClass:e=>{n.classList.remove(e)},hasClass:e=>n.classList.contains(e)}}const Yv=()=>{},jB={get passive(){return!1}};document.addEventListener("x",Yv,jB);document.removeEventListener("x",Yv);const zh=(n=window.document)=>{let e=n.activeElement;const i=[];if(!e)return i;for(;e&&(i.push(e),e.shadowRoot);)e=e.shadowRoot.activeElement;return i},eb=n=>{const e=zh();if(!e.length)return!1;const i=e[e.length-1],s=new Event("check-if-focused",{bubbles:!0,composed:!0});let d=[];const A=p=>{d=p.composedPath()};return document.body.addEventListener("check-if-focused",A),i.dispatchEvent(s),document.body.removeEventListener("check-if-focused",A),d.indexOf(n)!==-1};/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class ed extends mi{click(){if(this.mdcRoot){this.mdcRoot.focus(),this.mdcRoot.click();return}super.click()}createFoundation(){this.mdcFoundation!==void 0&&this.mdcFoundation.destroy(),this.mdcFoundationClass&&(this.mdcFoundation=new this.mdcFoundationClass(this.createAdapter()),this.mdcFoundation.init())}firstUpdated(){this.createFoundation()}}/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var bl=function(){function n(e){e===void 0&&(e={}),this.adapter=e}return Object.defineProperty(n,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(n,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(n,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(n,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),n.prototype.init=function(){},n.prototype.destroy=function(){},n}();/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var HB={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},$B={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},Ym={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};function ZB(n,e,i){if(!n)return{x:0,y:0};var s=e.x,d=e.y,A=s+i.left,p=d+i.top,g,m;if(n.type==="touchstart"){var v=n;g=v.changedTouches[0].pageX-A,m=v.changedTouches[0].pageY-p}else{var C=n;g=C.pageX-A,m=C.pageY-p}return{x:g,y:m}}/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var e0=["touchstart","pointerdown","mousedown","keydown"],t0=["touchend","pointerup","mouseup","contextmenu"],ku=[],GB=function(n){IA(e,n);function e(i){var s=n.call(this,Wi(Wi({},e.defaultAdapter),i))||this;return s.activationAnimationHasEnded=!1,s.activationTimer=0,s.fgDeactivationRemovalTimer=0,s.fgScale="0",s.frame={width:0,height:0},s.initialSize=0,s.layoutFrame=0,s.maxRadius=0,s.unboundedCoords={left:0,top:0},s.activationState=s.defaultActivationState(),s.activationTimerCallback=function(){s.activationAnimationHasEnded=!0,s.runDeactivationUXLogicIfReady()},s.activateHandler=function(d){s.activateImpl(d)},s.deactivateHandler=function(){s.deactivateImpl()},s.focusHandler=function(){s.handleFocus()},s.blurHandler=function(){s.handleBlur()},s.resizeHandler=function(){s.layout()},s}return Object.defineProperty(e,"cssClasses",{get:function(){return HB},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return $B},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Ym},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var i=this,s=this.supportsPressRipple();if(this.registerRootHandlers(s),s){var d=e.cssClasses,A=d.ROOT,p=d.UNBOUNDED;requestAnimationFrame(function(){i.adapter.addClass(A),i.adapter.isUnbounded()&&(i.adapter.addClass(p),i.layoutInternal())})}},e.prototype.destroy=function(){var i=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var s=e.cssClasses,d=s.ROOT,A=s.UNBOUNDED;requestAnimationFrame(function(){i.adapter.removeClass(d),i.adapter.removeClass(A),i.removeCssVars()})}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(i){this.activateImpl(i)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var i=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame(function(){i.layoutInternal(),i.layoutFrame=0})},e.prototype.setUnbounded=function(i){var s=e.cssClasses.UNBOUNDED;i?this.adapter.addClass(s):this.adapter.removeClass(s)},e.prototype.handleFocus=function(){var i=this;requestAnimationFrame(function(){return i.adapter.addClass(e.cssClasses.BG_FOCUSED)})},e.prototype.handleBlur=function(){var i=this;requestAnimationFrame(function(){return i.adapter.removeClass(e.cssClasses.BG_FOCUSED)})},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(i){var s,d;if(i){try{for(var A=fs(e0),p=A.next();!p.done;p=A.next()){var g=p.value;this.adapter.registerInteractionHandler(g,this.activateHandler)}}catch(m){s={error:m}}finally{try{p&&!p.done&&(d=A.return)&&d.call(A)}finally{if(s)throw s.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(i){var s,d;if(i.type==="keydown")this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var A=fs(t0),p=A.next();!p.done;p=A.next()){var g=p.value;this.adapter.registerDocumentInteractionHandler(g,this.deactivateHandler)}}catch(m){s={error:m}}finally{try{p&&!p.done&&(d=A.return)&&d.call(A)}finally{if(s)throw s.error}}},e.prototype.deregisterRootHandlers=function(){var i,s;try{for(var d=fs(e0),A=d.next();!A.done;A=d.next()){var p=A.value;this.adapter.deregisterInteractionHandler(p,this.activateHandler)}}catch(g){i={error:g}}finally{try{A&&!A.done&&(s=d.return)&&s.call(d)}finally{if(i)throw i.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var i,s;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var d=fs(t0),A=d.next();!A.done;A=d.next()){var p=A.value;this.adapter.deregisterDocumentInteractionHandler(p,this.deactivateHandler)}}catch(g){i={error:g}}finally{try{A&&!A.done&&(s=d.return)&&s.call(d)}finally{if(i)throw i.error}}},e.prototype.removeCssVars=function(){var i=this,s=e.strings,d=Object.keys(s);d.forEach(function(A){A.indexOf("VAR_")===0&&i.adapter.updateCssVariable(s[A],null)})},e.prototype.activateImpl=function(i){var s=this;if(!this.adapter.isSurfaceDisabled()){var d=this.activationState;if(!d.isActivated){var A=this.previousActivationEvent,p=A&&i!==void 0&&A.type!==i.type;if(!p){d.isActivated=!0,d.isProgrammatic=i===void 0,d.activationEvent=i,d.wasActivatedByPointer=d.isProgrammatic?!1:i!==void 0&&(i.type==="mousedown"||i.type==="touchstart"||i.type==="pointerdown");var g=i!==void 0&&ku.length>0&&ku.some(function(m){return s.adapter.containsEventTarget(m)});if(g){this.resetActivationState();return}i!==void 0&&(ku.push(i.target),this.registerDeactivationHandlers(i)),d.wasElementMadeActive=this.checkElementMadeActive(i),d.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame(function(){ku=[],!d.wasElementMadeActive&&i!==void 0&&(i.key===" "||i.keyCode===32)&&(d.wasElementMadeActive=s.checkElementMadeActive(i),d.wasElementMadeActive&&s.animateActivation()),d.wasElementMadeActive||(s.activationState=s.defaultActivationState())})}}}},e.prototype.checkElementMadeActive=function(i){return i!==void 0&&i.type==="keydown"?this.adapter.isSurfaceActive():!0},e.prototype.animateActivation=function(){var i=this,s=e.strings,d=s.VAR_FG_TRANSLATE_START,A=s.VAR_FG_TRANSLATE_END,p=e.cssClasses,g=p.FG_DEACTIVATION,m=p.FG_ACTIVATION,v=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var C="",_="";if(!this.adapter.isUnbounded()){var B=this.getFgTranslationCoordinates(),S=B.startPoint,N=B.endPoint;C=S.x+"px, "+S.y+"px",_=N.x+"px, "+N.y+"px"}this.adapter.updateCssVariable(d,C),this.adapter.updateCssVariable(A,_),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(g),this.adapter.computeBoundingRect(),this.adapter.addClass(m),this.activationTimer=setTimeout(function(){i.activationTimerCallback()},v)},e.prototype.getFgTranslationCoordinates=function(){var i=this.activationState,s=i.activationEvent,d=i.wasActivatedByPointer,A;d?A=ZB(s,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):A={x:this.frame.width/2,y:this.frame.height/2},A={x:A.x-this.initialSize/2,y:A.y-this.initialSize/2};var p={x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2};return{startPoint:A,endPoint:p}},e.prototype.runDeactivationUXLogicIfReady=function(){var i=this,s=e.cssClasses.FG_DEACTIVATION,d=this.activationState,A=d.hasDeactivationUXRun,p=d.isActivated,g=A||!p;g&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(s),this.fgDeactivationRemovalTimer=setTimeout(function(){i.adapter.removeClass(s)},Ym.FG_DEACTIVATION_MS))},e.prototype.rmBoundedActivationClasses=function(){var i=e.cssClasses.FG_ACTIVATION;this.adapter.removeClass(i),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},e.prototype.resetActivationState=function(){var i=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout(function(){return i.previousActivationEvent=void 0},e.numbers.TAP_DELAY_MS)},e.prototype.deactivateImpl=function(){var i=this,s=this.activationState;if(!!s.isActivated){var d=Wi({},s);s.isProgrammatic?(requestAnimationFrame(function(){i.animateDeactivation(d)}),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame(function(){i.activationState.hasDeactivationUXRun=!0,i.animateDeactivation(d),i.resetActivationState()}))}},e.prototype.animateDeactivation=function(i){var s=i.wasActivatedByPointer,d=i.wasElementMadeActive;(s||d)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){var i=this;this.frame=this.adapter.computeBoundingRect();var s=Math.max(this.frame.height,this.frame.width),d=function(){var p=Math.sqrt(Math.pow(i.frame.width,2)+Math.pow(i.frame.height,2));return p+e.numbers.PADDING};this.maxRadius=this.adapter.isUnbounded()?s:d();var A=Math.floor(s*e.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&A%2!==0?this.initialSize=A-1:this.initialSize=A,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var i=e.strings,s=i.VAR_FG_SIZE,d=i.VAR_LEFT,A=i.VAR_TOP,p=i.VAR_FG_SCALE;this.adapter.updateCssVariable(s,this.initialSize+"px"),this.adapter.updateCssVariable(p,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(d,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(A,this.unboundedCoords.top+"px"))},e}(bl);const UB=GB;/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const jr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},td=n=>(...e)=>({_$litDirective$:n,values:e});class nd{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,i,s){this._$Ct=e,this._$AM=i,this._$Ci=s}_$AS(e,i){return this.update(e,i)}update(e,i){return this.render(...i)}}/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Ur=td(class extends nd{constructor(n){var e;if(super(n),n.type!==jr.ATTRIBUTE||n.name!=="class"||((e=n.strings)===null||e===void 0?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(n){return" "+Object.keys(n).filter(e=>n[e]).join(" ")+" "}update(n,[e]){var i,s;if(this.nt===void 0){this.nt=new Set,n.strings!==void 0&&(this.st=new Set(n.strings.join(" ").split(/\s/).filter(A=>A!=="")));for(const A in e)e[A]&&!(!((i=this.st)===null||i===void 0)&&i.has(A))&&this.nt.add(A);return this.render(e)}const d=n.element.classList;this.nt.forEach(A=>{A in e||(d.remove(A),this.nt.delete(A))});for(const A in e){const p=!!e[A];p===this.nt.has(A)||((s=this.st)===null||s===void 0?void 0:s.has(A))||(p?(d.add(A),this.nt.add(A)):(d.remove(A),this.nt.delete(A)))}return Gr}});/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Pc=td(class extends nd{constructor(n){var e;if(super(n),n.type!==jr.ATTRIBUTE||n.name!=="style"||((e=n.strings)===null||e===void 0?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(n){return Object.keys(n).reduce((e,i)=>{const s=n[i];return s==null?e:e+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(n,[e]){const{style:i}=n.element;if(this.vt===void 0){this.vt=new Set;for(const s in e)this.vt.add(s);return this.render(e)}this.vt.forEach(s=>{e[s]==null&&(this.vt.delete(s),s.includes("-")?i.removeProperty(s):i[s]="")});for(const s in e){const d=e[s];d!=null&&(this.vt.add(s),s.includes("-")?i.setProperty(s,d):i[s]=d)}return Gr}});/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class ii extends ed{constructor(){super(...arguments),this.primary=!1,this.accent=!1,this.unbounded=!1,this.disabled=!1,this.activated=!1,this.selected=!1,this.internalUseStateLayerCustomProperties=!1,this.hovering=!1,this.bgFocused=!1,this.fgActivation=!1,this.fgDeactivation=!1,this.fgScale="",this.fgSize="",this.translateStart="",this.translateEnd="",this.leftPos="",this.topPos="",this.mdcFoundationClass=UB}get isActive(){return NB(this.parentElement||this,":active")}createAdapter(){return{browserSupportsCssVars:()=>!0,isUnbounded:()=>this.unbounded,isSurfaceActive:()=>this.isActive,isSurfaceDisabled:()=>this.disabled,addClass:e=>{switch(e){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!0;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!0;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!0;break}},removeClass:e=>{switch(e){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!1;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!1;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!1;break}},containsEventTarget:()=>!0,registerInteractionHandler:()=>{},deregisterInteractionHandler:()=>{},registerDocumentInteractionHandler:()=>{},deregisterDocumentInteractionHandler:()=>{},registerResizeHandler:()=>{},deregisterResizeHandler:()=>{},updateCssVariable:(e,i)=>{switch(e){case"--mdc-ripple-fg-scale":this.fgScale=i;break;case"--mdc-ripple-fg-size":this.fgSize=i;break;case"--mdc-ripple-fg-translate-end":this.translateEnd=i;break;case"--mdc-ripple-fg-translate-start":this.translateStart=i;break;case"--mdc-ripple-left":this.leftPos=i;break;case"--mdc-ripple-top":this.topPos=i;break}},computeBoundingRect:()=>(this.parentElement||this).getBoundingClientRect(),getWindowPageOffset:()=>({x:window.pageXOffset,y:window.pageYOffset})}}startPress(e){this.waitForFoundation(()=>{this.mdcFoundation.activate(e)})}endPress(){this.waitForFoundation(()=>{this.mdcFoundation.deactivate()})}startFocus(){this.waitForFoundation(()=>{this.mdcFoundation.handleFocus()})}endFocus(){this.waitForFoundation(()=>{this.mdcFoundation.handleBlur()})}startHover(){this.hovering=!0}endHover(){this.hovering=!1}waitForFoundation(e){this.mdcFoundation?e():this.updateComplete.then(e)}update(e){e.has("disabled")&&this.disabled&&this.endHover(),super.update(e)}render(){const e=this.activated&&(this.primary||!this.accent),i=this.selected&&(this.primary||!this.accent),s={"mdc-ripple-surface--accent":this.accent,"mdc-ripple-surface--primary--activated":e,"mdc-ripple-surface--accent--activated":this.accent&&this.activated,"mdc-ripple-surface--primary--selected":i,"mdc-ripple-surface--accent--selected":this.accent&&this.selected,"mdc-ripple-surface--disabled":this.disabled,"mdc-ripple-surface--hover":this.hovering,"mdc-ripple-surface--primary":this.primary,"mdc-ripple-surface--selected":this.selected,"mdc-ripple-upgraded--background-focused":this.bgFocused,"mdc-ripple-upgraded--foreground-activation":this.fgActivation,"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation,"mdc-ripple-upgraded--unbounded":this.unbounded,"mdc-ripple-surface--internal-use-state-layer-custom-properties":this.internalUseStateLayerCustomProperties};return it` -
`}}G([en(".mdc-ripple-surface")],ii.prototype,"mdcRoot",void 0);G([ge({type:Boolean})],ii.prototype,"primary",void 0);G([ge({type:Boolean})],ii.prototype,"accent",void 0);G([ge({type:Boolean})],ii.prototype,"unbounded",void 0);G([ge({type:Boolean})],ii.prototype,"disabled",void 0);G([ge({type:Boolean})],ii.prototype,"activated",void 0);G([ge({type:Boolean})],ii.prototype,"selected",void 0);G([ge({type:Boolean})],ii.prototype,"internalUseStateLayerCustomProperties",void 0);G([Ct()],ii.prototype,"hovering",void 0);G([Ct()],ii.prototype,"bgFocused",void 0);G([Ct()],ii.prototype,"fgActivation",void 0);G([Ct()],ii.prototype,"fgDeactivation",void 0);G([Ct()],ii.prototype,"fgScale",void 0);G([Ct()],ii.prototype,"fgSize",void 0);G([Ct()],ii.prototype,"translateStart",void 0);G([Ct()],ii.prototype,"translateEnd",void 0);G([Ct()],ii.prototype,"leftPos",void 0);G([Ct()],ii.prototype,"topPos",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const WB=Gn`.mdc-ripple-surface{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}:host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:block}:host .mdc-ripple-surface{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;will-change:unset}.mdc-ripple-surface--primary::before,.mdc-ripple-surface--primary::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary:hover::before,.mdc-ripple-surface--primary.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before{opacity:0.12;opacity:var(--mdc-ripple-activated-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before,.mdc-ripple-surface--primary--activated::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary--activated:hover::before,.mdc-ripple-surface--primary--activated.mdc-ripple-surface--hover::before{opacity:0.16;opacity:var(--mdc-ripple-hover-opacity, 0.16)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-focus-opacity, 0.24)}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--selected::before{opacity:0.08;opacity:var(--mdc-ripple-selected-opacity, 0.08)}.mdc-ripple-surface--primary--selected::before,.mdc-ripple-surface--primary--selected::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary--selected:hover::before,.mdc-ripple-surface--primary--selected.mdc-ripple-surface--hover::before{opacity:0.12;opacity:var(--mdc-ripple-hover-opacity, 0.12)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent::before,.mdc-ripple-surface--accent::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent:hover::before,.mdc-ripple-surface--accent.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before{opacity:0.12;opacity:var(--mdc-ripple-activated-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before,.mdc-ripple-surface--accent--activated::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent--activated:hover::before,.mdc-ripple-surface--accent--activated.mdc-ripple-surface--hover::before{opacity:0.16;opacity:var(--mdc-ripple-hover-opacity, 0.16)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-focus-opacity, 0.24)}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--selected::before{opacity:0.08;opacity:var(--mdc-ripple-selected-opacity, 0.08)}.mdc-ripple-surface--accent--selected::before,.mdc-ripple-surface--accent--selected::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent--selected:hover::before,.mdc-ripple-surface--accent--selected.mdc-ripple-surface--hover::before{opacity:0.12;opacity:var(--mdc-ripple-hover-opacity, 0.12)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--disabled{opacity:0}.mdc-ripple-surface--internal-use-state-layer-custom-properties::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties::after{background-color:#000;background-color:var(--mdc-ripple-hover-state-layer-color, #000)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:hover::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-state-layer-opacity, 0.04)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-state-layer-opacity, 0.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}`;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Up=class extends ii{};Up.styles=[WB];Up=G([Jn("mwc-ripple")],Up);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */function XB(n,e,i){const s=n.constructor;if(!i){const g=`__${e}`;if(i=s.getPropertyDescriptor(e,g),!i)throw new Error("@ariaProperty must be used after a @property decorator")}const d=i;let A="";if(!d.set)throw new Error(`@ariaProperty requires a setter for ${e}`);if(n.dispatchWizEvent)return i;const p={configurable:!0,enumerable:!0,set(g){if(A===""){const m=s.getPropertyOptions(e);A=typeof m.attribute=="string"?m.attribute:e}this.hasAttribute(A)&&this.removeAttribute(A),d.set.call(this,g)}};return d.get&&(p.get=function(){return d.get.call(this)}),p}function pf(n,e,i){if(e!==void 0)return XB(n,e,i);throw new Error("@ariaProperty only supports TypeScript Decorators")}/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class Lh{constructor(e){this.startPress=i=>{e().then(s=>{s&&s.startPress(i)})},this.endPress=()=>{e().then(i=>{i&&i.endPress()})},this.startFocus=()=>{e().then(i=>{i&&i.startFocus()})},this.endFocus=()=>{e().then(i=>{i&&i.endFocus()})},this.startHover=()=>{e().then(i=>{i&&i.startHover()})},this.endHover=()=>{e().then(i=>{i&&i.endHover()})}}}/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const zn=n=>n!=null?n:vn;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class Oo extends mi{constructor(){super(...arguments),this.disabled=!1,this.icon="",this.shouldRenderRipple=!1,this.rippleHandlers=new Lh(()=>(this.shouldRenderRipple=!0,this.ripple))}renderRipple(){return this.shouldRenderRipple?it` - - `:""}focus(){const e=this.buttonElement;e&&(this.rippleHandlers.startFocus(),e.focus())}blur(){const e=this.buttonElement;e&&(this.rippleHandlers.endFocus(),e.blur())}render(){return it``}handleRippleMouseDown(e){const i=()=>{window.removeEventListener("mouseup",i),this.handleRippleDeactivate()};window.addEventListener("mouseup",i),this.rippleHandlers.startPress(e)}handleRippleTouchStart(e){this.rippleHandlers.startPress(e)}handleRippleDeactivate(){this.rippleHandlers.endPress()}handleRippleMouseEnter(){this.rippleHandlers.startHover()}handleRippleMouseLeave(){this.rippleHandlers.endHover()}handleRippleFocus(){this.rippleHandlers.startFocus()}handleRippleBlur(){this.rippleHandlers.endFocus()}}G([ge({type:Boolean,reflect:!0})],Oo.prototype,"disabled",void 0);G([ge({type:String})],Oo.prototype,"icon",void 0);G([pf,ge({type:String,attribute:"aria-label"})],Oo.prototype,"ariaLabel",void 0);G([pf,ge({type:String,attribute:"aria-haspopup"})],Oo.prototype,"ariaHasPopup",void 0);G([en("button")],Oo.prototype,"buttonElement",void 0);G([Sh("mwc-ripple")],Oo.prototype,"ripple",void 0);G([Ct()],Oo.prototype,"shouldRenderRipple",void 0);G([ff({passive:!0})],Oo.prototype,"handleRippleMouseDown",null);G([ff({passive:!0})],Oo.prototype,"handleRippleTouchStart",null);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const JB=Gn`.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.mdc-icon-button{font-size:24px;width:48px;height:48px;padding:12px}.mdc-icon-button .mdc-icon-button__focus-ring{display:none}.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block;max-height:48px;max-width:48px}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{pointer-events:none;border:2px solid transparent;border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}}@media screen and (forced-colors: active)and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{content:"";border:2px solid transparent;border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}}@media screen and (forced-colors: active)and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring::after,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin-top:4px;margin-bottom:4px;margin-right:4px;margin-left:4px}.mdc-icon-button.mdc-icon-button--reduced-size.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button.mdc-icon-button--reduced-size:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{color:rgba(0, 0, 0, 0.38);color:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38))}.mdc-icon-button svg,.mdc-icon-button img{width:24px;height:24px}.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:transparent;fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:transparent;fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}:host{display:inline-block;outline:none}:host([disabled]){pointer-events:none}.mdc-icon-button i,.mdc-icon-button svg,.mdc-icon-button img,.mdc-icon-button ::slotted(*){display:block}:host{--mdc-ripple-color: currentcolor;-webkit-tap-highlight-color:transparent}:host,.mdc-icon-button{vertical-align:top}.mdc-icon-button{width:var(--mdc-icon-button-size, 48px);height:var(--mdc-icon-button-size, 48px);padding:calc( (var(--mdc-icon-button-size, 48px) - var(--mdc-icon-size, 24px)) / 2 )}.mdc-icon-button i,.mdc-icon-button svg,.mdc-icon-button img,.mdc-icon-button ::slotted(*){display:block;width:var(--mdc-icon-size, 24px);height:var(--mdc-icon-size, 24px)}`;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Wp=class extends Oo{};Wp.styles=[JB];Wp=G([Jn("mwc-icon-button")],Wp);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let Ju=class extends mi{constructor(){super(...arguments),this._tabs=[],this._active=void 0}get active(){return this._active}set active(e){const i=this._active;e!==i&&(this._active=e,i!==void 0&&(i.active=!1),e!==void 0?e.active=!0:this.dispatchEvent(new CustomEvent("tabchange",{detail:{tab:void 0},bubbles:!0})))}render(){return it` -
- -
- `}_onSlotchange(e){this._tabs=e.target.assignedElements();let i;for(let s=0;si.right){const A=s.left-i.left+this.scrollLeft-i.width/2+s.width/2;this.scroll({left:A,behavior:"smooth"})}}async _onKeydown(e){var i,s;const d=(s=(i=this.active)===null||i===void 0?void 0:i.index)!==null&&s!==void 0?s:0,A=this._tabs.length-1;let p=d;switch(e.key){case"ArrowLeft":{d===0?p=A:p--;break}case"ArrowRight":{d===A?p=0:p++;break}case"Home":{p=0;break}case"End":{p=A;break}}if(p!==d){e.preventDefault();const g=this._tabs[p];this.active=g,await g.updateComplete,g.focus()}}_findEventTab(e){var i;const s=e.target;if((s==null?void 0:s.localName)==="playground-internal-tab")return e.target;for(const d of e.composedPath())if(((i=d)===null||i===void 0?void 0:i.localName)==="playground-internal-tab")return d}};Ju.styles=Gn` - :host { - display: flex; - overflow-x: auto; - } - - :host::-webkit-scrollbar { - display: none; - } - - div { - display: flex; - } - `;G([ge()],Ju.prototype,"label",void 0);Ju=G([Jn("playground-internal-tab-bar")],Ju);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let Kc=class extends mi{constructor(){super(...arguments),this.active=!1,this.index=0}render(){return it``}updated(e){e.has("active")&&this.active&&this.dispatchEvent(new CustomEvent("tabchange",{detail:{tab:this},bubbles:!0}))}focus(){this._button.focus()}};Kc.styles=Gn` - :host { - display: flex; - } - - button { - flex: 1; - border: none; - font-size: inherit; - font-family: inherit; - color: inherit; - background: transparent; - display: flex; - align-items: center; - cursor: pointer; - position: relative; - outline: none; - } - - button::before { - content: ''; - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - background: currentcolor; - opacity: 0; - transition: opacity 150ms; - } - - button:focus::before, - button:hover::before { - opacity: 10%; - } - - button:active::before { - opacity: 20%; - } - - :host([active]) > button::after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background: var( - --playground-tab-bar-indicator-color, - var(--playground-highlight-color, #6200ee) - ); - } - `;G([ge({type:Boolean,reflect:!0})],Kc.prototype,"active",void 0);G([en("button")],Kc.prototype,"_button",void 0);Kc=G([Jn("playground-internal-tab")],Kc);/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const ri=n=>(e,i)=>{if(e.constructor._observers){if(!e.constructor.hasOwnProperty("_observers")){const s=e.constructor._observers;e.constructor._observers=new Map,s.forEach((d,A)=>e.constructor._observers.set(A,d))}}else{e.constructor._observers=new Map;const s=e.updated;e.updated=function(d){s.call(this,d),d.forEach((A,p)=>{const m=this.constructor._observers.get(p);m!==void 0&&m.call(this,this[p],A)})}}e.constructor._observers.set(i,n)};/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class Ti extends mi{constructor(){super(...arguments),this.value="",this.group=null,this.tabindex=-1,this.disabled=!1,this.twoline=!1,this.activated=!1,this.graphic=null,this.multipleGraphics=!1,this.hasMeta=!1,this.noninteractive=!1,this.selected=!1,this.shouldRenderRipple=!1,this._managingList=null,this.boundOnClick=this.onClick.bind(this),this._firstChanged=!0,this._skipPropRequest=!1,this.rippleHandlers=new Lh(()=>(this.shouldRenderRipple=!0,this.ripple)),this.listeners=[{target:this,eventNames:["click"],cb:()=>{this.onClick()}},{target:this,eventNames:["mouseenter"],cb:this.rippleHandlers.startHover},{target:this,eventNames:["mouseleave"],cb:this.rippleHandlers.endHover},{target:this,eventNames:["focus"],cb:this.rippleHandlers.startFocus},{target:this,eventNames:["blur"],cb:this.rippleHandlers.endFocus},{target:this,eventNames:["mousedown","touchstart"],cb:e=>{const i=e.type;this.onDown(i==="mousedown"?"mouseup":"touchend",e)}}]}get text(){const e=this.textContent;return e?e.trim():""}render(){const e=this.renderText(),i=this.graphic?this.renderGraphic():it``,s=this.hasMeta?this.renderMeta():it``;return it` - ${this.renderRipple()} - ${i} - ${e} - ${s}`}renderRipple(){return this.shouldRenderRipple?it` - - `:this.activated?it`
`:""}renderGraphic(){const e={multi:this.multipleGraphics};return it` - - - `}renderMeta(){return it` - - - `}renderText(){const e=this.twoline?this.renderTwoline():this.renderSingleLine();return it` - - ${e} - `}renderSingleLine(){return it``}renderTwoline(){return it` - - - - - - - `}onClick(){this.fireRequestSelected(!this.selected,"interaction")}onDown(e,i){const s=()=>{window.removeEventListener(e,s),this.rippleHandlers.endPress()};window.addEventListener(e,s),this.rippleHandlers.startPress(i)}fireRequestSelected(e,i){if(this.noninteractive)return;const s=new CustomEvent("request-selected",{bubbles:!0,composed:!0,detail:{source:i,selected:e}});this.dispatchEvent(s)}connectedCallback(){super.connectedCallback(),this.noninteractive||this.setAttribute("mwc-list-item","");for(const e of this.listeners)for(const i of e.eventNames)e.target.addEventListener(i,e.cb,{passive:!0})}disconnectedCallback(){super.disconnectedCallback();for(const e of this.listeners)for(const i of e.eventNames)e.target.removeEventListener(i,e.cb);this._managingList&&(this._managingList.debouncedLayout?this._managingList.debouncedLayout(!0):this._managingList.layout(!0))}firstUpdated(){const e=new Event("list-item-rendered",{bubbles:!0,composed:!0});this.dispatchEvent(e)}}G([en("slot")],Ti.prototype,"slotElement",void 0);G([Sh("mwc-ripple")],Ti.prototype,"ripple",void 0);G([ge({type:String})],Ti.prototype,"value",void 0);G([ge({type:String,reflect:!0})],Ti.prototype,"group",void 0);G([ge({type:Number,reflect:!0})],Ti.prototype,"tabindex",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n){n?this.setAttribute("aria-disabled","true"):this.setAttribute("aria-disabled","false")})],Ti.prototype,"disabled",void 0);G([ge({type:Boolean,reflect:!0})],Ti.prototype,"twoline",void 0);G([ge({type:Boolean,reflect:!0})],Ti.prototype,"activated",void 0);G([ge({type:String,reflect:!0})],Ti.prototype,"graphic",void 0);G([ge({type:Boolean})],Ti.prototype,"multipleGraphics",void 0);G([ge({type:Boolean})],Ti.prototype,"hasMeta",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n){n?(this.removeAttribute("aria-checked"),this.removeAttribute("mwc-list-item"),this.selected=!1,this.activated=!1,this.tabIndex=-1):this.setAttribute("mwc-list-item","")})],Ti.prototype,"noninteractive",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n){const e=this.getAttribute("role"),i=e==="gridcell"||e==="option"||e==="row"||e==="tab";if(i&&n?this.setAttribute("aria-selected","true"):i&&this.setAttribute("aria-selected","false"),this._firstChanged){this._firstChanged=!1;return}this._skipPropRequest||this.fireRequestSelected(n,"property")})],Ti.prototype,"selected",void 0);G([Ct()],Ti.prototype,"shouldRenderRipple",void 0);G([Ct()],Ti.prototype,"_managingList",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const VB=Gn`:host{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;height:48px;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mdc-list-side-padding, 16px);padding-right:var(--mdc-list-side-padding, 16px);outline:none;height:48px;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}:host:focus{outline:none}:host([activated]){color:#6200ee;color:var(--mdc-theme-primary, #6200ee);--mdc-ripple-color: var( --mdc-theme-primary, #6200ee )}:host([activated]) .mdc-deprecated-list-item__graphic{color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}:host([activated]) .fake-activated-ripple::before{position:absolute;display:block;top:0;bottom:0;left:0;right:0;width:100%;height:100%;pointer-events:none;z-index:1;content:"";opacity:0.12;opacity:var(--mdc-ripple-activated-opacity, 0.12);background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-deprecated-list-item__graphic{flex-shrink:0;align-items:center;justify-content:center;fill:currentColor;display:inline-flex}.mdc-deprecated-list-item__graphic ::slotted(*){flex-shrink:0;align-items:center;justify-content:center;fill:currentColor;width:100%;height:100%;text-align:center}.mdc-deprecated-list-item__meta{width:var(--mdc-list-item-meta-size, 24px);height:var(--mdc-list-item-meta-size, 24px);margin-left:auto;margin-right:0;color:rgba(0, 0, 0, 0.38);color:var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38))}.mdc-deprecated-list-item__meta.multi{width:auto}.mdc-deprecated-list-item__meta ::slotted(*){width:var(--mdc-list-item-meta-size, 24px);line-height:var(--mdc-list-item-meta-size, 24px)}.mdc-deprecated-list-item__meta ::slotted(.material-icons),.mdc-deprecated-list-item__meta ::slotted(mwc-icon){line-height:var(--mdc-list-item-meta-size, 24px) !important}.mdc-deprecated-list-item__meta ::slotted(:not(.material-icons):not(mwc-icon)){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit)}[dir=rtl] .mdc-deprecated-list-item__meta,.mdc-deprecated-list-item__meta[dir=rtl]{margin-left:0;margin-right:auto}.mdc-deprecated-list-item__meta ::slotted(*){width:100%;height:100%}.mdc-deprecated-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-deprecated-list-item__text ::slotted([for]),.mdc-deprecated-list-item__text[for]{pointer-events:none}.mdc-deprecated-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;margin-bottom:-20px;display:block}.mdc-deprecated-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-deprecated-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-deprecated-list-item__secondary-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.875rem;font-size:var(--mdc-typography-body2-font-size, 0.875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal;display:block}.mdc-deprecated-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-deprecated-list--dense .mdc-deprecated-list-item__secondary-text{font-size:inherit}* ::slotted(a),a{color:inherit;text-decoration:none}:host([twoline]){height:72px}:host([twoline]) .mdc-deprecated-list-item__text{align-self:flex-start}:host([disabled]),:host([noninteractive]){cursor:default;pointer-events:none}:host([disabled]) .mdc-deprecated-list-item__text ::slotted(*){opacity:.38}:host([disabled]) .mdc-deprecated-list-item__text ::slotted(*),:host([disabled]) .mdc-deprecated-list-item__primary-text ::slotted(*),:host([disabled]) .mdc-deprecated-list-item__secondary-text ::slotted(*){color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-deprecated-list-item__secondary-text ::slotted(*){color:rgba(0, 0, 0, 0.54);color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54))}.mdc-deprecated-list-item__graphic ::slotted(*){background-color:transparent;color:rgba(0, 0, 0, 0.38);color:var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38))}.mdc-deprecated-list-group__subheader ::slotted(*){color:rgba(0, 0, 0, 0.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic{width:var(--mdc-list-item-graphic-size, 40px);height:var(--mdc-list-item-graphic-size, 40px)}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic.multi{width:auto}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic ::slotted(*){width:var(--mdc-list-item-graphic-size, 40px);line-height:var(--mdc-list-item-graphic-size, 40px)}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic ::slotted(.material-icons),:host([graphic=avatar]) .mdc-deprecated-list-item__graphic ::slotted(mwc-icon){line-height:var(--mdc-list-item-graphic-size, 40px) !important}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic ::slotted(*){border-radius:50%}:host([graphic=avatar]) .mdc-deprecated-list-item__graphic,:host([graphic=medium]) .mdc-deprecated-list-item__graphic,:host([graphic=large]) .mdc-deprecated-list-item__graphic,:host([graphic=control]) .mdc-deprecated-list-item__graphic{margin-left:0;margin-right:var(--mdc-list-item-graphic-margin, 16px)}[dir=rtl] :host([graphic=avatar]) .mdc-deprecated-list-item__graphic,[dir=rtl] :host([graphic=medium]) .mdc-deprecated-list-item__graphic,[dir=rtl] :host([graphic=large]) .mdc-deprecated-list-item__graphic,[dir=rtl] :host([graphic=control]) .mdc-deprecated-list-item__graphic,:host([graphic=avatar]) .mdc-deprecated-list-item__graphic[dir=rtl],:host([graphic=medium]) .mdc-deprecated-list-item__graphic[dir=rtl],:host([graphic=large]) .mdc-deprecated-list-item__graphic[dir=rtl],:host([graphic=control]) .mdc-deprecated-list-item__graphic[dir=rtl]{margin-left:var(--mdc-list-item-graphic-margin, 16px);margin-right:0}:host([graphic=icon]) .mdc-deprecated-list-item__graphic{width:var(--mdc-list-item-graphic-size, 24px);height:var(--mdc-list-item-graphic-size, 24px);margin-left:0;margin-right:var(--mdc-list-item-graphic-margin, 32px)}:host([graphic=icon]) .mdc-deprecated-list-item__graphic.multi{width:auto}:host([graphic=icon]) .mdc-deprecated-list-item__graphic ::slotted(*){width:var(--mdc-list-item-graphic-size, 24px);line-height:var(--mdc-list-item-graphic-size, 24px)}:host([graphic=icon]) .mdc-deprecated-list-item__graphic ::slotted(.material-icons),:host([graphic=icon]) .mdc-deprecated-list-item__graphic ::slotted(mwc-icon){line-height:var(--mdc-list-item-graphic-size, 24px) !important}[dir=rtl] :host([graphic=icon]) .mdc-deprecated-list-item__graphic,:host([graphic=icon]) .mdc-deprecated-list-item__graphic[dir=rtl]{margin-left:var(--mdc-list-item-graphic-margin, 32px);margin-right:0}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:56px}:host([graphic=medium]:not([twoLine])),:host([graphic=large]:not([twoLine])){height:72px}:host([graphic=medium]) .mdc-deprecated-list-item__graphic,:host([graphic=large]) .mdc-deprecated-list-item__graphic{width:var(--mdc-list-item-graphic-size, 56px);height:var(--mdc-list-item-graphic-size, 56px)}:host([graphic=medium]) .mdc-deprecated-list-item__graphic.multi,:host([graphic=large]) .mdc-deprecated-list-item__graphic.multi{width:auto}:host([graphic=medium]) .mdc-deprecated-list-item__graphic ::slotted(*),:host([graphic=large]) .mdc-deprecated-list-item__graphic ::slotted(*){width:var(--mdc-list-item-graphic-size, 56px);line-height:var(--mdc-list-item-graphic-size, 56px)}:host([graphic=medium]) .mdc-deprecated-list-item__graphic ::slotted(.material-icons),:host([graphic=medium]) .mdc-deprecated-list-item__graphic ::slotted(mwc-icon),:host([graphic=large]) .mdc-deprecated-list-item__graphic ::slotted(.material-icons),:host([graphic=large]) .mdc-deprecated-list-item__graphic ::slotted(mwc-icon){line-height:var(--mdc-list-item-graphic-size, 56px) !important}:host([graphic=large]){padding-left:0px}`;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Xp=class extends Ti{};Xp.styles=[VB];Xp=G([Jn("mwc-list-item")],Xp);/** - * @license - * Copyright 2020 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var Ft={UNKNOWN:"Unknown",BACKSPACE:"Backspace",ENTER:"Enter",SPACEBAR:"Spacebar",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",END:"End",HOME:"Home",ARROW_LEFT:"ArrowLeft",ARROW_UP:"ArrowUp",ARROW_RIGHT:"ArrowRight",ARROW_DOWN:"ArrowDown",DELETE:"Delete",ESCAPE:"Escape",TAB:"Tab"},Xi=new Set;Xi.add(Ft.BACKSPACE);Xi.add(Ft.ENTER);Xi.add(Ft.SPACEBAR);Xi.add(Ft.PAGE_UP);Xi.add(Ft.PAGE_DOWN);Xi.add(Ft.END);Xi.add(Ft.HOME);Xi.add(Ft.ARROW_LEFT);Xi.add(Ft.ARROW_UP);Xi.add(Ft.ARROW_RIGHT);Xi.add(Ft.ARROW_DOWN);Xi.add(Ft.DELETE);Xi.add(Ft.ESCAPE);Xi.add(Ft.TAB);var ar={BACKSPACE:8,ENTER:13,SPACEBAR:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ESCAPE:27,TAB:9},Ji=new Map;Ji.set(ar.BACKSPACE,Ft.BACKSPACE);Ji.set(ar.ENTER,Ft.ENTER);Ji.set(ar.SPACEBAR,Ft.SPACEBAR);Ji.set(ar.PAGE_UP,Ft.PAGE_UP);Ji.set(ar.PAGE_DOWN,Ft.PAGE_DOWN);Ji.set(ar.END,Ft.END);Ji.set(ar.HOME,Ft.HOME);Ji.set(ar.ARROW_LEFT,Ft.ARROW_LEFT);Ji.set(ar.ARROW_UP,Ft.ARROW_UP);Ji.set(ar.ARROW_RIGHT,Ft.ARROW_RIGHT);Ji.set(ar.ARROW_DOWN,Ft.ARROW_DOWN);Ji.set(ar.DELETE,Ft.DELETE);Ji.set(ar.ESCAPE,Ft.ESCAPE);Ji.set(ar.TAB,Ft.TAB);var ca=new Set;ca.add(Ft.PAGE_UP);ca.add(Ft.PAGE_DOWN);ca.add(Ft.END);ca.add(Ft.HOME);ca.add(Ft.ARROW_LEFT);ca.add(Ft.ARROW_UP);ca.add(Ft.ARROW_RIGHT);ca.add(Ft.ARROW_DOWN);function Ys(n){var e=n.key;if(Xi.has(e))return e;var i=Ji.get(n.keyCode);return i||Ft.UNKNOWN}/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var ea,ds,wn={LIST_ITEM_ACTIVATED_CLASS:"mdc-list-item--activated",LIST_ITEM_CLASS:"mdc-list-item",LIST_ITEM_DISABLED_CLASS:"mdc-list-item--disabled",LIST_ITEM_SELECTED_CLASS:"mdc-list-item--selected",LIST_ITEM_TEXT_CLASS:"mdc-list-item__text",LIST_ITEM_PRIMARY_TEXT_CLASS:"mdc-list-item__primary-text",ROOT:"mdc-list"};ea={},ea[""+wn.LIST_ITEM_ACTIVATED_CLASS]="mdc-list-item--activated",ea[""+wn.LIST_ITEM_CLASS]="mdc-list-item",ea[""+wn.LIST_ITEM_DISABLED_CLASS]="mdc-list-item--disabled",ea[""+wn.LIST_ITEM_SELECTED_CLASS]="mdc-list-item--selected",ea[""+wn.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-list-item__primary-text",ea[""+wn.ROOT]="mdc-list";var iA=(ds={},ds[""+wn.LIST_ITEM_ACTIVATED_CLASS]="mdc-deprecated-list-item--activated",ds[""+wn.LIST_ITEM_CLASS]="mdc-deprecated-list-item",ds[""+wn.LIST_ITEM_DISABLED_CLASS]="mdc-deprecated-list-item--disabled",ds[""+wn.LIST_ITEM_SELECTED_CLASS]="mdc-deprecated-list-item--selected",ds[""+wn.LIST_ITEM_TEXT_CLASS]="mdc-deprecated-list-item__text",ds[""+wn.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-deprecated-list-item__primary-text",ds[""+wn.ROOT]="mdc-deprecated-list",ds),Mu={ACTION_EVENT:"MDCList:action",SELECTION_CHANGE_EVENT:"MDCList:selectionChange",ARIA_CHECKED:"aria-checked",ARIA_CHECKED_CHECKBOX_SELECTOR:'[role="checkbox"][aria-checked="true"]',ARIA_CHECKED_RADIO_SELECTOR:'[role="radio"][aria-checked="true"]',ARIA_CURRENT:"aria-current",ARIA_DISABLED:"aria-disabled",ARIA_ORIENTATION:"aria-orientation",ARIA_ORIENTATION_HORIZONTAL:"horizontal",ARIA_ROLE_CHECKBOX_SELECTOR:'[role="checkbox"]',ARIA_SELECTED:"aria-selected",ARIA_INTERACTIVE_ROLES_SELECTOR:'[role="listbox"], [role="menu"]',ARIA_MULTI_SELECTABLE_SELECTOR:'[aria-multiselectable="true"]',CHECKBOX_RADIO_SELECTOR:'input[type="checkbox"], input[type="radio"]',CHECKBOX_SELECTOR:'input[type="checkbox"]',CHILD_ELEMENTS_TO_TOGGLE_TABINDEX:` - .`+wn.LIST_ITEM_CLASS+` button:not(:disabled), - .`+wn.LIST_ITEM_CLASS+` a, - .`+iA[wn.LIST_ITEM_CLASS]+` button:not(:disabled), - .`+iA[wn.LIST_ITEM_CLASS]+` a - `,DEPRECATED_SELECTOR:".mdc-deprecated-list",FOCUSABLE_CHILD_ELEMENTS:` - .`+wn.LIST_ITEM_CLASS+` button:not(:disabled), - .`+wn.LIST_ITEM_CLASS+` a, - .`+wn.LIST_ITEM_CLASS+` input[type="radio"]:not(:disabled), - .`+wn.LIST_ITEM_CLASS+` input[type="checkbox"]:not(:disabled), - .`+iA[wn.LIST_ITEM_CLASS]+` button:not(:disabled), - .`+iA[wn.LIST_ITEM_CLASS]+` a, - .`+iA[wn.LIST_ITEM_CLASS]+` input[type="radio"]:not(:disabled), - .`+iA[wn.LIST_ITEM_CLASS]+` input[type="checkbox"]:not(:disabled) - `,RADIO_SELECTOR:'input[type="radio"]',SELECTED_ITEM_SELECTOR:'[aria-selected="true"], [aria-current="true"]'},ir={UNSET_INDEX:-1,TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS:300};/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Jp=(n,e)=>n-e,KB=(n,e)=>{const i=Array.from(n),s=Array.from(e),d={added:[],removed:[]},A=i.sort(Jp),p=s.sort(Jp);let g=0,m=0;for(;g{const e=n===ir.UNSET_INDEX?new Set:n;return Dc(e)?new Set(e):new Set([e])};class Oh extends bl{constructor(e){super(Object.assign(Object.assign({},Oh.defaultAdapter),e)),this.isMulti_=!1,this.wrapFocus_=!1,this.isVertical_=!0,this.selectedIndex_=ir.UNSET_INDEX,this.focusedItemIndex_=ir.UNSET_INDEX,this.useActivatedClass_=!1,this.ariaCurrentAttrValue_=null}static get strings(){return Mu}static get numbers(){return ir}static get defaultAdapter(){return{focusItemAtIndex:()=>{},getFocusedElementIndex:()=>0,getListItemCount:()=>0,isFocusInsideList:()=>!1,isRootFocused:()=>!1,notifyAction:()=>{},notifySelected:()=>{},getSelectedStateForElementIndex:()=>!1,setDisabledStateForElementIndex:()=>{},getDisabledStateForElementIndex:()=>!1,setSelectedStateForElementIndex:()=>{},setActivatedStateForElementIndex:()=>{},setTabIndexForElementIndex:()=>{},setAttributeForElementIndex:()=>{},getAttributeForElementIndex:()=>null}}setWrapFocus(e){this.wrapFocus_=e}setMulti(e){this.isMulti_=e;const i=this.selectedIndex_;if(e){if(!Dc(i)){const s=i===ir.UNSET_INDEX;this.selectedIndex_=s?new Set:new Set([i])}}else if(Dc(i))if(i.size){const s=Array.from(i).sort(Jp);this.selectedIndex_=s[0]}else this.selectedIndex_=ir.UNSET_INDEX}setVerticalOrientation(e){this.isVertical_=e}setUseActivatedClass(e){this.useActivatedClass_=e}getSelectedIndex(){return this.selectedIndex_}setSelectedIndex(e){!this.isIndexValid_(e)||(this.isMulti_?this.setMultiSelectionAtIndex_(dp(e)):this.setSingleSelectionAtIndex_(e))}handleFocusIn(e,i){i>=0&&this.adapter.setTabIndexForElementIndex(i,0)}handleFocusOut(e,i){i>=0&&this.adapter.setTabIndexForElementIndex(i,-1),setTimeout(()=>{this.adapter.isFocusInsideList()||this.setTabindexToFirstSelectedItem_()},0)}handleKeydown(e,i,s){const d=Ys(e)==="ArrowLeft",A=Ys(e)==="ArrowUp",p=Ys(e)==="ArrowRight",g=Ys(e)==="ArrowDown",m=Ys(e)==="Home",v=Ys(e)==="End",C=Ys(e)==="Enter",_=Ys(e)==="Spacebar";if(this.adapter.isRootFocused()){A||v?(e.preventDefault(),this.focusLastElement()):(g||m)&&(e.preventDefault(),this.focusFirstElement());return}let B=this.adapter.getFocusedElementIndex();if(B===-1&&(B=s,B<0))return;let S;if(this.isVertical_&&g||!this.isVertical_&&p)this.preventDefaultEvent(e),S=this.focusNextElement(B);else if(this.isVertical_&&A||!this.isVertical_&&d)this.preventDefaultEvent(e),S=this.focusPrevElement(B);else if(m)this.preventDefaultEvent(e),S=this.focusFirstElement();else if(v)this.preventDefaultEvent(e),S=this.focusLastElement();else if((C||_)&&i){const N=e.target;if(N&&N.tagName==="A"&&C)return;this.preventDefaultEvent(e),this.setSelectedIndexOnAction_(B,!0)}this.focusedItemIndex_=B,S!==void 0&&(this.setTabindexAtIndex_(S),this.focusedItemIndex_=S)}handleSingleSelection(e,i,s){e!==ir.UNSET_INDEX&&(this.setSelectedIndexOnAction_(e,i,s),this.setTabindexAtIndex_(e),this.focusedItemIndex_=e)}focusNextElement(e){const i=this.adapter.getListItemCount();let s=e+1;if(s>=i)if(this.wrapFocus_)s=0;else return e;return this.adapter.focusItemAtIndex(s),s}focusPrevElement(e){let i=e-1;if(i<0)if(this.wrapFocus_)i=this.adapter.getListItemCount()-1;else return e;return this.adapter.focusItemAtIndex(i),i}focusFirstElement(){return this.adapter.focusItemAtIndex(0),0}focusLastElement(){const e=this.adapter.getListItemCount()-1;return this.adapter.focusItemAtIndex(e),e}setEnabled(e,i){!this.isIndexValid_(e)||this.adapter.setDisabledStateForElementIndex(e,!i)}preventDefaultEvent(e){const s=`${e.target.tagName}`.toLowerCase();qB.indexOf(s)===-1&&e.preventDefault()}setSingleSelectionAtIndex_(e,i=!0){this.selectedIndex_!==e&&(this.selectedIndex_!==ir.UNSET_INDEX&&(this.adapter.setSelectedStateForElementIndex(this.selectedIndex_,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(this.selectedIndex_,!1)),i&&this.adapter.setSelectedStateForElementIndex(e,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(e,!0),this.setAriaForSingleSelectionAtIndex_(e),this.selectedIndex_=e,this.adapter.notifySelected(e))}setMultiSelectionAtIndex_(e,i=!0){const s=dp(this.selectedIndex_),d=KB(s,e);if(!(!d.removed.length&&!d.added.length)){for(const A of d.removed)i&&this.adapter.setSelectedStateForElementIndex(A,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(A,!1);for(const A of d.added)i&&this.adapter.setSelectedStateForElementIndex(A,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(A,!0);this.selectedIndex_=e,this.adapter.notifySelected(e,d)}}setAriaForSingleSelectionAtIndex_(e){this.selectedIndex_===ir.UNSET_INDEX&&(this.ariaCurrentAttrValue_=this.adapter.getAttributeForElementIndex(e,Mu.ARIA_CURRENT));const i=this.ariaCurrentAttrValue_!==null,s=i?Mu.ARIA_CURRENT:Mu.ARIA_SELECTED;this.selectedIndex_!==ir.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex_,s,"false");const d=i?this.ariaCurrentAttrValue_:"true";this.adapter.setAttributeForElementIndex(e,s,d)}setTabindexAtIndex_(e){this.focusedItemIndex_===ir.UNSET_INDEX&&e!==0?this.adapter.setTabIndexForElementIndex(0,-1):this.focusedItemIndex_>=0&&this.focusedItemIndex_!==e&&this.adapter.setTabIndexForElementIndex(this.focusedItemIndex_,-1),this.adapter.setTabIndexForElementIndex(e,0)}setTabindexToFirstSelectedItem_(){let e=0;typeof this.selectedIndex_=="number"&&this.selectedIndex_!==ir.UNSET_INDEX?e=this.selectedIndex_:Dc(this.selectedIndex_)&&this.selectedIndex_.size>0&&(e=Math.min(...this.selectedIndex_)),this.setTabindexAtIndex_(e)}isIndexValid_(e){if(e instanceof Set){if(!this.isMulti_)throw new Error("MDCListFoundation: Array of index is only supported for checkbox based list");if(e.size===0)return!0;{let i=!1;for(const s of e)if(i=this.isIndexInRange_(s),i)break;return i}}else if(typeof e=="number"){if(this.isMulti_)throw new Error("MDCListFoundation: Expected array of index for checkbox based list but got number: "+e);return e===ir.UNSET_INDEX||this.isIndexInRange_(e)}else return!1}isIndexInRange_(e){const i=this.adapter.getListItemCount();return e>=0&&e{n(s)},e)}}const Qu=n=>n.hasAttribute("mwc-list-item");function e2(){const n=this.itemsReadyResolver;this.itemsReady=new Promise(e=>this.itemsReadyResolver=e),n()}class Cr extends ed{constructor(){super(),this.mdcAdapter=null,this.mdcFoundationClass=Oh,this.activatable=!1,this.multi=!1,this.wrapFocus=!1,this.itemRoles=null,this.innerRole=null,this.innerAriaLabel=null,this.rootTabbable=!1,this.previousTabindex=null,this.noninteractive=!1,this.itemsReadyResolver=()=>{},this.itemsReady=Promise.resolve([]),this.items_=[];const e=YB(this.layout.bind(this));this.debouncedLayout=(i=!0)=>{e2.call(this),e(i)}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await this.itemsReady,e}get items(){return this.items_}updateItems(){var e;const i=(e=this.assignedElements)!==null&&e!==void 0?e:[],s=[];for(const p of i)Qu(p)&&(s.push(p),p._managingList=this),p.hasAttribute("divider")&&!p.hasAttribute("role")&&p.setAttribute("role","separator");this.items_=s;const d=new Set;if(this.items_.forEach((p,g)=>{this.itemRoles?p.setAttribute("role",this.itemRoles):p.removeAttribute("role"),p.selected&&d.add(g)}),this.multi)this.select(d);else{const p=d.size?d.entries().next().value[1]:-1;this.select(p)}const A=new Event("items-updated",{bubbles:!0,composed:!0});this.dispatchEvent(A)}get selected(){const e=this.index;if(!Dc(e))return e===-1?null:this.items[e];const i=[];for(const s of e)i.push(this.items[s]);return i}get index(){return this.mdcFoundation?this.mdcFoundation.getSelectedIndex():-1}render(){const e=this.innerRole===null?void 0:this.innerRole,i=this.innerAriaLabel===null?void 0:this.innerAriaLabel,s=this.rootTabbable?"0":"-1";return it` - -
    - - ${this.renderPlaceholder()} -
- `}renderPlaceholder(){var e;const i=(e=this.assignedElements)!==null&&e!==void 0?e:[];return this.emptyMessage!==void 0&&i.length===0?it` - ${this.emptyMessage} - `:null}firstUpdated(){super.firstUpdated(),this.items.length||(this.mdcFoundation.setMulti(this.multi),this.layout())}onFocusIn(e){if(this.mdcFoundation&&this.mdcRoot){const i=this.getIndexOfTarget(e);this.mdcFoundation.handleFocusIn(e,i)}}onFocusOut(e){if(this.mdcFoundation&&this.mdcRoot){const i=this.getIndexOfTarget(e);this.mdcFoundation.handleFocusOut(e,i)}}onKeydown(e){if(this.mdcFoundation&&this.mdcRoot){const i=this.getIndexOfTarget(e),s=e.target,d=Qu(s);this.mdcFoundation.handleKeydown(e,d,i)}}onRequestSelected(e){if(this.mdcFoundation){let i=this.getIndexOfTarget(e);if(i===-1&&(this.layout(),i=this.getIndexOfTarget(e),i===-1)||this.items[i].disabled)return;const d=e.detail.selected,A=e.detail.source;this.mdcFoundation.handleSingleSelection(i,A==="interaction",d),e.stopPropagation()}}getIndexOfTarget(e){const i=this.items,s=e.composedPath();for(const d of s){let A=-1;if(FB(d)&&Qu(d)&&(A=i.indexOf(d)),A!==-1)return A}return-1}createAdapter(){return this.mdcAdapter={getListItemCount:()=>this.mdcRoot?this.items.length:0,getFocusedElementIndex:this.getFocusedItemIndex,getAttributeForElementIndex:(e,i)=>{if(!this.mdcRoot)return"";const d=this.items[e];return d?d.getAttribute(i):""},setAttributeForElementIndex:(e,i,s)=>{if(!this.mdcRoot)return;const d=this.items[e];d&&d.setAttribute(i,s)},focusItemAtIndex:e=>{const i=this.items[e];i&&i.focus()},setTabIndexForElementIndex:(e,i)=>{const s=this.items[e];s&&(s.tabindex=i)},notifyAction:e=>{const i={bubbles:!0,composed:!0};i.detail={index:e};const s=new CustomEvent("action",i);this.dispatchEvent(s)},notifySelected:(e,i)=>{const s={bubbles:!0,composed:!0};s.detail={index:e,diff:i};const d=new CustomEvent("selected",s);this.dispatchEvent(d)},isFocusInsideList:()=>eb(this),isRootFocused:()=>{const e=this.mdcRoot;return e.getRootNode().activeElement===e},setDisabledStateForElementIndex:(e,i)=>{const s=this.items[e];!s||(s.disabled=i)},getDisabledStateForElementIndex:e=>{const i=this.items[e];return i?i.disabled:!1},setSelectedStateForElementIndex:(e,i)=>{const s=this.items[e];!s||(s.selected=i)},getSelectedStateForElementIndex:e=>{const i=this.items[e];return i?i.selected:!1},setActivatedStateForElementIndex:(e,i)=>{const s=this.items[e];!s||(s.activated=i)}},this.mdcAdapter}selectUi(e,i=!1){const s=this.items[e];s&&(s.selected=!0,s.activated=i)}deselectUi(e){const i=this.items[e];i&&(i.selected=!1,i.activated=!1)}select(e){!this.mdcFoundation||this.mdcFoundation.setSelectedIndex(e)}toggle(e,i){this.multi&&this.mdcFoundation.toggleMultiAtIndex(e,i)}onListItemConnected(e){const i=e.target;this.layout(this.items.indexOf(i)===-1)}layout(e=!0){e&&this.updateItems();const i=this.items[0];for(const s of this.items)s.tabindex=-1;i&&(this.noninteractive?this.previousTabindex||(this.previousTabindex=i):i.tabindex=0),this.itemsReadyResolver()}getFocusedItemIndex(){if(!this.mdcRoot||!this.items.length)return-1;const e=zh();if(!e.length)return-1;for(let i=e.length-1;i>=0;i--){const s=e[i];if(Qu(s))return this.items.indexOf(s)}return-1}focusItemAtIndex(e){for(const i of this.items)if(i.tabindex===0){i.tabindex=-1;break}this.items[e].tabindex=0,this.items[e].focus()}focus(){const e=this.mdcRoot;e&&e.focus()}blur(){const e=this.mdcRoot;e&&e.blur()}}G([ge({type:String})],Cr.prototype,"emptyMessage",void 0);G([en(".mdc-deprecated-list")],Cr.prototype,"mdcRoot",void 0);G([Rv("",!0,"*")],Cr.prototype,"assignedElements",void 0);G([Rv("",!0,'[tabindex="0"]')],Cr.prototype,"tabbableElements",void 0);G([ge({type:Boolean}),ri(function(n){this.mdcFoundation&&this.mdcFoundation.setUseActivatedClass(n)})],Cr.prototype,"activatable",void 0);G([ge({type:Boolean}),ri(function(n,e){this.mdcFoundation&&this.mdcFoundation.setMulti(n),e!==void 0&&this.layout()})],Cr.prototype,"multi",void 0);G([ge({type:Boolean}),ri(function(n){this.mdcFoundation&&this.mdcFoundation.setWrapFocus(n)})],Cr.prototype,"wrapFocus",void 0);G([ge({type:String}),ri(function(n,e){e!==void 0&&this.updateItems()})],Cr.prototype,"itemRoles",void 0);G([ge({type:String})],Cr.prototype,"innerRole",void 0);G([ge({type:String})],Cr.prototype,"innerAriaLabel",void 0);G([ge({type:Boolean})],Cr.prototype,"rootTabbable",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n){var e,i;if(n){const s=(i=(e=this.tabbableElements)===null||e===void 0?void 0:e[0])!==null&&i!==void 0?i:null;this.previousTabindex=s,s&&s.setAttribute("tabindex","-1")}else!n&&this.previousTabindex&&(this.previousTabindex.setAttribute("tabindex","0"),this.previousTabindex=null)})],Cr.prototype,"noninteractive",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const t2=Gn`@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}:host{display:block}.mdc-deprecated-list{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);line-height:1.5rem;margin:0;padding:8px 0;list-style-type:none;color:rgba(0, 0, 0, 0.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));padding:var(--mdc-list-vertical-padding, 8px) 0}.mdc-deprecated-list:focus{outline:none}.mdc-deprecated-list-item{height:48px}.mdc-deprecated-list--dense{padding-top:4px;padding-bottom:4px;font-size:.812rem}.mdc-deprecated-list ::slotted([divider]){height:0;margin:0;border:none;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0, 0, 0, 0.12)}.mdc-deprecated-list ::slotted([divider][padded]){margin:0 var(--mdc-list-side-padding, 16px)}.mdc-deprecated-list ::slotted([divider][inset]){margin-left:var(--mdc-list-inset-margin, 72px);margin-right:0;width:calc( 100% - var(--mdc-list-inset-margin, 72px) )}[dir=rtl] .mdc-deprecated-list ::slotted([divider][inset]),.mdc-deprecated-list ::slotted([divider][inset][dir=rtl]){margin-left:0;margin-right:var(--mdc-list-inset-margin, 72px)}.mdc-deprecated-list ::slotted([divider][inset][padded]){width:calc( 100% - var(--mdc-list-inset-margin, 72px) - var(--mdc-list-side-padding, 16px) )}.mdc-deprecated-list--dense ::slotted([mwc-list-item]){height:40px}.mdc-deprecated-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 20px}.mdc-deprecated-list--two-line.mdc-deprecated-list--dense ::slotted([mwc-list-item]),.mdc-deprecated-list--avatar-list.mdc-deprecated-list--dense ::slotted([mwc-list-item]){height:60px}.mdc-deprecated-list--avatar-list.mdc-deprecated-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 36px}:host([noninteractive]){pointer-events:none;cursor:default}.mdc-deprecated-list--dense ::slotted(.mdc-deprecated-list-item__primary-text){display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-deprecated-list--dense ::slotted(.mdc-deprecated-list-item__primary-text)::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-deprecated-list--dense ::slotted(.mdc-deprecated-list-item__primary-text)::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}`;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Vp=class extends Cr{};Vp.styles=[t2];Vp=G([Jn("mwc-list")],Vp);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const n2=Gn`:host{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}`;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Kp=class extends mi{render(){return it``}};Kp.styles=[n2];Kp=G([Jn("mwc-icon")],Kp);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class yi extends mi{constructor(){super(...arguments),this.raised=!1,this.unelevated=!1,this.outlined=!1,this.dense=!1,this.disabled=!1,this.trailingIcon=!1,this.fullwidth=!1,this.icon="",this.label="",this.expandContent=!1,this.shouldRenderRipple=!1,this.rippleHandlers=new Lh(()=>(this.shouldRenderRipple=!0,this.ripple))}renderOverlay(){return it``}renderRipple(){const e=this.raised||this.unelevated;return this.shouldRenderRipple?it``:""}focus(){const e=this.buttonElement;e&&(this.rippleHandlers.startFocus(),e.focus())}blur(){const e=this.buttonElement;e&&(this.rippleHandlers.endFocus(),e.blur())}getRenderClasses(){return{"mdc-button--raised":this.raised,"mdc-button--unelevated":this.unelevated,"mdc-button--outlined":this.outlined,"mdc-button--dense":this.dense}}render(){return it` - `}renderIcon(){return it` - - ${this.icon} - `}handleRippleActivate(e){const i=()=>{window.removeEventListener("mouseup",i),this.handleRippleDeactivate()};window.addEventListener("mouseup",i),this.rippleHandlers.startPress(e)}handleRippleDeactivate(){this.rippleHandlers.endPress()}handleRippleMouseEnter(){this.rippleHandlers.startHover()}handleRippleMouseLeave(){this.rippleHandlers.endHover()}handleRippleFocus(){this.rippleHandlers.startFocus()}handleRippleBlur(){this.rippleHandlers.endFocus()}}yi.shadowRootOptions={mode:"open",delegatesFocus:!0};G([pf,ge({type:String,attribute:"aria-haspopup"})],yi.prototype,"ariaHasPopup",void 0);G([ge({type:Boolean,reflect:!0})],yi.prototype,"raised",void 0);G([ge({type:Boolean,reflect:!0})],yi.prototype,"unelevated",void 0);G([ge({type:Boolean,reflect:!0})],yi.prototype,"outlined",void 0);G([ge({type:Boolean})],yi.prototype,"dense",void 0);G([ge({type:Boolean,reflect:!0})],yi.prototype,"disabled",void 0);G([ge({type:Boolean,attribute:"trailingicon"})],yi.prototype,"trailingIcon",void 0);G([ge({type:Boolean,reflect:!0})],yi.prototype,"fullwidth",void 0);G([ge({type:String})],yi.prototype,"icon",void 0);G([ge({type:String})],yi.prototype,"label",void 0);G([ge({type:Boolean})],yi.prototype,"expandContent",void 0);G([en("#button")],yi.prototype,"buttonElement",void 0);G([Sh("mwc-ripple")],yi.prototype,"ripple",void 0);G([Ct()],yi.prototype,"shouldRenderRipple",void 0);G([ff({passive:!0})],yi.prototype,"handleRippleActivate",null);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const i2=Gn`.mdc-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.875rem;font-size:var(--mdc-typography-button-font-size, 0.875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:0.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, 0.0892857143em);text-decoration:none;text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform, uppercase)}.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:transparent}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{display:none}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{pointer-events:none;border:2px solid transparent;border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc( 100% + 4px );width:calc( 100% + 4px );display:block}}@media screen and (forced-colors: active)and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring::after,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring::after{content:"";border:2px solid transparent;border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}}@media screen and (forced-colors: active)and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring::after,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring::after{border-color:CanvasText}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:transparent}.mdc-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-button:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}.mdc-button:disabled{color:rgba(0, 0, 0, 0.38)}.mdc-button .mdc-button__icon{font-size:1.125rem;width:1.125rem;height:1.125rem}.mdc-button .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-button--raised,.mdc-button--unelevated{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#6200ee;background-color:var(--mdc-theme-primary, #6200ee)}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0, 0, 0, 0.12)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{color:rgba(0, 0, 0, 0.38)}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon{font-size:1.125rem;width:1.125rem;height:1.125rem}.mdc-button--raised .mdc-button__ripple,.mdc-button--unelevated .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small, 4px);padding:0 15px 0 15px;border-width:1px}.mdc-button--outlined:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}.mdc-button--outlined:disabled{color:rgba(0, 0, 0, 0.38)}.mdc-button--outlined .mdc-button__icon{font-size:1.125rem;width:1.125rem;height:1.125rem}.mdc-button--outlined .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small, 4px)}.mdc-button--outlined:not(:disabled){border-color:rgba(0, 0, 0, 0.12)}.mdc-button--outlined:disabled{border-color:rgba(0, 0, 0, 0.12)}.mdc-button--outlined.mdc-button--icon-trailing{padding:0 11px 0 15px}.mdc-button--outlined.mdc-button--icon-leading{padding:0 15px 0 11px}.mdc-button--outlined .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.mdc-button--outlined .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:transparent;vertical-align:top}:host([fullwidth]){width:100%}:host([raised]),:host([unelevated]){--mdc-ripple-color:#fff;--mdc-ripple-focus-opacity:0.24;--mdc-ripple-hover-opacity:0.08;--mdc-ripple-press-opacity:0.24}.trailing-icon ::slotted(*),.trailing-icon .mdc-button__icon,.leading-icon ::slotted(*),.leading-icon .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .trailing-icon ::slotted(*),[dir=rtl] .trailing-icon .mdc-button__icon,[dir=rtl] .leading-icon ::slotted(*),[dir=rtl] .leading-icon .mdc-button__icon,.trailing-icon ::slotted(*[dir=rtl]),.trailing-icon .mdc-button__icon[dir=rtl],.leading-icon ::slotted(*[dir=rtl]),.leading-icon .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.trailing-icon ::slotted(*),.trailing-icon .mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .trailing-icon ::slotted(*),[dir=rtl] .trailing-icon .mdc-button__icon,.trailing-icon ::slotted(*[dir=rtl]),.trailing-icon .mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}.slot-container{display:inline-flex;align-items:center;justify-content:center}.slot-container.flex{flex:auto}.mdc-button{flex:auto;overflow:hidden;padding-left:8px;padding-left:var(--mdc-button-horizontal-padding, 8px);padding-right:8px;padding-right:var(--mdc-button-horizontal-padding, 8px)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-button-raised-box-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-button-raised-box-shadow-focus, var(--mdc-button-raised-box-shadow-hover, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)))}.mdc-button--raised:hover{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-button-raised-box-shadow-hover, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-button-raised-box-shadow-active, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-button-raised-box-shadow-disabled, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mdc-button--raised,.mdc-button--unelevated{padding-left:16px;padding-left:var(--mdc-button-horizontal-padding, 16px);padding-right:16px;padding-right:var(--mdc-button-horizontal-padding, 16px)}.mdc-button--outlined{border-width:1px;border-width:var(--mdc-button-outline-width, 1px);padding-left:calc(16px - 1px);padding-left:calc(var(--mdc-button-horizontal-padding, 16px) - var(--mdc-button-outline-width, 1px));padding-right:calc(16px - 1px);padding-right:calc(var(--mdc-button-horizontal-padding, 16px) - var(--mdc-button-outline-width, 1px))}.mdc-button--outlined:not(:disabled){border-color:rgba(0, 0, 0, 0.12);border-color:var(--mdc-button-outline-color, rgba(0, 0, 0, 0.12))}.mdc-button--outlined .ripple{top:calc(-1 * 1px);top:calc(-1 * var(--mdc-button-outline-width, 1px));left:calc(-1 * 1px);left:calc(-1 * var(--mdc-button-outline-width, 1px));right:initial;right:initial;border-width:1px;border-width:var(--mdc-button-outline-width, 1px);border-style:solid;border-color:transparent}[dir=rtl] .mdc-button--outlined .ripple,.mdc-button--outlined .ripple[dir=rtl]{left:initial;left:initial;right:calc(-1 * 1px);right:calc(-1 * var(--mdc-button-outline-width, 1px))}.mdc-button--dense{height:28px;margin-top:0;margin-bottom:0}.mdc-button--dense .mdc-button__touch{height:100%}:host([disabled]){pointer-events:none}:host([disabled]) .mdc-button{color:rgba(0, 0, 0, 0.38);color:var(--mdc-button-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-button--raised,:host([disabled]) .mdc-button--unelevated{background-color:rgba(0, 0, 0, 0.12);background-color:var(--mdc-button-disabled-fill-color, rgba(0, 0, 0, 0.12))}:host([disabled]) .mdc-button--outlined{border-color:rgba(0, 0, 0, 0.12);border-color:var(--mdc-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}`;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let qp=class extends yi{};qp.styles=[i2];qp=G([Jn("mwc-button")],qp);/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var r2={NOTCH_ELEMENT_SELECTOR:".mdc-notched-outline__notch"},n0={NOTCH_ELEMENT_PADDING:8},o2={NO_LABEL:"mdc-notched-outline--no-label",OUTLINE_NOTCHED:"mdc-notched-outline--notched",OUTLINE_UPGRADED:"mdc-notched-outline--upgraded"};/** - * @license - * Copyright 2017 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var s2=function(n){IA(e,n);function e(i){return n.call(this,Wi(Wi({},e.defaultAdapter),i))||this}return Object.defineProperty(e,"strings",{get:function(){return r2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssClasses",{get:function(){return o2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return n0},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNotchWidthProperty:function(){},removeNotchWidthProperty:function(){}}},enumerable:!1,configurable:!0}),e.prototype.notch=function(i){var s=e.cssClasses.OUTLINE_NOTCHED;i>0&&(i+=n0.NOTCH_ELEMENT_PADDING),this.adapter.setNotchWidthProperty(i),this.adapter.addClass(s)},e.prototype.closeNotch=function(){var i=e.cssClasses.OUTLINE_NOTCHED;this.adapter.removeClass(i),this.adapter.removeNotchWidthProperty()},e}(bl);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class id extends ed{constructor(){super(...arguments),this.mdcFoundationClass=s2,this.width=0,this.open=!1,this.lastOpen=this.open}createAdapter(){return{addClass:e=>this.mdcRoot.classList.add(e),removeClass:e=>this.mdcRoot.classList.remove(e),setNotchWidthProperty:e=>this.notchElement.style.setProperty("width",`${e}px`),removeNotchWidthProperty:()=>this.notchElement.style.removeProperty("width")}}openOrClose(e,i){!this.mdcFoundation||(e&&i!==void 0?this.mdcFoundation.notch(i):this.mdcFoundation.closeNotch())}render(){this.openOrClose(this.open,this.width);const e=Ur({"mdc-notched-outline--notched":this.open});return it` - - - - - - - `}}G([en(".mdc-notched-outline")],id.prototype,"mdcRoot",void 0);G([ge({type:Number})],id.prototype,"width",void 0);G([ge({type:Boolean,reflect:!0})],id.prototype,"open",void 0);G([en(".mdc-notched-outline__notch")],id.prototype,"notchElement",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const a2=Gn`.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / 0.75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}:host{display:block;position:absolute;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] :host,:host([dir=rtl]){text-align:right}::slotted(.mdc-floating-label){display:inline-block;position:relative;top:17px;bottom:auto;max-width:100%}::slotted(.mdc-floating-label--float-above){text-overflow:clip}.mdc-notched-outline--upgraded ::slotted(.mdc-floating-label--float-above){max-width:calc(100% / 0.75)}.mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-notched-outline .mdc-notched-outline__leading,.mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2)}}.mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{border-color:var(--mdc-notched-outline-border-color, var(--mdc-theme-primary, #6200ee));border-width:1px;border-width:var(--mdc-notched-outline-stroke-width, 1px)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0;padding-top:var(--mdc-notched-outline-notch-offset, 0)}`;/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let Yp=class extends id{};Yp.styles=[a2];Yp=G([Jn("mwc-notched-outline")],Yp);/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */var up,fp;const l2=(fp=(up=window.ShadyDOM)===null||up===void 0?void 0:up.inUse)!==null&&fp!==void 0?fp:!1;class Ph extends ed{constructor(){super(...arguments),this.disabled=!1,this.containingForm=null,this.formDataListener=e=>{this.disabled||this.setFormData(e.formData)}}findFormElement(){if(!this.shadowRoot||l2)return null;const i=this.getRootNode().querySelectorAll("form");for(const s of Array.from(i))if(s.contains(this))return s;return null}connectedCallback(){var e;super.connectedCallback(),this.containingForm=this.findFormElement(),(e=this.containingForm)===null||e===void 0||e.addEventListener("formdata",this.formDataListener)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.containingForm)===null||e===void 0||e.removeEventListener("formdata",this.formDataListener),this.containingForm=null}click(){this.formElement&&!this.disabled&&(this.formElement.focus(),this.formElement.click())}firstUpdated(){super.firstUpdated(),this.shadowRoot&&this.mdcRoot.addEventListener("change",e=>{this.dispatchEvent(new Event("change",e))})}}Ph.shadowRootOptions={mode:"open",delegatesFocus:!0};G([ge({type:Boolean})],Ph.prototype,"disabled",void 0);/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var A2={LABEL_FLOAT_ABOVE:"mdc-floating-label--float-above",LABEL_REQUIRED:"mdc-floating-label--required",LABEL_SHAKE:"mdc-floating-label--shake",ROOT:"mdc-floating-label"};/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var c2=function(n){IA(e,n);function e(i){var s=n.call(this,Wi(Wi({},e.defaultAdapter),i))||this;return s.shakeAnimationEndHandler=function(){s.handleShakeAnimationEnd()},s}return Object.defineProperty(e,"cssClasses",{get:function(){return A2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},getWidth:function(){return 0},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.getWidth=function(){return this.adapter.getWidth()},e.prototype.shake=function(i){var s=e.cssClasses.LABEL_SHAKE;i?this.adapter.addClass(s):this.adapter.removeClass(s)},e.prototype.float=function(i){var s=e.cssClasses,d=s.LABEL_FLOAT_ABOVE,A=s.LABEL_SHAKE;i?this.adapter.addClass(d):(this.adapter.removeClass(d),this.adapter.removeClass(A))},e.prototype.setRequired=function(i){var s=e.cssClasses.LABEL_REQUIRED;i?this.adapter.addClass(s):this.adapter.removeClass(s)},e.prototype.handleShakeAnimationEnd=function(){var i=e.cssClasses.LABEL_SHAKE;this.adapter.removeClass(i)},e}(bl);/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const d2=n=>({addClass:e=>n.classList.add(e),removeClass:e=>n.classList.remove(e),getWidth:()=>n.scrollWidth,registerInteractionHandler:(e,i)=>{n.addEventListener(e,i)},deregisterInteractionHandler:(e,i)=>{n.removeEventListener(e,i)}});class u2 extends nd{constructor(e){switch(super(e),this.foundation=null,this.previousPart=null,e.type){case jr.ATTRIBUTE:case jr.PROPERTY:break;default:throw new Error("FloatingLabel directive only support attribute and property parts")}}update(e,[i]){if(e!==this.previousPart){this.foundation&&this.foundation.destroy(),this.previousPart=e;const s=e.element;s.classList.add("mdc-floating-label");const d=d2(s);this.foundation=new c2(d),this.foundation.init()}return this.render(i)}render(e){return this.foundation}}const f2=td(u2);/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var ll={LINE_RIPPLE_ACTIVE:"mdc-line-ripple--active",LINE_RIPPLE_DEACTIVATING:"mdc-line-ripple--deactivating"};/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var p2=function(n){IA(e,n);function e(i){var s=n.call(this,Wi(Wi({},e.defaultAdapter),i))||this;return s.transitionEndHandler=function(d){s.handleTransitionEnd(d)},s}return Object.defineProperty(e,"cssClasses",{get:function(){return ll},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setStyle:function(){},registerEventHandler:function(){},deregisterEventHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerEventHandler("transitionend",this.transitionEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterEventHandler("transitionend",this.transitionEndHandler)},e.prototype.activate=function(){this.adapter.removeClass(ll.LINE_RIPPLE_DEACTIVATING),this.adapter.addClass(ll.LINE_RIPPLE_ACTIVE)},e.prototype.setRippleCenter=function(i){this.adapter.setStyle("transform-origin",i+"px center")},e.prototype.deactivate=function(){this.adapter.addClass(ll.LINE_RIPPLE_DEACTIVATING)},e.prototype.handleTransitionEnd=function(i){var s=this.adapter.hasClass(ll.LINE_RIPPLE_DEACTIVATING);i.propertyName==="opacity"&&s&&(this.adapter.removeClass(ll.LINE_RIPPLE_ACTIVE),this.adapter.removeClass(ll.LINE_RIPPLE_DEACTIVATING))},e}(bl);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const h2=n=>({addClass:e=>n.classList.add(e),removeClass:e=>n.classList.remove(e),hasClass:e=>n.classList.contains(e),setStyle:(e,i)=>n.style.setProperty(e,i),registerEventHandler:(e,i)=>{n.addEventListener(e,i)},deregisterEventHandler:(e,i)=>{n.removeEventListener(e,i)}});class g2 extends nd{constructor(e){switch(super(e),this.previousPart=null,this.foundation=null,e.type){case jr.ATTRIBUTE:case jr.PROPERTY:return;default:throw new Error("LineRipple only support attribute and property parts.")}}update(e,i){if(this.previousPart!==e){this.foundation&&this.foundation.destroy(),this.previousPart=e;const s=e.element;s.classList.add("mdc-line-ripple");const d=h2(s);this.foundation=new p2(d),this.foundation.init()}return this.render()}render(){return this.foundation}}const m2=td(g2);/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var pp={ARIA_CONTROLS:"aria-controls",ARIA_DESCRIBEDBY:"aria-describedby",INPUT_SELECTOR:".mdc-text-field__input",LABEL_SELECTOR:".mdc-floating-label",LEADING_ICON_SELECTOR:".mdc-text-field__icon--leading",LINE_RIPPLE_SELECTOR:".mdc-line-ripple",OUTLINE_SELECTOR:".mdc-notched-outline",PREFIX_SELECTOR:".mdc-text-field__affix--prefix",SUFFIX_SELECTOR:".mdc-text-field__affix--suffix",TRAILING_ICON_SELECTOR:".mdc-text-field__icon--trailing"},v2={DISABLED:"mdc-text-field--disabled",FOCUSED:"mdc-text-field--focused",HELPER_LINE:"mdc-text-field-helper-line",INVALID:"mdc-text-field--invalid",LABEL_FLOATING:"mdc-text-field--label-floating",NO_LABEL:"mdc-text-field--no-label",OUTLINED:"mdc-text-field--outlined",ROOT:"mdc-text-field",TEXTAREA:"mdc-text-field--textarea",WITH_LEADING_ICON:"mdc-text-field--with-leading-icon",WITH_TRAILING_ICON:"mdc-text-field--with-trailing-icon",WITH_INTERNAL_COUNTER:"mdc-text-field--with-internal-counter"},i0={LABEL_SCALE:.75},b2=["pattern","min","max","required","step","minlength","maxlength"],y2=["color","date","datetime-local","month","range","time","week"];/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var r0=["mousedown","touchstart"],o0=["click","keydown"],x2=function(n){IA(e,n);function e(i,s){s===void 0&&(s={});var d=n.call(this,Wi(Wi({},e.defaultAdapter),i))||this;return d.isFocused=!1,d.receivedUserInput=!1,d.valid=!0,d.useNativeValidation=!0,d.validateOnValueChange=!0,d.helperText=s.helperText,d.characterCounter=s.characterCounter,d.leadingIcon=s.leadingIcon,d.trailingIcon=s.trailingIcon,d.inputFocusHandler=function(){d.activateFocus()},d.inputBlurHandler=function(){d.deactivateFocus()},d.inputInputHandler=function(){d.handleInput()},d.setPointerXOffset=function(A){d.setTransformOrigin(A)},d.textFieldInteractionHandler=function(){d.handleTextFieldInteraction()},d.validationAttributeChangeHandler=function(A){d.handleValidationAttributeChange(A)},d}return Object.defineProperty(e,"cssClasses",{get:function(){return v2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return pp},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return i0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldAlwaysFloat",{get:function(){var i=this.getNativeInput().type;return y2.indexOf(i)>=0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldFloat",{get:function(){return this.shouldAlwaysFloat||this.isFocused||!!this.getValue()||this.isBadInput()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldShake",{get:function(){return!this.isFocused&&!this.isValid()&&!!this.getValue()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!0},setInputAttr:function(){},removeInputAttr:function(){},registerTextFieldInteractionHandler:function(){},deregisterTextFieldInteractionHandler:function(){},registerInputInteractionHandler:function(){},deregisterInputInteractionHandler:function(){},registerValidationAttributeChangeHandler:function(){return new MutationObserver(function(){})},deregisterValidationAttributeChangeHandler:function(){},getNativeInput:function(){return null},isFocused:function(){return!1},activateLineRipple:function(){},deactivateLineRipple:function(){},setLineRippleTransformOrigin:function(){},shakeLabel:function(){},floatLabel:function(){},setLabelRequired:function(){},hasLabel:function(){return!1},getLabelWidth:function(){return 0},hasOutline:function(){return!1},notchOutline:function(){},closeOutline:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var i,s,d,A;this.adapter.hasLabel()&&this.getNativeInput().required&&this.adapter.setLabelRequired(!0),this.adapter.isFocused()?this.inputFocusHandler():this.adapter.hasLabel()&&this.shouldFloat&&(this.notchOutline(!0),this.adapter.floatLabel(!0),this.styleFloating(!0)),this.adapter.registerInputInteractionHandler("focus",this.inputFocusHandler),this.adapter.registerInputInteractionHandler("blur",this.inputBlurHandler),this.adapter.registerInputInteractionHandler("input",this.inputInputHandler);try{for(var p=fs(r0),g=p.next();!g.done;g=p.next()){var m=g.value;this.adapter.registerInputInteractionHandler(m,this.setPointerXOffset)}}catch(_){i={error:_}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}try{for(var v=fs(o0),C=v.next();!C.done;C=v.next()){var m=C.value;this.adapter.registerTextFieldInteractionHandler(m,this.textFieldInteractionHandler)}}catch(_){d={error:_}}finally{try{C&&!C.done&&(A=v.return)&&A.call(v)}finally{if(d)throw d.error}}this.validationObserver=this.adapter.registerValidationAttributeChangeHandler(this.validationAttributeChangeHandler),this.setcharacterCounter(this.getValue().length)},e.prototype.destroy=function(){var i,s,d,A;this.adapter.deregisterInputInteractionHandler("focus",this.inputFocusHandler),this.adapter.deregisterInputInteractionHandler("blur",this.inputBlurHandler),this.adapter.deregisterInputInteractionHandler("input",this.inputInputHandler);try{for(var p=fs(r0),g=p.next();!g.done;g=p.next()){var m=g.value;this.adapter.deregisterInputInteractionHandler(m,this.setPointerXOffset)}}catch(_){i={error:_}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}try{for(var v=fs(o0),C=v.next();!C.done;C=v.next()){var m=C.value;this.adapter.deregisterTextFieldInteractionHandler(m,this.textFieldInteractionHandler)}}catch(_){d={error:_}}finally{try{C&&!C.done&&(A=v.return)&&A.call(v)}finally{if(d)throw d.error}}this.adapter.deregisterValidationAttributeChangeHandler(this.validationObserver)},e.prototype.handleTextFieldInteraction=function(){var i=this.adapter.getNativeInput();i&&i.disabled||(this.receivedUserInput=!0)},e.prototype.handleValidationAttributeChange=function(i){var s=this;i.some(function(d){return b2.indexOf(d)>-1?(s.styleValidity(!0),s.adapter.setLabelRequired(s.getNativeInput().required),!0):!1}),i.indexOf("maxlength")>-1&&this.setcharacterCounter(this.getValue().length)},e.prototype.notchOutline=function(i){if(!(!this.adapter.hasOutline()||!this.adapter.hasLabel()))if(i){var s=this.adapter.getLabelWidth()*i0.LABEL_SCALE;this.adapter.notchOutline(s)}else this.adapter.closeOutline()},e.prototype.activateFocus=function(){this.isFocused=!0,this.styleFocused(this.isFocused),this.adapter.activateLineRipple(),this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.adapter.shakeLabel(this.shouldShake)),this.helperText&&(this.helperText.isPersistent()||!this.helperText.isValidation()||!this.valid)&&this.helperText.showToScreenReader()},e.prototype.setTransformOrigin=function(i){if(!(this.isDisabled()||this.adapter.hasOutline())){var s=i.touches,d=s?s[0]:i,A=d.target.getBoundingClientRect(),p=d.clientX-A.left;this.adapter.setLineRippleTransformOrigin(p)}},e.prototype.handleInput=function(){this.autoCompleteFocus(),this.setcharacterCounter(this.getValue().length)},e.prototype.autoCompleteFocus=function(){this.receivedUserInput||this.activateFocus()},e.prototype.deactivateFocus=function(){this.isFocused=!1,this.adapter.deactivateLineRipple();var i=this.isValid();this.styleValidity(i),this.styleFocused(this.isFocused),this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.adapter.shakeLabel(this.shouldShake)),this.shouldFloat||(this.receivedUserInput=!1)},e.prototype.getValue=function(){return this.getNativeInput().value},e.prototype.setValue=function(i){if(this.getValue()!==i&&(this.getNativeInput().value=i),this.setcharacterCounter(i.length),this.validateOnValueChange){var s=this.isValid();this.styleValidity(s)}this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.validateOnValueChange&&this.adapter.shakeLabel(this.shouldShake))},e.prototype.isValid=function(){return this.useNativeValidation?this.isNativeInputValid():this.valid},e.prototype.setValid=function(i){this.valid=i,this.styleValidity(i);var s=!i&&!this.isFocused&&!!this.getValue();this.adapter.hasLabel()&&this.adapter.shakeLabel(s)},e.prototype.setValidateOnValueChange=function(i){this.validateOnValueChange=i},e.prototype.getValidateOnValueChange=function(){return this.validateOnValueChange},e.prototype.setUseNativeValidation=function(i){this.useNativeValidation=i},e.prototype.isDisabled=function(){return this.getNativeInput().disabled},e.prototype.setDisabled=function(i){this.getNativeInput().disabled=i,this.styleDisabled(i)},e.prototype.setHelperTextContent=function(i){this.helperText&&this.helperText.setContent(i)},e.prototype.setLeadingIconAriaLabel=function(i){this.leadingIcon&&this.leadingIcon.setAriaLabel(i)},e.prototype.setLeadingIconContent=function(i){this.leadingIcon&&this.leadingIcon.setContent(i)},e.prototype.setTrailingIconAriaLabel=function(i){this.trailingIcon&&this.trailingIcon.setAriaLabel(i)},e.prototype.setTrailingIconContent=function(i){this.trailingIcon&&this.trailingIcon.setContent(i)},e.prototype.setcharacterCounter=function(i){if(!!this.characterCounter){var s=this.getNativeInput().maxLength;if(s===-1)throw new Error("MDCTextFieldFoundation: Expected maxlength html property on text input or textarea.");this.characterCounter.setCounterValue(i,s)}},e.prototype.isBadInput=function(){return this.getNativeInput().validity.badInput||!1},e.prototype.isNativeInputValid=function(){return this.getNativeInput().validity.valid},e.prototype.styleValidity=function(i){var s=e.cssClasses.INVALID;if(i?this.adapter.removeClass(s):this.adapter.addClass(s),this.helperText){this.helperText.setValidity(i);var d=this.helperText.isValidation();if(!d)return;var A=this.helperText.isVisible(),p=this.helperText.getId();A&&p?this.adapter.setInputAttr(pp.ARIA_DESCRIBEDBY,p):this.adapter.removeInputAttr(pp.ARIA_DESCRIBEDBY)}},e.prototype.styleFocused=function(i){var s=e.cssClasses.FOCUSED;i?this.adapter.addClass(s):this.adapter.removeClass(s)},e.prototype.styleDisabled=function(i){var s=e.cssClasses,d=s.DISABLED,A=s.INVALID;i?(this.adapter.addClass(d),this.adapter.removeClass(A)):this.adapter.removeClass(d),this.leadingIcon&&this.leadingIcon.setDisabled(i),this.trailingIcon&&this.trailingIcon.setDisabled(i)},e.prototype.styleFloating=function(i){var s=e.cssClasses.LABEL_FLOATING;i?this.adapter.addClass(s):this.adapter.removeClass(s)},e.prototype.getNativeInput=function(){var i=this.adapter?this.adapter.getNativeInput():null;return i||{disabled:!1,maxLength:-1,required:!1,type:"input",validity:{badInput:!1,valid:!0},value:""}},e}(bl);const C2=x2;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _2=n=>n.strings===void 0,w2={},I2=(n,e=w2)=>n._$AH=e;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const tb=td(class extends nd{constructor(n){if(super(n),n.type!==jr.PROPERTY&&n.type!==jr.ATTRIBUTE&&n.type!==jr.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!_2(n))throw Error("`live` bindings can only contain a single expression")}render(n){return n}update(n,[e]){if(e===Gr||e===vn)return e;const i=n.element,s=n.name;if(n.type===jr.PROPERTY){if(e===i[s])return Gr}else if(n.type===jr.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(s))return Gr}else if(n.type===jr.ATTRIBUTE&&i.getAttribute(s)===e+"")return Gr;return I2(n),e}});/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const E2=["touchstart","touchmove","scroll","mousewheel"],s0=(n={})=>{const e={};for(const i in n)e[i]=n[i];return Object.assign({badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:!0,valueMissing:!1},e)};class St extends Ph{constructor(){super(...arguments),this.mdcFoundationClass=C2,this.value="",this.type="text",this.placeholder="",this.label="",this.icon="",this.iconTrailing="",this.disabled=!1,this.required=!1,this.minLength=-1,this.maxLength=-1,this.outlined=!1,this.helper="",this.validateOnInitialRender=!1,this.validationMessage="",this.autoValidate=!1,this.pattern="",this.min="",this.max="",this.step=null,this.size=null,this.helperPersistent=!1,this.charCounter=!1,this.endAligned=!1,this.prefix="",this.suffix="",this.name="",this.readOnly=!1,this.autocapitalize="",this.outlineOpen=!1,this.outlineWidth=0,this.isUiValid=!0,this.focused=!1,this._validity=s0(),this.validityTransform=null}get validity(){return this._checkValidity(this.value),this._validity}get willValidate(){return this.formElement.willValidate}get selectionStart(){return this.formElement.selectionStart}get selectionEnd(){return this.formElement.selectionEnd}focus(){const e=new CustomEvent("focus");this.formElement.dispatchEvent(e),this.formElement.focus()}blur(){const e=new CustomEvent("blur");this.formElement.dispatchEvent(e),this.formElement.blur()}select(){this.formElement.select()}setSelectionRange(e,i,s){this.formElement.setSelectionRange(e,i,s)}update(e){e.has("autoValidate")&&this.mdcFoundation&&this.mdcFoundation.setValidateOnValueChange(this.autoValidate),e.has("value")&&typeof this.value!="string"&&(this.value=`${this.value}`),super.update(e)}setFormData(e){this.name&&e.append(this.name,this.value)}render(){const e=this.charCounter&&this.maxLength!==-1,i=!!this.helper||!!this.validationMessage||e,s={"mdc-text-field--disabled":this.disabled,"mdc-text-field--no-label":!this.label,"mdc-text-field--filled":!this.outlined,"mdc-text-field--outlined":this.outlined,"mdc-text-field--with-leading-icon":this.icon,"mdc-text-field--with-trailing-icon":this.iconTrailing,"mdc-text-field--end-aligned":this.endAligned};return it` - - ${this.renderHelperText(i,e)} - `}updated(e){e.has("value")&&e.get("value")!==void 0&&(this.mdcFoundation.setValue(this.value),this.autoValidate&&this.reportValidity())}renderRipple(){return this.outlined?"":it` - - `}renderOutline(){return this.outlined?it` - - ${this.renderLabel()} - `:""}renderLabel(){return this.label?it` - ${this.label} - `:""}renderLeadingIcon(){return this.icon?this.renderIcon(this.icon):""}renderTrailingIcon(){return this.iconTrailing?this.renderIcon(this.iconTrailing,!0):""}renderIcon(e,i=!1){return it`${e}`}renderPrefix(){return this.prefix?this.renderAffix(this.prefix):""}renderSuffix(){return this.suffix?this.renderAffix(this.suffix,!0):""}renderAffix(e,i=!1){return it` - ${e}`}renderInput(e){const i=this.minLength===-1?void 0:this.minLength,s=this.maxLength===-1?void 0:this.maxLength,d=this.autocapitalize?this.autocapitalize:void 0,A=this.validationMessage&&!this.isUiValid,p=this.label?"label":void 0,g=e?"helper-text":void 0,m=this.focused||this.helperPersistent||A?"helper-text":void 0;return it` - `}renderLineRipple(){return this.outlined?"":it` - - `}renderHelperText(e,i){const s=this.validationMessage&&!this.isUiValid,d={"mdc-text-field-helper-text--persistent":this.helperPersistent,"mdc-text-field-helper-text--validation-msg":s},A=this.focused||this.helperPersistent||s?void 0:"true",p=s?this.validationMessage:this.helper;return e?it` -
-
${p}
- ${this.renderCharCounter(i)} -
`:""}renderCharCounter(e){const i=Math.min(this.value.length,this.maxLength);return e?it` - ${i} / ${this.maxLength}`:""}onInputFocus(){this.focused=!0}onInputBlur(){this.focused=!1,this.reportValidity()}checkValidity(){const e=this._checkValidity(this.value);if(!e){const i=new Event("invalid",{bubbles:!1,cancelable:!0});this.dispatchEvent(i)}return e}reportValidity(){const e=this.checkValidity();return this.mdcFoundation.setValid(e),this.isUiValid=e,e}_checkValidity(e){const i=this.formElement.validity;let s=s0(i);if(this.validityTransform){const d=this.validityTransform(e,s);s=Object.assign(Object.assign({},s),d),this.mdcFoundation.setUseNativeValidation(!1)}else this.mdcFoundation.setUseNativeValidation(!0);return this._validity=s,this._validity.valid}setCustomValidity(e){this.validationMessage=e,this.formElement.setCustomValidity(e)}handleInputChange(){this.value=this.formElement.value}createAdapter(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.getRootAdapterMethods()),this.getInputAdapterMethods()),this.getLabelAdapterMethods()),this.getLineRippleAdapterMethods()),this.getOutlineAdapterMethods())}getRootAdapterMethods(){return Object.assign({registerTextFieldInteractionHandler:(e,i)=>this.addEventListener(e,i),deregisterTextFieldInteractionHandler:(e,i)=>this.removeEventListener(e,i),registerValidationAttributeChangeHandler:e=>{const i=A=>A.map(p=>p.attributeName).filter(p=>p),s=new MutationObserver(A=>{e(i(A))}),d={attributes:!0};return s.observe(this.formElement,d),s},deregisterValidationAttributeChangeHandler:e=>e.disconnect()},qv(this.mdcRoot))}getInputAdapterMethods(){return{getNativeInput:()=>this.formElement,setInputAttr:()=>{},removeInputAttr:()=>{},isFocused:()=>this.shadowRoot?this.shadowRoot.activeElement===this.formElement:!1,registerInputInteractionHandler:(e,i)=>this.formElement.addEventListener(e,i,{passive:e in E2}),deregisterInputInteractionHandler:(e,i)=>this.formElement.removeEventListener(e,i)}}getLabelAdapterMethods(){return{floatLabel:e=>this.labelElement&&this.labelElement.floatingLabelFoundation.float(e),getLabelWidth:()=>this.labelElement?this.labelElement.floatingLabelFoundation.getWidth():0,hasLabel:()=>Boolean(this.labelElement),shakeLabel:e=>this.labelElement&&this.labelElement.floatingLabelFoundation.shake(e),setLabelRequired:e=>{this.labelElement&&this.labelElement.floatingLabelFoundation.setRequired(e)}}}getLineRippleAdapterMethods(){return{activateLineRipple:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.activate()},deactivateLineRipple:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.deactivate()},setLineRippleTransformOrigin:e=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.setRippleCenter(e)}}}async getUpdateComplete(){var e;const i=await super.getUpdateComplete();return await((e=this.outlineElement)===null||e===void 0?void 0:e.updateComplete),i}firstUpdated(){var e;super.firstUpdated(),this.mdcFoundation.setValidateOnValueChange(this.autoValidate),this.validateOnInitialRender&&this.reportValidity(),(e=this.outlineElement)===null||e===void 0||e.updateComplete.then(()=>{var i;this.outlineWidth=((i=this.labelElement)===null||i===void 0?void 0:i.floatingLabelFoundation.getWidth())||0})}getOutlineAdapterMethods(){return{closeOutline:()=>this.outlineElement&&(this.outlineOpen=!1),hasOutline:()=>Boolean(this.outlineElement),notchOutline:e=>{this.outlineElement&&!this.outlineOpen&&(this.outlineWidth=e,this.outlineOpen=!0)}}}async layout(){await this.updateComplete;const e=this.labelElement;if(!e){this.outlineOpen=!1;return}const i=!!this.label&&!!this.value;if(e.floatingLabelFoundation.float(i),!this.outlined)return;this.outlineOpen=i,await this.updateComplete;const s=e.floatingLabelFoundation.getWidth();this.outlineOpen&&(this.outlineWidth=s,await this.updateComplete)}}G([en(".mdc-text-field")],St.prototype,"mdcRoot",void 0);G([en("input")],St.prototype,"formElement",void 0);G([en(".mdc-floating-label")],St.prototype,"labelElement",void 0);G([en(".mdc-line-ripple")],St.prototype,"lineRippleElement",void 0);G([en("mwc-notched-outline")],St.prototype,"outlineElement",void 0);G([en(".mdc-notched-outline__notch")],St.prototype,"notchElement",void 0);G([ge({type:String})],St.prototype,"value",void 0);G([ge({type:String})],St.prototype,"type",void 0);G([ge({type:String})],St.prototype,"placeholder",void 0);G([ge({type:String}),ri(function(n,e){e!==void 0&&this.label!==e&&this.layout()})],St.prototype,"label",void 0);G([ge({type:String})],St.prototype,"icon",void 0);G([ge({type:String})],St.prototype,"iconTrailing",void 0);G([ge({type:Boolean,reflect:!0})],St.prototype,"disabled",void 0);G([ge({type:Boolean})],St.prototype,"required",void 0);G([ge({type:Number})],St.prototype,"minLength",void 0);G([ge({type:Number})],St.prototype,"maxLength",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n,e){e!==void 0&&this.outlined!==e&&this.layout()})],St.prototype,"outlined",void 0);G([ge({type:String})],St.prototype,"helper",void 0);G([ge({type:Boolean})],St.prototype,"validateOnInitialRender",void 0);G([ge({type:String})],St.prototype,"validationMessage",void 0);G([ge({type:Boolean})],St.prototype,"autoValidate",void 0);G([ge({type:String})],St.prototype,"pattern",void 0);G([ge({type:String})],St.prototype,"min",void 0);G([ge({type:String})],St.prototype,"max",void 0);G([ge({type:String})],St.prototype,"step",void 0);G([ge({type:Number})],St.prototype,"size",void 0);G([ge({type:Boolean})],St.prototype,"helperPersistent",void 0);G([ge({type:Boolean})],St.prototype,"charCounter",void 0);G([ge({type:Boolean})],St.prototype,"endAligned",void 0);G([ge({type:String})],St.prototype,"prefix",void 0);G([ge({type:String})],St.prototype,"suffix",void 0);G([ge({type:String})],St.prototype,"name",void 0);G([ge({type:String})],St.prototype,"inputMode",void 0);G([ge({type:Boolean})],St.prototype,"readOnly",void 0);G([ge({type:String})],St.prototype,"autocapitalize",void 0);G([Ct()],St.prototype,"outlineOpen",void 0);G([Ct()],St.prototype,"outlineWidth",void 0);G([Ct()],St.prototype,"isUiValid",void 0);G([Ct()],St.prototype,"focused",void 0);G([ff({passive:!0})],St.prototype,"handleInputChange",null);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const B2=Gn`.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required::after,.mdc-floating-label--required[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-106%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);border-bottom-width:2px;opacity:0;z-index:2}.mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / 0.75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-text-field--filled{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-text-field--filled .mdc-text-field__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-text-field--filled .mdc-text-field__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-text-field--filled.mdc-ripple-upgraded--unbounded .mdc-text-field__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-text-field--filled.mdc-ripple-upgraded--foreground-activation .mdc-text-field__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-text-field--filled.mdc-ripple-upgraded--foreground-deactivation .mdc-text-field__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-text-field__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.mdc-text-field{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:rgba(0, 0, 0, 0.87)}@media all{.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:rgba(0, 0, 0, 0.54)}}@media all{.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:rgba(0, 0, 0, 0.54)}}.mdc-text-field .mdc-text-field__input{caret-color:#6200ee;caret-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon--leading{color:rgba(0, 0, 0, 0.54)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing{color:rgba(0, 0, 0, 0.54)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:rgba(0, 0, 0, 0.6)}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);height:28px;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}}.mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);height:28px;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{background-color:rgba(0, 0, 0, 0.87);background-color:var(--mdc-ripple-color, rgba(0, 0, 0, 0.87))}.mdc-text-field--filled:hover .mdc-text-field__ripple::before,.mdc-text-field--filled.mdc-ripple-surface--hover .mdc-text-field__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:whitesmoke}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42)}.mdc-text-field--filled:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87)}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-color:#6200ee;border-bottom-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.38)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.87)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px, var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-text-field__ripple::before,.mdc-text-field--outlined .mdc-text-field__ripple::after{background-color:transparent;background-color:var(--mdc-ripple-color, transparent)}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:transparent}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0;transition:none}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px;line-height:1.5rem}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-10.25px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-10.25px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-24.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-24.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(98, 0, 238, 0.87)}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid .mdc-text-field__input{caret-color:#b00020;caret-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}.mdc-text-field--disabled .mdc-text-field__input{color:rgba(0, 0, 0, 0.38)}@media all{.mdc-text-field--disabled .mdc-text-field__input::placeholder{color:rgba(0, 0, 0, 0.38)}}@media all{.mdc-text-field--disabled .mdc-text-field__input:-ms-input-placeholder{color:rgba(0, 0, 0, 0.38)}}.mdc-text-field--disabled .mdc-floating-label{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field__icon--leading{color:rgba(0, 0, 0, 0.3)}.mdc-text-field--disabled .mdc-text-field__icon--trailing{color:rgba(0, 0, 0, 0.3)}.mdc-text-field--disabled .mdc-text-field__affix--prefix{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field__affix--suffix{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.06)}.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.06)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__input::placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__input:-ms-input-placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-floating-label{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__icon--leading{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__icon--trailing{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__affix--prefix{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__affix--suffix{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:GrayText}}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled{background-color:#fafafa}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-text-field-helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit);display:block;margin-top:0;line-height:normal;margin:0;opacity:0;will-change:opacity;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-character-counter{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit);display:block;margin-top:0;line-height:normal;margin-left:auto;margin-right:0;padding-left:16px;padding-right:0;white-space:nowrap}.mdc-text-field-character-counter::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field__icon{align-self:center;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field__icon svg{display:block}.mdc-text-field__icon--leading{margin-left:16px;margin-right:8px}[dir=rtl] .mdc-text-field__icon--leading,.mdc-text-field__icon--leading[dir=rtl]{margin-left:8px;margin-right:16px}.mdc-text-field__icon--trailing{padding:12px;margin-left:0px;margin-right:0px}[dir=rtl] .mdc-text-field__icon--trailing,.mdc-text-field__icon--trailing[dir=rtl]{margin-left:0px;margin-right:0px}.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}:host{display:inline-flex;flex-direction:column;outline:none}.mdc-text-field{width:100%}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42);border-bottom-color:var(--mdc-text-field-idle-line-color, rgba(0, 0, 0, 0.42))}.mdc-text-field:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87);border-bottom-color:var(--mdc-text-field-hover-line-color, rgba(0, 0, 0, 0.87))}.mdc-text-field.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.06);border-bottom-color:var(--mdc-text-field-disabled-line-color, rgba(0, 0, 0, 0.06))}.mdc-text-field.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field__input{direction:inherit}mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-idle-border-color, rgba(0, 0, 0, 0.38) )}:host(:not([disabled]):hover) :not(.mdc-text-field--invalid):not(.mdc-text-field--focused) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-hover-border-color, rgba(0, 0, 0, 0.87) )}:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--outlined){background-color:var(--mdc-text-field-fill-color, whitesmoke)}:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-error-color, var(--mdc-theme-error, #b00020) )}:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-character-counter,:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid .mdc-text-field__icon{color:var(--mdc-text-field-error-color, var(--mdc-theme-error, #b00020))}:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label,:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label::after{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused mwc-notched-outline{--mdc-notched-outline-stroke-width: 2px}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused:not(.mdc-text-field--invalid) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-focused-label-color, var(--mdc-theme-primary, rgba(98, 0, 238, 0.87)) )}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused:not(.mdc-text-field--invalid) .mdc-floating-label{color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}:host(:not([disabled])) .mdc-text-field .mdc-text-field__input{color:var(--mdc-text-field-ink-color, rgba(0, 0, 0, 0.87))}:host(:not([disabled])) .mdc-text-field .mdc-text-field__input::placeholder{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host(:not([disabled])) .mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg),:host(:not([disabled])) .mdc-text-field-helper-line:not(.mdc-text-field--invalid) .mdc-text-field-character-counter{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host([disabled]) .mdc-text-field:not(.mdc-text-field--outlined){background-color:var(--mdc-text-field-disabled-fill-color, #fafafa)}:host([disabled]) .mdc-text-field.mdc-text-field--outlined mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-disabled-border-color, rgba(0, 0, 0, 0.06) )}:host([disabled]) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label,:host([disabled]) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label::after{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-text-field .mdc-text-field__input,:host([disabled]) .mdc-text-field .mdc-text-field__input::placeholder{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-text-field-helper-line .mdc-text-field-helper-text,:host([disabled]) .mdc-text-field-helper-line .mdc-text-field-character-counter{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}`;/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let eh=class extends St{};eh.styles=[B2];eh=G([Jn("mwc-textfield")],eh);/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var k2={ANCHOR:"mdc-menu-surface--anchor",ANIMATING_CLOSED:"mdc-menu-surface--animating-closed",ANIMATING_OPEN:"mdc-menu-surface--animating-open",FIXED:"mdc-menu-surface--fixed",IS_OPEN_BELOW:"mdc-menu-surface--is-open-below",OPEN:"mdc-menu-surface--open",ROOT:"mdc-menu-surface"},M2={CLOSED_EVENT:"MDCMenuSurface:closed",CLOSING_EVENT:"MDCMenuSurface:closing",OPENED_EVENT:"MDCMenuSurface:opened",OPENING_EVENT:"MDCMenuSurface:opening",FOCUSABLE_ELEMENTS:["button:not(:disabled)",'[href]:not([aria-disabled="true"])',"input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"]):not([aria-disabled="true"])'].join(", ")},Bc={TRANSITION_OPEN_DURATION:120,TRANSITION_CLOSE_DURATION:75,MARGIN_TO_EDGE:32,ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO:.67,TOUCH_EVENT_WAIT_MS:30},Tn;(function(n){n[n.BOTTOM=1]="BOTTOM",n[n.CENTER=2]="CENTER",n[n.RIGHT=4]="RIGHT",n[n.FLIP_RTL=8]="FLIP_RTL"})(Tn||(Tn={}));var or;(function(n){n[n.TOP_LEFT=0]="TOP_LEFT",n[n.TOP_RIGHT=4]="TOP_RIGHT",n[n.BOTTOM_LEFT=1]="BOTTOM_LEFT",n[n.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",n[n.TOP_START=8]="TOP_START",n[n.TOP_END=12]="TOP_END",n[n.BOTTOM_START=9]="BOTTOM_START",n[n.BOTTOM_END=13]="BOTTOM_END"})(or||(or={}));/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */var Q2=function(n){IA(e,n);function e(i){var s=n.call(this,Wi(Wi({},e.defaultAdapter),i))||this;return s.isSurfaceOpen=!1,s.isQuickOpen=!1,s.isHoistedElement=!1,s.isFixedPosition=!1,s.isHorizontallyCenteredOnViewport=!1,s.maxHeight=0,s.openBottomBias=0,s.openAnimationEndTimerId=0,s.closeAnimationEndTimerId=0,s.animationRequestId=0,s.anchorCorner=or.TOP_START,s.originCorner=or.TOP_START,s.anchorMargin={top:0,right:0,bottom:0,left:0},s.position={x:0,y:0},s}return Object.defineProperty(e,"cssClasses",{get:function(){return k2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return M2},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Bc},enumerable:!1,configurable:!0}),Object.defineProperty(e,"Corner",{get:function(){return or},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},hasAnchor:function(){return!1},isElementInContainer:function(){return!1},isFocused:function(){return!1},isRtl:function(){return!1},getInnerDimensions:function(){return{height:0,width:0}},getAnchorDimensions:function(){return null},getWindowDimensions:function(){return{height:0,width:0}},getBodyDimensions:function(){return{height:0,width:0}},getWindowScroll:function(){return{x:0,y:0}},setPosition:function(){},setMaxHeight:function(){},setTransformOrigin:function(){},saveFocus:function(){},restoreFocus:function(){},notifyClose:function(){},notifyClosing:function(){},notifyOpen:function(){},notifyOpening:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var i=e.cssClasses,s=i.ROOT,d=i.OPEN;if(!this.adapter.hasClass(s))throw new Error(s+" class required in root element.");this.adapter.hasClass(d)&&(this.isSurfaceOpen=!0)},e.prototype.destroy=function(){clearTimeout(this.openAnimationEndTimerId),clearTimeout(this.closeAnimationEndTimerId),cancelAnimationFrame(this.animationRequestId)},e.prototype.setAnchorCorner=function(i){this.anchorCorner=i},e.prototype.flipCornerHorizontally=function(){this.originCorner=this.originCorner^Tn.RIGHT},e.prototype.setAnchorMargin=function(i){this.anchorMargin.top=i.top||0,this.anchorMargin.right=i.right||0,this.anchorMargin.bottom=i.bottom||0,this.anchorMargin.left=i.left||0},e.prototype.setIsHoisted=function(i){this.isHoistedElement=i},e.prototype.setFixedPosition=function(i){this.isFixedPosition=i},e.prototype.isFixed=function(){return this.isFixedPosition},e.prototype.setAbsolutePosition=function(i,s){this.position.x=this.isFinite(i)?i:0,this.position.y=this.isFinite(s)?s:0},e.prototype.setIsHorizontallyCenteredOnViewport=function(i){this.isHorizontallyCenteredOnViewport=i},e.prototype.setQuickOpen=function(i){this.isQuickOpen=i},e.prototype.setMaxHeight=function(i){this.maxHeight=i},e.prototype.setOpenBottomBias=function(i){this.openBottomBias=i},e.prototype.isOpen=function(){return this.isSurfaceOpen},e.prototype.open=function(){var i=this;this.isSurfaceOpen||(this.adapter.notifyOpening(),this.adapter.saveFocus(),this.isQuickOpen?(this.isSurfaceOpen=!0,this.adapter.addClass(e.cssClasses.OPEN),this.dimensions=this.adapter.getInnerDimensions(),this.autoposition(),this.adapter.notifyOpen()):(this.adapter.addClass(e.cssClasses.ANIMATING_OPEN),this.animationRequestId=requestAnimationFrame(function(){i.dimensions=i.adapter.getInnerDimensions(),i.autoposition(),i.adapter.addClass(e.cssClasses.OPEN),i.openAnimationEndTimerId=setTimeout(function(){i.openAnimationEndTimerId=0,i.adapter.removeClass(e.cssClasses.ANIMATING_OPEN),i.adapter.notifyOpen()},Bc.TRANSITION_OPEN_DURATION)}),this.isSurfaceOpen=!0))},e.prototype.close=function(i){var s=this;if(i===void 0&&(i=!1),!!this.isSurfaceOpen){if(this.adapter.notifyClosing(),this.isQuickOpen){this.isSurfaceOpen=!1,i||this.maybeRestoreFocus(),this.adapter.removeClass(e.cssClasses.OPEN),this.adapter.removeClass(e.cssClasses.IS_OPEN_BELOW),this.adapter.notifyClose();return}this.adapter.addClass(e.cssClasses.ANIMATING_CLOSED),requestAnimationFrame(function(){s.adapter.removeClass(e.cssClasses.OPEN),s.adapter.removeClass(e.cssClasses.IS_OPEN_BELOW),s.closeAnimationEndTimerId=setTimeout(function(){s.closeAnimationEndTimerId=0,s.adapter.removeClass(e.cssClasses.ANIMATING_CLOSED),s.adapter.notifyClose()},Bc.TRANSITION_CLOSE_DURATION)}),this.isSurfaceOpen=!1,i||this.maybeRestoreFocus()}},e.prototype.handleBodyClick=function(i){var s=i.target;this.adapter.isElementInContainer(s)||this.close()},e.prototype.handleKeydown=function(i){var s=i.keyCode,d=i.key,A=d==="Escape"||s===27;A&&this.close()},e.prototype.autoposition=function(){var i;this.measurements=this.getAutoLayoutmeasurements();var s=this.getoriginCorner(),d=this.getMenuSurfaceMaxHeight(s),A=this.hasBit(s,Tn.BOTTOM)?"bottom":"top",p=this.hasBit(s,Tn.RIGHT)?"right":"left",g=this.getHorizontalOriginOffset(s),m=this.getVerticalOriginOffset(s),v=this.measurements,C=v.anchorSize,_=v.surfaceSize,B=(i={},i[p]=g,i[A]=m,i);C.width/_.width>Bc.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO&&(p="center"),(this.isHoistedElement||this.isFixedPosition)&&this.adjustPositionForHoistedElement(B),this.adapter.setTransformOrigin(p+" "+A),this.adapter.setPosition(B),this.adapter.setMaxHeight(d?d+"px":""),this.hasBit(s,Tn.BOTTOM)||this.adapter.addClass(e.cssClasses.IS_OPEN_BELOW)},e.prototype.getAutoLayoutmeasurements=function(){var i=this.adapter.getAnchorDimensions(),s=this.adapter.getBodyDimensions(),d=this.adapter.getWindowDimensions(),A=this.adapter.getWindowScroll();return i||(i={top:this.position.y,right:this.position.x,bottom:this.position.y,left:this.position.x,width:0,height:0}),{anchorSize:i,bodySize:s,surfaceSize:this.dimensions,viewportDistance:{top:i.top,right:d.width-i.right,bottom:d.height-i.bottom,left:i.left},viewportSize:d,windowScroll:A}},e.prototype.getoriginCorner=function(){var i=this.originCorner,s=this.measurements,d=s.viewportDistance,A=s.anchorSize,p=s.surfaceSize,g=e.numbers.MARGIN_TO_EDGE,m=this.hasBit(this.anchorCorner,Tn.BOTTOM),v,C;m?(v=d.top-g+this.anchorMargin.bottom,C=d.bottom-g-this.anchorMargin.bottom):(v=d.top-g+this.anchorMargin.top,C=d.bottom-g+A.height-this.anchorMargin.top);var _=C-p.height>0;!_&&v>C+this.openBottomBias&&(i=this.setBit(i,Tn.BOTTOM));var B=this.adapter.isRtl(),S=this.hasBit(this.anchorCorner,Tn.FLIP_RTL),N=this.hasBit(this.anchorCorner,Tn.RIGHT)||this.hasBit(i,Tn.RIGHT),j=!1;B&&S?j=!N:j=N;var oe,X;j?(oe=d.left+A.width+this.anchorMargin.right,X=d.right-this.anchorMargin.right):(oe=d.left+this.anchorMargin.left,X=d.right+A.width-this.anchorMargin.left);var le=oe-p.width>0,ye=X-p.width>0,xe=this.hasBit(i,Tn.FLIP_RTL)&&this.hasBit(i,Tn.RIGHT);return ye&&xe&&B||!le&&xe?i=this.unsetBit(i,Tn.RIGHT):(le&&j&&B||le&&!j&&N||!ye&&oe>=X)&&(i=this.setBit(i,Tn.RIGHT)),i},e.prototype.getMenuSurfaceMaxHeight=function(i){if(this.maxHeight>0)return this.maxHeight;var s=this.measurements.viewportDistance,d=0,A=this.hasBit(i,Tn.BOTTOM),p=this.hasBit(this.anchorCorner,Tn.BOTTOM),g=e.numbers.MARGIN_TO_EDGE;return A?(d=s.top+this.anchorMargin.top-g,p||(d+=this.measurements.anchorSize.height)):(d=s.bottom-this.anchorMargin.bottom+this.measurements.anchorSize.height-g,p&&(d-=this.measurements.anchorSize.height)),d},e.prototype.getHorizontalOriginOffset=function(i){var s=this.measurements.anchorSize,d=this.hasBit(i,Tn.RIGHT),A=this.hasBit(this.anchorCorner,Tn.RIGHT);if(d){var p=A?s.width-this.anchorMargin.left:this.anchorMargin.right;return this.isHoistedElement||this.isFixedPosition?p-(this.measurements.viewportSize.width-this.measurements.bodySize.width):p}return A?s.width-this.anchorMargin.right:this.anchorMargin.left},e.prototype.getVerticalOriginOffset=function(i){var s=this.measurements.anchorSize,d=this.hasBit(i,Tn.BOTTOM),A=this.hasBit(this.anchorCorner,Tn.BOTTOM),p=0;return d?p=A?s.height-this.anchorMargin.top:-this.anchorMargin.bottom:p=A?s.height+this.anchorMargin.bottom:this.anchorMargin.top,p},e.prototype.adjustPositionForHoistedElement=function(i){var s,d,A=this.measurements,p=A.windowScroll,g=A.viewportDistance,m=A.surfaceSize,v=A.viewportSize,C=Object.keys(i);try{for(var _=fs(C),B=_.next();!B.done;B=_.next()){var S=B.value,N=i[S]||0;if(this.isHorizontallyCenteredOnViewport&&(S==="left"||S==="right")){i[S]=(v.width-m.width)/2;continue}N+=g[S],this.isFixedPosition||(S==="top"?N+=p.y:S==="bottom"?N-=p.y:S==="left"?N+=p.x:N-=p.x),i[S]=N}}catch(j){s={error:j}}finally{try{B&&!B.done&&(d=_.return)&&d.call(_)}finally{if(s)throw s.error}}},e.prototype.maybeRestoreFocus=function(){var i=this,s=this.adapter.isFocused(),d=this.adapter.getOwnerDocument?this.adapter.getOwnerDocument():document,A=d.activeElement&&this.adapter.isElementInContainer(d.activeElement);(s||A)&&setTimeout(function(){i.adapter.restoreFocus()},Bc.TOUCH_EVENT_WAIT_MS)},e.prototype.hasBit=function(i,s){return Boolean(i&s)},e.prototype.setBit=function(i,s){return i|s},e.prototype.unsetBit=function(i,s){return i^s},e.prototype.isFinite=function(i){return typeof i=="number"&&isFinite(i)},e}(bl);const S2=Q2;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const R2={TOP_LEFT:or.TOP_LEFT,TOP_RIGHT:or.TOP_RIGHT,BOTTOM_LEFT:or.BOTTOM_LEFT,BOTTOM_RIGHT:or.BOTTOM_RIGHT,TOP_START:or.TOP_START,TOP_END:or.TOP_END,BOTTOM_START:or.BOTTOM_START,BOTTOM_END:or.BOTTOM_END};class Vn extends ed{constructor(){super(...arguments),this.mdcFoundationClass=S2,this.absolute=!1,this.fullwidth=!1,this.fixed=!1,this.x=null,this.y=null,this.quick=!1,this.open=!1,this.stayOpenOnBodyClick=!1,this.bitwiseCorner=or.TOP_START,this.previousMenuCorner=null,this.menuCorner="START",this.corner="TOP_START",this.styleTop="",this.styleLeft="",this.styleRight="",this.styleBottom="",this.styleMaxHeight="",this.styleTransformOrigin="",this.anchor=null,this.previouslyFocused=null,this.previousAnchor=null,this.onBodyClickBound=()=>{}}render(){const e={"mdc-menu-surface--fixed":this.fixed,"mdc-menu-surface--fullwidth":this.fullwidth},i={top:this.styleTop,left:this.styleLeft,right:this.styleRight,bottom:this.styleBottom,"max-height":this.styleMaxHeight,"transform-origin":this.styleTransformOrigin};return it` -
- -
`}createAdapter(){return Object.assign(Object.assign({},qv(this.mdcRoot)),{hasAnchor:()=>!!this.anchor,notifyClose:()=>{const e={bubbles:!0,composed:!0},i=new CustomEvent("closed",e);this.open=!1,this.mdcRoot.dispatchEvent(i)},notifyClosing:()=>{const e={bubbles:!0,composed:!0},i=new CustomEvent("closing",e);this.mdcRoot.dispatchEvent(i)},notifyOpen:()=>{const e={bubbles:!0,composed:!0},i=new CustomEvent("opened",e);this.open=!0,this.mdcRoot.dispatchEvent(i)},notifyOpening:()=>{const e={bubbles:!0,composed:!0},i=new CustomEvent("opening",e);this.mdcRoot.dispatchEvent(i)},isElementInContainer:()=>!1,isRtl:()=>this.mdcRoot?getComputedStyle(this.mdcRoot).direction==="rtl":!1,setTransformOrigin:e=>{!this.mdcRoot||(this.styleTransformOrigin=e)},isFocused:()=>eb(this),saveFocus:()=>{const e=zh(),i=e.length;i||(this.previouslyFocused=null),this.previouslyFocused=e[i-1]},restoreFocus:()=>{!this.previouslyFocused||"focus"in this.previouslyFocused&&this.previouslyFocused.focus()},getInnerDimensions:()=>{const e=this.mdcRoot;return e?{width:e.offsetWidth,height:e.offsetHeight}:{width:0,height:0}},getAnchorDimensions:()=>{const e=this.anchor;return e?e.getBoundingClientRect():null},getBodyDimensions:()=>({width:document.body.clientWidth,height:document.body.clientHeight}),getWindowDimensions:()=>({width:window.innerWidth,height:window.innerHeight}),getWindowScroll:()=>({x:window.pageXOffset,y:window.pageYOffset}),setPosition:e=>{!this.mdcRoot||(this.styleLeft="left"in e?`${e.left}px`:"",this.styleRight="right"in e?`${e.right}px`:"",this.styleTop="top"in e?`${e.top}px`:"",this.styleBottom="bottom"in e?`${e.bottom}px`:"")},setMaxHeight:async e=>{!this.mdcRoot||(this.styleMaxHeight=e,await this.updateComplete,this.styleMaxHeight=`var(--mdc-menu-max-height, ${e})`)}})}onKeydown(e){this.mdcFoundation&&this.mdcFoundation.handleKeydown(e)}onBodyClick(e){if(this.stayOpenOnBodyClick)return;e.composedPath().indexOf(this)===-1&&this.close()}registerBodyClick(){this.onBodyClickBound=this.onBodyClick.bind(this),document.body.addEventListener("click",this.onBodyClickBound,{passive:!0,capture:!0})}deregisterBodyClick(){document.body.removeEventListener("click",this.onBodyClickBound,{capture:!0})}close(){this.open=!1}show(){this.open=!0}}G([en(".mdc-menu-surface")],Vn.prototype,"mdcRoot",void 0);G([en("slot")],Vn.prototype,"slotElement",void 0);G([ge({type:Boolean}),ri(function(n){this.mdcFoundation&&!this.fixed&&this.mdcFoundation.setIsHoisted(n)})],Vn.prototype,"absolute",void 0);G([ge({type:Boolean})],Vn.prototype,"fullwidth",void 0);G([ge({type:Boolean}),ri(function(n){this.mdcFoundation&&!this.absolute&&this.mdcFoundation.setFixedPosition(n)})],Vn.prototype,"fixed",void 0);G([ge({type:Number}),ri(function(n){this.mdcFoundation&&this.y!==null&&n!==null&&(this.mdcFoundation.setAbsolutePosition(n,this.y),this.mdcFoundation.setAnchorMargin({left:n,top:this.y,right:-n,bottom:this.y}))})],Vn.prototype,"x",void 0);G([ge({type:Number}),ri(function(n){this.mdcFoundation&&this.x!==null&&n!==null&&(this.mdcFoundation.setAbsolutePosition(this.x,n),this.mdcFoundation.setAnchorMargin({left:this.x,top:n,right:-this.x,bottom:n}))})],Vn.prototype,"y",void 0);G([ge({type:Boolean}),ri(function(n){this.mdcFoundation&&this.mdcFoundation.setQuickOpen(n)})],Vn.prototype,"quick",void 0);G([ge({type:Boolean,reflect:!0}),ri(function(n,e){this.mdcFoundation&&(n?this.mdcFoundation.open():e!==void 0&&this.mdcFoundation.close())})],Vn.prototype,"open",void 0);G([ge({type:Boolean})],Vn.prototype,"stayOpenOnBodyClick",void 0);G([Ct(),ri(function(n){this.mdcFoundation&&(n?this.mdcFoundation.setAnchorCorner(n):this.mdcFoundation.setAnchorCorner(n))})],Vn.prototype,"bitwiseCorner",void 0);G([ge({type:String}),ri(function(n){if(this.mdcFoundation){const e=n==="START"||n==="END",i=this.previousMenuCorner===null,s=!i&&n!==this.previousMenuCorner;e&&(s||i&&n==="END")&&(this.bitwiseCorner=this.bitwiseCorner^Tn.RIGHT,this.mdcFoundation.flipCornerHorizontally(),this.previousMenuCorner=n)}})],Vn.prototype,"menuCorner",void 0);G([ge({type:String}),ri(function(n){if(this.mdcFoundation&&n){let e=R2[n];this.menuCorner==="END"&&(e=e^Tn.RIGHT),this.bitwiseCorner=e}})],Vn.prototype,"corner",void 0);G([Ct()],Vn.prototype,"styleTop",void 0);G([Ct()],Vn.prototype,"styleLeft",void 0);G([Ct()],Vn.prototype,"styleRight",void 0);G([Ct()],Vn.prototype,"styleBottom",void 0);G([Ct()],Vn.prototype,"styleMaxHeight",void 0);G([Ct()],Vn.prototype,"styleTransformOrigin",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const T2=Gn`.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;transition:opacity .03s linear,transform .12s cubic-bezier(0, 0, 0.2, 1),height 250ms cubic-bezier(0, 0, 0.2, 1);box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12);background-color:#fff;background-color:var(--mdc-theme-surface, #fff);color:#000;color:var(--mdc-theme-on-surface, #000);border-radius:4px;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0;transition:opacity .075s linear}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}:host(:not([open])){display:none}.mdc-menu-surface{z-index:8;z-index:var(--mdc-menu-z-index, 8);min-width:112px;min-width:var(--mdc-menu-min-width, 112px)}`;/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let th=class extends Vn{};th.styles=[T2];th=G([Jn("mwc-menu-surface")],th);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */class BA extends mi{set project(e){typeof e=="string"?requestAnimationFrame(()=>{var i;const s=this.getRootNode();this._project=(i=s.getElementById(e))!==null&&i!==void 0?i:void 0}):this._project=e}}G([ge()],BA.prototype,"project",null);G([Ct()],BA.prototype,"_project",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let zo=class extends BA{constructor(){super(...arguments),this.state="closed",this._postStateChangeRenderDone=!1}update(e){e.has("state")&&(this._postStateChangeRenderDone=!1),super.update(e)}render(){return it`
${this._surfaceContents}
`}async updated(){if(!this._postStateChangeRenderDone){if(this.state==="menu"){const e=this._menuList;e&&(await e.updateComplete,e.focusItemAtIndex(0))}else if(this.state==="rename"||this.state==="newfile"){const e=this._filenameInput;e&&(await e.updateComplete,e.focus(),this.state==="rename"&&e.setSelectionRange(0,e.value.lastIndexOf(".")))}this._postStateChangeRenderDone=!0}}get _surfaceContents(){switch(this.state){case"closed":return vn;case"menu":return this._menu;case"rename":return this._rename;case"newfile":return this._newFile}}get _menu(){return it` - - - Rename - - - - - - Delete - - - - - - `}get _rename(){return it` - -
- Cancel - Rename -
- `}get _newFile(){return it` - -
- Cancel - Create -
- `}_onSurfaceClosed(){this.state="closed"}_onClickCancel(){this._surface.close()}_onMenuAction(e){switch(e.detail.index){case 0:return this._onMenuSelectRename();case 1:return this._onMenuSelectDelete()}}_onMenuSelectRename(){this.state="rename"}_onMenuSelectDelete(){this._surface.close(),this._project&&this.filename&&this._project.deleteFile(this.filename)}_onFilenameInputChange(){this.requestUpdate()}get _filenameInputValid(){return!!(this._project&&this._filenameInput&&this._project.isValidNewFilename(this._filenameInput.value))}_onFilenameInputKeydown(e){var i;e.key==="Enter"&&((i=this._submitButton)===null||i===void 0?void 0:i.disabled)===!1&&(e.preventDefault(),this._submitButton.click())}_onSubmitRename(){var e;this._surface.close();const i=this.filename,s=(e=this._filenameInput)===null||e===void 0?void 0:e.value;this._project&&i&&s&&this._project.renameFile(i,s)}_onSubmitNewFile(){var e;this._surface.close();const i=(e=this._filenameInput)===null||e===void 0?void 0:e.value;this._project&&i&&(this._project.addFile(i),this.dispatchEvent(new CustomEvent("newFile",{detail:{filename:i}})))}};zo.styles=Gn` - mwc-menu-surface { - --mdc-theme-primary: var( - --playground-floating-controls-color, - var(--playground-highlight-color, #6200ee) - ); - } - - mwc-menu-surface.menu { - --mdc-typography-subtitle1-font-size: 13px; - --mdc-list-item-graphic-margin: 14px; - } - - mwc-list-item { - min-width: 100px; - height: 40px; - } - - mwc-menu-surface.rename > .wrapper, - mwc-menu-surface.newfile > .wrapper { - padding: 18px; - } - - .actions { - margin-top: 18px; - display: flex; - justify-content: flex-end; - } - - .actions > * { - margin-left: 12px; - } - `;G([ge({attribute:!1})],zo.prototype,"anchorElement",void 0);G([ge()],zo.prototype,"state",void 0);G([ge()],zo.prototype,"filename",void 0);G([en("mwc-menu-surface")],zo.prototype,"_surface",void 0);G([en(".menu-list")],zo.prototype,"_menuList",void 0);G([en(".filename-input")],zo.prototype,"_filenameInput",void 0);G([en(".submit-button")],zo.prototype,"_submitButton",void 0);zo=G([Jn("playground-file-system-controls")],zo);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let gs=class extends BA{constructor(){super(...arguments),this.editableFileSystem=!1,this._activeFileName="",this._activeFileIndex=0,this._onProjectFilesChanged=e=>{this._handleFilesChanged(e.projectLoaded)}}set editor(e){typeof e=="string"?requestAnimationFrame(()=>{var i;const s=this.getRootNode();this._editor=(i=s.getElementById(e))!==null&&i!==void 0?i:void 0}):this._editor=e}get _visibleFiles(){var e,i;return((i=(e=this._project)===null||e===void 0?void 0:e.files)!==null&&i!==void 0?i:[]).filter(({hidden:s})=>!s)}update(e){if(e.has("_project")){const i=e.get("_project");i&&i.removeEventListener("filesChanged",this._onProjectFilesChanged),this._project&&(this._handleFilesChanged(!0),this._project.addEventListener("filesChanged",this._onProjectFilesChanged))}e.has("_activeFileName")&&this._editor&&(this._editor.filename=this._activeFileName,this._setNewActiveFile()),super.update(e)}render(){return it` - - ${this._visibleFiles.map(({name:e,label:i})=>it` - ${i||e} - ${this.editableFileSystem?it` - - - - - `:vn} - `)} - - - ${this.editableFileSystem?it` - - - - - - - - - - `:vn} - `}_handleFilesChanged(e=!1){var i;if(e){const s=(i=this._visibleFiles.find(d=>d.selected))===null||i===void 0?void 0:i.name;s!==void 0&&(this._activeFileName=s)}this._setNewActiveFile(),this.requestUpdate()}_onTabchange(e){const i=e.detail.tab;if(!i)return;const s=i.dataset.filename,d=i.index;s!==this._activeFileName&&(this._activeFileName=s,this._activeFileIndex=d)}_onOpenMenu(e){const i=this._fileSystemControls;if(!!i){i.state="menu";for(const s of e.composedPath())if(s instanceof HTMLElement&&s.dataset.filename){i.filename=s.dataset.filename;break}i.anchorElement=e.target,e.stopPropagation()}}_onClickAddFile(e){const i=this._fileSystemControls;!i||(i.state="newfile",i.anchorElement=e.target)}_onNewFile(e){this._activeFileName=e.detail.filename}_setNewActiveFile(){if(this._activeFileName){const e=this._visibleFiles.findIndex(i=>i.name===this._activeFileName);if(e>=0){this._activeFileIndex=e;return}}for(let e=this._activeFileIndex;e>=0;e--){const i=this._visibleFiles[e];if(i&&!i.hidden){this._activeFileName=i.name;return}}this._activeFileIndex=0,this._activeFileName=""}};gs.styles=Gn` - :host { - display: flex; - font-size: var(--playground-tab-bar-font-size, 14px); - height: var(--playground-bar-height, 40px); - background: var(--playground-tab-bar-background, #eaeaea); - align-items: center; - } - - playground-internal-tab-bar { - height: var(--playground-bar-height, 40px); - } - - playground-internal-tab::part(button) { - box-sizing: border-box; - padding: 2px 24px 0 24px; - } - - playground-internal-tab { - color: var(--playground-tab-bar-foreground-color, #000); - } - - playground-internal-tab[active] { - color: var( - --playground-tab-bar-active-color, - var(--playground-highlight-color, #6200ee) - ); - background: var(--playground-tab-bar-active-background, transparent); - } - - :host([editable-file-system]) playground-internal-tab::part(button) { - /* The 24px menu button with opacity 0 now serves as padding-right. */ - padding-right: 0; - } - - .menu-button { - visibility: hidden; - --mdc-icon-button-size: 24px; - --mdc-icon-size: 16px; - } - - playground-internal-tab:hover > .menu-button, - playground-internal-tab:focus-within > .menu-button { - visibility: visible; - } - - mwc-icon-button { - color: var(--playground-tab-bar-foreground-color); - } - - .add-file-button { - margin: 0 4px; - opacity: 70%; - --mdc-icon-button-size: 24px; - --mdc-icon-size: 24px; - } - - .add-file-button:hover { - opacity: 1; - } - `;G([ge({type:Boolean,attribute:"editable-file-system",reflect:!0})],gs.prototype,"editableFileSystem",void 0);G([Ct()],gs.prototype,"_activeFileName",void 0);G([Ct()],gs.prototype,"_activeFileIndex",void 0);G([en("playground-file-system-controls")],gs.prototype,"_fileSystemControls",void 0);G([Ct()],gs.prototype,"_editor",void 0);G([ge()],gs.prototype,"editor",null);gs=G([Jn("playground-tab-bar")],gs);/* @license CodeMirror, copyright (c) by Marijn Haverbeke and others -Distributed under an MIT license: https://codemirror.net/LICENSE */var a0;function z2(n,e,i,s,d,A){this.name=n,this.tokenType=e,this.depth=i,this.parent=s,this.startLine=d,this.startPos=A}function ia(){this.stream=null,this.line=this.startPos=0,this.string=this.startLine="",this.copyInstance=null}a0=function(){var n=navigator.userAgent,e=navigator.platform,i=/gecko\/\d/i.test(n),s=/MSIE \d/.test(n),d=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(n),A=/Edge\/(\d+)/.exec(n),p=s||d||A,g=p&&(s?document.documentMode||6:+(A||d)[1]),m=!A&&/WebKit\//.test(n),v=m&&/Qt\/\d+\.\d+/.test(n),C=!A&&/Chrome\//.test(n),_=/Opera\//.test(n),B=/Apple Computer/.test(navigator.vendor),S=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(n),N=/PhantomJS/.test(n),j=B&&(/Mobile\/\w+/.test(n)||navigator.maxTouchPoints>2),oe=/Android/.test(n),X=j||oe||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(n),le=j||/Mac/.test(e),ye=/\bCrOS\b/.test(n),xe=/win/i.test(e),Pe=_&&n.match(/Version\/(\d*\.\d*)/);Pe&&(Pe=Number(Pe[1])),Pe&&Pe>=15&&(_=!1,m=!0);var Ie=le&&(v||_&&(Pe==null||Pe<12.11)),Ee=i||p&&g>=9;function Y(t){return RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var Q,M=function(t,r){var c=t.className,l=Y(r).exec(c);if(l){var u=c.slice(l.index+l[0].length);t.className=c.slice(0,l.index)+(u?l[1]+u:"")}};function W(t){for(var r=t.childNodes.length;r>0;--r)t.removeChild(t.firstChild);return t}function O(t,r){return W(t).appendChild(r)}function K(t,r,c,l){var u=document.createElement(t);if(c&&(u.className=c),l&&(u.style.cssText=l),typeof r=="string")u.appendChild(document.createTextNode(r));else if(r)for(var h=0;h=r)return b+(r-h);b+=x-h,b+=c-b%c,h=x+1}}j?st=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:p&&(st=function(t){try{t.select()}catch{}});var qe=function(){this.id=null,this.f=null,this.time=0,this.handler=ht(this.onTimeout,this)};function rt(t,r){for(var c=0;c=r)return l+Math.min(b,r-u);if(u+=h-l,l=h+1,(u+=c-u%c)>=r)return l}}var gt=[""];function et(t){for(;gt.length<=t;)gt.push(L(gt)+" ");return gt[t]}function L(t){return t[t.length-1]}function U(t,r){for(var c=[],l=0;l"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Ce.test(t))}function Z(t,r){return r?!!(r.source.indexOf("\\w")>-1&&ke(t))||r.test(t):ke(t)}function ie(t){for(var r in t)if(t.hasOwnProperty(r)&&t[r])return!1;return!0}var V=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function Ae(t){return t.charCodeAt(0)>=768&&V.test(t)}function Ue(t,r,c){for(;(c<0?r>0:rc?-1:1;;){if(r==c)return r;var u=(r+c)/2,h=l<0?Math.ceil(u):Math.floor(u);if(h==r)return t(h)?r:c;t(h)?c=h:r=h+l}}var Ge=null;function Ye(t,r,c){var l;Ge=null;for(var u=0;ur)return u;h.to==r&&(h.from!=h.to&&c=="before"?l=u:Ge=u),h.from==r&&(h.from!=h.to&&c!="before"?l=u:Ge=u)}return l!=null?l:Ge}var _t=function(){var t=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,r=/[stwN]/,c=/[LRr]/,l=/[Lb1n]/,u=/[1n]/;function h(b,x,w){this.level=b,this.from=x,this.to=w}return function(b,x){var w=x=="ltr"?"L":"R";if(b.length==0||x=="ltr"&&!t.test(b))return!1;for(var I,z=b.length,T=[],H=0;H-1&&(l[r]=u.slice(0,h).concat(u.slice(h+1)))}}}function rn(t,r){var c=Fn(t,r);if(c.length)for(var l=Array.prototype.slice.call(arguments,2),u=0;u0}function Mn(t){t.prototype.on=function(r,c){$e(this,r,c)},t.prototype.off=function(r,c){dt(this,r,c)}}function bn(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function Ki(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function da(t){return t.defaultPrevented!=null?t.defaultPrevented:t.returnValue==0}function _r(t){bn(t),Ki(t)}function vs(t){return t.target||t.srcElement}function Po(t){var r=t.which;return r==null&&(1&t.button?r=1:2&t.button?r=3:4&t.button&&(r=2)),le&&t.ctrlKey&&r==1&&(r=3),r}var di,bs,kA=function(){if(p&&g<9)return!1;var t=K("div");return"draggable"in t||"dragDrop"in t}();function wr(t){if(di==null){var r=K("span","\u200B");O(t,K("span",[r,document.createTextNode("x")])),t.firstChild.offsetHeight!=0&&(di=r.offsetWidth<=1&&r.offsetHeight>2&&!(p&&g<8))}var c=di?K("span","\u200B"):K("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return c.setAttribute("cm-text",""),c}function yl(t){if(bs!=null)return bs;var r=O(t,document.createTextNode("A\u062EA")),c=Q(r,0,1).getBoundingClientRect(),l=Q(r,1,2).getBoundingClientRect();return W(t),!(!c||c.left==c.right)&&(bs=l.right-c.right<3)}var ys,xs=function(t){return t.split(/\r\n?|\n/)},MA=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch{return!1}}:function(t){var r;try{r=t.ownerDocument.selection.createRange()}catch{}return!(!r||r.parentElement()!=t)&&r.compareEndPoints("StartToEnd",r)!=0},Ir="oncopy"in(ys=K("div"))||(ys.setAttribute("oncopy","return;"),typeof ys.oncopy=="function"),qi=null,Yi={},Jr={};function Vr(t,r){arguments.length>2&&(r.dependencies=Array.prototype.slice.call(arguments,2)),Yi[t]=r}function Cs(t){if(typeof t=="string"&&Jr.hasOwnProperty(t))t=Jr[t];else if(t&&typeof t.name=="string"&&Jr.hasOwnProperty(t.name)){var r=Jr[t.name];typeof r=="string"&&(r={name:r}),(t=fe(r,t)).name=r.name}else{if(typeof t=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Cs("application/xml");if(typeof t=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Cs("application/json")}return typeof t=="string"?{name:t}:t||{name:"null"}}function _s(t,r){r=Cs(r);var c=Yi[r.name];if(!c)return _s(t,"text/plain");var l=c(t,r);if(lr.hasOwnProperty(r.name)){var u=lr[r.name];for(var h in u)u.hasOwnProperty(h)&&(l.hasOwnProperty(h)&&(l["_"+h]=l[h]),l[h]=u[h])}if(l.name=r.name,r.helperType&&(l.helperType=r.helperType),r.modeProps)for(var b in r.modeProps)l[b]=r.modeProps[b];return l}var lr={};function Ar(t,r){Fe(r,lr.hasOwnProperty(t)?lr[t]:lr[t]={})}function Li(t,r){if(r===!0)return r;if(t.copyState)return t.copyState(r);var c={};for(var l in r){var u=r[l];u instanceof Array&&(u=u.concat([])),c[l]=u}return c}function ua(t,r){for(var c;t.innerMode&&(c=t.innerMode(r))&&c.mode!=t;)r=c.state,t=c.mode;return c||{mode:t,state:r}}function ws(t,r,c){return!t.startState||t.startState(r,c)}var xn=function(t,r,c){this.pos=this.start=0,this.string=t,this.tabSize=r||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=c};function Ke(t,r){if((r-=t.first)<0||r>=t.size)throw Error("There is no line "+(r+t.first)+" in the document.");for(var c=t;!c.lines;)for(var l=0;;++l){var u=c.children[l],h=u.chunkSize();if(r=t.first&&rc?E(c,Ke(t,c).text.length):function(l,u){var h=l.ch;return h==null||h>u?E(l.line,u):h<0?E(l.line,0):l}(r,Ke(t,r.line).text.length)}function Qn(t,r){for(var c=[],l=0;l=this.string.length},xn.prototype.sol=function(){return this.pos==this.lineStart},xn.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},xn.prototype.next=function(){if(this.posr},xn.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},xn.prototype.skipToEnd=function(){this.pos=this.string.length},xn.prototype.skipTo=function(t){var r=this.string.indexOf(t,this.pos);if(r>-1)return this.pos=r,!0},xn.prototype.backUp=function(t){this.pos-=t},xn.prototype.column=function(){return this.lastColumnPos0?null:(l&&r!==!1&&(this.pos+=l[0].length),l)}var u=function(h){return c?h.toLowerCase():h};if(u(this.string.substr(this.pos,t.length))==u(t))return r!==!1&&(this.pos+=t.length),!0},xn.prototype.current=function(){return this.string.slice(this.start,this.pos)},xn.prototype.hideFirstChars=function(t,r){this.lineStart+=t;try{return r()}finally{this.lineStart-=t}},xn.prototype.lookAhead=function(t){var r=this.lineOracle;return r&&r.lookAhead(t)},xn.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var Kn=function(t,r){this.state=t,this.lookAhead=r},Ci=function(t,r,c,l){this.state=r,this.doc=t,this.line=c,this.maxLookAhead=l||0,this.baseTokens=null,this.baseTokenPos=1};function QA(t,r,c,l){var u=[t.state.modeGen],h={};OA(t,r.text,t.doc.mode,c,function(I,z){return u.push(I,z)},h,l);for(var b=c.state,x=function(I){c.baseTokens=u;var z=t.state.overlays[I],T=1,H=0;c.state=!0,OA(t,r.text,z.mode,c,function(F,ee){for(var J=T;HF&&u.splice(T,1,F,u[T+1],ne),T+=2,H=Math.min(F,ne)}if(ee)if(z.opaque)u.splice(J,T-J,F,"overlay "+ee),T=J+2;else for(;Jt.options.maxHighlightLength&&Li(t.doc.mode,l.state),h=QA(t,r,l);u&&(l.state=u),r.stateAfter=l.save(!u),r.styles=h.styles,h.classes?r.styleClasses=h.classes:r.styleClasses&&(r.styleClasses=null),c===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return r.styles}function No(t,r,c){var l=t.doc,u=t.display;if(!l.mode.startState)return new Ci(l,!0,r);var h=function(w,I,z){for(var T,H,F=w.doc,ee=z?-1:I-(w.doc.mode.innerMode?1e3:100),J=I;J>ee;--J){if(J<=F.first)return F.first;var ne=Ke(F,J-1),de=ne.stateAfter;if(de&&(!z||J+(de instanceof Kn?de.lookAhead:0)<=F.modeFrontier))return J;var pe=De(ne.text,null,w.options.tabSize);(H==null||T>pe)&&(H=J-1,T=pe)}return H}(t,r,c),b=h>l.first&&Ke(l,h-1).stateAfter,x=b?Ci.fromSaved(l,b,h):new Ci(l,ws(l.mode),h);return l.iter(h,r,function(w){RA(t,w.text,x);var I=x.line;w.stateAfter=I==r-1||I%5==0||I>=u.viewFrom&&Ir.start)return h}throw Error("Mode "+t.name+" failed to advance stream.")}Ci.prototype.lookAhead=function(t){var r=this.doc.getLine(this.line+t);return r!=null&&t>this.maxLookAhead&&(this.maxLookAhead=t),r},Ci.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var r=this.baseTokens[this.baseTokenPos+1];return{type:r&&r.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},Ci.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Ci.fromSaved=function(t,r,c){return r instanceof Kn?new Ci(t,Li(t.mode,r.state),c,r.lookAhead):new Ci(t,Li(t.mode,r),c)},Ci.prototype.save=function(t){var r=t!==!1?Li(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Kn(r,this.maxLookAhead):r};var zA=function(t,r,c){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=r||null,this.state=c};function rd(t,r,c,l){var u,h,b=t.doc,x=b.mode,w=Ke(b,(r=Xe(b,r)).line),I=No(t,r.line,c),z=new xn(w.text,t.options.tabSize,I);for(l&&(h=[]);(l||z.post.options.maxHighlightLength?(x=!1,b&&RA(t,r,l,T.pos),T.pos=r.length,w=null):w=LA(Is(c,T,l.state,H),h),H){var F=H[0].name;F&&(w="m-"+(w?F+" "+w:F))}if(!x||z!=w){for(;I=Me:tt.to>Me);(Ne||(Ne=[])).push(new pa(Pt,tt.from,jt?null:tt.to))}}return Ne}(c,u,b),w=function(Be,Me,at){var Ne;if(Be)for(var lt=0;lt=Me:tt.to>Me)||tt.from==Me&&Pt.type=="bookmark"&&(!at||tt.marker.insertLeft)){var jt=tt.from==null||(Pt.inclusiveLeft?tt.from<=Me:tt.from0&&x)for(var be=0;ber)&&(!c||Cl(c,h.marker)<0)&&(c=h.marker)}return c}function jA(t,r,c,l,u){var h=Ke(t,r),b=qr&&h.markedSpans;if(b)for(var x=0;x=0&&T<=0||z<=0&&T>=0)&&(z<=0&&(w.marker.inclusiveRight&&u.inclusiveLeft?D(I.to,c)>=0:D(I.to,c)>0)||z>=0&&(w.marker.inclusiveRight&&u.inclusiveLeft?D(I.from,l)<=0:D(I.from,l)<0)))return!0}}}function Br(t){for(var r;r=sd(t);)t=r.find(-1,!0).line;return t}function HA(t,r){var c=Ke(t,r),l=Br(c);return c==l?r:Wt(l)}function ad(t,r){if(r>t.lastLine())return r;var c,l=Ke(t,r);if(!ho(t,l))return r;for(;c=_l(l);)l=c.find(1,!0).line;return Wt(l)+1}function ho(t,r){var c=qr&&r.markedSpans;if(c){for(var l=void 0,u=0;ur.maxLineLength&&(r.maxLineLength=u,r.maxLine=l)})}var Es=function(t,r,c){this.text=t,od(this,r),this.height=c?c(this):1};function gf(t){t.parent=null,NA(t)}Es.prototype.lineNo=function(){return Wt(this)},Mn(Es);var dn={},An={};function ld(t,r){if(!t||/^\s*$/.test(t))return null;var c=r.addModeClass?An:dn;return c[t]||(c[t]=t.replace(/\S+/g,"cm-$&"))}function Ad(t,r){var c=se("span",null,null,m?"padding-right: .1px":null),l={pre:se("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};r.measure={};for(var u=0;u<=(r.rest?r.rest.length:0);u++){var h=u?r.rest[u-1]:r.line,b=void 0;l.pos=0,l.addToken=vf,yl(t.display.measure)&&(b=mt(h,t.doc.direction))&&(l.addToken=bf(l.addToken,b)),l.map=[],dd(h,l,SA(t,h,r!=t.display.externalMeasured&&Wt(h))),h.styleClasses&&(h.styleClasses.bgClass&&(l.bgClass=Qe(h.styleClasses.bgClass,l.bgClass||"")),h.styleClasses.textClass&&(l.textClass=Qe(h.styleClasses.textClass,l.textClass||""))),l.map.length==0&&l.map.push(0,0,l.content.appendChild(wr(t.display.measure))),u==0?(r.measure.map=l.map,r.measure.cache={}):((r.measure.maps||(r.measure.maps=[])).push(l.map),(r.measure.caches||(r.measure.caches=[])).push({}))}if(m){var x=l.content.lastChild;(/\bcm-tab\b/.test(x.className)||x.querySelector&&x.querySelector(".cm-tab"))&&(l.content.className="cm-tab-wrap-hack")}return rn(t,"renderLine",t,r.line,l.pre),l.pre.className&&(l.textClass=Qe(l.pre.className,l.textClass||"")),l}function mf(t){var r=K("span","\u2022","cm-invalidchar");return r.title="\\u"+t.charCodeAt(0).toString(16),r.setAttribute("aria-label",r.title),r}function vf(t,r,c,l,u,h,b){if(r){var x,w=t.splitSpaces?function(Be,Me){if(Be.length>1&&!/ /.test(Be))return Be;for(var at=Me,Ne="",lt=0;ltI&&T.from<=I);H++);if(T.to>=z)return t(c,l,u,h,b,x,w);t(c,l.slice(0,T.to-I),u,h,null,x,w),h=null,l=l.slice(T.to-I),I=T.to}}}function cd(t,r,c,l){var u=!l&&c.widgetNode;u&&t.map.push(t.pos,t.pos+r,u),!l&&t.cm.display.input.needsContentAttribute&&(u||(u=t.content.appendChild(document.createElement("span"))),u.setAttribute("cm-marker",c.id)),u&&(t.cm.display.input.setUneditable(u),t.content.appendChild(u)),t.pos+=r,t.trailingSpace=!1}function dd(t,r,c){var l=t.markedSpans,u=t.text,h=0;if(l)for(var b,x,w,I,z,T,H,F=u.length,ee=0,J=1,ne="",de=0;;){if(de==ee){w=I=z=x="",H=null,T=null,de=1/0;for(var pe=[],be=void 0,Se=0;Seee||Me.collapsed&&Be.to==ee&&Be.from==ee)){if(Be.to!=null&&Be.to!=ee&&de>Be.to&&(de=Be.to,I=""),Me.className&&(w+=" "+Me.className),Me.css&&(x=(x?x+";":"")+Me.css),Me.startStyle&&Be.from==ee&&(z+=" "+Me.startStyle),Me.endStyle&&Be.to==de&&(be||(be=[])).push(Me.endStyle,Be.to),Me.title&&((H||(H={})).title=Me.title),Me.attributes)for(var at in Me.attributes)(H||(H={}))[at]=Me.attributes[at];Me.collapsed&&(!T||Cl(T.marker,Me)<0)&&(T=Be)}else Be.from>ee&&de>Be.from&&(de=Be.from)}if(be)for(var Ne=0;Ne=F)break;for(var tt=Math.min(F,de);;){if(ne){var Pt=ee+ne.length;if(!T){var jt=Pt>tt?ne.slice(0,tt-ee):ne;r.addToken(r,jt,b?b+w:w,z,ee+jt.length==de?I:"",x,H)}if(Pt>=tt){ne=ne.slice(tt-ee),ee=tt;break}ee=Pt,z=""}ne=u.slice(h,h=c[J++]),b=ld(c[J++],r.cm.options)}}else for(var wt=1;wtc)return{map:t.measure.maps[u],cache:t.measure.caches[u],before:!0}}function gd(t,r,c,l){return dr(t,Ms(t,r),c,l)}function XA(t,r){if(r>=t.display.viewFrom&&r=c.lineN&&r2&&H.push((J.bottom+ne.top)/2-I.top)}}H.push(I.bottom-I.top)}}(t,r.view,r.rect),r.hasHeights=!0),h=function(x,w,I,z){var T,H=md(w.map,I,z),F=H.node,ee=H.start,J=H.end,ne=H.collapse;if(F.nodeType==3){for(var de=0;de<4;de++){for(;ee&&Ae(w.line.text.charAt(H.coverStart+ee));)--ee;for(;H.coverStart+J1}(jt))return wt;var It=screen.logicalXDPI/screen.deviceXDPI,ut=screen.logicalYDPI/screen.deviceYDPI;return{left:wt.left*It,right:wt.right*It,top:wt.top*ut,bottom:wt.bottom*ut}}(x.display.measure,T))}else{var pe;ee>0&&(ne=z="right"),T=x.options.lineWrapping&&(pe=F.getClientRects()).length>1?pe[z=="right"?pe.length-1:0]:F.getBoundingClientRect()}if(p&&g<9&&!ee&&(!T||!T.left&&!T.right)){var be=F.parentNode.getClientRects()[0];T=be?{left:be.left,right:be.left+Ss(x.display),top:be.top,bottom:be.bottom}:Ho}for(var Se=T.top-w.rect.top,Be=T.bottom-w.rect.top,Me=(Se+Be)/2,at=w.view.measure.heights,Ne=0;Ner)&&(u=(h=w-x)-1,r>=w&&(b="right")),u!=null){if(l=t[I+2],x==w&&c==(l.insertLeft?"left":"right")&&(b=c),c=="left"&&u==0)for(;I&&t[I-2]==t[I-3]&&t[I-1].insertLeft;)l=t[2+(I-=3)],b="left";if(c=="right"&&u==w-x)for(;I=0&&(c=t[u]).left==c.right;u--);return c}function JA(t){if(t.measure&&(t.measure.cache={},t.measure.heights=null,t.rest))for(var r=0;r=l.text.length?(w=l.text.length,I="before"):w<=0&&(w=0,I="after"),!x)return b(I=="before"?w-1:w,I=="before");function z(ee,J,ne){return b(ne?ee-1:ee,x[J].level==1!=ne)}var T=Ye(x,w,I),H=Ge,F=z(w,T,I=="before");return H!=null&&(F.other=z(w,H,I!="before")),F}function kl(t,r){var c=0;r=Xe(t.doc,r),t.options.lineWrapping||(c=Ss(t.display)*r.ch);var l=Ke(t.doc,r.line),u=Yr(l)+jo(t.display);return{left:c,right:c,top:u,bottom:u+l.height}}function Zo(t,r,c,l,u){var h=E(t,r,c);return h.xRel=u,l&&(h.outside=l),h}function Ml(t,r,c){var l=t.doc;if((c+=t.display.viewOffset)<0)return Zo(l.first,0,null,-1,-1);var u=Oi(l,c),h=l.first+l.size-1;if(u>h)return Zo(l.first+l.size-1,Ke(l,h).text.length,null,1,1);r<0&&(r=0);for(var b=Ke(l,u);;){var x=xf(t,b,u,r,c),w=hf(b,x.ch+(x.xRel>0||x.outside>0?1:0));if(!w)return x;var I=w.find(1);if(I.line==u)return I;b=Ke(l,u=I.line)}}function KA(t,r,c,l){l-=ba(r);var u=r.text.length,h=Ze(function(b){return dr(t,c,b-1).bottom<=l},u,0);return{begin:h,end:u=Ze(function(b){return dr(t,c,b).top>l},h,u)}}function xd(t,r,c,l){return c||(c=Ms(t,r)),KA(t,r,c,Qs(t,r,dr(t,c,l),"line").top)}function qA(t,r,c,l){return!(t.bottom<=c)&&(t.top>c||(l?t.left:t.right)>r)}function xf(t,r,c,l,u){u-=Yr(r);var h=Ms(t,r),b=ba(r),x=0,w=r.text.length,I=!0,z=mt(r,t.doc.direction);if(z){var T=(t.options.lineWrapping?_f:Cf)(t,r,c,h,z,l,u);x=(I=T.level!=1)?T.from:T.to-1,w=I?T.to:T.from-1}var H,F,ee=null,J=null,ne=Ze(function(Be){var Me=dr(t,h,Be);return Me.top+=b,Me.bottom+=b,!!qA(Me,l,u,!1)&&(Me.top<=u&&Me.left<=l&&(ee=Be,J=Me),!0)},x,w),de=!1;if(J){var pe=l-J.left=Se.bottom?1:0}return Zo(c,ne=Ue(r.text,ne,1),F,de,l-H)}function Cf(t,r,c,l,u,h,b){var x=Ze(function(T){var H=u[T],F=H.level!=1;return qA(Cn(t,E(c,F?H.to:H.from,F?"before":"after"),"line",r,l),h,b,!0)},0,u.length-1),w=u[x];if(x>0){var I=w.level!=1,z=Cn(t,E(c,I?w.from:w.to,I?"after":"before"),"line",r,l);qA(z,h,b,!0)&&z.top>b&&(w=u[x-1])}return w}function _f(t,r,c,l,u,h,b){var x=KA(t,r,l,b),w=x.begin,I=x.end;/\s/.test(r.text.charAt(I-1))&&I--;for(var z=null,T=null,H=0;H=I||F.to<=w)){var ee=dr(t,l,F.level!=1?Math.min(I,F.to)-1:Math.max(w,F.from)).right,J=eeJ)&&(z=F,T=J)}}return z||(z=u[u.length-1]),z.fromI&&(z={from:z.from,to:I,level:z.level}),z}function ur(t){if(t.cachedTextHeight!=null)return t.cachedTextHeight;if(kr==null){kr=K("pre",null,"CodeMirror-line-like");for(var r=0;r<49;++r)kr.appendChild(document.createTextNode("x")),kr.appendChild(K("br"));kr.appendChild(document.createTextNode("x"))}O(t.measure,kr);var c=kr.offsetHeight/50;return c>3&&(t.cachedTextHeight=c),W(t.measure),c||1}function Ss(t){if(t.cachedCharWidth!=null)return t.cachedCharWidth;var r=K("span","xxxxxxxxxx"),c=K("pre",[r],"CodeMirror-line-like");O(t.measure,c);var l=r.getBoundingClientRect(),u=(l.right-l.left)/10;return u>2&&(t.cachedCharWidth=u),u||10}function YA(t){for(var r=t.display,c={},l={},u=r.gutters.clientLeft,h=r.gutters.firstChild,b=0;h;h=h.nextSibling,++b){var x=t.display.gutterSpecs[b].className;c[x]=h.offsetLeft+h.clientLeft+u,l[x]=h.clientWidth}return{fixedPos:xa(r),gutterTotalWidth:r.gutters.offsetWidth,gutterLeft:c,gutterWidth:l,wrapperWidth:r.wrapper.clientWidth}}function xa(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function ec(t){var r=ur(t.display),c=t.options.lineWrapping,l=c&&Math.max(5,t.display.scroller.clientWidth/Ss(t.display)-3);return function(u){if(ho(t.doc,u))return 0;var h=0;if(u.widgets)for(var b=0;b0&&(w=Ke(t.doc,I.line).text).length==I.ch){var z=De(w,w.length,t.options.tabSize)-w.length;I=E(I.line,Math.max(0,Math.round((h-un(t.display).left)/Ss(t.display))-z))}return I}function Go(t,r){if(r>=t.display.viewTo||(r-=t.display.viewFrom)<0)return null;for(var c=t.display.view,l=0;lr)&&(u.updateLineNumbers=r),t.curOp.viewChanged=!0,r>=u.viewTo)qr&&HA(t.doc,r)u.viewFrom?Fi(t):(u.viewFrom+=l,u.viewTo+=l);else if(r<=u.viewFrom&&c>=u.viewTo)Fi(t);else if(r<=u.viewFrom){var h=_i(t,c,c+l,1);h?(u.view=u.view.slice(h.index),u.viewFrom=h.lineN,u.viewTo+=l):Fi(t)}else if(c>=u.viewTo){var b=_i(t,r,r,-1);b?(u.view=u.view.slice(0,b.index),u.viewTo=b.lineN):Fi(t)}else{var x=_i(t,r,r,-1),w=_i(t,c,c+l,1);x&&w?(u.view=u.view.slice(0,x.index).concat(Ln(t,x.lineN,w.lineN)).concat(u.view.slice(w.index)),u.viewTo+=l):Fi(t)}var I=u.externalMeasured;I&&(c=u.lineN&&r=l.viewTo)){var h=l.view[Go(t,r)];if(h.node!=null){var b=h.changes||(h.changes=[]);rt(b,c)==-1&&b.push(c)}}}function Fi(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function _i(t,r,c,l){var u,h=Go(t,r),b=t.display.view;if(!qr||c==t.doc.first+t.doc.size)return{index:h,lineN:c};for(var x=t.display.viewFrom,w=0;w0){if(h==b.length-1)return null;u=x+b[h].size-r,h++}else u=x-r;r+=u,c+=u}for(;HA(t.doc,c)!=c;){if(h==(l<0?0:b.length-1))return null;c+=l*b[h-(l<0?1:0)].size,h+=l}return{index:h,lineN:c}}function tc(t){for(var r=t.display.view,c=0,l=0;l=t.display.viewTo||x.to().line0&&(u.style.width=h.right-h.left+"px")}if(l.other){var b=c.appendChild(K("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));b.style.display="",b.style.left=l.other.left+"px",b.style.top=l.other.top+"px",b.style.height=.85*(l.other.bottom-l.other.top)+"px"}}function Ql(t,r){return t.top-r.top||t.left-r.left}function wf(t,r,c){var l=t.display,u=t.doc,h=document.createDocumentFragment(),b=un(t.display),x=b.left,w=Math.max(l.sizerWidth,eo(t)-l.sizer.offsetLeft)-b.right,I=u.direction=="ltr";function z(be,Se,Be,Me){Se<0&&(Se=0),Se=Math.round(Se),Me=Math.round(Me),h.appendChild(K("div",null,"CodeMirror-selected","position: absolute; left: "+be+`px; - top: `+Se+"px; width: "+(Be==null?w-be:Be)+`px; - height: `+(Me-Se)+"px"))}function T(be,Se,Be){var Me,at,Ne=Ke(u,be),lt=Ne.text.length;function tt(wt,It){return ya(t,E(be,wt),"div",Ne,It)}function Pt(wt,It,ut){var sn=xd(t,Ne,null,wt),Vt=It=="ltr"==(ut=="after")?"left":"right";return tt(ut=="after"?sn.begin:sn.end-(/\s/.test(Ne.text.charAt(sn.end-1))?2:1),Vt)[Vt]}var jt=mt(Ne,u.direction);return function(wt,It,ut,sn){if(!wt)return sn(It,ut,"ltr",0);for(var Vt=!1,yt=0;ytIt||It==ut&&At.to==It)&&(sn(Math.max(At.from,It),Math.min(At.to,ut),At.level==1?"rtl":"ltr",yt),Vt=!0)}Vt||sn(It,ut,"ltr")}(jt,Se||0,Be==null?lt:Be,function(wt,It,ut,sn){var Vt=ut=="ltr",yt=tt(wt,Vt?"left":"right"),At=tt(It-1,Vt?"right":"left"),$t=Se==null&&wt==0,zt=Be==null&&It==lt,Wn=sn==0,qt=!jt||sn==jt.length-1;if(At.top-yt.top<=3){var jn=(I?zt:$t)&&qt,Dn=(I?$t:zt)&&Wn?x:(Vt?yt:At).left,hn=jn?w:(Vt?At:yt).right;z(Dn,yt.top,hn-Dn,yt.bottom)}else{var gn,Or,ni,Bi;Vt?(gn=I&&$t&&Wn?x:yt.left,Or=I?w:Pt(wt,ut,"before"),ni=I?x:Pt(It,ut,"after"),Bi=I&&zt&&qt?w:At.right):(gn=I?Pt(wt,ut,"before"):x,Or=!I&&$t&&Wn?w:yt.right,ni=!I&&zt&&qt?x:At.left,Bi=I?Pt(It,ut,"after"):w),z(gn,yt.top,Or-gn,yt.bottom),yt.bottom0?r.blinker=setInterval(function(){t.hasFocus()||Je(t),r.cursorDiv.style.visibility=(c=!c)?"":"hidden"},t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(r.cursorDiv.style.visibility="hidden")}}function te(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||ce(t))}function me(t){t.state.delayingBlurEvent=!0,setTimeout(function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&Je(t))},100)}function ce(t,r){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),t.options.readOnly!="nocursor"&&(t.state.focused||(rn(t,"focus",t,r),t.state.focused=!0,He(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),m&&setTimeout(function(){return t.display.input.reset(!0)},20)),t.display.input.receivedFocus()),vo(t))}function Je(t,r){t.state.delayingBlurEvent||(t.state.focused&&(rn(t,"blur",t,r),t.state.focused=!1,M(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout(function(){t.state.focused||(t.display.shift=!1)},150))}function vt(t){for(var r=t.display,c=r.lineDiv.offsetTop,l=Math.max(0,r.scroller.getBoundingClientRect().top),u=r.lineDiv.getBoundingClientRect().top,h=0,b=0;b.005||F<-.005)&&(ut.display.sizerWidth){var J=Math.ceil(z/Ss(t.display));J>t.display.maxLineLength&&(t.display.maxLineLength=J,t.display.maxLine=x.line,t.display.maxLineChanged=!0)}}}Math.abs(h)>2&&(r.scroller.scrollTop+=h)}function Xt(t){if(t.widgets)for(var r=0;r=b&&(h=Oi(r,Yr(Ke(r,w))-t.wrapper.clientHeight),b=w)}return{from:h,to:Math.max(b,h+1)}}function tn(t,r){var c=t.display,l=ur(t.display);r.top<0&&(r.top=0);var u=t.curOp&&t.curOp.scrollTop!=null?t.curOp.scrollTop:c.scroller.scrollTop,h=WA(t),b={};r.bottom-r.top>h&&(r.bottom=r.top+h);var x=t.doc.height+va(c),w=r.topx-l;if(r.topu+h){var z=Math.min(r.top,(I?x:r.bottom)-h);z!=u&&(b.scrollTop=z)}var T=t.options.fixedGutter?0:c.gutters.offsetWidth,H=t.curOp&&t.curOp.scrollLeft!=null?t.curOp.scrollLeft:c.scroller.scrollLeft-T,F=eo(t)-c.gutters.offsetWidth,ee=r.right-r.left>F;return ee&&(r.right=r.left+F),r.left<10?b.scrollLeft=0:r.leftF+H-3&&(b.scrollLeft=r.right+(ee?0:10)-F),b}function _a(t,r){r!=null&&(Uo(t),t.curOp.scrollTop=(t.curOp.scrollTop==null?t.doc.scrollTop:t.curOp.scrollTop)+r)}function Rs(t){Uo(t);var r=t.getCursor();t.curOp.scrollToPos={from:r,to:r,margin:t.options.cursorScrollMargin}}function si(t,r,c){r==null&&c==null||Uo(t),r!=null&&(t.curOp.scrollLeft=r),c!=null&&(t.curOp.scrollTop=c)}function Uo(t){var r=t.curOp.scrollToPos;r&&(t.curOp.scrollToPos=null,wd(t,kl(t,r.from),kl(t,r.to),r.margin))}function wd(t,r,c,l){var u=tn(t,{left:Math.min(r.left,c.left),top:Math.min(r.top,c.top)-l,right:Math.max(r.right,c.right),bottom:Math.max(r.bottom,c.bottom)+l});si(t,u.scrollLeft,u.scrollTop)}function Sr(t,r){Math.abs(t.doc.scrollTop-r)<2||(i||Ba(t,{top:r}),wa(t,r,!0),i&&Ba(t),Ia(t,100))}function wa(t,r,c){r=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,r)),(t.display.scroller.scrollTop!=r||c)&&(t.doc.scrollTop=r,t.display.scrollbars.setScrollTop(r),t.display.scroller.scrollTop!=r&&(t.display.scroller.scrollTop=r))}function Rr(t,r,c,l){r=Math.max(0,Math.min(r,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(c?r==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-r)<2)&&!l||(t.doc.scrollLeft=r,Sd(t),t.display.scroller.scrollLeft!=r&&(t.display.scroller.scrollLeft=r),t.display.scrollbars.setScrollLeft(r))}function Ht(t){var r=t.display,c=r.gutters.offsetWidth,l=Math.round(t.doc.height+va(t.display));return{clientHeight:r.scroller.clientHeight,viewHeight:r.wrapper.clientHeight,scrollWidth:r.scroller.scrollWidth,clientWidth:r.scroller.clientWidth,viewWidth:r.wrapper.clientWidth,barLeft:t.options.fixedGutter?c:0,docHeight:l,scrollHeight:l+qn(t)+r.barHeight,nativeBarWidth:r.nativeBarWidth,gutterWidth:c}}var Wo=function(t,r,c){this.cm=c;var l=this.vert=K("div",[K("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),u=this.horiz=K("div",[K("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");l.tabIndex=u.tabIndex=-1,t(l),t(u),$e(l,"scroll",function(){l.clientHeight&&r(l.scrollTop,"vertical")}),$e(u,"scroll",function(){u.clientWidth&&r(u.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,p&&g<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Wo.prototype.update=function(t){var r=t.scrollWidth>t.clientWidth+1,c=t.scrollHeight>t.clientHeight+1,l=t.nativeBarWidth;if(c){this.vert.style.display="block",this.vert.style.bottom=r?l+"px":"0";var u=t.viewHeight-(r?l:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+u)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(r){this.horiz.style.display="block",this.horiz.style.right=c?l+"px":"0",this.horiz.style.left=t.barLeft+"px";var h=t.viewWidth-t.barLeft-(c?l:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+h)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(l==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:c?l:0,bottom:r?l:0}},Wo.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Wo.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Wo.prototype.zeroWidthHack=function(){var t=le&&!S?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new qe,this.disableVert=new qe},Wo.prototype.enableZeroWidthBar=function(t,r,c){t.style.pointerEvents="auto",r.set(1e3,function l(){var u=t.getBoundingClientRect();(c=="vert"?document.elementFromPoint(u.right-1,(u.top+u.bottom)/2):document.elementFromPoint((u.right+u.left)/2,u.bottom-1))!=t?t.style.pointerEvents="none":r.set(1e3,l)})},Wo.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var Ts=function(){};function to(t,r){r||(r=Ht(t));var c=t.display.barWidth,l=t.display.barHeight;Id(t,r);for(var u=0;u<4&&c!=t.display.barWidth||l!=t.display.barHeight;u++)c!=t.display.barWidth&&t.options.lineWrapping&&vt(t),Id(t,Ht(t)),c=t.display.barWidth,l=t.display.barHeight}function Id(t,r){var c=t.display,l=c.scrollbars.update(r);c.sizer.style.paddingRight=(c.barWidth=l.right)+"px",c.sizer.style.paddingBottom=(c.barHeight=l.bottom)+"px",c.heightForcer.style.borderBottom=l.bottom+"px solid transparent",l.right&&l.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=l.bottom+"px",c.scrollbarFiller.style.width=l.right+"px"):c.scrollbarFiller.style.display="",l.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=l.bottom+"px",c.gutterFiller.style.width=r.gutterWidth+"px"):c.gutterFiller.style.display=""}Ts.prototype.update=function(){return{bottom:0,right:0}},Ts.prototype.setScrollLeft=function(){},Ts.prototype.setScrollTop=function(){},Ts.prototype.clear=function(){};var Ed={native:Wo,null:Ts};function Bd(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&M(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new Ed[t.options.scrollbarStyle](function(r){t.display.wrapper.insertBefore(r,t.display.scrollbarFiller),$e(r,"mousedown",function(){t.state.focused&&setTimeout(function(){return t.display.input.focus()},0)}),r.setAttribute("cm-not-content","true")},function(r,c){c=="horizontal"?Rr(t,r):Sr(t,r)},t),t.display.scrollbars.addClass&&He(t.display.wrapper,t.display.scrollbars.addClass)}var Sl=0;function wi(t){var r;t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Sl,markArrays:null},r=t.curOp,go?go.ops.push(r):r.ownsGroup=go={ops:[r],delayedCallbacks:[]}}function Tr(t){var r=t.curOp;r&&function(c,l){var u=c.ownsGroup;if(u)try{(function(h){var b=h.delayedCallbacks,x=0;do{for(;x=c.viewTo)||c.maxLineChanged&&r.options.lineWrapping,t.update=t.mustUpdate&&new zl(r,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Rl(t){t.updatedDisplay=t.mustUpdate&&zs(t.cm,t.update)}function Md(t){var r=t.cm,c=r.display;t.updatedDisplay&&vt(r),t.barMeasure=Ht(r),c.maxLineChanged&&!r.options.lineWrapping&&(t.adjustWidthTo=gd(r,c.maxLine,c.maxLine.text.length).left+3,r.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+t.adjustWidthTo+qn(r)+r.display.barWidth),t.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+t.adjustWidthTo-eo(r))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=c.input.prepareSelection())}function Qd(t){var r=t.cm;t.adjustWidthTo!=null&&(r.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft1&&(J=!0)),pe.scrollLeft!=null&&(Rr(I,pe.scrollLeft),Math.abs(I.doc.scrollLeft-Se)>1&&(J=!0)),!J)break}return F}(r,Xe(l,t.scrollToPos.from),Xe(l,t.scrollToPos.to),t.scrollToPos.margin);(function(I,z){if(!Jt(I,"scrollCursorIntoView")){var T=I.display,H=T.sizer.getBoundingClientRect(),F=null;if(z.top+H.top<0?F=!0:z.bottom+H.top>(window.innerHeight||document.documentElement.clientHeight)&&(F=!1),F!=null&&!N){var ee=K("div","\u200B",null,`position: absolute; - top: `+(z.top-T.viewOffset-jo(I.display))+`px; - height: `+(z.bottom-z.top+qn(I)+T.barHeight)+`px; - left: `+z.left+"px; width: "+Math.max(2,z.right-z.left)+"px;");I.display.lineSpace.appendChild(ee),ee.scrollIntoView(F),I.display.lineSpace.removeChild(ee)}}})(r,u)}var h=t.maybeHiddenMarkers,b=t.maybeUnhiddenMarkers;if(h)for(var x=0;x=t.display.viewTo)){var c=+new Date+t.options.workTime,l=No(t,r.highlightFrontier),u=[];r.iter(l.line,Math.min(r.first+r.size,t.display.viewTo+500),function(h){if(l.line>=t.display.viewFrom){var b=h.styles,x=h.text.length>t.options.maxHighlightLength?Li(r.mode,l.state):null,w=QA(t,h,l,!0);x&&(l.state=x),h.styles=w.styles;var I=h.styleClasses,z=w.classes;z?h.styleClasses=z:I&&(h.styleClasses=null);for(var T=!b||b.length!=h.styles.length||I!=z&&(!I||!z||I.bgClass!=z.bgClass||I.textClass!=z.textClass),H=0;!T&&Hc)return Ia(t,t.options.workDelay),!0}),r.highlightFrontier=l.line,r.modeFrontier=Math.max(r.modeFrontier,l.line),u.length&&fi(t,function(){for(var h=0;h=c.viewFrom&&r.visible.to<=c.viewTo&&(c.updateLineNumbers==null||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&tc(t)==0)return!1;Rd(t)&&(Fi(t),r.dims=YA(t));var u=l.first+l.size,h=Math.max(r.visible.from-t.options.viewportMargin,l.first),b=Math.min(u,r.visible.to+t.options.viewportMargin);c.viewFromb&&c.viewTo-b<20&&(b=Math.min(u,c.viewTo)),qr&&(h=HA(t.doc,h),b=ad(t.doc,b));var x=h!=c.viewFrom||b!=c.viewTo||c.lastWrapHeight!=r.wrapperHeight||c.lastWrapWidth!=r.wrapperWidth;(function(z,T,H){var F=z.display;F.view.length==0||T>=F.viewTo||H<=F.viewFrom?(F.view=Ln(z,T,H),F.viewFrom=T):(F.viewFrom>T?F.view=Ln(z,T,F.viewFrom).concat(F.view):F.viewFromH&&(F.view=F.view.slice(0,Go(z,H)))),F.viewTo=H})(t,h,b),c.viewOffset=Yr(Ke(t.doc,c.viewFrom)),t.display.mover.style.top=c.viewOffset+"px";var w=tc(t);if(!x&&w==0&&!r.force&&c.renderedView==c.view&&(c.updateLineNumbers==null||c.updateLineNumbers>=c.viewTo))return!1;var I=function(z){if(z.hasFocus())return null;var T=ze();if(!T||!Oe(z.display.lineDiv,T))return null;var H={activeElt:T};if(window.getSelection){var F=window.getSelection();F.anchorNode&&F.extend&&Oe(z.display.lineDiv,F.anchorNode)&&(H.anchorNode=F.anchorNode,H.anchorOffset=F.anchorOffset,H.focusNode=F.focusNode,H.focusOffset=F.focusOffset)}return H}(t);return w>4&&(c.lineDiv.style.display="none"),function(z,T,H){var F=z.display,ee=z.options.lineNumbers,J=F.lineDiv,ne=J.firstChild;function de(Ne){var lt=Ne.nextSibling;return m&&le&&z.display.currentWheelTarget==Ne?Ne.style.display="none":Ne.parentNode.removeChild(Ne),lt}for(var pe=F.view,be=F.viewFrom,Se=0;Se-1&&(Me=!1),Pi(z,Be,be,H)),Me&&(W(Be.lineNumber),Be.lineNumber.appendChild(document.createTextNode(Kr(z.options,be)))),ne=Be.node.nextSibling}else{var at=Di(z,Be,be,H);J.insertBefore(at,ne)}be+=Be.size}for(;ne;)ne=de(ne)}(t,c.updateLineNumbers,r.dims),w>4&&(c.lineDiv.style.display=""),c.renderedView=c.view,function(z){if(z&&z.activeElt&&z.activeElt!=ze()&&(z.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(z.activeElt.nodeName)&&z.anchorNode&&Oe(document.body,z.anchorNode)&&Oe(document.body,z.focusNode))){var T=window.getSelection(),H=document.createRange();H.setEnd(z.anchorNode,z.anchorOffset),H.collapse(!1),T.removeAllRanges(),T.addRange(H),T.extend(z.focusNode,z.focusOffset)}}(I),W(c.cursorDiv),W(c.selectionDiv),c.gutters.style.height=c.sizer.style.minHeight=0,x&&(c.lastWrapHeight=r.wrapperHeight,c.lastWrapWidth=r.wrapperWidth,Ia(t,400)),c.updateLineNumbers=null,!0}function Ea(t,r){for(var c=r.viewport,l=!0;;l=!1){if(l&&t.options.lineWrapping&&r.oldDisplayWidth!=eo(t))l&&(r.visible=En(t.display,t.doc,c));else if(c&&c.top!=null&&(c={top:Math.min(t.doc.height+va(t.display)-WA(t),c.top)}),r.visible=En(t.display,t.doc,c),r.visible.from>=t.display.viewFrom&&r.visible.to<=t.display.viewTo)break;if(!zs(t,r))break;vt(t);var u=Ht(t);Ca(t),to(t,u),Ll(t,u),r.force=!1}r.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(r.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function Ba(t,r){var c=new zl(t,r);if(zs(t,c)){vt(t),Ea(t,c);var l=Ht(t);Ca(t),to(t,l),Ll(t,l),c.finish()}}function nc(t){var r=t.gutters.offsetWidth;t.sizer.style.marginLeft=r+"px",On(t,"gutterChanged",t)}function Ll(t,r){t.display.sizer.style.minHeight=r.docHeight+"px",t.display.heightForcer.style.top=r.docHeight+"px",t.display.gutters.style.height=r.docHeight+t.display.barHeight+qn(t)+"px"}function Sd(t){var r=t.display,c=r.view;if(r.alignWidgets||r.gutters.firstChild&&t.options.fixedGutter){for(var l=xa(r)-r.scroller.scrollLeft+t.doc.scrollLeft,u=r.gutters.offsetWidth,h=l+"px",b=0;bb.clientWidth,w=b.scrollHeight>b.clientHeight;if(l&&x||u&&w){if(u&&le&&m){e:for(var I=r.target,z=h.view;I!=b;I=I.parentNode)for(var T=0;T=0&&D(t,l.to())<=0)return c}return-1};var Dt=function(t,r){this.anchor=t,this.head=r};function pi(t,r,c){var l=t&&t.options.selectionsMayTouch,u=r[c];r.sort(function(H,F){return D(H.from(),F.from())}),c=rt(r,u);for(var h=1;h0:w>=0){var I=bt(x.from(),b.from()),z=Ve(x.to(),b.to()),T=x.empty()?b.from()==b.head:x.from()==x.head;h<=c&&--c,r.splice(--h,2,new Dt(T?z:I,T?I:z))}}return new Un(r,c)}function fr(t,r){return new Un([new Dt(t,r||t)],0)}function Hi(t){return t.text?E(t.from.line+t.text.length-1,L(t.text).length+(t.text.length==1?t.from.ch:0)):t.to}function Td(t,r){if(D(t,r.from)<0)return t;if(D(t,r.to)<=0)return Hi(r);var c=t.line+r.text.length-(r.to.line-r.from.line)-1,l=t.ch;return t.line==r.to.line&&(l+=Hi(r).ch-r.to.ch),E(c,l)}function ic(t,r){for(var c=[],l=0;l1&&t.remove(x.line+1,ee-1),t.insert(x.line+1,de)}On(t,"change",t,r)}function no(t,r,c){(function l(u,h,b){if(u.linked)for(var x=0;xx-(t.cm?t.cm.options.historyEventDelay:500)||r.origin.charAt(0)=="*"))&&(h=function(I,z){return z?(Ot(I.done),L(I.done)):I.done.length&&!L(I.done).ranges?L(I.done):I.done.length>1&&!I.done[I.done.length-2].ranges?(I.done.pop(),L(I.done)):void 0}(u,u.lastOp==l)))b=L(h.changes),D(r.from,r.to)==0&&D(r.from,b.to)==0?b.to=Hi(r):h.changes.push(Ii(t,r));else{var w=L(u.done);for(w&&w.ranges||Dl(t.sel,u.done),h={changes:[Ii(t,r)],generation:u.generation},u.done.push(h);u.done.length>u.undoDepth;)u.done.shift(),u.done[0].ranges||u.done.shift()}u.done.push(c),u.generation=++u.maxGeneration,u.lastModTime=u.lastSelTime=x,u.lastOp=u.lastSelOp=l,u.lastOrigin=u.lastSelOrigin=r.origin,b||rn(t,"historyAdded")}function Dl(t,r){var c=L(r);c&&c.ranges&&c.equals(t)||r.push(t)}function Od(t,r,c,l){var u=r["spans_"+t.id],h=0;t.iter(Math.max(t.first,c),Math.min(t.first+t.size,l),function(b){b.markedSpans&&((u||(u=r["spans_"+t.id]={}))[h]=b.markedSpans),++h})}function Ko(t){if(!t)return null;for(var r,c=0;c-1&&(L(x)[T]=I[T],delete I[T])}}}return l}function oc(t,r,c,l){if(l){var u=t.anchor;if(c){var h=D(r,u)<0;h!=D(c,u)<0?(u=r,r=c):h!=D(r,c)<0&&(r=c)}return new Dt(u,r)}return new Dt(c||r,r)}function Nl(t,r,c,l,u){u==null&&(u=t.cm&&(t.cm.display.shift||t.extend)),ei(t,new Un([oc(t.sel.primary(),r,c,u)],0),l)}function Dd(t,r,c){for(var l=[],u=t.cm&&(t.cm.display.shift||t.extend),h=0;h=r.ch:x.to>r.ch))){if(u&&(rn(w,"beforeCursorEnter"),w.explicitlyCleared)){if(h.markedSpans){--b;continue}break}if(!w.atomic)continue;if(c){var T=w.find(l<0?1:-1),H=void 0;if((l<0?z:I)&&(T=$d(t,T,-l,T&&T.line==r.line?h:null)),T&&T.line==r.line&&(H=D(T,c))&&(l<0?H<0:H>0))return Os(t,T,r,l,u)}var F=w.find(l<0?-1:1);return(l<0?I:z)&&(F=$d(t,F,l,F.line==r.line?h:null)),F?Os(t,F,r,l,u):null}}return r}function jl(t,r,c,l,u){var h=l||1;return Os(t,r,c,h,u)||!u&&Os(t,r,c,h,!0)||Os(t,r,c,-h,u)||!u&&Os(t,r,c,-h,!0)||(t.cantEdit=!0,E(t.first,0))}function $d(t,r,c,l){return c<0&&r.ch==0?r.line>t.first?Xe(t,E(r.line-1)):null:c>0&&r.ch==(l||Ke(t,r.line)).text.length?r.line0)){var J=[F,1],ne=D(ee.from,H.from),de=D(ee.to,H.to);(ne<0||!T.inclusiveLeft&&!ne)&&J.push({from:ee.from,to:H.from}),(de>0||!T.inclusiveRight&&!de)&&J.push({from:H.to,to:ee.to}),I.splice.apply(I,J),F+=J.length-3}}return I}(t,r.from,r.to);if(l)for(var u=l.length-1;u>=0;--u)Gd(t,{from:l[u].from,to:l[u].to,text:u?[""]:r.text,origin:r.origin});else Gd(t,r)}}function Gd(t,r){if(r.text.length!=1||r.text[0]!=""||D(r.from,r.to)!=0){var c=ic(t,r);Ld(t,r,c,t.cm?t.cm.curOp.id:NaN),Ta(t,r,c,po(t,r));var l=[];no(t,function(u,h){h||rt(l,u.history)!=-1||(sc(u.history,r),l.push(u.history)),Ta(u,r,null,po(u,r))})}}function Ei(t,r,c){var l=t.cm&&t.cm.state.suppressEdits;if(!l||c){for(var u,h=t.history,b=t.sel,x=r=="undo"?h.done:h.undone,w=r=="undo"?h.undone:h.done,I=0;I=0;--F){var ee=H(F);if(ee)return ee.v}}}}function Ud(t,r){if(r!=0&&(t.first+=r,t.sel=new Un(U(t.sel.ranges,function(u){return new Dt(E(u.anchor.line+r,u.anchor.ch),E(u.head.line+r,u.head.ch))}),t.sel.primIndex),t.cm)){ui(t.cm,t.first,t.first-r,r);for(var c=t.cm.display,l=c.viewFrom;lt.lastLine())){if(r.from.lineh&&(r={from:r.from,to:E(h,Ke(t,h).text.length),text:[r.text[0]],origin:r.origin}),r.removed=Er(t,r.from,r.to),c||(c=ic(t,r)),t.cm?function(b,x,w){var I=b.doc,z=b.display,T=x.from,H=x.to,F=!1,ee=T.line;b.options.lineWrapping||(ee=Wt(Br(Ke(I,T.line))),I.iter(ee,H.line+1,function(be){if(be==z.maxLine)return F=!0,!0})),I.sel.contains(x.from,x.to)>-1&&zi(b),Xo(I,x,w,ec(b)),b.options.lineWrapping||(I.iter(ee,T.line+x.text.length,function(be){var Se=wl(be);Se>z.maxLineLength&&(z.maxLine=be,z.maxLineLength=Se,z.maxLineChanged=!0,F=!1)}),F&&(b.curOp.updateMaxLine=!0)),function(be,Se){if(be.modeFrontier=Math.min(be.modeFrontier,Se),!(be.highlightFrontierBe;Me--){var at=Ke(be,Me).stateAfter;if(at&&(!(at instanceof Kn)||Me+at.lookAhead1||!(this.children[0]instanceof za))){var x=[];this.collapse(x),this.children=[new za(x)],this.children[0].parent=this}},collapse:function(t){for(var r=0;r50){for(var b=u.lines.length%25+25,x=b;x10);t.parent.maybeSpill()}},iterN:function(t,r,c){for(var l=0;l0||b==0&&h.clearWhenEmpty!==!1)return h;if(h.replacedWith&&(h.collapsed=!0,h.widgetNode=se("span",[h.replacedWith],"CodeMirror-widget"),l.handleMouseEvents||h.widgetNode.setAttribute("cm-ignore-events","true"),l.insertLeft&&(h.widgetNode.insertLeft=!0)),h.collapsed){if(jA(t,r.line,r,c,h)||r.line!=c.line&&jA(t,c.line,r,c,h))throw Error("Inserting collapsed marker partially overlapping an existing one");qr=!0}h.addToHistory&&Ld(t,{from:r,to:c,origin:"markText"},t.sel,NaN);var x,w=r.line,I=t.cm;if(t.iter(w,c.line+1,function(T){I&&h.collapsed&&!I.options.lineWrapping&&Br(T)==I.display.maxLine&&(x=!0),h.collapsed&&w!=r.line&&xi(T,0),function(H,F,ee){var J=ee&&window.WeakSet&&(ee.markedSpans||(ee.markedSpans=new WeakSet));J&&J.has(H.markedSpans)?H.markedSpans.push(F):(H.markedSpans=H.markedSpans?H.markedSpans.concat([F]):[F],J&&J.add(H.markedSpans)),F.marker.attachLine(H)}(T,new pa(h,w==r.line?r.ch:null,w==c.line?c.ch:null),t.cm&&t.cm.curOp),++w}),h.collapsed&&t.iter(r.line,c.line+1,function(T){ho(t,T)&&xi(T,0)}),h.clearOnEnter&&$e(h,"beforeCursorEnter",function(){return h.clear()}),h.readOnly&&(xl=!0,(t.history.done.length||t.history.undone.length)&&t.clearHistory()),h.collapsed&&(h.id=++Oa,h.atomic=!0),I){if(x&&(I.curOp.updateMaxLine=!0),h.collapsed)ui(I,r.line,c.line+1);else if(h.className||h.startStyle||h.endStyle||h.css||h.attributes||h.title)for(var z=r.line;z<=c.line;z++)mo(I,z,"text");h.atomic&&zr(I.doc),On(I,"markerAdded",I,h)}return h}yo.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,r=t&&!t.curOp;if(r&&wi(t),Ut(this,"clear")){var c=this.find();c&&On(this,"clear",c.from,c.to)}for(var l=null,u=null,h=0;ht.display.maxLineLength&&(t.display.maxLine=I,t.display.maxLineLength=z,t.display.maxLineChanged=!0)}l!=null&&t&&this.collapsed&&ui(t,l,u+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&zr(t.doc)),t&&On(t,"markerCleared",t,this,l,u),r&&Tr(t),this.parent&&this.parent.clear()}},yo.prototype.find=function(t,r){var c,l;t==null&&this.type=="bookmark"&&(t=1);for(var u=0;u=0;w--)Ps(this,l[w]);x?Fd(this,x):this.cm&&Rs(this.cm)}),undo:kn(function(){Ei(this,"undo")}),redo:kn(function(){Ei(this,"redo")}),undoSelection:kn(function(){Ei(this,"undo",!0)}),redoSelection:kn(function(){Ei(this,"redo",!0)}),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,r=0,c=0,l=0;l=t.ch)&&r.push(u.marker.parent||u.marker)}return r},findMarks:function(t,r,c){t=Xe(this,t),r=Xe(this,r);var l=[],u=t.line;return this.iter(t.line,r.line+1,function(h){var b=h.markedSpans;if(b)for(var x=0;x=w.to||w.from==null&&u!=t.line||w.from!=null&&u==r.line&&w.from>=r.ch||c&&!c(w.marker)||l.push(w.marker.parent||w.marker)}++u}),l},getAllMarks:function(){var t=[];return this.iter(function(r){var c=r.markedSpans;if(c)for(var l=0;lt)return r=t,!0;t-=h,++c}),Xe(this,E(c,r))},indexFromPos:function(t){var r=(t=Xe(this,t)).ch;if(t.liner&&(r=t.from),t.to!=null&&t.to-1)return r.state.draggingText(t),void setTimeout(function(){return r.display.input.focus()},20);try{var z=t.dataTransfer.getData("Text");if(z){var T;if(r.state.draggingText&&!r.state.draggingText.copy&&(T=r.listSelections()),Fl(r.doc,fr(c,c)),T)for(var H=0;H=0;x--)Ds(t.doc,"",l[x].from,l[x].to,"+delete");Rs(t)})}function Fa(t,r,c){var l=Ue(t.text,r+c,c);return l<0||l>t.text.length?null:l}function cc(t,r,c){var l=Fa(t,r.ch,c);return l==null?null:new E(r.line,l,c<0?"after":"before")}function dc(t,r,c,l,u){if(t){r.doc.direction=="rtl"&&(u=-u);var h=mt(c,r.doc.direction);if(h){var b,x=u<0?L(h):h[0],w=u<0==(x.level==1)?"after":"before";if(x.level>0||r.doc.direction=="rtl"){var I=Ms(r,c);b=u<0?c.text.length-1:0;var z=dr(r,I,b).top;b=Ze(function(T){return dr(r,I,T).top==z},u<0==(x.level==1)?x.from:x.to-1,b),w=="before"&&(b=Fa(c,b,1))}else b=u<0?x.to:x.from;return new E(l,b,w)}}return new E(l,u<0?c.text.length:0,u<0?"before":"after")}fn.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},fn.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},fn.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},fn.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},fn.default=le?fn.macDefault:fn.pcDefault;var ja={selectAll:Zd,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),ue)},killLine:function(t){return Pn(t,function(r){if(r.empty()){var c=Ke(t.doc,r.head.line).text.length;return r.head.ch==c&&r.head.line0)u=new E(u.line,u.ch+1),t.replaceRange(h.charAt(u.ch-1)+h.charAt(u.ch-2),E(u.line,u.ch-2),u,"+transpose");else if(u.line>t.doc.first){var b=Ke(t.doc,u.line-1).text;b&&(u=new E(u.line,1),t.replaceRange(h.charAt(0)+t.doc.lineSeparator()+b.charAt(b.length-1),E(u.line-1,b.length-1),u,"+transpose"))}}c.push(new Dt(u,u))}t.setSelections(c)})},newlineAndIndent:function(t){return fi(t,function(){for(var r=t.listSelections(),c=r.length-1;c>=0;c--)t.replaceRange(t.doc.lineSeparator(),r[c].anchor,r[c].head,"+input");r=t.listSelections();for(var l=0;l-1&&(D((z=H.ranges[z]).from(),x)<0||x.xRel>0)&&(D(z.to(),x)>0||x.xRel<0)?function(F,ee,J,ne){var de=F.display,pe=!1,be=_n(F,function(Me){m&&(de.scroller.draggable=!1),F.state.draggingText=!1,F.state.delayingBlurEvent&&(F.hasFocus()?F.state.delayingBlurEvent=!1:me(F)),dt(de.wrapper.ownerDocument,"mouseup",be),dt(de.wrapper.ownerDocument,"mousemove",Se),dt(de.scroller,"dragstart",Be),dt(de.scroller,"drop",be),pe||(bn(Me),ne.addNew||Nl(F.doc,J,null,null,ne.extend),m&&!B||p&&g==9?setTimeout(function(){de.wrapper.ownerDocument.body.focus({preventScroll:!0}),de.input.focus()},20):de.input.focus())}),Se=function(Me){pe=pe||Math.abs(ee.clientX-Me.clientX)+Math.abs(ee.clientY-Me.clientY)>=10},Be=function(){return pe=!0};m&&(de.scroller.draggable=!0),F.state.draggingText=be,be.copy=!ne.moveOnDrag,$e(de.wrapper.ownerDocument,"mouseup",be),$e(de.wrapper.ownerDocument,"mousemove",Se),$e(de.scroller,"dragstart",Be),$e(de.scroller,"drop",be),F.state.delayingBlurEvent=!0,setTimeout(function(){return de.input.focus()},20),de.scroller.dragDrop&&de.scroller.dragDrop()}(b,I,x,T):function(F,ee,J,ne){p&&me(F);var de=F.display,pe=F.doc;bn(ee);var be,Se,Be=pe.sel,Me=Be.ranges;if(ne.addNew&&!ne.extend?(Se=pe.sel.contains(J),be=Se>-1?Me[Se]:new Dt(J,J)):(be=pe.sel.primary(),Se=pe.sel.primIndex),ne.unit=="rectangle")ne.addNew||(be=new Dt(J,J)),J=Qr(F,ee,!0,!0),Se=-1;else{var at=Ul(F,J,ne.unit);be=ne.extend?oc(be,at.anchor,at.head,ne.extend):at}ne.addNew?Se==-1?(Se=Me.length,ei(pe,pi(F,Me.concat([be]),Se),{scroll:!1,origin:"*mouse"})):Me.length>1&&Me[Se].empty()&&ne.unit=="char"&&!ne.extend?(ei(pe,pi(F,Me.slice(0,Se).concat(Me.slice(Se+1)),0),{scroll:!1,origin:"*mouse"}),Be=pe.sel):pr(pe,Se,be,ve):(Se=0,ei(pe,new Un([be],0),ve),Be=pe.sel);var Ne=J,lt=de.wrapper.getBoundingClientRect(),tt=0;function Pt(ut){var sn=++tt,Vt=Qr(F,ut,!0,ne.unit=="rectangle");if(Vt)if(D(Vt,Ne)!=0){F.curOp.focus=ze(),function($t){if(D(Ne,$t)!=0)if(Ne=$t,ne.unit=="rectangle"){for(var zt=[],Wn=F.options.tabSize,qt=De(Ke(pe,J.line).text,J.ch,Wn),jn=De(Ke(pe,$t.line).text,$t.ch,Wn),Dn=Math.min(qt,jn),hn=Math.max(qt,jn),gn=Math.min(J.line,$t.line),Or=Math.min(F.lastLine(),Math.max(J.line,$t.line));gn<=Or;gn++){var ni=Ke(pe,gn).text,Bi=ot(ni,Dn,Wn);Dn==hn?zt.push(new Dt(E(gn,Bi),E(gn,Bi))):ni.length>Bi&&zt.push(new Dt(E(gn,Bi),E(gn,ot(ni,hn,Wn))))}zt.length||zt.push(new Dt(J,J)),ei(pe,pi(F,Be.ranges.slice(0,Se).concat(zt),Se),{origin:"*mouse",scroll:!1}),F.scrollIntoView($t)}else{var Zs,Ka=be,qa=Ul(F,$t,ne.unit),Ya=Ka.anchor;D(qa.anchor,Ya)>0?(Zs=qa.head,Ya=bt(Ka.from(),qa.anchor)):(Zs=qa.anchor,Ya=Ve(Ka.to(),qa.head));var Pr=Be.ranges.slice(0);Pr[Se]=function(bc,Io){var ki=Io.anchor,ro=Io.head,Bf=Ke(bc.doc,ki.line);if(D(ki,ro)==0&&ki.sticky==ro.sticky)return Io;var Gs=mt(Bf);if(!Gs)return Io;var hr=Ye(Gs,ki.ch,ki.sticky),is=Gs[hr];if(is.from!=ki.ch&&is.to!=ki.ch)return Io;var Us,rs=hr+(is.from==ki.ch==(is.level!=1)?0:1);if(rs==0||rs==Gs.length)return Io;if(ro.line!=ki.line)Us=(ro.line-ki.line)*(bc.doc.direction=="ltr"?1:-1)>0;else{var Ws=Ye(Gs,ro.ch,ro.sticky),os=Ws-hr||(ro.ch-ki.ch)*(is.level==1?-1:1);Us=Ws==rs-1||Ws==rs?os<0:os>0}var ct=Gs[rs+(Us?-1:0)],el=Us==(ct.level==1),ql=el?ct.from:ct.to,Eo=el?"after":"before";return ki.ch==ql&&ki.sticky==Eo?Io:new Dt(new E(ki.line,ql,Eo),ro)}(F,new Dt(Xe(pe,Ya),Zs)),ei(pe,pi(F,Pr,Se),ve)}}(Vt);var yt=En(de,pe);(Vt.line>=yt.to||Vt.linelt.bottom?20:0;At&&setTimeout(_n(F,function(){tt==sn&&(de.scroller.scrollTop+=At,Pt(ut))}),50)}}function jt(ut){F.state.selectingText=!1,tt=1/0,ut&&(bn(ut),de.input.focus()),dt(de.wrapper.ownerDocument,"mousemove",wt),dt(de.wrapper.ownerDocument,"mouseup",It),pe.history.lastSelOrigin=null}var wt=_n(F,function(ut){ut.buttons!==0&&Po(ut)?Pt(ut):jt(ut)}),It=_n(F,jt);F.state.selectingText=It,$e(de.wrapper.ownerDocument,"mousemove",wt),$e(de.wrapper.ownerDocument,"mouseup",It)}(b,I,x,T)}(r,l,h,t):vs(t)==c.scroller&&bn(t):u==2?(l&&Nl(r.doc,l),setTimeout(function(){return c.input.focus()},20)):u==3&&(Ee?r.display.input.onContextMenu(t):me(r)))}}}function Ul(t,r,c){if(c=="char")return new Dt(r,r);if(c=="word")return t.findWordAt(r);if(c=="line")return new Dt(E(r.line,0),Xe(t.doc,E(r.line+1,0)));var l=c(t,r);return new Dt(l.from,l.to)}function iu(t,r,c,l){var u,h;if(r.touches)u=r.touches[0].clientX,h=r.touches[0].clientY;else try{u=r.clientX,h=r.clientY}catch{return!1}if(u>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;l&&bn(r);var b=t.display,x=b.lineDiv.getBoundingClientRect();if(h>x.bottom||!Ut(t,c))return da(r);h-=x.top-b.viewOffset;for(var w=0;w=u)return rn(t,c,t,Oi(t.doc,h),t.display.gutterSpecs[w].className,r),da(r)}}function Ga(t,r){return iu(t,r,"gutterClick",!0)}function gc(t,r){oi(t.display,r)||function(c,l){return!!Ut(c,"gutterContextMenu")&&iu(c,l,"gutterContextMenu",!1)}(t,r)||Jt(t,r,"contextmenu")||Ee||t.display.input.onContextMenu(r)}function mc(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),$o(t)}pc.prototype.compare=function(t,r,c){return this.time+400>t&&D(r,this.pos)==0&&c==this.button};var ts={toString:function(){return"CodeMirror.Init"}},Ua={},Wl={};function ru(t,r,c){if(!r!=!(c&&c!=ts)){var l=t.display.dragFunctions,u=r?$e:dt;u(t.display.scroller,"dragstart",l.start),u(t.display.scroller,"dragenter",l.enter),u(t.display.scroller,"dragover",l.over),u(t.display.scroller,"dragleave",l.leave),u(t.display.scroller,"drop",l.drop)}}function ou(t){t.options.lineWrapping?(He(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(M(t.display.wrapper,"CodeMirror-wrap"),$A(t)),Mr(t),ui(t),$o(t),setTimeout(function(){return to(t)},100)}function pn(t,r){var c=this;if(!(this instanceof pn))return new pn(t,r);this.options=r=r?Fe(r):{},Fe(Ua,r,!1);var l=r.value;typeof l=="string"?l=new cn(l,r.mode,null,r.lineSeparator,r.direction):r.mode&&(l.modeOption=r.mode),this.doc=l;var u=new pn.inputStyles[r.inputStyle](this),h=this.display=new Ef(t,l,u,r);for(var b in h.wrapper.CodeMirror=this,mc(this),r.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Bd(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new qe,keySeq:null,specialChars:null},r.autofocus&&!X&&h.input.focus(),p&&g<11&&setTimeout(function(){return c.display.input.reset(!0)},20),function(w){var I=w.display;$e(I.scroller,"mousedown",_n(w,hc)),$e(I.scroller,"dblclick",p&&g<11?_n(w,function(J){if(!Jt(w,J)){var ne=Qr(w,J);if(ne&&!Ga(w,J)&&!oi(w.display,J)){bn(J);var de=w.findWordAt(ne);Nl(w.doc,de.anchor,de.head)}}}):function(J){return Jt(w,J)||bn(J)}),$e(I.scroller,"contextmenu",function(J){return gc(w,J)}),$e(I.input.getField(),"contextmenu",function(J){I.scroller.contains(J.target)||gc(w,J)});var z,T={end:0};function H(){I.activeTouch&&(z=setTimeout(function(){return I.activeTouch=null},1e3),(T=I.activeTouch).end=+new Date)}function F(J,ne){if(ne.left==null)return!0;var de=ne.left-J.left,pe=ne.top-J.top;return de*de+pe*pe>400}$e(I.scroller,"touchstart",function(J){if(!Jt(w,J)&&!function(de){if(de.touches.length!=1)return!1;var pe=de.touches[0];return pe.radiusX<=1&&pe.radiusY<=1}(J)&&!Ga(w,J)){I.input.ensurePolled(),clearTimeout(z);var ne=+new Date;I.activeTouch={start:ne,moved:!1,prev:ne-T.end<=300?T:null},J.touches.length==1&&(I.activeTouch.left=J.touches[0].pageX,I.activeTouch.top=J.touches[0].pageY)}}),$e(I.scroller,"touchmove",function(){I.activeTouch&&(I.activeTouch.moved=!0)}),$e(I.scroller,"touchend",function(J){var ne=I.activeTouch;if(ne&&!oi(I,J)&&ne.left!=null&&!ne.moved&&new Date-ne.start<300){var de,pe=w.coordsChar(I.activeTouch,"page");de=!ne.prev||F(ne,ne.prev)?new Dt(pe,pe):!ne.prev.prev||F(ne,ne.prev.prev)?w.findWordAt(pe):new Dt(E(pe.line,0),Xe(w.doc,E(pe.line+1,0))),w.setSelection(de.anchor,de.head),w.focus(),bn(J)}H()}),$e(I.scroller,"touchcancel",H),$e(I.scroller,"scroll",function(){I.scroller.clientHeight&&(Sr(w,I.scroller.scrollTop),Rr(w,I.scroller.scrollLeft,!0),rn(w,"scroll",w))}),$e(I.scroller,"mousewheel",function(J){return Pl(w,J)}),$e(I.scroller,"DOMMouseScroll",function(J){return Pl(w,J)}),$e(I.wrapper,"scroll",function(){return I.wrapper.scrollTop=I.wrapper.scrollLeft=0}),I.dragFunctions={enter:function(J){Jt(w,J)||_r(J)},over:function(J){Jt(w,J)||(function(ne,de){var pe=Qr(ne,de);if(pe){var be=document.createDocumentFragment();_d(ne,pe,be),ne.display.dragCursor||(ne.display.dragCursor=K("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),ne.display.lineSpace.insertBefore(ne.display.dragCursor,ne.display.cursorDiv)),O(ne.display.dragCursor,be)}}(w,J),_r(J))},start:function(J){return function(ne,de){if(p&&(!ne.state.draggingText||+new Date-Jd<100))_r(de);else if(!Jt(ne,de)&&!oi(ne.display,de)&&(de.dataTransfer.setData("Text",ne.getSelection()),de.dataTransfer.effectAllowed="copyMove",de.dataTransfer.setDragImage&&!B)){var pe=K("img",null,null,"position: fixed; left: 0; top: 0;");pe.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",_&&(pe.width=pe.height=1,ne.display.wrapper.appendChild(pe),pe._top=pe.offsetTop),de.dataTransfer.setDragImage(pe,0,0),_&&pe.parentNode.removeChild(pe)}}(w,J)},drop:_n(w,Vd),leave:function(J){Jt(w,J)||lc(w)}};var ee=I.input.getField();$e(ee,"keyup",function(J){return Gl.call(w,J)}),$e(ee,"keydown",_n(w,nu)),$e(ee,"keypress",_n(w,fc)),$e(ee,"focus",function(J){return ce(w,J)}),$e(ee,"blur",function(J){return Je(w,J)})}(this),function(){var w;io||($e(window,"resize",function(){w==null&&(w=setTimeout(function(){w=null,js(Kd)},100))}),$e(window,"blur",function(){return js(Je)}),io=!0)}(),wi(this),this.curOp.forceUpdate=!0,R(this,l),r.autofocus&&!X||this.hasFocus()?setTimeout(function(){c.hasFocus()&&!c.state.focused&&ce(c)},20):Je(this),Wl)Wl.hasOwnProperty(b)&&Wl[b](this,r[b],ts);Rd(this),r.finishInit&&r.finishInit(this);for(var x=0;x150)){if(!l)return;c="prev"}}else I=0,c="not";c=="prev"?I=r>h.first?De(Ke(h,r-1).text,null,b):0:c=="add"?I=w+t.options.indentUnit:c=="subtract"?I=w-t.options.indentUnit:typeof c=="number"&&(I=w+c),I=Math.max(0,I);var T="",H=0;if(t.options.indentWithTabs)for(var F=Math.floor(I/b);F;--F)H+=b,T+=" ";if(Hb,w=xs(r),I=null;if(x&&l.ranges.length>1)if($i&&$i.text.join(` -`)==r){if(l.ranges.length%$i.text.length==0){I=[];for(var z=0;z<$i.text.length;z++)I.push(h.splitLines($i.text[z]))}}else w.length==l.ranges.length&&t.options.pasteLinesPerSelection&&(I=U(w,function(de){return[de]}));for(var T=t.curOp.updateInput,H=l.ranges.length-1;H>=0;H--){var F=l.ranges[H],ee=F.from(),J=F.to();F.empty()&&(c&&c>0?ee=E(ee.line,ee.ch-c):t.state.overwrite&&!x?J=E(J.line,Math.min(Ke(h,J.line).text.length,J.ch+L(w).length)):x&&$i&&$i.lineWise&&$i.text.join(` -`)==w.join(` -`)&&(ee=J=E(ee.line,0)));var ne={from:ee,to:J,text:I?I[H%I.length]:w,origin:u||(x?"paste":t.state.cutIncoming>b?"cut":"+input")};Ps(t.doc,ne),On(t,"inputRead",t,ne)}r&&!x&&Jl(t,r),Rs(t),t.curOp.updateInput<2&&(t.curOp.updateInput=T),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function su(t,r){var c=t.clipboardData&&t.clipboardData.getData("Text");if(c)return t.preventDefault(),r.isReadOnly()||r.options.disableInput||fi(r,function(){return Ja(r,c,0,null,"paste")}),!0}function Jl(t,r){if(t.options.electricChars&&t.options.smartIndent)for(var c=t.doc.sel,l=c.ranges.length-1;l>=0;l--){var u=c.ranges[l];if(!(u.head.ch>100||l&&c.ranges[l-1].head.line==u.head.line)){var h=t.getModeAt(u.head),b=!1;if(h.electricChars){for(var x=0;x-1){b=Wa(t,u.head.line,"smart");break}}else h.electricInput&&h.electricInput.test(Ke(t.doc,u.head.line).text.slice(0,u.head.ch))&&(b=Wa(t,u.head.line,"smart"));b&&On(t,"electricInput",t,u.head.line)}}}function kt(t){for(var r=[],c=[],l=0;l0?0:-1));if(isNaN(Se))pe=null;else{var Be=c>0?Se>=55296&&Se<56320:Se>=56320&&Se<57343;pe=new E(r.line,Math.max(0,Math.min(x.text.length,r.ch+c*(Be?2:1))),-c)}}else pe=u?function(Me,at,Ne,lt){var tt=mt(at,Me.doc.direction);if(!tt)return cc(at,Ne,lt);Ne.ch>=at.text.length?(Ne.ch=at.text.length,Ne.sticky="before"):Ne.ch<=0&&(Ne.ch=0,Ne.sticky="after");var Pt=Ye(tt,Ne.ch,Ne.sticky),jt=tt[Pt];if(Me.doc.direction=="ltr"&&jt.level%2==0&&(lt>0?jt.to>Ne.ch:jt.from=jt.from&&yt>=sn.begin)){var At=Vt?"before":"after";return new E(Ne.line,yt,At)}}var $t=function(qt,jn,Dn){for(var hn=function(Bi,Zs){return Zs?new E(Ne.line,It(Bi,1),"before"):new E(Ne.line,Bi,"after")};qt>=0&&qt0==(gn.level!=1),ni=Or?Dn.begin:It(Dn.end,-1);if(gn.from<=ni&&ni0?sn.end:It(sn.begin,-1);return Wn==null||lt>0&&Wn==at.text.length||!(zt=$t(lt>0?0:tt.length-1,lt,ut(Wn)))?null:zt}(t.cm,x,r,c):cc(x,r,c);if(pe==null){if(de||(be=r.line+w)=t.first+t.size||(r=new E(be,r.ch,r.sticky),!(x=Ke(t,be))))return!1;r=dc(u,t.cm,x,r.line,w)}else r=pe;return!0}if(l=="char"||l=="codepoint")I();else if(l=="column")I(!0);else if(l=="word"||l=="group")for(var z=null,T=l=="group",H=t.cm&&t.cm.getHelper(r,"wordChars"),F=!0;!(c<0)||I(!F);F=!1){var ee=x.text.charAt(r.ch)||` -`,J=Z(ee,H)?"w":T&&ee==` -`?"n":!T||/\s/.test(ee)?null:"p";if(!T||F||J||(J="s"),z&&z!=J){c<0&&(c=1,I(),r.sticky="after");break}if(J&&(z=J),c>0&&!I(!F))break}var ne=jl(t,r,h,b,!0);return Le(h,ne)&&(ne.hitSide=!0),ne}function vc(t,r,c,l){var u,h,b=t.doc,x=r.left;if(l=="page"){var w=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),I=Math.max(w-.5*ur(t.display),3);u=(c>0?r.bottom:r.top)+c*I}else l=="line"&&(u=c>0?r.bottom+3:r.top-3);for(;(h=Ml(t,x,u)).outside;){if(c<0?u<=0:u>=b.height){h.hitSide=!0;break}u+=5*c}return h}var Kt=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new qe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Au(t,r){var c=XA(t,r.line);if(!c||c.hidden)return null;var l=Ke(t.doc,r.line),u=El(c,l,r.line),h=mt(l,t.doc.direction),b="left";h&&(b=Ye(h,r.ch)%2?"right":"left");var x=md(u.map,r.ch,b);return x.offset=x.collapse=="right"?x.end:x.start,x}function ti(t,r){return r&&(t.bad=!0),t}function Vl(t,r,c){var l;if(r==t.display.lineDiv){if(!(l=t.display.lineDiv.childNodes[c]))return ti(t.clipPos(E(t.display.viewTo-1)),!0);r=null,c=0}else for(l=r;;l=l.parentNode){if(!l||l==t.display.lineDiv)return null;if(l.parentNode&&l.parentNode==t.display.lineDiv)break}for(var u=0;u=r.display.viewTo||u.line=r.display.viewFrom&&Au(r,l)||{node:x[0].measure.map[2],offset:0},I=u.linel.firstLine()&&(b=E(b.line-1,Ke(l.doc,b.line-1).length)),x.ch==Ke(l.doc,x.line).text.length&&x.lineu.viewTo-1)return!1;b.line==u.viewFrom||(t=Go(l,b.line))==0?(r=Wt(u.view[0].line),c=u.view[0].node):(r=Wt(u.view[t].line),c=u.view[t-1].node.nextSibling);var w,I,z=Go(l,x.line);if(z==u.view.length-1?(w=u.viewTo-1,I=u.lineDiv.lastChild):(w=Wt(u.view[z+1].line)-1,I=u.view[z+1].node.previousSibling),!c)return!1;for(var T=l.doc.splitLines(function(at,Ne,lt,tt,Pt){var jt="",wt=!1,It=at.doc.lineSeparator(),ut=!1;function sn(){wt&&(jt+=It,ut&&(jt+=It),wt=ut=!1)}function Vt(At){At&&(sn(),jt+=At)}function yt(At){if(At.nodeType==1){var $t=At.getAttribute("cm-text");if($t)return void Vt($t);var zt,Wn=At.getAttribute("cm-marker");if(Wn){var qt=at.findMarks(E(tt,0),E(Pt+1,0),(hn=+Wn,function(gn){return gn.id==hn}));return void(qt.length&&(zt=qt[0].find(0))&&Vt(Er(at.doc,zt.from,zt.to).join(It)))}if(At.getAttribute("contenteditable")=="false")return;var jn=/^(pre|div|p|li|table|br)$/i.test(At.nodeName);if(!/^br$/i.test(At.nodeName)&&At.textContent.length==0)return;jn&&sn();for(var Dn=0;Dn1&&H.length>1;)if(L(T)==L(H))T.pop(),H.pop(),w--;else{if(T[0]!=H[0])break;T.shift(),H.shift(),r++}for(var F=0,ee=0,J=T[0],ne=H[0],de=Math.min(J.length,ne.length);Fb.ch&&pe.charCodeAt(pe.length-ee-1)==be.charCodeAt(be.length-ee-1);)F--,ee++;T[T.length-1]=pe.slice(0,pe.length-ee).replace(/^\u200b+/,""),T[0]=T[0].slice(F).replace(/\u200b+$/,"");var Be=E(r,F),Me=E(w,H.length?L(H).length-ee:0);return T.length>1||T[0]||D(Be,Me)?(Ds(l.doc,T,Be,Me,"+input"),!0):void 0},Kt.prototype.ensurePolled=function(){this.forceCompositionEnd()},Kt.prototype.reset=function(){this.forceCompositionEnd()},Kt.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Kt.prototype.readFromDOMSoon=function(){var t=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()},80))},Kt.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||fi(this.cm,function(){return ui(t.cm)})},Kt.prototype.setUneditable=function(t){t.contentEditable="false"},Kt.prototype.onKeyPress=function(t){t.charCode==0||this.composing||(t.preventDefault(),this.cm.isReadOnly()||_n(this.cm,Ja)(this.cm,String.fromCharCode(t.charCode==null?t.keyCode:t.charCode),0))},Kt.prototype.readOnlyChanged=function(t){this.div.contentEditable=(t!="nocursor")+""},Kt.prototype.onContextMenu=function(){},Kt.prototype.resetPosition=function(){},Kt.prototype.needsContentAttribute=!0;var yn=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new qe,this.hasSelection=!1,this.composing=null};yn.prototype.init=function(t){var r=this,c=this,l=this.cm;this.createField(t);var u=this.textarea;function h(b){if(!Jt(l,b)){if(l.somethingSelected())Xa({lineWise:!1,text:l.getSelections()});else{if(!l.options.lineWiseCopyCut)return;var x=kt(l);Xa({lineWise:!0,text:x.text}),b.type=="cut"?l.setSelections(x.ranges,null,ue):(c.prevInput="",u.value=x.text.join(` -`),st(u))}b.type=="cut"&&(l.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),j&&(u.style.width="0px"),$e(u,"input",function(){p&&g>=9&&r.hasSelection&&(r.hasSelection=null),c.poll()}),$e(u,"paste",function(b){Jt(l,b)||su(b,l)||(l.state.pasteIncoming=+new Date,c.fastPoll())}),$e(u,"cut",h),$e(u,"copy",h),$e(t.scroller,"paste",function(b){if(!oi(t,b)&&!Jt(l,b)){if(!u.dispatchEvent)return l.state.pasteIncoming=+new Date,void c.focus();var x=new Event("paste");x.clipboardData=b.clipboardData,u.dispatchEvent(x)}}),$e(t.lineSpace,"selectstart",function(b){oi(t,b)||bn(b)}),$e(u,"compositionstart",function(){var b=l.getCursor("from");c.composing&&c.composing.range.clear(),c.composing={start:b,range:l.markText(b,l.getCursor("to"),{className:"CodeMirror-composing"})}}),$e(u,"compositionend",function(){c.composing&&(c.poll(),c.composing.range.clear(),c.composing=null)})},yn.prototype.createField=function(t){this.wrapper=lu(),this.textarea=this.wrapper.firstChild},yn.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},yn.prototype.prepareSelection=function(){var t=this.cm,r=t.display,c=t.doc,l=Cd(t);if(t.options.moveInputWithCursor){var u=Cn(t,c.sel.primary().head,"div"),h=r.wrapper.getBoundingClientRect(),b=r.lineDiv.getBoundingClientRect();l.teTop=Math.max(0,Math.min(r.wrapper.clientHeight-10,u.top+b.top-h.top)),l.teLeft=Math.max(0,Math.min(r.wrapper.clientWidth-10,u.left+b.left-h.left))}return l},yn.prototype.showSelection=function(t){var r=this.cm.display;O(r.cursorDiv,t.cursors),O(r.selectionDiv,t.selection),t.teTop!=null&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},yn.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var r=this.cm;if(r.somethingSelected()){this.prevInput="";var c=r.getSelection();this.textarea.value=c,r.state.focused&&st(this.textarea),p&&g>=9&&(this.hasSelection=c)}else t||(this.prevInput=this.textarea.value="",p&&g>=9&&(this.hasSelection=null))}},yn.prototype.getField=function(){return this.textarea},yn.prototype.supportsTouch=function(){return!1},yn.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!X||ze()!=this.textarea))try{this.textarea.focus()}catch{}},yn.prototype.blur=function(){this.textarea.blur()},yn.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},yn.prototype.receivedFocus=function(){this.slowPoll()},yn.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){t.poll(),t.cm.state.focused&&t.slowPoll()})},yn.prototype.fastPoll=function(){var t=!1,r=this;r.pollingFast=!0,r.polling.set(20,function c(){r.poll()||t?(r.pollingFast=!1,r.slowPoll()):(t=!0,r.polling.set(60,c))})},yn.prototype.poll=function(){var t=this,r=this.cm,c=this.textarea,l=this.prevInput;if(this.contextMenuPending||!r.state.focused||MA(c)&&!l&&!this.composing||r.isReadOnly()||r.options.disableInput||r.state.keySeq)return!1;var u=c.value;if(u==l&&!r.somethingSelected())return!1;if(p&&g>=9&&this.hasSelection===u||le&&/[\uf700-\uf7ff]/.test(u))return r.display.input.reset(),!1;if(r.doc.sel==r.display.selForContextMenu){var h=u.charCodeAt(0);if(h!=8203||l||(l="\u200B"),h==8666)return this.reset(),this.cm.execCommand("undo")}for(var b=0,x=Math.min(l.length,u.length);b1e3||u.indexOf(` -`)>-1?c.value=t.prevInput="":t.prevInput=u,t.composing&&(t.composing.range.clear(),t.composing.range=r.markText(t.composing.start,r.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},yn.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},yn.prototype.onKeyPress=function(){p&&g>=9&&(this.hasSelection=null),this.fastPoll()},yn.prototype.onContextMenu=function(t){var r=this,c=r.cm,l=c.display,u=r.textarea;r.contextMenuPending&&r.contextMenuPending();var h=Qr(c,t),b=l.scroller.scrollTop;if(h&&!_){c.options.resetSelectionOnContextMenu&&c.doc.sel.contains(h)==-1&&_n(c,ei)(c.doc,fr(h),ue);var x,w=u.style.cssText,I=r.wrapper.style.cssText,z=r.wrapper.offsetParent.getBoundingClientRect();if(r.wrapper.style.cssText="position: static",u.style.cssText=`position: absolute; width: 30px; height: 30px; - top: `+(t.clientY-z.top-5)+"px; left: "+(t.clientX-z.left-5)+`px; - z-index: 1000; background: `+(p?"rgba(255, 255, 255, .05)":"transparent")+`; - outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`,m&&(x=window.scrollY),l.input.focus(),m&&window.scrollTo(null,x),l.input.reset(),c.somethingSelected()||(u.value=r.prevInput=" "),r.contextMenuPending=F,l.selForContextMenu=c.doc.sel,clearTimeout(l.detectingSelectAll),p&&g>=9&&H(),Ee){_r(t);var T=function(){dt(window,"mouseup",T),setTimeout(F,20)};$e(window,"mouseup",T)}else setTimeout(F,50)}function H(){if(u.selectionStart!=null){var ee=c.somethingSelected(),J="\u200B"+(ee?u.value:"");u.value="\u21DA",u.value=J,r.prevInput=ee?"":"\u200B",u.selectionStart=1,u.selectionEnd=J.length,l.selForContextMenu=c.doc.sel}}function F(){if(r.contextMenuPending==F&&(r.contextMenuPending=!1,r.wrapper.style.cssText=I,u.style.cssText=w,p&&g<9&&l.scrollbars.setScrollTop(l.scroller.scrollTop=b),u.selectionStart!=null)){(!p||p&&g<9)&&H();var ee=0,J=function(){l.selForContextMenu==c.doc.sel&&u.selectionStart==0&&u.selectionEnd>0&&r.prevInput=="\u200B"?_n(c,Zd)(c):ee++<10?l.detectingSelectAll=setTimeout(J,500):(l.selForContextMenu=null,l.input.reset())};l.detectingSelectAll=setTimeout(J,200)}}},yn.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled=t=="nocursor",this.textarea.readOnly=!!t},yn.prototype.setUneditable=function(){},yn.prototype.needsContentAttribute=!1,function(t){var r=t.optionHandlers;function c(l,u,h,b){t.defaults[l]=u,h&&(r[l]=b?function(x,w,I){I!=ts&&h(x,w,I)}:h)}t.defineOption=c,t.Init=ts,c("value","",function(l,u){return l.setValue(u)},!0),c("mode",null,function(l,u){l.doc.modeOption=u,rc(l)},!0),c("indentUnit",2,rc,!0),c("indentWithTabs",!1),c("smartIndent",!0),c("tabSize",4,function(l){Sa(l),$o(l),ui(l)},!0),c("lineSeparator",null,function(l,u){if(l.doc.lineSep=u,u){var h=[],b=l.doc.first;l.doc.iter(function(w){for(var I=0;;){var z=w.text.indexOf(u,I);if(z==-1)break;I=z+u.length,h.push(E(b,z))}b++});for(var x=h.length-1;x>=0;x--)Ds(l.doc,u,h[x],E(h[x].line,h[x].ch+u.length))}}),c("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(l,u,h){l.state.specialChars=RegExp(u.source+(u.test(" ")?"":"| "),"g"),h!=ts&&l.refresh()}),c("specialCharPlaceholder",mf,function(l){return l.refresh()},!0),c("electricChars",!0),c("inputStyle",X?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor")},!0),c("spellcheck",!1,function(l,u){return l.getInputField().spellcheck=u},!0),c("autocorrect",!1,function(l,u){return l.getInputField().autocorrect=u},!0),c("autocapitalize",!1,function(l,u){return l.getInputField().autocapitalize=u},!0),c("rtlMoveVisually",!xe),c("wholeLineUpdateBefore",!0),c("theme","default",function(l){mc(l),ka(l)},!0),c("keyMap","default",function(l,u,h){var b=Na(u),x=h!=ts&&Na(h);x&&x.detach&&x.detach(l,b),b.attach&&b.attach(l,x||null)}),c("extraKeys",null),c("configureMouse",null),c("lineWrapping",!1,ou,!0),c("gutters",[],function(l,u){l.display.gutterSpecs=Sn(u,l.options.lineNumbers),ka(l)},!0),c("fixedGutter",!0,function(l,u){l.display.gutters.style.left=u?xa(l.display)+"px":"0",l.refresh()},!0),c("coverGutterNextToScrollbar",!1,function(l){return to(l)},!0),c("scrollbarStyle","native",function(l){Bd(l),to(l),l.display.scrollbars.setScrollTop(l.doc.scrollTop),l.display.scrollbars.setScrollLeft(l.doc.scrollLeft)},!0),c("lineNumbers",!1,function(l,u){l.display.gutterSpecs=Sn(l.options.gutters,u),ka(l)},!0),c("firstLineNumber",1,ka,!0),c("lineNumberFormatter",function(l){return l},ka,!0),c("showCursorWhenSelecting",!1,Ca,!0),c("resetSelectionOnContextMenu",!0),c("lineWiseCopyCut",!0),c("pasteLinesPerSelection",!0),c("selectionsMayTouch",!1),c("readOnly",!1,function(l,u){u=="nocursor"&&(Je(l),l.display.input.blur()),l.display.input.readOnlyChanged(u)}),c("screenReaderLabel",null,function(l,u){u=u===""?null:u,l.display.input.screenReaderLabelChanged(u)}),c("disableInput",!1,function(l,u){u||l.display.input.reset()},!0),c("dragDrop",!0,ru),c("allowDropFileTypes",null),c("cursorBlinkRate",530),c("cursorScrollMargin",0),c("cursorHeight",1,Ca,!0),c("singleCursorHeightPerLine",!0,Ca,!0),c("workTime",100),c("workDelay",100),c("flattenSpans",!0,Sa,!0),c("addModeClass",!1,Sa,!0),c("pollInterval",100),c("undoDepth",200,function(l,u){return l.doc.history.undoDepth=u}),c("historyEventDelay",1250),c("viewportMargin",10,function(l){return l.refresh()},!0),c("maxHighlightLength",1e4,Sa,!0),c("moveInputWithCursor",!0,function(l,u){u||l.display.input.resetPosition()}),c("tabindex",null,function(l,u){return l.display.input.getField().tabIndex=u||""}),c("autofocus",null),c("direction","ltr",function(l,u){return l.doc.setDirection(u)},!0),c("phrases",null)}(pn),function(t){var r=t.optionHandlers,c=t.helpers={};t.prototype={constructor:t,focus:function(){window.focus(),this.display.input.focus()},setOption:function(l,u){var h=this.options,b=h[l];h[l]==u&&l!="mode"||(h[l]=u,r.hasOwnProperty(l)&&_n(this,r[l])(this,u,b),rn(this,"optionChange",this,l))},getOption:function(l){return this.options[l]},getDoc:function(){return this.doc},addKeyMap:function(l,u){this.state.keyMaps[u?"push":"unshift"](Na(l))},removeKeyMap:function(l){for(var u=this.state.keyMaps,h=0;hh&&(Wa(this,x.head.line,l,!0),h=x.head.line,b==this.doc.sel.primIndex&&Rs(this));else{var w=x.from(),I=x.to(),z=Math.max(h,w.line);h=Math.min(this.lastLine(),I.line-(I.ch?0:1))+1;for(var T=z;T0&&pr(this.doc,b,new Dt(w,H[b].to()),ue)}}}),getTokenAt:function(l,u){return rd(this,l,u)},getLineTokens:function(l,u){return rd(this,E(l),u,!0)},getTokenTypeAt:function(l){l=Xe(this.doc,l);var u,h=SA(this,Ke(this.doc,l.line)),b=0,x=(h.length-1)/2,w=l.ch;if(w==0)u=h[2];else for(;;){var I=b+x>>1;if((I?h[2*I-1]:0)>=w)x=I;else{if(!(h[2*I+1]w&&(l=w,x=!0),b=Ke(this.doc,l)}else b=l;return Qs(this,b,{top:0,left:0},u||"page",h||x).top+(x?this.doc.height-Yr(b):0)},defaultTextHeight:function(){return ur(this.display)},defaultCharWidth:function(){return Ss(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(l,u,h,b,x){var w,I,z=this.display,T=(l=Cn(this,Xe(this.doc,l))).bottom,H=l.left;if(u.style.position="absolute",u.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(u),z.sizer.appendChild(u),b=="over")T=l.top;else if(b=="above"||b=="near"){var F=Math.max(z.wrapper.clientHeight,this.doc.height),ee=Math.max(z.sizer.clientWidth,z.lineSpace.clientWidth);(b=="above"||l.bottom+u.offsetHeight>F)&&l.top>u.offsetHeight?T=l.top-u.offsetHeight:l.bottom+u.offsetHeight<=F&&(T=l.bottom),H+u.offsetWidth>ee&&(H=ee-u.offsetWidth)}u.style.top=T+"px",u.style.left=u.style.right="",x=="right"?(H=z.sizer.clientWidth-u.offsetWidth,u.style.right="0px"):(x=="left"?H=0:x=="middle"&&(H=(z.sizer.clientWidth-u.offsetWidth)/2),u.style.left=H+"px"),h&&((I=tn(w=this,{left:H,top:T,right:H+u.offsetWidth,bottom:T+u.offsetHeight})).scrollTop!=null&&Sr(w,I.scrollTop),I.scrollLeft!=null&&Rr(w,I.scrollLeft))},triggerOnKeyDown:Bn(nu),triggerOnKeyPress:Bn(fc),triggerOnKeyUp:Gl,triggerOnMouseDown:Bn(hc),execCommand:function(l){if(ja.hasOwnProperty(l))return ja[l].call(null,this)},triggerElectric:Bn(function(l){Jl(this,l)}),findPosH:function(l,u,h,b){var x=1;u<0&&(x=-1,u=-u);for(var w=Xe(this.doc,l),I=0;I0&&I(u.charAt(h-1));)--h;for(;b.5||this.options.lineWrapping)&&Mr(this),rn(this,"refresh",this)}),swapDoc:Bn(function(l){var u=this.doc;return u.cm=null,this.state.selectingText&&this.state.selectingText(),R(this,l),$o(this),this.display.input.reset(),si(this,l.scrollLeft,l.scrollTop),this.curOp.forceScroll=!0,On(this,"swapDoc",this,u),u}),phrase:function(l){var u=this.options.phrases;return u&&Object.prototype.hasOwnProperty.call(u,l)?u[l]:l},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Mn(t),t.registerHelper=function(l,u,h){c.hasOwnProperty(l)||(c[l]=t[l]={_global:[]}),c[l][u]=h},t.registerGlobalHelper=function(l,u,h,b){t.registerHelper(l,u,b),c[l]._global.push({pred:h,val:b})}}(pn);var cu="iter insert remove copy getEditor constructor".split(" ");for(var Va in cn.prototype)cn.prototype.hasOwnProperty(Va)&&rt(cu,Va)<0&&(pn.prototype[Va]=function(t){return function(){return t.apply(this.doc,arguments)}}(cn.prototype[Va]));return Mn(cn),pn.inputStyles={textarea:yn,contenteditable:Kt},pn.defineMode=function(t){pn.defaults.mode||t=="null"||(pn.defaults.mode=t),Vr.apply(this,arguments)},pn.defineMIME=function(t,r){Jr[t]=r},pn.defineMode("null",function(){return{token:function(t){return t.skipToEnd()}}}),pn.defineMIME("text/plain","null"),pn.defineExtension=function(t,r){pn.prototype[t]=r},pn.defineDocExtension=function(t,r){cn.prototype[t]=r},pn.fromTextArea=function(t,r){if((r=r?Fe(r):{}).value=t.value,!r.tabindex&&t.tabIndex&&(r.tabindex=t.tabIndex),!r.placeholder&&t.placeholder&&(r.placeholder=t.placeholder),r.autofocus==null){var c=ze();r.autofocus=c==t||t.getAttribute("autofocus")!=null&&c==document.body}function l(){t.value=x.getValue()}var u;if(t.form&&($e(t.form,"submit",l),!r.leaveSubmitMethodAlone)){var h=t.form;u=h.submit;try{var b=h.submit=function(){l(),h.submit=u,h.submit(),h.submit=b}}catch{}}r.finishInit=function(w){w.save=l,w.getTextArea=function(){return t},w.toTextArea=function(){w.toTextArea=isNaN,l(),t.parentNode.removeChild(w.getWrapperElement()),t.style.display="",t.form&&(dt(t.form,"submit",l),r.leaveSubmitMethodAlone||typeof t.form.submit!="function"||(t.form.submit=u))}},t.style.display="none";var x=pn(function(w){return t.parentNode.insertBefore(w,t.nextSibling)},r);return x},function(t){t.off=dt,t.on=$e,t.wheelEventPixels=Qa,t.Doc=cn,t.splitLines=xs,t.countColumn=De,t.findColumn=ot,t.isWordChar=ke,t.Pass=he,t.signal=rn,t.Line=Es,t.changeEnd=Hi,t.scrollbarModel=Ed,t.Pos=E,t.cmpPos=D,t.modes=Yi,t.mimeModes=Jr,t.resolveMode=Cs,t.getMode=_s,t.modeExtensions=lr,t.extendMode=Ar,t.copyState=Li,t.startState=ws,t.innerMode=ua,t.commands=ja,t.keyMap=fn,t.keyName=_o,t.isModifierKey=$l,t.lookupKey=hi,t.normalizeKeyMap=qd,t.StringStream=xn,t.SharedTextMarker=Pa,t.TextMarker=yo,t.LineWidget=qo,t.e_preventDefault=bn,t.e_stopPropagation=Ki,t.e_stop=_r,t.addClass=He,t.contains=Oe,t.rmClass=M,t.keyNames=xo}(pn),pn.version="5.63.0",pn},(window||self).CodeMirror=a0(),function(n){function e(v,C){if(this.cm=v,this.options=C,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var _=this;v.on("cursorActivity",this.activityFunc=function(){_.cursorActivity()})}}n.showHint=function(v,C,_){if(!C)return v.showHint(_);_&&_.async&&(C.async=!0);var B={hint:C};if(_)for(var S in _)B[S]=_[S];return v.showHint(B)},n.defineExtension("showHint",function(v){v=function(S,N,j){var oe=S.options.hintOptions,X={};for(var le in m)X[le]=m[le];if(oe)for(var le in oe)oe[le]!==void 0&&(X[le]=oe[le]);if(j)for(var le in j)j[le]!==void 0&&(X[le]=j[le]);return X.hint.resolve&&(X.hint=X.hint.resolve(S,N)),X}(this,this.getCursor("start"),v);var C=this.listSelections();if(!(C.length>1)){if(this.somethingSelected()){if(!v.hint.supportsSelection)return;for(var _=0;_j.clientHeight+1;if(setTimeout(function(){Qe=B.getScrollInfo()}),st.bottom-He>0){var Fe=st.bottom-st.top;if(Ee.top-(Ee.bottom-st.top)-Fe>0)j.style.top=(Q=Ee.top-Fe-O)+"px",M=!1;else if(Fe>He){j.style.height=He-5+"px",j.style.top=(Q=Ee.bottom-st.top-O)+"px";var De=B.getCursor();C.from.ch!=De.ch&&(Ee=B.cursorCoords(De),j.style.left=(Y=Ee.left-W)+"px",st=j.getBoundingClientRect())}}var qe,rt=st.right-ze;if(ht&&(rt+=B.display.nativeBarWidth),rt>0&&(st.right-st.left>ze&&(j.style.width=ze-5+"px",rt-=st.right-st.left-ze),j.style.left=(Y=Ee.left-rt-W)+"px"),ht)for(var he=j.firstChild;he;he=he.nextSibling)he.style.paddingRight=B.display.nativeBarWidth+"px";B.addKeyMap(this.keyMap=function(ve,Te){var ot={Up:function(){Te.moveFocus(-1)},Down:function(){Te.moveFocus(1)},PageUp:function(){Te.moveFocus(1-Te.menuSize(),!0)},PageDown:function(){Te.moveFocus(Te.menuSize()-1,!0)},Home:function(){Te.setFocus(0)},End:function(){Te.setFocus(Te.length-1)},Enter:Te.pick,Tab:Te.pick,Esc:Te.close};/Mac/.test(navigator.platform)&&(ot["Ctrl-P"]=function(){Te.moveFocus(-1)},ot["Ctrl-N"]=function(){Te.moveFocus(1)});var gt=ve.options.customKeys,et=gt?{}:ot;function L(fe,Ce){var ke;ke=typeof Ce!="string"?function(Z){return Ce(Z,Te)}:ot.hasOwnProperty(Ce)?ot[Ce]:Ce,et[fe]=ke}if(gt)for(var U in gt)gt.hasOwnProperty(U)&&L(U,gt[U]);var ae=ve.options.extraKeys;if(ae)for(var U in ae)ae.hasOwnProperty(U)&&L(U,ae[U]);return et}(v,{moveFocus:function(ve,Te){_.changeActive(_.selectedHint+ve,Te)},setFocus:function(ve){_.changeActive(ve)},menuSize:function(){return _.screenAmount()},length:X.length,close:function(){v.close()},pick:function(){_.pick()},data:C})),v.options.closeOnUnfocus&&(B.on("blur",this.onBlur=function(){qe=setTimeout(function(){v.close()},100)}),B.on("focus",this.onFocus=function(){clearTimeout(qe)})),B.on("scroll",this.onScroll=function(){var ve=B.getScrollInfo(),Te=B.getWrapperElement().getBoundingClientRect();Qe||(Qe=B.getScrollInfo());var ot=Q+Qe.top-ve.top,gt=ot-(N.pageYOffset||(S.documentElement||S.body).scrollTop);if(M||(gt+=j.offsetHeight),gt<=Te.top||gt>=Te.bottom)return v.close();j.style.top=ot+"px",j.style.left=Y+Qe.left-ve.left+"px"}),n.on(j,"dblclick",function(ve){var Te=A(j,ve.target||ve.srcElement);Te&&Te.hintId!=null&&(_.changeActive(Te.hintId),_.pick())}),n.on(j,"click",function(ve){var Te=A(j,ve.target||ve.srcElement);Te&&Te.hintId!=null&&(_.changeActive(Te.hintId),v.options.completeOnSingleClick&&_.pick())}),n.on(j,"mousedown",function(){setTimeout(function(){B.focus()},20)});var ue=this.getSelectedHintRange();return ue.from===0&&ue.to===0||this.scrollToActive(),n.signal(C,"select",X[this.selectedHint],j.childNodes[this.selectedHint]),!0}function g(v,C,_,B){if(v.async)v(C,B,_);else{var S=v(C,_);S&&S.then?S.then(B):B(S)}}e.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&n.signal(this.data,"close"),this.widget&&this.widget.close(),n.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(v,C){var _=v.list[C],B=this;this.cm.operation(function(){_.hint?_.hint(B.cm,v,_):B.cm.replaceRange(d(_),_.from||v.from,_.to||v.to,"complete"),n.signal(v,"pick",_),B.cm.scrollIntoView()}),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var v=this.startPos;this.data&&(v=this.data.from);var C=this.cm.getCursor(),_=this.cm.getLine(C.line);if(C.line!=this.startPos.line||_.length-C.ch!=this.startLen-this.startPos.ch||C.ch=this.data.list.length?v=C?this.data.list.length-1:0:v<0&&(v=C?0:this.data.list.length-1),this.selectedHint!=v){var _=this.hints.childNodes[this.selectedHint];_&&(_.className=_.className.replace(" CodeMirror-hint-active",""),_.removeAttribute("aria-selected")),(_=this.hints.childNodes[this.selectedHint=v]).className+=" CodeMirror-hint-active",_.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",_.id),this.scrollToActive(),n.signal(this.data,"select",this.data.list[this.selectedHint],_)}},scrollToActive:function(){var v=this.getSelectedHintRange(),C=this.hints.childNodes[v.from],_=this.hints.childNodes[v.to],B=this.hints.firstChild;C.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=_.offsetTop+_.offsetHeight-this.hints.clientHeight+B.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var v=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-v),to:Math.min(this.data.list.length-1,this.selectedHint+v)}}},n.registerHelper("hint","auto",{resolve:function(v,C){var _,B=v.getHelpers(C,"hint");if(B.length){var S=function(N,j,oe){var X=function(le,ye){if(!le.somethingSelected())return ye;for(var xe=[],Pe=0;Pe0?j(xe):le(ye+1)})})(0)};return S.async=!0,S.supportsSelection=!0,S}return(_=v.getHelper(v.getCursor(),"hintWords"))?function(N){return n.hint.fromList(N,{words:_})}:n.hint.anyword?function(N,j){return n.hint.anyword(N,j)}:function(){}}}),n.registerHelper("hint","fromList",function(v,C){var _,B=v.getCursor(),S=v.getTokenAt(B),N=n.Pos(B.line,S.start),j=B;S.start,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};n.defineOption("hintOptions",null)}(CodeMirror),function(n){function e(d,A,p,g){if(p&&p.call){var m=p;p=null}else m=s(d,p,"rangeFinder");typeof A=="number"&&(A=n.Pos(A,0));var v=s(d,p,"minFoldSize");function C(N){var j=m(d,A);if(!j||j.to.line-j.from.lined.firstLine();)A=n.Pos(A.line-1,0),_=C(!1);if(_&&!_.cleared&&g!=="unfold"){var B=function(N,j,oe){var X=s(N,j,"widget");if(typeof X=="function"&&(X=X(oe.from,oe.to)),typeof X=="string"){var le=document.createTextNode(X);(X=document.createElement("span")).appendChild(le),X.className="CodeMirror-foldmarker"}else X&&(X=X.cloneNode(!0));return X}(d,p,_);n.on(B,"mousedown",function(N){S.clear(),n.e_preventDefault(N)});var S=d.markText(_.from,_.to,{replacedWith:B,clearOnEnter:s(d,p,"clearOnEnter"),__isFold:!0});S.on("clear",function(N,j){n.signal(d,"unfold",d,N,j)}),n.signal(d,"fold",d,_.from,_.to)}}n.newFoldFunction=function(d,A){return function(p,g){e(p,g,{rangeFinder:d,widget:A})}},n.defineExtension("foldCode",function(d,A,p){e(this,d,A,p)}),n.defineExtension("isFolded",function(d){for(var A=this.findMarksAt(d),p=0;p=0;B--){var S=C[B].from(),N=C[B].to();S.line>=v||(N.line>=v&&(N=s(v,0)),v=S.line,_==null?m.uncomment(S,N,g)?_="un":(m.lineComment(S,N,g),_="line"):_=="un"?m.uncomment(S,N,g):m.lineComment(S,N,g))}}),n.defineExtension("lineComment",function(g,m,v){v||(v=e);var C=this,_=p(C,g),B=C.getLine(g.line);if(B!=null&&(S=g,N=B,!/\bstring\b/.test(C.getTokenTypeAt(s(S.line,0)))||/^[\'\"\`]/.test(N))){var S,N,j=v.lineComment||_.lineComment;if(j){var oe=Math.min(m.ch!=0||m.line==g.line?m.line+1:m.line,C.lastLine()+1),X=v.padding==null?" ":v.padding,le=v.commentBlankLines||g.line==m.line;C.operation(function(){if(v.indent){for(var ye=null,xe=g.line;xePe.length)&&(ye=Pe)}for(xe=g.line;xeN||C.operation(function(){if(v.fullLines!=0){var oe=i.test(C.getLine(N));C.replaceRange(j+S,s(N)),C.replaceRange(B+j,s(g.line,0));var X=v.blockCommentLead||_.blockCommentLead;if(X!=null)for(var le=g.line+1;le<=N;++le)(le!=N||oe)&&C.replaceRange(X+j,s(le,0))}else{var ye=d(C.getCursor("to"),m)==0,xe=!C.somethingSelected();C.replaceRange(S,m),ye&&C.setSelection(xe?m:C.getCursor("from"),m),C.replaceRange(B,g)}})}}else(v.lineComment||_.lineComment)&&v.fullLines!=0&&C.lineComment(g,m,v)}),n.defineExtension("uncomment",function(g,m,v){v||(v=e);var C,_=this,B=p(_,g),S=Math.min(m.ch!=0||m.line==g.line?m.line:m.line-1,_.lastLine()),N=Math.min(g.line,S),j=v.lineComment||B.lineComment,oe=[],X=v.padding==null?" ":v.padding;e:if(j){for(var le=N;le<=S;++le){var ye=_.getLine(le),xe=ye.indexOf(j);if(xe>-1&&!/comment/.test(_.getTokenTypeAt(s(le,xe+1)))&&(xe=-1),xe==-1&&i.test(ye)||xe>-1&&i.test(ye.slice(0,xe)))break e;oe.push(ye)}if(_.operation(function(){for(var He=N;He<=S;++He){var Qe=oe[He-N],st=Qe.indexOf(j),ht=st+j.length;st<0||(Qe.slice(ht,ht+X.length)==X&&(ht+=X.length),C=!0,_.replaceRange("",s(He,st),s(He,ht)))}}),C)return!0}var Pe=v.blockCommentStart||B.blockCommentStart,Ie=v.blockCommentEnd||B.blockCommentEnd;if(!Pe||!Ie)return!1;var Ee=v.blockCommentLead||B.blockCommentLead,Y=_.getLine(N),Q=Y.indexOf(Pe);if(Q==-1)return!1;var M=S==N?Y:_.getLine(S),W=M.indexOf(Ie,S==N?Q+Pe.length:0),O=s(N,Q+1),K=s(S,W+1);if(W==-1||!/comment/.test(_.getTokenTypeAt(O))||!/comment/.test(_.getTokenTypeAt(K))||_.getRange(O,K,` -`).indexOf(Ie)>-1)return!1;var se=Y.lastIndexOf(Pe,g.ch),Oe=se==-1?-1:Y.slice(0,g.ch).indexOf(Ie,se+Pe.length);if(se!=-1&&Oe!=-1&&Oe+Ie.length!=g.ch)return!1;Oe=M.indexOf(Ie,m.ch);var ze=M.slice(m.ch).lastIndexOf(Pe,Oe-m.ch);return se=Oe==-1||ze==-1?-1:m.ch+ze,(Oe==-1||se==-1||se==m.ch)&&(_.operation(function(){_.replaceRange("",s(S,W-(X&&M.slice(W-X.length,W)==X?X.length:0)),s(S,W+Ie.length));var He=Q+Pe.length;if(X&&Y.slice(He,He+X.length)==X&&(He+=X.length),_.replaceRange("",s(N,Q),s(N,He)),Ee)for(var Qe=N+1;Qe<=S;++Qe){var st=_.getLine(Qe),ht=st.indexOf(Ee);if(ht!=-1&&!i.test(st.slice(0,ht))){var Fe=ht+Ee.length;X&&st.slice(Fe,Fe+X.length)==X&&(Fe+=X.length),_.replaceRange("",s(Qe,ht),s(Qe,Fe))}}}),!0)})}(CodeMirror),ia.prototype.start=function(n){return this.stream=n,this.line=0,this.string=n.string.slice(n.start),this.startLine=n.string,this.startPos=n.start,this},ia.prototype.startLinebreak=function(){return this.stream=null,this.line=this.startPos=0,this.string=` -`,this.startLine="",this},ia.prototype.copy=function(){var n=this.copyInstance||(this.copyInstance=new ia);return n.stream=this.stream,n.startPos=this.startPos,n.line=this.line,n.startLine=this.startLine,n.string=this.string,n},ia.prototype.updateStart=function(){this.startLine=this.stream?this.line==0?this.stream.string:this.stream.lookAhead(this.line):"",this.startPos=this.startLine.length-(this.string.length-1)},ia.prototype.ahead=function(n){for(;;){if(n<=this.string.length)return!0;if(this.string.charCodeAt(this.string.length-1)!==10)this.string+=` -`;else{if(this.line===3||!this.stream||!this.stream.lookAhead)return!1;var e=this.stream.lookAhead(this.line+1);if(e==null)return!1;this.string+=e+` -`,this.line++}}};var lA=null;function kc(n,e){this.State=function(i,s){function d(p,g){this.stack=p,this.context=g}function A(){return null}return d.prototype.matchNext=function(p,g,m,v){for(var C=this.stack.length-1,_=this.stack[C],B=i.nodes[_],S=0;Sg&&(lA=Ie)}else N=this.matchExpr(oe,p,g),j=B[++S]}if(N<0){if(!(m>0&&S==B.length-1))continue;m--,N=g}if(this.go(j),!v&&j===-1||this.stack.length===0||N>g||(N=this.matchNext(p,g,S==B.length-1?m:0,v))>=0)return N;this.stack.length=C+1,this.stack[C]=_}return-1},d.prototype.go=function(p){for(this.stack.pop();this.context&&this.context.depth>this.stack.length;)this.context=this.context.parent;p!==-1&&this.stack.push(p)},d.prototype.runMaybe=function(p,g,m){return lA=null,this.matchNext(p,g,m,!0)},d.prototype.forward=function(p,g){var m=this.runMaybe(p,g,2);return m<0&&(this.stack.push(i.token),m=this.runMaybe(p,g,0)),m},d.prototype.lookahead=function(p,g,m){var v=lA,C=new this.constructor([m],null);for(p=p.copy();;){p.updateStart();var _=C.runMaybe(p,g,0);if(_<0)return lA=v,!1;if(C.stack.length===0)return lA=v,!0;g=_}},d.prototype.matchExpr=function(p,g,m){if(typeof p=="string"){var v=m+p.length;return g.ahead(v)&&g.string.slice(m,v)===p?v:-1}if(p.exec){var C=g.ahead(m+1)&&p.exec(m>0?g.string.slice(m):g.string);return C?m+C[0].length:-1}var _,B=p[0];if(B===0){for(var S=1;S-1)return j}return-1}if(B!==2&&B!==3){if(B===4)return Math.max(this.matchExpr(p[1],g,m),m);if(B===5)return this.lookahead(g,m,p[1])?m:-1;if(B===6)return this.lookahead(g,m,p[1])?-1:m;if(B===7){var oe,X,le=m?g.string.lastIndexOf(` -`,m-1):-1;if(g.stream&&le<0)oe=g.stream.string,X=m+g.stream.start;else{var ye=g.string.indexOf(` -`,m);oe=g.string.slice(le+1,ye<0?g.string.length:ye),X=m-(le+1)}return s.predicates[p[1]](oe,X,this.context,g.stream?(_=g.stream,function(Pe){return _.lookAhead(Pe)}):A)?m:-1}throw Error("Unknown match type "+p)}if(B===3&&(m=this.matchExpr(p[1],g,m))<0)return-1;for(;;){var xe=this.matchExpr(p[1],g,m);if(xe==-1)return m;m=xe}},d.prototype.contextAt=function(p,g){var m=this.copy(),v=new ia,C=0,_=this.context;for(v.string=p+` -`,v.startLine=p;;){var B=m.runMaybe(v,C,0);if(B==-1)return m.context;if(B>g){var S=m.context;if(C==g)e:for(;S;){for(var N=_;N;N=N.parent)if(N===S)break e;S=S.parent}return S}C=B,_=m.context}},d.prototype.copy=function(){return new this.constructor(this.stack.slice(),this.context)},d.start=function(){return new this([i.start],null)},d}(n,e||{}),this.mcx=new ia}CodeMirror.GrammarMode=kc,kc.prototype.startState=function(){return this.State.start()},kc.prototype.copyState=function(n){return n.copy()},kc.prototype.token=function(n,e){n.pos+=e.forward(this.mcx.start(n),0);for(var i=lA,s=e.context;s;s=s.parent)s.tokenType&&(i=s.tokenType+(i?" "+i:""));return n.eol()&&e.forward(this.mcx,n.pos-n.start),i},kc.prototype.blankLine=function(n){n.forward(this.mcx.startLinebreak(),0)},function(n,e){(function(i){function s(Q){if(Q&&Q.__esModule)return Q;var M=Object.create(null);return Q&&Object.keys(Q).forEach(function(W){if(W!=="default"){var O=Object.getOwnPropertyDescriptor(Q,W);Object.defineProperty(M,W,O.get?O:{enumerable:!0,get:function(){return Q[W]}})}}),M.default=Q,Object.freeze(M)}var d=s(i),A=[/^(?:var|let|const)(?![a-zA-Z¡-￿_0-9_\$])/,/^while(?![a-zA-Z¡-￿_0-9_\$])/,/^with(?![a-zA-Z¡-￿_0-9_\$])/,/^do(?![a-zA-Z¡-￿_0-9_\$])/,/^debugger(?![a-zA-Z¡-￿_0-9_\$])/,/^if(?![a-zA-Z¡-￿_0-9_\$])/,/^function(?![a-zA-Z¡-￿_0-9_\$])/,/^for(?![a-zA-Z¡-￿_0-9_\$])/,/^default(?![a-zA-Z¡-￿_0-9_\$])/,/^case(?![a-zA-Z¡-￿_0-9_\$])/,/^return(?![a-zA-Z¡-￿_0-9_\$])/,/^throw(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:break|continue)(?![a-zA-Z¡-￿_0-9_\$])/,/^switch(?![a-zA-Z¡-￿_0-9_\$])/,/^try(?![a-zA-Z¡-￿_0-9_\$])/,/^class(?![a-zA-Z¡-￿_0-9_\$])/,/^export(?![a-zA-Z¡-￿_0-9_\$])/,/^import(?![a-zA-Z¡-￿_0-9_\$])/,[0,"async",/^(?![a-zA-Z¡-￿_0-9_\$])/,[5,114]],[1,";",/^(?=\})/,[7,"canInsertSemi"]],/^[a-zA-Z¡-￿__\$][a-zA-Z¡-￿_0-9_\$]*/,/^extends(?![a-zA-Z¡-￿_0-9_\$])/,/^from(?![a-zA-Z¡-￿_0-9_\$])/,/^else(?![a-zA-Z¡-￿_0-9_\$])/,/^catch(?![a-zA-Z¡-￿_0-9_\$])/,/^finally(?![a-zA-Z¡-￿_0-9_\$])/,/^as(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:true|false|null|undefined|NaN|Infinity)(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:super|this)(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:delete|typeof|yield|await|void)(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:\.\.\.|\!|\+\+?|\-\-?)/,/^(?:0x[0-9a-fA-F_]+|0o[0-7_]+|0b[01_]+|(?:[0-9][0-9_]*(?:\.[0-9_]*)?|\.[0-9_]+)(?:[eE][\+\-]?[0-9_]+)?)/,/^\/(?![\/\*])(?:\\.|\[(?:(?!\]).)*\]|(?!\/).)+\/[gimyus]*/,/^(?:\+\+|\-\-)/,/^(?:(?:\+|\-|\%|\*|\/(?![\/\*])|\>\>?\>?|\<\",-1],[2,258,364,{name:"ParamList"}],[1,6,365],["=>",-1],[3,"operator","=>",367],[1,6,368],[2,129,-1,{name:"Block"},1,142,-1],[1,142,370,0,-1],[1,6,371],[",",372,0,-1],[1,6,373],[1,142,374,0,374],[1,6,371],[2,274,376,{name:"ObjectMember"},0,-1],[1,6,377],[",",378,0,-1],[1,6,379],[2,274,380,{name:"ObjectMember"},0,380],[1,6,377],[1,139,382],[1,6,383],[3,"operator","=",384,0,-1],[1,6,385],[1,142,-1],[3,"def",/^[a-zA-Z¡-￿__\$][a-zA-Z¡-￿_0-9_\$]*(?![a-z]|[A-Z]|[¡-￿]|_|[0-9]|_|\$| *\:)/,387,3,"property",A[20],391,3,"number",A[31],391,2,116,391,{name:"string",token:"string"},3,"operator","...",395],[1,6,388],[3,"operator","=",389,0,-1],[1,6,390],[1,142,-1],[1,6,392],[":",393],[1,6,394],[1,381,-1],[1,6,396],[1,381,-1]],start:0,token:5}),g=/(^|\s)variable($|\s)/;function m(Q){var M=/^(if|for|do|while|try)\b/.exec(Q.startLine.slice(Q.startPos));return M&&M[1]}var v={Block:"}",BlockOf:"}",ClassBody:"}",AnnotationTypeBody:"}",ObjectLiteral:"}",ObjectPattern:"}",EnumBody:"}",LambdaBlock:"}",WhenBody:"}",ObjType:"}",ArrayInitializer:"}",NamespaceBlock:"}",BraceTokens:"}",ArrayLiteral:"]",BracketTokens:"]",TupleType:"]",ParamList:")",SimpleParamList:")",ArgList:")",ParenExpr:")",CondExpr:")",ForSpec:")",ParenTokens:")",ParenthesizedExpression:")",ConstructorParamList:")",TypeParams:">",TypeArgs:">",TemplateArgs:">",TemplateParams:">"},C=["Block","NamespaceBlock","ClassBody","AnnotationTypeBody","BlockOf","EnumBody"],_=["Statement","ObjectMember","ClassItem","EnumConstant","AnnotationTypeItem","ArgExpr","StatementMaybeOf","NewExpr"];function B(Q,M){for(var W=Q.startLine;;Q=Q.parent){if(Q.name=="CondExpr")return d.countColumn(Q.startLine,Q.startPos+1,M.tabSize);if(_.indexOf(Q.name)>-1&&/(^\s*|[\(\{\[])$/.test(Q.startLine.slice(0,Q.startPos)))return d.countColumn(Q.startLine,Q.startPos,M.tabSize);if(!Q.parent||Q.parent.startLine!=W)return d.countColumn(Q.startLine,null,M.tabSize)}}function S(Q,M,W){if(!Q)return 0;if(Q.name=="string"||Q.name=="comment")return d.Pass;var O,K,se=v[Q.name],Oe=M&&M.charAt(0)==se;if(se&&W.align!==!1&&(!W.dontAlign||W.dontAlign.indexOf(Q.name)<0)&&function(st){return!/^\s*((\/\/.*)?$|.*=>)/.test(st.startLine.slice(st.startPos+1))}(Q))return d.countColumn(Q.startLine,Q.startPos,W.tabSize)+(Oe?0:1);if(se&&C.indexOf(Q.name)>-1){var ze=Q.parent;ze&&ze.name=="Statement"&&ze.parent&&ze.parent.name=="Statement"&&m(ze.parent)&&!m(ze)&&(ze=ze.parent);var He=N(ze,W);return Oe||Q.name=="NamespaceBlock"?He:/^(public|private|protected)\s*:/.test(M)?He+1:!(K=Q.parent)||K.name!="Statement"||!/^switch\b/.test(K.startLine.slice(K.startPos))||(O=M)&&/^\s*(case|default)\b/.test(O)?He+W.indentUnit:He+2*W.indentUnit}var Qe=B(Q,W);return se?Oe&&(W.dontCloseBrackets||"").indexOf(se)<0?Qe:Qe+W.indentUnit*((W.doubleIndentBrackets||"").indexOf(se)<0?1:2):_.indexOf(Q.name)>-1?m(Q)?Qe+W.indentUnit:Qe+2*W.indentUnit:Q.name=="Alternative"||Q.name=="CatchFinally"?(Qe=B(Q.parent,W),!M||/^((else|catch|finally)\b|\/[\/\*])/.test(M)?Qe:Qe+W.indentUnit):Q.name=="ArrowRest"?Qe+W.indentUnit:Q.name=="NewExpression"&&Q.startLine.length>Q.startPos+5?d.countColumn(Q.startLine,Q.startPos,W.tabSize)+2*W.indentUnit:Q.name=="InitializerList"?Qe+2:Q.name!="ThrowsClause"||/throws\s*$/.test(Q.startLine.slice(Q.startPos))?S(Q.parent,M,W):Qe+2*W.indentUnit}function N(Q,M){for(;;Q=Q.parent){if(!Q)return 0;if(_.indexOf(Q.name)>-1||Q.parent&&v[Q.parent.name])return d.countColumn(Q.startLine,null,M.tabSize)}}function j(Q,M,W,O){var K=Q.context&&Q.context.name;if(K=="DeclType"||K=="BeforeStatement"||K=="AnnotationHead"||K=="Template"||K=="str")return N(Q.context,O);if((K=="doccomment.braced"||K=="doccomment.tagGroup")&&!/^[@*]/.test(M))return d.countColumn(Q.context.startLine,null,O.tabSize)+2*O.indentUnit;var se=O.forceContent&&/^\s*(\/\/.*)?$/.test(W)?"x":W;return S(Q.contextAt(se,W.length-M.length),M,O)}function oe(Q,M){for(var W=M-1;W>=0;W--){var O=Q.charCodeAt(W);if(O===10)break;if(O!==32&&O!==9)return!1}return!0}var X=function(Q){this.config=Q};X.prototype.startState=function(){return new le},X.prototype.copyState=function(Q){return Q.copy()},X.prototype.shouldInterceptTokenizing=function(Q){var M=Q.currentTemplateState;return M!==void 0&&M.mode!==null},X.prototype.interceptTokenizing=function(Q,M){if(Q.match("${")&&(Q.backUp(2),!this.isEscaped(Q,Q.pos-2)))return{handled:!1};if(Q.peek()==="`"&&!this.isEscaped(Q,Q.pos))return{handled:!1};var W=M.currentTemplateState,O=W.mode,K=W.state,se=O.token(Q,K);return this.backupIfEmbeddedTokenizerOvershot(Q),{handled:!0,style:se}},X.prototype.trackState=function(Q,M,W){if(Q){var O=W.currentTemplateState;O&&O.kind!=="inline-expression"?this.trackStateInTemplate(Q,M,W,O):this.trackStateNotInTemplate(Q,M,W,O),W.previousVariable=Q==="variable"?M.current():null}},X.prototype.trackStateNotInTemplate=function(Q,M,W,O){if(O&&Q==="string-2"&&M.current().startsWith("}"))return W.templateStack.pop(),void M.backUp(M.current().length-1);if(Q==="string-2"&&M.current().startsWith("`")){var K=this.getModeForTemplateTag(W.previousVariable),se="template";K?(M.backUp(M.current().length-1),W.templateStack.push(new xe(se,K,CodeMirror.startState(K)))):W.templateStack.push(new xe(se,null,null))}},X.prototype.trackStateInTemplate=function(Q,M,W,O){Q!=="string-2"||!M.current().endsWith("`")||this.isEscaped(M.pos-1)?Q!=="string-2"||!M.current().endsWith("${")||this.isEscaped(M.pos-2)||W.templateStack.push(new xe("inline-expression",null,null)):W.templateStack.pop()},X.prototype.backupIfEmbeddedTokenizerOvershot=function(Q){for(var M=Q.current(),W=0;;){var O=M.slice(W).search(/`|\$\{/);if(O===-1)return;O+=W;var K=M.length-O,se=Q.pos-K;if(!this.isEscaped(Q,se))return void Q.backUp(M.length-O);W=O+1}},X.prototype.isEscaped=function(Q,M){for(var W=!1,O=M;O>0&&Q.string[O-1]==="\\";)W=!W,O--;return W},X.prototype.getModeForTemplateTag=function(Q){if(!Q)return null;Q==="htm"&&(Q="html");for(var M=["google-"+Q,""+Q],W=0;W)",dontCloseBrackets:")",tabSize:W.tabSize,indentUnit:W.indentUnit,forceContent:!0}}return Q&&(M.__proto__=Q),M.prototype=Object.create(Q&&Q.prototype),M.prototype.constructor=M,M.prototype.startState=function(){var W=Q.prototype.startState.call(this);return W.embeddedParserState=this.embeddedParser.startState(),W},M.prototype.copyState=function(W){var O=Q.prototype.copyState.call(this,W);return O.embeddedParserState=this.embeddedParser.copyState(W.embeddedParserState),O},M.prototype.token=function(W,O){var K=O.embeddedParserState;if(this.embeddedParser.shouldInterceptTokenizing(K)){var se=this.embeddedParser.interceptTokenizing(W,K),Oe=se.handled,ze=se.style;if(Oe)return ze}var He=Q.prototype.token.call(this,W,O);return this.embeddedParser.trackState(He,W,K),function(Qe,st,ht,Fe){if(Qe=="def"){var De=function(rt,he){for(var ue=rt;ue;ue=ue.parent)if(he.indexOf(ue.name)>-1)return ue}(Fe.context,st),qe=ht.current();if(De&&(De.locals||(De.locals=[]),De.locals.indexOf(qe)==-1&&De.locals.push(qe),Fe.context.name!="funcName"))return"def local"}else g.test(Qe)&&!/qualified/.test(Qe)&&function(rt,he){for(var ue=rt;ue;ue=ue.parent)if(ue.locals&&ue.locals.indexOf(he)>-1)return!0;return!1}(Fe.context,ht.current())&&(Qe=Qe.replace(g,"$1variable-2$2"));return Qe}(He,Pe,W,O)},M.prototype.indent=function(W,O,K){return O||(O=K="x"),j(W,O,K,this.indentConf)},M}(d.GrammarMode),Ee={electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``"};for(var Y in Ee)Ie.prototype[Y]=Ee[Y];d.registerHelper("wordChars","google-javascript",/[\w$]/),d.defineMode("google-javascript",function(Q,M){return new Ie(Q,M)})})((n=typeof globalThis<"u"?globalThis:n||self).CodeMirror)}(window),function(n,e){(function(i){function s(Q){if(Q&&Q.__esModule)return Q;var M=Object.create(null);return Q&&Object.keys(Q).forEach(function(W){if(W!=="default"){var O=Object.getOwnPropertyDescriptor(Q,W);Object.defineProperty(M,W,O.get?O:{enumerable:!0,get:function(){return Q[W]}})}}),M.default=Q,Object.freeze(M)}var d=s(i),A=[/^(?:var|let|const)(?![a-zA-Z¡-￿_0-9_\$])/,/^while(?![a-zA-Z¡-￿_0-9_\$])/,/^with(?![a-zA-Z¡-￿_0-9_\$])/,/^do(?![a-zA-Z¡-￿_0-9_\$])/,/^debugger(?![a-zA-Z¡-￿_0-9_\$])/,/^if(?![a-zA-Z¡-￿_0-9_\$])/,/^function(?![a-zA-Z¡-￿_0-9_\$])/,/^for(?![a-zA-Z¡-￿_0-9_\$])/,/^default(?![a-zA-Z¡-￿_0-9_\$])/,/^case(?![a-zA-Z¡-￿_0-9_\$])/,/^return(?![a-zA-Z¡-￿_0-9_\$])/,/^throw(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:break|continue)(?![a-zA-Z¡-￿_0-9_\$])/,/^switch(?![a-zA-Z¡-￿_0-9_\$])/,/^try(?![a-zA-Z¡-￿_0-9_\$])/,/^class(?![a-zA-Z¡-￿_0-9_\$])/,/^export(?![a-zA-Z¡-￿_0-9_\$])/,/^import(?![a-zA-Z¡-￿_0-9_\$])/,[0,"async",/^(?![a-zA-Z¡-￿_0-9_\$])/,[5,139]],/^[a-zA-Z¡-￿__\$][a-zA-Z¡-￿_0-9_\$]*/,/^extends(?![a-zA-Z¡-￿_0-9_\$])/,/^enum(?![a-zA-Z¡-￿_0-9_\$])/,[1,";",/^(?=\})/,[7,"canInsertSemi"]],/^from(?![a-zA-Z¡-￿_0-9_\$])/,[1,` -`," "," "],/^[a-zA-Z¡-￿__\$]/,/^const(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:true|false|null|undefined|NaN|Infinity)(?![a-zA-Z¡-￿_0-9_\$])/,/^new(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:0x[0-9a-fA-F_]+|0o[0-7_]+|0b[01_]+|(?:[0-9][0-9_]*(?:\.[0-9_]*)?|\.[0-9_]+)(?:[eE][\+\-]?[0-9_]+)?)/,/^else(?![a-zA-Z¡-￿_0-9_\$])/,/^catch(?![a-zA-Z¡-￿_0-9_\$])/,/^finally(?![a-zA-Z¡-￿_0-9_\$])/,/^as(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:super|this)(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:delete|typeof|yield|await|void)(?![a-zA-Z¡-￿_0-9_\$])/,/^(?:\.\.\.|\!|\+\+?|\-\-?)/,/^\/(?![\/\*])(?:\\.|\[(?:(?!\]).)*\]|(?!\/).)+\/[gimyus]*/,[0,/^[a-zA-Z¡-￿__\$]/,/^[a-zA-Z¡-￿_0-9_\$]*/,[5,508]],/^(?:\+\+|\-\-)/,/^(?:(?:\+|\-|\%|\*|\/(?![\/\*])|\>\>?\>?|\<\",-1],[3,"keyword",/^this(?![a-zA-Z¡-￿_0-9_\$])/,209,3,"atom",A[27],209,3,"keyword",/^typeof(?![a-zA-Z¡-￿_0-9_\$])/,177,3,"keyword",/^(?:keyof|readonly|unique)(?![a-zA-Z¡-￿_0-9_\$])/,178,[0,[5,393],"("],179,3,"keyword",A[28],180,0,180,0,181,2,396,209,{name:"TupleType"},2,233,209,{name:"ObjType"},2,141,209,{name:"string",token:"string"},3,"number",A[29],209],[1,6,182],[1,6,183],[1,6,184],[1,6,185],[[5,401],186,3,"type",A[19],187],[3,"variable",A[19],188],[1,176,209],[1,176,189],[2,171,190,{name:"TypeParams"},0,190],[3,"variable",A[19],191],[1,6,192],[1,6,193],[1,6,194],[1,6,195],[1,6,196],[2,404,209,{name:"TypeArgs"},0,209],[".",197,"[",198,0,209],[")",209],[2,409,199,{name:"ParamListSpec"}],[".",200],[1,6,201],[1,6,202],[1,6,203],[1,6,181],[3,"property",A[19],204],[1,165,205],[3,"operator","=>",206],[1,6,193],[1,6,207],[1,6,208],["]",204],[1,410,209],[1,6,210],[3,"operator",/^[\&\|]/,211,3,"keyword",A[20],211,"[",212,3,"operator","?",213,0,-1],[1,6,214],[1,6,215],[1,6,216],[1,176,217],[1,176,218,0,218],[1,176,219],[1,6,210],[1,6,220],[1,6,221],["]",217],[3,"operator",":",222],[1,6,223],[1,176,217],[A[19],225],[1,6,226],[".",-1],[1,176,228,0,-1],[1,6,229],[",",230,0,-1],[1,6,231],[1,176,232,0,232],[1,6,229],["{",234],[1,6,235],[1,416,236,0,236],[1,6,237],[/^[\,\;]/,238,"}",-1],[1,6,239],[1,416,240,0,240],[1,6,237],["{",242],[1,6,243],[1,449,244],[1,6,245],["}",-1],[1,463,247],[1,6,248],[3,"operator","!",249,0,249],[1,6,250],[":",251,0,253],[1,6,252],[1,176,253],[1,6,254],[3,"operator","=",255,0,-1],[1,6,256],[1,367,-1],["(",258],[1,6,259],[1,165,260],[1,6,261],[")",-1],[1,6,263],[3,"keyword",A[30],264,0,-1],[1,6,265],[2,7,-1,{name:"Statement"}],[2,171,267,{name:"TypeParams"},0,267],[1,6,268],[2,466,269,{name:"ParamList"}],[1,6,270],[":",271,0,273],[1,6,272],[1,410,273],[1,6,274],[2,161,-1,{name:"Block"},A[22],-1],[2,471,276,{name:"ForSpec"}],[1,6,277],[2,7,-1,{name:"Statement"}],[3,"keyword",A[31],279,0,287],[1,6,280],["(",281,0,282],[1,6,283],[1,6,284],[1,463,285],[2,161,287,{name:"Block"}],[1,6,286],[")",282],[1,6,288],[3,"keyword",A[32],289,0,-1],[1,6,290],[2,161,-1,{name:"Block"}],[2,171,292,{name:"TypeParams"},0,292],[1,6,293],[3,"keyword",A[20],294,0,296],[1,6,295],[1,176,296],[1,6,297],[3,"keyword",/^implements(?![a-zA-Z¡-￿_0-9_\$])/,298,0,300],[1,6,299],[1,227,300],[1,6,301],[2,482,-1,{name:"ClassBody"}],[1,308,303,0,-1],[1,6,304],[",",305,0,-1],[1,6,306],[1,308,307,0,307],[1,6,304],[3,"variable",/^[a-zA-Z¡-￿__\$][a-zA-Z¡-￿_0-9_\$]*(?= +as)/,309,3,"def",A[19],-1],[1,6,310],[3,"keyword",A[33],311],[1,6,312],[3,"def",A[19],-1],[0,314,2,490,-1,{name:"doccomment.braced"}],[[0,/^(?!\*\/|\@[a-zA-Z¡-￿_0-9]|\{)/,/^[^]/],315],[0,314,0,-1],[1,494,317],[1,313,317,0,-1],["\\",319,` -`,-1],[/^[^]/,-1],["<",321,3,"atom",A[27],-1,3,"keyword",A[34],-1,3,"keyword",A[35],327,3,"operator",A[36],327,3,"keyword",A[18],327,3,"keyword",A[28],329,3,"keyword",A[6],335,3,"keyword",A[15],341,2,500,-1,{name:"ArrowFunc"},3,"variable callee",A[38],346,3,"variable",A[19],-1,3,"number",A[29],-1,2,141,-1,{name:"string",token:"string"},3,"string-2",A[37],-1,1,150,-1,2,512,-1,{name:"ArrayLiteral"},2,517,-1,{name:"ObjectLiteral"},2,522,-1,{name:"ParenExpr"}],[1,6,322],[1,176,323],[1,6,324],[">",325],[1,6,326],[1,320,-1],[1,6,328],[1,320,-1],[1,6,330],[".",331,3,"variable callee",A[38],332,1,320,-1],[1,6,333],[1,6,334],[3,"keyword",/^target(?![a-zA-Z¡-￿_0-9_\$])/,-1],[2,404,-1,{name:"TypeArgs"},0,-1],[1,6,336],[3,"keyword","*",337,0,337],[1,6,338],[3,"def",A[19],339,0,339],[1,6,340],[2,266,-1,{name:"FunctionDef"}],[1,6,342],[[6,527],343,0,344],[3,"def type",A[19],344],[1,6,345],[1,291,-1],[1,6,347],[2,404,-1,{name:"TypeArgs"},0,-1],[3,"keyword",A[33],349,3,"operator","!",-1,3,"operator",A[39],-1,3,"operator",A[40],351,3,"keyword",A[41],351,2,528,-1,{name:"ArgList"},1,150,-1,A[43],353,"[",357,3,"operator","?",361],[1,6,350],[1,176,-1],[1,6,352],[1,165,-1],[1,6,354],[3,"property callee",A[44],355,3,"property",A[19],-1],[1,6,356],[2,404,-1,{name:"TypeArgs"},0,-1],[1,6,358],[1,165,359],[1,6,360],["]",-1],[1,6,362],[1,165,363],[1,6,364],[3,"operator",":",365],[1,6,366],[1,165,-1],[1,320,368],[1,6,369],[1,537,370,0,-1],[1,6,369],[3,"def type",A[19],372,0,-1],[1,6,373],[3,"keyword",A[20],374,0,375],[1,6,376],[1,6,377],[1,176,375],[3,"operator","=",378,0,379],[1,6,380],[1,6,381],[1,176,379],[",",382,0,-1],[1,6,383],[3,"def type",A[19],384,0,385],[1,6,386],[1,6,381],[3,"keyword",A[20],387,0,388],[1,6,389],[1,6,390],[1,176,388],[3,"operator","=",391,0,385],[1,6,392],[1,176,385],["(",394],[1,6,395],[[6,556],-1],["[",397],[1,6,398],[1,559,399],[1,6,400],["]",-1],[A[19],402],[1,6,403],[".",-1],["<",405],[1,6,406],[1,227,407],[1,6,408],[">",-1],[2,466,-1,{name:"ParamList"}],[[5,573],411,0,414],[3,"variable",A[19],412],[1,6,413],[3,"keyword",A[46],414],[1,6,415],[1,176,-1],[3,"keyword",A[28],417,0,417,0,425],[1,6,418],[2,171,419,{name:"TypeParams"},0,419],[1,6,420],[2,466,421,{name:"ParamList"}],[1,6,422],[":",423,0,-1],[1,6,424],[1,410,-1],[3,"keyword",A[42],426,"[",427,3,"def property",A[19],428,2,141,428,{name:"string",token:"string"},3,"number",A[29],428],[1,6,425],[1,6,429],[1,6,430],[[0,[5,576],/^[a-zA-Z¡-￿__\$]/,/^[a-zA-Z¡-￿_0-9_\$]*/],431,1,165,432],[/^\??/,433],[1,6,434],[1,6,435],[1,6,436],[":",437,3,"keyword",/^in(?![a-zA-Z¡-￿_0-9_\$])/,437],["]",438],[2,171,439,{name:"TypeParams"},0,439,0,440],[1,6,441],[1,6,442],[1,6,443],[1,6,444],[1,176,432],[":",445],[2,466,440,{name:"ParamList"}],[":",446,0,-1],[1,6,447],[1,6,448],[1,176,-1],[1,410,-1],[3,"def property",A[19],450,0,-1],[1,6,451],[3,"operator","=",452,0,453],[1,6,454],[1,6,455],[1,367,453],[",",456,0,-1],[1,6,457],[3,"def property",A[19],458,0,459],[1,6,460],[1,6,455],[3,"operator","=",461,0,459],[1,6,462],[1,367,459],[3,"operator","...",464,0,464],[1,6,465],[3,"def",A[19],-1,2,579,-1,{name:"ArrayPattern"},2,584,-1,{name:"ObjectPattern"}],["(",467],[1,6,468],[1,589,469],[1,6,470],[")",-1],["(",472],[1,6,473],[2,629,474,{name:"StatementMaybeOf"}],[1,6,475],[1,165,476,0,476,0,480],[1,6,477],[";",478],[1,6,479],[1,165,480,0,480],[1,6,481],[")",-1],["{",483],[1,6,484],[0,485,"@",486,"}",-1],[3,"keyword",A[42],487,3,"keyword",[0,"override",/^(?![a-zA-Z¡-￿_0-9_\$])/,[5,634]],487,2,635,488,{name:"ClassItem"}],[1,6,489],[1,6,485],[1,6,484],[1,165,488],["{",491],[1,494,492,1,313,493],[[0,/^(?!\}|\*\/)/,/^[^]/],492,0,493],[/^(?:\}|(?=\*\/))/,-1],[3,"tag",/^\@(?:member|param|arg(?:ument)?|module|namespace|typedef)(?![a-zA-Z¡-￿_0-9])/,495,3,"tag",/^\@[a-zA-Z¡-￿_0-9]+/,-1],[A[24],495,"{",496,0,497,0,-1],[2,656,498,{name:"doccomment.type"}],[3,"def",/^[a-zA-Z¡-￿_0-9]+/,-1,0,-1],["}",499],[[1,` -`," "," ",/^\*(?!\/)/],499,0,497],[3,"def",[0,/^[a-zA-Z¡-￿__\$]/,/^[a-zA-Z¡-￿_0-9_\$]*/,[5,660]],506,[5,666],501],[2,466,502,{name:"ParamList"}],[1,6,503],[":",504,0,506],[1,6,505],[1,410,506],[1,6,507],[2,673,-1,{name:"ArrowRest"}],[/^\<(?! )/,-1,/^ */,509],[1,678,510,0,511],[/^ */,511],["(",-1],["[",513],[1,6,514],[1,680,515],[1,6,516],["]",-1],["{",518],[1,6,519],[1,686,520],[1,6,521],["}",-1],["(",523],[1,6,524],[1,165,525],[1,6,526],[")",-1],[3,"keyword",A[20],-1],["(",529],[1,6,530],[1,680,531],[1,6,532],[")",-1],[/^ */,534],[1,678,535,0,536],[/^ */,536],["(",-1],[3,"keyword",A[33],538,3,"operator","!",-1,3,"operator",A[39],-1,3,"operator",A[40],540,3,"keyword",A[41],540,2,528,-1,{name:"ArgList"},1,150,-1,A[43],542,"[",546,3,"operator","?",550],[1,6,539],[1,176,-1],[1,6,541],[1,367,-1],[1,6,543],[3,"property callee",A[44],544,3,"property",A[19],-1],[1,6,545],[2,404,-1,{name:"TypeArgs"},0,-1],[1,6,547],[1,165,548],[1,6,549],["]",-1],[1,6,551],[1,165,552],[1,6,553],[3,"operator",":",554],[1,6,555],[1,367,-1],[/^(?:\)|\.\.\.)/,-1,A[19],557],[1,6,558],[/^[\?\:]/,-1],[A[45],560,0,561,0,-1],[1,6,562],[1,6,563],[":",561],[1,176,564],[1,6,565],[",",566,0,-1],[1,6,567],[A[45],568,0,569,0,570],[1,6,571],[1,6,572],[1,6,565],[":",569],[1,176,570],[A[19],574],[1,6,575],[3,"keyword",A[46],-1],[A[19],577],[1,6,578],[/^(?:\:|in)/,-1],["[",580],[1,6,581],[1,692,582],[1,6,583],["]",-1],["{",585],[1,6,586],[1,698,587],[1,6,588],["}",-1],["@",590,0,591,0,-1],[1,6,592],[3,"keyword",A[42],593,A[47],594],[1,165,595],[1,6,591],[1,6,596],[1,6,589],[1,463,597],[1,6,598],[/^\??/,599],[1,6,600],[":",601,0,602],[1,6,603],[1,6,604],[1,176,602],[3,"operator","=",605,0,606],[1,6,607],[1,6,608],[1,367,606],[",",609,0,-1],[1,6,610],["@",611,0,612,0,613],[1,6,614],[3,"keyword",A[42],615,A[47],616],[1,6,608],[1,165,617],[1,6,612],[1,6,618],[1,6,610],[1,463,619],[1,6,620],[/^\??/,621],[1,6,622],[":",623,0,624],[1,6,625],[1,6,626],[1,176,624],[3,"operator","=",627,0,613],[1,6,628],[1,367,613],[2,7,630,{name:"Statement"}],[1,6,631],[3,"keyword",/^of(?![a-zA-Z¡-￿_0-9_\$])/,632,0,-1],[1,6,633],[1,165,-1],[A[24],634,A[25],-1],[3,"keyword",A[48],636,0,636],[1,6,637],[3,"def property",A[19],642,"[",638,3,"number",A[29],642,2,141,642,{name:"string",token:"string"}],[1,6,639],[1,165,640],[1,6,641],["]",642],[1,6,643],[3,"keyword","*",644,0,644,/^[\!\?]?/,645],[1,6,646],[1,6,647],[2,266,-1,{name:"FunctionDef"}],[":",648,0,649],[1,6,650],[1,6,651],[1,176,649],[3,"operator","=",652,0,653],[1,6,654],[1,6,655],[1,165,653],[A[22],-1],[3,"type","{",657,3,"type",/^(?:(?!\{|\}|\*\/).)+/,656,` -`,658,0,-1],[2,656,659,{name:"doccomment.type"}],[/^[\t ]*(?:\*(?!\/)[\t ]*)?/,656],[/^(?=\*\/)/,656,3,"type","}",656],[1,6,661],[":",662,0,665],[1,6,663],[1,176,664],[1,6,665],["=>",-1],[2,466,667,{name:"ParamList"}],[1,6,668],[":",669,0,671],[1,6,670],[1,410,671],[1,6,672],["=>",-1],[3,"operator","=>",674],[1,6,675],[2,171,676,{name:"TypeParams"},0,676],[1,6,677],[2,161,-1,{name:"Block"},1,367,-1],["<",679],[1,678,679,[1,"=>",[0,/^(?!\>)/,/^[^]/]],679,">",-1],[1,367,681,0,-1],[1,6,682],[",",683,0,-1],[1,6,684],[1,367,685,0,685],[1,6,682],[2,704,687,{name:"ObjectMember"},0,-1],[1,6,688],[",",689,0,-1],[1,6,690],[2,704,691,{name:"ObjectMember"},0,691],[1,6,688],[1,719,693,0,693,0,-1],[1,6,694],[",",695,0,-1],[1,6,696],[1,719,697,0,697,0,697],[1,6,694],[1,724,699,0,-1],[1,6,700],[",",701,0,-1],[1,6,702],[1,724,703,0,703],[1,6,700],[3,"keyword",A[48],705,0,705],[1,6,706],[3,"keyword","*",707,0,707],[1,6,708],[3,"def property",A[19],709,"[",710,3,"number",A[29],709,2,141,709,{name:"string",token:"string"},3,"operator","...",711],[1,6,712],[1,6,713],[1,6,714],[2,266,-1,{name:"FunctionDef"},":",715,0,-1],[1,165,716],[1,367,-1],[1,6,717],[1,6,718],[1,367,-1],["]",709],[1,463,720],[1,6,721],[3,"operator","=",722,0,-1],[1,6,723],[1,367,-1],[3,"def",/^[a-zA-Z¡-￿__\$][a-zA-Z¡-￿_0-9_\$]*(?![a-z]|[A-Z]|[¡-￿]|_|[0-9]|_|\$| *\:)/,725,3,"property",A[19],729,3,"number",A[29],729,2,141,729,{name:"string",token:"string"},3,"operator","...",733],[1,6,726],[3,"operator","=",727,0,-1],[1,6,728],[1,367,-1],[1,6,730],[":",731],[1,6,732],[1,719,-1],[1,6,734],[1,719,-1]],start:0,token:5}),g=/(^|\s)variable($|\s)/;function m(Q){var M=/^(if|for|do|while|try)\b/.exec(Q.startLine.slice(Q.startPos));return M&&M[1]}var v={Block:"}",BlockOf:"}",ClassBody:"}",AnnotationTypeBody:"}",ObjectLiteral:"}",ObjectPattern:"}",EnumBody:"}",LambdaBlock:"}",WhenBody:"}",ObjType:"}",ArrayInitializer:"}",NamespaceBlock:"}",BraceTokens:"}",ArrayLiteral:"]",BracketTokens:"]",TupleType:"]",ParamList:")",SimpleParamList:")",ArgList:")",ParenExpr:")",CondExpr:")",ForSpec:")",ParenTokens:")",ParenthesizedExpression:")",ConstructorParamList:")",TypeParams:">",TypeArgs:">",TemplateArgs:">",TemplateParams:">"},C=["Block","NamespaceBlock","ClassBody","AnnotationTypeBody","BlockOf","EnumBody"],_=["Statement","ObjectMember","ClassItem","EnumConstant","AnnotationTypeItem","ArgExpr","StatementMaybeOf","NewExpr"];function B(Q,M){for(var W=Q.startLine;;Q=Q.parent){if(Q.name=="CondExpr")return d.countColumn(Q.startLine,Q.startPos+1,M.tabSize);if(_.indexOf(Q.name)>-1&&/(^\s*|[\(\{\[])$/.test(Q.startLine.slice(0,Q.startPos)))return d.countColumn(Q.startLine,Q.startPos,M.tabSize);if(!Q.parent||Q.parent.startLine!=W)return d.countColumn(Q.startLine,null,M.tabSize)}}function S(Q,M,W){if(!Q)return 0;if(Q.name=="string"||Q.name=="comment")return d.Pass;var O,K,se=v[Q.name],Oe=M&&M.charAt(0)==se;if(se&&W.align!==!1&&(!W.dontAlign||W.dontAlign.indexOf(Q.name)<0)&&function(st){return!/^\s*((\/\/.*)?$|.*=>)/.test(st.startLine.slice(st.startPos+1))}(Q))return d.countColumn(Q.startLine,Q.startPos,W.tabSize)+(Oe?0:1);if(se&&C.indexOf(Q.name)>-1){var ze=Q.parent;ze&&ze.name=="Statement"&&ze.parent&&ze.parent.name=="Statement"&&m(ze.parent)&&!m(ze)&&(ze=ze.parent);var He=N(ze,W);return Oe||Q.name=="NamespaceBlock"?He:/^(public|private|protected)\s*:/.test(M)?He+1:!(K=Q.parent)||K.name!="Statement"||!/^switch\b/.test(K.startLine.slice(K.startPos))||(O=M)&&/^\s*(case|default)\b/.test(O)?He+W.indentUnit:He+2*W.indentUnit}var Qe=B(Q,W);return se?Oe&&(W.dontCloseBrackets||"").indexOf(se)<0?Qe:Qe+W.indentUnit*((W.doubleIndentBrackets||"").indexOf(se)<0?1:2):_.indexOf(Q.name)>-1?m(Q)?Qe+W.indentUnit:Qe+2*W.indentUnit:Q.name=="Alternative"||Q.name=="CatchFinally"?(Qe=B(Q.parent,W),!M||/^((else|catch|finally)\b|\/[\/\*])/.test(M)?Qe:Qe+W.indentUnit):Q.name=="ArrowRest"?Qe+W.indentUnit:Q.name=="NewExpression"&&Q.startLine.length>Q.startPos+5?d.countColumn(Q.startLine,Q.startPos,W.tabSize)+2*W.indentUnit:Q.name=="InitializerList"?Qe+2:Q.name!="ThrowsClause"||/throws\s*$/.test(Q.startLine.slice(Q.startPos))?S(Q.parent,M,W):Qe+2*W.indentUnit}function N(Q,M){for(;;Q=Q.parent){if(!Q)return 0;if(_.indexOf(Q.name)>-1||Q.parent&&v[Q.parent.name])return d.countColumn(Q.startLine,null,M.tabSize)}}function j(Q,M,W,O){var K=Q.context&&Q.context.name;if(K=="DeclType"||K=="BeforeStatement"||K=="AnnotationHead"||K=="Template"||K=="str")return N(Q.context,O);if((K=="doccomment.braced"||K=="doccomment.tagGroup")&&!/^[@*]/.test(M))return d.countColumn(Q.context.startLine,null,O.tabSize)+2*O.indentUnit;var se=O.forceContent&&/^\s*(\/\/.*)?$/.test(W)?"x":W;return S(Q.contextAt(se,W.length-M.length),M,O)}function oe(Q,M){for(var W=M-1;W>=0;W--){var O=Q.charCodeAt(W);if(O===10)break;if(O!==32&&O!==9)return!1}return!0}var X=function(Q){this.config=Q};X.prototype.startState=function(){return new le},X.prototype.copyState=function(Q){return Q.copy()},X.prototype.shouldInterceptTokenizing=function(Q){var M=Q.currentTemplateState;return M!==void 0&&M.mode!==null},X.prototype.interceptTokenizing=function(Q,M){if(Q.match("${")&&(Q.backUp(2),!this.isEscaped(Q,Q.pos-2)))return{handled:!1};if(Q.peek()==="`"&&!this.isEscaped(Q,Q.pos))return{handled:!1};var W=M.currentTemplateState,O=W.mode,K=W.state,se=O.token(Q,K);return this.backupIfEmbeddedTokenizerOvershot(Q),{handled:!0,style:se}},X.prototype.trackState=function(Q,M,W){if(Q){var O=W.currentTemplateState;O&&O.kind!=="inline-expression"?this.trackStateInTemplate(Q,M,W,O):this.trackStateNotInTemplate(Q,M,W,O),W.previousVariable=Q==="variable"?M.current():null}},X.prototype.trackStateNotInTemplate=function(Q,M,W,O){if(O&&Q==="string-2"&&M.current().startsWith("}"))return W.templateStack.pop(),void M.backUp(M.current().length-1);if(Q==="string-2"&&M.current().startsWith("`")){var K=this.getModeForTemplateTag(W.previousVariable),se="template";K?(M.backUp(M.current().length-1),W.templateStack.push(new xe(se,K,CodeMirror.startState(K)))):W.templateStack.push(new xe(se,null,null))}},X.prototype.trackStateInTemplate=function(Q,M,W,O){Q!=="string-2"||!M.current().endsWith("`")||this.isEscaped(M.pos-1)?Q!=="string-2"||!M.current().endsWith("${")||this.isEscaped(M.pos-2)||W.templateStack.push(new xe("inline-expression",null,null)):W.templateStack.pop()},X.prototype.backupIfEmbeddedTokenizerOvershot=function(Q){for(var M=Q.current(),W=0;;){var O=M.slice(W).search(/`|\$\{/);if(O===-1)return;O+=W;var K=M.length-O,se=Q.pos-K;if(!this.isEscaped(Q,se))return void Q.backUp(M.length-O);W=O+1}},X.prototype.isEscaped=function(Q,M){for(var W=!1,O=M;O>0&&Q.string[O-1]==="\\";)W=!W,O--;return W},X.prototype.getModeForTemplateTag=function(Q){if(!Q)return null;Q==="htm"&&(Q="html");for(var M=["google-"+Q,""+Q],W=0;W)",dontCloseBrackets:")",tabSize:W.tabSize,indentUnit:W.indentUnit,forceContent:!0}}return Q&&(M.__proto__=Q),M.prototype=Object.create(Q&&Q.prototype),M.prototype.constructor=M,M.prototype.startState=function(){var W=Q.prototype.startState.call(this);return W.embeddedParserState=this.templateTokenizer.startState(),W},M.prototype.copyState=function(W){var O=Q.prototype.copyState.call(this,W);return O.embeddedParserState=this.templateTokenizer.copyState(W.embeddedParserState),O},M.prototype.token=function(W,O){var K=O.embeddedParserState;if(this.templateTokenizer.shouldInterceptTokenizing(K)){var se=this.templateTokenizer.interceptTokenizing(W,K),Oe=se.handled,ze=se.style;if(Oe)return ze}var He=Q.prototype.token.call(this,W,O);return this.templateTokenizer.trackState(He,W,K),function(Qe,st,ht,Fe){if(Qe=="def"){var De=function(rt,he){for(var ue=rt;ue;ue=ue.parent)if(he.indexOf(ue.name)>-1)return ue}(Fe.context,st),qe=ht.current();if(De&&(De.locals||(De.locals=[]),De.locals.indexOf(qe)==-1&&De.locals.push(qe),Fe.context.name!="funcName"))return"def local"}else g.test(Qe)&&!/qualified/.test(Qe)&&function(rt,he){for(var ue=rt;ue;ue=ue.parent)if(ue.locals&&ue.locals.indexOf(he)>-1)return!0;return!1}(Fe.context,ht.current())&&(Qe=Qe.replace(g,"$1variable-2$2"));return Qe}(He,Pe,W,O)},M.prototype.indent=function(W,O,K){return O||(O=K="x"),j(W,O,K,this.indentConf)},M}(d.GrammarMode),Ee={electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``"};for(var Y in Ee)Ie.prototype[Y]=Ee[Y];d.registerHelper("wordChars","google-typescript",/[\w$]/),d.defineMode("google-typescript",function(Q,M){return new Ie(Q,M)})})((n=typeof globalThis<"u"?globalThis:n||self).CodeMirror)}(window),function(n,e){(function(i){function s(S){if(S&&S.__esModule)return S;var N=Object.create(null);return S&&Object.keys(S).forEach(function(j){if(j!=="default"){var oe=Object.getOwnPropertyDescriptor(S,j);Object.defineProperty(N,j,oe.get?oe:{enumerable:!0,get:function(){return S[j]}})}}),N.default=S,Object.freeze(N)}var d=s(i),A=[[1,` -`," "," "],/^[a-zA-Z\-\.0-9_]+/],p=Object.freeze({__proto__:null,nodes:[[1,3,0,0,1],[/^[^]/,0],[/^[^]/,-1],[2,4,-1,{name:"comment",token:"comment"},2,6,-1,{name:"doctype",token:"meta"},2,8,-1,{name:"tag"},3,"atom",/^\&(?:(?![\;\n\t ]).)*\;/,-1,[1,` -`,/^(?:(?![\&\<]).)+/],-1],["",-1],[/^(?:\<\!doctype|\<\!DOCTYPE)(?![a-zA-Z\-\.0-9_])/,7],[[0,/^(?!\>)/,/^[^]/],7,">",-1],[2,14,9,{name:"openTag"}],[3,"tag","/>",-1,[7,"selfClosing"],10,3,"tag",">",11],[3,"tag",">",-1],[1,3,11,/^(?=\<\/)/,12],[[7,"matchingTag"],13,0,-1],[2,21,-1,{name:"closeTag"}],[3,"tag",[0,"<",[6,24]],15],[A[0],15,3,"tag",A[1],16],[A[0],16,0,17],[3,"attribute",A[1],18,0,-1],[A[0],18,"=",19,0,20],[A[0],19,2,25,20,{name:"attributeValue",token:"string"}],[A[0],20,0,17],[3,"tag","",-1],[A[0],24,"/",-1],['"',26,"'",27,/^(?:(?![\n\t \>]).)*/,-1],[[0,/^(?!\")/,/^[^]/],26,'"',-1],[[0,/^(?!\')/,/^[^]/],27,"'",-1]],start:0,token:2});function g(S){var N=/^\s*([\w_\.-]+)/.exec(S);return N?N[1].toLowerCase():"x"}function m(S){return g(S.startLine.slice(S.startPos+1))}var v="area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "),C={selfClosing:function(S,N,j){return v.indexOf(m(j))>-1},matchingTag:function(S,N,j){return g(S.slice(N+2))==m(j)}},_=function(S){function N(j,oe){S.call(this,p,{predicates:C}),this.conf=j}return S&&(N.__proto__=S),N.prototype=Object.create(S&&S.prototype),N.prototype.constructor=N,N.prototype.indent=function(j,oe,X){return function(le,ye,xe,Pe){for(var Ie=le.contextAt(xe,xe.length-ye.length),Ee=/^\s*<\/\s*([\w_\.-]+)/.exec(ye);Ie;){if(Ie.name=="tag"){var Y=CodeMirror.countColumn(Ie.startLine,null,Pe.tabSize);return Ee&&Ee[1].toLowerCase()==m(Ie)?Y:Y+Pe.indentUnit}if(Ie.name=="openTag")return CodeMirror.countColumn(Ie.startLine,null,Pe.tabSize)+2*Pe.indentUnit;Ie=Ie.parent}return 0}(j,oe,X,this.conf)},N}(d.GrammarMode),B=_.prototype;B.electricInput=/^\s*<\/.*?>/,B.blockCommentStart="",B.fold="xml",function(S){S.xmlCurrentTag=function(N){var j=N.context;if(!j||j.name!="openTag"&&j.name!="closeTag")return null;var oe=/^<\/?\s*([\w\-\.]+)/.exec(j.startLine.slice(j.startPos));return oe?{name:oe[1],close:j.name=="closeTag"}:null},S.xmlCurrentContext=function(N){for(var j=[],oe=N.context;oe;oe=oe.parent)if(oe.name=="tag"){var X=/^<\s*([\w\-\.]+)/.exec(oe.startLine.slice(oe.startPos));X&&j.push(X[1])}return j.reverse()}}(B),d.defineMode("google-html",function(S,N){return new _(S,N)})})((n=typeof globalThis<"u"?globalThis:n||self).CodeMirror)}(window),function(n){function e(Ie){for(var Ee={},Y=0;Y*\/]/.test(V)?ve(null,"select-op"):V=="."&&Z.match(/^-?[_a-z][_a-z0-9-]*/i)?ve("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(V)?ve(null,V):Z.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(Z.current())&&(ie.tokenize=gt),ve("variable callee","variable")):/[\w\\\-]/.test(V)?(Z.eatWhile(/[\w\\\-]/),ve("property","word")):ve(null,null):/[\d.]/.test(Z.peek())?(Z.eatWhile(/[\w.%]/),ve("number","unit")):Z.match(/^-[\w\\\-]*/)?(Z.eatWhile(/[\w\\\-]/),Z.match(/^\s*:/,!1)?ve("variable-2","variable-definition"):ve("variable-2","variable")):Z.match(/^\w+-/)?ve("meta","meta"):void 0}function ot(Z){return function(ie,V){for(var Ae,Ue=!1;(Ae=ie.next())!=null;){if(Ae==Z&&!Ue){Z==")"&&ie.backUp(1);break}Ue=!Ue&&Ae=="\\"}return(Ae==Z||!Ue&&Z!=")")&&(V.tokenize=null),ve("string","string")}}function gt(Z,ie){return Z.next(),Z.match(/^\s*[\"\')]/,!1)?ie.tokenize=null:ie.tokenize=ot(")"),ve(null,"(")}function et(Z,ie,V){this.type=Z,this.indent=ie,this.prev=V}function L(Z,ie,V,Ae){return Z.context=new et(V,ie.indentation()+(Ae===!1?0:W),Z.context),V}function U(Z){return Z.context.prev&&(Z.context=Z.context.prev),Z.context.type}function ae(Z,ie,V){return ke[V.context.type](Z,ie,V)}function fe(Z,ie,V,Ae){for(var Ue=Ae||1;Ue>0;Ue--)V.context=V.context.prev;return ae(Z,ie,V)}function Ce(Z){var ie=Z.current().toLowerCase();M=De.hasOwnProperty(ie)?"atom":Fe.hasOwnProperty(ie)?"keyword":"variable"}var ke={top:function(Z,ie,V){if(Z=="{")return L(V,ie,"block");if(Z=="}"&&V.context.prev)return U(V);if(he&&/@component/i.test(Z))return L(V,ie,"atComponentBlock");if(/^@(-moz-)?document$/i.test(Z))return L(V,ie,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(Z))return L(V,ie,"atBlock");if(/^@(font-face|counter-style)/i.test(Z))return V.stateArg=Z,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(Z))return"keyframes";if(Z&&Z.charAt(0)=="@")return L(V,ie,"at");if(Z=="hash")M="builtin";else if(Z=="word")M="tag";else{if(Z=="variable-definition")return"maybeprop";if(Z=="interpolation")return L(V,ie,"interpolation");if(Z==":")return"pseudo";if(qe&&Z=="(")return L(V,ie,"parens")}return V.context.type},block:function(Z,ie,V){if(Z=="word"){var Ae=ie.current().toLowerCase();return He.hasOwnProperty(Ae)?(M="property","maybeprop"):Qe.hasOwnProperty(Ae)?(M=ue?"string-2":"property","maybeprop"):qe?(M=ie.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(M+=" error","maybeprop")}return Z=="meta"?"block":qe||Z!="hash"&&Z!="qualifier"?ke.top(Z,ie,V):(M="error","block")},maybeprop:function(Z,ie,V){return Z==":"?L(V,ie,"prop"):ae(Z,ie,V)},prop:function(Z,ie,V){if(Z==";")return U(V);if(Z=="{"&&qe)return L(V,ie,"propBlock");if(Z=="}"||Z=="{")return fe(Z,ie,V);if(Z=="(")return L(V,ie,"parens");if(Z!="hash"||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(ie.current())){if(Z=="word")Ce(ie);else if(Z=="interpolation")return L(V,ie,"interpolation")}else M+=" error";return"prop"},propBlock:function(Z,ie,V){return Z=="}"?U(V):Z=="word"?(M="property","maybeprop"):V.context.type},parens:function(Z,ie,V){return Z=="{"||Z=="}"?fe(Z,ie,V):Z==")"?U(V):Z=="("?L(V,ie,"parens"):Z=="interpolation"?L(V,ie,"interpolation"):(Z=="word"&&Ce(ie),"parens")},pseudo:function(Z,ie,V){return Z=="meta"?"pseudo":Z=="word"?(M="variable-3",V.context.type):ae(Z,ie,V)},documentTypes:function(Z,ie,V){return Z=="word"&&K.hasOwnProperty(ie.current())?(M="tag",V.context.type):ke.atBlock(Z,ie,V)},atBlock:function(Z,ie,V){if(Z=="(")return L(V,ie,"atBlock_parens");if(Z=="}"||Z==";")return fe(Z,ie,V);if(Z=="{")return U(V)&&L(V,ie,qe?"block":"top");if(Z=="interpolation")return L(V,ie,"interpolation");if(Z=="word"){var Ae=ie.current().toLowerCase();M=Ae=="only"||Ae=="not"||Ae=="and"||Ae=="or"?"keyword":se.hasOwnProperty(Ae)?"attribute":Oe.hasOwnProperty(Ae)?"property":ze.hasOwnProperty(Ae)?"keyword":He.hasOwnProperty(Ae)?"property":Qe.hasOwnProperty(Ae)?ue?"string-2":"property":De.hasOwnProperty(Ae)?"atom":Fe.hasOwnProperty(Ae)?"keyword":"error"}return V.context.type},atComponentBlock:function(Z,ie,V){return Z=="}"?fe(Z,ie,V):Z=="{"?U(V)&&L(V,ie,qe?"block":"top",!1):(Z=="word"&&(M="error"),V.context.type)},atBlock_parens:function(Z,ie,V){return Z==")"?U(V):Z=="{"||Z=="}"?fe(Z,ie,V,2):ke.atBlock(Z,ie,V)},restricted_atBlock_before:function(Z,ie,V){return Z=="{"?L(V,ie,"restricted_atBlock"):Z=="word"&&V.stateArg=="@counter-style"?(M="variable","restricted_atBlock_before"):ae(Z,ie,V)},restricted_atBlock:function(Z,ie,V){return Z=="}"?(V.stateArg=null,U(V)):Z=="word"?(M=V.stateArg=="@font-face"&&!st.hasOwnProperty(ie.current().toLowerCase())||V.stateArg=="@counter-style"&&!ht.hasOwnProperty(ie.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(Z,ie,V){return Z=="word"?(M="variable","keyframes"):Z=="{"?L(V,ie,"top"):ae(Z,ie,V)},at:function(Z,ie,V){return Z==";"?U(V):Z=="{"||Z=="}"?fe(Z,ie,V):(Z=="word"?M="tag":Z=="hash"&&(M="builtin"),"at")},interpolation:function(Z,ie,V){return Z=="}"?U(V):Z=="{"||Z==";"?fe(Z,ie,V):(Z=="word"?M="variable":Z!="variable"&&Z!="("&&Z!=")"&&(M="error"),"interpolation")}};return{startState:function(Z){return{tokenize:null,state:Y?"block":"top",stateArg:null,context:new et(Y?"block":"top",Z||0,null)}},token:function(Z,ie){if(!ie.tokenize&&Z.eatSpace())return null;var V=(ie.tokenize||Te)(Z,ie);return V&&typeof V=="object"&&(Q=V[1],V=V[0]),M=V,Q!="comment"&&(ie.state=ke[ie.state](Q,Z,ie)),M},indent:function(Z,ie){var V=Z.context,Ae=ie&&ie.charAt(0),Ue=V.indent;return V.type!="prop"||Ae!="}"&&Ae!=")"||(V=V.prev),V.prev&&(Ae!="}"||V.type!="block"&&V.type!="top"&&V.type!="interpolation"&&V.type!="restricted_atBlock"?(Ae!=")"||V.type!="parens"&&V.type!="atBlock_parens")&&(Ae!="{"||V.type!="at"&&V.type!="atBlock")||(Ue=Math.max(0,V.indent-W)):Ue=(V=V.prev).indent),Ue},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:rt,fold:"brace"}});var i=["domain","regexp","url","url-prefix"],s=e(i),d=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],A=e(d),p=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme"],g=e(p),m=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light"],v=e(m),C=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],_=e(C),B=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],S=e(B),N=e(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),j=e(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),oe=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],X=e(oe),le=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],ye=e(le),xe=i.concat(d).concat(p).concat(m).concat(C).concat(B).concat(oe).concat(le);function Pe(Ie,Ee){for(var Y,Q=!1;(Y=Ie.next())!=null;){if(Q&&Y=="/"){Ee.tokenize=null;break}Q=Y=="*"}return["comment","comment"]}n.registerHelper("hintWords","css",xe),n.defineMIME("text/css",{documentTypes:s,mediaTypes:A,mediaFeatures:g,mediaValueKeywords:v,propertyKeywords:_,nonStandardPropertyKeywords:S,fontProperties:N,counterDescriptors:j,colorKeywords:X,valueKeywords:ye,tokenHooks:{"/":function(Ie,Ee){return!!Ie.eat("*")&&(Ee.tokenize=Pe,Pe(Ie,Ee))}},name:"css"}),n.defineMIME("text/x-scss",{mediaTypes:A,mediaFeatures:g,mediaValueKeywords:v,propertyKeywords:_,nonStandardPropertyKeywords:S,colorKeywords:X,valueKeywords:ye,fontProperties:N,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(Ie,Ee){return Ie.eat("/")?(Ie.skipToEnd(),["comment","comment"]):Ie.eat("*")?(Ee.tokenize=Pe,Pe(Ie,Ee)):["operator","operator"]},":":function(Ie){return!!Ie.match(/^\s*\{/,!1)&&[null,null]},$:function(Ie){return Ie.match(/^[\w-]+/),Ie.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(Ie){return!!Ie.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),n.defineMIME("text/x-less",{mediaTypes:A,mediaFeatures:g,mediaValueKeywords:v,propertyKeywords:_,nonStandardPropertyKeywords:S,colorKeywords:X,valueKeywords:ye,fontProperties:N,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(Ie,Ee){return Ie.eat("/")?(Ie.skipToEnd(),["comment","comment"]):Ie.eat("*")?(Ee.tokenize=Pe,Pe(Ie,Ee)):["operator","operator"]},"@":function(Ie){return Ie.eat("{")?[null,"interpolation"]:!Ie.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(Ie.eatWhile(/[\w\\\-]/),Ie.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),n.defineMIME("text/x-gss",{documentTypes:s,mediaTypes:A,mediaFeatures:g,propertyKeywords:_,nonStandardPropertyKeywords:S,fontProperties:N,counterDescriptors:j,colorKeywords:X,valueKeywords:ye,supportsAtComponent:!0,tokenHooks:{"/":function(Ie,Ee){return!!Ie.eat("*")&&(Ee.tokenize=Pe,Pe(Ie,Ee))}},name:"css",helperType:"gss"})}(CodeMirror),function(n){n.defineMode("javascript",function(e,i){var s,d,A=e.indentUnit,p=i.statementIndent,g=i.jsonld,m=i.json||g,v=i.trackScope!==!1,C=i.typescript,_=i.wordCharacters||/[\w$\xa1-\uffff]/,B=function(){function E(Xe){return{type:Xe,style:"keyword"}}var D=E("keyword a"),Le=E("keyword b"),je=E("keyword c"),Ve=E("keyword d"),bt=E("operator"),Tt={type:"atom",style:"atom"};return{if:E("if"),while:D,with:D,else:Le,do:Le,try:Le,finally:Le,return:Ve,break:Ve,continue:Ve,new:E("new"),delete:je,void:je,throw:je,debugger:E("debugger"),var:E("var"),const:E("var"),let:E("var"),function:E("function"),catch:E("catch"),for:E("for"),switch:E("switch"),case:E("case"),default:E("default"),in:bt,typeof:bt,instanceof:bt,true:Tt,false:Tt,null:Tt,undefined:Tt,NaN:Tt,Infinity:Tt,this:E("this"),class:E("class"),super:E("atom"),yield:je,export:E("export"),import:E("import"),extends:je,await:je}}(),S=/[+\-*&%=<>!?|~^@]/,N=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function j(E,D,Le){return s=E,d=Le,D}function oe(E,D){var Le,je=E.next();if(je=='"'||je=="'")return D.tokenize=(Le=je,function(Tt,Xe){var Qn,Kn=!1;if(g&&Tt.peek()=="@"&&Tt.match(N))return Xe.tokenize=oe,j("jsonld-keyword","meta");for(;(Qn=Tt.next())!=null&&(Qn!=Le||Kn);)Kn=!Kn&&Qn=="\\";return Kn||(Xe.tokenize=oe),j("string","string")}),D.tokenize(E,D);if(je=="."&&E.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return j("number","number");if(je=="."&&E.match(".."))return j("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(je))return j(je);if(je=="="&&E.eat(">"))return j("=>","operator");if(je=="0"&&E.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return j("number","number");if(/\d/.test(je))return E.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),j("number","number");if(je=="/")return E.eat("*")?(D.tokenize=X,X(E,D)):E.eat("/")?(E.skipToEnd(),j("comment","comment")):Kr(E,D,1)?(function(Tt){for(var Xe,Qn=!1,Kn=!1;(Xe=Tt.next())!=null;){if(!Qn){if(Xe=="/"&&!Kn)return;Xe=="["?Kn=!0:Kn&&Xe=="]"&&(Kn=!1)}Qn=!Qn&&Xe=="\\"}}(E),E.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),j("regexp","string-2")):(E.eat("="),j("operator","operator",E.current()));if(je=="`")return D.tokenize=le,le(E,D);if(je=="#"&&E.peek()=="!")return E.skipToEnd(),j("meta","meta");if(je=="#"&&E.eatWhile(_))return j("variable","property");if(je=="<"&&E.match("!--")||je=="-"&&E.match("->")&&!/\S/.test(E.string.slice(0,E.start)))return E.skipToEnd(),j("comment","comment");if(S.test(je))return je==">"&&D.lexical&&D.lexical.type==">"||(E.eat("=")?je!="!"&&je!="="||E.eat("="):/[<>*+\-|&?]/.test(je)&&(E.eat(je),je==">"&&E.eat(je))),je=="?"&&E.eat(".")?j("."):j("operator","operator",E.current());if(_.test(je)){E.eatWhile(_);var Ve=E.current();if(D.lastType!="."){if(B.propertyIsEnumerable(Ve)){var bt=B[Ve];return j(bt.type,bt.style,Ve)}if(Ve=="async"&&E.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return j("async","keyword",Ve)}return j("variable","variable",Ve)}}function X(E,D){for(var Le,je=!1;Le=E.next();){if(Le=="/"&&je){D.tokenize=oe;break}je=Le=="*"}return j("comment","comment")}function le(E,D){for(var Le,je=!1;(Le=E.next())!=null;){if(!je&&(Le=="`"||Le=="$"&&E.eat("{"))){D.tokenize=oe;break}je=!je&&Le=="\\"}return j("quasi","string-2",E.current())}function ye(E,D){D.fatArrowAt&&(D.fatArrowAt=null);var Le=E.string.indexOf("=>",E.start);if(!(Le<0)){if(C){var je=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(E.string.slice(E.start,Le));je&&(Le=je.index)}for(var Ve=0,bt=!1,Tt=Le-1;Tt>=0;--Tt){var Xe=E.string.charAt(Tt),Qn="([{}])".indexOf(Xe);if(Qn>=0&&Qn<3){if(!Ve){++Tt;break}if(--Ve==0){Xe=="("&&(bt=!0);break}}else if(Qn>=3&&Qn<6)++Ve;else if(_.test(Xe))bt=!0;else if(/["'\/`]/.test(Xe))for(;;--Tt){if(Tt==0)return;if(E.string.charAt(Tt-1)==Xe&&E.string.charAt(Tt-2)!="\\"){Tt--;break}}else if(bt&&!Ve){++Tt;break}}bt&&!Ve&&(D.fatArrowAt=Tt)}}var xe={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function Pe(E,D,Le,je,Ve,bt){this.indented=E,this.column=D,this.type=Le,this.prev=Ve,this.info=bt,je!=null&&(this.align=je)}function Ie(E,D){if(!v)return!1;for(var Le=E.localVars;Le;Le=Le.next)if(Le.name==D)return!0;for(var je=E.context;je;je=je.prev)for(Le=je.vars;Le;Le=Le.next)if(Le.name==D)return!0}function Ee(E,D,Le,je,Ve){var bt=E.cc;for(Y.state=E,Y.stream=Ve,Y.marked=null,Y.cc=bt,Y.style=D,E.lexical.hasOwnProperty("align")||(E.lexical.align=!0);;)if((bt.length?bt.pop():m?ue:rt)(Le,je)){for(;bt.length&&bt[bt.length-1].lex;)bt.pop()();return Y.marked?Y.marked:Le=="variable"&&Ie(E,je)?"variable-2":D}}var Y={state:null,column:null,marked:null,cc:null};function Q(){for(var E=arguments.length-1;E>=0;E--)Y.cc.push(arguments[E])}function M(){return Q.apply(null,arguments),!0}function W(E,D){for(var Le=D;Le;Le=Le.next)if(Le.name==E)return!0;return!1}function O(E){var D=Y.state;if(Y.marked="def",v){if(D.context){if(D.lexical.info=="var"&&D.context&&D.context.block){var Le=K(E,D.context);if(Le!=null)return void(D.context=Le)}else if(!W(E,D.localVars))return void(D.localVars=new ze(E,D.localVars))}i.globalVars&&!W(E,D.globalVars)&&(D.globalVars=new ze(E,D.globalVars))}}function K(E,D){if(D){if(D.block){var Le=K(E,D.prev);return Le?Le==D.prev?D:new Oe(Le,D.vars,!0):null}return W(E,D.vars)?D:new Oe(D.prev,new ze(E,D.vars),!1)}return null}function se(E){return E=="public"||E=="private"||E=="protected"||E=="abstract"||E=="readonly"}function Oe(E,D,Le){this.prev=E,this.vars=D,this.block=Le}function ze(E,D){this.name=E,this.next=D}var He=new ze("this",new ze("arguments",null));function Qe(){Y.state.context=new Oe(Y.state.context,Y.state.localVars,!1),Y.state.localVars=He}function st(){Y.state.context=new Oe(Y.state.context,Y.state.localVars,!0),Y.state.localVars=null}function ht(){Y.state.localVars=Y.state.context.vars,Y.state.context=Y.state.context.prev}function Fe(E,D){var Le=function(){var je=Y.state,Ve=je.indented;if(je.lexical.type=="stat")Ve=je.lexical.indented;else for(var bt=je.lexical;bt&&bt.type==")"&&bt.align;bt=bt.prev)Ve=bt.indented;je.lexical=new Pe(Ve,Y.stream.column(),E,null,je.lexical,D)};return Le.lex=!0,Le}function De(){var E=Y.state;E.lexical.prev&&(E.lexical.type==")"&&(E.indented=E.lexical.indented),E.lexical=E.lexical.prev)}function qe(E){return function D(Le){return Le==E?M():E==";"||Le=="}"||Le==")"||Le=="]"?Q():M(D)}}function rt(E,D){return E=="var"?M(Fe("vardef",D),Po,qe(";"),De):E=="keyword a"?M(Fe("form"),Te,rt,De):E=="keyword b"?M(Fe("form"),rt,De):E=="keyword d"?Y.stream.match(/^\s*$/,!1)?M():M(Fe("stat"),gt,qe(";"),De):E=="debugger"?M(qe(";")):E=="{"?M(Fe("}"),st,_t,De,ht):E==";"?M():E=="if"?(Y.state.lexical.info=="else"&&Y.state.cc[Y.state.cc.length-1]==De&&Y.state.cc.pop()(),M(Fe("form"),Te,rt,De,ys)):E=="function"?M(qi):E=="for"?M(Fe("form"),st,xs,rt,ht,De):E=="class"||C&&D=="interface"?(Y.marked="keyword",M(Fe("form",E=="class"?E:D),_s,De)):E=="variable"?C&&D=="declare"?(Y.marked="keyword",M(rt)):C&&(D=="module"||D=="enum"||D=="type")&&Y.stream.match(/^\s*\w/,!1)?(Y.marked="keyword",D=="enum"?M(Oi):D=="type"?M(Jr,qe("operator"),dt,qe(";")):M(Fe("form"),di,qe("{"),Fe("}"),_t,De,De)):C&&D=="namespace"?(Y.marked="keyword",M(Fe("form"),ue,rt,De)):C&&D=="abstract"?(Y.marked="keyword",M(rt)):M(Fe("stat"),ie):E=="switch"?M(Fe("form"),Te,qe("{"),Fe("}","switch"),st,_t,De,De,ht):E=="case"?M(ue,qe(":")):E=="default"?M(qe(":")):E=="catch"?M(Fe("form"),Qe,he,rt,De,ht):E=="export"?M(Fe("stat"),ua,De):E=="import"?M(Fe("stat"),xn,De):E=="async"?M(rt):D=="@"?M(ue,rt):Q(Fe("stat"),ue,qe(";"),De)}function he(E){if(E=="(")return M(Vr,qe(")"))}function ue(E,D){return ot(E,D,!1)}function ve(E,D){return ot(E,D,!0)}function Te(E){return E!="("?Q():M(Fe(")"),gt,qe(")"),De)}function ot(E,D,Le){if(Y.state.fatArrowAt==Y.stream.start){var je=Le?Ce:fe;if(E=="(")return M(Qe,Fe(")"),Ge(Vr,")"),De,qe("=>"),je,ht);if(E=="variable")return Q(Qe,di,qe("=>"),je,ht)}var Ve=Le?L:et;return xe.hasOwnProperty(E)?M(Ve):E=="function"?M(qi,Ve):E=="class"||C&&D=="interface"?(Y.marked="keyword",M(Fe("form"),Cs,De)):E=="keyword c"||E=="async"?M(Le?ve:ue):E=="("?M(Fe(")"),gt,qe(")"),De,Ve):E=="operator"||E=="spread"?M(Le?ve:ue):E=="["?M(Fe("]"),Wt,De,Ve):E=="{"?Ye(Ae,"}",null,Ve):E=="quasi"?Q(U,Ve):E=="new"?M(function(bt){return function(Tt){return Tt=="."?M(bt?Z:ke):Tt=="variable"&&C?M(da,bt?L:et):Q(bt?ve:ue)}}(Le)):M()}function gt(E){return E.match(/[;\}\)\],]/)?Q():Q(ue)}function et(E,D){return E==","?M(gt):L(E,D,!1)}function L(E,D,Le){var je=Le==0?et:L,Ve=Le==0?ue:ve;return E=="=>"?M(Qe,Le?Ce:fe,ht):E=="operator"?/\+\+|--/.test(D)||C&&D=="!"?M(je):C&&D=="<"&&Y.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?M(Fe(">"),Ge(dt,">"),De,je):D=="?"?M(ue,qe(":"),Ve):M(Ve):E=="quasi"?Q(U,je):E!=";"?E=="("?Ye(ve,")","call",je):E=="."?M(V,je):E=="["?M(Fe("]"),gt,qe("]"),De,je):C&&D=="as"?(Y.marked="keyword",M(dt,je)):E=="regexp"?(Y.state.lastType=Y.marked="operator",Y.stream.backUp(Y.stream.pos-Y.stream.start-1),M(Ve)):void 0:void 0}function U(E,D){return E!="quasi"?Q():D.slice(D.length-2)!="${"?M(U):M(gt,ae)}function ae(E){if(E=="}")return Y.marked="string-2",Y.state.tokenize=le,M(U)}function fe(E){return ye(Y.stream,Y.state),Q(E=="{"?rt:ue)}function Ce(E){return ye(Y.stream,Y.state),Q(E=="{"?rt:ve)}function ke(E,D){if(D=="target")return Y.marked="keyword",M(et)}function Z(E,D){if(D=="target")return Y.marked="keyword",M(L)}function ie(E){return E==":"?M(De,rt):Q(et,qe(";"),De)}function V(E){if(E=="variable")return Y.marked="property",M()}function Ae(E,D){return E=="async"?(Y.marked="property",M(Ae)):E=="variable"||Y.style=="keyword"?(Y.marked="property",D=="get"||D=="set"?M(Ue):(C&&Y.state.fatArrowAt==Y.stream.start&&(Le=Y.stream.match(/^\s*:\s*/,!1))&&(Y.state.fatArrowAt=Y.stream.pos+Le[0].length),M(Ze))):E=="number"||E=="string"?(Y.marked=g?"property":Y.style+" property",M(Ze)):E=="jsonld-keyword"?M(Ze):C&&se(D)?(Y.marked="keyword",M(Ae)):E=="["?M(ue,mt,qe("]"),Ze):E=="spread"?M(ve,Ze):D=="*"?(Y.marked="keyword",M(Ae)):E==":"?Q(Ze):void 0;var Le}function Ue(E){return E!="variable"?Q(Ze):(Y.marked="property",M(qi))}function Ze(E){return E==":"?M(ve):E=="("?Q(qi):void 0}function Ge(E,D,Le){function je(Ve,bt){if(Le?Le.indexOf(Ve)>-1:Ve==","){var Tt=Y.state.lexical;return Tt.info=="call"&&(Tt.pos=(Tt.pos||0)+1),M(function(Xe,Qn){return Xe==D||Qn==D?Q():Q(E)},je)}return Ve==D||bt==D?M():Le&&Le.indexOf(";")>-1?Q(E):M(qe(D))}return function(Ve,bt){return Ve==D||bt==D?M():Q(E,je)}}function Ye(E,D,Le){for(var je=3;je"),dt):E=="quasi"?Q(Ut,Ki):void 0}function rn(E){if(E=="=>")return M(dt)}function Jt(E){return E.match(/[\}\)\]]/)?M():E==","||E==";"?M(Jt):Q(zi,Jt)}function zi(E,D){return E=="variable"||Y.style=="keyword"?(Y.marked="property",M(zi)):D=="?"||E=="number"||E=="string"?M(zi):E==":"?M(dt):E=="["?M(qe("variable"),Rt,qe("]"),zi):E=="("?Q(Yi,zi):E.match(/[;\}\)\],]/)?void 0:M()}function Ut(E,D){return E!="quasi"?Q():D.slice(D.length-2)!="${"?M(Ut):M(dt,Mn)}function Mn(E){if(E=="}")return Y.marked="string-2",Y.state.tokenize=le,M(Ut)}function bn(E,D){return E=="variable"&&Y.stream.match(/^\s*[?:]/,!1)||D=="?"?M(bn):E==":"?M(dt):E=="spread"?M(bn):Q(dt)}function Ki(E,D){return D=="<"?M(Fe(">"),Ge(dt,">"),De,Ki):D=="|"||E=="."||D=="&"?M(dt):E=="["?M(dt,qe("]"),Ki):D=="extends"||D=="implements"?(Y.marked="keyword",M(dt)):D=="?"?M(dt,qe(":"),dt):void 0}function da(E,D){if(D=="<")return M(Fe(">"),Ge(dt,">"),De,Ki)}function _r(){return Q(dt,vs)}function vs(E,D){if(D=="=")return M(dt)}function Po(E,D){return D=="enum"?(Y.marked="keyword",M(Oi)):Q(di,mt,wr,yl)}function di(E,D){return C&&se(D)?(Y.marked="keyword",M(di)):E=="variable"?(O(D),M()):E=="spread"?M(di):E=="["?Ye(kA,"]"):E=="{"?Ye(bs,"}"):void 0}function bs(E,D){return E!="variable"||Y.stream.match(/^\s*:/,!1)?(E=="variable"&&(Y.marked="property"),E=="spread"?M(di):E=="}"?Q():E=="["?M(ue,qe("]"),qe(":"),bs):M(qe(":"),di,wr)):(O(D),M(wr))}function kA(){return Q(di,wr)}function wr(E,D){if(D=="=")return M(ve)}function yl(E){if(E==",")return M(Po)}function ys(E,D){if(E=="keyword b"&&D=="else")return M(Fe("form","else"),rt,De)}function xs(E,D){return D=="await"?M(xs):E=="("?M(Fe(")"),MA,De):void 0}function MA(E){return E=="var"?M(Po,Ir):E=="variable"?M(Ir):Q(Ir)}function Ir(E,D){return E==")"?M():E==";"?M(Ir):D=="in"||D=="of"?(Y.marked="keyword",M(ue,Ir)):Q(ue,Ir)}function qi(E,D){return D=="*"?(Y.marked="keyword",M(qi)):E=="variable"?(O(D),M(qi)):E=="("?M(Qe,Fe(")"),Ge(Vr,")"),De,$e,rt,ht):C&&D=="<"?M(Fe(">"),Ge(_r,">"),De,qi):void 0}function Yi(E,D){return D=="*"?(Y.marked="keyword",M(Yi)):E=="variable"?(O(D),M(Yi)):E=="("?M(Qe,Fe(")"),Ge(Vr,")"),De,$e,ht):C&&D=="<"?M(Fe(">"),Ge(_r,">"),De,Yi):void 0}function Jr(E,D){return E=="keyword"||E=="variable"?(Y.marked="type",M(Jr)):D=="<"?M(Fe(">"),Ge(_r,">"),De):void 0}function Vr(E,D){return D=="@"&&M(ue,Vr),E=="spread"?M(Vr):C&&se(D)?(Y.marked="keyword",M(Vr)):C&&E=="this"?M(mt,wr):Q(di,mt,wr)}function Cs(E,D){return E=="variable"?_s(E,D):lr(E,D)}function _s(E,D){if(E=="variable")return O(D),M(lr)}function lr(E,D){return D=="<"?M(Fe(">"),Ge(_r,">"),De,lr):D=="extends"||D=="implements"||C&&E==","?(D=="implements"&&(Y.marked="keyword"),M(C?dt:ue,lr)):E=="{"?M(Fe("}"),Ar,De):void 0}function Ar(E,D){return E=="async"||E=="variable"&&(D=="static"||D=="get"||D=="set"||C&&se(D))&&Y.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Y.marked="keyword",M(Ar)):E=="variable"||Y.style=="keyword"?(Y.marked="property",M(Li,Ar)):E=="number"||E=="string"?M(Li,Ar):E=="["?M(ue,mt,qe("]"),Li,Ar):D=="*"?(Y.marked="keyword",M(Ar)):C&&E=="("?Q(Yi,Ar):E==";"||E==","?M(Ar):E=="}"?M():D=="@"?M(ue,Ar):void 0}function Li(E,D){if(D=="!"||D=="?")return M(Li);if(E==":")return M(dt,wr);if(D=="=")return M(ve);var Le=Y.state.lexical.prev;return Q(Le&&Le.info=="interface"?Yi:qi)}function ua(E,D){return D=="*"?(Y.marked="keyword",M(xi,qe(";"))):D=="default"?(Y.marked="keyword",M(ue,qe(";"))):E=="{"?M(Ge(ws,"}"),xi,qe(";")):Q(rt)}function ws(E,D){return D=="as"?(Y.marked="keyword",M(qe("variable"))):E=="variable"?Q(ve,ws):void 0}function xn(E){return E=="string"?M():E=="("?Q(ue):E=="."?Q(et):Q(Ke,Er,xi)}function Ke(E,D){return E=="{"?Ye(Ke,"}"):(E=="variable"&&O(D),D=="*"&&(Y.marked="keyword"),M(fa))}function Er(E){if(E==",")return M(Ke,Er)}function fa(E,D){if(D=="as")return Y.marked="keyword",M(Ke)}function xi(E,D){if(D=="from")return Y.marked="keyword",M(ue)}function Wt(E){return E=="]"?M():Q(Ge(ve,"]"))}function Oi(){return Q(Fe("form"),di,qe("{"),Fe("}"),Ge(Do,"}"),De,De)}function Do(){return Q(di,wr)}function Kr(E,D,Le){return D.tokenize==oe&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(D.lastType)||D.lastType=="quasi"&&/\{\s*$/.test(E.string.slice(0,E.pos-(Le||0)))}return ht.lex=!0,De.lex=!0,{startState:function(E){var D={tokenize:oe,lastType:"sof",cc:[],lexical:new Pe((E||0)-A,0,"block",!1),localVars:i.localVars,context:i.localVars&&new Oe(null,null,!1),indented:E||0};return i.globalVars&&typeof i.globalVars=="object"&&(D.globalVars=i.globalVars),D},token:function(E,D){if(E.sol()&&(D.lexical.hasOwnProperty("align")||(D.lexical.align=!1),D.indented=E.indentation(),ye(E,D)),D.tokenize!=X&&E.eatSpace())return null;var Le=D.tokenize(E,D);return s=="comment"?Le:(D.lastType=s!="operator"||d!="++"&&d!="--"?s:"incdec",Ee(D,Le,s,d,E))},indent:function(E,D){if(E.tokenize==X||E.tokenize==le)return n.Pass;if(E.tokenize!=oe)return 0;var Le,je=D&&D.charAt(0),Ve=E.lexical;if(!/^\s*else\b/.test(D))for(var bt=E.cc.length-1;bt>=0;--bt){var Tt=E.cc[bt];if(Tt==De)Ve=Ve.prev;else if(Tt!=ys&&Tt!=ht)break}for(;(Ve.type=="stat"||Ve.type=="form")&&(je=="}"||(Le=E.cc[E.cc.length-1])&&(Le==et||Le==L)&&!/^[,\.=+\-*:?[\(]/.test(D));)Ve=Ve.prev;p&&Ve.type==")"&&Ve.prev.type=="stat"&&(Ve=Ve.prev);var Xe=Ve.type,Qn=je==Xe;return Xe=="vardef"?Ve.indented+(E.lastType=="operator"||E.lastType==","?Ve.info.length+1:0):Xe=="form"&&je=="{"?Ve.indented:Xe=="form"?Ve.indented+A:Xe=="stat"?Ve.indented+(function(Kn,Ci){return Kn.lastType=="operator"||Kn.lastType==","||S.test(Ci.charAt(0))||/[,.]/.test(Ci.charAt(0))}(E,D)?p||A:0):Ve.info!="switch"||Qn||i.doubleIndentSwitch==0?Ve.align?Ve.column+(Qn?0:1):Ve.indented+(Qn?0:A):Ve.indented+(/^(?:case|default)\b/.test(D)?A:2*A)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:m?null:"/*",blockCommentEnd:m?null:"*/",blockCommentContinue:m?null:" * ",lineComment:m?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:m?"json":"javascript",jsonldMode:g,jsonMode:m,expressionAllowed:Kr,skipExpression:function(E){Ee(E,"atom","atom","true",new n.StringStream("",2,null))}}}),n.registerHelper("wordChars","javascript",/[\w$]/),n.defineMIME("text/javascript","javascript"),n.defineMIME("text/ecmascript","javascript"),n.defineMIME("application/javascript","javascript"),n.defineMIME("application/x-javascript","javascript"),n.defineMIME("application/ecmascript","javascript"),n.defineMIME("application/json",{name:"javascript",json:!0}),n.defineMIME("application/x-json",{name:"javascript",json:!0}),n.defineMIME("application/manifest+json",{name:"javascript",json:!0}),n.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),n.defineMIME("text/typescript",{name:"javascript",typescript:!0}),n.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(CodeMirror),function(n){var e={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},i={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};n.defineMode("xml",function(s,d){var A,p,g=s.indentUnit,m={},v=d.htmlMode?e:i;for(var C in v)m[C]=v[C];for(var C in d)m[C]=d[C];function _(O,K){function se(ze){return K.tokenize=ze,ze(O,K)}var Oe=O.next();return Oe=="<"?O.eat("!")?O.eat("[")?O.match("CDATA[")?se(S("atom","]]>")):null:O.match("--")?se(S("comment","-->")):O.match("DOCTYPE",!0,!0)?(O.eatWhile(/[\w\._\-]/),se(N(1))):null:O.eat("?")?(O.eatWhile(/[\w\._\-]/),K.tokenize=S("meta","?>"),"meta"):(A=O.eat("/")?"closeTag":"openTag",K.tokenize=B,"tag bracket"):Oe=="&"?(O.eat("#")?O.eat("x")?O.eatWhile(/[a-fA-F\d]/)&&O.eat(";"):O.eatWhile(/[\d]/)&&O.eat(";"):O.eatWhile(/[\w\.\-:]/)&&O.eat(";"))?"atom":"error":(O.eatWhile(/[^&<]/),null)}function B(O,K){var se,Oe,ze=O.next();if(ze==">"||ze=="/"&&O.eat(">"))return K.tokenize=_,A=ze==">"?"endTag":"selfcloseTag","tag bracket";if(ze=="=")return A="equals",null;if(ze=="<"){K.tokenize=_,K.state=ye,K.tagName=K.tagStart=null;var He=K.tokenize(O,K);return He?He+" tag error":"tag error"}return/[\'\"]/.test(ze)?(K.tokenize=(se=ze,Oe=function(Qe,st){for(;!Qe.eol();)if(Qe.next()==se){st.tokenize=B;break}return"string"},Oe.isInAttribute=!0,Oe),K.stringStartCol=O.column(),K.tokenize(O,K)):(O.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function S(O,K){return function(se,Oe){for(;!se.eol();){if(se.match(K)){Oe.tokenize=_;break}se.next()}return O}}function N(O){return function(K,se){for(var Oe;(Oe=K.next())!=null;){if(Oe=="<")return se.tokenize=N(O+1),se.tokenize(K,se);if(Oe==">"){if(O==1){se.tokenize=_;break}return se.tokenize=N(O-1),se.tokenize(K,se)}}return"meta"}}function j(O){return O&&O.toLowerCase()}function oe(O,K,se){this.prev=O.context,this.tagName=K||"",this.indent=O.indented,this.startOfLine=se,(m.doNotIndent.hasOwnProperty(K)||O.context&&O.context.noIndent)&&(this.noIndent=!0)}function X(O){O.context&&(O.context=O.context.prev)}function le(O,K){for(var se;;){if(!O.context||(se=O.context.tagName,!m.contextGrabbers.hasOwnProperty(j(se))||!m.contextGrabbers[j(se)].hasOwnProperty(j(K))))return;X(O)}}function ye(O,K,se){return O=="openTag"?(se.tagStart=K.column(),xe):O=="closeTag"?Pe:ye}function xe(O,K,se){return O=="word"?(se.tagName=K.current(),p="tag",Y):m.allowMissingTagName&&O=="endTag"?(p="tag bracket",Y(O,K,se)):(p="error",xe)}function Pe(O,K,se){if(O=="word"){var Oe=K.current();return se.context&&se.context.tagName!=Oe&&m.implicitlyClosed.hasOwnProperty(j(se.context.tagName))&&X(se),se.context&&se.context.tagName==Oe||m.matchClosing===!1?(p="tag",Ie):(p="tag error",Ee)}return m.allowMissingTagName&&O=="endTag"?(p="tag bracket",Ie(O,K,se)):(p="error",Ee)}function Ie(O,K,se){return O!="endTag"?(p="error",Ie):(X(se),ye)}function Ee(O,K,se){return p="error",Ie(O,0,se)}function Y(O,K,se){if(O=="word")return p="attribute",Q;if(O=="endTag"||O=="selfcloseTag"){var Oe=se.tagName,ze=se.tagStart;return se.tagName=se.tagStart=null,O=="selfcloseTag"||m.autoSelfClosers.hasOwnProperty(j(Oe))?le(se,Oe):(le(se,Oe),se.context=new oe(se,Oe,ze==se.indented)),ye}return p="error",Y}function Q(O,K,se){return O=="equals"?M:(m.allowMissing||(p="error"),Y(O,0,se))}function M(O,K,se){return O=="string"?W:O=="word"&&m.allowUnquoted?(p="string",Y):(p="error",Y(O,0,se))}function W(O,K,se){return O=="string"?W:Y(O,0,se)}return _.isInText=!0,{startState:function(O){var K={tokenize:_,state:ye,indented:O||0,tagName:null,tagStart:null,context:null};return O!=null&&(K.baseIndent=O),K},token:function(O,K){if(!K.tagName&&O.sol()&&(K.indented=O.indentation()),O.eatSpace())return null;A=null;var se=K.tokenize(O,K);return(se||A)&&se!="comment"&&(p=null,K.state=K.state(A||se,O,K),p&&(se=p=="error"?se+" error":p)),se},indent:function(O,K,se){var Oe=O.context;if(O.tokenize.isInAttribute)return O.tagStart==O.indented?O.stringStartCol+1:O.indented+g;if(Oe&&Oe.noIndent)return n.Pass;if(O.tokenize!=B&&O.tokenize!=_)return se?se.match(/^(\s*)/)[0].length:0;if(O.tagName)return m.multilineTagIndentPastTag!==!1?O.tagStart+O.tagName.length+2:O.tagStart+g*(m.multilineTagIndentFactor||1);if(m.alignCDATA&&/$/,blockCommentStart:"",configuration:m.htmlMode?"html":"xml",helperType:m.htmlMode?"html":"xml",skipAttribute:function(O){O.state==M&&(O.state=Y)},xmlCurrentTag:function(O){return O.tagName?{name:O.tagName,close:O.type=="closeTag"}:null},xmlCurrentContext:function(O){for(var K=[],se=O.context;se;se=se.prev)K.push(se.tagName);return K.reverse()}}}),n.defineMIME("text/xml","xml"),n.defineMIME("application/xml","xml"),n.mimeModes.hasOwnProperty("text/html")||n.defineMIME("text/html",{name:"xml",htmlMode:!0})}(CodeMirror),function(n){function e(s,d,A,p){this.state=s,this.mode=d,this.depth=A,this.prev=p}function i(s){return new e(n.copyState(s.mode,s.state),s.mode,s.depth,s.prev&&i(s.prev))}n.defineMode("jsx",function(s,d){var A=n.getMode(s,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),p=n.getMode(s,d&&d.base||"javascript");function g(v){var C=v.tagName;v.tagName=null;var _=A.indent(v,"","");return v.tagName=C,_}function m(v,C){return C.context.mode==A?function(_,B,S){if(S.depth==2)return _.match(/^.*?\*\//)?S.depth=1:_.skipToEnd(),"comment";if(_.peek()=="{"){A.skipAttribute(S.state);var N=g(S.state),j=S.state.context;if(j&&_.match(/^[^>]*>\s*$/,!1)){for(;j.prev&&!j.startOfLine;)j=j.prev;j.startOfLine?N-=s.indentUnit:S.prev.state.lexical&&(N=S.prev.state.lexical.indented)}else S.depth==1&&(N+=s.indentUnit);return B.context=new e(n.startState(p,N),p,0,B.context),null}if(S.depth==1){if(_.peek()=="<")return A.skipAttribute(S.state),B.context=new e(n.startState(A,g(S.state)),A,0,B.context),null;if(_.match("//"))return _.skipToEnd(),"comment";if(_.match("/*"))return S.depth=2,m(_,B)}var oe,X=A.token(_,S.state),le=_.current();return/\btag\b/.test(X)?/>$/.test(le)?S.state.context?S.depth=0:B.context=B.context.prev:/^-1&&_.backUp(le.length-oe),X}(v,C,C.context):function(_,B,S){if(_.peek()=="<"&&p.expressionAllowed(_,S.state))return B.context=new e(n.startState(A,p.indent(S.state,"","")),A,0,B.context),p.skipExpression(S.state),null;var N=p.token(_,S.state);if(!N&&S.depth!=null){var j=_.current();j=="{"?S.depth++:j=="}"&&--S.depth==0&&(B.context=B.context.prev)}return N}(v,C,C.context)}return{startState:function(){return{context:new e(n.startState(p),p)}},copyState:function(v){return{context:i(v.context)}},token:m,indent:function(v,C,_){return v.context.mode.indent(v.context.state,C,_)},innerMode:function(v){return v.context}}},"xml","javascript"),n.defineMIME("text/jsx","jsx"),n.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})}(CodeMirror);/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const rA=window.CodeMirror,L2=Gn`/** - * This file is derived from \`code-mirror/lib/codemirror.css\`, modified in the - * following ways: - * - * - CSS custom properties added. - * - Rules for unused features and addons removed. - * - Unnecessary vendor prefixes removed. - * - \`.cm-s-default\` class selectors removed. - * - Empty rules removed. - */ - -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: var(--playground-code-font-family, monospace); - font-size: var(--playground-code-font-size, 14px); - padding: var(--playground-code-padding, 0); - height: 350px; - color: var(--playground-code-default-color, #000); - background: var(--playground-code-background, #fff); - direction: ltr; - /* CodeMirror uses z-indexes up to 6 to e.g. place scrollbars above the code - area. However, this can create undesirable stacking effects with the rest - of the page. Force a new stacking context. */ - isolation: isolate; - line-height: var(--playground-code-line-height, 1.4em); -} - -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} -.CodeMirror pre.CodeMirror-line, -.CodeMirror pre.CodeMirror-line-like { - padding: var( - --playground-code-line-padding, - 0 4px - ); /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - background: var( - --playground-code-background, - #fff - ); /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: var(--playground-code-gutter-border-right, none); - background: var( - --playground-code-gutter-background, - var(--playground-code-background, #fff) - ); - box-shadow: var(--playground-code-gutter-box-shadow, none); - white-space: nowrap; -} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: var(--playground-code-linenumber-color, #767676); - white-space: nowrap; - margin-right: 1em; -} -.CodeMirror-code > div > .CodeMirror-line { - /* Some extra room between the line number gutter and the line */ - padding-left: 0.7em; -} - -/* CURSOR */ - -.CodeMirror-cursor { - border-left: 2px solid - var( - --playground-code-cursor-color, - var(--playground-code-default-color, #000) - ); - border-right: none; - width: 0; -} - -@keyframes blink { - 0% { - } - 50% { - background: transparent; - } - 100% { - } -} - -/* DEFAULT THEME */ - -.cm-header, -.cm-strong { - font-weight: bold; -} -.cm-em { - font-style: italic; -} -.cm-link { - text-decoration: underline; -} -.cm-strikethrough { - text-decoration: line-through; -} - -.cm-keyword { - color: var(--playground-code-keyword-color, #708); -} -.cm-atom { - color: var(--playground-code-atom-color, #219); -} -.cm-number { - color: var(--playground-code-number-color, #164); -} -.cm-def { - color: var(--playground-code-def-color, #00f); -} -.cm-variable { - color: var(--playground-code-variable-color, #000); -} -.cm-property { - color: var(--playground-code-property-color, #000); -} -.cm-operator { - color: var(--playground-code-operator-color, #000); -} -.cm-variable-2 { - color: var(--playground-code-variable-2-color, #05a); -} -.cm-variable-3 { - color: var(--playground-code-variable-3-color, #085); -} -.cm-type { - color: var(--playground-code-type-color, #085); -} -.cm-comment { - color: var(--playground-code-comment-color, #a50); -} -.cm-string { - color: var(--playground-code-string-color, #a11); -} -.cm-string-2 { - color: var(--playground-code-string-2-color, #f50); -} -.cm-meta { - color: var(--playground-code-meta-color, #555); -} -.cm-qualifier { - color: var(--playground-code-qualifier-color, #555); -} -.cm-builtin { - color: var(--playground-code-builtin-color, #30a); -} -.cm-tag { - color: var(--playground-code-tag-color, #170); -} -.cm-attribute { - color: var(--playground-code-attribute-color, #00c); -} -.cm-callee { - color: var(--playground-code-callee-color, #000); -} - -.CodeMirror-composing { - border-bottom: 2px solid; -} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - position: relative; - overflow: hidden; -} - -.CodeMirror-scroll { - overflow: scroll !important; /* Things will break if this is overridden */ - /* 50px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -50px; - margin-right: -50px; - padding-bottom: 50px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; -} -.CodeMirror-sizer { - position: relative; - border-right: 50px solid transparent; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actual scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, -.CodeMirror-hscrollbar, -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; - outline: none; -} -.CodeMirror-vscrollbar { - right: 0; - top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; - left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; - bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; - bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; - left: 0; - top: 0; - min-height: 100%; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - vertical-align: top; - margin-bottom: -50px; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - background: none !important; - border: none !important; -} -.CodeMirror-gutter-background { - position: absolute; - top: 0; - bottom: 0; - z-index: 4; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} -.CodeMirror-gutter-wrapper ::selection { - background: transparent; -} - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} -.CodeMirror pre.CodeMirror-line, -.CodeMirror pre.CodeMirror-line-like { - /* Reset some styles that the rest of the page might have set */ - border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; - font-variant-ligatures: contextual; -} -.CodeMirror-wrap pre.CodeMirror-line, -.CodeMirror-wrap pre.CodeMirror-line-like { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - padding: 0.1px; /* Force widget margins to stay inside of the container */ -} - -.CodeMirror-rtl pre { - direction: rtl; -} - -.CodeMirror-code { - outline: none; -} - -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - box-sizing: content-box; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} - -.CodeMirror-cursor { - position: absolute; - pointer-events: none; -} -.CodeMirror-measure pre { - position: static; -} - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -div.CodeMirror-dragcursors { - visibility: visible; -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { - background: var(--playground-code-selection-background, #d7d4f0); -} -.CodeMirror-focused .CodeMirror-selected { - background: var(--playground-code-selection-background, #d7d4f0); -} -.CodeMirror-crosshair { - cursor: crosshair; -} -.CodeMirror-line::selection, -.CodeMirror-line > span::selection, -.CodeMirror-line > span > span::selection { - background: var(--playground-code-selection-background, #d7d4f0); -} - -/* Completions */ - -.CodeMirror-hints { - position: absolute; - z-index: 10; - overflow: hidden; - list-style: none; - - margin: 0; - padding: 0; - - box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, - rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px; - border: 1px solid var(--playground-code-selection-background, silver); - - background: var(--playground-code-background, white); - font-size: var(--playground-code-font-size, 14px); - font-family: var(--playground-code-font-family, monospace); - - max-height: 20em; - width: 600px; - max-width: min(600px, 80vw); - overflow-y: auto; -} - -.CodeMirror-hint { - margin: 0; - padding: 0 6px; - white-space: pre; - color: var(--playground-code-cursor-color, black); - cursor: pointer; - display: flex; - justify-content: space-between; -} - -@media (pointer: coarse) { - .CodeMirror-hint { - padding: 1em 6px; - } -} - -.CodeMirror-hint-active { - background: var(--playground-code-background, rgba(0, 0, 0, 0.2)); - filter: brightness(1.2); -} - -.CodeMirror-hint mark { - background: inherit; - color: var(--playground-code-qualifier-color, #555); -} - -.CodeMirror-hint .hint-object-name { - padding-right: 2em; - white-space: nowrap; -} - -.CodeMirror-hint .hint-object-details { - flex-basis: 80%; - font-size: calc(var(--playground-code-font-size, 14px) * 0.9); - color: var(--playground-code-string-2-color, white); - opacity: 0.8; - text-align: right; - - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -/* Used to force a border model for a node */ -.cm-force-border { - padding-right: 0.1px; -} - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { - content: ''; -} - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { - background: none; -} -`;/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let nh=class extends mi{render(){return it`
`}};nh.styles=Gn` - :host { - position: absolute; - width: 100%; - height: 100%; - box-sizing: border-box; - left: 0; - top: 0; - display: flex; - align-items: center; - justify-content: center; - background: transparent; - z-index: 9; - background: rgba(0, 0, 0, 0.32); - overflow-y: auto; - } - - #message { - background: #fff; - color: #000; - padding: 10px 20px; - border-radius: 5px; - box-shadow: rgba(0, 0, 0, 0.3) 0 2px 10px; - } - `;nh=G([Jn("playground-internal-overlay")],nh);/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let ci=class extends mi{constructor(){super(...arguments),this._docCache=new WeakMap,this.lineNumbers=!1,this.lineWrapping=!1,this.readonly=!1,this.noCompletions=!1,this._completionsOpen=!1,this._currentCompletionSelectionLabel="",this._currentCompletionRequestId=0,this.pragmas="on",this._showKeyboardHelp=!1,this._resizing=!1,this._valueChangingFromOutside=!1,this._diagnosticMarkers=[],this._diagnosticsMouseoverListenerActive=!1,this._onMouseOverWithDiagnostics=e=>{var i,s,d;if(!(!((i=this.diagnostics)===null||i===void 0)&&i.length))return;const A=(s=e.target.className)===null||s===void 0?void 0:s.match(/diagnostic-(\d+)/);if(A===null){this._tooltipDiagnostic=void 0;return}const p=Number(A[1]),g=this.diagnostics[p];if(g===((d=this._tooltipDiagnostic)===null||d===void 0?void 0:d.diagnostic))return;let m="";const v=this.getBoundingClientRect(),C=e.target.getBoundingClientRect(),_=v.y+v.height/2;C.y<_?m+=`top:${C.y+C.height-v.y}px;`:m+=`bottom:${v.bottom-C.y}px;`;const B=v.x+v.width/2;C.left - ${this._showKeyboardHelp?it` -

- Press Enter to start editing
- Press Escape to exit editor -

-
`:vn} - ${this._cmDom} -
-
- ${(i=this._tooltipDiagnostic)===null||i===void 0?void 0:i.diagnostic.message} -
-
- - `}connectedCallback(){typeof ResizeObserver=="function"&&(this._resizeObserver=new ResizeObserver(()=>{var e;this._resizing||(this._resizing=!0,(e=this._codemirror)===null||e===void 0||e.refresh(),this._resizing=!1)}),this._resizeObserver.observe(this)),super.connectedCallback()}disconnectedCallback(){var e;(e=this._resizeObserver)===null||e===void 0||e.disconnect(),this._resizeObserver=void 0,super.disconnectedCallback()}_createView(){var e;const i=rA(s=>{this._cmDom=s,this._resizing=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{var d;(d=this._codemirror)===null||d===void 0||d.refresh(),this._resizing=!1})})},{value:(e=this.value)!==null&&e!==void 0?e:"",lineNumbers:this.lineNumbers,lineWrapping:this.lineWrapping,mode:this._getLanguageMode(),readOnly:this.readonly,inputStyle:"contenteditable",tabindex:-1,extraKeys:{Tab:()=>{var s;i.replaceSelection(Array((s=i.getOption("indentUnit"))!==null&&s!==void 0?s:2).join(" "))},["Ctrl-Space"]:()=>{const s=this.tokenUnderCursor.string.trim();this._requestCompletions({isRefinement:!1,tokenUnderCursor:s})},["Ctrl-/"]:()=>i.toggleComment(),["Cmd-/"]:()=>i.toggleComment()}});i.on("change",(s,d)=>{this._value=i.getValue(),this._valueChangingFromOutside?(this._applyHideAndFoldRegions(),this._showDiagnostics()):(this.dispatchEvent(new Event("change")),this._requestCompletionsIfNeeded(d))}),this.lineWrapping&&i.on("renderLine",this._onRenderLine),this._codemirror=i}_onRenderLine(e,i,s){const A=e.getOption("lineNumbers")?"0.7em":`${4}px`,p=e.getOption("tabSize")||4,g=rA.countColumn(i.text,null,p);g>0&&(s.style.textIndent=`-${g}ch`,s.style.paddingLeft=`calc(${A} + ${g}ch)`)}_requestCompletionsIfNeeded(e){if(this.noCompletions||!this._currentFiletypeSupportsCompletion()||!this._codemirror)return;const i=this._codemirror.getTokenAt(e.from),s=this.tokenUnderCursor.string.trim(),d=s.trim(),A=e.origin==="+input",p=(s.length>1||i.string===".")&&A,g=e.origin==="complete";if(!(d.length<=0)){if(g){this._completions=[];return}this._requestCompletions({isRefinement:p,tokenUnderCursor:s})}}_requestCompletions({isRefinement:e,tokenUnderCursor:i}){if(this.noCompletions||!this._currentFiletypeSupportsCompletion()||!this._codemirror)return;const s=++this._currentCompletionRequestId,d=this.cursorIndex;this.dispatchEvent(new CustomEvent("request-completions",{detail:{isRefinement:e,fileContent:this.value,tokenUnderCursor:i,cursorIndex:this.cursorIndex,provideCompletions:A=>this._onCompletionsProvided(s,A,d)}}))}_onCompletionsProvided(e,i,s){e!==this._currentCompletionRequestId||s!==this.cursorIndex||(this._completions=i)}_currentFiletypeSupportsCompletion(){return this.type==="ts"}focus(){var e;(e=this._codemirrorEditable)===null||e===void 0||e.focus()}_completionsAsHints(e){var i,s;const d=e.getCursor("start"),A=e.getTokenAt(d),p=d.line,g=(s=(i=this._completions)===null||i===void 0?void 0:i.map((v,C)=>({text:v.text,displayText:v.displayText,render:(_,B,S)=>{const N=S;this._renderHint(_,B,N,C===0?v.details:void 0)},get details(){return v.details}})))!==null&&s!==void 0?s:[],m={from:{line:p,ch:A.start},to:{line:p,ch:A.end},list:g};return rA.on(m,"select",async(v,C)=>{var _;!this._isCodeEditorHint(v)||this._currentCompletionSelectionLabel!==v.text&&((_=this._onCompletionSelectedChange)===null||_===void 0||_.call(this),this._renderHint(C,m,v,v.details))}),rA.on(m,"shown",()=>{window.requestAnimationFrame(()=>{this._completionsOpen=!0})}),rA.on(m,"close",()=>{window.requestAnimationFrame(()=>{this._completionsOpen=!1})}),m}_isCodeEditorHint(e){return typeof e!="string"&&Object.prototype.hasOwnProperty.call(e,"details")}_renderHint(e,i,s,d){var A;if(!e)return;const p=i.list.indexOf(s),g=(A=this._completions)===null||A===void 0?void 0:A[p],m=this._buildHintObjectName(s.displayText,g);this._renderCompletionItem(m,e),d!==void 0&&d.then(v=>{this._renderCompletionItemWithDetails(m,v,e),this._onCompletionSelectedChange=()=>this._renderHint(e,i,s),this._currentCompletionSelectionLabel=s.text})}_renderCompletionItem(e,i){zp(it`${e}`,i)}_renderCompletionItemWithDetails(e,i,s){zp(it`${e} - ${i.text} `,s)}_buildHintObjectName(e,i){var s;const d=e!=null?e:"",A=(s=i==null?void 0:i.matches)!==null&&s!==void 0?s:[];if(A.length<=0)return d;const g=A[0].indices[0],m=g[0],v=g[1],C=d==null?void 0:d.substring(0,m),_=d==null?void 0:d.substring(m,v+1),B=d==null?void 0:d.substring(v+1);return it` - ${C}${_}${B} - `}_showCompletions(){const e=this._codemirror;if(!e||!this._completions||this._completions.length<=0)return;const i={hint:this._completionsAsHints.bind(this),completeSingle:!1,closeOnPick:!0,closeOnUnfocus:!0,container:this._focusContainer,alignWithWord:!0};e.showHint(i)}_onMousedown(){var e;(e=this._codemirrorEditable)===null||e===void 0||e.focus()}_onFocus(){this._showKeyboardHelp=!0}_onBlur(){this._showKeyboardHelp=!1}_onKeyDown(e){var i,s;e.key==="Enter"&&e.target===this._focusContainer?((i=this._codemirrorEditable)===null||i===void 0||i.focus(),e.preventDefault()):e.key==="Escape"&&(this._completionsOpen||(s=this._focusContainer)===null||s===void 0||s.focus())}async _applyHideAndFoldRegions(){const e=this._codemirror;if(!e)return;for(const g of e.getAllMarks())g.clear();if(this.pragmas==="off-visible")return;const i=this._maskPatternForLang();if(i===void 0)return;const s=e.getDoc(),d=(g,m)=>{e.foldCode(0,{widget:"\u2026",rangeFinder:()=>({from:s.posFromIndex(g),to:s.posFromIndex(m)})})},A=(g,m,v)=>{s.markText(s.posFromIndex(g),s.posFromIndex(m),{collapsed:!0,readOnly:v})},p=e.getValue();for(const g of p.matchAll(i)){const[,m,v,C,_]=g,B=g.index;if(B===void 0)continue;const S=B+m.length;A(B,S,!1);const N=S;let j;if(C&&_){j=N+C.length;const oe=j,X=j+_.length;A(oe,X,!1)}else j=p.length;this.pragmas==="on"&&(v==="fold"?d(N,j):v==="hide"&&A(N,j,!0))}}_maskPatternForLang(){switch(this.type){case"js":case"ts":case"css":case"jsx":case"tsx":return/( *\/\* *playground-(?hide|fold) *\*\/\n?)(?:(.*?)( *\/\* *playground-\k-end *\*\/\n?))?/gs;case"html":return/( *\n?)(?:(.*?)( *\n?))?/gs;default:return}}_getLanguageMode(){switch(this.type){case"ts":return"google-typescript";case"js":case"json":return"google-javascript";case"html":return"google-html";case"css":return"css";case"jsx":case"tsx":return"jsx"}}_showDiagnostics(){const e=this._codemirror;e!==void 0&&e.operation(()=>{var i,s,d;for(this._tooltipDiagnostic=void 0;this._diagnosticMarkers.length>0;)this._diagnosticMarkers.pop().clear();if(!(!((i=this.diagnostics)===null||i===void 0)&&i.length)){this._diagnosticsMouseoverListenerActive&&((s=this._cmDom)===null||s===void 0||s.removeEventListener("mouseover",this._onMouseOverWithDiagnostics),this._diagnosticsMouseoverListenerActive=!1);return}this._diagnosticsMouseoverListenerActive||((d=this._cmDom)===null||d===void 0||d.addEventListener("mouseover",this._onMouseOverWithDiagnostics),this._diagnosticsMouseoverListenerActive=!0);for(let A=0;A div { - background: var(--playground-code-background, #fff); - color: var(--playground-code-default-color, #000); - /* Kind of hacky... line number color tends to work out as a good - default border, because it's usually visible on top of the - background, but slightly muted. */ - border: 1px solid var(--playground-code-linenumber-color, #ccc); - padding: 5px; - } - `,L2];G([ge()],ci.prototype,"value",null);G([ge({attribute:!1})],ci.prototype,"documentKey",void 0);G([ge()],ci.prototype,"type",void 0);G([ge({type:Boolean,attribute:"line-numbers",reflect:!0})],ci.prototype,"lineNumbers",void 0);G([ge({type:Boolean,attribute:"line-wrapping",reflect:!0})],ci.prototype,"lineWrapping",void 0);G([ge({type:Boolean,reflect:!0})],ci.prototype,"readonly",void 0);G([ge({type:Boolean,attribute:"no-completions"})],ci.prototype,"noCompletions",void 0);G([ge({attribute:!1})],ci.prototype,"diagnostics",void 0);G([Ct()],ci.prototype,"_completions",void 0);G([Ct()],ci.prototype,"_completionsOpen",void 0);G([ge()],ci.prototype,"pragmas",void 0);G([Ct()],ci.prototype,"_tooltipDiagnostic",void 0);G([Ct()],ci.prototype,"_showKeyboardHelp",void 0);G([en("#focusContainer")],ci.prototype,"_focusContainer",void 0);G([en(".CodeMirror-code")],ci.prototype,"_codemirrorEditable",void 0);ci=G([Jn("playground-code-editor")],ci);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let Lo=class extends BA{constructor(){super(...arguments),this.lineNumbers=!1,this.lineWrapping=!1,this.pragmas="on",this.readonly=!1,this.noCompletions=!1,this._onProjectFilesChanged=()=>{var e,i;(e=this.filename)!==null&&e!==void 0||(this.filename=(i=this._files[0])===null||i===void 0?void 0:i.name),this.requestUpdate()},this._onCompileDone=()=>{this.requestUpdate()},this._onDiagnosticsChanged=()=>{this.requestUpdate()}}get _files(){var e,i;return(i=(e=this._project)===null||e===void 0?void 0:e.files)!==null&&i!==void 0?i:[]}get _currentFile(){return this.filename?this._files.find(e=>e.name===this.filename):void 0}async update(e){if(e.has("_project")){const i=e.get("_project");i&&(i.removeEventListener("filesChanged",this._onProjectFilesChanged),i.removeEventListener("compileDone",this._onCompileDone),i.removeEventListener("diagnosticsChanged",this._onDiagnosticsChanged)),this._project&&(this._project.addEventListener("filesChanged",this._onProjectFilesChanged),this._project.addEventListener("compileDone",this._onCompileDone),this._project.addEventListener("diagnosticsChanged",this._onDiagnosticsChanged)),this._onProjectFilesChanged()}super.update(e)}render(){var e,i,s,d,A,p;return it` - ${this._files?it` - - - `:it``} - `}_onEdit(){this._project===void 0||this._currentFile===void 0||this._editor.value===void 0||this._project.editFile(this._currentFile,this._editor.value)}async _onRequestCompletions(e){var i,s;const d=e.detail;d.fileName=(i=this.filename)!==null&&i!==void 0?i:"";const A=await((s=this._project)===null||s===void 0?void 0:s.getCompletions(d));A&&d.provideCompletions(A)}};Lo.styles=Gn` - :host { - display: block; - /* Prevents scrollbars from changing container size and shifting layout - slightly. */ - box-sizing: border-box; - height: 350px; - } - - slot { - height: 100%; - display: block; - background: var(--playground-code-background, unset); - } - - playground-code-editor { - height: 100%; - border-radius: inherit; - border-top-left-radius: 0; - border-top-right-radius: 0; - } - `;G([en("playground-code-editor")],Lo.prototype,"_editor",void 0);G([ge()],Lo.prototype,"filename",void 0);G([ge({type:Boolean,attribute:"line-numbers"})],Lo.prototype,"lineNumbers",void 0);G([ge({type:Boolean,attribute:"line-wrapping"})],Lo.prototype,"lineWrapping",void 0);G([ge()],Lo.prototype,"pragmas",void 0);G([ge({type:Boolean,reflect:!0})],Lo.prototype,"readonly",void 0);G([ge({type:Boolean,attribute:"no-completions"})],Lo.prototype,"noCompletions",void 0);Lo=G([Jn("playground-file-editor")],Lo);const O2=n=>{if(n===void 0)return;const e=n.indexOf(";");switch(e!==-1&&(n=n.substring(0,e)),n){case"video/mp2t":return"ts";case"text/javascript":case"application/javascript":return"js";case"text/jsx":return"jsx";case"text/typescript-jsx":return"tsx";case"application/json":return"json";case"text/html":return"html";case"text/css":return"css"}};/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */class Vi extends mi{constructor(){super(...arguments),this.indeterminate=!1,this.progress=0,this.buffer=1,this.reverse=!1,this.closed=!1,this.stylePrimaryHalf="",this.stylePrimaryFull="",this.styleSecondaryQuarter="",this.styleSecondaryHalf="",this.styleSecondaryFull="",this.animationReady=!0,this.closedAnimationOff=!1,this.resizeObserver=null}connectedCallback(){super.connectedCallback(),this.rootEl&&this.attachResizeObserver()}render(){const e={"mdc-linear-progress--closed":this.closed,"mdc-linear-progress--closed-animation-off":this.closedAnimationOff,"mdc-linear-progress--indeterminate":this.indeterminate,"mdc-linear-progress--animation-ready":this.animationReady},i={"--mdc-linear-progress-primary-half":this.stylePrimaryHalf,"--mdc-linear-progress-primary-half-neg":this.stylePrimaryHalf!==""?`-${this.stylePrimaryHalf}`:"","--mdc-linear-progress-primary-full":this.stylePrimaryFull,"--mdc-linear-progress-primary-full-neg":this.stylePrimaryFull!==""?`-${this.stylePrimaryFull}`:"","--mdc-linear-progress-secondary-quarter":this.styleSecondaryQuarter,"--mdc-linear-progress-secondary-quarter-neg":this.styleSecondaryQuarter!==""?`-${this.styleSecondaryQuarter}`:"","--mdc-linear-progress-secondary-half":this.styleSecondaryHalf,"--mdc-linear-progress-secondary-half-neg":this.styleSecondaryHalf!==""?`-${this.styleSecondaryHalf}`:"","--mdc-linear-progress-secondary-full":this.styleSecondaryFull,"--mdc-linear-progress-secondary-full-neg":this.styleSecondaryFull!==""?`-${this.styleSecondaryFull}`:""},s={"flex-basis":this.indeterminate?"100%":`${this.buffer*100}%`},d={transform:this.indeterminate?"scaleX(1)":`scaleX(${this.progress})`};return it` -
-
-
-
-
-
-
- -
-
- -
-
`}update(e){e.has("closed")&&(!this.closed||e.get("closed")===void 0)&&this.syncClosedState(),super.update(e)}async firstUpdated(e){super.firstUpdated(e),this.attachResizeObserver()}syncClosedState(){this.closedAnimationOff=this.closed}updated(e){!e.has("indeterminate")&&e.has("reverse")&&this.indeterminate&&this.restartAnimation(),e.has("indeterminate")&&e.get("indeterminate")!==void 0&&this.indeterminate&&window.ResizeObserver&&this.calculateAndSetAnimationDimensions(this.rootEl.offsetWidth),super.updated(e)}disconnectedCallback(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),super.disconnectedCallback()}attachResizeObserver(){if(window.ResizeObserver){this.resizeObserver=new window.ResizeObserver(e=>{if(!!this.indeterminate){for(const i of e)if(i.contentRect){const s=i.contentRect.width;this.calculateAndSetAnimationDimensions(s)}}}),this.resizeObserver.observe(this.rootEl);return}this.resizeObserver=null}calculateAndSetAnimationDimensions(e){const i=e*.8367142,s=e*2.00611057,d=e*.37651913,A=e*.84386165,p=e*1.60277782;this.stylePrimaryHalf=`${i}px`,this.stylePrimaryFull=`${s}px`,this.styleSecondaryQuarter=`${d}px`,this.styleSecondaryHalf=`${A}px`,this.styleSecondaryFull=`${p}px`,this.restartAnimation()}async restartAnimation(){this.animationReady=!1,await this.updateComplete,await new Promise(requestAnimationFrame),this.animationReady=!0,await this.updateComplete}open(){this.closed=!1}close(){this.closed=!0}}G([en(".mdc-linear-progress")],Vi.prototype,"rootEl",void 0);G([ge({type:Boolean,reflect:!0})],Vi.prototype,"indeterminate",void 0);G([ge({type:Number})],Vi.prototype,"progress",void 0);G([ge({type:Number})],Vi.prototype,"buffer",void 0);G([ge({type:Boolean,reflect:!0})],Vi.prototype,"reverse",void 0);G([ge({type:Boolean,reflect:!0})],Vi.prototype,"closed",void 0);G([pf,ge({attribute:"aria-label"})],Vi.prototype,"ariaLabel",void 0);G([Ct()],Vi.prototype,"stylePrimaryHalf",void 0);G([Ct()],Vi.prototype,"stylePrimaryFull",void 0);G([Ct()],Vi.prototype,"styleSecondaryQuarter",void 0);G([Ct()],Vi.prototype,"styleSecondaryHalf",void 0);G([Ct()],Vi.prototype,"styleSecondaryFull",void 0);G([Ct()],Vi.prototype,"animationReady",void 0);G([Ct()],Vi.prototype,"closedAnimationOff",void 0);/** - * @license - * Copyright 2021 Google LLC - * SPDX-LIcense-Identifier: Apache-2.0 - */const P2=Gn`@keyframes mdc-linear-progress-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%);transform:translateX(var(--mdc-linear-progress-primary-half, 83.67142%))}100%{transform:translateX(200.611057%);transform:translateX(var(--mdc-linear-progress-primary-full, 200.611057%))}}@keyframes mdc-linear-progress-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%);transform:translateX(var(--mdc-linear-progress-secondary-quarter, 37.651913%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%);transform:translateX(var(--mdc-linear-progress-secondary-half, 84.386165%))}100%{transform:translateX(160.277782%);transform:translateX(var(--mdc-linear-progress-secondary-full, 160.277782%))}}@keyframes mdc-linear-progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-buffering{from{transform:rotate(180deg) translateX(-10px)}}@keyframes mdc-linear-progress-primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%);transform:translateX(var(--mdc-linear-progress-primary-half-neg, -83.67142%))}100%{transform:translateX(-200.611057%);transform:translateX(var(--mdc-linear-progress-primary-full-neg, -200.611057%))}}@keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%);transform:translateX(var(--mdc-linear-progress-secondary-quarter-neg, -37.651913%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%);transform:translateX(var(--mdc-linear-progress-secondary-half-neg, -84.386165%))}100%{transform:translateX(-160.277782%);transform:translateX(var(--mdc-linear-progress-secondary-full-neg, -160.277782%))}}@keyframes mdc-linear-progress-buffering-reverse{from{transform:translateX(-10px)}}.mdc-linear-progress{position:relative;width:100%;transform:translateZ(0);outline:1px solid transparent;overflow:hidden;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}@media screen and (forced-colors: active){.mdc-linear-progress{outline-color:CanvasText}}.mdc-linear-progress__bar{position:absolute;width:100%;height:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid}.mdc-linear-progress__buffer{display:flex;position:absolute;width:100%;height:100%}.mdc-linear-progress__buffer-dots{background-repeat:repeat-x;flex:auto;transform:rotate(180deg);animation:mdc-linear-progress-buffering 250ms infinite linear}.mdc-linear-progress__buffer-bar{flex:0 1 100%;transition:flex-basis 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress__secondary-bar{display:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;display:block}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation:mdc-linear-progress-primary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-primary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation:mdc-linear-progress-secondary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-secondary-indeterminate-scale 2s infinite linear}[dir=rtl] .mdc-linear-progress:not([dir=ltr]) .mdc-linear-progress__bar,.mdc-linear-progress[dir=rtl]:not([dir=ltr]) .mdc-linear-progress__bar{right:0;-webkit-transform-origin:center right;transform-origin:center right}[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar,.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation-name:mdc-linear-progress-primary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar,.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation-name:mdc-linear-progress-secondary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress:not([dir=ltr]) .mdc-linear-progress__buffer-dots,.mdc-linear-progress[dir=rtl]:not([dir=ltr]) .mdc-linear-progress__buffer-dots{animation:mdc-linear-progress-buffering-reverse 250ms infinite linear;transform:rotate(0)}[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar,.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar,.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}.mdc-linear-progress--closed{opacity:0}.mdc-linear-progress--closed-animation-off .mdc-linear-progress__buffer-dots{animation:none}.mdc-linear-progress--closed-animation-off.mdc-linear-progress--indeterminate .mdc-linear-progress__bar,.mdc-linear-progress--closed-animation-off.mdc-linear-progress--indeterminate .mdc-linear-progress__bar .mdc-linear-progress__bar-inner{animation:none}.mdc-linear-progress__bar-inner{border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E")}.mdc-linear-progress__buffer-bar{background-color:#e6e6e6}.mdc-linear-progress{height:4px}.mdc-linear-progress__bar-inner{border-top-width:4px}.mdc-linear-progress__buffer-dots{background-size:10px 4px}:host{display:block}.mdc-linear-progress__buffer-bar{background-color:#e6e6e6;background-color:var(--mdc-linear-progress-buffer-color, #e6e6e6)}.mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E");background-image:var(--mdc-linear-progress-buffering-dots-image, url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E"))}`;/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */let ih=class extends Vi{};ih.styles=[P2];ih=G([Jn("mwc-linear-progress")],ih);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let fo=class extends BA{constructor(){super(),this.htmlFile="index.html",this.location="Result",this._loading=!0,this._showLoadingBar=!1,this._loadedAtLeastOnce=!1,this.reload=()=>{const e=this.iframe;if(!e)return;const{parentNode:i,nextSibling:s}=e;i&&e.remove(),e.src="",e.src=this._indexUrl,i&&i.insertBefore(e,s),this._loading=!0,this._showLoadingBar=!0},navigator.serviceWorker===void 0&&(this._error=it`

- Sorry! Preview unavailable because this browser doesn't - support - service workers. -

-

- Note: Firefox - doesn't - support service workers in private browsing mode. -

`)}update(e){if(e.has("_project")){const i=e.get("_project");i&&(i.removeEventListener("urlChanged",this.reload),i.removeEventListener("compileStart",this.reload)),this._project&&(this._project.addEventListener("urlChanged",this.reload),this._project.addEventListener("compileStart",this.reload))}super.update(e)}get _indexUrl(){var e;const i=(e=this._project)===null||e===void 0?void 0:e.baseUrl;return!i||!this.htmlFile?"":new URL(this.htmlFile,i).toString()}render(){return it` -
- ${this.location} - - - - - - -
- -
- - - ${this._loadedAtLeastOnce?vn:it``} - - -
- - ${this._error?it` - - ${this._error} - `:vn} - `}updated(){this.iframe&&this.iframe.src!==this._indexUrl&&(this.iframe.src=this._indexUrl)}async firstUpdated(){var e,i;this._loading&&!this._slotHasAnyVisibleChildren()&&(this._showLoadingBar=!0);const s=this.shadowRoot.querySelector("mwc-linear-progress");await s.updateComplete,(i=(e=s.shadowRoot)===null||e===void 0?void 0:e.querySelector("[role=progressbar]"))===null||i===void 0||i.setAttribute("aria-label","Preview is loading")}_slotHasAnyVisibleChildren(){var e;const i=(e=this._slot)===null||e===void 0?void 0:e.assignedNodes({flatten:!0});if(!i)return!1;for(const s of i)if(s.nodeType!==Node.COMMENT_NODE&&!(s.nodeType===Node.TEXT_NODE&&(s.textContent||"").trim()===""))return!0;return!1}_onIframeLoad(){this._indexUrl&&(this._loading=!1,this._loadedAtLeastOnce=!0,this._showLoadingBar=!1)}};fo.styles=Gn` - :host { - display: flex; - flex-direction: column; - background: white; - font-family: sans-serif; - height: 350px; - position: relative; /* for the error message overlay */ - } - - #toolbar { - flex: 0 0 var(--playground-bar-height, 40px); - display: flex; - align-items: center; - justify-content: space-between; - border-bottom: var(--playground-border, solid 1px #ddd); - font-size: 15px; - color: var(--playground-preview-toolbar-foreground-color, #444); - border-radius: inherit; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background: var(--playground-preview-toolbar-background, white); - } - - #location { - margin: 0 10px; - } - - #reload-button { - --mdc-icon-button-size: 30px; - --mdc-icon-size: 18px; - } - - #content { - max-height: 100%; - position: relative; - flex: 1; - } - - #content.error { - display: none; - } - - #error { - padding: 0 20px; - } - - mwc-linear-progress { - /* There is no way to directly specify the height of a linear progress - bar, but zooming works well enough. It's 4px by default, and we want it to - be 2px to match the tab bar indicator.*/ - zoom: 0.5; - --mdc-linear-progress-buffer-color: transparent; - position: absolute; - top: -6px; - width: 100%; - --mdc-theme-primary: var(--playground-highlight-color, #6200ee); - } - - iframe, - slot { - width: 100%; - height: 100%; - } - - iframe { - border: none; - } - - [hidden] { - display: none; - } - `;G([ge({attribute:"html-file"})],fo.prototype,"htmlFile",void 0);G([ge()],fo.prototype,"location",void 0);G([en("iframe",!0)],fo.prototype,"iframe",void 0);G([en("slot")],fo.prototype,"_slot",void 0);G([Ct()],fo.prototype,"_loading",void 0);G([Ct()],fo.prototype,"_showLoadingBar",void 0);G([Ct()],fo.prototype,"_loadedAtLeastOnce",void 0);G([Ct()],fo.prototype,"_error",void 0);fo=G([Jn("playground-preview")],fo);/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */let bi=class extends mi{constructor(){super(...arguments),this.sandboxBaseUrl=`https://unpkg.com/playground-elements@${Xv}/`,this.sandboxScope=`__playground_swfs_${Ou}/`,this.editableFileSystem=!1,this.lineNumbers=!1,this.lineWrapping=!1,this.resizable=!1,this.pragmas="on",this.htmlFile="index.html",this.noCompletions=!1}get projectSrc(){var e,i;return(i=(e=this._project)===null||e===void 0?void 0:e.projectSrc)!==null&&i!==void 0?i:this._projectSrcSetBeforeRender}set projectSrc(e){const i=this._project;i?i.projectSrc=e:this._projectSrcSetBeforeRender=e}get config(){var e,i;return(i=(e=this._project)===null||e===void 0?void 0:e.config)!==null&&i!==void 0?i:this._configSetBeforeRender}set config(e){const i=this._project;i?i.config=e:this._configSetBeforeRender=e}get modified(){var e,i;return(i=(e=this._project)===null||e===void 0?void 0:e.modified)!==null&&i!==void 0?i:!1}render(){const e="project",i="editor";return it` - - - - -
- - - - - -
- -
- ${this.resizable?it`
`:vn} - - -
- `}firstUpdated(){this._configSetBeforeRender&&(this._project.config=this._configSetBeforeRender,this._configSetBeforeRender=void 0),this._projectSrcSetBeforeRender&&(this._project.projectSrc=this._projectSrcSetBeforeRender,this._projectSrcSetBeforeRender=void 0)}async update(e){var i;e.has("resizable")&&this.resizable===!1&&((i=this._rhs)===null||i===void 0||i.style.removeProperty("--playground-preview-width")),super.update(e)}_onResizeBarPointerdown({pointerId:e}){const i=this._resizeBar;i.setPointerCapture(e);const s=this._rhs.style,{left:d,right:A}=this.getBoundingClientRect(),p=A-d,g=100,m=p-100,v=_=>{const S=Math.min(m,Math.max(g,A-_.clientX))/p*100;s.setProperty("--playground-preview-width",`${S}%`)};i.addEventListener("pointermove",v);const C=()=>{i.releasePointerCapture(e),i.removeEventListener("pointermove",v),i.removeEventListener("pointerup",C)};i.addEventListener("pointerup",C)}};bi.styles=Gn` - :host { - display: flex; - height: 350px; - min-width: 200px; - border: var(--playground-border, solid 1px #ddd); - /* The invisible resize bar has a high z-index so that it's above - CodeMirror. But we don't want it also above other elements on the page. - Force a new stacking context. */ - isolation: isolate; - } - - #lhs { - display: flex; - flex-direction: column; - height: 100%; - flex: 1; - min-width: 100px; - border-radius: inherit; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right: var(--playground-border, solid 1px #ddd); - } - - playground-tab-bar { - flex-shrink: 0; - } - - playground-file-editor { - flex: 1; - height: calc(100% - var(--playground-bar-height, 40px)); - } - - #rhs { - height: 100%; - width: max(100px, var(--playground-preview-width, 30%)); - position: relative; - border-radius: inherit; - } - - playground-preview { - height: 100%; - width: 100%; - border-radius: inherit; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - slot { - display: none; - } - - #resizeBar { - position: absolute; - top: 0; - left: -5px; - width: 10px; - height: 100%; - z-index: 9; - cursor: col-resize; - } - - #resizeOverlay { - display: none; - } - #resizeOverlay.resizing { - display: block; - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 99999; - cursor: col-resize; - } - `;G([ge({attribute:"project-src",hasChanged:()=>!1})],bi.prototype,"projectSrc",null);G([ge({attribute:!1,hasChanged:()=>!1})],bi.prototype,"config",null);G([ge({attribute:"sandbox-base-url"})],bi.prototype,"sandboxBaseUrl",void 0);G([ge({attribute:"sandbox-scope"})],bi.prototype,"sandboxScope",void 0);G([ge({type:Boolean,attribute:"editable-file-system"})],bi.prototype,"editableFileSystem",void 0);G([ge({type:Boolean,attribute:"line-numbers"})],bi.prototype,"lineNumbers",void 0);G([ge({type:Boolean,attribute:"line-wrapping"})],bi.prototype,"lineWrapping",void 0);G([ge({type:Boolean})],bi.prototype,"resizable",void 0);G([ge()],bi.prototype,"pragmas",void 0);G([ge({attribute:"html-file"})],bi.prototype,"htmlFile",void 0);G([ge({type:Boolean,attribute:"no-completions"})],bi.prototype,"noCompletions",void 0);G([en("playground-project")],bi.prototype,"_project",void 0);G([en("#resizeBar")],bi.prototype,"_resizeBar",void 0);G([en("#rhs")],bi.prototype,"_rhs",void 0);bi=G([Jn("playground-ide")],bi);var Mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},rh={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(n,e){(function(){var i,s="4.17.21",d=200,A="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",p="Expected a function",g="Invalid `variable` option passed into `_.template`",m="__lodash_hash_undefined__",v=500,C="__lodash_placeholder__",_=1,B=2,S=4,N=1,j=2,oe=1,X=2,le=4,ye=8,xe=16,Pe=32,Ie=64,Ee=128,Y=256,Q=512,M=30,W="...",O=800,K=16,se=1,Oe=2,ze=3,He=1/0,Qe=9007199254740991,st=17976931348623157e292,ht=0/0,Fe=4294967295,De=Fe-1,qe=Fe>>>1,rt=[["ary",Ee],["bind",oe],["bindKey",X],["curry",ye],["curryRight",xe],["flip",Q],["partial",Pe],["partialRight",Ie],["rearg",Y]],he="[object Arguments]",ue="[object Array]",ve="[object AsyncFunction]",Te="[object Boolean]",ot="[object Date]",gt="[object DOMException]",et="[object Error]",L="[object Function]",U="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Ce="[object Null]",ke="[object Object]",Z="[object Promise]",ie="[object Proxy]",V="[object RegExp]",Ae="[object Set]",Ue="[object String]",Ze="[object Symbol]",Ge="[object Undefined]",Ye="[object WeakMap]",_t="[object WeakSet]",mt="[object ArrayBuffer]",Rt="[object DataView]",$e="[object Float32Array]",Fn="[object Float64Array]",dt="[object Int8Array]",rn="[object Int16Array]",Jt="[object Int32Array]",zi="[object Uint8Array]",Ut="[object Uint8ClampedArray]",Mn="[object Uint16Array]",bn="[object Uint32Array]",Ki=/\b__p \+= '';/g,da=/\b(__p \+=) '' \+/g,_r=/(__e\(.*?\)|\b__t\)) \+\n'';/g,vs=/&(?:amp|lt|gt|quot|#39);/g,Po=/[&<>"']/g,di=RegExp(vs.source),bs=RegExp(Po.source),kA=/<%-([\s\S]+?)%>/g,wr=/<%([\s\S]+?)%>/g,yl=/<%=([\s\S]+?)%>/g,ys=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xs=/^\w*$/,MA=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ir=/[\\^$.*+?()[\]{}|]/g,qi=RegExp(Ir.source),Yi=/^\s+/,Jr=/\s/,Vr=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Cs=/\{\n\/\* \[wrapped with (.+)\] \*/,_s=/,? & /,lr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ar=/[()=,{}\[\]\/\s]/,Li=/\\(\\)?/g,ua=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ws=/\w*$/,xn=/^[-+]0x[0-9a-f]+$/i,Ke=/^0b[01]+$/i,Er=/^\[object .+?Constructor\]$/,fa=/^0o[0-7]+$/i,xi=/^(?:0|[1-9]\d*)$/,Wt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Oi=/($^)/,Do=/['\n\r\u2028\u2029\\]/g,Kr="\\ud800-\\udfff",E="\\u0300-\\u036f",D="\\ufe20-\\ufe2f",Le="\\u20d0-\\u20ff",je=E+D+Le,Ve="\\u2700-\\u27bf",bt="a-z\\xdf-\\xf6\\xf8-\\xff",Tt="\\xac\\xb1\\xd7\\xf7",Xe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Qn="\\u2000-\\u206f",Kn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ci="A-Z\\xc0-\\xd6\\xd8-\\xde",QA="\\ufe0e\\ufe0f",SA=Tt+Xe+Qn+Kn,No="['\u2019]",RA="["+Kr+"]",TA="["+SA+"]",Is="["+je+"]",zA="\\d+",rd="["+Ve+"]",LA="["+bt+"]",OA="[^"+Kr+SA+zA+Ve+bt+Ci+"]",xl="\\ud83c[\\udffb-\\udfff]",qr="(?:"+Is+"|"+xl+")",pa="[^"+Kr+"]",Fo="(?:\\ud83c[\\udde6-\\uddff]){2}",PA="[\\ud800-\\udbff][\\udc00-\\udfff]",po="["+Ci+"]",DA="\\u200d",NA="(?:"+LA+"|"+OA+")",od="(?:"+po+"|"+OA+")",ha="(?:"+No+"(?:d|ll|m|re|s|t|ve))?",ga="(?:"+No+"(?:D|LL|M|RE|S|T|VE))?",Cl=qr+"?",FA="["+QA+"]?",sd="(?:"+DA+"(?:"+[pa,Fo,PA].join("|")+")"+FA+Cl+")*",_l="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",jA=FA+Cl+sd,Br="(?:"+[rd,Fo,PA].join("|")+")"+jA,HA="(?:"+[pa+Is+"?",Is,Fo,PA,RA].join("|")+")",ad=RegExp(No,"g"),ho=RegExp(Is,"g"),ma=RegExp(xl+"(?="+xl+")|"+HA+jA,"g"),Yr=RegExp([po+"?"+LA+"+"+ha+"(?="+[TA,po,"$"].join("|")+")",od+"+"+ga+"(?="+[TA,po+NA,"$"].join("|")+")",po+"?"+NA+"+"+ha,po+"+"+ga,hf,_l,zA,Br].join("|"),"g"),wl=RegExp("["+DA+Kr+je+QA+"]"),$A=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Es=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],gf=-1,dn={};dn[$e]=dn[Fn]=dn[dt]=dn[rn]=dn[Jt]=dn[zi]=dn[Ut]=dn[Mn]=dn[bn]=!0,dn[he]=dn[ue]=dn[mt]=dn[Te]=dn[Rt]=dn[ot]=dn[et]=dn[L]=dn[ae]=dn[fe]=dn[ke]=dn[V]=dn[Ae]=dn[Ue]=dn[Ye]=!1;var An={};An[he]=An[ue]=An[mt]=An[Rt]=An[Te]=An[ot]=An[$e]=An[Fn]=An[dt]=An[rn]=An[Jt]=An[ae]=An[fe]=An[ke]=An[V]=An[Ae]=An[Ue]=An[Ze]=An[zi]=An[Ut]=An[Mn]=An[bn]=!0,An[et]=An[L]=An[Ye]=!1;var ld={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ad={"&":"&","<":"<",">":">",'"':""","'":"'"},mf={"&":"&","<":"<",">":">",""":'"',"'":"'"},vf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},bf=parseFloat,cd=parseInt,dd=typeof Mc=="object"&&Mc&&Mc.Object===Object&&Mc,ud=typeof self=="object"&&self&&self.Object===Object&&self,Ln=dd||ud||Function("return this")(),go=e&&!e.nodeType&&e,cr=go&&!0&&n&&!n.nodeType&&n,On=cr&&cr.exports===go,ZA=On&&dd.process,Pi=function(){try{var te=cr&&cr.require&&cr.require("util").types;return te||ZA&&ZA.binding&&ZA.binding("util")}catch{}}(),Bs=Pi&&Pi.isArrayBuffer,GA=Pi&&Pi.isDate,fd=Pi&&Pi.isMap,Il=Pi&&Pi.isRegExp,UA=Pi&&Pi.isSet,pd=Pi&&Pi.isTypedArray;function Di(te,me,ce){switch(ce.length){case 0:return te.call(me);case 1:return te.call(me,ce[0]);case 2:return te.call(me,ce[0],ce[1]);case 3:return te.call(me,ce[0],ce[1],ce[2])}return te.apply(me,ce)}function hd(te,me,ce,Je){for(var vt=-1,Xt=te==null?0:te.length;++vt-1}function va(te,me,ce){for(var Je=-1,vt=te==null?0:te.length;++Je-1;);return ce}function KA(te,me){for(var ce=te.length;ce--&&Ho(me,te[ce],0)>-1;);return ce}function xd(te,me){for(var ce=te.length,Je=0;ce--;)te[ce]===me&&++Je;return Je}var qA=$o(ld),xf=$o(Ad);function Cf(te){return"\\"+vf[te]}function _f(te,me){return te==null?i:te[me]}function ur(te){return wl.test(te)}function Ss(te){return $A.test(te)}function YA(te){for(var me,ce=[];!(me=te.next()).done;)ce.push(me.value);return ce}function xa(te){var me=-1,ce=Array(te.size);return te.forEach(function(Je,vt){ce[++me]=[vt,Je]}),ce}function ec(te,me){return function(ce){return te(me(ce))}}function Mr(te,me){for(var ce=-1,Je=te.length,vt=0,Xt=[];++ce-1}function jd(o,a){var f=this.__data__,y=Oa(f,o);return y<0?(++this.size,f.push([o,a])):f[y][1]=a,this}pr.prototype.clear=Nd,pr.prototype.delete=Fd,pr.prototype.get=ei,pr.prototype.has=Fl,pr.prototype.set=jd;function zr(o){var a=-1,f=o==null?0:o.length;for(this.clear();++a=a?o:a)),o}function cn(o,a,f,y,k,P){var $,q=a&_,re=a&B,_e=a&S;if(f&&($=k?f(o,y,k,P):f(o)),$!==i)return $;if(!Rn(o))return o;var we=Bt(o);if(we){if($=sb(o),!q)return Ne(o,$)}else{var Re=Mi(o),We=Re==L||Re==U;if(Xs(o))return ee(o,q);if(Re==ke||Re==he||We&&!k){if($=re||We?{}:jh(o),!q)return re?Pt(o,Pa($,o)):tt(o,Yo($,o))}else{if(!An[Re])return k?o:{};$=ab(o,Re,q)}}P||(P=new Ei);var nt=P.get(o);if(nt)return nt;P.set(o,$),gg(o)?o.forEach(function(pt){$.add(cn(pt,a,f,pt,o,P))}):pg(o)&&o.forEach(function(pt,Nt){$.set(Nt,cn(pt,a,f,Nt,o,P))});var ft=_e?re?Us:is:re?tr:ai,Lt=we?i:ft(o);return Ni(Lt||o,function(pt,Nt){Lt&&(Nt=pt,pt=o[Nt]),Fs($,Nt,cn(pt,a,f,Nt,o,P))}),$}function Jd(o){var a=ai(o);return function(f){return Vd(f,o,a)}}function Vd(o,a,f){var y=f.length;if(o==null)return!y;for(o=tn(o);y--;){var k=f[y],P=a[k],$=o[k];if($===i&&!(k in o)||!P($))return!1}return!0}function lc(o,a,f){if(typeof o!="function")throw new si(p);return xc(function(){o.apply(i,f)},a)}function js(o,a,f,y){var k=-1,P=jo,$=!0,q=o.length,re=[],_e=a.length;if(!q)return re;f&&(a=un(a,Cn(f))),y?(P=va,$=!1):a.length>=d&&(P=Zo,$=!1,a=new bo(a));e:for(;++kk?0:k+f),y=y===i||y>k?k:Mt(y),y<0&&(y+=k),y=f>y?0:vg(y);f0&&f(q)?a>1?fn(q,a-1,f,y,k):qn(k,q):y||(k[k.length]=q)}return k}var Ac=ut(),qd=ut(!0);function hi(o,a){return o&&Ac(o,a,ai)}function $l(o,a){return o&&qd(o,a,ai)}function Da(o,a){return oi(a,function(f){return as(o[f])})}function _o(o,a){a=z(a,o);for(var f=0,y=a.length;o!=null&&fa}function cc(o,a){return o!=null&&Ht.call(o,a)}function dc(o,a){return o!=null&&a in tn(o)}function ja(o,a,f){return o>=Yn(a,f)&&o=120&&we.length>=120)?new bo($&&we):i}we=o[0];var Re=-1,We=q[0];e:for(;++Re-1;)q!==o&&Tl.call(q,re,1),Tl.call(o,re,1);return o}function Xa(o,a){for(var f=o?a.length:0,y=f-1;f--;){var k=a[f];if(f==y||k!==P){var P=k;ss(k)?Tl.call(o,k,1):c(o,k)}}return o}function Ja(o,a){return o+Ea(Ma()*(a-o+1))}function su(o,a,f,y){for(var k=-1,P=Sn(zs((a-o)/(f||1)),0),$=ce(P);P--;)$[y?P:++k]=o,o+=f;return $}function Jl(o,a){var f="";if(!o||a<1||a>Qe)return f;do a%2&&(f+=o),a=Ea(a/2),a&&(o+=o);while(a);return f}function kt(o,a){return Rf(Zh(o,a,nr),o+"")}function au(o){return Ns(eA(o))}function lu(o,a){var f=eA(o);return du(f,es(a,0,f.length))}function ns(o,a,f,y){if(!Rn(o))return o;a=z(a,o);for(var k=-1,P=a.length,$=P-1,q=o;q!=null&&++kk?0:k+a),f=f>k?k:f,f<0&&(f+=k),k=a>f?0:f-a>>>0,a>>>=0;for(var P=ce(k);++y>>1,$=o[P];$!==null&&!gr($)&&(f?$<=a:$=d){var _e=a?null:qa(o);if(_e)return Qr(_e);$=!1,k=Zo,re=new bo}else re=a?[]:q;e:for(;++y=y?o:ti(o,a,f)}var F=Ia||function(o){return Ln.clearTimeout(o)};function ee(o,a){if(a)return o.slice();var f=o.length,y=kd?kd(f):new o.constructor(f);return o.copy(y),y}function J(o){var a=new o.constructor(o.byteLength);return new Tr(a).set(new Tr(o)),a}function ne(o,a){var f=a?J(o.buffer):o.buffer;return new o.constructor(f,o.byteOffset,o.byteLength)}function de(o){var a=new o.constructor(o.source,ws.exec(o));return a.lastIndex=o.lastIndex,a}function pe(o){return Xo?tn(Xo.call(o)):{}}function be(o,a){var f=a?J(o.buffer):o.buffer;return new o.constructor(f,o.byteOffset,o.length)}function Se(o,a){if(o!==a){var f=o!==i,y=o===null,k=o===o,P=gr(o),$=a!==i,q=a===null,re=a===a,_e=gr(a);if(!q&&!_e&&!P&&o>a||P&&$&&re&&!q&&!_e||y&&$&&re||!f&&re||!k)return 1;if(!y&&!P&&!_e&&o=q)return re;var _e=f[y];return re*(_e=="desc"?-1:1)}}return o.index-a.index}function Me(o,a,f,y){for(var k=-1,P=o.length,$=f.length,q=-1,re=a.length,_e=Sn(P-$,0),we=ce(re+_e),Re=!y;++q1?f[k-1]:i,$=k>2?f[2]:i;for(P=o.length>3&&typeof P=="function"?(k--,P):i,$&&Zi(f[0],f[1],$)&&(P=k<3?i:P,k=1),a=tn(a);++y-1?k[P?a[$]:$]:i}}function Wn(o){return hr(function(a){var f=a.length,y=f,k=Ii.prototype.thru;for(o&&a.reverse();y--;){var P=a[y];if(typeof P!="function")throw new si(p);if(k&&!$&&Ws(P)=="wrapper")var $=new Ii([],!0)}for(y=$?y:f;++y1&&Zt.reverse(),we&&req))return!1;var _e=P.get(o),we=P.get(a);if(_e&&we)return _e==a&&we==o;var Re=-1,We=!0,nt=f&j?new bo:i;for(P.set(o,a),P.set(a,o);++Re1?"& ":"")+a[y],a=a.join(f>2?", ":" "),o.replace(Vr,`{ -/* [wrapped with `+a+`] */ -`)}function Ab(o){return Bt(o)||nl(o)||!!(fi&&o&&o[fi])}function ss(o,a){var f=typeof o;return a=a==null?Qe:a,!!a&&(f=="number"||f!="symbol"&&xi.test(o))&&o>-1&&o%1==0&&o0){if(++a>=O)return arguments[0]}else a=0;return o.apply(i,arguments)}}function du(o,a){var f=-1,y=o.length,k=y-1;for(a=a===i?y:a;++f1?o[a-1]:i;return f=typeof f=="function"?(o.pop(),f):i,ng(o,f)});function ig(o){var a=R(o);return a.__chain__=!0,a}function yy(o,a){return a(o),o}function uu(o,a){return a(o)}var xy=hr(function(o){var a=o.length,f=a?o[0]:0,y=this.__wrapped__,k=function(P){return ac(P,o)};return a>1||this.__actions__.length||!(y instanceof Ot)||!ss(f)?this.thru(k):(y=y.slice(f,+f+(a?1:0)),y.__actions__.push({func:uu,args:[k],thisArg:i}),new Ii(y,this.__chain__).thru(function(P){return a&&!P.length&&P.push(i),P}))});function Cy(){return ig(this)}function _y(){return new Ii(this.value(),this.__chain__)}function wy(){this.__values__===i&&(this.__values__=mg(this.value()));var o=this.__index__>=this.__values__.length,a=o?i:this.__values__[this.__index__++];return{done:o,value:a}}function Iy(){return this}function Ey(o){for(var a,f=this;f instanceof Vo;){var y=Vh(f);y.__index__=0,y.__values__=i,a?k.__wrapped__=y:a=y;var k=y;f=f.__wrapped__}return k.__wrapped__=o,a}function By(){var o=this.__wrapped__;if(o instanceof Ot){var a=o;return this.__actions__.length&&(a=new Ot(this)),a=a.reverse(),a.__actions__.push({func:uu,args:[Tf],thisArg:i}),new Ii(a,this.__chain__)}return this.thru(Tf)}function ky(){return h(this.__wrapped__,this.__actions__)}var My=jt(function(o,a,f){Ht.call(o,f)?++o[f]:Lr(o,f,1)});function Qy(o,a,f){var y=Bt(o)?ks:xo;return f&&Zi(o,a,f)&&(a=i),y(o,ct(a,3))}function Sy(o,a){var f=Bt(o)?oi:Hs;return f(o,ct(a,3))}var Ry=zt(Kh),Ty=zt(qh);function zy(o,a){return fn(fu(o,a),1)}function Ly(o,a){return fn(fu(o,a),He)}function Oy(o,a,f){return f=f===i?1:Mt(f),fn(fu(o,a),f)}function rg(o,a){var f=Bt(o)?Ni:io;return f(o,ct(a,3))}function og(o,a){var f=Bt(o)?yf:Kd;return f(o,ct(a,3))}var Py=jt(function(o,a,f){Ht.call(o,f)?o[f].push(a):Lr(o,f,[a])});function Dy(o,a,f,y){o=er(o)?o:eA(o),f=f&&!y?Mt(f):0;var k=o.length;return f<0&&(f=Sn(k+f,0)),vu(o)?f<=k&&o.indexOf(a,f)>-1:!!k&&Ho(o,a,f)>-1}var Ny=kt(function(o,a,f){var y=-1,k=typeof a=="function",P=er(o)?ce(o.length):[];return io(o,function($){P[++y]=k?Di(a,$,f):wo($,a,f)}),P}),Fy=jt(function(o,a,f){Lr(o,f,a)});function fu(o,a){var f=Bt(o)?un:gc;return f(o,ct(a,3))}function jy(o,a,f,y){return o==null?[]:(Bt(a)||(a=a==null?[]:[a]),f=y?i:f,Bt(f)||(f=f==null?[]:[f]),ou(o,a,f))}var Hy=jt(function(o,a,f){o[f?0:1].push(a)},function(){return[[],[]]});function $y(o,a,f){var y=Bt(o)?eo:VA,k=arguments.length<3;return y(o,ct(a,4),f,k,io)}function Zy(o,a,f){var y=Bt(o)?WA:VA,k=arguments.length<3;return y(o,ct(a,4),f,k,Kd)}function Gy(o,a){var f=Bt(o)?oi:Hs;return f(o,gu(ct(a,3)))}function Uy(o){var a=Bt(o)?Ns:au;return a(o)}function Wy(o,a,f){(f?Zi(o,a,f):a===i)?a=1:a=Mt(a);var y=Bt(o)?za:lu;return y(o,a)}function Xy(o){var a=Bt(o)?La:Au;return a(o)}function Jy(o){if(o==null)return 0;if(er(o))return vu(o)?Fi(o):o.length;var a=Mi(o);return a==ae||a==Ae?o.size:Ul(o).length}function Vy(o,a,f){var y=Bt(o)?El:Vl;return f&&Zi(o,a,f)&&(a=i),y(o,ct(a,3))}var Ky=kt(function(o,a){if(o==null)return[];var f=a.length;return f>1&&Zi(o,a[0],a[1])?a=[]:f>2&&Zi(a[0],a[1],a[2])&&(a=[a[0]]),ou(o,fn(a,1),[])}),pu=If||function(){return Ln.Date.now()};function qy(o,a){if(typeof a!="function")throw new si(p);return o=Mt(o),function(){if(--o<1)return a.apply(this,arguments)}}function sg(o,a,f){return a=f?i:a,a=o&&a==null?o.length:a,Pr(o,Ee,i,i,i,i,a)}function ag(o,a){var f;if(typeof a!="function")throw new si(p);return o=Mt(o),function(){return--o>0&&(f=a.apply(this,arguments)),o<=1&&(a=i),f}}var Lf=kt(function(o,a,f){var y=oe;if(f.length){var k=Mr(f,os(Lf));y|=Pe}return Pr(o,y,a,f,k)}),lg=kt(function(o,a,f){var y=oe|X;if(f.length){var k=Mr(f,os(lg));y|=Pe}return Pr(a,y,o,f,k)});function Ag(o,a,f){a=f?i:a;var y=Pr(o,ye,i,i,i,i,i,a);return y.placeholder=Ag.placeholder,y}function cg(o,a,f){a=f?i:a;var y=Pr(o,xe,i,i,i,i,i,a);return y.placeholder=cg.placeholder,y}function dg(o,a,f){var y,k,P,$,q,re,_e=0,we=!1,Re=!1,We=!0;if(typeof o!="function")throw new si(p);a=Nr(a)||0,Rn(f)&&(we=!!f.leading,Re="maxWait"in f,P=Re?Sn(Nr(f.maxWait)||0,a):P,We="trailing"in f?!!f.trailing:We);function nt($n){var so=y,As=k;return y=k=i,_e=$n,$=o.apply(As,so),$}function ft($n){return _e=$n,q=xc(Nt,a),we?nt($n):$}function Lt($n){var so=$n-re,As=$n-_e,Qg=a-so;return Re?Yn(Qg,P-As):Qg}function pt($n){var so=$n-re,As=$n-_e;return re===i||so>=a||so<0||Re&&As>=P}function Nt(){var $n=pu();if(pt($n))return Zt($n);q=xc(Nt,Lt($n))}function Zt($n){return q=i,We&&y?nt($n):(y=k=i,$)}function mr(){q!==i&&F(q),_e=0,y=re=k=q=i}function Gi(){return q===i?$:Zt(pu())}function vr(){var $n=pu(),so=pt($n);if(y=arguments,k=this,re=$n,so){if(q===i)return ft(re);if(Re)return F(q),q=xc(Nt,a),nt(re)}return q===i&&(q=xc(Nt,a)),$}return vr.cancel=mr,vr.flush=Gi,vr}var Yy=kt(function(o,a){return lc(o,1,a)}),e1=kt(function(o,a,f){return lc(o,Nr(a)||0,f)});function t1(o){return Pr(o,Q)}function hu(o,a){if(typeof o!="function"||a!=null&&typeof a!="function")throw new si(p);var f=function(){var y=arguments,k=a?a.apply(this,y):y[0],P=f.cache;if(P.has(k))return P.get(k);var $=o.apply(this,y);return f.cache=P.set(k,$)||P,$};return f.cache=new(hu.Cache||zr),f}hu.Cache=zr;function gu(o){if(typeof o!="function")throw new si(p);return function(){var a=arguments;switch(a.length){case 0:return!o.call(this);case 1:return!o.call(this,a[0]);case 2:return!o.call(this,a[0],a[1]);case 3:return!o.call(this,a[0],a[1],a[2])}return!o.apply(this,a)}}function n1(o){return ag(2,o)}var i1=T(function(o,a){a=a.length==1&&Bt(a[0])?un(a[0],Cn(ct())):un(fn(a,1),Cn(ct()));var f=a.length;return kt(function(y){for(var k=-1,P=Yn(y.length,f);++k=a}),nl=eu(function(){return arguments}())?eu:function(o){return Nn(o)&&Ht.call(o,"callee")&&!Qd.call(o,"callee")},Bt=ce.isArray,v1=Bs?Cn(Bs):Ha;function er(o){return o!=null&&mu(o.length)&&!as(o)}function Hn(o){return Nn(o)&&er(o)}function b1(o){return o===!0||o===!1||Nn(o)&&Pn(o)==Te}var Xs=nc||Wf,y1=GA?Cn(GA):tu;function x1(o){return Nn(o)&&o.nodeType===1&&!Cc(o)}function C1(o){if(o==null)return!0;if(er(o)&&(Bt(o)||typeof o=="string"||typeof o.splice=="function"||Xs(o)||Yl(o)||nl(o)))return!o.length;var a=Mi(o);if(a==ae||a==Ae)return!o.size;if(yc(o))return!Ul(o).length;for(var f in o)if(Ht.call(o,f))return!1;return!0}function _1(o,a){return $s(o,a)}function w1(o,a,f){f=typeof f=="function"?f:i;var y=f?f(o,a):i;return y===i?$s(o,a,i,f):!!y}function Pf(o){if(!Nn(o))return!1;var a=Pn(o);return a==et||a==gt||typeof o.message=="string"&&typeof o.name=="string"&&!Cc(o)}function I1(o){return typeof o=="number"&&Ll(o)}function as(o){if(!Rn(o))return!1;var a=Pn(o);return a==L||a==U||a==ve||a==ie}function fg(o){return typeof o=="number"&&o==Mt(o)}function mu(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=Qe}function Rn(o){var a=typeof o;return o!=null&&(a=="object"||a=="function")}function Nn(o){return o!=null&&typeof o=="object"}var pg=fd?Cn(fd):nu;function E1(o,a){return o===a||Gl(o,a,ql(a))}function B1(o,a,f){return f=typeof f=="function"?f:i,Gl(o,a,ql(a),f)}function k1(o){return hg(o)&&o!=+o}function M1(o){if(ub(o))throw new vt(A);return fc(o)}function Q1(o){return o===null}function S1(o){return o==null}function hg(o){return typeof o=="number"||Nn(o)&&Pn(o)==fe}function Cc(o){if(!Nn(o)||Pn(o)!=ke)return!1;var a=Rl(o);if(a===null)return!0;var f=Ht.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&Rr.call(f)==Id}var Df=Il?Cn(Il):$a;function R1(o){return fg(o)&&o>=-Qe&&o<=Qe}var gg=UA?Cn(UA):Za;function vu(o){return typeof o=="string"||!Bt(o)&&Nn(o)&&Pn(o)==Ue}function gr(o){return typeof o=="symbol"||Nn(o)&&Pn(o)==Ze}var Yl=pd?Cn(pd):pc;function T1(o){return o===i}function z1(o){return Nn(o)&&Mi(o)==Ye}function L1(o){return Nn(o)&&Pn(o)==_t}var O1=Bi(Ga),P1=Bi(function(o,a){return o<=a});function mg(o){if(!o)return[];if(er(o))return vu(o)?_i(o):Ne(o);if(_n&&o[_n])return YA(o[_n]());var a=Mi(o),f=a==ae?xa:a==Ae?Qr:eA;return f(o)}function ls(o){if(!o)return o===0?o:0;if(o=Nr(o),o===He||o===-He){var a=o<0?-1:1;return a*st}return o===o?o:0}function Mt(o){var a=ls(o),f=a%1;return a===a?f?a-f:a:0}function vg(o){return o?es(Mt(o),0,Fe):0}function Nr(o){if(typeof o=="number")return o;if(gr(o))return ht;if(Rn(o)){var a=typeof o.valueOf=="function"?o.valueOf():o;o=Rn(a)?a+"":a}if(typeof o!="string")return o===0?o:+o;o=ya(o);var f=Ke.test(o);return f||fa.test(o)?cd(o.slice(2),f?2:8):xn.test(o)?ht:+o}function bg(o){return lt(o,tr(o))}function D1(o){return o?es(Mt(o),-Qe,Qe):o===0?o:0}function on(o){return o==null?"":t(o)}var N1=wt(function(o,a){if(yc(a)||er(a)){lt(a,ai(a),o);return}for(var f in a)Ht.call(a,f)&&Fs(o,f,a[f])}),yg=wt(function(o,a){lt(a,tr(a),o)}),bu=wt(function(o,a,f,y){lt(a,tr(a),o,y)}),F1=wt(function(o,a,f,y){lt(a,ai(a),o,y)}),j1=hr(ac);function H1(o,a){var f=Jo(o);return a==null?f:Yo(f,a)}var $1=kt(function(o,a){o=tn(o);var f=-1,y=a.length,k=y>2?a[2]:i;for(k&&Zi(a[0],a[1],k)&&(y=1);++f1),P}),lt(o,Us(o),f),y&&(f=cn(f,_|B|S,ki));for(var k=a.length;k--;)c(f,a[k]);return f});function ax(o,a){return Cg(o,gu(ct(a)))}var lx=hr(function(o,a){return o==null?{}:pn(o,a)});function Cg(o,a){if(o==null)return{};var f=un(Us(o),function(y){return[y]});return a=ct(a),Xl(o,f,function(y,k){return a(y,k[0])})}function Ax(o,a,f){a=z(a,o);var y=-1,k=a.length;for(k||(k=1,o=i);++ya){var y=o;o=a,a=y}if(f||o%1||a%1){var k=Ma();return Yn(o+k*(a-o+bf("1e-"+((k+"").length-1))),a)}return Ja(o,a)}var yx=yt(function(o,a,f){return a=a.toLowerCase(),o+(f?Ig(a):a)});function Ig(o){return jf(on(o).toLowerCase())}function Eg(o){return o=on(o),o&&o.replace(Wt,qA).replace(ho,"")}function xx(o,a,f){o=on(o),a=t(a);var y=o.length;f=f===i?y:es(Mt(f),0,y);var k=f;return f-=a.length,f>=0&&o.slice(f,k)==a}function Cx(o){return o=on(o),o&&bs.test(o)?o.replace(Po,xf):o}function _x(o){return o=on(o),o&&qi.test(o)?o.replace(Ir,"\\$&"):o}var wx=yt(function(o,a,f){return o+(f?"-":"")+a.toLowerCase()}),Ix=yt(function(o,a,f){return o+(f?" ":"")+a.toLowerCase()}),Ex=Vt("toLowerCase");function Bx(o,a,f){o=on(o),a=Mt(a);var y=a?Fi(o):0;if(!a||y>=a)return o;var k=(a-y)/2;return gn(Ea(k),f)+o+gn(zs(k),f)}function kx(o,a,f){o=on(o),a=Mt(a);var y=a?Fi(o):0;return a&&y>>0,f?(o=on(o),o&&(typeof a=="string"||a!=null&&!Df(a))&&(a=t(a),!a&&ur(o))?H(_i(o),0,f):o.split(a,f)):[]}var Lx=yt(function(o,a,f){return o+(f?" ":"")+jf(a)});function Ox(o,a,f){return o=on(o),f=f==null?0:es(Mt(f),0,o.length),a=t(a),o.slice(f,f+a.length)==a}function Px(o,a,f){var y=R.templateSettings;f&&Zi(o,a,f)&&(a=i),o=on(o),a=bu({},a,y,bc);var k=bu({},a.imports,y.imports,bc),P=ai(k),$=kl(k,P),q,re,_e=0,we=a.interpolate||Oi,Re="__p += '",We=_a((a.escape||Oi).source+"|"+we.source+"|"+(we===yl?ua:Oi).source+"|"+(a.evaluate||Oi).source+"|$","g"),nt="//# sourceURL="+(Ht.call(a,"sourceURL")?(a.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++gf+"]")+` -`;o.replace(We,function(pt,Nt,Zt,mr,Gi,vr){return Zt||(Zt=mr),Re+=o.slice(_e,vr).replace(Do,Cf),Nt&&(q=!0,Re+=`' + -__e(`+Nt+`) + -'`),Gi&&(re=!0,Re+=`'; -`+Gi+`; -__p += '`),Zt&&(Re+=`' + -((__t = (`+Zt+`)) == null ? '' : __t) + -'`),_e=vr+pt.length,pt}),Re+=`'; -`;var ft=Ht.call(a,"variable")&&a.variable;if(!ft)Re=`with (obj) { -`+Re+` -} -`;else if(Ar.test(ft))throw new vt(g);Re=(re?Re.replace(Ki,""):Re).replace(da,"$1").replace(_r,"$1;"),Re="function("+(ft||"obj")+`) { -`+(ft?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(q?", __e = _.escape":"")+(re?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Re+`return __p -}`;var Lt=kg(function(){return Xt(P,nt+"return "+Re).apply(i,$)});if(Lt.source=Re,Pf(Lt))throw Lt;return Lt}function Dx(o){return on(o).toLowerCase()}function Nx(o){return on(o).toUpperCase()}function Fx(o,a,f){if(o=on(o),o&&(f||a===i))return ya(o);if(!o||!(a=t(a)))return o;var y=_i(o),k=_i(a),P=Ml(y,k),$=KA(y,k)+1;return H(y,P,$).join("")}function jx(o,a,f){if(o=on(o),o&&(f||a===i))return o.slice(0,tc(o)+1);if(!o||!(a=t(a)))return o;var y=_i(o),k=KA(y,_i(a))+1;return H(y,0,k).join("")}function Hx(o,a,f){if(o=on(o),o&&(f||a===i))return o.replace(Yi,"");if(!o||!(a=t(a)))return o;var y=_i(o),k=Ml(y,_i(a));return H(y,k).join("")}function $x(o,a){var f=M,y=W;if(Rn(a)){var k="separator"in a?a.separator:k;f="length"in a?Mt(a.length):f,y="omission"in a?t(a.omission):y}o=on(o);var P=o.length;if(ur(o)){var $=_i(o);P=$.length}if(f>=P)return o;var q=f-Fi(y);if(q<1)return y;var re=$?H($,0,q).join(""):o.slice(0,q);if(k===i)return re+y;if($&&(q+=re.length-q),Df(k)){if(o.slice(q).search(k)){var _e,we=re;for(k.global||(k=_a(k.source,on(ws.exec(k))+"g")),k.lastIndex=0;_e=k.exec(we);)var Re=_e.index;re=re.slice(0,Re===i?q:Re)}}else if(o.indexOf(t(k),q)!=q){var We=re.lastIndexOf(k);We>-1&&(re=re.slice(0,We))}return re+y}function Zx(o){return o=on(o),o&&di.test(o)?o.replace(vs,Ca):o}var Gx=yt(function(o,a,f){return o+(f?" ":"")+a.toUpperCase()}),jf=Vt("toUpperCase");function Bg(o,a,f){return o=on(o),a=f?i:a,a===i?Ss(o)?Ql(o):Ms(o):o.match(a)||[]}var kg=kt(function(o,a){try{return Di(o,i,a)}catch(f){return Pf(f)?f:new vt(f)}}),Ux=hr(function(o,a){return Ni(a,function(f){f=Bo(f),Lr(o,f,Lf(o[f],o))}),o});function Wx(o){var a=o==null?0:o.length,f=ct();return o=a?un(o,function(y){if(typeof y[1]!="function")throw new si(p);return[f(y[0]),y[1]]}):[],kt(function(y){for(var k=-1;++kQe)return[];var f=Fe,y=Yn(o,Fe);a=ct(a),o-=Fe;for(var k=Qs(y,a);++f0||a<0)?new Ot(f):(o<0?f=f.takeRight(-o):o&&(f=f.drop(o)),a!==i&&(a=Mt(a),f=a<0?f.dropRight(-a):f.take(a-o)),f)},Ot.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Ot.prototype.toArray=function(){return this.take(Fe)},hi(Ot.prototype,function(o,a){var f=/^(?:filter|find|map|reject)|While$/.test(a),y=/^(?:head|last)$/.test(a),k=R[y?"take"+(a=="last"?"Right":""):a],P=y||/^find/.test(a);!k||(R.prototype[a]=function(){var $=this.__wrapped__,q=y?[1]:arguments,re=$ instanceof Ot,_e=q[0],we=re||Bt($),Re=function(Nt){var Zt=k.apply(R,qn([Nt],q));return y&&We?Zt[0]:Zt};we&&f&&typeof _e=="function"&&_e.length!=1&&(re=we=!1);var We=this.__chain__,nt=!!this.__actions__.length,ft=P&&!We,Lt=re&&!nt;if(!P&&we){$=Lt?$:new Ot(this);var pt=o.apply($,q);return pt.__actions__.push({func:uu,args:[Re],thisArg:i}),new Ii(pt,We)}return ft&&Lt?o.apply(this,q):(pt=this.thru(Re),ft?y?pt.value()[0]:pt.value():pt)})}),Ni(["pop","push","shift","sort","splice","unshift"],function(o){var a=Uo[o],f=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",y=/^(?:pop|shift)$/.test(o);R.prototype[o]=function(){var k=arguments;if(y&&!this.__chain__){var P=this.value();return a.apply(Bt(P)?P:[],k)}return this[f](function($){return a.apply(Bt($)?$:[],k)})}}),hi(Ot.prototype,function(o,a){var f=R[a];if(f){var y=f.name+"";Ht.call(Hi,y)||(Hi[y]=[]),Hi[y].push({name:a,func:f})}}),Hi[qt(i,X).name]=[{name:"wrapper",func:i}],Ot.prototype.clone=Ld,Ot.prototype.reverse=Dl,Ot.prototype.value=Od,R.prototype.at=xy,R.prototype.chain=Cy,R.prototype.commit=_y,R.prototype.next=wy,R.prototype.plant=Ey,R.prototype.reverse=By,R.prototype.toJSON=R.prototype.valueOf=R.prototype.value=ky,R.prototype.first=R.prototype.head,_n&&(R.prototype[_n]=Iy),R},vo=wf();cr?((cr.exports=vo)._=vo,go._=vo):Ln._=vo}).call(Mc)})(rh,rh.exports);const hp=rh.exports,D2="/examples/assets/custom-node-1-1.00c14167.png",N2=Object.freeze(Object.defineProperty({__proto__:null,default:D2},Symbol.toStringTag,{value:"Module"})),F2="/examples/assets/custom-node-1-1.00c14167.png",j2=Object.freeze(Object.defineProperty({__proto__:null,default:F2},Symbol.toStringTag,{value:"Module"})),H2="/examples/assets/custom-node-1-1.00c14167.png",$2=Object.freeze(Object.defineProperty({__proto__:null,default:H2},Symbol.toStringTag,{value:"Module"})),Z2="/examples/assets/custom-node-1-1.00c14167.png",G2=Object.freeze(Object.defineProperty({__proto__:null,default:Z2},Symbol.toStringTag,{value:"Module"})),U2="/examples/assets/custom-node-1-1.00c14167.png",W2=Object.freeze(Object.defineProperty({__proto__:null,default:U2},Symbol.toStringTag,{value:"Module"})),X2="/examples/assets/custom-node-1-1.00c14167.png",J2=Object.freeze(Object.defineProperty({__proto__:null,default:X2},Symbol.toStringTag,{value:"Module"})),V2="/examples/assets/custom-node-1-1.00c14167.png",K2=Object.freeze(Object.defineProperty({__proto__:null,default:V2},Symbol.toStringTag,{value:"Module"})),q2="/examples/assets/custom-node-1-1.00c14167.png",Y2=Object.freeze(Object.defineProperty({__proto__:null,default:q2},Symbol.toStringTag,{value:"Module"})),ek="/examples/assets/custom-node-1-1.00c14167.png",tk=Object.freeze(Object.defineProperty({__proto__:null,default:ek},Symbol.toStringTag,{value:"Module"})),nk="/examples/assets/custom-node-1-1.00c14167.png",ik=Object.freeze(Object.defineProperty({__proto__:null,default:nk},Symbol.toStringTag,{value:"Module"})),rk="/examples/assets/html-card-1-1.57315265.png",ok=Object.freeze(Object.defineProperty({__proto__:null,default:rk},Symbol.toStringTag,{value:"Module"})),sk="/examples/assets/html-card-1-1.57315265.png",ak=Object.freeze(Object.defineProperty({__proto__:null,default:sk},Symbol.toStringTag,{value:"Module"})),lk="/examples/assets/html-card-1-1.57315265.png",Ak=Object.freeze(Object.defineProperty({__proto__:null,default:lk},Symbol.toStringTag,{value:"Module"})),ck="/examples/assets/html-card-1-1.57315265.png",dk=Object.freeze(Object.defineProperty({__proto__:null,default:ck},Symbol.toStringTag,{value:"Module"})),uk="/examples/assets/html-card-1-1.57315265.png",fk=Object.freeze(Object.defineProperty({__proto__:null,default:uk},Symbol.toStringTag,{value:"Module"})),pk="/examples/assets/html-card-1-1.57315265.png",hk=Object.freeze(Object.defineProperty({__proto__:null,default:pk},Symbol.toStringTag,{value:"Module"})),gk="/examples/assets/html-card-1-1.57315265.png",mk=Object.freeze(Object.defineProperty({__proto__:null,default:gk},Symbol.toStringTag,{value:"Module"})),vk="/examples/assets/html-card-1-1.57315265.png",bk=Object.freeze(Object.defineProperty({__proto__:null,default:vk},Symbol.toStringTag,{value:"Module"})),yk="/examples/assets/html-card-1-1.57315265.png",xk=Object.freeze(Object.defineProperty({__proto__:null,default:yk},Symbol.toStringTag,{value:"Module"})),Ck="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",_k=Object.freeze(Object.defineProperty({__proto__:null,default:Ck},Symbol.toStringTag,{value:"Module"})),wk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Ik=Object.freeze(Object.defineProperty({__proto__:null,default:wk},Symbol.toStringTag,{value:"Module"})),Ek="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Bk=Object.freeze(Object.defineProperty({__proto__:null,default:Ek},Symbol.toStringTag,{value:"Module"})),kk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Mk=Object.freeze(Object.defineProperty({__proto__:null,default:kk},Symbol.toStringTag,{value:"Module"})),Qk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Sk=Object.freeze(Object.defineProperty({__proto__:null,default:Qk},Symbol.toStringTag,{value:"Module"})),Rk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Tk=Object.freeze(Object.defineProperty({__proto__:null,default:Rk},Symbol.toStringTag,{value:"Module"})),zk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Lk=Object.freeze(Object.defineProperty({__proto__:null,default:zk},Symbol.toStringTag,{value:"Module"})),Ok="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Pk=Object.freeze(Object.defineProperty({__proto__:null,default:Ok},Symbol.toStringTag,{value:"Module"})),Dk="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAADvVJREFUeJzt2cGNoAAMBEEgsU19HZk3gUO6B2oeVAUw8rfl8/f3d4/jOH5+fo4nzMxhz549e/bs2bNnz549e/9yPbICAADwH87d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJlrZo6ZeWzQnj179uzZs2fPnj179u74gAAAAJlzd/ftIwAAgG/wAQEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADLXzBwz89igPXv27NmzZ8+ePXv27N3xAQEAADLn7u7bRwAAAN/gAwIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGSumTlm5rFBe/bs2bNnz549e/bs2bvjAwIAAGTO3d23jwAAAL7BBwQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMhcM3PMzGOD9uzZs2fPnj179uzZs3fHBwQAAMicu7tvHwEAAHyDDwgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJC5ZuaYmccG7dmzZ8+ePXv27NmzZ++ODwgAAJA5d3ffPgIAAPgGHxAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACBzzcwxM48N2rNnz549e/bs2bNnz94dHxAAACBz7u6+fQQAAPANPiAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmmpljZh4btGfPnj179uzZs2fPnr07PiAAAEDm3N19+wgAAOAbfEAAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAIDMNTPHzDw2aM+ePXv27NmzZ8+ePXt3fEAAAIDMubv79hEAAMA3+IAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAACZa2aOmXls0J49e/bs2bNnz549e/bu+IAAAACZc3f37SMAAIBv8AEBAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAy18wcM/PYoD179uzZs2fPnj179uzd8QEBAAAy5+7u20cAAADf4AMCAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkrpk5ZuaxQXv27NmzZ8+ePXv27Nm74wMCAABkzt3dt48AAAC+wQcEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADIXDNzzMxjg/bs2bNnz549e/bs2bN3xwcEAADInLu7bx8BAAB8gw8IAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQuWbmmJnHBu3Zs2fPnj179uzZs2fvjg8IAACQOXd33z4CAAD4Bh8QAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgc83MMTOPDdqzZ8+ePXv27NmzZ8/eHR8QAAAgc+7uvn0EAADwDT4gAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABA5pqZY2YeG7Rnz549e/bs2bNnz569Oz4gAABA5tzdffsIAADgG3xAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAzDUzx8w8NmjPnj179uzZs2fPnj17d3xAAACAzLm7+/YRAADAN/iAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWtmjpl5bNCePXv27NmzZ8+ePXv27viAAAAAmXN39+0jAACAb/ABAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMtfMHDPz2KA9e/bs2bNnz549e/bs3fEBAQAAMufu7ttHAAAA3+ADAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZK6ZOWbmsUF79uzZs2fPnj179uzZu+MDAgAAZM7d3bePAAAAvsEHBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyAgQAAAgI0AAAICMAAEAADICBAAAyFwzc8zMY4P27NmzZ8+ePXv27Nmzd8cHBAAAyJy7u28fAQAAfIMPCAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkLlm5piZxwbt2bNnz549e/bs2bNn744PCAAAkDl3d98+AgAA+AYfEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHPNzDEzjw3as2fPnj179uzZs2fP3h0fEAAAIHPu7r59BAAA8A0+IAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQOaamWNmHhu0Z8+ePXv27NmzZ8+evTs+IAAAQObc3X37CAAA4Bt8QAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgIwAAQAAMgIEAADICBAAACAjQAAAgMw1M8fMPDZoz549e/bs2bNnz549e3d8QAAAgMy5u/v2EQAAwDf4gAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAAJk/sGF1gSjXnDcAAAAASUVORK5CYII=",Nk=Object.freeze(Object.defineProperty({__proto__:null,default:Dk},Symbol.toStringTag,{value:"Module"})),Fk=(n,e)=>Object.prototype.toString.call(n)===`[object ${e}]`,jk=()=>{{const n=Object.assign({"/src/screenshots/custom-node-1-1.png":N2,"/src/screenshots/custom-node-1-2.png":j2,"/src/screenshots/custom-node-1-3.png":$2,"/src/screenshots/custom-node-2-1.png":G2,"/src/screenshots/custom-node-2-2.png":W2,"/src/screenshots/custom-node-2-3.png":J2,"/src/screenshots/custom-node-3-1.png":K2,"/src/screenshots/custom-node-3-2.png":Y2,"/src/screenshots/custom-node-3-3.png":tk,"/src/screenshots/example.png":ik,"/src/screenshots/html-card-1-1.png":ok,"/src/screenshots/html-card-1-2.png":ak,"/src/screenshots/html-card-1-3.png":Ak,"/src/screenshots/html-card-2-1.png":dk,"/src/screenshots/html-card-2-2.png":fk,"/src/screenshots/html-card-2-3.png":hk,"/src/screenshots/html-card-3-1.png":mk,"/src/screenshots/html-card-3-2.png":bk,"/src/screenshots/html-card-3-3.png":xk,"/src/screenshots/vue-1-1.png":_k,"/src/screenshots/vue-1-2.png":Ik,"/src/screenshots/vue-1-3.png":Bk,"/src/screenshots/vue-2-1.png":Mk,"/src/screenshots/vue-2-2.png":Sk,"/src/screenshots/vue-2-3.png":Tk,"/src/screenshots/vue-3-1.png":Lk,"/src/screenshots/vue-3-2.png":Pk,"/src/screenshots/vue-3-3.png":Nk});return e=>{const i=`/src/screenshots/${e}.png`;return n[i].default}}},Hk=n=>{const e=vl({cur:{name:"",node:""}});let i=vl({value:[],string:""});const s=g=>{e.cur.name===""?e.cur.name=g:(e.cur.node.classList.contains("item-active")&&e.cur.node.classList.toggle("item-active"),e.cur.node.classList.contains("thumbnail-active")&&e.cur.node.classList.toggle("thumbnail-active")),e.cur.name=g,e.cur.node=document.querySelector(`.${e.cur.name}`),e.cur.node.classList.toggle("item-active"),e.cur.node.classList.toggle("thumbnail-active")},d=g=>{n.type!=="thumbnail"&&s(g)},A=(g,m)=>{const v=[m],C=(_,B)=>{for(let S=0;S<_.length;S++){const N=_[S];if(N.name===B)return!0;if((N.children&&N.children.length>0||N.examples&&N.examples.length>0)&&C(N.children||N.examples,m))return v.push(N.name),!0}};return C(g,m),v};return{clickItem:s,handleExamplesItemClick:d,toggleSelectedByPath:(g,m)=>{const v=A(g,m),C=v.toString();if(i.string!==""){if(i.string===C)return;i.value.forEach(_=>{document.querySelector(`.${_}`).classList.remove("selected")}),i.value=v,i.string=C}i.value=v,i.string=C,i.value.forEach(_=>{document.querySelector(`.${_}`).classList.add("selected")})}}},$k=()=>({toggleFold:i=>{i.fold=!i.fold},handleIconFold:i=>i?"fold-icon-collapse":"fold-icon-open"}),Zk=()=>{const n=A=>{var p=document.getElementById(A);p.scrollIntoView()},e=A=>{A.forEach(p=>{p.fold=!0,p.children&&Fk(p.children,"Array")&&p.children.length>0&&e(p.children)})},i=A=>{!A||A.forEach(p=>{p.has=!0,p.children&&i(p.children)})},s=(A,p)=>{if(!!A)return A.forEach(g=>{g.name===p?(g.has=!0,i(g.children)):(((v,C)=>{if(!v)return;let _=0;v.forEach(B=>{B.name.includes(C)?(B.has=!0,_++):B.has=!1,v.children&&s(v.children,C)}),_===0?g.has=!1:g.has=!0})(g.children,p),g.has===!1&&g.name.includes(p)&&(g.has=!0,i(g.children)))}),A};return{filter:s,initConfig:e,hightLight:(A,p)=>A.has?A.name.replace(p,`${p}`):A.name,goAnchor:n}};function l0(n,e){var i;(i=n==null?void 0:n.classList)==null||i.add(e)}function A0(n,e){var i;(i=n==null?void 0:n.classList)==null||i.remove(e)}const nb={__name:"transition",setup(n){const i=(()=>{function s(v){l0(v,"collapse-transition"),v.dataset||(v.dataset={}),v.dataset.oldPaddingTop=v.style.paddingTop,v.dataset.oldPaddingBottom=v.style.paddingBottom,v.style.height="0",v.style.paddingTop=0,v.style.paddingBottom=0}function d(v){v.dataset.oldOverflow=v.style.overflow,v.scrollHeight!==0?(v.style.height=v.scrollHeight+"px",v.style.paddingTop=v.dataset.oldPaddingTop,v.style.paddingBottom=v.dataset.oldPaddingBottom):(v.style.height="",v.style.paddingTop=v.dataset.oldPaddingTop,v.style.paddingBottom=v.dataset.oldPaddingBottom),v.style.overflow="hidden"}function A(v){A0(v,"collapse-transition"),v.style.height="",v.style.overflow=v.dataset.oldOverflow}function p(v){v.dataset||(v.dataset={}),v.dataset.oldPaddingTop=v.style.paddingTop,v.dataset.oldPaddingBottom=v.style.paddingBottom,v.dataset.oldOverflow=v.style.overflow,v.style.height=v.scrollHeight+"px",v.style.overflow="hidden"}function g(v){v.scrollHeight!==0&&(l0(v,"collapse-transition"),v.style.height=0,v.style.paddingTop=0,v.style.paddingBottom=0)}function m(v){A0(v,"collapse-transition"),v.style.height="",v.style.overflow=v.dataset.oldOverflow,v.style.paddingTop=v.dataset.oldPaddingTop,v.style.paddingBottom=v.dataset.oldPaddingBottom}return{beforeEnter:s,enter:d,afterEnter:A,beforeLeave:p,leave:g,afterLeave:m}})();return(s,d)=>(gi(),Gc(Eh,{name:"my-transition",onBeforeEnter:Yt(i).beforeEnter,onEnter:Yt(i).enter,onAfterEnter:Yt(i).afterEnter,onBeforeLeave:Yt(i).beforeLeave,onLeave:Yt(i).leave,onAfterLeave:Yt(i).afterLeave},{default:of(()=>[V_(s.$slots,"default")]),_:3},8,["onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"]))}};const Dh=(n,e)=>{const i=n.__vccOpts||n;for(const[s,d]of e)i[s]=d;return i},Gk=n=>(j0("data-v-9990922d"),n=n(),H0(),n),Uk=["innerHTML"],Wk=Gk(()=>ln("span",{class:"fold-icon"},null,-1)),Xk={class:"sub-items"},Jk=["onClick"],Vk=["src"],Kk=["innerHTML"],qk={__name:"MenuItem",props:{data:{type:Object,default:()=>[{key:"",name:"",examples:[]}]}},setup(n){const e=Ev(),i=Zn("config"),s=yr(()=>Zn("type").value),d=Zn("tools"),A=Zn("menuItemEvents"),p=Zn("animations"),g=Zn("inputValue"),m=Zn("screenshots"),v=_=>m(_),C=(_,B)=>{d.goAnchor(B),A.toggleSelectedByPath(i,_)};return(_,B)=>$c((gi(),$r("div",{class:"examples",onClick:B[2]||(B[2]=zu(S=>Yt(A).handleExamplesItemClick(n.data.name),["stop"]))},[Yt(s)==="thumbnail"?(gi(),$r("div",{key:0,class:Zr(`with-thumbnail ${n.data.name}`)},[ln("div",{class:Zr(`hover-font sub-title ${Yt(p).handleIconFold(n.data.fold)}`),onClick:B[0]||(B[0]=zu(S=>Yt(p).toggleFold(n.data),["stop"]))},[ln("p",{innerHTML:Yt(d).hightLight(n.data,Yt(g))},null,8,Uk),Wk],2),Xn(nb,null,{default:of(()=>[$c(ln("div",Xk,[(gi(!0),$r(sr,null,ev(n.data.examples,(S,N)=>(gi(),$r("div",{key:S.key},[ln("a",{draggable:"false",onClick:zu(()=>{Yt(A).clickItem(`${S.name}`),Yt(A).toggleSelectedByPath(Yt(i),n.data.name),Yt(e).push(`playground#${S.key}`)},["stop"]),class:Zr(`${S.name} hover-bkg sub-item`),href:"javascript:void(0)"},[ln("img",{draggable:"false",class:"thumbnail",src:v(S.key)},null,8,Vk)],10,Jk)]))),128))],512),[[Zu,!n.data.fold]])]),_:1})],2)):(gi(),$r("div",{key:1,class:Zr(`${n.data.name} hover-bkg`)},[ln("a",{href:"javascript:void(0)",onClick:B[1]||(B[1]=S=>C(n.data.name,n.data.key)),innerHTML:Yt(d).hightLight(n.data,Yt(g))},null,8,Kk)],2))],512)),[[Zu,n.data.has]])}},Yk=Dh(qk,[["__scopeId","data-v-9990922d"]]);const e3={key:0},t3=["onClick"],n3=["innerHTML"],i3=ln("span",{class:"fold-icon"},null,-1),r3={class:Zr("examples-wrap")},o3={__name:"IntervalMenu",props:{data:{type:Array,default:()=>[]},topic:{type:Boolean,default:!1},inputValue:{type:String,default:""}},setup(n){const e=Zn("animations"),i=Zn("tools"),s=Zn("inputValue");return(d,A)=>{const p=Y0("IntervalMenu",!0);return gi(!0),$r(sr,null,ev(n.data,g=>(gi(),$r("div",{key:g.key},[n.topic?(gi(),$r("div",e3,[$c(ln("div",{class:Zr(`menu-item ${g.name}`)},[ln("span",{class:Zr(`topic hover-font ${Yt(e).handleIconFold(g.fold)}`),onClick:zu(m=>Yt(e).toggleFold(g),["stop"])},[ln("p",{innerHTML:Yt(i).hightLight(g,Yt(s))},null,8,n3),i3],10,t3)],2),[[Zu,g.has]])])):uv("",!0),Xn(nb,null,{default:of(()=>[$c(ln("div",r3,[g.children&&g.children.length>0?(gi(),Gc(p,{key:0,data:g.children},null,8,["data"])):(gi(),Gc(Yk,{key:1,data:g},null,8,["data"]))],512),[[Zu,!n.topic||!g.fold]])]),_:2},1024)]))),128)}}},s3={},a3={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false",class:"",viewBox:"0 0 16 13"},l3=ln("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9025 3.19182H11.1547L11.1547 3.19184C10.8798 3.19184 10.7448 3.11986 10.7279 3.06945C10.7062 3.02625 10.7304 2.89426 10.8774 2.70948L12.7916 0.326299C12.9483 0.131919 13.1484 0.0239258 13.3605 0.0239258C13.5703 0.0239258 13.7728 0.129524 13.9295 0.326317L15.8412 2.70703C15.9907 2.89183 16.0148 3.02382 15.9931 3.06701C15.9666 3.11982 15.834 3.19181 15.5592 3.19181H13.8114V9.07404C13.8114 9.37163 13.6088 9.61401 13.3581 9.61401C13.1074 9.61401 12.9025 9.37163 12.9025 9.07403V3.19182ZM0.544814 4.0438H7.62527C7.92422 4.0438 8.1677 4.2454 8.1701 4.49739C8.1701 4.74698 7.92662 4.95097 7.62769 4.95097H0.544795C0.245883 4.95097 0.00238667 4.74698 0.00238667 4.49739C0.00238667 4.24779 0.245883 4.0438 0.544814 4.0438ZM0.544814 8.05407H7.62527C7.92422 8.05407 8.1677 8.25806 8.1701 8.50765C8.1701 8.75725 7.92662 8.96124 7.62769 8.96124H0.544795C0.245883 8.96124 0.00238667 8.75725 0.00238667 8.50765C0.00238667 8.25806 0.245883 8.05407 0.544814 8.05407ZM7.61563 12.0691H0.552067C0.248307 12.0691 0 12.2731 0 12.5227C0 12.7723 0.245902 12.9763 0.552067 12.9763H7.61565C7.92181 12.9763 8.16772 12.7723 8.16772 12.5227C8.16772 12.2731 7.92181 12.0691 7.61565 12.0691H7.61563Z",fill:"#67798a"},null,-1),A3=ln("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.535884 0.0239258H7.53092C7.82626 0.0239258 8.0668 0.227997 8.06918 0.477673C8.06918 0.727367 7.82864 0.931438 7.53332 0.931438H0.535865C0.240559 0.931438 0 0.727367 0 0.477673C0 0.227997 0.240559 0.0239258 0.535884 0.0239258ZM14.6927 12.9763H0.545407C0.242935 12.9763 0 12.7746 0 12.5226C0 12.2729 0.24533 12.0688 0.545407 12.0688H14.6927C14.9952 12.0688 15.2381 12.2729 15.2381 12.5226C15.2381 12.7722 14.9928 12.9763 14.6927 12.9763Z",fill:"currentColor"},null,-1),c3=[l3,A3];function d3(n,e){return gi(),$r("svg",a3,c3)}const u3=Dh(s3,[["render",d3]]),f3="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAopJREFUaN7tWbFLMnEYft4yaGxwcGwQCe5HBlEuDTkY0lgISn9CEA2HQ6KHRg3hIEF/QuTUGJKDS4tFkPG7OETCscHBMbB6G/Skzzj46fAd3+c9293L+9zzPtzd+/L+AA8ephrkFBARERGRgwPWWWd9Y0OZsE51qn9+yqIsymIqJU7EiTg5O+MQhzi0uKjM06QmNdttmZEZmUmnhS50oV9dcYQjHJmdVeYpUpGKd3eyLuuyfn4+Gvc5JdqFU57ylE8kJvM3lcISlrC0vU0GGWRomnJqHnnkTbN/kU6jggoqySRVqEIVdQVssMEGgAQSSPw2YGaywv4feAa4LcBteAa4LcBtOBpgt7NxCbnABS78yNvHPvbH5xnN+8WriEnrmBo4DkJaV+tq3dNT9NBDb2tLmfCQDunw60teykt5ub4uVsSKWCmXucpVrgaDyjwxilGs1ZJP8kk+JZNiT+yJvft7LnGJSzPqn+4c5jB3e2sumAvmwtHRaNhxEEIVVVSDwf4gtLo6scVZZJEVgqIUpei4g9D8PHaxi10ADTTQWFvr86g/vj8Ivb46xb2foNsC3IZngNsC3MbUG+DcBWKIIdZq8SZv8ubjoyqh3QYhISEBHOMYx1JyjWtce39X5hm0weGNMMIIPzxM1gZ/8Hj4E84bocEGxl5EqBLaI6u5Y+6YOz6fCIiACDQa8MMP//KysrIOOug8P8s3+SbfwmHtWrvWrj8+KEc5yqlvhBBHHPFy2d5QjYYdX6VxV09DR0cFXuACF+PzjOaNXbhiHVP/E/QMcFuA2/AMcFuA23AchOwDheFeXRHDDYw9CFmwYN3c9HleXpR5LLLIareHNwbtbNKDkb/sqwcP/wq+AdoIKFLhoHj1AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA5LTMwVDE2OjM3OjExKzA4OjAwRqgJPQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wOS0zMFQxNjozNzoxMSswODowMDf1sYEAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX3FscXBjN2RjeTZxL2dhbGxlcnl2aWV3LWZpbGwuc3Zne6a9fQAAAABJRU5ErkJggg==",p3="/examples/assets/horizontal-logo.4d1753a4.png";const h3=n=>(j0("data-v-c15ac834"),n=n(),H0(),n),g3={class:"menu rem-17"},m3={class:"menu-search-wrap"},v3={class:"menu-header"},b3=["src"],y3=["src"],x3={class:"menu-sh"},C3={class:"menu-search"},_3=h3(()=>ln("span",{class:"menu-search-icon"},"\u{1F50D}",-1)),w3={__name:"Menu",props:{menuConfig:{type:Array,default:()=>[]}},setup(n){const e=n,i=Ev(),s=$k(),d=Hk(e),A=Zk(),p=AA(hp.cloneDeep(e.menuConfig)),g=AA({}),m=AA(""),v=AA(!1);A.initConfig(p.value);const C=()=>{i.push({name:"Gallery"})},_=()=>{window.location.href="https://logic-flow.github.io/docs.logic-flow.cn/docs/#/"},B=()=>{g.value=A.filter(hp.cloneDeep(p.value),m.value)},S=()=>{v.value=!v.value};z_(()=>{g.value=A.filter(hp.cloneDeep(p.value),m.value)}),Hr("config",g.value);const N=Zn("type");return Hr("inputValue",m),Hr("animations",s),Hr("menuItemEvents",d),Hr("tools",A),(j,oe)=>(gi(),$r("div",{class:Zr(`menu-wrap rem-17 ${v.value&&"rem-0"}`)},[ln("div",g3,[ln("div",m3,[ln("div",v3,[ln("div",{class:"docs",onClick:_},[ln("img",{src:Yt(p3)},null,8,b3)]),Yt(N)==="thumbnail"?(gi(),$r("div",{key:0,class:"gallery",onClick:C},[ln("img",{src:Yt(f3)},null,8,y3)])):uv("",!0)]),ln("div",x3,[ln("div",C3,[_3,$c(ln("input",{class:"menu-search-input",type:"text",placeholder:"\u641C\u7D22","onUpdate:modelValue":oe[0]||(oe[0]=X=>m.value=X)},null,512),[[qw,m.value]])]),Xn(u3,{class:"menu-search-fold",onClick:B})])]),Xn(o3,{data:g.value,topic:!0},null,8,["data"])]),ln("div",{class:"fold-tool",onClick:S},[ln("span",{class:Zr(`${v.value&&"fold-tool-transform"}`)},"\u3008 ",2)])],2))}},I3=Dh(w3,[["__scopeId","data-v-c15ac834"]]),E3=[{name:"\u81EA\u5B9A\u4E491",children:[{name:"\u4F8B\u5B50\u96C6-1-1",key:"example-set-1-1",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-1-1",key:"custom-node-1-1"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-1-1",key:"vue-1-1"},{name:"html\u5361\u7247-1-1",key:"html-card-1-1"}]},{name:"\u4F8B\u5B50\u96C6-1-2",key:"example-set-1-2",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-1-2",key:"custom-node-1-2"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-1-2",key:"vue-1-2"},{name:"html\u5361\u7247-1-2",key:"html-card-1-2"}]},{name:"\u4F8B\u5B50\u96C6-1-3",key:"example-set-1-3",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-1-3",key:"custom-node-1-3"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-1-3",key:"vue-1-3"},{name:"html\u5361\u7247-1-3",key:"html-card-1-3"}]}]},{name:"\u81EA\u5B9A\u4E492",children:[{name:"\u4F8B\u5B50\u96C6-2-1",key:"example-set-2-1",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-2-1",key:"custom-node-2-1"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-2-1",key:"vue-2-1"},{name:"html\u5361\u7247-2-1",key:"html-card-2-1"}]},{name:"\u4F8B\u5B50\u96C6-2-2",key:"example-set-2-2",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-2-2",key:"custom-node-2-2"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-2-2",key:"vue-2-2"},{name:"html\u5361\u7247-2-2",key:"html-card-2-2"}]},{name:"\u4F8B\u5B50\u96C6-2-3",key:"example-set-2-3",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-2-3",key:"custom-node-2-3"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-2-3",key:"vue-2-3"},{name:"html\u5361\u7247-2-3",key:"html-card-2-3"}]}]},{name:"\u81EA\u5B9A\u4E493",children:[{name:"\u4F8B\u5B50\u96C6-3-1",key:"example-set-3-1",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-3-1",key:"custom-node-3-1"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-3-1",key:"vue-3-1"},{name:"html\u5361\u7247-3-1",key:"html-card-3-1"}]},{name:"\u4F8B\u5B50\u96C6-3-2",key:"example-set-3-2",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-3-2",key:"custom-node-3-2"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-3-2",key:"vue-3-2"},{name:"html\u5361\u7247-3-2",key:"html-card-3-2"}]},{name:"\u4F8B\u5B50\u96C6-3-3",key:"example-set-3-3",examples:[{name:"\u81EA\u5B9A\u4E49\u5E26\u6709\u56FE\u6807\u7684\u8282\u70B9-3-3",key:"custom-node-3-3"},{name:"\u4F7F\u7528vue\u81EA\u5B9A\u4E49html\u8282\u70B9-3-3",key:"vue-3-3"},{name:"html\u5361\u7247-3-3",key:"html-card-3-3"}]}]}],c0={topic:E3};const B3={class:"container"},k3={class:"main"},M3={__name:"App",setup(n){const e=dE(),i=AA("withoutThumbnail"),s=jk();return Rc(()=>[i.value=e.name==="Playground"?"thumbnail":"withoutThumbnail"]),Hr("originConfig",c0.topic),Hr("type",i),Hr("screenshots",s),(d,A)=>{const p=Y0("router-view");return gi(),$r("div",B3,[Xn(I3,{type:i.value,menuConfig:Yt(c0).topic},null,8,["type","menuConfig"]),ln("div",k3,[Xn(p)])])}}};iI(M3).use(fE).mount("#app");export{sr as F,Dh as _,Yt as a,ln as b,$r as c,dE as d,yr as e,AA as f,J0 as g,H0 as h,Zn as i,Zr as n,gi as o,j0 as p,ev as r,Q3 as t,Ev as u}; diff --git a/examples/dist/assets/index.c4645784.js b/examples/dist/assets/index.c4645784.js deleted file mode 100644 index dd8583e..0000000 --- a/examples/dist/assets/index.c4645784.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u,d as _,e as v,f as h,g as m,o as j,c as y,b as e,a as l,n as f,p as g,h as x}from"./index.537c21d6.js";const w=o=>(g("data-v-0246dde7"),o=o(),x(),o),I=["project-src"],S={class:"ide"},b={class:"preview"},q=["project"],B={class:"editor"},D=["project"],k=["project"],R=w(()=>e("div",{class:"urlDiv"},"1",-1)),z={__name:"index",setup(o){const p=_(),r=v(()=>`/examples/playground_json/${p.hash.slice(1)}.playground.json`),t=h(null);return m(()=>{t.value="ide-project";const d=setInterval(()=>{var n,a,i;const c=document.querySelector(".urlDiv"),s=(i=(a=(n=document.querySelector("#ide-preview"))==null?void 0:n.shadowRoot)==null?void 0:a.querySelector("iframe"))==null?void 0:i.src;s!=null&&s.includes("playground-elements")&&(c.innerText=s,clearInterval(d))},1e3)}),(d,c)=>(j(),y("div",null,[e("div",{class:f(["lf-playground",l(r)])},[e("playground-project",{id:"ide-project","project-src":l(r)},null,8,I),e("div",S,[e("div",b,[e("playground-preview",{id:"ide-preview",project:t.value},null,8,q)]),e("div",B,[e("playground-tab-bar",{project:t.value,editor:"ide-editor","editable-file-system":"true"},null,8,D),e("playground-file-editor",{id:"ide-editor",project:t.value,"line-numbers":""},null,8,k)])]),R],2)]))}},E=u(z,[["__scopeId","data-v-0246dde7"]]);export{E as default}; diff --git a/examples/dist/assets/index.e8df64c2.css b/examples/dist/assets/index.e8df64c2.css deleted file mode 100644 index 8b68ca5..0000000 --- a/examples/dist/assets/index.e8df64c2.css +++ /dev/null @@ -1 +0,0 @@ -.gallery[data-v-8af55081]{height:100%;width:100%;overflow:scroll;scroll-behavior:smooth}.case-wrap[data-v-8af55081]{display:flex;flex-wrap:wrap;transition:.25s}.case-wrap .case[data-v-8af55081]{width:240px;margin:10px 15px;display:flex;flex-direction:column;align-items:center;transition:.3s}.case-wrap .case img[data-v-8af55081]{width:240px;height:160px}.case-wrap .case .case-thumbnail[data-v-8af55081]{transition:.3s;border:1px solid #cddaff;border-radius:5px;display:flex;align-items:center;padding:2px 5px}.case-wrap .case .case-name[data-v-8af55081]{margin-top:10px}.case-wrap .case:hover .case-thumbnail[data-v-8af55081]{border:1px solid transparent;transform:scale(1.05) translateY(-5px);box-shadow:0 3px 10px 1px #e2e2e2} diff --git a/examples/dist/index.html b/examples/dist/index.html index c029c37..92df2f2 100644 --- a/examples/dist/index.html +++ b/examples/dist/index.html @@ -5,8 +5,8 @@ LogicFlow - - + +
diff --git a/examples/examples/config.json b/examples/examples/config.json index 1c2ab6b..77d2e8a 100644 --- a/examples/examples/config.json +++ b/examples/examples/config.json @@ -1 +1 @@ -{"topic":[{"name":"案例","children":[{"name":"业务场景","key":"business-scenario","examples":[{"name":"思维导图","key":"mind-mapping"}]},{"name":"例子集-1-1","key":"example-set-1-1","examples":[{"name":"自定义带有图标的节点-1-1","key":"custom-node-1-1"},{"name":"使用vue自定义html节点-1-1","key":"vue-1-1"},{"name":"html卡片-1-1","key":"html-card-1-1"}]},{"name":"例子集-1-2","key":"example-set-1-2","examples":[{"name":"自定义带有图标的节点-1-2","key":"custom-node-1-2"},{"name":"使用vue自定义html节点-1-2","key":"vue-1-2"},{"name":"html卡片-1-2","key":"html-card-1-2"}]},{"name":"例子集-1-3","key":"example-set-1-3","examples":[{"name":"自定义带有图标的节点-1-3","key":"custom-node-1-3"},{"name":"使用vue自定义html节点-1-3","key":"vue-1-3"},{"name":"html卡片-1-3","key":"html-card-1-3"}]}]}]} \ No newline at end of file +{"topic":[{"name":"案例","children":[{"name":"业务场景","key":"business-scenario","examples":[{"name":"思维导图1","key":"mind-mapping","mode":"playground"},{"name":"组织架构图","key":"organization","mode":"playground"},{"name":"logicflow-node-red-vue3","key":"logicflow-node-red-vue3","mode":"link","link":"/demo/dist/logicflow-node-red-vue3","github":"https://github.com/Logic-Flow/docs/tree/master/demo/logicflow-node-red-vue3"}]},{"name":"边","key":"edge","examples":[{"name":"自定义边样式","key":"custom-edge-style","mode":"playground"},{"name":"自定义节点之间边的类型","key":"custom-edge-type","mode":"playground"}]},{"name":"例子集-1-3","key":"example-set-1-3","examples":[{"name":"自定义带有图标的节点-1-3","key":"custom-node-1-3","mode":"playground"},{"name":"使用vue自定义html节点-1-3","key":"vue-1-3","mode":"playground"},{"name":"html卡片-1-3","key":"html-card-1-3","mode":"playground"}]},{"name":"节点","key":"node","examples":[{"name":"自定义节点样式、形状","key":"custom-node-style","mode":"playground"},{"name":"自定义svg节点","key":"custom-svg-node","mode":"playground"},{"name":"自定义html节点","key":"custom-html-node","mode":"playground"},{"name":"自定义React节点","key":"custom-react-node","mode":"playground"},{"name":"自定义Vue节点","key":"custom-vue-node","mode":"playground"}]}]}]} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/config.json" "b/examples/examples/\346\241\210\344\276\213/business-scenario/config.json" index f6a0f4c..0450c94 100644 --- "a/examples/examples/\346\241\210\344\276\213/business-scenario/config.json" +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/config.json" @@ -3,8 +3,21 @@ "key": "business-scenario", "examples": [ { - "name": "思维导图", - "key": "mind-mapping" + "name": "思维导图1", + "key": "mind-mapping", + "mode": "playground" + }, + { + "name": "组织架构图", + "key": "organization", + "mode": "playground" + }, + { + "name": "logicflow-node-red-vue3", + "key": "logicflow-node-red-vue3", + "mode": "link", + "link": "/demo/dist/logicflow-node-red-vue3", + "github": "https://github.com/Logic-Flow/docs/tree/master/demo/logicflow-node-red-vue3" } ] -} \ No newline at end of file +} diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/mind-mapping/index.js" "b/examples/examples/\346\241\210\344\276\213/business-scenario/mind-mapping/index.js" index 4253193..2ecb169 100644 --- "a/examples/examples/\346\241\210\344\276\213/business-scenario/mind-mapping/index.js" +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/mind-mapping/index.js" @@ -2,7 +2,7 @@ import miniMapNode from "./htmlCard.js"; import miniMapEdge from './htmlEdge.js'; // logicflow流程图配置 -export const LFConfig = { +const LFConfig = { edgeTextDraggable: true, adjustEdgeMiddle: true, hoverOutline: false, diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlCard.js" "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlCard.js" new file mode 100644 index 0000000..03b3ce3 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlCard.js" @@ -0,0 +1,71 @@ +class HtmlCard extends HtmlNode { + // 重写HtmlNode的setHtml,来控制html节点内容。 + setHtml(rootEl) { + const { properties } = this.props.model; + const html= ` + ${ + properties.gender === 'male' ? + '' : + '' + } +
+
${properties.name}
+
${properties.position}
+
${properties.department}
+
+
+
+ +
+
+ +
+
+ `; + const el = document.createElement('div'); + el.className = 'mind-mapping-node'; + el.innerHTML = html; + rootEl.innerHTML = ''; + rootEl.appendChild(el); + window.updateNode = (id, type) => { + const { graphModel } = this.props; + graphModel.eventCenter.emit("custom:node-update", { + id, + type, + }); + }; + } +} + +class HtmlCardModel extends HtmlNodeModel { + initNodeData(data) { + super.initNodeData(data); + this.width = 250; + this.height = 80; + } + + getDefaultAnchor() { + const { width, height, x, y, id } = this; + return [ + { + x, + y: y - height / 2 + 11, + name: 'top', + id: `${id}_0` + }, + { + x, + y: y + height / 2 - 11, + name: 'bottom', + id: `${id}_1`, + edgeAddable: false + }, + ] + } +} + +export default { + type: 'organization-node', + view: HtmlCard, + model: HtmlCardModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlEdge.js" "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlEdge.js" new file mode 100644 index 0000000..1fa886a --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/htmlEdge.js" @@ -0,0 +1,36 @@ +class Model extends PolylineEdgeModel { + initEdgeData(data) { + super.initEdgeData(data); + } + + setAttributes() { + const { startPoint, endPoint } = this; + const midY = (startPoint.y + endPoint.y) / 2; + const point1 = { + x: startPoint.x, + y: midY, + }; + const point2 = { + x: endPoint.x, + y: midY, + }; + this.pointsList = [{...startPoint}, point1, point2, {...endPoint}]; + this.points = this.pointsList.map((point) => { + return `${point.x},${point.y}`; + }).join(' '); + } + + getEdgeStyle() { + const style = super.getEdgeStyle(); + style.stroke = '#0074d9'; + style.strokeWidth = 2; + return style; + } +} + +export default { + type: 'organization-edge', + view: PolylineEdge, + model: Model, +}; + diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.html" "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.html" new file mode 100644 index 0000000..e4d2109 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.html" @@ -0,0 +1,24 @@ + + + + + + + + +
+ + + + + \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.js" "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.js" new file mode 100644 index 0000000..b22e758 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/index.js" @@ -0,0 +1,246 @@ +import organizationNode from "./htmlCard.js"; +import organizationEdge from './htmlEdge.js'; + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + nodeTextEdit: false, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, + style: { + edgeText: { + background: { + fill: '#F7F7F7', + }, + hoverBackground: { + fill: '#F7F7F7', + }, + }, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(organizationNode); +lf.register(organizationEdge); + +lf.setTheme({ + arrow: { + offset: 0, // 箭头垂线长度 + verticalLength: 0, // 箭头底线长度 + } +}); + +let enterNode = null; + +lf.on('node:mouseenter', ({e}) => { + enterNode = e.target; + for (let index = 0; index < e.target.children.length; index++) { + const element = e.target.children[index]; + if (element.className === 'staff-options') { + element.style.visibility = 'visible'; + } + } +}); + +lf.on('node:mouseleave', (e) => { + for (let index = 0; index < enterNode.children.length; index++) { + const element = enterNode.children[index]; + if (element.className === 'staff-options') { + element.style.visibility = 'hidden'; + } + } +}); + +const baseData = { + id: '1', + x: 100, + y: 100, + type: 'html-card', + gender: 'male', + name: 'Employee 1', + position: 'position', + department: 'department', + children: [ + { + id: '2', + type: 'html-card', + gender: 'female', + name: 'Employee 2', + position: 'position', + department: 'department', + children: [ + { + id: '4', + type: 'html-card', + gender: 'male', + name: 'Employee 4', + position: 'position', + department: 'department', + }, + { + id: '5', + type: 'html-card', + gender: 'female', + name: 'Employee 5', + position: 'position', + department: 'department', + } + ] + }, + { + id: '3', + type: 'html-card', + gender: 'male', + name: 'Employee 3', + position: 'position', + department: 'department', + children: [ + { + id: '6', + type: 'html-card', + gender: 'male', + name: 'Employee 6', + position: 'position', + department: 'department', + }, + ], + } + ] +}; + +lf.on('custom:node-update', ({id, type}) => { + if (type === 'add') { + addNode(baseData, id); + } else { + deleteNode(baseData, id); + } + renderData(baseData); +}); + +const addNode = (baseData, id) => { + if (baseData.id === id) { + baseData.children = baseData.children ? [ + ...baseData.children, + { + id: `${Math.round(Math.random() * 10000)}`, + type: 'html-card', + gender: Math.round(Math.random() * 10) % 2 === 0 ? 'male' : 'female', + name: 'New Employee', + position: 'position', + department: 'department', + } + ] : [ + { + id: `${lf.graphModel.nodes.length + 1}`, + type: 'html-card', + gender: Math.round(Math.random() * 10) % 2 === 0 ? 'male' : 'female', + name: 'New Employee', + position: 'position', + department: 'department' + } + ]; + return; + } + if (baseData.children && baseData.children.length) { + baseData.children.forEach((node) => { + addNode(node, id); + }); + } +}; + +const deleteNode = (baseData, id, parent, nodeIndex) => { + if (baseData.id === id) { + if (!parent) { + alert('根节点不能删除'); + return; + } + parent.children.splice(nodeIndex, 1); + return; + } + if (baseData.children && baseData.children.length) { + baseData.children.forEach((node, index) => { + deleteNode(node, id, baseData, index); + }); + } +}; + +// 节点平移 +const moveX = 600; +const moveY = 200; + +const renderData = (baseData) => { + const rootNode = window.Hierarchy.compactBox(baseData, { + direction: 'TB', + getId(d) { + return d.id; + }, + getHGap() { + return 120; + }, + getVGap() { + return 40; + }, + }); + + const tansferNodes = (node, parent) => { + const nodes = []; + const edges = []; + const curNode = { + id: `node_${node.data.id}`, + x: node.x + moveX, + y: node.y + moveY, + type: 'organization-node', + properties: { + ...node.data, + }, + }; + nodes.push(curNode); + if (parent) { + edges.push({ + id: `edge_${node.data.id}_${parent.properties.id}`, + sourceNodeId: parent.id, + targetNodeId: curNode.id, + type: 'organization-edge', + }); + } + if (node.children && node.children.length) { + node.children.forEach((childNode) => { + const graphData = tansferNodes(childNode, curNode); + nodes.push(...graphData.nodes); + edges.push(...graphData.edges); + }); + } + return { + nodes, + edges, + }; + }; + + const graphData = tansferNodes(rootNode); + console.log(graphData); + lf.render(graphData); +} + +renderData(baseData); +// lf.focusOn({ +// id: lf.graphModel.nodes[0].id, +// }); diff --git "a/examples/examples/\346\241\210\344\276\213/business-scenario/organization/style.css" "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/style.css" new file mode 100644 index 0000000..d456a4e --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/business-scenario/organization/style.css" @@ -0,0 +1,56 @@ +.mind-mapping-node { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} + +.staff-detail { + padding-right: 15px; + border: 2px solid #0074d9; + border-left: 0; + border-radius: 5px; + width: 160px; + text-align: right; + position: relative; + left: -25px; +} + +.staff-name { + font-size: 14px; + font-weight: 900; + color: #03569f; +} + +.staff-position { + font-size: 12px; + color: #6a7279; +} + +.staff-department { + font-size: 12px; + color: #6a7279; +} + +.staff-options { + flex: 1; + position: relative; + left: -25px; + align-self: flex-end; + margin-bottom: 12px; + visibility: hidden; +} + +.node-delete { + width: 20px; + height: 20px; + margin-bottom: 5px; + cursor: pointer; +} + +.node-add { + width: 20px; + height: 20px; + cursor: pointer; +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/edge/config.json" "b/examples/examples/\346\241\210\344\276\213/edge/config.json" new file mode 100644 index 0000000..8783c58 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/config.json" @@ -0,0 +1,16 @@ +{ + "name": "边", + "key": "edge", + "examples": [ + { + "name": "自定义边样式", + "key": "custom-edge-style", + "mode": "playground" + }, + { + "name": "自定义节点之间边的类型", + "key": "custom-edge-type", + "mode": "playground" + } + ] +} diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/customEdge.js" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/customEdge.js" new file mode 100644 index 0000000..70c2136 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/customEdge.js" @@ -0,0 +1,114 @@ +const textMove = (model) => { + const { properties } = model; + const { textHorizontalMove = 0, textVerticalMove = 0 } = properties; + model.text = { + ...model.text, + x: model.text.x + textHorizontalMove, + y: model.text.y + textVerticalMove, + } + model.isAnimation = properties.isAnimation; +} + +const changeEdgeStyle = (model, style) => { + const { properties } = model; + style.stroke = properties.strokeColor || style.stroke; + style.strokeWidth = properties.strokeWidth || style.strokeWidth; + return style; +} + +const changeTextStyle = (model, style) => { + const { properties } = model; + style.color = properties.textColor || style.color; + style.fontSize = properties.fontSize || style.fontSize; + return style; +} + +const changeAnimationStyle = (style) => { + style.strokeDasharray = "5 5"; + style.animationDuration = "10s"; + return style; +} + +class CustomLineModel extends LineEdgeModel { + + setAttributes() { + textMove(this); + } + + getEdgeStyle() { + const style = super.getEdgeStyle(); + return changeEdgeStyle(this, style); + } + + getTextStyle() { + const style = super.getTextStyle(); + return changeTextStyle(this, style); + } + + getEdgeAnimationStyle() { + const style = super.getEdgeAnimationStyle(); + return changeAnimationStyle(style); + } +} + +class CustomBezierModel extends BezierEdgeModel { + + setAttributes() { + textMove(this); + } + + getEdgeStyle() { + const style = super.getEdgeStyle(); + return changeEdgeStyle(this, style); + } + + getTextStyle() { + const style = super.getTextStyle(); + return changeTextStyle(this, style); + } + + getEdgeAnimationStyle() { + const style = super.getEdgeAnimationStyle(); + return changeAnimationStyle(style); + } +} + +class CustomPolylineModel extends PolylineEdgeModel { + + setAttributes() { + textMove(this); + } + + getEdgeStyle() { + const style = super.getEdgeStyle(); + return changeEdgeStyle(this, style); + } + + getTextStyle() { + const style = super.getTextStyle(); + return changeTextStyle(this, style); + } + + getEdgeAnimationStyle() { + const style = super.getEdgeAnimationStyle(); + return changeAnimationStyle(style); + } +} + +export const customLine = { + type: 'custom-line-edge', + view: LineEdge, + model: CustomLineModel, +} + +export const customPolyline = { + type: 'custom-polyline-edge', + view: PolylineEdge, + model: CustomPolylineModel, +} + +export const customBezier = { + type: 'custom-bezier-edge', + view: BezierEdge, + model: CustomBezierModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.html" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.html" new file mode 100644 index 0000000..dbf994b --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.html" @@ -0,0 +1,60 @@ + + + + + + + + +
+
+
+ 边类型: + 直线 + 直角折线 + 贝塞尔曲线 +
+
+ 是否开启边动画 + 开启 + 关闭 +
+
+ 边颜色: +
+
+
+
+
+ 边宽度: + +
+
+ 线文本颜色: +
+
+
+
+
+ 线文本字体大小: +
+
+ 线文本位置(基于默认位置平移):
+ 水平: + 垂直: +
+
+ + + + \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.js" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.js" new file mode 100644 index 0000000..a06cef3 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/index.js" @@ -0,0 +1,143 @@ +import { customLine, customPolyline, customBezier } from "./customEdge.js"; + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(customLine); +lf.register(customPolyline); +lf.register(customBezier); + +const nodeData = [ + { + id: "node_id_1", + type: "circle", + x: 100, + y: 100, + text: { x: 100, y: 100, value: "节点1" } + }, + { + id: "node_id_2", + type: "circle", + x: 200, + y: 300, + text: { x: 200, y: 300, value: "节点2" }, + properties: {} + } +]; + +const edgeData = [ + { + id: "edge_id", + type: "custom-polyline-edge", + sourceNodeId: "node_id_1", + targetNodeId: "node_id_2", + text: { x: 139, y: 200, value: "连线" }, + startPoint: { x: 100, y: 140 }, + endPoint: { x: 200, y: 250 }, + pointsList: [ + { x: 100, y: 140 }, + { x: 100, y: 200 }, + { x: 200, y: 200 }, + { x: 200, y: 250 } + ], + properties: {} + } +]; + +const render = (nodes, edges) => { + lf.render({ + nodes, + edges, + }); +} +render(nodeData, edgeData); + +window.handleColorChange = (type, color) => { + switch (type) { + case 'stroke': + edgeData[0].properties = { + ...edgeData[0].properties, + strokeColor: color, + }; + break; + case 'text': + edgeData[0].properties = { + ...edgeData[0].properties, + textColor: color, + }; + break; + default: + break; + } + render(nodeData, edgeData); +} + +window.handleStrokeWidth = (el) => { + edgeData[0].properties = { + ...edgeData[0].properties, + strokeWidth: Number(el.value), + }; + render(nodeData, edgeData); +} + +window.handleFontSize = (el) => { + edgeData[0].properties = { + ...edgeData[0].properties, + fontSize: Number(el.value), + }; + render(nodeData, edgeData); +} + +window.handleHorizontalMove = (el) => { + edgeData[0].properties = { + ...edgeData[0].properties, + textHorizontalMove: Number(el.value), + }; + render(nodeData, edgeData); +} + +window.handleVerticalMove = (el) => { + edgeData[0].properties = { + ...edgeData[0].properties, + textVerticalMove: Number(el.value), + }; + render(nodeData, edgeData); +} + +window.handleTypeChange = (el) => { + edgeData[0].type = el.value; + render(nodeData, edgeData); +} + +window.handleAnimationChange = (el) => { + const isOpenAnimation = el.value === 'open'; + edgeData[0].properties = { + ...edgeData[0].properties, + isAnimation: isOpenAnimation, + }; + render(nodeData, edgeData); +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/style.css" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/style.css" new file mode 100644 index 0000000..8bba6f9 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-style/style.css" @@ -0,0 +1,43 @@ +.custom-node-style { + position: absolute; + top: 0; + right: 0; + width: 300px; + font-size: 14px; + margin: 20px; +} + +.custom-node-style > div { + margin-bottom: 10px; +} + +.custom-text-color, +.custom-node-stroke, +.custom-node-fill { + display: flex; +} + +.custom-red { + width: 30px; + background-color: red; + cursor: pointer; + margin: 0 10px; +} + +.custom-blue { + width: 30px; + background-color: blue; + cursor: pointer; + margin: 0 10px; +} + +.custom-green { + width: 30px; + background-color: green; + cursor: pointer; + margin: 0 10px; +} + +input { + width: 70px; +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/customEdge.js" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/customEdge.js" new file mode 100644 index 0000000..a73b50e --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/customEdge.js" @@ -0,0 +1,47 @@ +class CustomLineModel extends LineEdgeModel { + getEdgeStyle() { + const style = super.getEdgeStyle(); + style.stroke = 'red'; + style.strokeWidth = 4; + style.strokeDasharray = '3 3'; + return style; + } +} + +class CustomPolylineModel extends PolylineEdgeModel { + getEdgeStyle() { + const style = super.getEdgeStyle(); + style.stroke = 'green'; + style.strokeWidth = 4; + style.strokeDasharray = '3 3'; + return style; + } +} + +class CustomBezierModel extends BezierEdgeModel { + getEdgeStyle() { + const style = super.getEdgeStyle(); + style.stroke = 'blue'; + style.strokeWidth = 4; + style.strokeDasharray = '3 3'; + return style; + } +} + +export const customLine = { + type: 'custom-line-edge', + view: LineEdge, + model: CustomLineModel, +} + +export const customPolyline = { + type: 'custom-polyline-edge', + view: PolylineEdge, + model: CustomPolylineModel, +} + +export const customBezier = { + type: 'custom-bezier-edge', + view: BezierEdge, + model: CustomBezierModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.html" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.html" similarity index 90% rename from "examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.html" rename to "examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.html" index e78195b..d9aaba3 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.html" +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.html" @@ -11,11 +11,11 @@ } #container { height: calc(100% - 20px); + width: 100%; } -
diff --git "a/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.js" "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.js" new file mode 100644 index 0000000..20b69bc --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/edge/custom-edge-type/index.js" @@ -0,0 +1,83 @@ +import { customLine, customPolyline, customBezier } from "./customEdge.js"; + +// logicflow流程图配置 +const LFConfig = { + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, + // 默认边 + edgeType: 'bezier', + // 自定义节点之间边的类型 + // 移动已有边时会有 currentEdge 信息, 否则为空 + edgeGenerator: (sourceNode, targetNode, currentEdge) => { + // 起始节点类型 rect 时使用 自定义的边 custom-line-edge + if (sourceNode.type === 'rect') return 'line'; + if (sourceNode.type === 'circle') return 'polyline'; + if (sourceNode.type === 'ellipse') return 'custom-line-edge'; + if (sourceNode.type === 'polygon') return 'custom-polyline-edge'; + if (sourceNode.type === 'diamond') return 'custom-bezier-edge'; + if (sourceNode.type === 'circle' && targetNode === 'diamond') return 'custom-line-edge'; + if (sourceNode.type === 'ellipse' && targetNode === 'rect') return 'custom-line-edge'; + } +}); + +lf.register(customLine); +lf.register(customPolyline); +lf.register(customBezier); + +const nodeData = [ + { + id: "1", + type: "rect", + x: 100, + y: 100, + text: "矩形" + }, + { + id: "2", + type: "circle", + x: 300, + y: 100, + text: "圆形" + }, + { + id: "3", + type: "ellipse", + x: 500, + y: 100, + text: "椭圆" + }, + { + id: "4", + type: "polygon", + x: 100, + y: 250, + text: "多边形" + }, + { + id: "5", + type: "diamond", + x: 300, + y: 250, + text: "菱形" + }, +]; + +lf.render({ + nodes: nodeData, +}); \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/config.json" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/config.json" deleted file mode 100644 index 801e332..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/config.json" +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "例子集-1-1", - "key": "example-set-1-1", - "examples": [ - { - "name": "自定义带有图标的节点-1-1", - "key": "custom-node-1-1" - }, - { - "name": "使用vue自定义html节点-1-1", - "key": "vue-1-1" - }, - { - "name": "html卡片-1-1", - "key": "html-card-1-1" - } - ] -} diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.html" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.html" deleted file mode 100644 index 8b15bcb..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.html" +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - -
- - - - \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.js" deleted file mode 100644 index 729b654..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/custom-node-1-1/index.js" +++ /dev/null @@ -1,64 +0,0 @@ -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -class UserNode extends RectNode { - getLabelShape() { - const { x, y, width, height } = this.props.model; - const { stroke } = this.props.model.getNodeStyle(); - return h( - 'svg', - { - x: x - width / 2 + 5, - y: y - height / 2 + 5, - width: 30, - height: 30, - viewBox: '0 0 1274 1024', - }, - h('path', { - fill: stroke, - d: 'M882.527918 434.149934c-2.234901-5.303796-7.311523-8.853645-13.059434-9.138124l-61.390185-3.009544c-6.635117-20.973684-15.521508-41.175795-26.513864-60.282968l42.051745-47.743374c4.308119-4.889357 4.955872-12.004405 1.602498-17.59268-46.384423-77.30362-103.969956-101.422947-106.400309-102.410438-5.332449-2.170432-11.432377-1.090844-15.693424 2.77009L654.674467 240.664222c-17.004279-8.654101-35.092239-15.756869-53.995775-21.210068l-3.26537-66.490344c-0.280386-5.747911-3.833305-10.824533-9.134031-13.059434-1.683339-0.709151-30.193673-12.391215-76.866668-12.051477-46.672996-0.339738-75.18333 11.342326-76.866668 12.051477-5.300726 2.234901-8.853645 7.311523-9.134031 13.059434l-3.26537 66.490344c-18.903535 5.453199-36.991496 12.555967-53.995775 21.210068l-48.450479-43.922349c-4.261047-3.860934-10.360975-4.940522-15.693424-2.77009-2.430352 0.98749-60.015885 25.106818-106.400309 102.410438-3.353374 5.588275-2.705622 12.703323 1.602498 17.59268l42.051745 47.743374c-10.992355 19.107173-19.878746 39.309284-26.513864 60.282968l-61.390185 3.009544c-5.747911 0.284479-10.824533 3.834328-13.059434 9.138124-1.01512 2.415003-24.687262 60.190871-2.822278 147.651828 1.583055 6.324032 7.072069 10.893094 13.57518 11.308557 5.892197 0.37146 11.751648 0.523933 17.419741 0.667196 14.498202 0.372483 28.193109 0.723477 40.908712 4.63353 4.212952 1.294482 6.435573 8.270361 9.349949 18.763342 1.287319 4.640694 2.617617 9.43693 4.484128 14.010085 1.794879 4.393054 3.75758 8.570189 5.66093 12.607132 1.302669 2.765997 2.529613 5.380544 3.689019 8.018627 2.986007 6.803963 2.682086 9.773598 2.578732 10.349719-3.061732 3.672646-6.391571 7.238868-9.91379 11.015891-1.810229 1.943258-3.680832 3.949962-5.523807 5.980201l-22.560832 24.8909c-3.865028 4.261047-4.940522 10.365068-2.774183 15.693424 0.991584 2.426259 25.102724 60.011792 102.414531 106.400309 5.588275 3.353374 12.703323 2.701528 17.591657-1.603521l23.476691-20.682042c2.346441-2.061962 4.64888-4.336772 6.875594-6.534833 9.05319-8.93858 14.018272-12.95608 17.73185-11.576663 3.305279 1.222851 6.907317 3.166109 10.720156 5.228071 3.325745 1.794879 6.764054 3.650133 10.465352 5.288446 6.016017 2.662643 12.120039 4.688789 18.019399 6.65149 6.827499 2.266623 13.279445 4.409426 18.819624 7.275707 1.518586 0.782829 1.926886 0.994654 2.358721 7.830339 0.726547 11.496845 1.25048 23.276123 1.753947 34.672684 0.264013 5.900384 0.528026 11.803837 0.815575 17.700127 0.284479 5.743818 3.833305 10.82044 9.138124 13.05534 1.654686 0.698918 29.371958 12.063757 74.869175 12.063757 0.328481 0 3.65832 0 3.986801 0 45.497217 0 73.214489-11.364839 74.869175-12.063757 5.304819-2.234901 8.853645-7.311523 9.138124-13.05534 0.287549-5.89629 0.551562-11.799744 0.815575-17.700127 0.503467-11.396561 1.027399-23.175839 1.753947-34.672684 0.431835-6.835685 0.840134-7.04751 2.358721-7.830339 5.54018-2.866281 11.992125-5.009084 18.819624-7.275707 5.89936-1.962701 12.003382-3.988848 18.019399-6.65149 3.701299-1.638313 7.139607-3.493567 10.465352-5.288446 3.812839-2.061962 7.414877-4.00522 10.720156-5.228071 3.713578-1.379417 8.67866 2.638083 17.73185 11.576663 2.226714 2.198062 4.529153 4.472871 6.875594 6.534833l23.476691 20.682042c4.888334 4.305049 12.003382 4.956895 17.591657 1.603521 77.311807-46.388517 101.422947-103.97405 102.414531-106.400309 2.166339-5.328355 1.090844-11.432377-2.774183-15.693424l-22.560832-24.8909c-1.842974-2.030239-3.713578-4.036943-5.523807-5.980201-3.52222-3.777023-6.852058-7.343245-9.91379-11.015891-0.103354-0.576121-0.407276-3.545756 2.578732-10.349719 1.159406-2.638083 2.38635-5.252631 3.689019-8.018627 1.90335-4.036943 3.866051-8.214079 5.66093-12.607132 1.866511-4.573155 3.196809-9.369392 4.484128-14.010085 2.914376-10.492982 5.136997-17.46886 9.349949-18.763342 12.715603-3.910053 26.41051-4.261047 40.908712-4.63353 5.668093-0.143263 11.527544-0.295735 17.419741-0.667196 6.503111-0.415462 11.992125-4.984524 13.57518-11.308557C907.21518 494.340805 883.543038 436.564937 882.527918 434.149934zM643.49894 643.761929c-35.280528 35.280528-82.191954 54.711066-132.086317 54.711066s-96.806813-19.430538-132.086317-54.711066c-35.280528-35.279504-54.711066-82.191954-54.711066-132.086317 0-49.894364 19.430538-96.80272 54.711066-132.082224 35.283598-35.284621 82.191954-54.711066 132.086317-54.711066s96.80579 19.426445 132.086317 54.711066c35.279504 35.279504 54.711066 82.187861 54.711066 132.082224C698.210006 561.569976 678.782537 608.482425 643.49894 643.761929z', - }), - ); - } - getShape() { - const { x, y, width, height } = this.props.model; - const style = this.props.model.getNodeStyle(); - return h('g', {}, [ - h('rect', { - ...style, - x: x - width / 2, - y: y - height / 2, - rs: 10, - ry: 10, - width, - height, - }), - this.getLabelShape(), - ]); - } -} - -class UserNodeModel extends RectNodeModel { - setAttributes() { - this.stroke = '#345325'; - this.strokeWidth = 1; - } -} - -lf.register({ - type: 'user', - view: UserNode, - model: UserNodeModel, -}); - -lf.render({ - nodes: [ - { - type: 'user', - x: 100, - y: 100, - }, - ], -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/cardLine.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/cardLine.js" deleted file mode 100644 index 5cbc5cc..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/cardLine.js" +++ /dev/null @@ -1,11 +0,0 @@ -class CardLine extends BezierEdge { - -} - -class CardLineModel extends BezierEdgeModel {} - -export default { - type: 'card-line', - view: CardLine, - model: CardLineModel, -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/htmlCard.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/htmlCard.js" deleted file mode 100644 index dd7280b..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/htmlCard.js" +++ /dev/null @@ -1,63 +0,0 @@ -class HtmlCard extends HtmlNode { - // 重写HtmlNode的setHtml,来控制html节点内容。 - setHtml(rootEl) { - const cardEl = this.getCardEl(); - rootEl.innerHtml = ''; - rootEl.appendChild(cardEl); - } - getCardEl() { - const { properties } = this.props.model; - const el = document.createElement('div'); - el.className = 'html-card'; - - const header = document.createElement('div'); - header.className = 'html-card-header'; - header.innerText = properties.title; - - const body = document.createElement('div'); - body.className = 'html-card-body'; - body.innerText = properties.content; - - const footer = document.createElement('div'); - footer.className = 'html-card-footer'; - - if (properties.answers) { - properties.answers.map((answer) => { - const label = document.createElement('div'); - label.innerText = answer.text; - label.className = 'html-card-label'; - footer.appendChild(label); - }); - } - - el.appendChild(header); - el.appendChild(body); - el.appendChild(footer); - - return el; - } -} - -class HtmlCardModel extends HtmlNodeModel { - setAttributes() { - this.width = 240; - this.height = 100; - const { properties } = this; - if (properties.answers) { - let preOffset = 5; - const sourceAnchor = properties.answers.map((answer) => { - const text = answer.text; - const x = -120 + preOffset + (12 * text.length / 2) + 2; - preOffset += 12 * text.length + 10 + 4; - return [ x, 45] - }); - this.anchorsOffset = [[0, -50]].concat(sourceAnchor); - } - } -} - -export default { - type: 'html-card', - view: HtmlCard, - model: HtmlCardModel, -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.js" deleted file mode 100644 index 4c59e2f..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.js" +++ /dev/null @@ -1,114 +0,0 @@ -import cardLine from "./cardLine.js"; -import htmlCard from "./htmlCard.js"; - -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -lf.register(cardLine); -lf.register(htmlCard); -lf.setDefaultEdgeType('card-line'); -lf.render({ - nodes: [ - { - id: '1', - type: 'html-card', - x: 300, - y: 100, - properties: { - title: '普通话术', - content: '喂,您好,这里是美家装饰,专业的装修品牌。请问您最近有装修吗?', - answers: [ - { - id: '10', - text: '装好了' - }, - { - id: '11', - text: '肯定' - }, - { - id: '12', - text: '拒绝' - }, - { - id: '13', - text: '否定' - }, - { - id: '14', - text: '默认' - } - ] - } - }, - { - id: '2', - type: 'html-card', - x: 200, - y: 300, - properties: { - title: '跳转话术', - content: '好的,我们将给安排专门装修师傅上面服务。', - answers: [ - { - id: '21', - text: '肯定' - }, - { - id: '23', - text: '否定' - } - ] - } - }, - { - id: '3', - type: 'html-card', - x: 600, - y: 300, - properties: { - title: '普通话术', - content: '好的,我们将给安排专门装修师傅上面服务。', - answers: [ - { - id: '31', - text: '肯定' - }, - { - id: '43', - text: '否定' - } - ] - } - } - ], - edges: [ - { - "id":"36097b7b-f7fb-4eba-ac84-d9cec1e8f4d0", - "type":"card-line", - "sourceNodeId":"1", - "targetNodeId":"2", - "startPoint":{"x":249,"y":145}, - "endPoint":{"x":200,"y":250}, - "properties":{}, - "pointsList":[{"x":249,"y":145},{"x":249,"y":250},{"x":200,"y":150},{"x":200,"y":250}] - }, - { - "id":"ab537079-c6d9-45b9-8251-ebb5d7a98998", - "type":"card-line", - "sourceNodeId":"1", - "targetNodeId":"3", - "startPoint":{"x":325,"y":145}, - "endPoint":{"x":600,"y":250}, - "properties":{}, - "pointsList":[{"x":325,"y":145},{"x":325,"y":250},{"x":600,"y":150},{"x":600,"y":250}] - } - ] -}); - -document.querySelector('#getJson').addEventListener('click', () => { - const data = lf.getGraphData(); - console.log(JSON.stringify(data)); -}) \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/style.css" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/style.css" deleted file mode 100644 index b84bb36..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/style.css" +++ /dev/null @@ -1,47 +0,0 @@ -.html-card { - width: 240px; - height: 100px; - box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); - border-radius: 4px; - border: 1px solid #ebeef5; - background-color: #fff; - overflow: hidden; - color: #303133; - transition: .3s; - box-sizing: border-box; - padding: 5px; -} -.html-card-header { - font-size: 12px; - line-height: 24px; - margin-left: 14px; -} -.html-card-header:before{ - content: ""; - position: absolute; - left: 5px; - top: 13px; - display: block; - width: 7px; - height: 7px; - border: 1px solid #cbcef5; - border-radius: 6px; -} -.html-card-body { - font-size: 12px; - color: #6f6a6f; - margin-top: 5px; -} - -.html-card-footer { - display: flex; - position: absolute; - bottom: 5px; -} -.html-card-label { - font-size: 12px; - line-height: 16px; - padding: 2px; - background: #ebeef5; - margin-right: 10px; -} diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/call.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/call.js" deleted file mode 100644 index 46f985f..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/call.js" +++ /dev/null @@ -1,27 +0,0 @@ -const template = `
-
    -
  • {{name}}
  • -
  • hello
  • - -
-
` - -export default Vue.component('call', { - template, - props: { - name: { - type: String, - default: 'logicflow' - }, - }, - data() { - return { - pname: '' - } - }, - methods: { - change() { - this.$emit('change-name', this.pname) - } - }, -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.js" deleted file mode 100644 index f2bc1f8..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.js" +++ /dev/null @@ -1,74 +0,0 @@ -import Call from './call.js' - -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -class UserNode extends HtmlNode { - shouldUpdate() { - const { properties } = this.props.model; - if (this.currrentProperties && this.currrentProperties === JSON.stringify(properties)) return false; - this.currrentProperties = JSON.stringify(properties) - return true; - } - setHtml(rootEl) { - // todo: 和react不一样,还没有找到合适的利用vue内置的diff算法来计算节点是否需要更新。 - if (!this.shouldUpdate()) return; - const { properties } = this.props.model; - const { model } = this.props; - const el = document.createElement('div'); - rootEl.innerHTML = ''; - rootEl.appendChild(el); - const Profile = Vue.extend({ - render: (h) => { - return h(Call, { - props: { - name: properties.name - }, - on: { - 'change-name': (pname) => { - model.setProperties({ - name: pname - }) - } - } - }) - } - }) - new Profile().$mount(el) - } -} - -class UserNodeModel extends HtmlNodeModel { - setAttributes() { - this.text.editable = false; - const width = 200; - const height = 100; - this.width = width; - this.height = height; - - this.anchorsOffset = [ - [width / 2, 0], - [0, height / 2], - [-width / 2, 0], - [0, -height/2], - ] - } -} - -lf.register({ - type: 'vue-html', - view: UserNode, - model: UserNodeModel, -}) - -lf.render({ - nodes: [ - { - type: 'vue-html', - x: 150, - y: 150, - } - ] -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/style.css" "b/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/style.css" deleted file mode 100644 index 4488897..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/style.css" +++ /dev/null @@ -1,13 +0,0 @@ -html, body { - height: 100%; - margin: 0; - padding: 0; -} -.call-wrapper { - background: #fff; - border: 1px solid #989098; - width: 200px; - height: 100px; - box-sizing: border-box; - padding: 5px; -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/config.json" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/config.json" deleted file mode 100644 index 26c70f0..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/config.json" +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "例子集-1-2", - "key": "example-set-1-2", - "examples": [ - { - "name": "自定义带有图标的节点-1-2", - "key": "custom-node-1-2" - }, - { - "name": "使用vue自定义html节点-1-2", - "key": "vue-1-2" - }, - { - "name": "html卡片-1-2", - "key": "html-card-1-2" - } - ] -} diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.html" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.html" deleted file mode 100644 index 8b15bcb..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.html" +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - -
- - - - \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.js" deleted file mode 100644 index 729b654..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/index.js" +++ /dev/null @@ -1,64 +0,0 @@ -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -class UserNode extends RectNode { - getLabelShape() { - const { x, y, width, height } = this.props.model; - const { stroke } = this.props.model.getNodeStyle(); - return h( - 'svg', - { - x: x - width / 2 + 5, - y: y - height / 2 + 5, - width: 30, - height: 30, - viewBox: '0 0 1274 1024', - }, - h('path', { - fill: stroke, - d: 'M882.527918 434.149934c-2.234901-5.303796-7.311523-8.853645-13.059434-9.138124l-61.390185-3.009544c-6.635117-20.973684-15.521508-41.175795-26.513864-60.282968l42.051745-47.743374c4.308119-4.889357 4.955872-12.004405 1.602498-17.59268-46.384423-77.30362-103.969956-101.422947-106.400309-102.410438-5.332449-2.170432-11.432377-1.090844-15.693424 2.77009L654.674467 240.664222c-17.004279-8.654101-35.092239-15.756869-53.995775-21.210068l-3.26537-66.490344c-0.280386-5.747911-3.833305-10.824533-9.134031-13.059434-1.683339-0.709151-30.193673-12.391215-76.866668-12.051477-46.672996-0.339738-75.18333 11.342326-76.866668 12.051477-5.300726 2.234901-8.853645 7.311523-9.134031 13.059434l-3.26537 66.490344c-18.903535 5.453199-36.991496 12.555967-53.995775 21.210068l-48.450479-43.922349c-4.261047-3.860934-10.360975-4.940522-15.693424-2.77009-2.430352 0.98749-60.015885 25.106818-106.400309 102.410438-3.353374 5.588275-2.705622 12.703323 1.602498 17.59268l42.051745 47.743374c-10.992355 19.107173-19.878746 39.309284-26.513864 60.282968l-61.390185 3.009544c-5.747911 0.284479-10.824533 3.834328-13.059434 9.138124-1.01512 2.415003-24.687262 60.190871-2.822278 147.651828 1.583055 6.324032 7.072069 10.893094 13.57518 11.308557 5.892197 0.37146 11.751648 0.523933 17.419741 0.667196 14.498202 0.372483 28.193109 0.723477 40.908712 4.63353 4.212952 1.294482 6.435573 8.270361 9.349949 18.763342 1.287319 4.640694 2.617617 9.43693 4.484128 14.010085 1.794879 4.393054 3.75758 8.570189 5.66093 12.607132 1.302669 2.765997 2.529613 5.380544 3.689019 8.018627 2.986007 6.803963 2.682086 9.773598 2.578732 10.349719-3.061732 3.672646-6.391571 7.238868-9.91379 11.015891-1.810229 1.943258-3.680832 3.949962-5.523807 5.980201l-22.560832 24.8909c-3.865028 4.261047-4.940522 10.365068-2.774183 15.693424 0.991584 2.426259 25.102724 60.011792 102.414531 106.400309 5.588275 3.353374 12.703323 2.701528 17.591657-1.603521l23.476691-20.682042c2.346441-2.061962 4.64888-4.336772 6.875594-6.534833 9.05319-8.93858 14.018272-12.95608 17.73185-11.576663 3.305279 1.222851 6.907317 3.166109 10.720156 5.228071 3.325745 1.794879 6.764054 3.650133 10.465352 5.288446 6.016017 2.662643 12.120039 4.688789 18.019399 6.65149 6.827499 2.266623 13.279445 4.409426 18.819624 7.275707 1.518586 0.782829 1.926886 0.994654 2.358721 7.830339 0.726547 11.496845 1.25048 23.276123 1.753947 34.672684 0.264013 5.900384 0.528026 11.803837 0.815575 17.700127 0.284479 5.743818 3.833305 10.82044 9.138124 13.05534 1.654686 0.698918 29.371958 12.063757 74.869175 12.063757 0.328481 0 3.65832 0 3.986801 0 45.497217 0 73.214489-11.364839 74.869175-12.063757 5.304819-2.234901 8.853645-7.311523 9.138124-13.05534 0.287549-5.89629 0.551562-11.799744 0.815575-17.700127 0.503467-11.396561 1.027399-23.175839 1.753947-34.672684 0.431835-6.835685 0.840134-7.04751 2.358721-7.830339 5.54018-2.866281 11.992125-5.009084 18.819624-7.275707 5.89936-1.962701 12.003382-3.988848 18.019399-6.65149 3.701299-1.638313 7.139607-3.493567 10.465352-5.288446 3.812839-2.061962 7.414877-4.00522 10.720156-5.228071 3.713578-1.379417 8.67866 2.638083 17.73185 11.576663 2.226714 2.198062 4.529153 4.472871 6.875594 6.534833l23.476691 20.682042c4.888334 4.305049 12.003382 4.956895 17.591657 1.603521 77.311807-46.388517 101.422947-103.97405 102.414531-106.400309 2.166339-5.328355 1.090844-11.432377-2.774183-15.693424l-22.560832-24.8909c-1.842974-2.030239-3.713578-4.036943-5.523807-5.980201-3.52222-3.777023-6.852058-7.343245-9.91379-11.015891-0.103354-0.576121-0.407276-3.545756 2.578732-10.349719 1.159406-2.638083 2.38635-5.252631 3.689019-8.018627 1.90335-4.036943 3.866051-8.214079 5.66093-12.607132 1.866511-4.573155 3.196809-9.369392 4.484128-14.010085 2.914376-10.492982 5.136997-17.46886 9.349949-18.763342 12.715603-3.910053 26.41051-4.261047 40.908712-4.63353 5.668093-0.143263 11.527544-0.295735 17.419741-0.667196 6.503111-0.415462 11.992125-4.984524 13.57518-11.308557C907.21518 494.340805 883.543038 436.564937 882.527918 434.149934zM643.49894 643.761929c-35.280528 35.280528-82.191954 54.711066-132.086317 54.711066s-96.806813-19.430538-132.086317-54.711066c-35.280528-35.279504-54.711066-82.191954-54.711066-132.086317 0-49.894364 19.430538-96.80272 54.711066-132.082224 35.283598-35.284621 82.191954-54.711066 132.086317-54.711066s96.80579 19.426445 132.086317 54.711066c35.279504 35.279504 54.711066 82.187861 54.711066 132.082224C698.210006 561.569976 678.782537 608.482425 643.49894 643.761929z', - }), - ); - } - getShape() { - const { x, y, width, height } = this.props.model; - const style = this.props.model.getNodeStyle(); - return h('g', {}, [ - h('rect', { - ...style, - x: x - width / 2, - y: y - height / 2, - rs: 10, - ry: 10, - width, - height, - }), - this.getLabelShape(), - ]); - } -} - -class UserNodeModel extends RectNodeModel { - setAttributes() { - this.stroke = '#345325'; - this.strokeWidth = 1; - } -} - -lf.register({ - type: 'user', - view: UserNode, - model: UserNodeModel, -}); - -lf.render({ - nodes: [ - { - type: 'user', - x: 100, - y: 100, - }, - ], -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/style.css" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/style.css" deleted file mode 100644 index d70810b..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/custom-node-1-2/style.css" +++ /dev/null @@ -1,5 +0,0 @@ -html, body { - height: 100%; - margin: 0; - padding: 0; -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/cardLine.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/cardLine.js" deleted file mode 100644 index 5cbc5cc..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/cardLine.js" +++ /dev/null @@ -1,11 +0,0 @@ -class CardLine extends BezierEdge { - -} - -class CardLineModel extends BezierEdgeModel {} - -export default { - type: 'card-line', - view: CardLine, - model: CardLineModel, -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/htmlCard.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/htmlCard.js" deleted file mode 100644 index dd7280b..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/htmlCard.js" +++ /dev/null @@ -1,63 +0,0 @@ -class HtmlCard extends HtmlNode { - // 重写HtmlNode的setHtml,来控制html节点内容。 - setHtml(rootEl) { - const cardEl = this.getCardEl(); - rootEl.innerHtml = ''; - rootEl.appendChild(cardEl); - } - getCardEl() { - const { properties } = this.props.model; - const el = document.createElement('div'); - el.className = 'html-card'; - - const header = document.createElement('div'); - header.className = 'html-card-header'; - header.innerText = properties.title; - - const body = document.createElement('div'); - body.className = 'html-card-body'; - body.innerText = properties.content; - - const footer = document.createElement('div'); - footer.className = 'html-card-footer'; - - if (properties.answers) { - properties.answers.map((answer) => { - const label = document.createElement('div'); - label.innerText = answer.text; - label.className = 'html-card-label'; - footer.appendChild(label); - }); - } - - el.appendChild(header); - el.appendChild(body); - el.appendChild(footer); - - return el; - } -} - -class HtmlCardModel extends HtmlNodeModel { - setAttributes() { - this.width = 240; - this.height = 100; - const { properties } = this; - if (properties.answers) { - let preOffset = 5; - const sourceAnchor = properties.answers.map((answer) => { - const text = answer.text; - const x = -120 + preOffset + (12 * text.length / 2) + 2; - preOffset += 12 * text.length + 10 + 4; - return [ x, 45] - }); - this.anchorsOffset = [[0, -50]].concat(sourceAnchor); - } - } -} - -export default { - type: 'html-card', - view: HtmlCard, - model: HtmlCardModel, -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.js" deleted file mode 100644 index 4c59e2f..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/index.js" +++ /dev/null @@ -1,114 +0,0 @@ -import cardLine from "./cardLine.js"; -import htmlCard from "./htmlCard.js"; - -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -lf.register(cardLine); -lf.register(htmlCard); -lf.setDefaultEdgeType('card-line'); -lf.render({ - nodes: [ - { - id: '1', - type: 'html-card', - x: 300, - y: 100, - properties: { - title: '普通话术', - content: '喂,您好,这里是美家装饰,专业的装修品牌。请问您最近有装修吗?', - answers: [ - { - id: '10', - text: '装好了' - }, - { - id: '11', - text: '肯定' - }, - { - id: '12', - text: '拒绝' - }, - { - id: '13', - text: '否定' - }, - { - id: '14', - text: '默认' - } - ] - } - }, - { - id: '2', - type: 'html-card', - x: 200, - y: 300, - properties: { - title: '跳转话术', - content: '好的,我们将给安排专门装修师傅上面服务。', - answers: [ - { - id: '21', - text: '肯定' - }, - { - id: '23', - text: '否定' - } - ] - } - }, - { - id: '3', - type: 'html-card', - x: 600, - y: 300, - properties: { - title: '普通话术', - content: '好的,我们将给安排专门装修师傅上面服务。', - answers: [ - { - id: '31', - text: '肯定' - }, - { - id: '43', - text: '否定' - } - ] - } - } - ], - edges: [ - { - "id":"36097b7b-f7fb-4eba-ac84-d9cec1e8f4d0", - "type":"card-line", - "sourceNodeId":"1", - "targetNodeId":"2", - "startPoint":{"x":249,"y":145}, - "endPoint":{"x":200,"y":250}, - "properties":{}, - "pointsList":[{"x":249,"y":145},{"x":249,"y":250},{"x":200,"y":150},{"x":200,"y":250}] - }, - { - "id":"ab537079-c6d9-45b9-8251-ebb5d7a98998", - "type":"card-line", - "sourceNodeId":"1", - "targetNodeId":"3", - "startPoint":{"x":325,"y":145}, - "endPoint":{"x":600,"y":250}, - "properties":{}, - "pointsList":[{"x":325,"y":145},{"x":325,"y":250},{"x":600,"y":150},{"x":600,"y":250}] - } - ] -}); - -document.querySelector('#getJson').addEventListener('click', () => { - const data = lf.getGraphData(); - console.log(JSON.stringify(data)); -}) \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/style.css" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/style.css" deleted file mode 100644 index b84bb36..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/html-card-1-2/style.css" +++ /dev/null @@ -1,47 +0,0 @@ -.html-card { - width: 240px; - height: 100px; - box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); - border-radius: 4px; - border: 1px solid #ebeef5; - background-color: #fff; - overflow: hidden; - color: #303133; - transition: .3s; - box-sizing: border-box; - padding: 5px; -} -.html-card-header { - font-size: 12px; - line-height: 24px; - margin-left: 14px; -} -.html-card-header:before{ - content: ""; - position: absolute; - left: 5px; - top: 13px; - display: block; - width: 7px; - height: 7px; - border: 1px solid #cbcef5; - border-radius: 6px; -} -.html-card-body { - font-size: 12px; - color: #6f6a6f; - margin-top: 5px; -} - -.html-card-footer { - display: flex; - position: absolute; - bottom: 5px; -} -.html-card-label { - font-size: 12px; - line-height: 16px; - padding: 2px; - background: #ebeef5; - margin-right: 10px; -} diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/call.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/call.js" deleted file mode 100644 index 46f985f..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/call.js" +++ /dev/null @@ -1,27 +0,0 @@ -const template = `
-
    -
  • {{name}}
  • -
  • hello
  • - -
-
` - -export default Vue.component('call', { - template, - props: { - name: { - type: String, - default: 'logicflow' - }, - }, - data() { - return { - pname: '' - } - }, - methods: { - change() { - this.$emit('change-name', this.pname) - } - }, -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.js" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.js" deleted file mode 100644 index f2bc1f8..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.js" +++ /dev/null @@ -1,74 +0,0 @@ -import Call from './call.js' - -const lf = new LogicFlow({ - container: document.querySelector('#container'), - grid: true, -}); - -class UserNode extends HtmlNode { - shouldUpdate() { - const { properties } = this.props.model; - if (this.currrentProperties && this.currrentProperties === JSON.stringify(properties)) return false; - this.currrentProperties = JSON.stringify(properties) - return true; - } - setHtml(rootEl) { - // todo: 和react不一样,还没有找到合适的利用vue内置的diff算法来计算节点是否需要更新。 - if (!this.shouldUpdate()) return; - const { properties } = this.props.model; - const { model } = this.props; - const el = document.createElement('div'); - rootEl.innerHTML = ''; - rootEl.appendChild(el); - const Profile = Vue.extend({ - render: (h) => { - return h(Call, { - props: { - name: properties.name - }, - on: { - 'change-name': (pname) => { - model.setProperties({ - name: pname - }) - } - } - }) - } - }) - new Profile().$mount(el) - } -} - -class UserNodeModel extends HtmlNodeModel { - setAttributes() { - this.text.editable = false; - const width = 200; - const height = 100; - this.width = width; - this.height = height; - - this.anchorsOffset = [ - [width / 2, 0], - [0, height / 2], - [-width / 2, 0], - [0, -height/2], - ] - } -} - -lf.register({ - type: 'vue-html', - view: UserNode, - model: UserNodeModel, -}) - -lf.render({ - nodes: [ - { - type: 'vue-html', - x: 150, - y: 150, - } - ] -}); diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/style.css" "b/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/style.css" deleted file mode 100644 index 4488897..0000000 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/style.css" +++ /dev/null @@ -1,13 +0,0 @@ -html, body { - height: 100%; - margin: 0; - padding: 0; -} -.call-wrapper { - background: #fff; - border: 1px solid #989098; - width: 200px; - height: 100px; - box-sizing: border-box; - padding: 5px; -} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-3/config.json" "b/examples/examples/\346\241\210\344\276\213/example-set-1-3/config.json" index f7cc600..e4b131f 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-3/config.json" +++ "b/examples/examples/\346\241\210\344\276\213/example-set-1-3/config.json" @@ -4,15 +4,18 @@ "examples": [ { "name": "自定义带有图标的节点-1-3", - "key": "custom-node-1-3" + "key": "custom-node-1-3", + "mode": "playground" }, { "name": "使用vue自定义html节点-1-3", - "key": "vue-1-3" + "key": "vue-1-3", + "mode": "playground" }, { "name": "html卡片-1-3", - "key": "html-card-1-3" + "key": "html-card-1-3", + "mode": "playground" } ] } diff --git "a/examples/examples/\346\241\210\344\276\213/node/config.json" "b/examples/examples/\346\241\210\344\276\213/node/config.json" new file mode 100644 index 0000000..2163382 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/config.json" @@ -0,0 +1,31 @@ +{ + "name": "节点", + "key": "node", + "examples": [ + { + "name": "自定义节点样式、形状", + "key": "custom-node-style", + "mode": "playground" + }, + { + "name": "自定义svg节点", + "key": "custom-svg-node", + "mode": "playground" + }, + { + "name": "自定义html节点", + "key": "custom-html-node", + "mode": "playground" + }, + { + "name": "自定义React节点", + "key": "custom-react-node", + "mode": "playground" + }, + { + "name": "自定义Vue节点", + "key": "custom-vue-node", + "mode": "playground" + } + ] +} diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-html-node/htmlNode.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/htmlNode.js" new file mode 100644 index 0000000..dd0e854 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/htmlNode.js" @@ -0,0 +1,55 @@ +class CustomHtmlNodeModel extends HtmlNodeModel { + setAttributes() { + this.text.editable = false; // 禁止节点文本编辑 + // 设置节点宽高和锚点 + const width = 200; + const height = 130; + this.width = width; + this.height = height; + this.anchorsOffset = [ + [width / 2, 0], + [0, height / 2], + [-width / 2, 0], + [0, -height/2], + ] + } +} + +class CustomHtmlNode extends HtmlNode { + setHtml(rootEl) { + const { properties } = this.props.model; + + const el = document.createElement('div'); + el.className = 'uml-wrapper'; + const html = ` +
+
Head
+
+
${properties.name}
+
${properties.body}
+
+ +
+ ` + el.innerHTML = html; + // 需要先把之前渲染的子节点清除掉。 + rootEl.innerHTML = ''; + rootEl.appendChild(el); + window.stop = (ev) => { + ev.stopPropagation(); + }; + window.setData = () => { + const { graphModel, model } = this.props; + graphModel.eventCenter.emit("custom:button-click", model); + }; + } +} + +export default { + type: 'html-node', + view: CustomHtmlNode, + model: CustomHtmlNodeModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.html" "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.html" similarity index 90% rename from "examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.html" rename to "examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.html" index e78195b..d9aaba3 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/html-card-1-1/index.html" +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.html" @@ -11,11 +11,11 @@ } #container { height: calc(100% - 20px); + width: 100%; } -
diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.js" new file mode 100644 index 0000000..aa682aa --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/index.js" @@ -0,0 +1,56 @@ +import htmlNode from "./htmlNode.js"; + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(htmlNode); + +lf.on("custom:button-click", (model) => { + lf.setProperties(model.id, { + body: "LogicFlow" + }); +}); + +const nodeData = { + id: "1", + type: "html-node", + x: 300, + y: 250, + properties: { + name: "hello", + body: "world" + } +}; + +const render = (node) => { + lf.render({ + nodes: [ + node, + ] + }); +} +render(nodeData); \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-html-node/style.css" "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/style.css" new file mode 100644 index 0000000..4f22d1f --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-html-node/style.css" @@ -0,0 +1,24 @@ +.uml-wrapper { + background: #68fce2; + width: 100%; + height: 100%; + border-radius: 10px; + border: 2px solid #838382; + box-sizing: border-box; +} +.uml-head { + text-align: center; + line-height: 30px; + font-size: 16px; + font-weight: bold; +} +.uml-body { + border-top: 1px solid #838382; + border-bottom: 1px solid #838382; + padding: 5px 10px; + font-size: 12px; +} +.uml-footer { + padding: 5px 10px; + font-size: 14px; +} diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-node-style/customNode.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/customNode.js" new file mode 100644 index 0000000..eb03a27 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/customNode.js" @@ -0,0 +1,41 @@ +class CustomNodeModel extends RectNodeModel { + initNodeData(data) { + super.initNodeData(data); + const { properties } = this; + this.width = properties.width || 150; + this.height = properties.height || 80; + } + + setAttributes() { + const { x, y, properties } = this; + const { textHorizontalMove = 0, textVerticalMove = 0 } = properties; + this.text = { + ...this.text, + x: x + textHorizontalMove, + y: y + textVerticalMove, + } + } + + getNodeStyle() { + const style = super.getNodeStyle(); + const { properties } = this; + style.fill = properties.color || style.fill; + style.stroke = properties.strokeColor || style.stroke; + style.strokeWidth = properties.strokeWidth || style.strokeWidth; + return style; + } + + getTextStyle() { + const style = super.getTextStyle(); + const { properties } = this; + style.color = properties.textColor || style.color; + style.fontSize = properties.fontSize || style.fontSize; + return style; + } +} + +export default { + type: 'custom-node', + view: RectNode, + model: CustomNodeModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.html" "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.html" new file mode 100644 index 0000000..6128160 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.html" @@ -0,0 +1,60 @@ + + + + + + + + +
+
+
+ 节点填充色: +
+
+
+
+
+ 节点边框色: +
+
+
+
+
+ 节点边框宽度: + +
+
+ 节点大小:
+ width: + height: +
+
+ 文本颜色: +
+
+
+
+
+ 文本字体大小: +
+
+ 文本位置(基于节点位置平移距离):
+ 水平: + 垂直: +
+
+ + + + \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.js" new file mode 100644 index 0000000..fcc0fe6 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/index.js" @@ -0,0 +1,122 @@ +import customNode from "./customNode.js"; + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(customNode); + +const nodeData = { + id: '1', + x: 200, + y: 200, + type: 'custom-node', + text: '自定义节点样式', + properties: {}, +}; + +const render = (node) => { + lf.render({ + nodes: [ + node, + ] + }); +} +render(nodeData); + +window.handleColorChange = (type, color) => { + switch (type) { + case 'node': + nodeData.properties = { + ...nodeData.properties, + color, + }; + break; + case 'stroke': + nodeData.properties = { + ...nodeData.properties, + strokeColor: color, + }; + break; + case 'text': + nodeData.properties = { + ...nodeData.properties, + textColor: color, + }; + break; + default: + break; + } + render(nodeData); +} + +window.handleStrokeWidth = (el) => { + nodeData.properties = { + ...nodeData.properties, + strokeWidth: el.value, + }; + render(nodeData); +} + +window.handleNodeWidth = (el) => { + nodeData.properties = { + ...nodeData.properties, + width: el.value, + }; + render(nodeData); +} + +window.handleNodeHeight = (el) => { + nodeData.properties = { + ...nodeData.properties, + height: el.value, + }; + render(nodeData); +} + +window.handleFontSize = (el) => { + nodeData.properties = { + ...nodeData.properties, + fontSize: Number(el.value), + }; + render(nodeData); +} + +window.handleHorizontalMove = (el) => { + nodeData.properties = { + ...nodeData.properties, + textHorizontalMove: Number(el.value), + }; + render(nodeData); +} + +window.handleVerticalMove = (el) => { + nodeData.properties = { + ...nodeData.properties, + textVerticalMove: Number(el.value), + }; + render(nodeData); +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-node-style/style.css" "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/style.css" new file mode 100644 index 0000000..8bba6f9 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-node-style/style.css" @@ -0,0 +1,43 @@ +.custom-node-style { + position: absolute; + top: 0; + right: 0; + width: 300px; + font-size: 14px; + margin: 20px; +} + +.custom-node-style > div { + margin-bottom: 10px; +} + +.custom-text-color, +.custom-node-stroke, +.custom-node-fill { + display: flex; +} + +.custom-red { + width: 30px; + background-color: red; + cursor: pointer; + margin: 0 10px; +} + +.custom-blue { + width: 30px; + background-color: blue; + cursor: pointer; + margin: 0 10px; +} + +.custom-green { + width: 30px; + background-color: green; + cursor: pointer; + margin: 0 10px; +} + +input { + width: 70px; +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.html" "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.html" new file mode 100644 index 0000000..5647863 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.html" @@ -0,0 +1,25 @@ + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.js" new file mode 100644 index 0000000..fa4e5b4 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/index.js" @@ -0,0 +1,64 @@ +import reactNode from "./reactNode.js"; + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(reactNode); + +lf.on('custom:add-one', (model) => { + lf.setProperties(model.id, { + name: 'reactComponent', + body: model.getProperties().body + 1, + }); +}); + +lf.on('custom:delete-one', (model) => { + lf.setProperties(model.id, { + name: 'reactComponent', + body: model.getProperties().body - 1, + }); +}); + +const nodeData = { + id: "1", + type: "react-node", + x: 300, + y: 250, + properties: { + name: "hello", + body: Math.random(), + } +}; + +const render = (node) => { + lf.render({ + nodes: [ + node, + ] + }); +} +render(nodeData); \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactComponent.jsx" "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactComponent.jsx" new file mode 100644 index 0000000..aac11b7 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactComponent.jsx" @@ -0,0 +1,25 @@ +function Hello(props) { + const addOne = () => { + props.graphModel.eventCenter.emit("custom:add-one", props.model); + } + + const deleteOne = () => { + props.graphModel.eventCenter.emit("custom:delete-one", props.model); + } + + return ( +
+
Head
+
+
{props.name}
+
{props.body}
+
+
+
setHead(Head $head)
+
setBody(Body $body)
+
+
+ ) +} + +export default Hello; diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactNode.jsx" "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactNode.jsx" new file mode 100644 index 0000000..4ecf094 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/reactNode.jsx" @@ -0,0 +1,39 @@ +import Hello from "./reactComponent.js"; + +class CustomReactNodeModel extends HtmlNodeModel { + setAttributes() { + this.text.editable = false; // 禁止节点文本编辑 + // 设置节点宽高和锚点 + const width = 200; + const height = 130; + this.width = width; + this.height = height; + this.anchorsOffset = [ + [width / 2, 0], + [0, height / 2], + [-width / 2, 0], + [0, -height/2], + ] + } +} + +class CustomReactNode extends HtmlNode { + setHtml(rootEl) { + const { properties } = this.props.model; + ReactDOM.render( + , + rootEl + ); + } +} + +export default { + type: 'react-node', + view: CustomReactNode, + model: CustomReactNodeModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-react-node/style.css" "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/style.css" new file mode 100644 index 0000000..3dd9d42 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-react-node/style.css" @@ -0,0 +1,25 @@ + +.uml-wrapper { + background: #68fce2; + width: 100%; + height: 100%; + border-radius: 10px; + border: 2px solid #838382; + box-sizing: border-box; +} +.uml-head { + text-align: center; + line-height: 30px; + font-size: 16px; + font-weight: bold; +} +.uml-body { + border-top: 1px solid #838382; + border-bottom: 1px solid #838382; + padding: 5px 10px; + font-size: 12px; +} +.uml-footer { + padding: 5px 10px; + font-size: 14px; +} diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.html" "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.html" similarity index 75% rename from "examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.html" rename to "examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.html" index cde3867..648c73b 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-2/vue-1-2/index.html" +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.html" @@ -4,16 +4,19 @@
- - \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.js" new file mode 100644 index 0000000..ffb6323 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/index.js" @@ -0,0 +1,48 @@ +import svgNode from "./svgNode.js"; + +// logicflow流程图配置 +const LFConfig = { + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; +const container = document.querySelector('#container'); + +const lf = new LogicFlow({ + ...LFConfig, + container, +}); + +lf.register(svgNode); + +const nodeData = { + id: '1', + x: 200, + y: 200, + type: 'svg-node', + text: { + x: 200, + y: 200, + value: '自定义svg节点', + }, + properties: {}, +}; + +const render = (node) => { + lf.render({ + nodes: [ + node, + ] + }); +} +render(nodeData); + diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/svgNode.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/svgNode.js" new file mode 100644 index 0000000..43cef15 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-svg-node/svgNode.js" @@ -0,0 +1,61 @@ +class svgNodeView extends RectNode { + getLabelShape() { + const { model } = this.props; + const { x, y, width, height } = model; + const style = model.getNodeStyle(); + return h( + "svg", + { + x: x - width / 2 + 5, + y: y - height / 2 + 5, + width: 25, + height: 25, + viewBox: "0 0 1274 1024" + }, + [ + h("path", { + fill: style.stroke, + d: + "M690.366075 350.568358c0-98.876614-79.937349-179.048571-178.558027-179.048571-98.59935 0-178.515371 80.150629-178.515371 179.048571 0 98.833958 79.916021 178.963259 178.515371 178.963259C610.428726 529.531617 690.366075 449.380988 690.366075 350.568358M376.140632 350.568358c0-75.159877 60.72082-136.072649 135.667416-136.072649 74.989253 0 135.667416 60.912772 135.667416 136.072649 0 75.117221-60.678164 136.029993-135.667416 136.029993C436.861451 486.577022 376.140632 425.664251 376.140632 350.568358M197.284012 762.923936 197.284012 778.472049l15.526785 0 291.255186 0.127968L819.784387 778.472049l15.569441 0 0-15.548113c0-139.783721-136.413897-285.581938-311.026243-273.275681-10.002833 0.703824-24.740482 9.128385-34.658002 9.938849-8.573857 0.74648 13.692577 8.232609 14.396401 16.827793 9.021745-0.789136 6.313088 13.095393 15.505457 13.095393 150.597017 0 263.14488 103.07823 263.14488 224.62651l15.441473-15.590769-285.816546-0.042656-278.991585 1.81288 15.526785 15.612097c0-82.752645 75.095893-152.70849 136.861785-191.824044 7.25152-4.58552 8.659169-17.659585 4.862784-22.906273-6.846288-9.426977-19.877697-8.701825-28.046322-6.014496C285.262018 560.521203 197.284012 667.758394 197.284012 762.923936" + }), + h("path", { + fill: style.stroke, + d: + "M512.31992 1.535616c-282.766642 0-512.021328 228.89211-512.021328 511.210864 0 282.46805 229.254686 511.25352 512.021328 511.25352 117.431975 0 228.828126-39.606098 318.810964-111.204199 10.791969-8.488545 12.540865-24.22861 3.988336-34.99925-8.616513-10.770641-24.356578-12.540865-35.127218-3.94568-81.174373 64.538532-181.586603 100.241606-287.650754 100.241606-255.210864 0-462.028493-206.561693-462.028493-461.367325 0-254.762976 206.817629-461.303341 462.028493-461.303341 255.210864 0 462.092477 206.561693 462.092477 461.303341 0 87.380821-24.33525 171.093227-69.614596 243.651087-7.272848 11.645089-3.668416 27.086562 8.040657 34.35941 11.709073 7.272848 27.10789 3.62576 34.402066-7.976672 50.184787-80.406565 77.143381-173.247355 77.143381-270.055153C1024.383904 230.427726 795.10789 1.535616 512.31992 1.535616z" + }) + ] + ); + } + getShape() { + const { model } = this.props; + const { x, y, width, height, radius, properties } = model; + const style = model.getNodeStyle(); + console.log(properties); + return h("g", {}, [ + h("rect", { + ...style, + x: x - width / 2, + y: y - height / 2, + rx: radius, + ry: radius, + width, + height + }), + this.getLabelShape() + ]); + } +} + +class svgNodeModel extends RectNodeModel { + initNodeData(data) { + super.initNodeData(data); + this.width = 150; + this.height = 80; + } +} + +export default { + type: 'svg-node', + view: svgNodeView, + model: svgNodeModel, +} \ No newline at end of file diff --git "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.html" "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.html" similarity index 81% rename from "examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.html" rename to "examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.html" index cde3867..a1b8bbb 100644 --- "a/examples/examples/\346\241\210\344\276\213/example-set-1-1/vue-1-1/index.html" +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.html" @@ -4,15 +4,20 @@
- diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.js" new file mode 100644 index 0000000..24cb355 --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/index.js" @@ -0,0 +1,63 @@ +import vueNode from './vueNode.js' + +// logicflow流程图配置 +const LFConfig = { + edgeTextDraggable: true, + adjustEdgeMiddle: true, + hoverOutline: false, + nodeSelectedOutline: false, + hideAnchors: true, + background: { + backgroundImage: + "url('https://dpubstatic.udache.com/static/dpubimg/805efa14-d908-4332-a7a2-bee8fbb903e3.jpg')", + backgroundRepeat: 'repeat', + }, + grid: { + size: 1, + visible: false, + }, + keyboard: { + enabled: true, + }, +}; + +const lf = new LogicFlow({ + ...LFConfig, + container: document.querySelector('#container'), +}); + +lf.register(vueNode); + +lf.on('custom:add-one', (model) => { + lf.setProperties(model.id, { + name: 'vueComponent', + body: model.getProperties().body + 1, + }); +}); + +lf.on('custom:delete-one', (model) => { + lf.setProperties(model.id, { + name: 'vueComponent', + body: model.getProperties().body - 1, + }); +}); + +const nodeData = { + id: "1", + type: "vue-node", + x: 300, + y: 250, + properties: { + name: "hello", + body: Math.random(), + } +}; + +const render = (node) => { + lf.render({ + nodes: [ + node, + ] + }); +} +render(nodeData); diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/style.css" "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/style.css" new file mode 100644 index 0000000..4f22d1f --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/style.css" @@ -0,0 +1,24 @@ +.uml-wrapper { + background: #68fce2; + width: 100%; + height: 100%; + border-radius: 10px; + border: 2px solid #838382; + box-sizing: border-box; +} +.uml-head { + text-align: center; + line-height: 30px; + font-size: 16px; + font-weight: bold; +} +.uml-body { + border-top: 1px solid #838382; + border-bottom: 1px solid #838382; + padding: 5px 10px; + font-size: 12px; +} +.uml-footer { + padding: 5px 10px; + font-size: 14px; +} diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueComponent.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueComponent.js" new file mode 100644 index 0000000..23ca36f --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueComponent.js" @@ -0,0 +1,30 @@ +const template = ` +
+
Head
+
+
{{properties.name}}
+
{{properties.body}}
+
+ +
+`; + +export default Vue.component('call', { + template, + props: { + properties: Object, + model: Object, + graphModel: Object, + }, + methods: { + addOne() { + this.graphModel.eventCenter.emit("custom:add-one", this.model); + }, + deleteOne() { + this.graphModel.eventCenter.emit("custom:delete-one", this.model); + } + }, +}); diff --git "a/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueNode.js" "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueNode.js" new file mode 100644 index 0000000..594232d --- /dev/null +++ "b/examples/examples/\346\241\210\344\276\213/node/custom-vue-node/vueNode.js" @@ -0,0 +1,50 @@ +import vueComponent from "./vueComponent.js"; + +class CustomVueNode extends HtmlNode { + constructor (props) { + super(props) + this.root = document.createElement('div'); + this.vueComponent = vueComponent; + } + + setHtml(rootEl) { + rootEl.appendChild(this.root) + if (this.vm) { + this.vm.$mount(this.root) + } else { + this.vm = new Vue({ + render: (h) => h(this.vueComponent, { + props: { + model: this.props.model, + graphModel: this.props.graphModel, + properties: this.props.model.properties + } + }) + }) + this.vm.$mount(this.root) + } + } +} + +class CustomVueModel extends HtmlNodeModel { + setAttributes() { + this.text.editable = false; + const width = 200; + const height = 130; + this.width = width; + this.height = height; + + this.anchorsOffset = [ + [width / 2, 0], + [0, height / 2], + [-width / 2, 0], + [0, -height/2], + ] + } +} + +export default { + type: 'vue-node', + view: CustomVueNode, + model: CustomVueModel, +} \ No newline at end of file diff --git a/examples/package.json b/examples/package.json index 98f3bd3..caae28b 100644 --- a/examples/package.json +++ b/examples/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --mode production", + "dev": "vite --mode production --host 127.0.0.1", "build": "vite build", "preview": "vite preview", "dev:screenshot": "vite --mode development & node --unhandled-rejections=strict scripts/screenshot.js && exit 0 && vite --mode production" @@ -14,6 +14,7 @@ "lit": "^2.3.1", "lodash": "^4.17.21", "playground-elements": "^0.16.3", + "puppeteer": "^19.3.0", "vue": "^3.2.37", "vue-router": "^4.1.5" }, diff --git a/examples/scripts/rollup-plugin-config/generate-config.js b/examples/scripts/rollup-plugin-config/generate-config.js index e59eb6b..ded8a4a 100644 --- a/examples/scripts/rollup-plugin-config/generate-config.js +++ b/examples/scripts/rollup-plugin-config/generate-config.js @@ -1,10 +1,10 @@ -import fs from 'fs'; -import path from 'path'; +import fs from "fs"; +import path from "path"; export default function generateConfig() { - const playgroundPath = path.resolve('playgroundEx', '../examples'); + const playgroundPath = path.resolve("playgroundEx", "../examples"); const files = fs.readdirSync(playgroundPath); - const topics = files.filter((item) => !item.includes('.')); + const topics = files.filter((item) => !item.includes(".")); const jsonConfig = { topic: [], }; @@ -12,7 +12,7 @@ export default function generateConfig() { for (const topic of topics) { const p = path.resolve(`${playgroundPath}/${topic}`); const children = fs.readdirSync(p); - const filterChildren = children.filter((item) => !item.includes('.')); + const filterChildren = children.filter((item) => !item.includes(".")); // const p1 = path.resolve(`${playgroundPath}/${topic}/config.json`); // const conf = JSON.parse(fs.readFileSync(p1, 'utf-8')); const conf = { @@ -22,7 +22,7 @@ export default function generateConfig() { for (const child of filterChildren) { const examples = fs.readFileSync( `${playgroundPath}/${topic}/${child}/config.json`, - 'utf-8', + "utf-8" ); conf.children.push(JSON.parse(examples)); } diff --git a/examples/scripts/rollup-plugin-config/rollup-plugin-config-json.js b/examples/scripts/rollup-plugin-config/rollup-plugin-config-json.js index 57cc0e0..ed9ac87 100644 --- a/examples/scripts/rollup-plugin-config/rollup-plugin-config-json.js +++ b/examples/scripts/rollup-plugin-config/rollup-plugin-config-json.js @@ -1,11 +1,11 @@ -import fs from 'fs'; -import path from 'path'; -import generateConfig from './generate-config'; +import fs from "fs"; +import path from "path"; +import generateConfig from "./generate-config"; function generateExamplesConfig() { return new Promise((resolve) => { const jsonConfig = generateConfig(); - const targetDir = path.resolve('examples/config.json'); + const targetDir = path.resolve("examples/config.json"); fs.writeFileSync(targetDir, JSON.stringify(jsonConfig)); resolve(); }); @@ -13,8 +13,8 @@ function generateExamplesConfig() { export default function examplesConfig() { return { - name: 'generateExamplesConfig', - buildStart: async () => { + name: "generateExamplesConfig", + buildStart: async function () { await generateExamplesConfig(); }, }; diff --git a/examples/scripts/rollup-plugin-playground/generate-playground-json.mjs b/examples/scripts/rollup-plugin-playground/generate-playground-json.mjs index f2050fe..87264be 100644 --- a/examples/scripts/rollup-plugin-playground/generate-playground-json.mjs +++ b/examples/scripts/rollup-plugin-playground/generate-playground-json.mjs @@ -1,5 +1,5 @@ -import path from 'path'; -import fs from 'fs'; +import path from "path"; +import fs from "fs"; function findPath(data) { if (!data) return; @@ -27,31 +27,33 @@ function findPath(data) { } export default function generatePlaygroundJson() { - const configPath = path.resolve('playgroundEx', '../examples/config.json'); - const topics = JSON.parse(fs.readFileSync(configPath, 'utf-8')); + const configPath = path.resolve("playgroundEx", "../examples/config.json"); + const topics = JSON.parse(fs.readFileSync(configPath, "utf-8")); const playgroundPath = findPath(topics.topic); - const playgroundPathStr = playgroundPath.map((item) => item.join('/')); + const playgroundPathStr = playgroundPath.map((item) => item.join("/")); const jsonObject = {}; for (let index = 0; index < playgroundPathStr.length; index++) { const jsonFiles = {}; const p = path.resolve( - 'playgroundEx', - '../examples', - playgroundPathStr[index], + "playgroundEx", + "../examples", + playgroundPathStr[index] ); - const files = fs.readdirSync(p); - files.forEach((file) => { - const filePath = path.resolve(p, file); - const content = fs.readFileSync(filePath, 'utf8'); - jsonFiles[file] = { - content, + if (fs.existsSync(p)) { + const files = fs.readdirSync(p); + files.forEach((file) => { + const filePath = path.resolve(p, file); + const content = fs.readFileSync(filePath, "utf8"); + jsonFiles[file] = { + content, + }; + }); + const el = playgroundPath[index]; + jsonObject[el[el.length - 1]] = { + files: jsonFiles, }; - }); - const el = playgroundPath[index]; - jsonObject[el[el.length - 1]] = { - files: jsonFiles, - }; + } } return jsonObject; } diff --git a/examples/scripts/rollup-plugin-playground/rollup-plugin-playground-json.js b/examples/scripts/rollup-plugin-playground/rollup-plugin-playground-json.js index bbd0c95..c52c26d 100644 --- a/examples/scripts/rollup-plugin-playground/rollup-plugin-playground-json.js +++ b/examples/scripts/rollup-plugin-playground/rollup-plugin-playground-json.js @@ -1,10 +1,10 @@ -import fs from 'fs'; -import path from 'path'; -import generatePlaygroundJson from './generate-playground-json.mjs'; +import fs from "fs"; +import path from "path"; +import generatePlaygroundJson from "./generate-playground-json.mjs"; function copyPlaygroundJson() { return new Promise((resolve) => { - const targetDir = path.resolve('public/playground_json'); + const targetDir = path.resolve("public/playground_json"); const jsonObject = generatePlaygroundJson(); Object.keys(jsonObject).forEach((key) => { const exampleJsonPath = path.resolve(targetDir, `${key}.playground.json`); @@ -16,7 +16,7 @@ function copyPlaygroundJson() { export default function playgroundJson() { return { - name: 'playgroundJson', + name: "playgroundJson", buildStart: async () => { await copyPlaygroundJson(); }, diff --git a/examples/scripts/screenshot.js b/examples/scripts/screenshot.js index e7be3df..82e392a 100644 --- a/examples/scripts/screenshot.js +++ b/examples/scripts/screenshot.js @@ -1,73 +1,73 @@ -// import fs from "fs"; -// import path from "path"; -// import ora from "ora"; -// const spinner = ora({ text: "wait a minute..." }); +import fs from "fs"; +import path from "path"; +import ora from "ora"; +const spinner = ora({ text: "wait a minute..." }); -// import puppeteer from "puppeteer"; +import puppeteer from "puppeteer"; -// const port = "5000"; +const port = "5000"; -// const waitTime = (time = 100) => { -// return new Promise((resolve) => { -// setTimeout(() => { -// resolve(true); -// }, time); -// }); -// }; +const waitTime = (time = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; -// function findPath(data) { -// if (!data) return; -// const res = []; -// const backTracking = (data, path) => { -// const tmp = data.children || data.examples; -// if (tmp) { -// path.push(data.key || data.name); -// tmp.forEach((i) => { -// backTracking(i, path); -// }); -// path.pop(); -// } else { -// res.push(data.key); -// } -// }; -// data.forEach((item) => { -// const path = []; -// backTracking(item, path); -// }); -// return res; -// } +function findPath(data) { + if (!data) return; + const res = []; + const backTracking = (data, path) => { + const tmp = data.children || data.examples; + if (tmp) { + path.push(data.key || data.name); + tmp.forEach((i) => { + backTracking(i, path); + }); + path.pop(); + } else { + res.push(data.key); + } + }; + data.forEach((item) => { + const path = []; + backTracking(item, path); + }); + return res; +} -// async function scrape() { -// const browser = await puppeteer.launch({ headless: true }); -// const p = path.resolve("playgroundEx", "../examples/config.json"); -// const config = JSON.parse(fs.readFileSync(p)); -// const examples = findPath(config.topic); -// for (const example of examples) { -// const pages = await browser.pages(); -// const page = pages[0]; -// try { -// spinner.start(); -// await page.setViewport({ -// width: 1920, -// height: 1080, -// deviceScaleFactor: 1, -// }); -// await page.goto( -// `http://127.0.0.1:${port}/examples/#/playground#${example}` -// ); -// await waitTime(4000); -// const rs = await page.$eval(".urlDiv", (el) => el.textContent); -// const iframe = await browser.newPage(); -// await iframe.goto(rs); -// await iframe.screenshot({ -// path: `src/screenshots/${example}.png`, -// }); -// await page.close(); -// spinner.succeed(`Screenshot of ${example} saved!`); -// } catch (error) { -// spinner.error(`Could not save screenshot of ${example}!`); -// } -// } -// await browser.close(); -// } -// scrape(); +async function scrape() { + const browser = await puppeteer.launch({ headless: true }); + const p = path.resolve("playgroundEx", "../examples/config.json"); + const config = JSON.parse(fs.readFileSync(p)); + const examples = findPath(config.topic); + for (const example of examples) { + const pages = await browser.pages(); + const page = pages[0]; + try { + spinner.start(); + await page.setViewport({ + width: 1920, + height: 1080, + deviceScaleFactor: 1, + }); + await page.goto( + `http://127.0.0.1:${port}/examples/#/playground#${example}` + ); + await waitTime(4000); + const rs = await page.$eval(".urlDiv", (el) => el.textContent); + const iframe = await browser.newPage(); + await iframe.goto(rs); + await iframe.screenshot({ + path: `src/screenshots/${example}.png`, + }); + await page.close(); + spinner.succeed(`Screenshot of ${example} saved!`); + } catch (error) { + spinner.error(`Could not save screenshot of ${example}!`); + } + } + await browser.close(); +} +scrape(); diff --git a/examples/src/assets/icon/new-logo.png b/examples/src/assets/icon/new-logo.png new file mode 100644 index 0000000..ddd4e1d Binary files /dev/null and b/examples/src/assets/icon/new-logo.png differ diff --git a/examples/src/components/SideBar/MenuItem.vue b/examples/src/components/SideBar/MenuItem.vue index 43d8957..1d7fa36 100644 --- a/examples/src/components/SideBar/MenuItem.vue +++ b/examples/src/components/SideBar/MenuItem.vue @@ -16,24 +16,26 @@
- - + - + @click.stop=" + () => { + menuItemEvents.clickItem(`${example.name}`); + menuItemEvents.toggleSelectedByPath(config, data.name); + router.push(`playground#${example.key}`); + } + " + :class="`${example.name} hover-bkg sub-item`" + href="javascript:void(0)" + > + + +
diff --git a/examples/src/screenshots/custom-edge-style.png b/examples/src/screenshots/custom-edge-style.png new file mode 100644 index 0000000..351c7df Binary files /dev/null and b/examples/src/screenshots/custom-edge-style.png differ diff --git a/examples/src/screenshots/custom-edge-type.png b/examples/src/screenshots/custom-edge-type.png new file mode 100644 index 0000000..790584d Binary files /dev/null and b/examples/src/screenshots/custom-edge-type.png differ diff --git a/examples/src/screenshots/custom-html-node.png b/examples/src/screenshots/custom-html-node.png new file mode 100644 index 0000000..8fdcbc5 Binary files /dev/null and b/examples/src/screenshots/custom-html-node.png differ diff --git a/examples/src/screenshots/custom-node-style.png b/examples/src/screenshots/custom-node-style.png new file mode 100644 index 0000000..5f25019 Binary files /dev/null and b/examples/src/screenshots/custom-node-style.png differ diff --git a/examples/src/screenshots/custom-react-node.png b/examples/src/screenshots/custom-react-node.png new file mode 100644 index 0000000..9aa2e6e Binary files /dev/null and b/examples/src/screenshots/custom-react-node.png differ diff --git a/examples/src/screenshots/custom-style.png b/examples/src/screenshots/custom-style.png new file mode 100644 index 0000000..5f25019 Binary files /dev/null and b/examples/src/screenshots/custom-style.png differ diff --git a/examples/src/screenshots/custom-svg-node.png b/examples/src/screenshots/custom-svg-node.png new file mode 100644 index 0000000..4b25f53 Binary files /dev/null and b/examples/src/screenshots/custom-svg-node.png differ diff --git a/examples/src/screenshots/custom-vue-node.png b/examples/src/screenshots/custom-vue-node.png new file mode 100644 index 0000000..4a7c479 Binary files /dev/null and b/examples/src/screenshots/custom-vue-node.png differ diff --git a/examples/src/screenshots/mind-mapping.png b/examples/src/screenshots/mind-mapping.png new file mode 100644 index 0000000..5ef9e12 Binary files /dev/null and b/examples/src/screenshots/mind-mapping.png differ diff --git a/examples/src/screenshots/organization.png b/examples/src/screenshots/organization.png new file mode 100644 index 0000000..e184d01 Binary files /dev/null and b/examples/src/screenshots/organization.png differ diff --git a/examples/src/views/Gallery/index.vue b/examples/src/views/Gallery/index.vue index 3059a8b..805ff9c 100644 --- a/examples/src/views/Gallery/index.vue +++ b/examples/src/views/Gallery/index.vue @@ -14,12 +14,31 @@ :key="example.key" class="case" :id="example.key" - @click="jumpTo(example.key)" > -
- -
-
{{ example.name }}
+ + @@ -31,20 +50,29 @@ import { inject } from "vue"; import { useRouter } from "vue-router"; const router = useRouter(); -const jumpTo = (hash) => { - type.value = "thumbnail"; - router.push({ - name: "Playground", - hash: `#${hash}`, - }); +const jumpTo = (example) => { + const { mode, key, link } = example; + if (mode === "playground") { + type.value = "thumbnail"; + router.push({ + name: "Playground", + hash: `#${key}`, + }); + } else { + window.open(link); + } }; const config = inject("originConfig"); const type = inject("type"); const screenshots = inject("screenshots"); const handleSrc = (name) => { - return import.meta.env.MODE === "production" - ? screenshots(name) - : `src/screenshots/${name}.png`; + try { + return import.meta.env.MODE === "production" + ? screenshots(name) + : `src/screenshots/${name}.png`; + } catch (error) { + return "src/assets/icon/new-logo.png"; + } };