import { isReactive, isRef, toRaw } from "./chunk-SSC5OD6V.js"; // ../node_modules/@vue/devtools-shared/dist/index.js var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target2) => (target2 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target2, "default", { value: mod, enumerable: true }) : target2, mod )); var init_esm_shims = __esm({ "../../node_modules/.pnpm/tsup@8.0.2_@microsoft+api-extractor@7.43.0_@types+node@20.12.12__postcss@8.4.38_typescript@5.4.5/node_modules/tsup/assets/esm_shims.js"() { "use strict"; } }); var require_rfdc = __commonJS({ "../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js"(exports, module) { "use strict"; init_esm_shims(); module.exports = rfdc2; function copyBuffer(cur) { if (cur instanceof Buffer) { return Buffer.from(cur); } return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length); } function rfdc2(opts) { opts = opts || {}; if (opts.circles) return rfdcCircles(opts); return opts.proto ? cloneProto : clone; function cloneArray(a, fn) { var keys = Object.keys(a); var a2 = new Array(keys.length); for (var i = 0; i < keys.length; i++) { var k = keys[i]; var cur = a[k]; if (typeof cur !== "object" || cur === null) { a2[k] = cur; } else if (cur instanceof Date) { a2[k] = new Date(cur); } else if (ArrayBuffer.isView(cur)) { a2[k] = copyBuffer(cur); } else { a2[k] = fn(cur); } } return a2; } function clone(o) { if (typeof o !== "object" || o === null) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return cloneArray(o, clone); if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone)); if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone)); var o2 = {}; for (var k in o) { if (Object.hasOwnProperty.call(o, k) === false) continue; var cur = o[k]; if (typeof cur !== "object" || cur === null) { o2[k] = cur; } else if (cur instanceof Date) { o2[k] = new Date(cur); } else if (cur instanceof Map) { o2[k] = new Map(cloneArray(Array.from(cur), clone)); } else if (cur instanceof Set) { o2[k] = new Set(cloneArray(Array.from(cur), clone)); } else if (ArrayBuffer.isView(cur)) { o2[k] = copyBuffer(cur); } else { o2[k] = clone(cur); } } return o2; } function cloneProto(o) { if (typeof o !== "object" || o === null) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return cloneArray(o, cloneProto); if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto)); if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto)); var o2 = {}; for (var k in o) { var cur = o[k]; if (typeof cur !== "object" || cur === null) { o2[k] = cur; } else if (cur instanceof Date) { o2[k] = new Date(cur); } else if (cur instanceof Map) { o2[k] = new Map(cloneArray(Array.from(cur), cloneProto)); } else if (cur instanceof Set) { o2[k] = new Set(cloneArray(Array.from(cur), cloneProto)); } else if (ArrayBuffer.isView(cur)) { o2[k] = copyBuffer(cur); } else { o2[k] = cloneProto(cur); } } return o2; } } function rfdcCircles(opts) { var refs = []; var refsNew = []; return opts.proto ? cloneProto : clone; function cloneArray(a, fn) { var keys = Object.keys(a); var a2 = new Array(keys.length); for (var i = 0; i < keys.length; i++) { var k = keys[i]; var cur = a[k]; if (typeof cur !== "object" || cur === null) { a2[k] = cur; } else if (cur instanceof Date) { a2[k] = new Date(cur); } else if (ArrayBuffer.isView(cur)) { a2[k] = copyBuffer(cur); } else { var index = refs.indexOf(cur); if (index !== -1) { a2[k] = refsNew[index]; } else { a2[k] = fn(cur); } } } return a2; } function clone(o) { if (typeof o !== "object" || o === null) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return cloneArray(o, clone); if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone)); if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone)); var o2 = {}; refs.push(o); refsNew.push(o2); for (var k in o) { if (Object.hasOwnProperty.call(o, k) === false) continue; var cur = o[k]; if (typeof cur !== "object" || cur === null) { o2[k] = cur; } else if (cur instanceof Date) { o2[k] = new Date(cur); } else if (cur instanceof Map) { o2[k] = new Map(cloneArray(Array.from(cur), clone)); } else if (cur instanceof Set) { o2[k] = new Set(cloneArray(Array.from(cur), clone)); } else if (ArrayBuffer.isView(cur)) { o2[k] = copyBuffer(cur); } else { var i = refs.indexOf(cur); if (i !== -1) { o2[k] = refsNew[i]; } else { o2[k] = clone(cur); } } } refs.pop(); refsNew.pop(); return o2; } function cloneProto(o) { if (typeof o !== "object" || o === null) return o; if (o instanceof Date) return new Date(o); if (Array.isArray(o)) return cloneArray(o, cloneProto); if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto)); if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto)); var o2 = {}; refs.push(o); refsNew.push(o2); for (var k in o) { var cur = o[k]; if (typeof cur !== "object" || cur === null) { o2[k] = cur; } else if (cur instanceof Date) { o2[k] = new Date(cur); } else if (cur instanceof Map) { o2[k] = new Map(cloneArray(Array.from(cur), cloneProto)); } else if (cur instanceof Set) { o2[k] = new Set(cloneArray(Array.from(cur), cloneProto)); } else if (ArrayBuffer.isView(cur)) { o2[k] = copyBuffer(cur); } else { var i = refs.indexOf(cur); if (i !== -1) { o2[k] = refsNew[i]; } else { o2[k] = cloneProto(cur); } } } refs.pop(); refsNew.pop(); return o2; } } } }); init_esm_shims(); init_esm_shims(); var isBrowser = typeof navigator !== "undefined"; var target = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}; var isInChromePanel = typeof target.chrome !== "undefined" && !!target.chrome.devtools; var isInIframe = isBrowser && target.self !== target.top; var isInElectron = typeof navigator !== "undefined" && navigator.userAgent.toLowerCase().includes("electron"); var isNuxtApp = typeof window !== "undefined" && !!window.__NUXT__; init_esm_shims(); var import_rfdc = __toESM(require_rfdc(), 1); var deepClone = (0, import_rfdc.default)({ circles: true }); init_esm_shims(); // ../node_modules/hookable/dist/index.mjs function flatHooks(configHooks, hooks = {}, parentName) { for (const key in configHooks) { const subHook = configHooks[key]; const name = parentName ? `${parentName}:${key}` : key; if (typeof subHook === "object" && subHook !== null) { flatHooks(subHook, hooks, name); } else if (typeof subHook === "function") { hooks[name] = subHook; } } return hooks; } var defaultTask = { run: (function_) => function_() }; var _createTask = () => defaultTask; var createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; function serialTaskCaller(hooks, args) { const name = args.shift(); const task = createTask(name); return hooks.reduce( (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), Promise.resolve() ); } function parallelTaskCaller(hooks, args) { const name = args.shift(); const task = createTask(name); return Promise.all(hooks.map((hook2) => task.run(() => hook2(...args)))); } function callEachWith(callbacks, arg0) { for (const callback of [...callbacks]) { callback(arg0); } } var Hookable = class { constructor() { this._hooks = {}; this._before = void 0; this._after = void 0; this._deprecatedMessages = void 0; this._deprecatedHooks = {}; this.hook = this.hook.bind(this); this.callHook = this.callHook.bind(this); this.callHookWith = this.callHookWith.bind(this); } hook(name, function_, options = {}) { if (!name || typeof function_ !== "function") { return () => { }; } const originalName = name; let dep; while (this._deprecatedHooks[name]) { dep = this._deprecatedHooks[name]; name = dep.to; } if (dep && !options.allowDeprecated) { let message = dep.message; if (!message) { message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); } if (!this._deprecatedMessages) { this._deprecatedMessages = /* @__PURE__ */ new Set(); } if (!this._deprecatedMessages.has(message)) { console.warn(message); this._deprecatedMessages.add(message); } } if (!function_.name) { try { Object.defineProperty(function_, "name", { get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", configurable: true }); } catch { } } this._hooks[name] = this._hooks[name] || []; this._hooks[name].push(function_); return () => { if (function_) { this.removeHook(name, function_); function_ = void 0; } }; } hookOnce(name, function_) { let _unreg; let _function = (...arguments_) => { if (typeof _unreg === "function") { _unreg(); } _unreg = void 0; _function = void 0; return function_(...arguments_); }; _unreg = this.hook(name, _function); return _unreg; } removeHook(name, function_) { if (this._hooks[name]) { const index = this._hooks[name].indexOf(function_); if (index !== -1) { this._hooks[name].splice(index, 1); } if (this._hooks[name].length === 0) { delete this._hooks[name]; } } } deprecateHook(name, deprecated) { this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; const _hooks = this._hooks[name] || []; delete this._hooks[name]; for (const hook2 of _hooks) { this.hook(name, hook2); } } deprecateHooks(deprecatedHooks) { Object.assign(this._deprecatedHooks, deprecatedHooks); for (const name in deprecatedHooks) { this.deprecateHook(name, deprecatedHooks[name]); } } addHooks(configHooks) { const hooks = flatHooks(configHooks); const removeFns = Object.keys(hooks).map( (key) => this.hook(key, hooks[key]) ); return () => { for (const unreg of removeFns.splice(0, removeFns.length)) { unreg(); } }; } removeHooks(configHooks) { const hooks = flatHooks(configHooks); for (const key in hooks) { this.removeHook(key, hooks[key]); } } removeAllHooks() { for (const key in this._hooks) { delete this._hooks[key]; } } callHook(name, ...arguments_) { arguments_.unshift(name); return this.callHookWith(serialTaskCaller, name, ...arguments_); } callHookParallel(name, ...arguments_) { arguments_.unshift(name); return this.callHookWith(parallelTaskCaller, name, ...arguments_); } callHookWith(caller, name, ...arguments_) { const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0; if (this._before) { callEachWith(this._before, event); } const result = caller( name in this._hooks ? [...this._hooks[name]] : [], arguments_ ); if (result instanceof Promise) { return result.finally(() => { if (this._after && event) { callEachWith(this._after, event); } }); } if (this._after && event) { callEachWith(this._after, event); } return result; } beforeEach(function_) { this._before = this._before || []; this._before.push(function_); return () => { if (this._before !== void 0) { const index = this._before.indexOf(function_); if (index !== -1) { this._before.splice(index, 1); } } }; } afterEach(function_) { this._after = this._after || []; this._after.push(function_); return () => { if (this._after !== void 0) { const index = this._after.indexOf(function_); if (index !== -1) { this._after.splice(index, 1); } } }; } }; function createHooks() { return new Hookable(); } // ../node_modules/perfect-debounce/dist/index.mjs var DEBOUNCE_DEFAULTS = { trailing: true }; function debounce(fn, wait = 25, options = {}) { options = { ...DEBOUNCE_DEFAULTS, ...options }; if (!Number.isFinite(wait)) { throw new TypeError("Expected `wait` to be a finite number"); } let leadingValue; let timeout; let resolveList = []; let currentPromise; let trailingArgs; const applyFn = (_this, args) => { currentPromise = _applyPromised(fn, _this, args); currentPromise.finally(() => { currentPromise = null; if (options.trailing && trailingArgs && !timeout) { const promise = applyFn(_this, trailingArgs); trailingArgs = null; return promise; } }); return currentPromise; }; return function(...args) { if (currentPromise) { if (options.trailing) { trailingArgs = args; } return currentPromise; } return new Promise((resolve) => { const shouldCallNow = !timeout && options.leading; clearTimeout(timeout); timeout = setTimeout(() => { timeout = null; const promise = options.leading ? leadingValue : applyFn(this, args); for (const _resolve of resolveList) { _resolve(promise); } resolveList = []; }, wait); if (shouldCallNow) { leadingValue = applyFn(this, args); resolve(leadingValue); } else { resolveList.push(resolve); } }); }; } async function _applyPromised(fn, _this, args) { return await fn.apply(_this, args); } // ../node_modules/@vue/devtools-kit/dist/index.js var __create2 = Object.create; var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; var __getProtoOf2 = Object.getPrototypeOf; var __hasOwnProp2 = Object.prototype.hasOwnProperty; var __esm2 = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; }; var __commonJS2 = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __copyProps2 = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } return to; }; var __toESM2 = (mod, isNodeMode, target10) => (target10 = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp2(target10, "default", { value: mod, enumerable: true }) : target10, mod )); var init_esm_shims2 = __esm2({ "../../node_modules/.pnpm/tsup@8.0.2_@microsoft+api-extractor@7.43.0_@types+node@20.12.12__postcss@8.4.38_typescript@5.4.5/node_modules/tsup/assets/esm_shims.js"() { "use strict"; } }); var require_speakingurl = __commonJS2({ "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(exports, module) { "use strict"; init_esm_shims2(); (function(root) { "use strict"; var charMap = { // latin "À": "A", "Á": "A", "Â": "A", "Ã": "A", "Ä": "Ae", "Å": "A", "Æ": "AE", "Ç": "C", "È": "E", "É": "E", "Ê": "E", "Ë": "E", "Ì": "I", "Í": "I", "Î": "I", "Ï": "I", "Ð": "D", "Ñ": "N", "Ò": "O", "Ó": "O", "Ô": "O", "Õ": "O", "Ö": "Oe", "Ő": "O", "Ø": "O", "Ù": "U", "Ú": "U", "Û": "U", "Ü": "Ue", "Ű": "U", "Ý": "Y", "Þ": "TH", "ß": "ss", "à": "a", "á": "a", "â": "a", "ã": "a", "ä": "ae", "å": "a", "æ": "ae", "ç": "c", "è": "e", "é": "e", "ê": "e", "ë": "e", "ì": "i", "í": "i", "î": "i", "ï": "i", "ð": "d", "ñ": "n", "ò": "o", "ó": "o", "ô": "o", "õ": "o", "ö": "oe", "ő": "o", "ø": "o", "ù": "u", "ú": "u", "û": "u", "ü": "ue", "ű": "u", "ý": "y", "þ": "th", "ÿ": "y", "ẞ": "SS", // language specific // Arabic "ا": "a", "أ": "a", "إ": "i", "آ": "aa", "ؤ": "u", "ئ": "e", "ء": "a", "ب": "b", "ت": "t", "ث": "th", "ج": "j", "ح": "h", "خ": "kh", "د": "d", "ذ": "th", "ر": "r", "ز": "z", "س": "s", "ش": "sh", "ص": "s", "ض": "dh", "ط": "t", "ظ": "z", "ع": "a", "غ": "gh", "ف": "f", "ق": "q", "ك": "k", "ل": "l", "م": "m", "ن": "n", "ه": "h", "و": "w", "ي": "y", "ى": "a", "ة": "h", "ﻻ": "la", "ﻷ": "laa", "ﻹ": "lai", "ﻵ": "laa", // Persian additional characters than Arabic "گ": "g", "چ": "ch", "پ": "p", "ژ": "zh", "ک": "k", "ی": "y", // Arabic diactrics "َ": "a", "ً": "an", "ِ": "e", "ٍ": "en", "ُ": "u", "ٌ": "on", "ْ": "", // Arabic numbers "٠": "0", "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", // Persian numbers "۰": "0", "۱": "1", "۲": "2", "۳": "3", "۴": "4", "۵": "5", "۶": "6", "۷": "7", "۸": "8", "۹": "9", // Burmese consonants "က": "k", "ခ": "kh", "ဂ": "g", "ဃ": "ga", "င": "ng", "စ": "s", "ဆ": "sa", "ဇ": "z", "စျ": "za", "ည": "ny", "ဋ": "t", "ဌ": "ta", "ဍ": "d", "ဎ": "da", "ဏ": "na", "တ": "t", "ထ": "ta", "ဒ": "d", "ဓ": "da", "န": "n", "ပ": "p", "ဖ": "pa", "ဗ": "b", "ဘ": "ba", "မ": "m", "ယ": "y", "ရ": "ya", "လ": "l", "ဝ": "w", "သ": "th", "ဟ": "h", "ဠ": "la", "အ": "a", // consonant character combos "ြ": "y", "ျ": "ya", "ွ": "w", "ြွ": "yw", "ျွ": "ywa", "ှ": "h", // independent vowels "ဧ": "e", "၏": "-e", "ဣ": "i", "ဤ": "-i", "ဉ": "u", "ဦ": "-u", "ဩ": "aw", "သြော": "aw", "ဪ": "aw", // numbers "၀": "0", "၁": "1", "၂": "2", "၃": "3", "၄": "4", "၅": "5", "၆": "6", "၇": "7", "၈": "8", "၉": "9", // virama and tone marks which are silent in transliteration "္": "", "့": "", "း": "", // Czech "č": "c", "ď": "d", "ě": "e", "ň": "n", "ř": "r", "š": "s", "ť": "t", "ů": "u", "ž": "z", "Č": "C", "Ď": "D", "Ě": "E", "Ň": "N", "Ř": "R", "Š": "S", "Ť": "T", "Ů": "U", "Ž": "Z", // Dhivehi "ހ": "h", "ށ": "sh", "ނ": "n", "ރ": "r", "ބ": "b", "ޅ": "lh", "ކ": "k", "އ": "a", "ވ": "v", "މ": "m", "ފ": "f", "ދ": "dh", "ތ": "th", "ލ": "l", "ގ": "g", "ޏ": "gn", "ސ": "s", "ޑ": "d", "ޒ": "z", "ޓ": "t", "ޔ": "y", "ޕ": "p", "ޖ": "j", "ޗ": "ch", "ޘ": "tt", "ޙ": "hh", "ޚ": "kh", "ޛ": "th", "ޜ": "z", "ޝ": "sh", "ޞ": "s", "ޟ": "d", "ޠ": "t", "ޡ": "z", "ޢ": "a", "ޣ": "gh", "ޤ": "q", "ޥ": "w", "ަ": "a", "ާ": "aa", "ި": "i", "ީ": "ee", "ު": "u", "ޫ": "oo", "ެ": "e", "ޭ": "ey", "ޮ": "o", "ޯ": "oa", "ް": "", // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian // National system (2002) "ა": "a", "ბ": "b", "გ": "g", "დ": "d", "ე": "e", "ვ": "v", "ზ": "z", "თ": "t", "ი": "i", "კ": "k", "ლ": "l", "მ": "m", "ნ": "n", "ო": "o", "პ": "p", "ჟ": "zh", "რ": "r", "ს": "s", "ტ": "t", "უ": "u", "ფ": "p", "ქ": "k", "ღ": "gh", "ყ": "q", "შ": "sh", "ჩ": "ch", "ც": "ts", "ძ": "dz", "წ": "ts", "ჭ": "ch", "ხ": "kh", "ჯ": "j", "ჰ": "h", // Greek "α": "a", "β": "v", "γ": "g", "δ": "d", "ε": "e", "ζ": "z", "η": "i", "θ": "th", "ι": "i", "κ": "k", "λ": "l", "μ": "m", "ν": "n", "ξ": "ks", "ο": "o", "π": "p", "ρ": "r", "σ": "s", "τ": "t", "υ": "y", "φ": "f", "χ": "x", "ψ": "ps", "ω": "o", "ά": "a", "έ": "e", "ί": "i", "ό": "o", "ύ": "y", "ή": "i", "ώ": "o", "ς": "s", "ϊ": "i", "ΰ": "y", "ϋ": "y", "ΐ": "i", "Α": "A", "Β": "B", "Γ": "G", "Δ": "D", "Ε": "E", "Ζ": "Z", "Η": "I", "Θ": "TH", "Ι": "I", "Κ": "K", "Λ": "L", "Μ": "M", "Ν": "N", "Ξ": "KS", "Ο": "O", "Π": "P", "Ρ": "R", "Σ": "S", "Τ": "T", "Υ": "Y", "Φ": "F", "Χ": "X", "Ψ": "PS", "Ω": "O", "Ά": "A", "Έ": "E", "Ί": "I", "Ό": "O", "Ύ": "Y", "Ή": "I", "Ώ": "O", "Ϊ": "I", "Ϋ": "Y", // Latvian "ā": "a", // 'č': 'c', // duplicate "ē": "e", "ģ": "g", "ī": "i", "ķ": "k", "ļ": "l", "ņ": "n", // 'š': 's', // duplicate "ū": "u", // 'ž': 'z', // duplicate "Ā": "A", // 'Č': 'C', // duplicate "Ē": "E", "Ģ": "G", "Ī": "I", "Ķ": "k", "Ļ": "L", "Ņ": "N", // 'Š': 'S', // duplicate "Ū": "U", // 'Ž': 'Z', // duplicate // Macedonian "Ќ": "Kj", "ќ": "kj", "Љ": "Lj", "љ": "lj", "Њ": "Nj", "њ": "nj", "Тс": "Ts", "тс": "ts", // Polish "ą": "a", "ć": "c", "ę": "e", "ł": "l", "ń": "n", // 'ó': 'o', // duplicate "ś": "s", "ź": "z", "ż": "z", "Ą": "A", "Ć": "C", "Ę": "E", "Ł": "L", "Ń": "N", "Ś": "S", "Ź": "Z", "Ż": "Z", // Ukranian "Є": "Ye", "І": "I", "Ї": "Yi", "Ґ": "G", "є": "ye", "і": "i", "ї": "yi", "ґ": "g", // Romanian "ă": "a", "Ă": "A", "ș": "s", "Ș": "S", // 'ş': 's', // duplicate // 'Ş': 'S', // duplicate "ț": "t", "Ț": "T", "ţ": "t", "Ţ": "T", // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian // ICAO "а": "a", "б": "b", "в": "v", "г": "g", "д": "d", "е": "e", "ё": "yo", "ж": "zh", "з": "z", "и": "i", "й": "i", "к": "k", "л": "l", "м": "m", "н": "n", "о": "o", "п": "p", "р": "r", "с": "s", "т": "t", "у": "u", "ф": "f", "х": "kh", "ц": "c", "ч": "ch", "ш": "sh", "щ": "sh", "ъ": "", "ы": "y", "ь": "", "э": "e", "ю": "yu", "я": "ya", "А": "A", "Б": "B", "В": "V", "Г": "G", "Д": "D", "Е": "E", "Ё": "Yo", "Ж": "Zh", "З": "Z", "И": "I", "Й": "I", "К": "K", "Л": "L", "М": "M", "Н": "N", "О": "O", "П": "P", "Р": "R", "С": "S", "Т": "T", "У": "U", "Ф": "F", "Х": "Kh", "Ц": "C", "Ч": "Ch", "Ш": "Sh", "Щ": "Sh", "Ъ": "", "Ы": "Y", "Ь": "", "Э": "E", "Ю": "Yu", "Я": "Ya", // Serbian "ђ": "dj", "ј": "j", // 'љ': 'lj', // duplicate // 'њ': 'nj', // duplicate "ћ": "c", "џ": "dz", "Ђ": "Dj", "Ј": "j", // 'Љ': 'Lj', // duplicate // 'Њ': 'Nj', // duplicate "Ћ": "C", "Џ": "Dz", // Slovak "ľ": "l", "ĺ": "l", "ŕ": "r", "Ľ": "L", "Ĺ": "L", "Ŕ": "R", // Turkish "ş": "s", "Ş": "S", "ı": "i", "İ": "I", // 'ç': 'c', // duplicate // 'Ç': 'C', // duplicate // 'ü': 'u', // duplicate, see langCharMap // 'Ü': 'U', // duplicate, see langCharMap // 'ö': 'o', // duplicate, see langCharMap // 'Ö': 'O', // duplicate, see langCharMap "ğ": "g", "Ğ": "G", // Vietnamese "ả": "a", "Ả": "A", "ẳ": "a", "Ẳ": "A", "ẩ": "a", "Ẩ": "A", "đ": "d", "Đ": "D", "ẹ": "e", "Ẹ": "E", "ẽ": "e", "Ẽ": "E", "ẻ": "e", "Ẻ": "E", "ế": "e", "Ế": "E", "ề": "e", "Ề": "E", "ệ": "e", "Ệ": "E", "ễ": "e", "Ễ": "E", "ể": "e", "Ể": "E", "ỏ": "o", "ọ": "o", "Ọ": "o", "ố": "o", "Ố": "O", "ồ": "o", "Ồ": "O", "ổ": "o", "Ổ": "O", "ộ": "o", "Ộ": "O", "ỗ": "o", "Ỗ": "O", "ơ": "o", "Ơ": "O", "ớ": "o", "Ớ": "O", "ờ": "o", "Ờ": "O", "ợ": "o", "Ợ": "O", "ỡ": "o", "Ỡ": "O", "Ở": "o", "ở": "o", "ị": "i", "Ị": "I", "ĩ": "i", "Ĩ": "I", "ỉ": "i", "Ỉ": "i", "ủ": "u", "Ủ": "U", "ụ": "u", "Ụ": "U", "ũ": "u", "Ũ": "U", "ư": "u", "Ư": "U", "ứ": "u", "Ứ": "U", "ừ": "u", "Ừ": "U", "ự": "u", "Ự": "U", "ữ": "u", "Ữ": "U", "ử": "u", "Ử": "ư", "ỷ": "y", "Ỷ": "y", "ỳ": "y", "Ỳ": "Y", "ỵ": "y", "Ỵ": "Y", "ỹ": "y", "Ỹ": "Y", "ạ": "a", "Ạ": "A", "ấ": "a", "Ấ": "A", "ầ": "a", "Ầ": "A", "ậ": "a", "Ậ": "A", "ẫ": "a", "Ẫ": "A", // 'ă': 'a', // duplicate // 'Ă': 'A', // duplicate "ắ": "a", "Ắ": "A", "ằ": "a", "Ằ": "A", "ặ": "a", "Ặ": "A", "ẵ": "a", "Ẵ": "A", "⓪": "0", "①": "1", "②": "2", "③": "3", "④": "4", "⑤": "5", "⑥": "6", "⑦": "7", "⑧": "8", "⑨": "9", "⑩": "10", "⑪": "11", "⑫": "12", "⑬": "13", "⑭": "14", "⑮": "15", "⑯": "16", "⑰": "17", "⑱": "18", "⑲": "18", "⑳": "18", "⓵": "1", "⓶": "2", "⓷": "3", "⓸": "4", "⓹": "5", "⓺": "6", "⓻": "7", "⓼": "8", "⓽": "9", "⓾": "10", "⓿": "0", "⓫": "11", "⓬": "12", "⓭": "13", "⓮": "14", "⓯": "15", "⓰": "16", "⓱": "17", "⓲": "18", "⓳": "19", "⓴": "20", "Ⓐ": "A", "Ⓑ": "B", "Ⓒ": "C", "Ⓓ": "D", "Ⓔ": "E", "Ⓕ": "F", "Ⓖ": "G", "Ⓗ": "H", "Ⓘ": "I", "Ⓙ": "J", "Ⓚ": "K", "Ⓛ": "L", "Ⓜ": "M", "Ⓝ": "N", "Ⓞ": "O", "Ⓟ": "P", "Ⓠ": "Q", "Ⓡ": "R", "Ⓢ": "S", "Ⓣ": "T", "Ⓤ": "U", "Ⓥ": "V", "Ⓦ": "W", "Ⓧ": "X", "Ⓨ": "Y", "Ⓩ": "Z", "ⓐ": "a", "ⓑ": "b", "ⓒ": "c", "ⓓ": "d", "ⓔ": "e", "ⓕ": "f", "ⓖ": "g", "ⓗ": "h", "ⓘ": "i", "ⓙ": "j", "ⓚ": "k", "ⓛ": "l", "ⓜ": "m", "ⓝ": "n", "ⓞ": "o", "ⓟ": "p", "ⓠ": "q", "ⓡ": "r", "ⓢ": "s", "ⓣ": "t", "ⓤ": "u", "ⓦ": "v", "ⓥ": "w", "ⓧ": "x", "ⓨ": "y", "ⓩ": "z", // symbols "“": '"', "”": '"', "‘": "'", "’": "'", "∂": "d", "ƒ": "f", "™": "(TM)", "©": "(C)", "œ": "oe", "Œ": "OE", "®": "(R)", "†": "+", "℠": "(SM)", "…": "...", "˚": "o", "º": "o", "ª": "a", "•": "*", "၊": ",", "။": ".", // currency "$": "USD", "€": "EUR", "₢": "BRN", "₣": "FRF", "£": "GBP", "₤": "ITL", "₦": "NGN", "₧": "ESP", "₩": "KRW", "₪": "ILS", "₫": "VND", "₭": "LAK", "₮": "MNT", "₯": "GRD", "₱": "ARS", "₲": "PYG", "₳": "ARA", "₴": "UAH", "₵": "GHS", "¢": "cent", "¥": "CNY", "元": "CNY", "円": "YEN", "﷼": "IRR", "₠": "EWE", "฿": "THB", "₨": "INR", "₹": "INR", "₰": "PF", "₺": "TRY", "؋": "AFN", "₼": "AZN", "лв": "BGN", "៛": "KHR", "₡": "CRC", "₸": "KZT", "ден": "MKD", "zł": "PLN", "₽": "RUB", "₾": "GEL" }; var lookAheadCharArray = [ // burmese "်", // Dhivehi "ް" ]; var diatricMap = { // Burmese // dependent vowels "ာ": "a", "ါ": "a", "ေ": "e", "ဲ": "e", "ိ": "i", "ီ": "i", "ို": "o", "ု": "u", "ူ": "u", "ေါင်": "aung", "ော": "aw", "ော်": "aw", "ေါ": "aw", "ေါ်": "aw", "်": "်", // this is special case but the character will be converted to latin in the code "က်": "et", "ိုက်": "aik", "ောက်": "auk", "င်": "in", "ိုင်": "aing", "ောင်": "aung", "စ်": "it", "ည်": "i", "တ်": "at", "ိတ်": "eik", "ုတ်": "ok", "ွတ်": "ut", "ေတ်": "it", "ဒ်": "d", "ိုဒ်": "ok", "ုဒ်": "ait", "န်": "an", "ာန်": "an", "ိန်": "ein", "ုန်": "on", "ွန်": "un", "ပ်": "at", "ိပ်": "eik", "ုပ်": "ok", "ွပ်": "ut", "န်ုပ်": "nub", "မ်": "an", "ိမ်": "ein", "ုမ်": "on", "ွမ်": "un", "ယ်": "e", "ိုလ်": "ol", "ဉ်": "in", "ံ": "an", "ိံ": "ein", "ုံ": "on", // Dhivehi "ައް": "ah", "ަށް": "ah" }; var langCharMap = { "en": {}, // default language "az": { // Azerbaijani "ç": "c", "ə": "e", "ğ": "g", "ı": "i", "ö": "o", "ş": "s", "ü": "u", "Ç": "C", "Ə": "E", "Ğ": "G", "İ": "I", "Ö": "O", "Ş": "S", "Ü": "U" }, "cs": { // Czech "č": "c", "ď": "d", "ě": "e", "ň": "n", "ř": "r", "š": "s", "ť": "t", "ů": "u", "ž": "z", "Č": "C", "Ď": "D", "Ě": "E", "Ň": "N", "Ř": "R", "Š": "S", "Ť": "T", "Ů": "U", "Ž": "Z" }, "fi": { // Finnish // 'å': 'a', duplicate see charMap/latin // 'Å': 'A', duplicate see charMap/latin "ä": "a", // ok "Ä": "A", // ok "ö": "o", // ok "Ö": "O" // ok }, "hu": { // Hungarian "ä": "a", // ok "Ä": "A", // ok // 'á': 'a', duplicate see charMap/latin // 'Á': 'A', duplicate see charMap/latin "ö": "o", // ok "Ö": "O", // ok // 'ő': 'o', duplicate see charMap/latin // 'Ő': 'O', duplicate see charMap/latin "ü": "u", "Ü": "U", "ű": "u", "Ű": "U" }, "lt": { // Lithuanian "ą": "a", "č": "c", "ę": "e", "ė": "e", "į": "i", "š": "s", "ų": "u", "ū": "u", "ž": "z", "Ą": "A", "Č": "C", "Ę": "E", "Ė": "E", "Į": "I", "Š": "S", "Ų": "U", "Ū": "U" }, "lv": { // Latvian "ā": "a", "č": "c", "ē": "e", "ģ": "g", "ī": "i", "ķ": "k", "ļ": "l", "ņ": "n", "š": "s", "ū": "u", "ž": "z", "Ā": "A", "Č": "C", "Ē": "E", "Ģ": "G", "Ī": "i", "Ķ": "k", "Ļ": "L", "Ņ": "N", "Š": "S", "Ū": "u", "Ž": "Z" }, "pl": { // Polish "ą": "a", "ć": "c", "ę": "e", "ł": "l", "ń": "n", "ó": "o", "ś": "s", "ź": "z", "ż": "z", "Ą": "A", "Ć": "C", "Ę": "e", "Ł": "L", "Ń": "N", "Ó": "O", "Ś": "S", "Ź": "Z", "Ż": "Z" }, "sv": { // Swedish // 'å': 'a', duplicate see charMap/latin // 'Å': 'A', duplicate see charMap/latin "ä": "a", // ok "Ä": "A", // ok "ö": "o", // ok "Ö": "O" // ok }, "sk": { // Slovak "ä": "a", "Ä": "A" }, "sr": { // Serbian "љ": "lj", "њ": "nj", "Љ": "Lj", "Њ": "Nj", "đ": "dj", "Đ": "Dj" }, "tr": { // Turkish "Ü": "U", "Ö": "O", "ü": "u", "ö": "o" } }; var symbolMap = { "ar": { "∆": "delta", "∞": "la-nihaya", "♥": "hob", "&": "wa", "|": "aw", "<": "aqal-men", ">": "akbar-men", "∑": "majmou", "¤": "omla" }, "az": {}, "ca": { "∆": "delta", "∞": "infinit", "♥": "amor", "&": "i", "|": "o", "<": "menys que", ">": "mes que", "∑": "suma dels", "¤": "moneda" }, "cs": { "∆": "delta", "∞": "nekonecno", "♥": "laska", "&": "a", "|": "nebo", "<": "mensi nez", ">": "vetsi nez", "∑": "soucet", "¤": "mena" }, "de": { "∆": "delta", "∞": "unendlich", "♥": "Liebe", "&": "und", "|": "oder", "<": "kleiner als", ">": "groesser als", "∑": "Summe von", "¤": "Waehrung" }, "dv": { "∆": "delta", "∞": "kolunulaa", "♥": "loabi", "&": "aai", "|": "noonee", "<": "ah vure kuda", ">": "ah vure bodu", "∑": "jumula", "¤": "faisaa" }, "en": { "∆": "delta", "∞": "infinity", "♥": "love", "&": "and", "|": "or", "<": "less than", ">": "greater than", "∑": "sum", "¤": "currency" }, "es": { "∆": "delta", "∞": "infinito", "♥": "amor", "&": "y", "|": "u", "<": "menos que", ">": "mas que", "∑": "suma de los", "¤": "moneda" }, "fa": { "∆": "delta", "∞": "bi-nahayat", "♥": "eshgh", "&": "va", "|": "ya", "<": "kamtar-az", ">": "bishtar-az", "∑": "majmooe", "¤": "vahed" }, "fi": { "∆": "delta", "∞": "aarettomyys", "♥": "rakkaus", "&": "ja", "|": "tai", "<": "pienempi kuin", ">": "suurempi kuin", "∑": "summa", "¤": "valuutta" }, "fr": { "∆": "delta", "∞": "infiniment", "♥": "Amour", "&": "et", "|": "ou", "<": "moins que", ">": "superieure a", "∑": "somme des", "¤": "monnaie" }, "ge": { "∆": "delta", "∞": "usasruloba", "♥": "siqvaruli", "&": "da", "|": "an", "<": "naklebi", ">": "meti", "∑": "jami", "¤": "valuta" }, "gr": {}, "hu": { "∆": "delta", "∞": "vegtelen", "♥": "szerelem", "&": "es", "|": "vagy", "<": "kisebb mint", ">": "nagyobb mint", "∑": "szumma", "¤": "penznem" }, "it": { "∆": "delta", "∞": "infinito", "♥": "amore", "&": "e", "|": "o", "<": "minore di", ">": "maggiore di", "∑": "somma", "¤": "moneta" }, "lt": { "∆": "delta", "∞": "begalybe", "♥": "meile", "&": "ir", "|": "ar", "<": "maziau nei", ">": "daugiau nei", "∑": "suma", "¤": "valiuta" }, "lv": { "∆": "delta", "∞": "bezgaliba", "♥": "milestiba", "&": "un", "|": "vai", "<": "mazak neka", ">": "lielaks neka", "∑": "summa", "¤": "valuta" }, "my": { "∆": "kwahkhyaet", "∞": "asaonasme", "♥": "akhyait", "&": "nhin", "|": "tho", "<": "ngethaw", ">": "kyithaw", "∑": "paungld", "¤": "ngwekye" }, "mk": {}, "nl": { "∆": "delta", "∞": "oneindig", "♥": "liefde", "&": "en", "|": "of", "<": "kleiner dan", ">": "groter dan", "∑": "som", "¤": "valuta" }, "pl": { "∆": "delta", "∞": "nieskonczonosc", "♥": "milosc", "&": "i", "|": "lub", "<": "mniejsze niz", ">": "wieksze niz", "∑": "suma", "¤": "waluta" }, "pt": { "∆": "delta", "∞": "infinito", "♥": "amor", "&": "e", "|": "ou", "<": "menor que", ">": "maior que", "∑": "soma", "¤": "moeda" }, "ro": { "∆": "delta", "∞": "infinit", "♥": "dragoste", "&": "si", "|": "sau", "<": "mai mic ca", ">": "mai mare ca", "∑": "suma", "¤": "valuta" }, "ru": { "∆": "delta", "∞": "beskonechno", "♥": "lubov", "&": "i", "|": "ili", "<": "menshe", ">": "bolshe", "∑": "summa", "¤": "valjuta" }, "sk": { "∆": "delta", "∞": "nekonecno", "♥": "laska", "&": "a", "|": "alebo", "<": "menej ako", ">": "viac ako", "∑": "sucet", "¤": "mena" }, "sr": {}, "tr": { "∆": "delta", "∞": "sonsuzluk", "♥": "ask", "&": "ve", "|": "veya", "<": "kucuktur", ">": "buyuktur", "∑": "toplam", "¤": "para birimi" }, "uk": { "∆": "delta", "∞": "bezkinechnist", "♥": "lubov", "&": "i", "|": "abo", "<": "menshe", ">": "bilshe", "∑": "suma", "¤": "valjuta" }, "vn": { "∆": "delta", "∞": "vo cuc", "♥": "yeu", "&": "va", "|": "hoac", "<": "nho hon", ">": "lon hon", "∑": "tong", "¤": "tien te" } }; var uricChars = [";", "?", ":", "@", "&", "=", "+", "$", ",", "/"].join(""); var uricNoSlashChars = [";", "?", ":", "@", "&", "=", "+", "$", ","].join(""); var markChars = [".", "!", "~", "*", "'", "(", ")"].join(""); var getSlug = function getSlug2(input, opts) { var separator = "-"; var result = ""; var diatricString = ""; var convertSymbols = true; var customReplacements = {}; var maintainCase; var titleCase; var truncate; var uricFlag; var uricNoSlashFlag; var markFlag; var symbol; var langChar; var lucky; var i; var ch; var l; var lastCharWasSymbol; var lastCharWasDiatric; var allowedChars = ""; if (typeof input !== "string") { return ""; } if (typeof opts === "string") { separator = opts; } symbol = symbolMap.en; langChar = langCharMap.en; if (typeof opts === "object") { maintainCase = opts.maintainCase || false; customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements; truncate = +opts.truncate > 1 && opts.truncate || false; uricFlag = opts.uric || false; uricNoSlashFlag = opts.uricNoSlash || false; markFlag = opts.mark || false; convertSymbols = opts.symbols === false || opts.lang === false ? false : true; separator = opts.separator || separator; if (uricFlag) { allowedChars += uricChars; } if (uricNoSlashFlag) { allowedChars += uricNoSlashChars; } if (markFlag) { allowedChars += markChars; } symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {}; langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en; if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) { opts.titleCase.forEach(function(v) { customReplacements[v + ""] = v + ""; }); titleCase = true; } else { titleCase = !!opts.titleCase; } if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) { opts.custom.forEach(function(v) { customReplacements[v + ""] = v + ""; }); } Object.keys(customReplacements).forEach(function(v) { var r; if (v.length > 1) { r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi"); } else { r = new RegExp(escapeChars(v), "gi"); } input = input.replace(r, customReplacements[v]); }); for (ch in customReplacements) { allowedChars += ch; } } allowedChars += separator; allowedChars = escapeChars(allowedChars); input = input.replace(/(^\s+|\s+$)/g, ""); lastCharWasSymbol = false; lastCharWasDiatric = false; for (i = 0, l = input.length; i < l; i++) { ch = input[i]; if (isReplacedCustomChar(ch, customReplacements)) { lastCharWasSymbol = false; } else if (langChar[ch]) { ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch]; lastCharWasSymbol = false; } else if (ch in charMap) { if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { diatricString += ch; ch = ""; } else if (lastCharWasDiatric === true) { ch = diatricMap[diatricString] + charMap[ch]; diatricString = ""; } else { ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch]; } lastCharWasSymbol = false; lastCharWasDiatric = false; } else if (ch in diatricMap) { diatricString += ch; ch = ""; if (i === l - 1) { ch = diatricMap[diatricString]; } lastCharWasDiatric = true; } else if ( // process symbol chars symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1) ) { ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ""; lastCharWasSymbol = true; } else { if (lastCharWasDiatric === true) { ch = diatricMap[diatricString] + ch; diatricString = ""; lastCharWasDiatric = false; } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { ch = " " + ch; } lastCharWasSymbol = false; } result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator); } if (titleCase) { result = result.replace(/(\w)(\S*)/g, function(_, i2, r) { var j = i2.toUpperCase() + (r !== null ? r : ""); return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase(); }); } result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), ""); if (truncate && result.length > truncate) { lucky = result.charAt(truncate) === separator; result = result.slice(0, truncate); if (!lucky) { result = result.slice(0, result.lastIndexOf(separator)); } } if (!maintainCase && !titleCase) { result = result.toLowerCase(); } return result; }; var createSlug = function createSlug2(opts) { return function getSlugWithConfig(input) { return getSlug(input, opts); }; }; var escapeChars = function escapeChars2(input) { return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&"); }; var isReplacedCustomChar = function(ch, customReplacements) { for (var c in customReplacements) { if (customReplacements[c] === ch) { return true; } } }; if (typeof module !== "undefined" && module.exports) { module.exports = getSlug; module.exports.createSlug = createSlug; } else if (typeof define !== "undefined" && define.amd) { define([], function() { return getSlug; }); } else { try { if (root.getSlug || root.createSlug) { throw "speakingurl: globals exists /(getSlug|createSlug)/"; } else { root.getSlug = getSlug; root.createSlug = createSlug; } } catch (e) { } } })(exports); } }); var require_speakingurl2 = __commonJS2({ "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(exports, module) { "use strict"; init_esm_shims2(); module.exports = require_speakingurl(); } }); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var _a; var _b; var devtoolsHooks = (_b = (_a = target).__VUE_DEVTOOLS_HOOK) != null ? _b : _a.__VUE_DEVTOOLS_HOOK = createHooks(); var on = { vueAppInit(fn) { devtoolsHooks.hook("app:init", fn); }, vueAppUnmount(fn) { devtoolsHooks.hook("app:unmount", fn); }, vueAppConnected(fn) { devtoolsHooks.hook("app:connected", fn); }, componentAdded(fn) { return devtoolsHooks.hook("component:added", fn); }, componentUpdated(fn) { return devtoolsHooks.hook("component:updated", fn); }, componentRemoved(fn) { return devtoolsHooks.hook("component:removed", fn); }, setupDevtoolsPlugin(fn) { devtoolsHooks.hook("devtools-plugin:setup", fn); } }; var hook = { on, setupDevToolsPlugin(pluginDescriptor, setupFn) { return devtoolsHooks.callHook("devtools-plugin:setup", pluginDescriptor, setupFn); } }; init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var import_speakingurl = __toESM2(require_speakingurl2(), 1); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var _a2; var _b2; var apiHooks = (_b2 = (_a2 = target).__VUE_DEVTOOLS_API_HOOK) != null ? _b2 : _a2.__VUE_DEVTOOLS_API_HOOK = createHooks(); function getRoutes(router) { const routesMap = /* @__PURE__ */ new Map(); return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1)); } function filterRoutes(routes) { return routes.map((item) => { let { path, name, children } = item; if (children == null ? void 0 : children.length) children = filterRoutes(children); return { path, name, children }; }); } function filterCurrentRoute(route) { if (route) { const { fullPath, hash, href, path, name, matched, params, query } = route; return { fullPath, hash, href, path, name, params, query, matched: filterRoutes(matched) }; } return route; } function normalizeRouterInfo(appRecord, state) { function init() { var _a10; const router = (_a10 = appRecord.app) == null ? void 0 : _a10.config.globalProperties.$router; const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value); const routes = filterRoutes(getRoutes(router)); const c = console.warn; console.warn = () => { }; target[ROUTER_INFO_KEY] = { currentRoute: currentRoute ? deepClone(currentRoute) : {}, routes: deepClone(routes) }; target[ROUTER_KEY] = router; console.warn = c; } init(); hook.on.componentUpdated(debounce(() => { var _a10; if (((_a10 = state.activeAppRecord) == null ? void 0 : _a10.app) !== appRecord.app) return; init(); apiHooks.callHook("router-info:updated", target[ROUTER_INFO_KEY]); }, 200)); } function setupDevToolsPlugin(pluginDescriptor, setupFn) { return hook.setupDevToolsPlugin(pluginDescriptor, setupFn); } init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var StateEditor = class { constructor() { this.refEditor = new RefStateEditor(); } set(object, path, value, cb) { const sections = Array.isArray(path) ? path : path.split("."); const markRef = false; while (sections.length > 1) { const section = sections.shift(); if (object instanceof Map) object = object.get(section); if (object instanceof Set) object = Array.from(object.values())[section]; else object = object[section]; if (this.refEditor.isRef(object)) object = this.refEditor.get(object); } const field = sections[0]; const item = this.refEditor.get(object)[field]; if (cb) { cb(object, field, value); } else { if (this.refEditor.isRef(item)) this.refEditor.set(item, value); else if (markRef) object[field] = value; else object[field] = value; } } get(object, path) { const sections = Array.isArray(path) ? path : path.split("."); for (let i = 0; i < sections.length; i++) { if (object instanceof Map) object = object.get(sections[i]); else object = object[sections[i]]; if (this.refEditor.isRef(object)) object = this.refEditor.get(object); if (!object) return void 0; } return object; } has(object, path, parent = false) { if (typeof object === "undefined") return false; const sections = Array.isArray(path) ? path.slice() : path.split("."); const size = !parent ? 1 : 2; while (object && sections.length > size) { const section = sections.shift(); object = object[section]; if (this.refEditor.isRef(object)) object = this.refEditor.get(object); } return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]); } createDefaultSetCallback(state) { return (object, field, value) => { if (state.remove || state.newKey) { if (Array.isArray(object)) object.splice(field, 1); else if (toRaw(object) instanceof Map) object.delete(field); else if (toRaw(object) instanceof Set) object.delete(Array.from(object.values())[field]); else Reflect.deleteProperty(object, field); } if (!state.remove) { const target10 = object[state.newKey || field]; if (this.refEditor.isRef(target10)) this.refEditor.set(target10, value); else if (toRaw(object) instanceof Map) object.set(state.newKey || field, value); else if (toRaw(object) instanceof Set) object.add(value); else object[state.newKey || field] = value; } }; } }; var RefStateEditor = class { set(ref, value) { if (isRef(ref)) { ref.value = value; } else { if (ref instanceof Set && Array.isArray(value)) { ref.clear(); value.forEach((v) => ref.add(v)); return; } const currentKeys = Object.keys(value); if (ref instanceof Map) { const previousKeysSet2 = new Set(ref.keys()); currentKeys.forEach((key) => { ref.set(key, Reflect.get(value, key)); previousKeysSet2.delete(key); }); previousKeysSet2.forEach((key) => ref.delete(key)); return; } const previousKeysSet = new Set(Object.keys(ref)); currentKeys.forEach((key) => { Reflect.set(ref, key, Reflect.get(value, key)); previousKeysSet.delete(key); }); previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key)); } } get(ref) { return isRef(ref) ? ref.value : ref; } isRef(ref) { return isRef(ref) || isReactive(ref); } }; var stateEditor = new StateEditor(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var UNDEFINED = "__vue_devtool_undefined__"; var INFINITY = "__vue_devtool_infinity__"; var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__"; var NAN = "__vue_devtool_nan__"; init_esm_shims2(); init_esm_shims2(); var tokenMap = { [UNDEFINED]: "undefined", [NAN]: "NaN", [INFINITY]: "Infinity", [NEGATIVE_INFINITY]: "-Infinity" }; var reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => { acc[value] = key; return acc; }, {}); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var MAX_SERIALIZED_SIZE = 512 * 1024; init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); function addCustomTab(tab) { if (devtoolsState.tabs.some((t) => t.name === tab.name)) return; devtoolsState.tabs.push(tab); } init_esm_shims2(); function addCustomCommand(action) { if (devtoolsState.commands.some((t) => t.id === action.id)) return; devtoolsState.commands.push(action); } function removeCustomCommand(actionId) { const index = devtoolsState.commands.findIndex((t) => t.id === actionId); if (index === -1) return; devtoolsState.commands.splice(index, 1); } init_esm_shims2(); var _a3; var _b3; (_b3 = (_a3 = target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b3 : _a3.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true; init_esm_shims2(); init_esm_shims2(); init_esm_shims2(); var STATE_KEY = "__VUE_DEVTOOLS_GLOBAL_STATE__"; function initStateFactory() { return { connected: false, clientConnected: false, appRecords: [], activeAppRecord: null, selectedComponentId: null, pluginBuffer: [], tabs: [], commands: [], vitePluginDetected: false, activeAppRecordId: null, highPerfModeEnabled: false }; } var _a4; var _b4; (_b4 = (_a4 = target)[STATE_KEY]) != null ? _b4 : _a4[STATE_KEY] = initStateFactory(); var callStateUpdatedHook = debounce((state, oldState) => { apiHooks.callHook("devtools:state-updated", state, oldState); }, 80); var callConnectedUpdatedHook = debounce((state, oldState) => { apiHooks.callHook("devtools:connected-updated", state, oldState); }, 80); var devtoolsState = new Proxy(target[STATE_KEY], { get(target10, property) { return target[STATE_KEY][property]; }, deleteProperty(target10, property) { delete target10[property]; return true; }, set(target10, property, value) { const oldState = { ...target[STATE_KEY] }; target10[property] = value; target[STATE_KEY][property] = value; callStateUpdatedHook(target[STATE_KEY], oldState); if (["connected", "clientConnected"].includes(property.toString()) && oldState[property] !== value) callConnectedUpdatedHook(target[STATE_KEY], oldState); return true; } }); Object.defineProperty(devtoolsState.tabs, "push", { configurable: true, value(...items) { const result = Array.prototype.push.apply(this, items); devtoolsState.tabs = this; apiHooks.callHook("custom-tabs:updated", this); return result; } }); ["push", "splice"].forEach((method) => { Object.defineProperty(devtoolsState.commands, method, { configurable: true, value(...args) { const result = Array.prototype[method].apply(this, args); devtoolsState.commands = this; apiHooks.callHook("custom-commands:updated", this); return result; } }); }); init_esm_shims2(); init_esm_shims2(); var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__"; var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__"; var _a5; var _b5; (_b5 = (_a5 = target)[ROUTER_INFO_KEY]) != null ? _b5 : _a5[ROUTER_INFO_KEY] = { currentRoute: null, routes: [] }; var _a6; var _b6; (_b6 = (_a6 = target)[ROUTER_KEY]) != null ? _b6 : _a6[ROUTER_KEY] = null; var devtoolsRouterInfo = new Proxy(target[ROUTER_INFO_KEY], { get(target10, property) { return target[ROUTER_INFO_KEY][property]; } }); init_esm_shims2(); var CONTEXT_KEY = "__VUE_DEVTOOLS_CONTEXT__"; function initContextFactory() { return { appRecord: null, api: null, inspector: [], timelineLayer: [], routerInfo: {}, router: null, activeInspectorTreeId: "", componentPluginHookBuffer: [] }; } var _a7; var _b7; (_b7 = (_a7 = target)[CONTEXT_KEY]) != null ? _b7 : _a7[CONTEXT_KEY] = initContextFactory(); function resetDevToolsContext() { target[CONTEXT_KEY] = initContextFactory(); } var devtoolsContext = new Proxy(target[CONTEXT_KEY], { get(target10, property) { if (property === "router") return target[ROUTER_KEY]; else if (property === "clear") return resetDevToolsContext; return target[CONTEXT_KEY][property]; }, set(target10, property, value) { target[CONTEXT_KEY][property] = value; return true; } }); var devtoolsAppRecords = new Proxy(devtoolsState.appRecords, { get(_, property) { if (property === "value") return devtoolsState.appRecords; else if (property === "active") return devtoolsState.activeAppRecord; else if (property === "activeId") return devtoolsState.activeAppRecordId; }, set(target10, property, value) { var _a10; const oldState = { ...devtoolsState }; if (property === "value") { devtoolsState.appRecords = value; } else if (property === "active") { const _value = value; devtoolsState.activeAppRecord = _value; devtoolsContext.appRecord = _value; devtoolsContext.api = _value.api; devtoolsContext.inspector = (_a10 = _value.inspector) != null ? _a10 : []; normalizeRouterInfo(value, devtoolsState); devtoolsContext.routerInfo = devtoolsRouterInfo; } else if (property === "activeId") { devtoolsState.activeAppRecordId = value; } callStateUpdatedHook(devtoolsState, oldState); if (["connected", "clientConnected"].includes(property.toString()) && oldState[property] !== value) callConnectedUpdatedHook(devtoolsState, oldState); return true; } }); var _a8; var _b8; var appRecordInfo = (_b8 = (_a8 = target).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b8 : _a8.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = { id: 0, appIds: /* @__PURE__ */ new Set() }; init_esm_shims2(); var _a9; var _b9; (_b9 = (_a9 = target).__VUE_DEVTOOLS_ENV__) != null ? _b9 : _a9.__VUE_DEVTOOLS_ENV__ = { vitePluginDetected: false }; init_esm_shims2(); function onDevToolsConnected(fn) { return new Promise((resolve) => { if (devtoolsState.connected) { fn(); resolve(); return; } apiHooks.hook("devtools:connected-updated", (state) => { if (state.connected) { fn(); resolve(); } }); }); } function onDevToolsClientConnected(fn) { return new Promise((resolve) => { if (devtoolsState.connected && devtoolsState.clientConnected) { fn(); resolve(); return; } apiHooks.hook("devtools:connected-updated", (state) => { if (state.connected && state.clientConnected) { fn(); resolve(); } }); }); } init_esm_shims2(); export { addCustomCommand, addCustomTab, onDevToolsClientConnected, onDevToolsConnected, removeCustomCommand, setupDevToolsPlugin, setupDevToolsPlugin as setupDevtoolsPlugin }; //# sourceMappingURL=vitepress___@vue_devtools-api.js.map