├── public
├── favicon.png
├── img
│ ├── preview.jpg
│ └── logo.svg
└── favicon.svg
├── .vscode
└── extensions.json
├── postcss.config.js
├── src
├── main.js
├── assets
│ ├── main.scss
│ ├── logo.svg
│ ├── israel.svg
│ └── embed.scss
├── components
│ ├── AppHeader.vue
│ ├── Captcha.vue
│ ├── IsraelLogo.vue
│ └── AppFooter.vue
├── embed.js
├── App.vue
└── composables
│ └── confetti.ts
├── demo
├── assets
│ ├── embed.js
│ ├── main.css
│ └── main.js
└── index.html
├── .gitignore
├── tailwind.config.js
├── package.json
├── index.html
├── vite.config.js
└── README.md
/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yiddishe-Kop/support-israel-captcha/HEAD/public/favicon.png
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/public/img/preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yiddishe-Kop/support-israel-captcha/HEAD/public/img/preview.jpg
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import "./assets/main.scss";
2 |
3 | import { createApp } from "vue";
4 | import App from "./App.vue";
5 |
6 | createApp(App).mount("#app");
7 |
--------------------------------------------------------------------------------
/src/assets/main.scss:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700;800&display=swap");
2 |
3 | @tailwind base;
4 | @tailwind components;
5 | @tailwind utilities;
6 |
--------------------------------------------------------------------------------
/demo/assets/embed.js:
--------------------------------------------------------------------------------
1 | import{c as o,_ as t}from"./main.js";document.addEventListener("DOMContentLoaded",function(){const n=window.captchaContainerId||"captcha-container";console.log({containerId:n}),o(t).mount(`#${n}`)});
2 |
--------------------------------------------------------------------------------
/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | const defaultTheme = require("tailwindcss/defaultTheme");
2 |
3 | /** @type {import('tailwindcss').Config} */
4 | module.exports = {
5 | content: ["./src/**/*.{html,js,vue}"],
6 | important: ".captcha-embed", // prevent styles from leaking into the parent page
7 | theme: {
8 | extend: {
9 | fontFamily: {
10 | sans: ["Open Sans", ...defaultTheme.fontFamily.sans],
11 | mono: ["Fira Code", ...defaultTheme.fontFamily.mono],
12 | },
13 | },
14 | },
15 | plugins: [],
16 | };
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "israel-captcha",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "dependencies": {
11 | "vue": "^3.3.4"
12 | },
13 | "devDependencies": {
14 | "@vitejs/plugin-vue": "^4.4.0",
15 | "autoprefixer": "^10.4.16",
16 | "canvas-confetti": "^1.9.0",
17 | "postcss": "^8.4.31",
18 | "sass": "^1.69.5",
19 | "tailwindcss": "^3.3.5",
20 | "vite": "^4.4.11"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Captcha
8 |
9 |
10 | Hello World!
11 |
12 |
15 |
19 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Support Israel Captcha
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/components/AppHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
10 |
11 |
12 | Support Israel
13 |
14 |
17 | in its war against terror
18 |
19 |
22 | Share the truth & show the world!
23 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from "node:url";
2 | import { defineConfig } from "vite";
3 | import vue from "@vitejs/plugin-vue";
4 | const path = require("path");
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [vue()],
9 | resolve: {
10 | alias: {
11 | "@": fileURLToPath(new URL("./src", import.meta.url)),
12 | },
13 | },
14 | build: {
15 | rollupOptions: {
16 | input: {
17 | embed: fileURLToPath(new URL("./src/embed.js", import.meta.url)),
18 | demo: fileURLToPath(new URL("./index.html", import.meta.url)),
19 | },
20 | output: {
21 | entryFileNames: `assets/[name].js`,
22 | chunkFileNames: `assets/[name].js`,
23 | assetFileNames: `assets/[name].[ext]`,
24 | },
25 | },
26 | },
27 | // build: {
28 | // lib: {
29 | // entry: path.resolve(__dirname, "src/embed.js"),
30 | // name: "embed",
31 | // formats: ["es", "cjs"],
32 | // fileName: (format) => `embed.${format}.js`,
33 | // },
34 | // },
35 | // define: {
36 | // "process.env": {},
37 | // },
38 | });
39 |
--------------------------------------------------------------------------------
/src/assets/israel.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/src/embed.js:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue";
2 | import Captcha from "./components/Captcha.vue";
3 | import "./assets/embed.scss";
4 |
5 | function getScriptUrl() {
6 | return new URL(import.meta.url);
7 | }
8 |
9 | function loadStyles() {
10 | const url = getScriptUrl();
11 | const style = document.createElement("link");
12 | style.rel = "stylesheet";
13 | style.href = `${url.origin}/assets/embed.css`;
14 | document.head.appendChild(style);
15 | }
16 |
17 | function mountIsraelCaptcha(props = {}) {
18 | loadStyles();
19 | const containerId = window.captchaContainerId || "captcha-container";
20 | createApp(Captcha, props).mount(`#${containerId}`);
21 | console.log("captcha mounted", props);
22 | }
23 |
24 | // Mount the captcha manually using the global function
25 | window.mountIsraelCaptcha = mountIsraelCaptcha;
26 |
27 | const urlParams = getScriptUrl().searchParams;
28 | const shouldAutoMount = urlParams.get("mount");
29 | const hideInfo = !!urlParams.get("hide_info");
30 | console.log({ url: getScriptUrl(), urlParams, shouldAutoMount, hideInfo });
31 |
32 | if (shouldAutoMount) {
33 | document.addEventListener("DOMContentLoaded", function () {
34 | mountIsraelCaptcha({
35 | hideInfo,
36 | });
37 | });
38 | }
39 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Prove That Your Visitors Are Human
2 |
3 | An embedabble Captcha that asks your site visitors to prove that they are human by supporting Israel.
4 |
5 | ## How To Embed
6 |
7 | You can embed this Captcha anywhere on the web with just 2 lines of
8 | code.
9 |
10 | ```html
11 |
12 |
16 | ```
17 |
18 | Simply add these 2 lines of code anywhere you would like to embed the Captcha.
19 |
20 | ## Embed with JS only
21 |
22 | If you prefer to embed the Captcha with JavaScript only, you can do so like this:
23 |
24 | ```js
25 | const script = document.createElement("script");
26 | script.src = "https://support-israel-captcha.vercel.app/assets/embed.js";
27 | script.type = "module";
28 | script.onload = () => {
29 | window.mountIsraelCaptcha("captcha-container");
30 | };
31 | document.head.appendChild(script);
32 | ```
33 |
34 | ## Customize The Id
35 |
36 | By default the Captcha is mounted on the HTML element with the id of `captcha-container`.
37 |
38 | If you want to mount the Captcha on a different element, you can customize the mount point by configuring your id like so:
39 |
40 | ```html
41 |
42 |
45 |
49 | ```
50 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Prove That Your Visitors
7 | Are Human
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | The above is a demo of an embedabble Captcha that asks your site
16 | visitors to prove that they are human by supporting Israel.
17 |
18 | How To Embed
19 |
20 | You can embed this Captcha anywhere on the web with just 2 lines of
21 | code.
22 |
23 |
24 |
{{
25 | embedCode
26 | }}
27 |
28 |
29 | Simply add these 2 lines of code anywhere you would like to embed the
30 | Captcha.
31 |
32 | Embed with JS only
33 |
34 | If you prefer to embed the Captcha with JavaScript only, you can do so
35 | like this:
36 |
37 | {{ jsEmbedCode }}
38 | Customize The Id
39 |
40 | By default the Captcha is mounted on the HTML element with the id of captcha-container
41 |
42 |
43 | If you want to mount the Captcha on a different element, you can customize the mount point by configuring your id like so:
44 |
45 |
46 |
{{
47 | customEmbedCode
48 | }}
49 |
50 |
51 | Share this page with your friends and colleagues to help spread the word.
52 |
53 |
54 |
55 |
56 |
57 |
58 |
81 |
82 |
98 |
--------------------------------------------------------------------------------
/src/composables/confetti.ts:
--------------------------------------------------------------------------------
1 | import Confetti from "canvas-confetti";
2 |
3 | const themeColors = ["#ffffff", "#0038B8"];
4 |
5 | const randomBetween = (min, max) => {
6 | min = Math.ceil(min);
7 | max = Math.floor(max);
8 | return Math.floor(Math.random() * (max - min + 1)) + min;
9 | };
10 |
11 | export const confettiBurst = (
12 | el: HTMLElement | null = null,
13 | short = false,
14 | particleCount: number | null = null
15 | ) => {
16 | const origin = { x: 0.5, y: 0.6 };
17 | if (el) {
18 | const box = el.getBoundingClientRect();
19 |
20 | const centerX = box.left + box.width / 2;
21 | const centerY = box.top + box.height / 2;
22 |
23 | origin.x = centerX / window.innerWidth;
24 | origin.y = centerY / window.innerHeight;
25 | }
26 |
27 | particleCount = particleCount === null ? 20 : particleCount;
28 |
29 | if (short) {
30 | Confetti({
31 | particleCount,
32 | spread: 70,
33 | origin,
34 | colors: themeColors,
35 | gravity: 0.5,
36 | startVelocity: 25,
37 | // drift: 1,
38 | shapes: ["star", "circle", "square"],
39 | scalar: 0.95,
40 | });
41 | } else {
42 | Confetti({
43 | particleCount: 500,
44 | spread: 80,
45 | origin,
46 | colors: themeColors,
47 | gravity: 0.5,
48 | });
49 | }
50 | };
51 |
52 | export const fireworks = () => {
53 | const duration = 15 * 1000;
54 | const animationEnd = Date.now() + duration;
55 | const defaults = { startVelocity: 30, spread: 360, ticks: 60 };
56 |
57 | function randomInRange(min, max) {
58 | return Math.random() * (max - min) + min;
59 | }
60 |
61 | const interval = setInterval(function () {
62 | const timeLeft = animationEnd - Date.now();
63 |
64 | if (timeLeft <= 0) {
65 | return clearInterval(interval);
66 | }
67 |
68 | const particleCount = 50 * (timeLeft / duration);
69 | // since particles fall down, start a bit higher than random
70 | Confetti(
71 | Object.assign({}, defaults, {
72 | particleCount,
73 | origin: { x: randomInRange(0.1, 0.3), y: Math.random() - 0.2 },
74 | })
75 | );
76 | Confetti(
77 | Object.assign({}, defaults, {
78 | particleCount,
79 | origin: { x: randomInRange(0.7, 0.9), y: Math.random() - 0.2 },
80 | })
81 | );
82 | }, 250);
83 | };
84 |
85 | export const schoolPride = () => {
86 | const end = Date.now() + 15 * 1000;
87 |
88 | // go Buckeyes!
89 | const colors = ["#d61f69", "#ffffff"];
90 |
91 | (function frame() {
92 | Confetti({
93 | particleCount: 2,
94 | angle: 60,
95 | spread: 55,
96 | origin: { x: 0 },
97 | colors: colors,
98 | });
99 | Confetti({
100 | particleCount: 2,
101 | angle: 120,
102 | spread: 55,
103 | origin: { x: 1 },
104 | colors: colors,
105 | });
106 |
107 | if (Date.now() < end) {
108 | requestAnimationFrame(frame);
109 | }
110 | })();
111 | };
112 |
113 | export const fireRandomConfetti = (el: HTMLElement | null = null) => {
114 | const confettiType = randomBetween(0, 100);
115 | if (confettiType <= 60) {
116 | confettiBurst(el);
117 | } else if (confettiType <= 80) {
118 | fireworks();
119 | } else {
120 | schoolPride();
121 | }
122 | };
123 |
--------------------------------------------------------------------------------
/src/components/Captcha.vue:
--------------------------------------------------------------------------------
1 |
2 |
68 |
69 |
70 |
91 |
92 |
103 |
--------------------------------------------------------------------------------
/public/img/logo.svg:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/src/components/IsraelLogo.vue:
--------------------------------------------------------------------------------
1 |
2 |
71 |
72 |
--------------------------------------------------------------------------------
/demo/assets/main.css:
--------------------------------------------------------------------------------
1 | @import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap";.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Open Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-bottom-1{bottom:-.25rem}.-start-1{inset-inline-start:-.25rem}.start-0{inset-inline-start:0px}.top-0{top:0}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.mt-2{margin-top:.5rem}.mt-\[40vh\]{margin-top:40vh}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-5{height:1.25rem}.h-px{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-px{width:1px}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.border-2{border-width:2px}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-12{padding:3rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pe-6{padding-inline-end:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:border-blue-600:hover{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:text-blue-900:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}
2 |
--------------------------------------------------------------------------------
/src/components/AppFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
55 |
56 |
57 |
60 |
61 |
92 |
--------------------------------------------------------------------------------
/src/assets/embed.scss:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700;800&display=swap");
2 |
3 | .captcha-embed {
4 | /*
5 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
6 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
7 | */
8 |
9 | *,
10 | ::before,
11 | ::after {
12 | box-sizing: border-box; /* 1 */
13 | border-width: 0; /* 2 */
14 | border-style: solid; /* 2 */
15 | border-color: theme("borderColor.DEFAULT", currentColor); /* 2 */
16 | }
17 |
18 | ::before,
19 | ::after {
20 | --tw-content: "";
21 | }
22 |
23 | /*
24 | 1. Use a consistent sensible line-height in all browsers.
25 | 2. Prevent adjustments of font size after orientation changes in iOS.
26 | 3. Use a more readable tab size.
27 | 4. Use the user's configured `sans` font-family by default.
28 | 5. Use the user's configured `sans` font-feature-settings by default.
29 | 6. Use the user's configured `sans` font-variation-settings by default.
30 | */
31 |
32 | html {
33 | line-height: 1.5; /* 1 */
34 | -webkit-text-size-adjust: 100%; /* 2 */
35 | -moz-tab-size: 4; /* 3 */
36 | tab-size: 4; /* 3 */
37 | font-family: theme(
38 | "fontFamily.sans",
39 | ui-sans-serif,
40 | system-ui,
41 | -apple-system,
42 | BlinkMacSystemFont,
43 | "Segoe UI",
44 | Roboto,
45 | "Helvetica Neue",
46 | Arial,
47 | "Noto Sans",
48 | sans-serif,
49 | "Apple Color Emoji",
50 | "Segoe UI Emoji",
51 | "Segoe UI Symbol",
52 | "Noto Color Emoji"
53 | ); /* 4 */
54 | font-feature-settings: theme(
55 | "fontFamily.sans[1].fontFeatureSettings",
56 | normal
57 | ); /* 5 */
58 | font-variation-settings: theme(
59 | "fontFamily.sans[1].fontVariationSettings",
60 | normal
61 | ); /* 6 */
62 | }
63 |
64 | /*
65 | 1. Remove the margin in all browsers.
66 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
67 | */
68 |
69 | body {
70 | margin: 0; /* 1 */
71 | line-height: inherit; /* 2 */
72 | }
73 |
74 | /*
75 | 1. Add the correct height in Firefox.
76 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
77 | 3. Ensure horizontal rules are visible by default.
78 | */
79 |
80 | hr {
81 | height: 0; /* 1 */
82 | color: inherit; /* 2 */
83 | border-top-width: 1px; /* 3 */
84 | }
85 |
86 | /*
87 | Add the correct text decoration in Chrome, Edge, and Safari.
88 | */
89 |
90 | abbr:where([title]) {
91 | text-decoration: underline dotted;
92 | }
93 |
94 | /*
95 | Remove the default font size and weight for headings.
96 | */
97 |
98 | h1,
99 | h2,
100 | h3,
101 | h4,
102 | h5,
103 | h6 {
104 | font-size: inherit;
105 | font-weight: inherit;
106 | }
107 |
108 | /*
109 | Reset links to optimize for opt-in styling instead of opt-out.
110 | */
111 |
112 | a {
113 | color: inherit;
114 | text-decoration: inherit;
115 | }
116 |
117 | /*
118 | Add the correct font weight in Edge and Safari.
119 | */
120 |
121 | b,
122 | strong {
123 | font-weight: bolder;
124 | }
125 |
126 | /*
127 | 1. Use the user's configured `mono` font family by default.
128 | 2. Correct the odd `em` font sizing in all browsers.
129 | */
130 |
131 | code,
132 | kbd,
133 | samp,
134 | pre {
135 | font-family: theme(
136 | "fontFamily.mono",
137 | ui-monospace,
138 | SFMono-Regular,
139 | Menlo,
140 | Monaco,
141 | Consolas,
142 | "Liberation Mono",
143 | "Courier New",
144 | monospace
145 | ); /* 1 */
146 | font-size: 1em; /* 2 */
147 | }
148 |
149 | /*
150 | Add the correct font size in all browsers.
151 | */
152 |
153 | small {
154 | font-size: 80%;
155 | }
156 |
157 | /*
158 | Prevent `sub` and `sup` elements from affecting the line height in all browsers.
159 | */
160 |
161 | sub,
162 | sup {
163 | font-size: 75%;
164 | line-height: 0;
165 | position: relative;
166 | vertical-align: baseline;
167 | }
168 |
169 | sub {
170 | bottom: -0.25em;
171 | }
172 |
173 | sup {
174 | top: -0.5em;
175 | }
176 |
177 | /*
178 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
179 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
180 | 3. Remove gaps between table borders by default.
181 | */
182 |
183 | table {
184 | text-indent: 0; /* 1 */
185 | border-color: inherit; /* 2 */
186 | border-collapse: collapse; /* 3 */
187 | }
188 |
189 | /*
190 | 1. Change the font styles in all browsers.
191 | 2. Remove the margin in Firefox and Safari.
192 | 3. Remove default padding in all browsers.
193 | */
194 |
195 | button,
196 | input,
197 | optgroup,
198 | select,
199 | textarea {
200 | font-family: inherit; /* 1 */
201 | font-feature-settings: inherit; /* 1 */
202 | font-variation-settings: inherit; /* 1 */
203 | font-size: 100%; /* 1 */
204 | font-weight: inherit; /* 1 */
205 | line-height: inherit; /* 1 */
206 | color: inherit; /* 1 */
207 | margin: 0; /* 2 */
208 | padding: 0; /* 3 */
209 | }
210 |
211 | /*
212 | Remove the inheritance of text transform in Edge and Firefox.
213 | */
214 |
215 | button,
216 | select {
217 | text-transform: none;
218 | }
219 |
220 | /*
221 | 1. Correct the inability to style clickable types in iOS and Safari.
222 | 2. Remove default button styles.
223 | */
224 |
225 | button,
226 | [type="button"],
227 | [type="reset"],
228 | [type="submit"] {
229 | -webkit-appearance: button; /* 1 */
230 | background-color: transparent; /* 2 */
231 | background-image: none; /* 2 */
232 | }
233 |
234 | /*
235 | Use the modern Firefox focus style for all focusable elements.
236 | */
237 |
238 | :-moz-focusring {
239 | outline: auto;
240 | }
241 |
242 | /*
243 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
244 | */
245 |
246 | :-moz-ui-invalid {
247 | box-shadow: none;
248 | }
249 |
250 | /*
251 | Add the correct vertical alignment in Chrome and Firefox.
252 | */
253 |
254 | progress {
255 | vertical-align: baseline;
256 | }
257 |
258 | /*
259 | Correct the cursor style of increment and decrement buttons in Safari.
260 | */
261 |
262 | ::-webkit-inner-spin-button,
263 | ::-webkit-outer-spin-button {
264 | height: auto;
265 | }
266 |
267 | /*
268 | 1. Correct the odd appearance in Chrome and Safari.
269 | 2. Correct the outline style in Safari.
270 | */
271 |
272 | [type="search"] {
273 | -webkit-appearance: textfield; /* 1 */
274 | outline-offset: -2px; /* 2 */
275 | }
276 |
277 | /*
278 | Remove the inner padding in Chrome and Safari on macOS.
279 | */
280 |
281 | ::-webkit-search-decoration {
282 | -webkit-appearance: none;
283 | }
284 |
285 | /*
286 | 1. Correct the inability to style clickable types in iOS and Safari.
287 | 2. Change font properties to `inherit` in Safari.
288 | */
289 |
290 | ::-webkit-file-upload-button {
291 | -webkit-appearance: button; /* 1 */
292 | font: inherit; /* 2 */
293 | }
294 |
295 | /*
296 | Add the correct display in Chrome and Safari.
297 | */
298 |
299 | summary {
300 | display: list-item;
301 | }
302 |
303 | /*
304 | Removes the default spacing and border for appropriate elements.
305 | */
306 |
307 | blockquote,
308 | dl,
309 | dd,
310 | h1,
311 | h2,
312 | h3,
313 | h4,
314 | h5,
315 | h6,
316 | hr,
317 | figure,
318 | p,
319 | pre {
320 | margin: 0;
321 | }
322 |
323 | fieldset {
324 | margin: 0;
325 | padding: 0;
326 | }
327 |
328 | legend {
329 | padding: 0;
330 | }
331 |
332 | ol,
333 | ul,
334 | menu {
335 | list-style: none;
336 | margin: 0;
337 | padding: 0;
338 | }
339 |
340 | /*
341 | Reset default styling for dialogs.
342 | */
343 | dialog {
344 | padding: 0;
345 | }
346 |
347 | /*
348 | Prevent resizing textareas horizontally by default.
349 | */
350 |
351 | textarea {
352 | resize: vertical;
353 | }
354 |
355 | /*
356 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
357 | 2. Set the default placeholder color to the user's configured gray 400 color.
358 | */
359 |
360 | input::placeholder,
361 | textarea::placeholder {
362 | opacity: 1; /* 1 */
363 | color: theme("colors.gray.400", #9ca3af); /* 2 */
364 | }
365 |
366 | /*
367 | Set the default cursor for buttons.
368 | */
369 |
370 | button,
371 | [role="button"] {
372 | cursor: pointer;
373 | }
374 |
375 | /*
376 | Make sure disabled buttons don't get the pointer cursor.
377 | */
378 | :disabled {
379 | cursor: default;
380 | }
381 |
382 | /*
383 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
384 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
385 | This can trigger a poorly considered lint error in some tools but is included by design.
386 | */
387 |
388 | img,
389 | svg,
390 | video,
391 | canvas,
392 | audio,
393 | iframe,
394 | embed,
395 | object {
396 | display: block; /* 1 */
397 | vertical-align: middle; /* 2 */
398 | }
399 |
400 | /*
401 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
402 | */
403 |
404 | img,
405 | video {
406 | max-width: 100%;
407 | height: auto;
408 | }
409 |
410 | /* Make elements with the HTML hidden attribute stay hidden by default */
411 | [hidden] {
412 | display: none;
413 | }
414 | }
415 |
416 | @tailwind components;
417 | @tailwind utilities;
418 |
--------------------------------------------------------------------------------
/demo/assets/main.js:
--------------------------------------------------------------------------------
1 | function Un(e,t){const n=Object.create(null),r=e.split(",");for(let s=0;s!!n[s.toLowerCase()]:s=>!!n[s]}const re={},pt=[],Ne=()=>{},Ys=()=>!1,Xs=/^on[^a-z]/,nn=e=>Xs.test(e),Kn=e=>e.startsWith("onUpdate:"),ge=Object.assign,zn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qs=Object.prototype.hasOwnProperty,W=(e,t)=>Qs.call(e,t),R=Array.isArray,Ft=e=>Ht(e)==="[object Map]",$n=e=>Ht(e)==="[object Set]",fr=e=>Ht(e)==="[object Date]",z=e=>typeof e=="function",me=e=>typeof e=="string",bt=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",Gr=e=>(ae(e)||z(e))&&z(e.then)&&z(e.catch),Gs=Object.prototype.toString,Ht=e=>Gs.call(e),eo=e=>Ht(e).slice(8,-1),to=e=>Ht(e)==="[object Object]",kn=e=>me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wt=Un(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},no=/-(\w)/g,vt=rn(e=>e.replace(no,(t,n)=>n?n.toUpperCase():"")),ro=/\B([A-Z])/g,xt=rn(e=>e.replace(ro,"-$1").toLowerCase()),es=rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=rn(e=>e?`on${es(e)}`:""),dt=(e,t)=>!Object.is(e,t),Vt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},so=e=>{const t=parseFloat(e);return isNaN(t)?e:t},oo=e=>{const t=me(e)?Number(e):NaN;return isNaN(t)?e:t};let ur;const Mn=()=>ur||(ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wn(e){if(R(e)){const t={};for(let n=0;n{if(n){const r=n.split(lo);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function sn(e){let t="";if(me(e))t=e;else if(R(e))for(let n=0;non(n,t))}let Re;class po{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Re,!t&&Re&&(this.index=(Re.scopes||(Re.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Re;try{return Re=this,t()}finally{Re=n}}}on(){Re=this}off(){Re=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},rs=e=>(e.w&Ge)>0,ss=e=>(e.n&Ge)>0,bo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(g==="length"||!bt(g)&&g>=f)&&c.push(h)})}else switch(n!==void 0&&c.push(i.get(n)),t){case"add":R(e)?kn(n)&&c.push(i.get("length")):(c.push(i.get(ft)),Ft(e)&&c.push(i.get(In)));break;case"delete":R(e)||(c.push(i.get(ft)),Ft(e)&&c.push(i.get(In)));break;case"set":Ft(e)&&c.push(i.get(ft));break}if(c.length===1)c[0]&&Fn(c[0]);else{const f=[];for(const h of c)h&&f.push(...h);Fn(Vn(f))}}function Fn(e,t){const n=R(e)?e:[...e];for(const r of n)r.computed&&hr(r);for(const r of n)r.computed||hr(r)}function hr(e,t){(e!==Le||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const _o=Un("__proto__,__v_isRef,__isVue"),ls=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt)),pr=yo();function yo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=V(this);for(let o=0,i=this.length;o{e[t]=function(...n){wt();const r=V(this)[t].apply(this,n);return Ct(),r}}),e}function xo(e){const t=V(this);return Me(t,"has",e),t.hasOwnProperty(e)}class cs{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw"&&r===(s?o?So:ds:o?us:fs).get(t))return t;const i=R(t);if(!s){if(i&&W(pr,n))return Reflect.get(pr,n,r);if(n==="hasOwnProperty")return xo}const c=Reflect.get(t,n,r);return(bt(n)?ls.has(n):_o(n))||(s||Me(t,"get",n),o)?c:ye(c)?i&&kn(n)?c:c.value:ae(c)?s?hs(c):Yn(c):c}}class as extends cs{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(_t(o)&&ye(o)&&!ye(r))return!1;if(!this._shallow&&(!Qt(r)&&!_t(r)&&(o=V(o),r=V(r)),!R(t)&&ye(o)&&!ye(r)))return o.value=r,!0;const i=R(t)&&kn(n)?Number(n)e,ln=e=>Reflect.getPrototypeOf(e);function jt(e,t,n=!1,r=!1){e=e.__v_raw;const s=V(e),o=V(t);n||(dt(t,o)&&Me(s,"get",t),Me(s,"get",o));const{has:i}=ln(s),c=r?Zn:n?Qn:Ot;if(i.call(s,t))return c(e.get(t));if(i.call(s,o))return c(e.get(o));e!==s&&e.get(t)}function Dt(e,t=!1){const n=this.__v_raw,r=V(n),s=V(e);return t||(dt(e,s)&&Me(r,"has",e),Me(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Ut(e,t=!1){return e=e.__v_raw,!t&&Me(V(e),"iterate",ft),Reflect.get(e,"size",e)}function gr(e){e=V(e);const t=V(this);return ln(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function mr(e,t){t=V(t);const n=V(this),{has:r,get:s}=ln(n);let o=r.call(n,e);o||(e=V(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?dt(t,i)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function br(e){const t=V(this),{has:n,get:r}=ln(t);let s=n.call(t,e);s||(e=V(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&$e(t,"delete",e,void 0),o}function vr(){const e=V(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Kt(e,t){return function(r,s){const o=this,i=o.__v_raw,c=V(i),f=t?Zn:e?Qn:Ot;return!e&&Me(c,"iterate",ft),i.forEach((h,g)=>r.call(s,f(h),f(g),o))}}function zt(e,t,n){return function(...r){const s=this.__v_raw,o=V(s),i=Ft(o),c=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,h=s[e](...r),g=n?Zn:t?Qn:Ot;return!t&&Me(o,"iterate",f?In:ft),{next(){const{value:y,done:w}=h.next();return w?{value:y,done:w}:{value:c?[g(y[0]),g(y[1])]:g(y),done:w}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:this}}function To(){const e={get(o){return jt(this,o)},get size(){return Ut(this)},has:Dt,add:gr,set:mr,delete:br,clear:vr,forEach:Kt(!1,!1)},t={get(o){return jt(this,o,!1,!0)},get size(){return Ut(this)},has:Dt,add:gr,set:mr,delete:br,clear:vr,forEach:Kt(!1,!0)},n={get(o){return jt(this,o,!0)},get size(){return Ut(this,!0)},has(o){return Dt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Kt(!0,!1)},r={get(o){return jt(this,o,!0,!0)},get size(){return Ut(this,!0)},has(o){return Dt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=zt(o,!1,!1),n[o]=zt(o,!0,!1),t[o]=zt(o,!1,!0),r[o]=zt(o,!0,!0)}),[e,n,t,r]}const[Io,Fo,Ao,Po]=To();function Jn(e,t){const n=t?e?Po:Ao:e?Fo:Io;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(W(n,s)&&s in r?n:r,s,o)}const Oo={get:Jn(!1,!1)},Ro={get:Jn(!1,!0)},Lo={get:Jn(!0,!1)},fs=new WeakMap,us=new WeakMap,ds=new WeakMap,So=new WeakMap;function No(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bo(e){return e.__v_skip||!Object.isExtensible(e)?0:No(eo(e))}function Yn(e){return _t(e)?e:Xn(e,!1,Co,Oo,fs)}function Ho(e){return Xn(e,!1,Eo,Ro,us)}function hs(e){return Xn(e,!0,Mo,Lo,ds)}function Xn(e,t,n,r,s){if(!ae(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=Bo(e);if(i===0)return e;const c=new Proxy(e,i===2?r:n);return s.set(e,c),c}function gt(e){return _t(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function Qt(e){return!!(e&&e.__v_isShallow)}function ps(e){return gt(e)||_t(e)}function V(e){const t=e&&e.__v_raw;return t?V(t):e}function gs(e){return Xt(e,"__v_skip",!0),e}const Ot=e=>ae(e)?Yn(e):e,Qn=e=>ae(e)?hs(e):e;function ms(e){Xe&&Le&&(e=V(e),is(e.dep||(e.dep=Vn())))}function bs(e,t){e=V(e);const n=e.dep;n&&Fn(n)}function ye(e){return!!(e&&e.__v_isRef===!0)}function _r(e){return jo(e,!1)}function jo(e,t){return ye(e)?e:new Do(e,t)}class Do{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:V(t),this._value=n?t:Ot(t)}get value(){return ms(this),this._value}set value(t){const n=this.__v_isShallow||Qt(t)||_t(t);t=n?t:V(t),dt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),bs(this))}}function Uo(e){return ye(e)?e.value:e}const Ko={get:(e,t,n)=>Uo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ye(s)&&!ye(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function vs(e){return gt(e)?e:new Proxy(e,Ko)}class zo{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new qn(t,()=>{this._dirty||(this._dirty=!0,bs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=V(this);return ms(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function $o(e,t,n=!1){let r,s;const o=z(e);return o?(r=e,s=Ne):(r=e.get,s=e.set),new zo(r,s,o||!s,n)}function Qe(e,t,n,r){let s;try{s=r?e(...r):e()}catch(o){cn(o,t,n)}return s}function Oe(e,t,n,r){if(z(e)){const o=Qe(e,t,n,r);return o&&Gr(o)&&o.catch(i=>{cn(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=_e[r],o=Lt(s);oKe&&_e.splice(t,1)}function Zo(e){R(e)?mt.push(...e):(!ze||!ze.includes(e,e.allowRecurse?it+1:it))&&mt.push(e),ys()}function yr(e,t=Rt?Ke+1:0){for(;t<_e.length;t++){const n=_e[t];n&&n.pre&&(_e.splice(t,1),t--,n())}}function xs(e){if(mt.length){const t=[...new Set(mt)];if(mt.length=0,ze){ze.push(...t);return}for(ze=t,ze.sort((n,r)=>Lt(n)-Lt(r)),it=0;ite.id==null?1/0:e.id,Jo=(e,t)=>{const n=Lt(e)-Lt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ws(e){An=!1,Rt=!0,_e.sort(Jo);const t=Ne;try{for(Ke=0;Ke<_e.length;Ke++){const n=_e[Ke];n&&n.active!==!1&&Qe(n,null,14)}}finally{Ke=0,_e.length=0,xs(),Rt=!1,Gn=null,(_e.length||mt.length)&&ws()}}function Yo(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||re;let s=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in r){const g=`${i==="modelValue"?"model":i}Modifiers`,{number:y,trim:w}=r[g]||re;w&&(s=n.map(A=>me(A)?A.trim():A)),y&&(s=n.map(so))}let c,f=r[c=gn(t)]||r[c=gn(vt(t))];!f&&o&&(f=r[c=gn(xt(t))]),f&&Oe(f,e,6,s);const h=r[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Oe(h,e,6,s)}}function Cs(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},c=!1;if(!z(e)){const f=h=>{const g=Cs(h,t,!0);g&&(c=!0,ge(i,g))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!c?(ae(e)&&r.set(e,null),null):(R(o)?o.forEach(f=>i[f]=null):ge(i,o),ae(e)&&r.set(e,i),i)}function an(e,t){return!e||!nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,xt(t))||W(e,t))}let Pe=null,Ms=null;function Gt(e){const t=Pe;return Pe=e,Ms=e&&e.type.__scopeId||null,t}function Es(e,t=Pe,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Or(-1);const o=Gt(t);let i;try{i=e(...s)}finally{Gt(o),r._d&&Or(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function mn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:c,attrs:f,emit:h,render:g,renderCache:y,data:w,setupState:A,ctx:P,inheritAttrs:O}=e;let X,Q;const te=Gt(e);try{if(n.shapeFlag&4){const B=s||r;X=Ue(g.call(B,B,y,o,A,w,P)),Q=f}else{const B=t;X=Ue(B.length>1?B(o,{attrs:f,slots:c,emit:h}):B(o,null)),Q=t.props?f:Xo(f)}}catch(B){Pt.length=0,cn(B,e,1),X=Ce(Be)}let ne=X;if(Q&&O!==!1){const B=Object.keys(Q),{shapeFlag:fe}=ne;B.length&&fe&7&&(i&&B.some(Kn)&&(Q=Qo(Q,i)),ne=et(ne,Q))}return n.dirs&&(ne=et(ne),ne.dirs=ne.dirs?ne.dirs.concat(n.dirs):n.dirs),n.transition&&(ne.transition=n.transition),X=ne,Gt(te),X}const Xo=e=>{let t;for(const n in e)(n==="class"||n==="style"||nn(n))&&((t||(t={}))[n]=e[n]);return t},Qo=(e,t)=>{const n={};for(const r in e)(!Kn(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Go(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:c,patchFlag:f}=t,h=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return r?xr(r,i,h):!!i;if(f&8){const g=t.dynamicProps;for(let y=0;ye.__isSuspense;function ni(e,t){t&&t.pendingBranch?R(e)?t.effects.push(...e):t.effects.push(e):Zo(e)}const $t={};function qt(e,t,n){return Ts(e,t,n)}function Ts(e,t,{immediate:n,deep:r,flush:s,onTrack:o,onTrigger:i}=re){var c;const f=mo()===((c=be)==null?void 0:c.scope)?be:null;let h,g=!1,y=!1;if(ye(e)?(h=()=>e.value,g=Qt(e)):gt(e)?(h=()=>e,r=!0):R(e)?(y=!0,g=e.some(B=>gt(B)||Qt(B)),h=()=>e.map(B=>{if(ye(B))return B.value;if(gt(B))return at(B);if(z(B))return Qe(B,f,2)})):z(e)?t?h=()=>Qe(e,f,2):h=()=>{if(!(f&&f.isUnmounted))return w&&w(),Oe(e,f,3,[A])}:h=Ne,t&&r){const B=h;h=()=>at(B())}let w,A=B=>{w=te.onStop=()=>{Qe(B,f,4)}},P;if(Nt)if(A=Ne,t?n&&Oe(t,f,3,[h(),y?[]:void 0,A]):h(),s==="sync"){const B=rl();P=B.__watcherHandles||(B.__watcherHandles=[])}else return Ne;let O=y?new Array(e.length).fill($t):$t;const X=()=>{if(te.active)if(t){const B=te.run();(r||g||(y?B.some((fe,Ie)=>dt(fe,O[Ie])):dt(B,O)))&&(w&&w(),Oe(t,f,3,[B,O===$t?void 0:y&&O[0]===$t?[]:O,A]),O=B)}else te.run()};X.allowRecurse=!!t;let Q;s==="sync"?Q=X:s==="post"?Q=()=>we(X,f&&f.suspense):(X.pre=!0,f&&(X.id=f.uid),Q=()=>er(X));const te=new qn(h,Q);t?n?X():O=te.run():s==="post"?we(te.run.bind(te),f&&f.suspense):te.run();const ne=()=>{te.stop(),f&&f.scope&&zn(f.scope.effects,te)};return P&&P.push(ne),ne}function ri(e,t,n){const r=this.proxy,s=me(e)?e.includes(".")?Is(r,e):()=>r[e]:e.bind(r,r);let o;z(t)?o=t:(o=t.handler,n=t);const i=be;yt(this);const c=Ts(s,o.bind(r),n);return i?yt(i):ut(),c}function Is(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{at(n,t)});else if(to(e))for(const n in e)at(e[n],t);return e}function si(e,t){const n=Pe;if(n===null)return e;const r=pn(n)||n.proxy,s=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Ls(()=>{e.isUnmounting=!0}),e}const Ae=[Function,Array],Fs={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ae,onEnter:Ae,onAfterEnter:Ae,onEnterCancelled:Ae,onBeforeLeave:Ae,onLeave:Ae,onAfterLeave:Ae,onLeaveCancelled:Ae,onBeforeAppear:Ae,onAppear:Ae,onAfterAppear:Ae,onAppearCancelled:Ae},ii={name:"BaseTransition",props:Fs,setup(e,{slots:t}){const n=Zi(),r=oi();let s;return()=>{const o=t.default&&Ps(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==Be){i=O;break}}const c=V(e),{mode:f}=c;if(r.isLeaving)return bn(i);const h=wr(i);if(!h)return bn(i);const g=Pn(h,c,r,n);On(h,g);const y=n.subTree,w=y&&wr(y);let A=!1;const{getTransitionKey:P}=h.type;if(P){const O=P();s===void 0?s=O:O!==s&&(s=O,A=!0)}if(w&&w.type!==Be&&(!lt(h,w)||A)){const O=Pn(w,c,r,n);if(On(w,O),f==="out-in")return r.isLeaving=!0,O.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},bn(i);f==="in-out"&&h.type!==Be&&(O.delayLeave=(X,Q,te)=>{const ne=As(r,w);ne[String(w.key)]=w,X[Je]=()=>{Q(),X[Je]=void 0,delete g.delayedLeave},g.delayedLeave=te})}return i}}},li=ii;function As(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Pn(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:h,onEnterCancelled:g,onBeforeLeave:y,onLeave:w,onAfterLeave:A,onLeaveCancelled:P,onBeforeAppear:O,onAppear:X,onAfterAppear:Q,onAppearCancelled:te}=t,ne=String(e.key),B=As(n,e),fe=(K,se)=>{K&&Oe(K,r,9,se)},Ie=(K,se)=>{const G=se[1];fe(K,se),R(K)?K.every(he=>he.length<=1)&&G():K.length<=1&&G()},Fe={mode:o,persisted:i,beforeEnter(K){let se=c;if(!n.isMounted)if(s)se=O||c;else return;K[Je]&&K[Je](!0);const G=B[ne];G&<(e,G)&&G.el[Je]&&G.el[Je](),fe(se,[K])},enter(K){let se=f,G=h,he=g;if(!n.isMounted)if(s)se=X||f,G=Q||h,he=te||g;else return;let T=!1;const ee=K[kt]=ve=>{T||(T=!0,ve?fe(he,[K]):fe(G,[K]),Fe.delayedLeave&&Fe.delayedLeave(),K[kt]=void 0)};se?Ie(se,[K,ee]):ee()},leave(K,se){const G=String(e.key);if(K[kt]&&K[kt](!0),n.isUnmounting)return se();fe(y,[K]);let he=!1;const T=K[Je]=ee=>{he||(he=!0,se(),ee?fe(P,[K]):fe(A,[K]),K[Je]=void 0,B[G]===e&&delete B[G])};B[G]=e,w?Ie(w,[K,T]):T()},clone(K){return Pn(K,t,n,r)}};return Fe}function bn(e){if(fn(e))return e=et(e),e.children=null,e}function wr(e){return fn(e)?e.children?e.children[0]:void 0:e}function On(e,t){e.shapeFlag&6&&e.component?On(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ps(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,fn=e=>e.type.__isKeepAlive;function ci(e,t){Os(e,"a",t)}function ai(e,t){Os(e,"da",t)}function Os(e,t,n=be){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(un(t,r,n),n){let s=n.parent;for(;s&&s.parent;)fn(s.parent.vnode)&&fi(r,t,n,s),s=s.parent}}function fi(e,t,n,r){const s=un(t,e,r,!0);Ss(()=>{zn(r[t],s)},n)}function un(e,t,n=be,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;wt(),yt(n);const c=Oe(t,n,e,i);return ut(),Ct(),c});return r?s.unshift(o):s.push(o),o}}const ke=e=>(t,n=be)=>(!Nt||e==="sp")&&un(e,(...r)=>t(...r),n),ui=ke("bm"),Rs=ke("m"),di=ke("bu"),hi=ke("u"),Ls=ke("bum"),Ss=ke("um"),pi=ke("sp"),gi=ke("rtg"),mi=ke("rtc");function bi(e,t=be){un("ec",e,t)}const vi=Symbol.for("v-ndc"),Rn=e=>e?Ws(e)?pn(e)||e.proxy:Rn(e.parent):null,At=ge(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Rn(e.parent),$root:e=>Rn(e.root),$emit:e=>e.emit,$options:e=>tr(e),$forceUpdate:e=>e.f||(e.f=()=>er(e.update)),$nextTick:e=>e.n||(e.n=Wo.bind(e.proxy)),$watch:e=>ri.bind(e)}),vn=(e,t)=>e!==re&&!e.__isScriptSetup&&W(e,t),_i={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:c,appContext:f}=e;let h;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(vn(r,t))return i[t]=1,r[t];if(s!==re&&W(s,t))return i[t]=2,s[t];if((h=e.propsOptions[0])&&W(h,t))return i[t]=3,o[t];if(n!==re&&W(n,t))return i[t]=4,n[t];Ln&&(i[t]=0)}}const g=At[t];let y,w;if(g)return t==="$attrs"&&Me(e,"get",t),g(e);if((y=c.__cssModules)&&(y=y[t]))return y;if(n!==re&&W(n,t))return i[t]=4,n[t];if(w=f.config.globalProperties,W(w,t))return w[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return vn(s,t)?(s[t]=n,!0):r!==re&&W(r,t)?(r[t]=n,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let c;return!!n[i]||e!==re&&W(e,i)||vn(t,i)||(c=o[0])&&W(c,i)||W(r,i)||W(At,i)||W(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:W(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cr(e){return R(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ln=!0;function yi(e){const t=tr(e),n=e.proxy,r=e.ctx;Ln=!1,t.beforeCreate&&Mr(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:c,provide:f,inject:h,created:g,beforeMount:y,mounted:w,beforeUpdate:A,updated:P,activated:O,deactivated:X,beforeDestroy:Q,beforeUnmount:te,destroyed:ne,unmounted:B,render:fe,renderTracked:Ie,renderTriggered:Fe,errorCaptured:K,serverPrefetch:se,expose:G,inheritAttrs:he,components:T,directives:ee,filters:ve}=t;if(h&&xi(h,r,null),i)for(const oe in i){const d=i[oe];z(d)&&(r[oe]=d.bind(n))}if(s){const oe=s.call(n,n);ae(oe)&&(e.data=Yn(oe))}if(Ln=!0,o)for(const oe in o){const d=o[oe],u=z(d)?d.bind(n,n):z(d.get)?d.get.bind(n,n):Ne,H=!z(d)&&z(d.set)?d.set.bind(n):Ne,S=el({get:u,set:H});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>S.value,set:N=>S.value=N})}if(c)for(const oe in c)Ns(c[oe],r,n,oe);if(f){const oe=z(f)?f.call(n):f;Reflect.ownKeys(oe).forEach(d=>{Ii(d,oe[d])})}g&&Mr(g,e,"c");function ue(oe,d){R(d)?d.forEach(u=>oe(u.bind(n))):d&&oe(d.bind(n))}if(ue(ui,y),ue(Rs,w),ue(di,A),ue(hi,P),ue(ci,O),ue(ai,X),ue(bi,K),ue(mi,Ie),ue(gi,Fe),ue(Ls,te),ue(Ss,B),ue(pi,se),R(G))if(G.length){const oe=e.exposed||(e.exposed={});G.forEach(d=>{Object.defineProperty(oe,d,{get:()=>n[d],set:u=>n[d]=u})})}else e.exposed||(e.exposed={});fe&&e.render===Ne&&(e.render=fe),he!=null&&(e.inheritAttrs=he),T&&(e.components=T),ee&&(e.directives=ee)}function xi(e,t,n=Ne){R(e)&&(e=Sn(e));for(const r in e){const s=e[r];let o;ae(s)?"default"in s?o=Jt(s.from||r,s.default,!0):o=Jt(s.from||r):o=Jt(s),ye(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Mr(e,t,n){Oe(R(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ns(e,t,n,r){const s=r.includes(".")?Is(n,r):()=>n[r];if(me(e)){const o=t[e];z(o)&&qt(s,o)}else if(z(e))qt(s,e.bind(n));else if(ae(e))if(R(e))e.forEach(o=>Ns(o,t,n,r));else{const o=z(e.handler)?e.handler.bind(n):t[e.handler];z(o)&&qt(s,o,e)}}function tr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,c=o.get(t);let f;return c?f=c:!s.length&&!n&&!r?f=t:(f={},s.length&&s.forEach(h=>en(f,h,i,!0)),en(f,t,i)),ae(t)&&o.set(t,f),f}function en(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&en(e,o,n,!0),s&&s.forEach(i=>en(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const c=wi[i]||n&&n[i];e[i]=c?c(e[i],t[i]):t[i]}return e}const wi={data:Er,props:Tr,emits:Tr,methods:It,computed:It,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:It,directives:It,watch:Mi,provide:Er,inject:Ci};function Er(e,t){return t?e?function(){return ge(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Ci(e,t){return It(Sn(e),Sn(t))}function Sn(e){if(R(e)){const t={};for(let n=0;n1)return n&&z(t)?t.call(r&&r.proxy):t}}function Fi(e,t,n,r=!1){const s={},o={};Xt(o,hn,1),e.propsDefaults=Object.create(null),Hs(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ho(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Ai(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,c=V(s),[f]=e.propsOptions;let h=!1;if((r||i>0)&&!(i&16)){if(i&8){const g=e.vnode.dynamicProps;for(let y=0;y{f=!0;const[w,A]=js(y,t,!0);ge(i,w),A&&c.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!o&&!f)return ae(e)&&r.set(e,pt),pt;if(R(o))for(let g=0;g-1,A[1]=O<0||P-1||W(A,"default"))&&c.push(y)}}}const h=[i,c];return ae(e)&&r.set(e,h),h}function Ir(e){return e[0]!=="$"}function Fr(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ar(e,t){return Fr(e)===Fr(t)}function Pr(e,t){return R(t)?t.findIndex(n=>Ar(n,e)):z(t)&&Ar(t,e)?0:-1}const Ds=e=>e[0]==="_"||e==="$stable",nr=e=>R(e)?e.map(Ue):[Ue(e)],Pi=(e,t,n)=>{if(t._n)return t;const r=Es((...s)=>nr(t(...s)),n);return r._c=!1,r},Us=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ds(s))continue;const o=e[s];if(z(o))t[s]=Pi(s,o,r);else if(o!=null){const i=nr(o);t[s]=()=>i}}},Ks=(e,t)=>{const n=nr(t);e.slots.default=()=>n},Oi=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=V(t),Xt(t,"_",n)):Us(t,e.slots={})}else e.slots={},t&&Ks(e,t);Xt(e.slots,hn,1)},Ri=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=re;if(r.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(ge(s,t),!n&&c===1&&delete s._):(o=!t.$stable,Us(t,s)),i=t}else t&&(Ks(e,t),i={default:1});if(o)for(const c in s)!Ds(c)&&i[c]==null&&delete s[c]};function Bn(e,t,n,r,s=!1){if(R(e)){e.forEach((w,A)=>Bn(w,t&&(R(t)?t[A]:t),n,r,s));return}if(Zt(r)&&!s)return;const o=r.shapeFlag&4?pn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:c,r:f}=e,h=t&&t.r,g=c.refs===re?c.refs={}:c.refs,y=c.setupState;if(h!=null&&h!==f&&(me(h)?(g[h]=null,W(y,h)&&(y[h]=null)):ye(h)&&(h.value=null)),z(f))Qe(f,c,12,[i,g]);else{const w=me(f),A=ye(f);if(w||A){const P=()=>{if(e.f){const O=w?W(y,f)?y[f]:g[f]:f.value;s?R(O)&&zn(O,o):R(O)?O.includes(o)||O.push(o):w?(g[f]=[o],W(y,f)&&(y[f]=g[f])):(f.value=[o],e.k&&(g[e.k]=f.value))}else w?(g[f]=i,W(y,f)&&(y[f]=i)):A&&(f.value=i,e.k&&(g[e.k]=i))};i?(P.id=-1,we(P,n)):P()}}}const we=ni;function Li(e){return Si(e)}function Si(e,t){const n=Mn();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:c,createComment:f,setText:h,setElementText:g,parentNode:y,nextSibling:w,setScopeId:A=Ne,insertStaticContent:P}=e,O=(l,a,p,m=null,b=null,_=null,C=!1,x=null,M=!!a.dynamicChildren)=>{if(l===a)return;l&&!lt(l,a)&&(m=Y(l),N(l,b,_,!0),l=null),a.patchFlag===-2&&(M=!1,a.dynamicChildren=null);const{type:v,ref:I,shapeFlag:E}=a;switch(v){case dn:X(l,a,p,m);break;case Be:Q(l,a,p,m);break;case _n:l==null&&te(a,p,m,C);break;case De:T(l,a,p,m,b,_,C,x,M);break;default:E&1?fe(l,a,p,m,b,_,C,x,M):E&6?ee(l,a,p,m,b,_,C,x,M):(E&64||E&128)&&v.process(l,a,p,m,b,_,C,x,M,q)}I!=null&&b&&Bn(I,l&&l.ref,_,a||l,!a)},X=(l,a,p,m)=>{if(l==null)r(a.el=c(a.children),p,m);else{const b=a.el=l.el;a.children!==l.children&&h(b,a.children)}},Q=(l,a,p,m)=>{l==null?r(a.el=f(a.children||""),p,m):a.el=l.el},te=(l,a,p,m)=>{[l.el,l.anchor]=P(l.children,a,p,m,l.el,l.anchor)},ne=({el:l,anchor:a},p,m)=>{let b;for(;l&&l!==a;)b=w(l),r(l,p,m),l=b;r(a,p,m)},B=({el:l,anchor:a})=>{let p;for(;l&&l!==a;)p=w(l),s(l),l=p;s(a)},fe=(l,a,p,m,b,_,C,x,M)=>{C=C||a.type==="svg",l==null?Ie(a,p,m,b,_,C,x,M):se(l,a,b,_,C,x,M)},Ie=(l,a,p,m,b,_,C,x)=>{let M,v;const{type:I,props:E,shapeFlag:F,transition:D,dirs:k}=l;if(M=l.el=i(l.type,_,E&&E.is,E),F&8?g(M,l.children):F&16&&K(l.children,M,null,m,b,_&&I!=="foreignObject",C,x),k&&nt(l,null,m,"created"),Fe(M,l,l.scopeId,C,m),E){for(const Z in E)Z!=="value"&&!Wt(Z)&&o(M,Z,null,E[Z],_,l.children,m,b,j);"value"in E&&o(M,"value",null,E.value),(v=E.onVnodeBeforeMount)&&je(v,m,l)}k&&nt(l,null,m,"beforeMount");const J=Ni(b,D);J&&D.beforeEnter(M),r(M,a,p),((v=E&&E.onVnodeMounted)||J||k)&&we(()=>{v&&je(v,m,l),J&&D.enter(M),k&&nt(l,null,m,"mounted")},b)},Fe=(l,a,p,m,b)=>{if(p&&A(l,p),m)for(let _=0;_{for(let v=M;v{const x=a.el=l.el;let{patchFlag:M,dynamicChildren:v,dirs:I}=a;M|=l.patchFlag&16;const E=l.props||re,F=a.props||re;let D;p&&rt(p,!1),(D=F.onVnodeBeforeUpdate)&&je(D,p,a,l),I&&nt(a,l,p,"beforeUpdate"),p&&rt(p,!0);const k=b&&a.type!=="foreignObject";if(v?G(l.dynamicChildren,v,x,p,m,k,_):C||d(l,a,x,null,p,m,k,_,!1),M>0){if(M&16)he(x,a,E,F,p,m,b);else if(M&2&&E.class!==F.class&&o(x,"class",null,F.class,b),M&4&&o(x,"style",E.style,F.style,b),M&8){const J=a.dynamicProps;for(let Z=0;Z{D&&je(D,p,a,l),I&&nt(a,l,p,"updated")},m)},G=(l,a,p,m,b,_,C)=>{for(let x=0;x{if(p!==m){if(p!==re)for(const x in p)!Wt(x)&&!(x in m)&&o(l,x,p[x],null,C,a.children,b,_,j);for(const x in m){if(Wt(x))continue;const M=m[x],v=p[x];M!==v&&x!=="value"&&o(l,x,v,M,C,a.children,b,_,j)}"value"in m&&o(l,"value",p.value,m.value)}},T=(l,a,p,m,b,_,C,x,M)=>{const v=a.el=l?l.el:c(""),I=a.anchor=l?l.anchor:c("");let{patchFlag:E,dynamicChildren:F,slotScopeIds:D}=a;D&&(x=x?x.concat(D):D),l==null?(r(v,p,m),r(I,p,m),K(a.children,p,I,b,_,C,x,M)):E>0&&E&64&&F&&l.dynamicChildren?(G(l.dynamicChildren,F,p,b,_,C,x),(a.key!=null||b&&a===b.subTree)&&zs(l,a,!0)):d(l,a,p,I,b,_,C,x,M)},ee=(l,a,p,m,b,_,C,x,M)=>{a.slotScopeIds=x,l==null?a.shapeFlag&512?b.ctx.activate(a,p,m,C,M):ve(a,p,m,b,_,C,M):tt(l,a,M)},ve=(l,a,p,m,b,_,C)=>{const x=l.component=qi(l,m,b);if(fn(l)&&(x.ctx.renderer=q),Ji(x),x.asyncDep){if(b&&b.registerDep(x,ue),!l.el){const M=x.subTree=Ce(Be);Q(null,M,a,p)}return}ue(x,l,a,p,b,_,C)},tt=(l,a,p)=>{const m=a.component=l.component;if(Go(l,a,p))if(m.asyncDep&&!m.asyncResolved){oe(m,a,p);return}else m.next=a,qo(m.update),m.update();else a.el=l.el,m.vnode=a},ue=(l,a,p,m,b,_,C)=>{const x=()=>{if(l.isMounted){let{next:I,bu:E,u:F,parent:D,vnode:k}=l,J=I,Z;rt(l,!1),I?(I.el=k.el,oe(l,I,C)):I=k,E&&Vt(E),(Z=I.props&&I.props.onVnodeBeforeUpdate)&&je(Z,D,I,k),rt(l,!0);const ce=mn(l),Ee=l.subTree;l.subTree=ce,O(Ee,ce,y(Ee.el),Y(Ee),l,b,_),I.el=ce.el,J===null&&ei(l,ce.el),F&&we(F,b),(Z=I.props&&I.props.onVnodeUpdated)&&we(()=>je(Z,D,I,k),b)}else{let I;const{el:E,props:F}=a,{bm:D,m:k,parent:J}=l,Z=Zt(a);if(rt(l,!1),D&&Vt(D),!Z&&(I=F&&F.onVnodeBeforeMount)&&je(I,J,a),rt(l,!0),E&&de){const ce=()=>{l.subTree=mn(l),de(E,l.subTree,l,b,null)};Z?a.type.__asyncLoader().then(()=>!l.isUnmounted&&ce()):ce()}else{const ce=l.subTree=mn(l);O(null,ce,p,m,l,b,_),a.el=ce.el}if(k&&we(k,b),!Z&&(I=F&&F.onVnodeMounted)){const ce=a;we(()=>je(I,J,ce),b)}(a.shapeFlag&256||J&&Zt(J.vnode)&&J.vnode.shapeFlag&256)&&l.a&&we(l.a,b),l.isMounted=!0,a=p=m=null}},M=l.effect=new qn(x,()=>er(v),l.scope),v=l.update=()=>M.run();v.id=l.uid,rt(l,!0),v()},oe=(l,a,p)=>{a.component=l;const m=l.vnode.props;l.vnode=a,l.next=null,Ai(l,a.props,m,p),Ri(l,a.children,p),wt(),yr(),Ct()},d=(l,a,p,m,b,_,C,x,M=!1)=>{const v=l&&l.children,I=l?l.shapeFlag:0,E=a.children,{patchFlag:F,shapeFlag:D}=a;if(F>0){if(F&128){H(v,E,p,m,b,_,C,x,M);return}else if(F&256){u(v,E,p,m,b,_,C,x,M);return}}D&8?(I&16&&j(v,b,_),E!==v&&g(p,E)):I&16?D&16?H(v,E,p,m,b,_,C,x,M):j(v,b,_,!0):(I&8&&g(p,""),D&16&&K(E,p,m,b,_,C,x,M))},u=(l,a,p,m,b,_,C,x,M)=>{l=l||pt,a=a||pt;const v=l.length,I=a.length,E=Math.min(v,I);let F;for(F=0;FI?j(l,b,_,!0,!1,E):K(a,p,m,b,_,C,x,M,E)},H=(l,a,p,m,b,_,C,x,M)=>{let v=0;const I=a.length;let E=l.length-1,F=I-1;for(;v<=E&&v<=F;){const D=l[v],k=a[v]=M?Ye(a[v]):Ue(a[v]);if(lt(D,k))O(D,k,p,null,b,_,C,x,M);else break;v++}for(;v<=E&&v<=F;){const D=l[E],k=a[F]=M?Ye(a[F]):Ue(a[F]);if(lt(D,k))O(D,k,p,null,b,_,C,x,M);else break;E--,F--}if(v>E){if(v<=F){const D=F+1,k=DF)for(;v<=E;)N(l[v],b,_,!0),v++;else{const D=v,k=v,J=new Map;for(v=k;v<=F;v++){const Te=a[v]=M?Ye(a[v]):Ue(a[v]);Te.key!=null&&J.set(Te.key,v)}let Z,ce=0;const Ee=F-k+1;let We=!1,lr=0;const Mt=new Array(Ee);for(v=0;v=Ee){N(Te,b,_,!0);continue}let He;if(Te.key!=null)He=J.get(Te.key);else for(Z=k;Z<=F;Z++)if(Mt[Z-k]===0&<(Te,a[Z])){He=Z;break}He===void 0?N(Te,b,_,!0):(Mt[He-k]=v+1,He>=lr?lr=He:We=!0,O(Te,a[He],p,null,b,_,C,x,M),ce++)}const cr=We?Bi(Mt):pt;for(Z=cr.length-1,v=Ee-1;v>=0;v--){const Te=k+v,He=a[Te],ar=Te+1{const{el:_,type:C,transition:x,children:M,shapeFlag:v}=l;if(v&6){S(l.component.subTree,a,p,m);return}if(v&128){l.suspense.move(a,p,m);return}if(v&64){C.move(l,a,p,q);return}if(C===De){r(_,a,p);for(let E=0;Ex.enter(_),b);else{const{leave:E,delayLeave:F,afterLeave:D}=x,k=()=>r(_,a,p),J=()=>{E(_,()=>{k(),D&&D()})};F?F(_,k,J):J()}else r(_,a,p)},N=(l,a,p,m=!1,b=!1)=>{const{type:_,props:C,ref:x,children:M,dynamicChildren:v,shapeFlag:I,patchFlag:E,dirs:F}=l;if(x!=null&&Bn(x,null,p,l,!0),I&256){a.ctx.deactivate(l);return}const D=I&1&&F,k=!Zt(l);let J;if(k&&(J=C&&C.onVnodeBeforeUnmount)&&je(J,a,l),I&6)L(l.component,p,m);else{if(I&128){l.suspense.unmount(p,m);return}D&&nt(l,null,a,"beforeUnmount"),I&64?l.type.remove(l,a,p,b,q,m):v&&(_!==De||E>0&&E&64)?j(v,a,p,!1,!0):(_===De&&E&384||!b&&I&16)&&j(M,a,p),m&&U(l)}(k&&(J=C&&C.onVnodeUnmounted)||D)&&we(()=>{J&&je(J,a,l),D&&nt(l,null,a,"unmounted")},p)},U=l=>{const{type:a,el:p,anchor:m,transition:b}=l;if(a===De){$(p,m);return}if(a===_n){B(l);return}const _=()=>{s(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(l.shapeFlag&1&&b&&!b.persisted){const{leave:C,delayLeave:x}=b,M=()=>C(p,_);x?x(l.el,_,M):M()}else _()},$=(l,a)=>{let p;for(;l!==a;)p=w(l),s(l),l=p;s(a)},L=(l,a,p)=>{const{bum:m,scope:b,update:_,subTree:C,um:x}=l;m&&Vt(m),b.stop(),_&&(_.active=!1,N(C,l,a,p)),x&&we(x,a),we(()=>{l.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},j=(l,a,p,m=!1,b=!1,_=0)=>{for(let C=_;Cl.shapeFlag&6?Y(l.component.subTree):l.shapeFlag&128?l.suspense.next():w(l.anchor||l.el),ie=(l,a,p)=>{l==null?a._vnode&&N(a._vnode,null,null,!0):O(a._vnode||null,l,a,null,null,null,p),yr(),xs(),a._vnode=l},q={p:O,um:N,m:S,r:U,mt:ve,mc:K,pc:d,pbc:G,n:Y,o:e};let le,de;return t&&([le,de]=t(q)),{render:ie,hydrate:le,createApp:Ti(ie,le)}}function rt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ni(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const r=e.children,s=t.children;if(R(r)&&R(s))for(let o=0;o>1,e[n[c]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const Hi=e=>e.__isTeleport,De=Symbol.for("v-fgt"),dn=Symbol.for("v-txt"),Be=Symbol.for("v-cmt"),_n=Symbol.for("v-stc"),Pt=[];let Se=null;function Hn(e=!1){Pt.push(Se=e?null:[])}function ji(){Pt.pop(),Se=Pt[Pt.length-1]||null}let St=1;function Or(e){St+=e}function $s(e){return e.dynamicChildren=St>0?Se||pt:null,ji(),St>0&&Se&&Se.push(e),e}function Rr(e,t,n,r,s,o){return $s(pe(e,t,n,r,s,o,!0))}function Di(e,t,n,r,s){return $s(Ce(e,t,n,r,s,!0))}function jn(e){return e?e.__v_isVNode===!0:!1}function lt(e,t){return e.type===t.type&&e.key===t.key}const hn="__vInternal",ks=({key:e})=>e??null,Yt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?me(e)||ye(e)||z(e)?{i:Pe,r:e,k:t,f:!!n}:e:null);function pe(e,t=null,n=null,r=0,s=null,o=e===De?0:1,i=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ks(t),ref:t&&Yt(t),scopeId:Ms,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Pe};return c?(rr(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=me(n)?8:16),St>0&&!i&&Se&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Se.push(f),f}const Ce=Ui;function Ui(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===vi)&&(e=Be),jn(e)){const c=et(e,t,!0);return n&&rr(c,n),St>0&&!o&&Se&&(c.shapeFlag&6?Se[Se.indexOf(e)]=c:Se.push(c)),c.patchFlag|=-2,c}if(Gi(e)&&(e=e.__vccOpts),t){t=Ki(t);let{class:c,style:f}=t;c&&!me(c)&&(t.class=sn(c)),ae(f)&&(ps(f)&&!R(f)&&(f=ge({},f)),t.style=Wn(f))}const i=me(e)?1:ti(e)?128:Hi(e)?64:ae(e)?4:z(e)?2:0;return pe(e,t,n,r,s,i,o,!0)}function Ki(e){return e?ps(e)||hn in e?ge({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,c=t?ki(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ks(c),ref:t&&t.ref?n&&s?R(s)?s.concat(Yt(t)):[s,Yt(t)]:Yt(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==De?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function zi(e=" ",t=0){return Ce(dn,null,e,t)}function $i(e="",t=!1){return t?(Hn(),Di(Be,null,e)):Ce(Be,null,e)}function Ue(e){return e==null||typeof e=="boolean"?Ce(Be):R(e)?Ce(De,null,e.slice()):typeof e=="object"?Ye(e):Ce(dn,null,String(e))}function Ye(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function rr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(R(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),rr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(hn in t)?t._ctx=Pe:s===3&&Pe&&(Pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Pe},n=32):(t=String(t),r&64?(n=16,t=[zi(t)]):n=8);e.children=t,e.shapeFlag|=n}function ki(...e){const t={};for(let n=0;nbe||Pe;let sr,ht,Lr="__VUE_INSTANCE_SETTERS__";(ht=Mn()[Lr])||(ht=Mn()[Lr]=[]),ht.push(e=>be=e),sr=e=>{ht.length>1?ht.forEach(t=>t(e)):ht[0](e)};const yt=e=>{sr(e),e.scope.on()},ut=()=>{be&&be.scope.off(),sr(null)};function Ws(e){return e.vnode.shapeFlag&4}let Nt=!1;function Ji(e,t=!1){Nt=t;const{props:n,children:r}=e.vnode,s=Ws(e);Fi(e,n,s,t),Oi(e,r);const o=s?Yi(e,t):void 0;return Nt=!1,o}function Yi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=gs(new Proxy(e.ctx,_i));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?Qi(e):null;yt(e),wt();const o=Qe(r,e,0,[e.props,s]);if(Ct(),ut(),Gr(o)){if(o.then(ut,ut),t)return o.then(i=>{Sr(e,i,t)}).catch(i=>{cn(i,e,0)});e.asyncDep=o}else Sr(e,o,t)}else Vs(e,t)}function Sr(e,t,n){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ae(t)&&(e.setupState=vs(t)),Vs(e,n)}let Nr;function Vs(e,t,n){const r=e.type;if(!e.render){if(!t&&Nr&&!r.render){const s=r.template||tr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:c,compilerOptions:f}=r,h=ge(ge({isCustomElement:o,delimiters:c},i),f);r.render=Nr(s,h)}}e.render=r.render||Ne}{yt(e),wt();try{yi(e)}finally{Ct(),ut()}}}function Xi(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Me(e,"get","$attrs"),t[n]}}))}function Qi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Xi(e)},slots:e.slots,emit:e.emit,expose:t}}function pn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(vs(gs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in At)return At[n](e)},has(t,n){return n in t||n in At}}))}function Gi(e){return z(e)&&"__vccOpts"in e}const el=(e,t)=>$o(e,t,Nt);function tl(e,t,n){const r=arguments.length;return r===2?ae(t)&&!R(t)?jn(t)?Ce(e,null,[t]):Ce(e,t):Ce(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&jn(n)&&(n=[n]),Ce(e,t,n))}const nl=Symbol.for("v-scx"),rl=()=>Jt(nl),sl="3.3.7",ol="http://www.w3.org/2000/svg",ct=typeof document<"u"?document:null,Br=ct&&ct.createElement("template"),il={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t?ct.createElementNS(ol,e):ct.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Br.innerHTML=r?``:e;const c=Br.content;if(r){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},qe="transition",Et="animation",Bt=Symbol("_vtc"),or=(e,{slots:t})=>tl(li,ll(e),t);or.displayName="Transition";const qs={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};or.props=ge({},Fs,qs);const st=(e,t=[])=>{R(e)?e.forEach(n=>n(...t)):e&&e(...t)},Hr=e=>e?R(e)?e.some(t=>t.length>1):e.length>1:!1;function ll(e){const t={};for(const T in e)T in qs||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:h=i,appearToClass:g=c,leaveFromClass:y=`${n}-leave-from`,leaveActiveClass:w=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,P=cl(s),O=P&&P[0],X=P&&P[1],{onBeforeEnter:Q,onEnter:te,onEnterCancelled:ne,onLeave:B,onLeaveCancelled:fe,onBeforeAppear:Ie=Q,onAppear:Fe=te,onAppearCancelled:K=ne}=t,se=(T,ee,ve)=>{ot(T,ee?g:c),ot(T,ee?h:i),ve&&ve()},G=(T,ee)=>{T._isLeaving=!1,ot(T,y),ot(T,A),ot(T,w),ee&&ee()},he=T=>(ee,ve)=>{const tt=T?Fe:te,ue=()=>se(ee,T,ve);st(tt,[ee,ue]),jr(()=>{ot(ee,T?f:o),Ze(ee,T?g:c),Hr(tt)||Dr(ee,r,O,ue)})};return ge(t,{onBeforeEnter(T){st(Q,[T]),Ze(T,o),Ze(T,i)},onBeforeAppear(T){st(Ie,[T]),Ze(T,f),Ze(T,h)},onEnter:he(!1),onAppear:he(!0),onLeave(T,ee){T._isLeaving=!0;const ve=()=>G(T,ee);Ze(T,y),ul(),Ze(T,w),jr(()=>{T._isLeaving&&(ot(T,y),Ze(T,A),Hr(B)||Dr(T,r,X,ve))}),st(B,[T,ve])},onEnterCancelled(T){se(T,!1),st(ne,[T])},onAppearCancelled(T){se(T,!0),st(K,[T])},onLeaveCancelled(T){G(T),st(fe,[T])}})}function cl(e){if(e==null)return null;if(ae(e))return[yn(e.enter),yn(e.leave)];{const t=yn(e);return[t,t]}}function yn(e){return oo(e)}function Ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bt]||(e[Bt]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Bt];n&&(n.delete(t),n.size||(e[Bt]=void 0))}function jr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let al=0;function Dr(e,t,n,r){const s=e._endId=++al,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:c,propCount:f}=fl(e,t);if(!i)return r();const h=i+"end";let g=0;const y=()=>{e.removeEventListener(h,w),o()},w=A=>{A.target===e&&++g>=f&&y()};setTimeout(()=>{g(n[P]||"").split(", "),s=r(`${qe}Delay`),o=r(`${qe}Duration`),i=Ur(s,o),c=r(`${Et}Delay`),f=r(`${Et}Duration`),h=Ur(c,f);let g=null,y=0,w=0;t===qe?i>0&&(g=qe,y=i,w=o.length):t===Et?h>0&&(g=Et,y=h,w=f.length):(y=Math.max(i,h),g=y>0?i>h?qe:Et:null,w=g?g===qe?o.length:f.length:0);const A=g===qe&&/\b(transform|all)(,|$)/.test(r(`${qe}Property`).toString());return{type:g,timeout:y,propCount:w,hasTransform:A}}function Ur(e,t){for(;e.lengthKr(n)+Kr(e[r])))}function Kr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ul(){return document.body.offsetHeight}function dl(e,t,n){const r=e[Bt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const hl=Symbol("_vod");function pl(e,t,n){const r=e.style,s=me(n);if(n&&!s){if(t&&!me(t))for(const o in t)n[o]==null&&Dn(r,o,"");for(const o in n)Dn(r,o,n[o])}else{const o=r.display;s?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),hl in e&&(r.display=o)}}const zr=/\s*!important$/;function Dn(e,t,n){if(R(n))n.forEach(r=>Dn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=gl(e,t);zr.test(n)?e.setProperty(xt(r),n.replace(zr,""),"important"):e[r]=n}}const $r=["Webkit","Moz","ms"],xn={};function gl(e,t){const n=xn[t];if(n)return n;let r=vt(t);if(r!=="filter"&&r in e)return xn[t]=r;r=es(r);for(let s=0;s<$r.length;s++){const o=$r[s]+r;if(o in e)return xn[t]=o}return t}const kr="http://www.w3.org/1999/xlink";function ml(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(kr,t.slice(6,t.length)):e.setAttributeNS(kr,t,n);else{const o=uo(t);n==null||o&&!ts(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function bl(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const c=e.tagName;if(t==="value"&&c!=="PROGRESS"&&!c.includes("-")){e._value=n;const h=c==="OPTION"?e.getAttribute("value"):e.value,g=n??"";h!==g&&(e.value=g),n==null&&e.removeAttribute(t);return}let f=!1;if(n===""||n==null){const h=typeof e[t];h==="boolean"?n=ts(n):n==null&&h==="string"?(n="",f=!0):h==="number"&&(n=0,f=!0)}try{e[t]=n}catch{}f&&e.removeAttribute(t)}function Zs(e,t,n,r){e.addEventListener(t,n,r)}function vl(e,t,n,r){e.removeEventListener(t,n,r)}const Wr=Symbol("_vei");function _l(e,t,n,r,s=null){const o=e[Wr]||(e[Wr]={}),i=o[t];if(r&&i)i.value=r;else{const[c,f]=yl(t);if(r){const h=o[t]=Cl(r,s);Zs(e,c,h,f)}else i&&(vl(e,c,i,f),o[t]=void 0)}}const Vr=/(?:Once|Passive|Capture)$/;function yl(e){let t;if(Vr.test(e)){t={};let r;for(;r=e.match(Vr);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):xt(e.slice(2)),t]}let wn=0;const xl=Promise.resolve(),wl=()=>wn||(xl.then(()=>wn=0),wn=Date.now());function Cl(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Oe(Ml(r,n.value),t,5,[r])};return n.value=e,n.attached=wl(),n}function Ml(e,t){if(R(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const qr=/^on[a-z]/,El=(e,t,n,r,s=!1,o,i,c,f)=>{t==="class"?dl(e,r,s):t==="style"?pl(e,n,r):nn(t)?Kn(t)||_l(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tl(e,t,r,s))?bl(e,t,r,o,i,c,f):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ml(e,t,r,s))};function Tl(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&qr.test(t)&&z(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||qr.test(t)&&me(n)?!1:t in e}const Zr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return R(t)?n=>Vt(t,n):t},Cn=Symbol("_assign"),Il={deep:!0,created(e,t,n){e[Cn]=Zr(n),Zs(e,"change",()=>{const r=e._modelValue,s=Fl(e),o=e.checked,i=e[Cn];if(R(r)){const c=ns(r,s),f=c!==-1;if(o&&!f)i(r.concat(s));else if(!o&&f){const h=[...r];h.splice(c,1),i(h)}}else if($n(r)){const c=new Set(r);o?c.add(s):c.delete(s),i(c)}else i(Js(e,o))})},mounted:Jr,beforeUpdate(e,t,n){e[Cn]=Zr(n),Jr(e,t,n)}};function Jr(e,{value:t,oldValue:n},r){e._modelValue=t,R(t)?e.checked=ns(t,r.props.value)>-1:$n(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=on(t,Js(e,!0)))}function Fl(e){return"_value"in e?e._value:e.value}function Js(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Al=ge({patchProp:El},il);let Yr;function Pl(){return Yr||(Yr=Li(Al))}const zl=(...e)=>{const t=Pl().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ol(r);if(!s)return;const o=t._component;!z(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function Ol(e){return me(e)?document.querySelector(e):e}var ir={};(function e(t,n,r,s){var o=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL),i=typeof Path2D=="function"&&typeof DOMMatrix=="function";function c(){}function f(d){var u=n.exports.Promise,H=u!==void 0?u:t.Promise;return typeof H=="function"?new H(d):(d(c,c),null)}var h=function(){var d=Math.floor(16.666666666666668),u,H,S={},N=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(u=function(U){var $=Math.random();return S[$]=requestAnimationFrame(function L(j){N===j||N+d-1{const r={x:.5,y:.6};if(e){const s=e.getBoundingClientRect(),o=s.left+s.width/2,i=s.top+s.height/2;r.x=o/window.innerWidth,r.y=i/window.innerHeight}n=n===null?20:n,Xr(t?{particleCount:n,spread:70,origin:r,colors:Qr,gravity:.5,startVelocity:25,shapes:["star","circle","square"],scalar:.95}:{particleCount:300,spread:80,origin:r,colors:Qr,gravity:.5})};const Ll={class:""},Sl=pe("p",{class:"font-bold"},"Verify that you're human:",-1),Nl={key:0,class:"w-10 absolute text-green-600 -bottom-1 -start-1",viewBox:"0 0 24 24"},Bl=pe("path",{fill:"currentColor",d:"M9 16.17L4.83 12l-1.42 1.41L9 19L21 7l-1.41-1.41z"},null,-1),Hl=[Bl],jl=pe("p",{class:"ms-4"},"I support Israel",-1),Dl=pe("svg",{alt:"Israeli Flag",class:"w-7 ms-3",viewBox:"0 0 36 36"},[pe("path",{fill:"#EDECEC",d:"M20.666 19l-.467.809h.934zM18 21.618l.467-.809h-.934z"}),pe("path",{fill:"#FFF",d:"M0 25h36V11H0v14zM.294 7.5h35.413A4 4 0 0 0 32 5H4A3.999 3.999 0 0 0 .294 7.5z"}),pe("path",{fill:"#FFF",d:"M21.133 16.191h-.934l.467.809zm-5.332 0h-.934l.467.809zm3.243 3.618L20.089 18l-1.045-1.809h-2.088L15.911 18l1.045 1.809zM15.334 19l-.467.809h.934zM18 14.382l-.467.809h.934z"}),pe("path",{fill:"#0038B8",d:"M.294 7.5A3.982 3.982 0 0 0 0 9v2h36V9c0-.531-.106-1.036-.294-1.5H.294z"}),pe("path",{fill:"#FFF",d:"M.294 28.5h35.413A4 4 0 0 1 32 31H4a3.999 3.999 0 0 1-3.706-2.5z"}),pe("path",{fill:"#0038B8",d:"M.294 28.5A3.982 3.982 0 0 1 0 27v-2h36v2c0 .531-.106 1.036-.294 1.5H.294zm16.084-7.691L18 23.618l1.622-2.809h3.243L21.244 18l1.622-2.809h-3.243L18 12.382l-1.622 2.809h-3.243L14.756 18l-1.622 2.809h3.244zm1.622.809l-.467-.809h.934l-.467.809zm3.133-5.427l-.467.809l-.467-.808h.934zM20.666 19l.467.808h-.934l.467-.808zM18 14.382l.467.809h-.934l.467-.809zm-1.044 1.809h2.089L20.089 18l-1.044 1.809h-2.089L15.911 18l1.045-1.809zm-1.155 0l-.467.809l-.467-.808h.934zM15.334 19l.467.808h-.934l.467-.808z"})],-1),Ul=pe("p",{class:"text-gray-700 mt-2 text-sm"}," Please click the checkbox above to prove that you're not a robot. ",-1),Kl=pe("p",{class:"text-gray-700 mt-2 text-sm"},[pe("a",{href:"https://oct7map.com/",target:"_blank",class:"underline text-gray-600 hover:text-blue-900"},"Having trouble?")],-1),$l={__name:"Captcha",setup(e){const t=_r(null),n=_r(!1);return qt(n,r=>{r&&Rl(t.value)}),(r,s)=>(Hn(),Rr("div",Ll,[Sl,pe("label",{ref_key:"captchaContainer",ref:t,for:"captcha",class:"px-4 pe-6 py-3 mt-2 border-2 relative inline-flex select-none cursor-pointer transition-all hover:border-blue-600 bg-gray-50 hover:bg-gray-100 rounded items-center"},[si(pe("input",{id:"captcha",type:"checkbox",class:"opacity-0 appearance-none absolute top-0 start-0 w-px h-px","onUpdate:modelValue":s[0]||(s[0]=o=>n.value=o)},null,512),[[Il,n.value]]),pe("div",{class:sn([{"ring-2":!n.value},"relative bg-white rounded w-5 h-5 flex items-center justify-center"])},[Ce(or,{name:"fade"},{default:Es(()=>[n.value?(Hn(),Rr("svg",Nl,Hl)):$i("",!0)]),_:1})],2),jl,Dl],512),Ul,Kl]))}};export{$l as _,Rr as a,Ce as b,zl as c,Hn as o};
3 |
--------------------------------------------------------------------------------