zj-plugin-intelligent 1.2.8-beta.1 → 1.2.8-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -330,6 +330,18 @@ eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPAC
330
330
 
331
331
  /***/ }),
332
332
 
333
+ /***/ "./node_modules/@jboltai/tokui/dist/tokui.umd.js":
334
+ /*!*******************************************************!*\
335
+ !*** ./node_modules/@jboltai/tokui/dist/tokui.umd.js ***!
336
+ \*******************************************************/
337
+ /*! no static exports found */
338
+ /***/ (function(module, exports, __webpack_require__) {
339
+
340
+ "use strict";
341
+ eval("/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _createForOfIteratorHelper = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper */ \"./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js\").default;\n\nvar _slicedToArray = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\").default;\n\nvar _classCallCheck = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\").default;\n\nvar _createClass = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\").default;\n\nvar _defineProperty = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\").default;\n\nvar _typeof = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\").default;\n\n(function (e, t) {\n true && ( false ? undefined : _typeof(module)) < \"u\" ? t(exports) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (t),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (undefined);\n})(this, function (e) {\n Object.defineProperties(e, _defineProperty({\n __esModule: {\n value: !0\n }\n }, Symbol.toStringTag, {\n value: \"Module\"\n }));\n\n var t = Object.create,\n n = Object.defineProperty,\n r = Object.getOwnPropertyDescriptor,\n i = Object.getOwnPropertyNames,\n a = Object.getPrototypeOf,\n o = Object.prototype.hasOwnProperty,\n s = function s(e, t) {\n return function () {\n return t || (e((t = {\n exports: {}\n }).exports, t), e = null), t.exports;\n };\n },\n c = function c(e, t, a, s) {\n if (t && typeof t == \"object\" || typeof t == \"function\") for (var c = i(t), l = 0, u = c.length, d; l < u; l++) {\n d = c[l], !o.call(e, d) && d !== a && n(e, d, {\n get: function (e) {\n return t[e];\n }.bind(null, d),\n enumerable: !(s = r(t, d)) || s.enumerable\n });\n }\n return e;\n },\n l = function l(e, r, i) {\n return i = e == null ? {} : t(a(e)), c(r || !e || !e.__esModule ? n(i, \"default\", {\n value: e,\n enumerable: !0\n }) : i, e);\n },\n u = s(function (e, t) {\n var n = {\n \"zh-CN\": {\n \"common.close\": \"\\u5173\\u95ED\",\n \"common.ok\": \"\\u786E\\u5B9A\",\n \"common.cancel\": \"\\u53D6\\u6D88\",\n \"common.delete\": \"\\u5220\\u9664\",\n \"common.copy\": \"\\u590D\\u5236\",\n \"common.copied\": \"\\u5DF2\\u590D\\u5236\",\n \"common.download\": \"\\u4E0B\\u8F7D\",\n \"common.view\": \"\\u67E5\\u770B\",\n \"common.send\": \"\\u53D1\\u9001\",\n \"common.loading\": \"\\u52A0\\u8F7D\\u4E2D\",\n \"common.renderFailed\": \"\\u6E32\\u67D3\\u5931\\u8D25\",\n \"time.today\": \"\\u4ECA\\u5929\",\n \"time.yesterday\": \"\\u6628\\u5929\",\n \"time.earlier\": \"\\u66F4\\u65E9\",\n \"lightbox.preview\": \"\\u56FE\\u7247\\u9884\\u89C8\",\n \"lightbox.zoomIn\": \"\\u653E\\u5927\",\n \"lightbox.zoomOut\": \"\\u7F29\\u5C0F\",\n \"lightbox.reset\": \"\\u91CD\\u7F6E\",\n \"lightbox.rotateLeft\": \"\\u5DE6\\u65CB90\\xB0\",\n \"lightbox.rotateRight\": \"\\u53F3\\u65CB90\\xB0\",\n \"lightbox.flipH\": \"\\u6C34\\u5E73\\u7FFB\\u8F6C\",\n \"lightbox.flipV\": \"\\u5782\\u76F4\\u7FFB\\u8F6C\",\n \"layout.collapseDefault\": \"\\u5C55\\u5F00\",\n \"layout.gallery\": \"\\u56FE\\u7247\\u753B\\u5ECA\",\n \"layout.carouselPrev\": \"\\u4E0A\\u4E00\\u5F20\",\n \"layout.carouselNext\": \"\\u4E0B\\u4E00\\u5F20\",\n \"layout.carouselIndex\": \"\\u7B2C{n}\\u5F20\",\n \"pagination.aria\": \"\\u5206\\u9875\",\n \"pagination.totalCount\": \"\\u5171{count}\\u6761\",\n \"pagination.totalPages\": \"\\u5171{total}\\u9875\",\n \"menu.defaultTrigger\": \"\\u83DC\\u5355\",\n \"trigger.default\": \"\\u70B9\\u51FB\",\n \"think.title\": \"\\u601D\\u8003\\u8FC7\\u7A0B\",\n \"thinkChain.title\": \"\\u63A8\\u7406\\u8FC7\\u7A0B\",\n \"like.up\": \"\\u70B9\\u8D5E\",\n \"like.down\": \"\\u70B9\\u8E29\",\n \"actions.copy\": \"\\u590D\\u5236\",\n \"actions.regenerate\": \"\\u91CD\\u65B0\\u751F\\u6210\",\n \"actions.like\": \"\\u8D5E\",\n \"actions.dislike\": \"\\u8E29\",\n \"actions.delete\": \"\\u5220\\u9664\",\n \"file.unnamed\": \"\\u672A\\u77E5\\u6587\\u4EF6\",\n \"countdown.ended\": \"\\u5DF2\\u7ED3\\u675F\",\n \"duration.day\": \"\\u5929\",\n \"duration.hour\": \"\\u65F6\",\n \"duration.minute\": \"\\u5206\",\n \"duration.second\": \"\\u79D2\",\n \"popconfirm.trigger\": \"\\u786E\\u8BA4\",\n \"popconfirm.aria\": \"\\u786E\\u8BA4\\u64CD\\u4F5C\",\n \"backToTop.aria\": \"\\u56DE\\u5230\\u9876\\u90E8\",\n \"datepicker.title\": \"{y}\\u5E74{m}\\u6708\",\n \"datepicker.weekday.0\": \"\\u65E5\",\n \"datepicker.weekday.1\": \"\\u4E00\",\n \"datepicker.weekday.2\": \"\\u4E8C\",\n \"datepicker.weekday.3\": \"\\u4E09\",\n \"datepicker.weekday.4\": \"\\u56DB\",\n \"datepicker.weekday.5\": \"\\u4E94\",\n \"datepicker.weekday.6\": \"\\u516D\",\n \"chat.emptySessions\": \"\\u6682\\u65E0\\u4F1A\\u8BDD\",\n \"inputTag.placeholder\": \"\\u8F93\\u5165\\u540E\\u6309\\u56DE\\u8F66\\u6DFB\\u52A0\",\n \"command.placeholder\": \"\\u8F93\\u5165\\u5173\\u952E\\u8BCD\\u641C\\u7D22...\",\n \"command.aria\": \"\\u547D\\u4EE4\\u9762\\u677F\",\n \"command.noResult\": \"\\u6CA1\\u6709\\u627E\\u5230\\u5339\\u914D\\u7ED3\\u679C\",\n \"status.pending\": \"\\u7B49\\u5F85\\u4E2D\",\n \"status.running\": \"\\u8FD0\\u884C\\u4E2D\",\n \"status.done\": \"\\u5B8C\\u6210\",\n \"status.error\": \"\\u51FA\\u9519\",\n \"status.denied\": \"\\u5DF2\\u62D2\\u7EDD\",\n \"status.idle\": \"\\u7A7A\\u95F2\",\n \"status.paused\": \"\\u5DF2\\u6682\\u505C\",\n \"agent.thinking\": \"\\u601D\\u8003\",\n \"agent.generating\": \"\\u751F\\u6210\",\n \"agent.total\": \"\\u603B\\u8BA1\",\n \"picker.noMatch\": \"\\u65E0\\u5339\\u914D\\u9879\",\n \"rate.defaultLabel\": \"\\u8BC4\\u5206\",\n \"select.placeholder\": \"\\u8BF7\\u9009\\u62E9\",\n \"upload.hint\": \"\\u70B9\\u51FB\\u6216\\u62D6\\u62FD\\u6587\\u4EF6\\u81F3\\u6B64\\u5904\\u4E0A\\u4F20\",\n \"upload.browse\": \"\\u6D4F\\u89C8\\u6587\\u4EF6\",\n \"chart.empty\": \"\\u6682\\u65E0\\u6570\\u636E\",\n \"chart.seriesDefault\": \"\\u7CFB\\u5217{n}\",\n \"chart.itemDefault\": \"\\u9879\\u76EE{n}\",\n \"chart.sliceDefault\": \"\\u9879{n}\",\n \"chart.groupDefault\": \"\\u7EC4{n}\",\n \"chart.ringDefault\": \"\\u73AF{n}\",\n \"chart.dimensionDefault\": \"\\u7EF4\\u5EA6{n}\",\n \"chart.stageDefault\": \"\\u9636\\u6BB5{n}\",\n \"chart.taskDefault\": \"\\u4EFB\\u52A1{n}\",\n \"chart.conversion\": \"\\u8F6C\\u5316{pct}%\",\n \"chart.cumulative\": \"\\u7D2F\\u8BA1{n}\",\n \"chart.median\": \"\\u4E2D\\u4F4D\",\n \"chart.monthLabel\": \"{m}\\u6708\",\n \"chart.unsupportedType\": \"\\u4E0D\\u652F\\u6301\\u7684\\u56FE\\u8868\\u7C7B\\u578B: {type}\",\n \"chart.copyFailed\": \"\\u590D\\u5236\\u5931\\u8D25\",\n \"chart.unsupported\": \"\\u4E0D\\u652F\\u6301\",\n \"chart.copyImage\": \"\\u590D\\u5236\\u56FE\\u7247\",\n \"chart.downloadImage\": \"\\u4E0B\\u8F7D\\u56FE\\u7247\",\n \"chart.fullscreen\": \"\\u653E\\u5927\\u67E5\\u770B\",\n \"gauge.statusGood\": \"\\u826F\\u597D\",\n \"gauge.statusWarn\": \"\\u6CE8\\u610F\",\n \"gauge.statusDanger\": \"\\u544A\\u8B66\",\n \"gauge.statusInfo\": \"\\u6B63\\u5E38\",\n \"gauge.currentValue\": \"\\u5F53\\u524D\\u503C\",\n \"gantt.skipped\": \"\\u26A0 \\u8DF3\\u8FC7 {n} \\u6761\\u65E0\\u6548\\u4EFB\\u52A1\",\n \"gantt.noTasks\": \"\\u65E0\\u4EFB\\u52A1\\u6570\\u636E\",\n \"gantt.progress\": \"\\u8FDB\\u5EA6\"\n },\n \"en-US\": {\n \"common.close\": \"Close\",\n \"common.ok\": \"OK\",\n \"common.cancel\": \"Cancel\",\n \"common.delete\": \"Delete\",\n \"common.copy\": \"Copy\",\n \"common.copied\": \"Copied\",\n \"common.download\": \"Download\",\n \"common.view\": \"View\",\n \"common.send\": \"Send\",\n \"common.loading\": \"Loading\",\n \"common.renderFailed\": \"Render failed\",\n \"time.today\": \"Today\",\n \"time.yesterday\": \"Yesterday\",\n \"time.earlier\": \"Earlier\",\n \"lightbox.preview\": \"Image preview\",\n \"lightbox.zoomIn\": \"Zoom in\",\n \"lightbox.zoomOut\": \"Zoom out\",\n \"lightbox.reset\": \"Reset\",\n \"lightbox.rotateLeft\": \"Rotate 90\\xB0 left\",\n \"lightbox.rotateRight\": \"Rotate 90\\xB0 right\",\n \"lightbox.flipH\": \"Flip horizontal\",\n \"lightbox.flipV\": \"Flip vertical\",\n \"layout.collapseDefault\": \"Expand\",\n \"layout.gallery\": \"Image gallery\",\n \"layout.carouselPrev\": \"Previous\",\n \"layout.carouselNext\": \"Next\",\n \"layout.carouselIndex\": \"Image {n}\",\n \"pagination.aria\": \"Pagination\",\n \"pagination.totalCount\": \"{count} items\",\n \"pagination.totalPages\": \"{total} pages\",\n \"menu.defaultTrigger\": \"Menu\",\n \"trigger.default\": \"Click\",\n \"think.title\": \"Reasoning\",\n \"thinkChain.title\": \"Reasoning process\",\n \"like.up\": \"Like\",\n \"like.down\": \"Dislike\",\n \"actions.copy\": \"Copy\",\n \"actions.regenerate\": \"Regenerate\",\n \"actions.like\": \"Like\",\n \"actions.dislike\": \"Dislike\",\n \"actions.delete\": \"Delete\",\n \"file.unnamed\": \"Unnamed file\",\n \"countdown.ended\": \"Ended\",\n \"duration.day\": \"d\",\n \"duration.hour\": \"h\",\n \"duration.minute\": \"m\",\n \"duration.second\": \"s\",\n \"popconfirm.trigger\": \"Confirm\",\n \"popconfirm.aria\": \"Confirm action\",\n \"backToTop.aria\": \"Back to top\",\n \"datepicker.title\": \"{m}/{y}\",\n \"datepicker.weekday.0\": \"Sun\",\n \"datepicker.weekday.1\": \"Mon\",\n \"datepicker.weekday.2\": \"Tue\",\n \"datepicker.weekday.3\": \"Wed\",\n \"datepicker.weekday.4\": \"Thu\",\n \"datepicker.weekday.5\": \"Fri\",\n \"datepicker.weekday.6\": \"Sat\",\n \"chat.emptySessions\": \"No conversations\",\n \"inputTag.placeholder\": \"Press Enter to add\",\n \"command.placeholder\": \"Type to search...\",\n \"command.aria\": \"Command palette\",\n \"command.noResult\": \"No results found\",\n \"status.pending\": \"Pending\",\n \"status.running\": \"Running\",\n \"status.done\": \"Done\",\n \"status.error\": \"Error\",\n \"status.denied\": \"Denied\",\n \"status.idle\": \"Idle\",\n \"status.paused\": \"Paused\",\n \"agent.thinking\": \"Thinking\",\n \"agent.generating\": \"Generating\",\n \"agent.total\": \"Total\",\n \"picker.noMatch\": \"No matches\",\n \"rate.defaultLabel\": \"Rating\",\n \"select.placeholder\": \"Select...\",\n \"upload.hint\": \"Click or drag files here to upload\",\n \"upload.browse\": \"Browse\",\n \"chart.empty\": \"No data\",\n \"chart.seriesDefault\": \"Series {n}\",\n \"chart.itemDefault\": \"Item {n}\",\n \"chart.sliceDefault\": \"Slice {n}\",\n \"chart.groupDefault\": \"Group {n}\",\n \"chart.ringDefault\": \"Ring {n}\",\n \"chart.dimensionDefault\": \"Dim {n}\",\n \"chart.stageDefault\": \"Stage {n}\",\n \"chart.taskDefault\": \"Task {n}\",\n \"chart.conversion\": \"{pct}% conv\",\n \"chart.cumulative\": \"Cumulative {n}\",\n \"chart.median\": \"median\",\n \"chart.monthLabel\": \"{m}-\",\n \"chart.unsupportedType\": \"Unsupported chart type: {type}\",\n \"chart.copyFailed\": \"Copy failed\",\n \"chart.unsupported\": \"Unsupported\",\n \"chart.copyImage\": \"Copy image\",\n \"chart.downloadImage\": \"Download image\",\n \"chart.fullscreen\": \"Fullscreen\",\n \"gauge.statusGood\": \"Good\",\n \"gauge.statusWarn\": \"Warning\",\n \"gauge.statusDanger\": \"Critical\",\n \"gauge.statusInfo\": \"Normal\",\n \"gauge.currentValue\": \"Current\",\n \"gantt.skipped\": \"\\u26A0 Skipped {n} invalid tasks\",\n \"gantt.noTasks\": \"No task data\",\n \"gantt.progress\": \"Progress\"\n }\n },\n r = \"zh-CN\",\n i = r,\n a = n[r];\n\n function o(e) {\n if (typeof e == \"string\" && n[e]) return e;\n\n if (typeof e == \"string\") {\n var t = e.toLowerCase();\n if (n[t]) return t;\n var i = t.split(\"-\")[0];\n if (n[i]) return i;\n if (i === \"zh\") return \"zh-CN\";\n if (i === \"en\") return \"en-US\";\n }\n\n return r;\n }\n\n function s(e, t) {\n return t ? e.replace(/\\{(\\w+)\\}/g, function (e, n) {\n return t[n] == null ? e : String(t[n]);\n }) : e;\n }\n\n function c(e, t) {\n var i = a[e];\n return i === void 0 && (i = n[r][e]), i === void 0 ? e : t ? s(i, t) : i;\n }\n\n function l() {\n try {\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.documentElement && document.documentElement.lang) return document.documentElement.lang;\n } catch (_unused) {}\n\n try {\n if ((typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) < \"u\" && navigator.language) return navigator.language;\n } catch (_unused2) {}\n\n return r;\n }\n\n var u = {\n init: function init(e) {\n var t = o(e !== null && e !== void 0 ? e : l());\n return i = t, a = n[t] || n[r], t;\n },\n setLocale: function setLocale(e) {\n var t = o(e);\n return i = t, a = n[t] || n[r], t;\n },\n getLocale: function getLocale() {\n return i;\n },\n registerLocale: function registerLocale(e, t) {\n !e || typeof e != \"string\" || !t || typeof t != \"object\" || (n[e] = Object.assign({}, n[e] || {}, t), i === e && (a = n[e]));\n },\n t: c\n };\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.TokUII18n = u, window.TokUI._internal.t = c, window.TokUI.setLocale = u.setLocale, window.TokUI.getLocale = u.getLocale, window.TokUI.registerLocale = u.registerLocale, u.init()), t !== void 0 && t.exports && (t.exports = u);\n }),\n d = s(function (e, t) {\n var n = new Set([\"__proto__\", \"constructor\", \"prototype\"]),\n r = {\n handlers: {},\n registerHandler: function registerHandler(e, t) {\n if (!n.has(e)) {\n if (typeof t != \"function\") throw TypeError(\"TokUI EventBUS: handler must be a function, got \" + _typeof(t));\n this.handlers[e] && console.warn(\"TokUI EventBUS: handler \\\"\" + e + \"\\\" \\u5DF2\\u88AB\\u8986\\u76D6\"), this.handlers[e] = t;\n }\n },\n removeHandler: function removeHandler(e) {\n delete this.handlers[e];\n },\n getHandler: function getHandler(e) {\n return this.handlers[e] || null;\n },\n clearAll: function clearAll() {\n this.handlers = {};\n },\n getHandlerNames: function getHandlerNames() {\n return Object.keys(this.handlers);\n }\n };\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.TokUIEventBus = r, window.TokUI.registerHandler = r.registerHandler.bind(r), window.TokUI.removeHandler = r.removeHandler.bind(r)), t !== void 0 && t.exports && (t.exports = r);\n }),\n f = s(function (e, t) {\n function n(e) {\n return {\n r: parseInt(e.slice(1, 3), 16),\n g: parseInt(e.slice(3, 5), 16),\n b: parseInt(e.slice(5, 7), 16)\n };\n }\n\n function r(e) {\n var t = function t(e) {\n return Math.max(0, Math.min(255, Math.round(e)));\n };\n\n return \"#\" + [t(e.r), t(e.g), t(e.b)].map(function (e) {\n return e.toString(16).padStart(2, \"0\");\n }).join(\"\");\n }\n\n function i(e, t, n) {\n e /= 255, t /= 255, n /= 255;\n var r = Math.max(e, t, n),\n i = r - Math.min(e, t, n),\n a = 0,\n o = r === 0 ? 0 : i / r,\n s = r;\n return i !== 0 && (a = r === e ? ((t - n) / i + (t < n ? 6 : 0)) / 6 : r === t ? ((n - e) / i + 2) / 6 : ((e - t) / i + 4) / 6), {\n h: a * 360,\n s: o,\n v: s\n };\n }\n\n function a(e, t, n) {\n e = (e % 360 + 360) % 360, t = Math.max(0, Math.min(1, t)), n = Math.max(0, Math.min(1, n));\n var r = n * t,\n i = r * (1 - Math.abs(e / 60 % 2 - 1)),\n a = n - r,\n o = 0,\n s = 0,\n c = 0;\n return e < 60 ? (o = r, s = i, c = 0) : e < 120 ? (o = i, s = r, c = 0) : e < 180 ? (o = 0, s = r, c = i) : e < 240 ? (o = 0, s = i, c = r) : e < 300 ? (o = i, s = 0, c = r) : (o = r, s = 0, c = i), {\n r: Math.round((o + a) * 255),\n g: Math.round((s + a) * 255),\n b: Math.round((c + a) * 255)\n };\n }\n\n var o = 2,\n s = .16,\n c = .05,\n l = .05,\n u = .15,\n d = 5,\n f = 4,\n p = [{\n index: 7,\n opacity: .15\n }, {\n index: 6,\n opacity: .25\n }, {\n index: 5,\n opacity: .3\n }, {\n index: 5,\n opacity: .45\n }, {\n index: 5,\n opacity: .65\n }, {\n index: 5,\n opacity: .85\n }, {\n index: 4,\n opacity: .9\n }, {\n index: 3,\n opacity: .95\n }, {\n index: 2,\n opacity: .97\n }, {\n index: 1,\n opacity: .98\n }];\n\n function m(e, t, n) {\n var r = Math.round(e.h) >= 60 && Math.round(e.h) <= 240 ? n ? Math.round(e.h) - o * t : Math.round(e.h) + o * t : n ? Math.round(e.h) + o * t : Math.round(e.h) - o * t;\n return r < 0 ? r += 360 : r >= 360 && (r -= 360), r;\n }\n\n function h(e, t, n) {\n if (e.h === 0 && e.s === 0) return e.s;\n var r = n ? e.s - s * t : t === f ? e.s + s : e.s + c * t;\n return r > 1 && (r = 1), n && t === d && r > .1 && (r = .1), r < .06 && (r = .06), Number(r.toFixed(2));\n }\n\n function g(e, t, n) {\n var r = n ? e.v + l * t : e.v - u * t;\n return r > 1 && (r = 1), Number(r.toFixed(2));\n }\n\n function _(e, t, n) {\n var r = n / 100;\n return {\n r: (t.r - e.r) * r + e.r,\n g: (t.g - e.g) * r + e.g,\n b: (t.b - e.b) * r + e.b\n };\n }\n\n function v(e) {\n for (var t = [], o = n(e), s = i(o.r, o.g, o.b), c = d; c > 0; --c) {\n var l = m(s, c, !0),\n u = h(s, c, !0),\n p = g(s, c, !0);\n t.push(r(a(l, u, p)));\n }\n\n t.push(r(o));\n\n for (var _ = 1; _ <= f; _ += 1) {\n var v = m(s, _, !1),\n y = h(s, _, !1),\n b = g(s, _, !1);\n t.push(r(a(v, y, b)));\n }\n\n return t;\n }\n\n function y(e, t) {\n var i = v(e),\n a = n(t || \"#141414\");\n return p.map(function (e) {\n return r(_(a, n(i[e.index - 1]), e.opacity * 100));\n });\n }\n\n function b(e, t) {\n var n = t || {};\n return n.dark ? y(e, n.backgroundColor) : v(e);\n }\n\n function x(e, t) {\n for (var n = t || {}, r = {}, i = [\"primary\", \"danger\", \"success\", \"warning\"], a = 0; a < i.length; a++) {\n var o = i[a],\n s = e[o];\n if (s) for (var c = b(s, {\n dark: n.dark\n }), l = 0; l < 10; l++) {\n r[\"--tokui-\" + o + \"-\" + (l + 1)] = c[l];\n }\n }\n\n return r;\n }\n\n var S = {\n generatePalette: b,\n generateThemeTokens: x\n };\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.generatePalette = b, window.TokUI._internal.generateThemeTokens = x, window.TokUI._internal.ColorGenerator = S), t !== void 0 && t.exports && (t.exports = S);\n }),\n p = s(function (e, t) {\n var n = {\n container: null,\n currentTheme: \"default\",\n init: function init(e) {\n this.container = typeof e == \"string\" ? document.querySelector(e) : e, this.container ? this.container.setAttribute(\"data-tokui-theme\", this.currentTheme) : e && console.warn(\"TokUI Theme: \\u5BB9\\u5668\\u672A\\u627E\\u5230\\uFF0C\\u4E3B\\u9898\\u4E0D\\u4F1A\\u751F\\u6548\");\n },\n setTheme: function setTheme(e) {\n if (typeof e != \"string\" || !e) {\n console.warn(\"TokUI Theme: themeName \\u5FC5\\u987B\\u4E3A\\u975E\\u7A7A\\u5B57\\u7B26\\u4E32\");\n return;\n }\n\n this.currentTheme = e, this.container && this.container.setAttribute(\"data-tokui-theme\", e);\n },\n getTheme: function getTheme() {\n return this.currentTheme;\n },\n setSeedColor: function setSeedColor(e, t) {\n t || (t = {});\n var n = t._document || ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : null);\n if (!n) return;\n\n function r(e) {\n return /^#[0-9a-fA-F]{6}$/.test(e);\n }\n\n if (r(e) && !(t.danger && !r(t.danger)) && !(t.success && !r(t.success)) && !(t.warning && !r(t.warning))) {\n var i = true ? f().generateThemeTokens : undefined,\n a = {\n primary: e\n };\n t.danger && (a.danger = t.danger), t.success && (a.success = t.success), t.warning && (a.warning = t.warning);\n\n for (var o = i(a, {\n dark: this.currentTheme === \"dark\"\n }), s = \":root, [data-tokui-theme=\\\"default\\\"], [data-tokui-theme=\\\"dark\\\"] {\\n\", c = Object.keys(o), l = 0; l < c.length; l++) {\n var u = o[c[l]];\n typeof u != \"string\" || /[\\{\\}]/.test(u) || (s += \" \" + c[l] + \": \" + u + \";\\n\");\n }\n\n s += \"}\";\n var d = n.querySelector(\"style[data-tokui-dynamic-palette]\");\n d && d.parentNode.removeChild(d);\n var p = n.createElement(\"style\");\n p.setAttribute(\"data-tokui-dynamic-palette\", \"\"), p.innerHTML = s, n.head.appendChild(p);\n }\n }\n };\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.TokUITheme = n, window.TokUI.setTheme = n.setTheme.bind(n), window.TokUI.getTheme = n.getTheme.bind(n), window.TokUI.initTheme = n.init.bind(n), window.TokUI.setSeedColor = n.setSeedColor.bind(n)), t !== void 0 && t.exports && (t.exports = n);\n }),\n m = s(function (e, t) {\n function n(e) {\n var t = !1;\n\n for (var _n = 0; _n < e.length; _n++) {\n if (e[_n] === \"\\\"\") t = !t;else if (e[_n] === \"]\" && !t) return _n;\n }\n\n return -1;\n }\n\n function r(e) {\n var t = !1,\n n = 0;\n\n for (var _r = 0; _r < e.length; _r++) {\n var _i = e[_r];\n if (_i === \"\\\"\") t = !t;else if (!t) {\n if (_i === \"[\") n++;else if (_i === \"]\") {\n if (n === 0) return _r;\n n--;\n }\n }\n }\n\n return -1;\n }\n\n var i = new Set(\"form.table.thead.tbody.card.ft.row.col.list.select.radio.checkbox.code.imgs.md.textarea.tabs.tab.accordion.collapse.dialog.btngroup.picker.timeline.steps.drawer.ol.ul.i.item.think.think-chain.think-step.bubble.toolbar.badge-box.dropdown.transfer.callout.cascader.tree.tn.desc.carousel.popover.input-tag.watermark.menu.print-area.chat-input.msg-actions.tool-call.diff.quick-reply.plan.file-tree.ft-folder.terminal.sandbox.test-result.quote.toggle-group.conversations.welcome.welcome-feature.suggestions.attachments.artifact.artifact-code.artifact-preview.scroll-area.sidebar.sidebar-content.sidebar-footer.command.command-group.hover-card.hover-trigger.hover-content.resizable.canvas.canvas-content.chart.p\".split(\".\"));\n\n function a(e) {\n if (!e || e.type !== \"chart\") return !1;\n var t = e.attrs || {};\n return !!(t.d || t.tasks || t.rows || t.nodes && t.flows || t.v !== void 0 && (t.t === \"gauge\" || t.t === \"progress\"));\n }\n\n function o(e) {\n return e.type !== \"radio\" && e.type !== \"select\" && e.type !== \"checkbox\" ? !1 : !!(e.attrs && e.attrs.opt);\n }\n\n function s(e) {\n return e.type === \"checkbox\" && (e.attrs ? e.attrs.multi : void 0) === void 0 && !o(e);\n }\n\n var c = new Set([\"stat\", \"img\", \"avatar\", \"result\", \"empty\", \"video\", \"audio\", \"file\", \"attach\", \"commit\"]),\n l = /^(stat|img|avatar|result|empty|video|audio|file|attach|commit)\\b/,\n u = new Set([\"a\", \"_text\", \"tag\", \"b\", \"i\", \"code\", \"spin\", \"strong\", \"em\", \"mark\", \"sub\", \"sup\"]),\n d = new Set(\"stripe.dis.ro.req.chk.multi.disabled.readonly.required.checked.multiple.striped.auto.plain.round.closable.bordered.open.pill.dot.leaf.inline.rounded.container.copy.regenerate.like.dislike.visible.delete.controls.open.active.collapsible.toggle.search.thumb.reset.print.show-total\".split(\".\")),\n f = null;\n\n function p(e) {\n f = e;\n }\n\n function m(e) {\n if (f) return f[e];\n\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal) {\n var t = window.TokUI._internal.VARIANTS;\n return t ? t[e] : null;\n }\n\n return null;\n }\n\n var h = new Set(\"t.l.tx.tt.ph.u.s.n.v.w.h.clk.sub.act.mtd.dis.ro.req.chk.id.bg.fc.cap.cols.span.min.max.step.alt.target.src.name.value.pre.pos\".split(\".\"));\n\n function g(e, t) {\n for (var n = [];;) {\n var r = t.match(/^([\\s\\S]*?[^\\x00-\\x7f])([a-zA-Z][a-zA-Z0-9]{0,6}):([\\s\\S]*)$/);\n if (!r) break;\n var i = r[2];\n if (!h.has(i)) break;\n n.push([e, r[1]]), e = i, t = r[3];\n }\n\n return n.push([e, t]), n;\n }\n\n function _(e) {\n if (!e || !e.trim()) return {\n type: \"_text\",\n attrs: {},\n content: \"\",\n children: []\n };\n var t = {\n type: \"\",\n attrs: {},\n content: \"\",\n children: []\n },\n n = [],\n r = e.replace(/\"((?:[^\"\\\\]|\\\\.)*)\"/g, function (e, t) {\n return n.push(t.replace(/\\\\\"/g, \"\\\"\")), \"__QUOTE\".concat(n.length - 1, \"__\");\n }).split(/\\s+/);\n t.type = r[0];\n var i = [];\n\n for (var _e2 = 1; _e2 < r.length; _e2++) {\n var _a = r[_e2],\n _o = _a.indexOf(\":\");\n\n if (_o > 0) {\n var _e3 = _a.slice(0, _o);\n\n if (/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(_e3)) {\n var _r2 = _a.slice(_o + 1);\n\n _r2 = _r2.replace(/__QUOTE(\\d+)__/g, function (e, t) {\n return n[parseInt(t)];\n }), /[^\\x00-\\x7f]/.test(_r2) && _r2.indexOf(\":\") !== -1 ? g(_e3, _r2).forEach(function (e) {\n t.attrs[e[0]] = e[1];\n }) : t.attrs[_e3] = _r2;\n } else {\n var _e4 = _a.replace(/__QUOTE(\\d+)__/g, function (e, t) {\n return \"\\\"\".concat(n[parseInt(t)], \"\\\"\");\n });\n\n i.push(_e4);\n }\n } else {\n var _e5 = _a.replace(/__QUOTE(\\d+)__/g, function (e, t) {\n return n[parseInt(t)];\n });\n\n if (t.attrs.v) {\n var _n2 = m(t.type);\n\n if (_n2 && _n2.has && _n2.has(_e5)) {\n t.attrs.v = t.attrs.v + \",\" + _e5;\n continue;\n }\n }\n\n if (d.has(_e5)) t.attrs[_e5] = !0;else {\n var _e6 = _a.match(/^__QUOTE(\\d+)__$/);\n\n if (_e6) i.push(n[parseInt(_e6[1])]);else {\n var _e7 = _a.replace(/__QUOTE(\\d+)__/g, function (e, t) {\n return \"\\\"\".concat(n[parseInt(t)], \"\\\"\");\n });\n\n i.push(_e7);\n }\n }\n }\n }\n\n t.content = i.join(\" \");\n var a = {\n ol: \"list\",\n ul: \"list\",\n i: \"item\"\n };\n return a[t.type] && ((t.type === \"ol\" || t.type === \"ul\") && (t.attrs.t = t.type), t.type = a[t.type]), t;\n }\n\n var v = /*#__PURE__*/function () {\n function v(e, t) {\n _classCallCheck(this, v);\n\n this.onNode = e || function () {}, this.streaming = t && t.streaming !== !1, this.maxBuffer = t && t.maxBuffer || 1048576, this.maxDepth = t && t.maxDepth || 100, this.buffer = \"\", this.stack = [], this.state = \"TEXT\", this._totalOffset = 0, this._dslText = \"\", this._tagStartPos = -1;\n }\n\n _createClass(v, [{\n key: \"reset\",\n value: function reset() {\n this.buffer = \"\", this.stack = [], this.state = \"TEXT\", this._totalOffset = 0, this._dslText = \"\", this._tagStartPos = -1, this._lastTrPreview = \"\", this._trOpenKey = -2;\n }\n }, {\n key: \"feed\",\n value: function feed(e) {\n if (this.buffer.length + e.length > this.maxBuffer && (console.warn(\"TokUI Parser: buffer \\u8D85\\u8FC7 maxBuffer (\" + this.maxBuffer + \")\\uFF0C\\u622A\\u65AD\\u8F93\\u5165\"), e = e.slice(0, this.maxBuffer - this.buffer.length)), this._dslText += e, this.buffer += e, this._tryParse(), this.streaming && this.state === \"TEXT\" && this.stack.length > 0 && !this._isRawContent() && !this.buffer.startsWith(\"[\")) {\n var _e8 = this.buffer.trim();\n\n if (_e8) {\n var _t = {\n type: \"_text\",\n attrs: {},\n content: _e8,\n children: []\n };\n this.stack[this.stack.length - 1].children.push(_t), this.onNode(_t), this._totalOffset += this.buffer.length, this.buffer = \"\";\n }\n }\n\n if (this.streaming && this.state === \"TEXT\" && this.stack.length > 0 && this._isRawContent()) {\n var _e9 = this.stack[this.stack.length - 1],\n _t2 = \"[/\" + _e9.type + \"]\",\n _n3 = 0,\n _r3 = Math.min(this.buffer.length, _t2.length);\n\n for (var _e10 = _r3; _e10 > 0; _e10--) {\n if (_t2.startsWith(this.buffer.slice(this.buffer.length - _e10))) {\n _n3 = _e10;\n break;\n }\n }\n\n var _i2 = this.buffer.length - _n3,\n _a2 = 0;\n\n for (var _e11 = _i2 - 1; _e11 >= 0 && this.buffer[_e11] === \"\\\\\"; _e11--) {\n _a2++;\n }\n\n var _o2 = _a2 % 2 == 1 ? _i2 - 1 : _i2,\n _s = _e9._rawEmittedLen || 0;\n\n if (_o2 > _s) {\n var _t3 = this._unescapeRaw(this.buffer.slice(_s, _o2));\n\n if (_t3) {\n var _n4 = {\n type: \"_text\",\n attrs: {},\n content: _t3,\n children: []\n };\n _e9.children.push(_n4), this.onNode(_n4);\n }\n\n _e9._rawEmittedLen = _o2;\n }\n }\n\n if (this.streaming && this.state === \"TAG_OPEN\" && /^chart\\s/.test(this.buffer) && /\\b(d|tasks|rows|nodes|flows)\\s*:/.test(this.buffer) && this.buffer !== this._lastChartPreview) {\n var _e12 = this.buffer;\n\n if ((_e12.match(/\"/g) || []).length % 2 == 1 && (/\\b(d|tasks|rows|nodes|flows)\\s*:\\s*\"[^\"]*$/.test(_e12) ? _e12 += \"\\\"\" : _e12 = null), _e12 !== null) {\n this._lastChartPreview = this.buffer;\n\n var _t4 = _(_e12);\n\n _t4.type === \"chart\" && a(_t4) && (_t4._streamPreview = !0, _t4._previewKey = this._tagStartPos, this.onNode(_t4));\n }\n }\n\n if (this.streaming && this.state === \"TAG_OPEN\" && /^(hrow|flow)\\s/.test(this.buffer) && /\\bv\\s*:/.test(this.buffer) && this.buffer !== this._lastKidPreview) {\n var _e13 = this.buffer;\n\n if ((_e13.match(/\"/g) || []).length % 2 == 1 && (/\\bv\\s*:\\s*\"[^\"]*$/.test(_e13) ? _e13 += \"\\\"\" : _e13 = null), _e13 !== null) {\n this._lastKidPreview = this.buffer;\n\n var _t5 = _(_e13);\n\n (_t5.type === \"hrow\" || _t5.type === \"flow\") && (_t5._kidPreview = !0, this.onNode(_t5));\n }\n }\n\n if (this.streaming && this.state === \"TAG_OPEN\" && /^tr\\b/.test(this.buffer) && this.buffer !== this._lastTrPreview) {\n var _e14 = this.buffer;\n\n if ((_e14.match(/\"/g) || []).length % 2 == 1 && (/\"[^\"]*$/.test(_e14) ? _e14 += \"\\\"\" : _e14 = null), _e14 !== null) {\n this._lastTrPreview = this.buffer;\n\n var _t6 = _(_e14);\n\n _t6.type === \"tr\" && (this._trOpenKey !== this._tagStartPos && (this._trOpenKey = this._tagStartPos, this.onNode({\n type: \"tr\",\n _stream: \"open\",\n _trKey: this._tagStartPos,\n attrs: _t6.attrs\n })), _t6._stream = \"preview\", _t6._trKey = this._tagStartPos, this.onNode(_t6));\n }\n }\n\n this.streaming && this.state === \"TAG_OPEN\" && this._skelEmittedKey !== this._tagStartPos && l.test(this.buffer) && this.buffer.length > l.exec(this.buffer)[0].length && (this._skelEmittedKey = this._tagStartPos, this.onNode({\n type: l.exec(this.buffer)[1],\n _stream: \"skeleton-pending\",\n _skelKey: this._tagStartPos,\n attrs: {}\n }));\n }\n }, {\n key: \"parse\",\n value: function parse(e) {\n this.reset(), this._dslText = e, this.buffer = e, this._tryParse(), this._flush();\n }\n }, {\n key: \"_flush\",\n value: function _flush() {\n if (this.buffer.trim() && this._tryParse(), this.buffer.trim()) {\n var _e15;\n\n if (this._isRawContent()) {\n var _t7 = this.stack[this.stack.length - 1],\n _n5 = this.streaming && _t7 && _t7._rawEmittedLen ? _t7._rawEmittedLen : 0;\n\n _e15 = this._unescapeRaw(this.buffer.slice(_n5).trim());\n } else _e15 = this.buffer.trim();\n\n if (_e15) {\n var _t8 = {\n type: \"_text\",\n attrs: {},\n content: _e15,\n children: []\n };\n this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_t8) : this.onNode(_t8);\n }\n\n this._totalOffset += this.buffer.length, this.buffer = \"\";\n }\n\n for (; this.stack.length;) {\n var _e16 = this.stack.pop();\n\n _e16._dslEnd = this._dslText.length, _e16._dsl = this._dslText.slice(_e16._dslStart), this.streaming && (_e16._stream = \"close\"), this.onNode(_e16);\n }\n }\n }, {\n key: \"_isRawContent\",\n value: function _isRawContent() {\n for (var _t9 = this.stack.length - 1; _t9 >= 0; _t9--) {\n var e = this.stack[_t9].type;\n if (e === \"code\" || e === \"md\" || e === \"diff\" || e === \"terminal\" || e === \"sandbox\" || e === \"artifact-code\") return !0;\n }\n\n return !1;\n }\n }, {\n key: \"_unescapeRaw\",\n value: function _unescapeRaw(e) {\n return typeof e != \"string\" || e.indexOf(\"\\\\\") === -1 ? e : e.replace(/\\\\(.)/g, function (e, t) {\n return t === \"n\" ? \"\\n\" : t === \"t\" ? \"\\t\" : t === \"r\" ? \"\\r\" : t === \"\\\\\" ? \"\\\\\" : \"\\\\\" + t;\n });\n }\n }, {\n key: \"_tryParse\",\n value: function _tryParse() {\n var e = 5e4;\n\n for (; e-- > 0;) {\n if (this.state === \"TEXT\") {\n if (this._isRawContent()) {\n var _e18 = this.stack[this.stack.length - 1],\n _t11 = \"[/\".concat(_e18.type, \"]\"),\n _n6 = this.buffer.indexOf(_t11);\n\n if (_n6 === -1) break;\n\n if (_n6 > 0) {\n var _t12 = this.streaming && _e18._rawEmittedLen ? _e18._rawEmittedLen : 0;\n\n if (_n6 > _t12) {\n var _e19 = this._unescapeRaw(this.buffer.slice(_t12, _n6));\n\n if (_e19) {\n var _t13 = {\n type: \"_text\",\n attrs: {},\n content: _e19,\n children: []\n };\n this.streaming && this.stack.length > 0 ? (this.stack[this.stack.length - 1].children.push(_t13), this.onNode(_t13)) : this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_t13) : this.onNode(_t13);\n }\n }\n\n this._totalOffset += _n6, this.buffer = this.buffer.slice(_n6);\n continue;\n }\n }\n\n var _e17 = this.stack.length > 0 ? this.stack[this.stack.length - 1] : null;\n\n if (_e17 && _e17._implicitOpen && !this._isRawContent()) {\n var _t14 = this.buffer,\n _r4 = 0;\n _t14[0] === \"\\\"\" && _t14.indexOf(\"]\") !== -1 && (_t14 = _t14.slice(1), _r4 = 1);\n\n var _i3 = n(_t14),\n _a3 = _t14.indexOf(\"[\");\n\n if (_i3 !== -1 && (_a3 === -1 || _i3 < _a3)) {\n if (_i3 > 0) {\n var _n8 = _t14.slice(0, _i3).trim();\n\n if (_n8) {\n var _t15 = {\n type: \"_text\",\n attrs: {},\n content: _n8,\n children: []\n };\n this.streaming ? (_e17.children.push(_t15), this.onNode(_t15)) : _e17.children.push(_t15);\n }\n }\n\n var _n7 = _r4 + _i3,\n _a4 = this._totalOffset + _n7 + 1,\n _o3 = this.stack.pop();\n\n _o3._dslEnd = _a4, _o3._dsl = this._dslText.slice(_o3._dslStart, _a4), this._totalOffset = _a4, this.buffer = this.buffer.slice(_n7 + 1), this.streaming ? (_o3._stream = \"close\", this.onNode(_o3)) : this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_o3) : this.onNode(_o3);\n continue;\n }\n }\n\n var _t10 = this.buffer.indexOf(\"[\");\n\n if (_t10 === -1) break;\n\n if (this._tagStartPos = this._totalOffset + _t10, _t10 > 0) {\n var _e20 = this.buffer.slice(0, _t10);\n\n if (_e20.trim()) {\n var _t16 = {\n type: \"_text\",\n attrs: {},\n content: _e20,\n children: []\n };\n this.streaming && this.stack.length > 0 ? (this.stack[this.stack.length - 1].children.push(_t16), this.onNode(_t16)) : this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_t16) : this.onNode(_t16);\n }\n }\n\n this.buffer = this.buffer.slice(_t10 + 1), this._totalOffset = this._tagStartPos + 1, this.state = \"TAG_OPEN\";\n }\n\n if (this.state === \"TAG_OPEN\") {\n if (this.buffer.length === 0) break;\n\n if (this._isRawContent()) {\n var _e22 = this.stack[this.stack.length - 1].type;\n\n if (!this.buffer.startsWith(\"/\" + _e22)) {\n this.buffer = \"[\" + this.buffer, --this._totalOffset, this.state = \"TEXT\";\n continue;\n }\n }\n\n if (this.buffer[0] === \"/\") {\n this.buffer = this.buffer.slice(1), this._totalOffset += 1, this.state = \"TAG_CLOSE\";\n continue;\n }\n\n var _e21 = /^tr\\b/.test(this.buffer) ? r(this.buffer) : n(this.buffer);\n\n if (_e21 === -1) break;\n\n var _t17 = _e21,\n _a5 = !0,\n _o4 = this.buffer.slice(0, _e21),\n _s2 = -1;\n\n {\n var _e23 = !1;\n\n for (var _t18 = 0; _t18 < _o4.length; _t18++) {\n var _n9 = _o4[_t18];\n if (_n9 === \"\\\"\") _e23 = !_e23;else if (_n9 === \"[\" && !_e23) {\n _s2 = _t18;\n break;\n }\n }\n }\n\n if (_s2 > 0 && !this._isRawContent()) {\n var _e24 = _(_o4.slice(0, _s2).trim());\n\n i.has(_e24.type) && (_t17 = _s2, _a5 = !1);\n }\n\n var _c = this.buffer.slice(0, _t17);\n\n this.buffer = this.buffer.slice(_t17 + +!!_a5);\n\n var _l = _(_c);\n\n if (_a5 || (_l._implicitOpen = !0), _l._dslStart = this._tagStartPos, _l._dslEnd = this._totalOffset + _t17 + +!!_a5, _l._dsl = this._dslText.slice(_l._dslStart, _l._dslEnd), this._totalOffset = _l._dslEnd, this.streaming ? this._emitStreaming(_l) : this._emitBuffered(_l), this.state = \"TEXT\", !_a5) continue;\n }\n\n if (this.state === \"TAG_CLOSE\") {\n var _e25 = this.buffer.indexOf(\"]\");\n\n if (_e25 === -1) break;\n\n var _t19 = this.buffer.slice(0, _e25).trim();\n\n this.buffer = this.buffer.slice(_e25 + 1);\n var _n10 = {\n ol: \"list\",\n ul: \"list\",\n i: \"item\"\n };\n _n10[_t19] && (_t19 = _n10[_t19]);\n\n var _r5 = this._totalOffset + _e25 + 1;\n\n if (this._totalOffset = _r5, this.streaming) {\n for (var _e26 = this.stack.length - 1; _e26 >= 0; _e26--) {\n if (this.stack[_e26].type === _t19) {\n for (; this.stack.length > _e26 + 1;) {\n var _e27 = this.stack.pop();\n\n _e27._stream = \"close\", _e27._dslEnd = _r5, _e27._dsl = this._dslText.slice(_e27._dslStart, _r5), this.onNode(_e27);\n }\n\n var _n11 = this.stack.pop();\n\n _n11._dslEnd = _r5, _n11._dsl = this._dslText.slice(_n11._dslStart, _r5), this.onNode({\n type: _t19,\n _stream: \"close\"\n });\n break;\n }\n }\n } else {\n var _e28 = !1;\n\n for (var _n12 = this.stack.length - 1; _n12 >= 0; _n12--) {\n if (this.stack[_n12].type === _t19) {\n var _t20 = [];\n\n for (; this.stack.length > _n12 + 1;) {\n var _e29 = this.stack.pop();\n\n _e29._dslEnd = _r5, _e29._dsl = this._dslText.slice(_e29._dslStart, _r5), _t20.unshift(_e29);\n }\n\n var _i4 = this.stack.pop();\n\n _i4._dslEnd = _r5, _i4._dsl = this._dslText.slice(_i4._dslStart, _r5), _i4.children = _i4.children.concat(_t20), this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_i4) : this.onNode(_i4), _e28 = !0;\n break;\n }\n }\n\n _e28 || console.warn(\"TokUI Parser: \\u672A\\u5339\\u914D\\u7684\\u95ED\\u5408\\u6807\\u7B7E [/\" + _t19 + \"]\");\n }\n\n this.state = \"TEXT\";\n }\n }\n }\n }, {\n key: \"_emitStreaming\",\n value: function _emitStreaming(e) {\n if (e.type === \"item\") for (; this.stack.length > 0 && this.stack[this.stack.length - 1].type === \"item\";) {\n var _e30 = this.stack.pop();\n\n _e30._stream = \"close\", this.onNode(_e30);\n }\n var t = this.stack.length > 0 && this.stack[this.stack.length - 1].type === \"p\" ? this.stack[this.stack.length - 1] : null;\n\n if (t && t.content && !u.has(e.type)) {\n var _e31 = this.stack.pop();\n\n _e31._stream = \"close\", this.onNode(_e31);\n }\n\n e.type === \"tr\" && this._trOpenKey === e._dslStart && (e._stream = \"finalize\", e._trKey = e._dslStart), c.has(e.type) && this._skelEmittedKey === e._dslStart && (e._stream = \"skeleton-finalize\", e._skelKey = e._dslStart);\n var n = new Set([\"tn\", \"popover\", \"input-tag\", \"watermark\", \"badge-box\"]),\n r = i.has(e.type) && !n.has(e.type) && e.attrs.tx,\n l = e.type === \"tn\" && e.attrs.leaf !== void 0,\n d = e.type === \"input-tag\" && e.attrs.tags,\n f = r || l || d || o(e) || s(e),\n p = e.attrs.cols && e.type !== \"desc\" && e.type !== \"suggestions\" && e.type !== \"chart\",\n m = a(e);\n m && (e._previewKey = e._dslStart), i.has(e.type) && !p && !f && !m ? this.stack.length >= this.maxDepth ? (console.warn(\"TokUI Parser: \\u5D4C\\u5957\\u6DF1\\u5EA6\\u8D85\\u8FC7 maxDepth (\" + this.maxDepth + \")\\uFF0C\\u6309\\u81EA\\u95ED\\u5408\\u5904\\u7406\"), this.stack.length > 0 && this.stack[this.stack.length - 1].children.push(e), this.onNode(e)) : (e._stream = \"open\", this.stack.push(e), this.onNode(e)) : (this.stack.length > 0 && this.stack[this.stack.length - 1].children.push(e), this.onNode(e));\n }\n }, {\n key: \"_emitBuffered\",\n value: function _emitBuffered(e) {\n if (e.type === \"item\") for (; this.stack.length > 0 && this.stack[this.stack.length - 1].type === \"item\";) {\n var _e32 = this.stack.pop();\n\n this.stack.length > 0 && this.stack[this.stack.length - 1].children.push(_e32);\n }\n var t = this.stack.length > 0 && this.stack[this.stack.length - 1].type === \"p\" ? this.stack[this.stack.length - 1] : null;\n\n if (t && t.content && !u.has(e.type)) {\n var _e33 = this.stack.pop();\n\n this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(_e33) : this.onNode(_e33);\n }\n\n var n = new Set([\"tn\", \"popover\", \"input-tag\", \"watermark\", \"badge-box\"]),\n r = i.has(e.type) && !n.has(e.type) && e.attrs.tx,\n c = e.type === \"tn\" && e.attrs.leaf !== void 0,\n l = e.type === \"input-tag\" && e.attrs.tags,\n d = r || c || l || o(e) || s(e),\n f = e.attrs.cols && e.type !== \"desc\" && e.type !== \"suggestions\" && e.type !== \"chart\",\n p = a(e);\n p && (e._previewKey = e._dslStart), i.has(e.type) && !f && !d && !p ? this.stack.length >= this.maxDepth ? (console.warn(\"TokUI Parser: \\u5D4C\\u5957\\u6DF1\\u5EA6\\u8D85\\u8FC7 maxDepth (\" + this.maxDepth + \")\\uFF0C\\u6309\\u81EA\\u95ED\\u5408\\u5904\\u7406\"), this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(e) : this.onNode(e)) : this.stack.push(e) : this.stack.length > 0 ? this.stack[this.stack.length - 1].children.push(e) : this.onNode(e);\n }\n }, {\n key: \"startStream\",\n value: function startStream() {\n this.reset();\n }\n }, {\n key: \"endStream\",\n value: function endStream() {\n this._flush();\n }\n }]);\n\n return v;\n }();\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.TokUIParser = v, window.TokUI._internal.parseTag = _, window.TokUI._internal.setVariantHints = p, window.TokUI._internal.CONTAINERS = i), t !== void 0 && t.exports && (t.exports = {\n TokUIParser: v,\n parseTag: _,\n setVariantHints: p,\n CONTAINERS: i\n });\n }),\n h = s(function (e, t) {\n function n(e) {\n var t = e || {},\n n = t.form != null && t.form !== \"\" ? String(t.form) : null;\n return t.print === void 0 ? t.reset === void 0 ? t.sub !== void 0 && t.sub !== !1 && t.sub !== \"\" ? {\n act: \"submit\",\n formId: n,\n handler: t.sub === !0 ? null : String(t.sub),\n target: null,\n trigger: !1\n } : {\n act: null,\n formId: n,\n handler: t.clk ? String(t.clk) : null,\n target: null,\n trigger: !1\n } : {\n act: \"reset\",\n formId: n,\n handler: t.reset === !0 || t.reset === \"\" || t.reset == null ? null : String(t.reset),\n target: null,\n trigger: !1\n } : {\n act: \"print\",\n formId: n,\n handler: null,\n target: t.print === !0 || t.print === \"\" || t.print == null ? \"self\" : String(t.print),\n trigger: !0\n };\n }\n\n function r(e, t) {\n if (!e) return null;\n\n if (t) {\n var n = e.ownerDocument && e.ownerDocument.getElementById ? e.ownerDocument : (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : null,\n r = n && n.getElementById ? n.getElementById(t) : null;\n if (r && r.tagName === \"FORM\") return r;\n }\n\n return e.closest ? e.closest(\"form\") : null;\n }\n\n function i(e, t) {\n if (!e) return null;\n\n if (t && t !== \"self\") {\n var n = e.ownerDocument && e.ownerDocument.getElementById ? e.ownerDocument : (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : null;\n return n && n.getElementById ? n.getElementById(t) : null;\n }\n\n return e.closest && (e.closest(\".tokui-print-area\") || e.closest(\".tokui-card\")) || null;\n }\n\n function a(e) {\n if (e && typeof CustomEvent == \"function\" && typeof e.dispatchEvent == \"function\") try {\n e.dispatchEvent(new CustomEvent(\"tokuireset\", {\n bubbles: !0\n }));\n } catch (_unused3) {}\n }\n\n var o = true ? u().t : undefined;\n\n function s(e, t, n) {\n var r = document.createElement(e);\n return t && Object.entries(t).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n e = _ref2[0],\n t = _ref2[1];\n\n if (t != null && !(e.startsWith(\"on\") || e === \"formaction\")) {\n if (e === \"style\") {\n r.style.cssText = String(t);\n return;\n }\n\n t === !0 ? r.setAttribute(e, \"\") : t === !1 || r.setAttribute(e, String(t));\n }\n }), n != null && (r.textContent = n), r;\n }\n\n var c = {\n img: new Set([\"avatar\", \"rounded\", \"bordered\"]),\n card: new Set([\"highlight\", \"flat\", \"bordered\", \"center\", \"right\"]),\n btn: new Set([\"primary\", \"danger\", \"success\", \"warning\", \"ghost\", \"sm\", \"lg\", \"pill\", \"square\", \"block\"]),\n btngroup: new Set([\"vertical\", \"pill\"]),\n table: new Set([\"bordered\", \"compact\"]),\n input: new Set([\"error\", \"success\", \"sm\", \"lg\", \"underline\", \"pill\"]),\n pwd: new Set([\"error\", \"success\", \"sm\", \"lg\", \"underline\", \"pill\"]),\n select: new Set([\"error\", \"success\"]),\n picker: new Set([\"error\", \"success\"]),\n h1: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n h2: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n h3: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n h4: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n h5: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n h6: new Set([\"left\", \"center\", \"right\", \"ribbon\", \"underline\", \"badge\", \"pill\"]),\n p: new Set([\"left\", \"center\", \"right\", \"muted\", \"bold\", \"sm\", \"lg\"]),\n a: new Set([\"muted\", \"danger\", \"success\", \"underline\"]),\n ft: new Set([\"left\", \"center\", \"right\"]),\n row: new Set([\"left\", \"center\", \"right\", \"inline\"]),\n dv: new Set([\"dashed\", \"dotted\", \"sm\", \"md\", \"lg\", \"vert\", \"plain\"]),\n dot: new Set([\"sm\", \"lg\"]),\n avatar: new Set([\"sm\", \"md\", \"lg\", \"xl\"]),\n tooltip: new Set([\"top\", \"bottom\", \"left\", \"right\"]),\n pagination: new Set([\"sm\", \"lg\"]),\n switch: new Set([\"sm\", \"lg\"]),\n drawer: new Set([\"left\", \"right\", \"top\", \"bottom\"]),\n breadcrumb: new Set([\"arrow\"]),\n slider: new Set([\"sm\", \"lg\"]),\n rate: new Set([\"sm\", \"lg\"]),\n transfer: new Set([\"sm\", \"lg\"]),\n cascader: new Set([\"error\", \"success\"]),\n upload: new Set([\"sm\", \"lg\"]),\n tree: new Set([\"sm\", \"lg\"])\n },\n l = /*#__PURE__*/function () {\n function l(e) {\n _classCallCheck(this, l);\n\n this.registry = {}, this.eventBus = e, this.slotStack = [], this._boundElements = [], this._onError = null;\n }\n\n _createClass(l, [{\n key: \"register\",\n value: function register(e, t) {\n this.registry[e] = t;\n }\n }, {\n key: \"onError\",\n value: function onError(e) {\n this._onError = e;\n }\n }, {\n key: \"render\",\n value: function render(e, t, n) {\n if ((n || 0) > 50) return console.warn(\"TokUI Renderer: \\u6E32\\u67D3\\u6DF1\\u5EA6\\u8D85\\u8FC7 50\\uFF0C\\u53EF\\u80FD\\u5B58\\u5728\\u5FAA\\u73AF\\u5D4C\\u5957\"), document.createTextNode(\"\");\n if (e.type === \"_text\") return document.createTextNode(e.content);\n var r = this.registry[e.type];\n\n if (!r) {\n var _t21 = s(\"div\", {\n class: \"tokui-unknown\",\n \"data-tokui-type\": e.type\n });\n\n return e.content && (_t21.textContent = e.content), _t21;\n }\n\n var i = this,\n a = n || 0;\n\n var c = function c(t) {\n return t.map(function (t) {\n return i.render(t, e.type, a + 1);\n });\n };\n\n var _l2;\n\n try {\n _l2 = r(e, c, t);\n } catch (t) {\n if (console.warn(\"TokUI Renderer: \\u7EC4\\u4EF6\\u6E32\\u67D3\\u5F02\\u5E38\", e.type, t), i._onError) try {\n i._onError(e.type, t, e);\n } catch (_unused4) {}\n var u = s(\"details\", {\n class: \"tokui-error\",\n \"data-tokui-type\": e.type\n }),\n d = s(\"summary\", {\n class: \"tokui-error__summary\"\n });\n d.textContent = \"[\" + e.type + \"] \" + o(\"common.renderFailed\"), u.appendChild(d);\n var f = s(\"div\", {\n class: \"tokui-error__detail\"\n });\n f.textContent = String(t.message || t), u.appendChild(f), _l2 = u;\n }\n\n return this._applyVariants(_l2, e), _l2 && _l2.nodeType === 1 && e.type && e.type !== \"_text\" && _l2.setAttribute(\"data-tokui-tag\", e.type), _l2;\n }\n }, {\n key: \"_applyVariants\",\n value: function _applyVariants(e, t) {\n var n = t.attrs && t.attrs.v;\n\n if (!(!n || !e || e.nodeType !== 1)) {\n var r = c[t.type];\n\n if (r) {\n var i = e._variantTarget || e;\n n.split(\",\").map(function (e) {\n return e.trim();\n }).filter(Boolean).forEach(function (e) {\n r.has(e) && i.classList.add(\"tokui-\" + t.type + \"--\" + e);\n });\n }\n }\n }\n }, {\n key: \"mount\",\n value: function mount(e, t) {\n var n = this.render(e);\n return n.nodeType === 1 && (n.style.animation = \"tokuiFadeIn 0.3s ease\"), t.appendChild(n), this.bindEvents(n), n._streamCloseHook && n._streamCloseHook(), n;\n }\n }, {\n key: \"mountStreaming\",\n value: function mountStreaming(e, t) {\n return e._stream === \"skeleton-pending\" ? this._streamSkeletonPending(e, t) : e._stream === \"skeleton-finalize\" ? this._streamSkeletonFinalize(e, t) : e._streamPreview ? this._streamChartPreview(e, t) : e.type === \"tr\" && e._stream === \"open\" ? this._streamTrOpen(e, t) : e.type === \"tr\" && e._stream === \"preview\" ? this._streamTrPreview(e) : e.type === \"tr\" && e._stream === \"finalize\" ? this._streamTrFinalize(e, t) : e._stream === \"open\" ? this._streamOpen(e, t) : e._stream === \"close\" ? this._streamClose(e) : e.type === \"chart\" && e._previewKey !== void 0 ? this._streamChartFinalize(e, t) : this._streamChild(e, t);\n }\n }, {\n key: \"_streamChartPreview\",\n value: function _streamChartPreview(e, t) {\n this._pendingCharts = this._pendingCharts || {};\n var n = e._previewKey,\n r = this._pendingCharts[n];\n if (r) return r._tokuiChartUpdate && r._tokuiChartUpdate(e.attrs), r;\n var i = this.render(e),\n a = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null,\n o = a ? a.slot : t;\n return i.nodeType === 1 && (i.style.animation = \"tokuiFadeIn 0.3s ease\"), o.appendChild(i), this._pendingCharts[n] = i, i;\n }\n }, {\n key: \"_streamChartFinalize\",\n value: function _streamChartFinalize(e, t) {\n this._pendingCharts = this._pendingCharts || {};\n var n = e._previewKey,\n r = this._pendingCharts[n];\n return r ? (r._tokuiChartUpdate && r._tokuiChartUpdate(e.attrs), delete this._pendingCharts[n], r) : this._streamChild(e, t);\n }\n }, {\n key: \"_streamTrOpen\",\n value: function _streamTrOpen(e, t) {\n var n = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null;\n n && n.el && (e._tbodyEl = n.el);\n var r = this.render(e, n ? n.containerType : void 0);\n return r && r.nodeType === 1 && (r.style.animation = \"tokuiFadeIn 0.3s ease\"), (n ? n.slot : t).appendChild(r), this._trRegistry = this._trRegistry || {}, this._trRegistry[e._trKey] = r, r;\n }\n }, {\n key: \"_streamTrPreview\",\n value: function _streamTrPreview(e) {\n this._trRegistry = this._trRegistry || {};\n var t = this._trRegistry[e._trKey];\n return t && t._tokuiTrReconcile && t._tokuiTrReconcile(e.content || \"\", !1, e.attrs), t;\n }\n }, {\n key: \"_streamTrFinalize\",\n value: function _streamTrFinalize(e, t) {\n this._trRegistry = this._trRegistry || {};\n var n = this._trRegistry[e._trKey];\n return n ? (n._tokuiTrReconcile && n._tokuiTrReconcile(e.content || \"\", !0, e.attrs), delete this._trRegistry[e._trKey], n) : this._streamChild(e, t);\n }\n }, {\n key: \"_streamSkeletonPending\",\n value: function _streamSkeletonPending(e, t) {\n this._pendingSkeletons = this._pendingSkeletons || {};\n\n var n = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null,\n r = n ? n.slot : t,\n i = this._buildSkeleton(e.type);\n\n return i && i.nodeType === 1 && (i.style.animation = \"tokuiFadeIn 0.3s ease\"), r && r.appendChild(i), this._pendingSkeletons[e._skelKey] = i, i;\n }\n }, {\n key: \"_streamSkeletonFinalize\",\n value: function _streamSkeletonFinalize(e, t) {\n this._pendingSkeletons = this._pendingSkeletons || {};\n var n = this._pendingSkeletons[e._skelKey],\n r = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null,\n i = r ? r.containerType : void 0;\n e._stream = void 0;\n var a = this.render(e, i);\n if (n && n.parentNode) n.parentNode.insertBefore(a, n), n.parentNode.removeChild(n);else if (a) {\n var o = r ? r.slot : t;\n o && o.appendChild(a);\n }\n return delete this._pendingSkeletons[e._skelKey], a;\n }\n }, {\n key: \"_buildSkeleton\",\n value: function _buildSkeleton(e) {\n return s(\"div\", {\n class: \"tokui-stream-skeleton tokui-stream-skeleton--\" + e,\n \"aria-label\": o(\"common.loading\"),\n role: \"status\"\n });\n }\n }, {\n key: \"_streamOpen\",\n value: function _streamOpen(e, t) {\n var n = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null,\n r = this.render(e, n ? n.containerType : void 0);\n r && r.nodeType === 1 && (r._tokuiStreamActive = !0), r.nodeType === 1 && !r.classList.contains(\"tokui-hover-card__content-temp\") && (r.style.animation = \"tokuiFadeIn 0.3s ease\");\n var i = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1].slot : t;\n\n if (e.type === \"ft\" && this.slotStack.length > 0) {\n var _e34 = this.slotStack[this.slotStack.length - 1];\n (_e34.containerType === \"card\" || _e34.containerType === \"dialog\" || _e34.containerType === \"drawer\") && (i = _e34.el);\n }\n\n if (e.type === \"tab\" && r._isTab && this.slotStack.length > 0) {\n var _t22 = this.slotStack[this.slotStack.length - 1];\n\n if (_t22.containerType === \"tabs\" && _t22.el._tabId) {\n var _n13 = _t22.el,\n _i5 = _n13._tabId,\n _a6 = _n13._tabCount || 0,\n _o5 = document.createElement(\"input\");\n\n _o5.type = \"radio\", _o5.name = _i5, _o5.className = \"tokui-tabs-input\", _o5.id = _i5 + \"-\" + _a6, _o5.setAttribute(\"data-index\", String(_a6)), _o5.checked = !0, _n13.appendChild(_o5);\n\n var _s3 = document.createElement(\"label\");\n\n return _s3.className = \"tokui-tabs-label\", _s3.setAttribute(\"for\", _i5 + \"-\" + _a6), _s3.setAttribute(\"data-index\", String(_a6)), _s3.setAttribute(\"data-tokui-tag\", \"tab\"), _s3.textContent = r._tabTitle || \"Tab \" + (_a6 + 1), _n13.appendChild(_s3), r.setAttribute(\"data-index\", String(_a6)), _n13.appendChild(r), _n13._tabCount = _a6 + 1, this.slotStack.push({\n slot: r._slot || r,\n el: r,\n containerType: e.type\n }), r;\n }\n }\n\n if (e.type === \"collapse\" && this.slotStack.length > 0 && this.slotStack[this.slotStack.length - 1].containerType === \"accordion\") {\n for (var a = this.slotStack[this.slotStack.length - 1].el.querySelectorAll(\".tokui-collapse\"), o = 0; o < a.length; o++) {\n a[o] !== r && (a[o].removeAttribute(\"open\"), a[o].setAttribute(\"aria-expanded\", \"false\"));\n }\n\n r.setAttribute(\"open\", \"\"), r.setAttribute(\"aria-expanded\", \"true\");\n }\n\n i.appendChild(r);\n var s = r._slot || r;\n return this.slotStack.push({\n slot: s,\n el: r,\n containerType: e.type\n }), r;\n }\n }, {\n key: \"_streamClose\",\n value: function _streamClose(e) {\n for (; this.slotStack.length > 0;) {\n var _t23 = this.slotStack.pop();\n\n if (this.bindEvents(_t23.el), _t23.el._streamCloseHook && _t23.el._streamCloseHook(), _t23.el._tokuiType === e.type || this._getNodeType(_t23.el) === e.type) break;\n }\n\n return null;\n }\n }, {\n key: \"_streamChild\",\n value: function _streamChild(e, t) {\n var n = this.slotStack.length > 0 ? this.slotStack[this.slotStack.length - 1] : null,\n r = n ? n.containerType : void 0,\n i = n ? n.slot : t;\n if (n && n.containerType === \"chart\" && n.el._tokuiChartAppend) return n.el._tokuiChartAppend(e), null;\n\n if (e.type === \"ft\" && n && (n.containerType === \"card\" || n.containerType === \"dialog\" || n.containerType === \"drawer\") && (i = n.el), e.type === \"opt\" && n && n.el._slot && n.el._slot._radioName) {\n var a = n.el._slot._radioName,\n o = this.render(e, \"radio\");\n\n if (a && o.querySelector) {\n var s = o.querySelector(\"input[type=radio]\");\n s && (s.name = a);\n }\n\n return o.nodeType === 1 && (o.style.animation = \"tokuiFadeIn 0.3s ease\"), i.appendChild(o), o;\n }\n\n if (e.type === \"opt\" && n && n.el._slot && n.el._slot._checkboxName) {\n var c = n.el._slot._checkboxName,\n _l3 = this.render(e, \"checkbox\");\n\n if (c && _l3.querySelector) {\n var u = _l3.querySelector(\"input[type=checkbox]\");\n\n u && (u.name = c);\n }\n\n return _l3.nodeType === 1 && (_l3.style.animation = \"tokuiFadeIn 0.3s ease\"), i.appendChild(_l3), _l3;\n }\n\n if (e.type === \"opt\" && n && n.containerType === \"picker\") {\n var d = n.slot,\n f = this.render(e, \"picker\");\n f.nodeType === 1 && (f.style.animation = \"tokuiFadeIn 0.3s ease\");\n var p = d.querySelector(\".tokui-picker-empty\");\n return p ? d.insertBefore(f, p) : d.appendChild(f), f;\n }\n\n if (e.type === \"opt\" && n && n.containerType === \"transfer\" && n.el._tokuiTransferAppend) {\n var m = n.el._tokuiTransferAppend(e);\n\n return m && m.nodeType === 1 && (m.style.animation = \"tokuiFadeIn 0.3s ease\"), null;\n }\n\n var h = this.render(e, r);\n return h.nodeType === 1 && (h.style.animation = \"tokuiFadeIn 0.3s ease\"), i.appendChild(h), n && n.el && n.el._streamAppendHook && n.el._streamAppendHook(e), this.slotStack.length === 0 && this.bindEvents(h), h;\n }\n }, {\n key: \"_collectFormData\",\n value: function _collectFormData(e) {\n var t = {};\n\n var _iterator = _createForOfIteratorHelper(new FormData(e)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n _n14 = _step$value[0],\n _r6 = _step$value[1];\n\n t[_n14] === void 0 ? t[_n14] = _r6 : (Array.isArray(t[_n14]) || (t[_n14] = [t[_n14]]), t[_n14].push(_r6));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return t;\n }\n }, {\n key: \"_getNodeType\",\n value: function _getNodeType(e) {\n if (e._tokuiType) return e._tokuiType;\n var t = e.className && e.className.match && e.className.match(/tokui-(\\w+)/);\n return t ? t[1] : \"\";\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._boundElements.forEach(function (e) {\n e.listeners.forEach(function (t) {\n e.element.removeEventListener(t.type, t.fn);\n }), delete e.element._tokuiBound, delete e.element._tokuiClickBound;\n }), this._boundElements = [], this.slotStack = [];\n }\n }, {\n key: \"resetSlotStack\",\n value: function resetSlotStack() {\n for (; this.slotStack.length > 0;) {\n var _e35 = this.slotStack.pop();\n\n this.bindEvents(_e35.el);\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents(e) {\n if (!this.eventBus || e.nodeType !== 1 || e._tokuiBound) return;\n e._tokuiBound = !0;\n var t = this;\n e.querySelectorAll(\"[data-tokui-clk]\").forEach(function (n) {\n if (n._tokuiBound) return;\n n._tokuiBound = !0;\n var i = n.getAttribute(\"data-tokui-clk\");\n\n if (i) {\n var a = null;\n if (n.getAttribute(\"type\") === \"submit\" && !n.closest(\"form\")) for (var o = n.parentElement; o && o !== e.parentElement;) {\n var s = o.querySelector(\"form[data-tokui-sub]\");\n\n if (s) {\n a = s;\n break;\n }\n\n o = o.parentElement;\n }\n\n var c = function c(e) {\n if (e.preventDefault(), a) {\n var _n15 = a.getAttribute(\"data-tokui-sub\"),\n _r7 = _n15 ? t.eventBus.getHandler(_n15) : null;\n\n _r7 && _r7(t._collectFormData(a), e, a);\n return;\n }\n\n var o = t.eventBus.getHandler(i);\n\n if (o) {\n var _i6 = n.closest(\"form\");\n\n if (!_i6) {\n var _e36 = n.getAttribute(\"data-tokui-form\");\n\n _e36 && (_i6 = r(n, _e36));\n }\n\n o(_i6 ? t._collectFormData(_i6) : null, e, n);\n }\n };\n\n n.addEventListener(\"click\", c), t._boundElements.push({\n element: n,\n listeners: [{\n type: \"click\",\n fn: c\n }]\n });\n }\n });\n var n = [];\n\n if (e.tagName === \"FORM\" && (e.hasAttribute(\"data-tokui-sub\") || e.hasAttribute(\"data-tokui-clk\")) && n.push(e), e.querySelectorAll(\"form[data-tokui-sub], form[data-tokui-clk]\").forEach(function (e) {\n return n.push(e);\n }), n.forEach(function (e) {\n if (e._tokuiFormBound) return;\n e._tokuiFormBound = !0;\n var n = e.getAttribute(\"data-tokui-sub\") || e.getAttribute(\"data-tokui-clk\");\n\n if (n) {\n var r = function r(_r8) {\n _r8.preventDefault();\n\n var i = t.eventBus.getHandler(n);\n i && i(t._collectFormData(e), _r8, e);\n };\n\n e.addEventListener(\"submit\", r), t._boundElements.push({\n element: e,\n listeners: [{\n type: \"submit\",\n fn: r\n }]\n });\n }\n }), e.hasAttribute && e.hasAttribute(\"data-tokui-clk\") && !e._tokuiClickBound) {\n e._tokuiClickBound = !0;\n\n var _n16 = e.getAttribute(\"data-tokui-clk\");\n\n if (_n16) {\n var i = function i(r) {\n r.preventDefault();\n var i = t.eventBus.getHandler(_n16);\n\n if (i) {\n var _n17 = e.closest(\"form\");\n\n i(_n17 ? t._collectFormData(_n17) : null, r, e);\n }\n };\n\n e.addEventListener(\"click\", i), t._boundElements.push({\n element: e,\n listeners: [{\n type: \"click\",\n fn: i\n }]\n });\n }\n }\n\n var a = [];\n e.hasAttribute && e.hasAttribute(\"data-tokui-act\") && a.push(e), e.querySelectorAll(\"[data-tokui-act]\").forEach(function (e) {\n return a.push(e);\n }), a.forEach(function (e) {\n if (e._tokuiActBound) return;\n e._tokuiActBound = !0;\n var n = e.getAttribute(\"data-tokui-act\"),\n r = e.getAttribute(\"data-tokui-form\");\n\n var i = function i(_i7) {\n _i7 && typeof _i7.preventDefault == \"function\" && _i7.preventDefault(), n === \"submit\" ? t._doSubmit(e, r) : n === \"reset\" ? t._doReset(e, r) : n === \"print\" && t._triggerPrint(e);\n };\n\n e.addEventListener(\"click\", i), t._boundElements.push({\n element: e,\n listeners: [{\n type: \"click\",\n fn: i\n }]\n });\n });\n }\n }, {\n key: \"_doSubmit\",\n value: function _doSubmit(e, t) {\n var n = r(e, t);\n\n if (n) {\n var i = e.getAttribute(\"data-tokui-sub\"),\n a = this._collectFormData(n);\n\n if (i) {\n var o = this.eventBus.getHandler(i);\n o && o(a, null, n);\n }\n }\n }\n }, {\n key: \"_doReset\",\n value: function _doReset(e, t) {\n var n = r(e, t);\n\n if (n) {\n if (typeof n.reset == \"function\") try {\n n.reset();\n } catch (_unused5) {}\n a(n), n.querySelectorAll(\"[data-tokui-resettable]\").forEach(function (e) {\n typeof e._tokuiReset == \"function\" && e._tokuiReset();\n });\n var i = e.getAttribute(\"data-tokui-handler\");\n\n if (i) {\n var o = this.eventBus.getHandler(i);\n o && o(null, null, n);\n }\n }\n }\n }, {\n key: \"_triggerPrint\",\n value: function _triggerPrint(e) {\n var t = i(e, e.getAttribute(\"data-tokui-target\") || \"self\");\n\n if (t && !((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) > \"u\" || (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\" || !document.body || typeof window.print != \"function\")) {\n t.classList.add(\"tokui-print-target\"), document.body.setAttribute(\"data-tokui-printing\", \"1\");\n\n for (var n = [], r = document.body.children || [], a = 0; a < r.length; a++) {\n var o = r[a];\n o && o.nodeType === 1 && o !== t && !(o.contains && o.contains(t)) && (o.setAttribute(\"data-tokui-print-hidden\", \"1\"), n.push(o));\n }\n\n for (var s = [[\"position\", \"static\"], [\"transform\", \"none\"], [\"perspective\", \"none\"], [\"filter\", \"none\"], [\"backdrop-filter\", \"none\"], [\"will-change\", \"auto\"], [\"contain\", \"none\"]], c = [], _l4 = t.parentNode; _l4 && _l4.nodeType === 1 && _l4 !== document.documentElement;) {\n var u = typeof getComputedStyle == \"function\" ? getComputedStyle(_l4) : null;\n\n if (u) {\n for (var d = null, f = 0; f < s.length; f++) {\n var p = s[f][0],\n m = s[f][1],\n h = u.getPropertyValue(p);\n h && h !== m && h !== \"normal\" && (d || (d = {}), d[p] = {\n v: _l4.style.getPropertyValue(p),\n p: _l4.style.getPropertyPriority(p)\n }, _l4.style.setProperty(p, m, \"important\"));\n }\n\n d && c.push({\n el: _l4,\n saved: d\n });\n }\n\n _l4 = _l4.parentNode;\n }\n\n var g = !1,\n _ = function _() {\n if (!g) {\n g = !0, t.classList.remove(\"tokui-print-target\"), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.body && document.body.removeAttribute(\"data-tokui-printing\");\n\n for (var e = 0; e < n.length; e++) {\n n[e].removeAttribute(\"data-tokui-print-hidden\");\n }\n\n for (var r = 0; r < c.length; r++) {\n var i = c[r];\n\n for (var a in i.saved) {\n Object.prototype.hasOwnProperty.call(i.saved, a) && i.el.style.setProperty(a, i.saved[a].v, i.saved[a].p);\n }\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && typeof window.removeEventListener == \"function\" && window.removeEventListener(\"afterprint\", _);\n }\n };\n\n typeof window.addEventListener == \"function\" && window.addEventListener(\"afterprint\", _);\n\n try {\n window.print();\n } catch (_unused6) {}\n\n setTimeout(_, 1e3);\n }\n }\n }]);\n\n return l;\n }();\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.el = s, window.TokUI._internal.VARIANTS = c, window.TokUI._internal.TokUIRenderer = l, window.TokUI._internal.resolveButtonAction = n, window.TokUI._internal.resolveTargetForm = r, window.TokUI._internal.resolvePrintScope = i, window.TokUI._internal.broadcastTokuiReset = a), t !== void 0 && t.exports && (t.exports = {\n el: s,\n TokUIRenderer: l,\n VARIANTS: c,\n resolveButtonAction: n,\n resolveTargetForm: r,\n resolvePrintScope: i,\n broadcastTokuiReset: a\n });\n }),\n g = s(function (e, t) {\n var n = true ? u().t : undefined;\n\n function r(e) {\n try {\n var t = e.split(\"?\")[0].split(\"/\"),\n n = t[t.length - 1];\n return n && n.length < 60 ? decodeURIComponent(n) : \"\";\n } catch (_unused7) {\n return \"\";\n }\n }\n\n function i(e) {\n var t = null,\n i = 0,\n a = [],\n o = null,\n s = null,\n c = 1,\n l = 0,\n u = !1,\n d = !1;\n\n function f() {\n c = 1, l = 0, u = !1, d = !1;\n }\n\n function p() {\n var e = t.querySelector(\".tokui-lightbox__img\"),\n n = [];\n n.push(\"scale(\" + c + \")\"), n.push(\"rotate(\" + l + \"deg)\"), u && n.push(\"scaleX(-1)\"), d && n.push(\"scaleY(-1)\"), e.style.transform = n.join(\" \"), e.style.cursor = c > 1 ? \"grab\" : \"\", m();\n }\n\n function m() {\n if (t) {\n var e = t.querySelector(\".tokui-lightbox__scale\");\n e && (e.textContent = Math.round(c * 100) + \"%\");\n }\n }\n\n function h() {\n t = e.createElement(\"div\"), t.className = \"tokui-lightbox\", t.setAttribute(\"role\", \"dialog\"), t.setAttribute(\"aria-modal\", \"true\"), t.setAttribute(\"aria-label\", n(\"lightbox.preview\"));\n var r = e.createElement(\"img\");\n r.className = \"tokui-lightbox__img\", t.appendChild(r);\n var i = e.createElement(\"div\");\n i.className = \"tokui-lightbox__toolbar\";\n var a = e.createElement(\"button\");\n a.className = \"tokui-lightbox__tool\", a.setAttribute(\"aria-label\", n(\"lightbox.zoomIn\")), a.innerHTML = \"&#43;\", a.addEventListener(\"click\", function (e) {\n e.stopPropagation(), g();\n });\n var o = e.createElement(\"span\");\n o.className = \"tokui-lightbox__scale\", o.textContent = \"100%\";\n var s = e.createElement(\"button\");\n s.className = \"tokui-lightbox__tool\", s.setAttribute(\"aria-label\", n(\"lightbox.zoomOut\")), s.innerHTML = \"&#8722;\", s.addEventListener(\"click\", function (e) {\n e.stopPropagation(), _();\n });\n var c = e.createElement(\"button\");\n c.className = \"tokui-lightbox__tool\", c.setAttribute(\"aria-label\", n(\"lightbox.reset\")), c.innerHTML = \"&#8634;\", c.addEventListener(\"click\", function (e) {\n e.stopPropagation(), b();\n });\n var l = e.createElement(\"button\");\n l.className = \"tokui-lightbox__tool\", l.setAttribute(\"aria-label\", n(\"lightbox.rotateLeft\")), l.innerHTML = \"&#8634;L\", l.addEventListener(\"click\", function (e) {\n e.stopPropagation(), v(-90);\n });\n var u = e.createElement(\"button\");\n u.className = \"tokui-lightbox__tool\", u.setAttribute(\"aria-label\", n(\"lightbox.rotateRight\")), u.innerHTML = \"&#8635;R\", u.addEventListener(\"click\", function (e) {\n e.stopPropagation(), v(90);\n });\n var d = e.createElement(\"button\");\n d.className = \"tokui-lightbox__tool\", d.setAttribute(\"aria-label\", n(\"lightbox.flipH\")), d.innerHTML = \"&#8596;\", d.addEventListener(\"click\", function (e) {\n e.stopPropagation(), y(\"h\");\n });\n var f = e.createElement(\"button\");\n f.className = \"tokui-lightbox__tool\", f.setAttribute(\"aria-label\", n(\"lightbox.flipV\")), f.innerHTML = \"&#8597;\", f.addEventListener(\"click\", function (e) {\n e.stopPropagation(), y(\"v\");\n });\n var p = e.createElement(\"span\");\n p.className = \"tokui-lightbox__sep\";\n var m = e.createElement(\"span\");\n m.className = \"tokui-lightbox__counter\", i.appendChild(s), i.appendChild(o), i.appendChild(a), i.appendChild(c), i.appendChild(p), i.appendChild(l), i.appendChild(u), i.appendChild(d), i.appendChild(f), i.appendChild(p.cloneNode()), i.appendChild(m), t.appendChild(i);\n var h = e.createElement(\"div\");\n h.className = \"tokui-lightbox__filename\", t.appendChild(h);\n var x = e.createElement(\"button\");\n x.className = \"tokui-lightbox__prev\", x.textContent = \"\\u2039\", x.setAttribute(\"aria-label\", \"Previous\"), t.appendChild(x);\n var C = e.createElement(\"button\");\n C.className = \"tokui-lightbox__next\", C.textContent = \"\\u203A\", C.setAttribute(\"aria-label\", \"Next\"), t.appendChild(C);\n var w = e.createElement(\"button\");\n return w.className = \"tokui-lightbox__close\", w.innerHTML = \"&times;\", w.setAttribute(\"aria-label\", n(\"common.close\")), w.addEventListener(\"click\", function (e) {\n e.stopPropagation(), T();\n }), t.appendChild(w), t.addEventListener(\"wheel\", function (e) {\n e.preventDefault(), e.deltaY < 0 ? g() : _();\n }), t.addEventListener(\"click\", function (e) {\n e.target === t && T();\n }), x.addEventListener(\"click\", function (e) {\n e.stopPropagation(), S(-1);\n }), C.addEventListener(\"click\", function (e) {\n e.stopPropagation(), S(1);\n }), t;\n }\n\n function g() {\n c = Math.min(c + .25, 5), p();\n }\n\n function _() {\n c = Math.max(c - .25, .25), p();\n }\n\n function v(e) {\n l = (l + e) % 360, p();\n }\n\n function y(e) {\n e === \"h\" ? u = !u : d = !d, p();\n }\n\n function b() {\n f(), p();\n }\n\n function x() {\n var e = t.querySelector(\".tokui-lightbox__img\"),\n n = t.querySelector(\".tokui-lightbox__counter\"),\n o = t.querySelector(\".tokui-lightbox__prev\"),\n s = t.querySelector(\".tokui-lightbox__next\"),\n c = t.querySelector(\".tokui-lightbox__filename\");\n e.src = a[i], n.textContent = a.length > 1 ? i + 1 + \"/\" + a.length : \"\", o.style.display = a.length > 1 ? \"\" : \"none\", s.style.display = a.length > 1 ? \"\" : \"none\";\n var l = r(a[i]);\n c.textContent = l, c.style.display = l ? \"\" : \"none\", f(), e.style.transform = \"\", e.style.cursor = \"\", m();\n }\n\n function S(e) {\n i = (i + e + a.length) % a.length, x();\n }\n\n function C(n) {\n if (n.key === \"Escape\" && T(), n.key === \"ArrowLeft\" && S(-1), n.key === \"ArrowRight\" && S(1), (n.key === \"+\" || n.key === \"=\") && g(), n.key === \"-\" && _(), (n.key === \"r\" || n.key === \"R\") && v(n.shiftKey ? -90 : 90), (n.key === \"h\" || n.key === \"H\") && y(\"h\"), (n.key === \"v\" || n.key === \"V\") && y(\"v\"), n.key === \"0\" && b(), n.key === \"Tab\" && t) {\n var r = t.querySelectorAll(\"button, [tabindex]\");\n if (r.length === 0) return;\n var i = r[0],\n a = r[r.length - 1];\n n.shiftKey && e.activeElement === i ? (n.preventDefault(), a.focus()) : !n.shiftKey && e.activeElement === a && (n.preventDefault(), i.focus());\n }\n }\n\n function w(n, r) {\n s = e.activeElement, a = r || [n], i = a.indexOf(n), i < 0 && (i = 0), t || h(), e.body.appendChild(t), x(), e.addEventListener(\"keydown\", C), o = C;\n var c = t.querySelector(\".tokui-lightbox__close\");\n c && c.focus();\n }\n\n function T() {\n t && t.parentNode && t.parentNode.removeChild(t), o && (o = (e.removeEventListener(\"keydown\", o), null)), s && s.focus && (s.focus(), s = null);\n }\n\n return {\n open: w,\n destroy: T\n };\n }\n\n var a = null;\n\n function o(e) {\n return a || (a = i(e || document)), a;\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.createLightbox = i, window.TokUI._internal.getLightbox = o), t !== void 0 && t.exports && (t.exports = {\n createLightbox: i,\n getLightbox: o\n });\n }),\n _ = s(function (e, t) {\n var n = true ? u().t : undefined,\n r = {},\n i = \"http://www.w3.org/2000/svg\",\n a = [\"#1677ff\", \"#52c41a\", \"#faad14\", \"#f5222d\", \"#722ed1\", \"#13c2c2\", \"#eb2f96\", \"#fa8c16\", \"#2f54eb\", \"#a0d911\"],\n o = 22;\n\n function s(e, t) {\n var n = document.createElementNS(i, e);\n return t && Object.keys(t).forEach(function (e) {\n n.setAttribute(e, String(t[e]));\n }), n;\n }\n\n function c(e) {\n return e ? String(e).split(\",\").map(function (e) {\n return parseFloat(e.trim()) || 0;\n }) : [];\n }\n\n function l(e) {\n return e ? String(e).split(\",\").map(function (e) {\n return e.trim();\n }) : [];\n }\n\n function d(e) {\n return e ? String(e).split(\"|\").map(function (e) {\n return e.split(\",\").map(function (e) {\n return parseFloat(e.trim()) || 0;\n });\n }) : [];\n }\n\n function f(e) {\n return e ? String(e).split(\";\").map(function (e) {\n var t = e.split(\",\").map(function (e) {\n return parseFloat(e.trim()) || 0;\n });\n return {\n x: t[0] || 0,\n y: t[1] || 0\n };\n }) : [];\n }\n\n function p(e) {\n return e ? String(e).split(\",\").map(function (e) {\n return parseFloat(e.trim());\n }).filter(function (e) {\n return !isNaN(e);\n }) : [];\n }\n\n function m(e) {\n return e ? String(e).split(\",\").map(function (e) {\n return e.trim().replace(/^[\"']|[\"']$/g, \"\");\n }).filter(h) : [];\n }\n\n function h(e) {\n return !e || (e = e.trim(), !e) ? !1 : !!(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e) || /^var\\(--[^)]+\\)$/.test(e) || /^(rgba?|hsla?)\\([^)]*\\)$/i.test(e));\n }\n\n function g(e) {\n if (e.c) {\n var t = String(e.c).split(\",\").map(function (e) {\n return e.trim().replace(/^[\"']|[\"']$/g, \"\");\n }).filter(h);\n if (t.length) return t;\n }\n\n return a;\n }\n\n function _(e) {\n return Math.max.apply(null, e);\n }\n\n function v(e) {\n return Math.min.apply(null, e);\n }\n\n function y(e, t, n) {\n return Math.max(t, Math.min(n, e));\n }\n\n function b(e, t, n, r, i, a, o) {\n if (e[t] !== void 0 && e[t] !== \"\") {\n var s = parseInt(e[t], 10);\n if (!isNaN(s) && s > 0) return s;\n }\n\n return y(Math.round(r + Math.max(0, n) * i), a, o);\n }\n\n function x(e, t, n, r) {\n return e / t > n && (t = Math.round(e / n)), Math.min(t, r);\n }\n\n function S(e, t) {\n var n = 0,\n r = s(\"g\", {\n class: \"tokui-chart-tips-layer\"\n });\n\n function i(e) {\n for (var t = 0, n = 0; n < e.length; n++) {\n t += e.charCodeAt(n) > 127 ? 10 : 5.5;\n }\n\n return t;\n }\n\n return {\n layer: r,\n add: function add(a, o, c, l) {\n var u = String(n++);\n a.setAttribute(\"data-tip-id\", u);\n var d = o.split(\" \"),\n f = 14,\n p = 8,\n m = 4,\n h = 0;\n d.forEach(function (e) {\n h = Math.max(h, i(e));\n });\n\n var g = h + p * 2,\n _ = d.length * f + m * 2,\n v = c - g / 2,\n y = l - _ - 6;\n\n v < 2 && (v = 2), v + g > e - 2 && (v = e - g - 2), y < 2 && (y = l + 10), y + _ > t - 2 && (y = t - _ - 2);\n var b = s(\"g\", {\n class: \"tokui-chart-tip\",\n \"data-tip-id\": u\n });\n b.setAttribute(\"data-tx\", c), b.setAttribute(\"data-ty\", l), b.appendChild(s(\"rect\", {\n x: v,\n y: y,\n width: g,\n height: _,\n rx: 4,\n fill: \"rgba(0,0,0,0.78)\"\n })), d.forEach(function (e, t) {\n var n = s(\"text\", {\n x: v + g / 2,\n y: y + m + (t + .5) * f,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"#fff\",\n \"font-size\": \"10\"\n });\n n.textContent = e, b.appendChild(n);\n }), r.appendChild(b);\n }\n };\n }\n\n function C(e) {\n e.querySelectorAll(\".tokui-chart-tip-group\").forEach(function (t) {\n t.addEventListener(\"mouseenter\", function () {\n var n = t.getAttribute(\"data-tip-id\"),\n r = e.querySelector(\".tokui-chart-tips-layer [data-tip-id=\\\"\" + n + \"\\\"]\");\n r && (r.style.opacity = \"1\");\n }), t.addEventListener(\"mouseleave\", function () {\n var n = t.getAttribute(\"data-tip-id\"),\n r = e.querySelector(\".tokui-chart-tips-layer [data-tip-id=\\\"\" + n + \"\\\"]\");\n r && (r.style.opacity = \"\");\n });\n });\n }\n\n function w(e, t) {\n e.querySelectorAll(\".tokui-chart-tip-group:not([data-tip-bound])\").forEach(function (e) {\n e.setAttribute(\"data-tip-bound\", \"1\"), e.addEventListener(\"mouseenter\", function () {\n var n = e.getAttribute(\"data-tip-id\"),\n r = t.querySelector(\".tokui-chart-tips-layer [data-tip-id=\\\"\" + n + \"\\\"]\");\n r && (r.style.opacity = \"1\");\n }), e.addEventListener(\"mouseleave\", function () {\n var n = e.getAttribute(\"data-tip-id\"),\n r = t.querySelector(\".tokui-chart-tips-layer [data-tip-id=\\\"\" + n + \"\\\"]\");\n r && (r.style.opacity = \"\");\n });\n });\n }\n\n function T(e) {\n for (; e && e.firstChild;) {\n e.removeChild(e.firstChild);\n }\n }\n\n function E(e, t) {\n if (e.createSVGPoint && e.getScreenCTM) try {\n var n = e.createSVGPoint();\n n.x = t, n.y = 0;\n var r = e.getScreenCTM();\n if (r) return n.matrixTransform(r.inverse()).x;\n } catch (_unused8) {}\n var i = e.getBoundingClientRect(),\n a = e.viewBox && e.viewBox.baseVal;\n return !i || !i.width || !a ? t - (i ? i.left : 0) : (t - i.left) / i.width * a.width + a.x;\n }\n\n function D(e, t) {\n if (e.createSVGPoint && e.getScreenCTM) try {\n var n = e.createSVGPoint();\n n.x = 0, n.y = t;\n var r = e.getScreenCTM();\n if (r) return n.matrixTransform(r.inverse()).y;\n } catch (_unused9) {}\n var i = e.getBoundingClientRect(),\n a = e.viewBox && e.viewBox.baseVal;\n return !i || !i.height || !a ? t - (i ? i.top : 0) : (t - i.top) / i.height * a.height + a.y;\n }\n\n function O(e) {\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\") return;\n var t = e.svg,\n n = e.padL,\n r = e.padT,\n i = e.cw,\n a = e.ch,\n o = e.n,\n c = e.series,\n l = e.labels,\n u = s(\"g\", {\n class: \"tokui-chart-axis-pointer\"\n });\n e.tipLayer.appendChild(u);\n var d = s(\"line\", {\n y1: r,\n y2: r + a,\n stroke: \"var(--tokui-chart-axis, #bbb)\",\n \"stroke-width\": 1,\n \"stroke-dasharray\": \"4,3\",\n opacity: \"0\",\n \"pointer-events\": \"none\"\n }),\n f = s(\"line\", {\n x1: n,\n x2: n + i,\n stroke: \"var(--tokui-chart-axis, #bbb)\",\n \"stroke-width\": 1,\n \"stroke-dasharray\": \"4,3\",\n opacity: \"0\",\n \"pointer-events\": \"none\"\n });\n u.appendChild(d), u.appendChild(f);\n var p = c.map(function (e) {\n var t = s(\"circle\", {\n r: 5,\n fill: \"var(--tokui-card-bg, #fff)\",\n stroke: e.color,\n \"stroke-width\": 2.5,\n opacity: \"0\",\n \"pointer-events\": \"none\"\n });\n return u.appendChild(t), t;\n }),\n m = s(\"g\", {\n class: \"tokui-chart-tip tokui-chart-tip--axis\",\n opacity: \"0\",\n \"pointer-events\": \"none\",\n style: \"transition:opacity .12s ease;\"\n }),\n h = s(\"rect\", {\n rx: 4,\n fill: \"rgba(0,0,0,0.82)\"\n });\n m.appendChild(h);\n var g = s(\"text\", {\n \"text-anchor\": \"start\",\n fill: \"#fff\",\n \"font-weight\": \"600\"\n });\n m.appendChild(g);\n\n var _ = c.map(function () {\n var e = s(\"g\", {});\n return e.appendChild(s(\"rect\", {\n width: 8,\n height: 8,\n rx: 1\n })), e.appendChild(s(\"text\", {\n \"text-anchor\": \"start\",\n fill: \"#fff\"\n })), m.appendChild(e), e;\n });\n\n u.appendChild(m);\n\n function v() {\n d.setAttribute(\"opacity\", \"0\"), f.setAttribute(\"opacity\", \"0\"), p.forEach(function (e) {\n e.setAttribute(\"opacity\", \"0\");\n }), m.style.opacity = \"0\";\n }\n\n function y(n, r) {\n var i = e.toIdx(n);\n\n if (i < 0 || i >= o || !e.inWindow(i)) {\n v();\n return;\n }\n\n var a = e.toViewX(i);\n d.setAttribute(\"x1\", a), d.setAttribute(\"x2\", a), d.setAttribute(\"opacity\", \"0.9\"), f.setAttribute(\"y1\", r), f.setAttribute(\"y2\", r), f.setAttribute(\"opacity\", \"0.9\");\n var s = t._tokuiBumpedFs || e.bfs || 10,\n u = s + 4,\n y = 7,\n b = String(l[i] == null ? i + 1 : l[i]);\n g.textContent = b, g.setAttribute(\"font-size\", s);\n var x = M(b) * s / 7;\n\n _.forEach(function (t, n) {\n var r = c[n].vals[i],\n o = c[n].markerVals ? c[n].markerVals[i] : r,\n l = (c[n].name ? c[n].name + \": \" : \"\") + (r !== null && r !== void 0 ? r : \"\\u2014\");\n t.querySelector(\"text\").textContent = l, t.querySelector(\"text\").setAttribute(\"font-size\", s), t.querySelector(\"rect\").setAttribute(\"fill\", c[n].color);\n var u = M(l) * s / 7;\n u > x && (x = u), p[n].setAttribute(\"cx\", a), p[n].setAttribute(\"cy\", o == null ? 0 : e.yOf(o)), p[n].setAttribute(\"opacity\", o == null || r == null ? \"0\" : \"1\");\n });\n\n var S = x + 8 + 8 + y * 2,\n C = u * (1 + c.length) + y * 2,\n w = 12,\n T = n + w,\n E = r + w;\n T + S > e.w - 2 && (T = n - S - w), T < 2 && (T = 2), E + C > e.h - 2 && (E = r - C - w), E < 2 && (E = 2), h.setAttribute(\"x\", T), h.setAttribute(\"y\", E), h.setAttribute(\"width\", S), h.setAttribute(\"height\", C), g.setAttribute(\"x\", T + y), g.setAttribute(\"y\", E + y + s * .85), _.forEach(function (e, t) {\n var n = E + y + u * (t + 1) + s * .85;\n e.querySelector(\"rect\").setAttribute(\"x\", T + y), e.querySelector(\"rect\").setAttribute(\"y\", n - s * .7), e.querySelector(\"text\").setAttribute(\"x\", T + y + 8 + 8), e.querySelector(\"text\").setAttribute(\"y\", n);\n }), m.style.opacity = \"1\";\n }\n\n var b = s(\"rect\", {\n x: n,\n y: r,\n width: i,\n height: a,\n fill: \"transparent\",\n style: \"cursor:crosshair;\"\n });\n return t.appendChild(b), b.addEventListener(\"mousemove\", function (e) {\n y(E(t, e.clientX), D(t, e.clientY));\n }), b.addEventListener(\"mouseleave\", v), {\n show: y,\n hide: v,\n overlay: b\n };\n }\n\n function k(e, t) {\n var n = t.padL,\n r = t.cw,\n i = t.n,\n a = t.plotG,\n o = \"tokui-chart-clip-\" + ++P,\n c = s(\"defs\"),\n l = s(\"clipPath\", {\n id: o\n });\n l.appendChild(s(\"rect\", {\n x: n - 1,\n y: t.padT - 1,\n width: r + 2,\n height: t.ch + 2\n })), c.appendChild(l), e.appendChild(c);\n var u = s(\"g\", {\n \"clip-path\": \"url(#\" + o + \")\"\n }),\n d = a.parentNode,\n f = a.nextSibling;\n u.appendChild(a), f ? d.insertBefore(u, f) : d.appendChild(u);\n var p = s(\"g\", {\n class: \"tokui-chart-plot-labels\"\n });\n d.appendChild(p);\n var m = s(\"rect\", {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n rx: 4,\n fill: \"rgba(0,0,0,0.78)\"\n }),\n h = s(\"text\", {\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"#fff\",\n \"font-size\": \"10\"\n }),\n g = s(\"g\", {\n class: \"tokui-chart-tip tokui-chart-tip--shared\"\n });\n g.appendChild(m), g.appendChild(h), t.tipLayer.appendChild(g);\n var _ = {\n s: 0,\n e: i - 1,\n sx: 1,\n tx: 0\n };\n\n function v(n, r, i) {\n for (var a = e._tokuiBumpedFs || 10, o = a / 10, s = 0, c = 0; c < n.length; c++) {\n s += n.charCodeAt(c) > 127 ? 10 : 5.5;\n }\n\n var l = s * o + 16,\n u = 18 * o,\n d = r - l / 2,\n f = i - u - 6;\n d < 2 && (d = 2), d + l > t.w - 2 && (d = t.w - l - 2), f < 2 && (f = i + 10), m.setAttribute(\"x\", d), m.setAttribute(\"y\", f), m.setAttribute(\"width\", l), m.setAttribute(\"height\", u), h.setAttribute(\"x\", d + l / 2), h.setAttribute(\"y\", f + u / 2 + 1), h.setAttribute(\"font-size\", a), h.textContent = n, g.style.opacity = \"1\";\n }\n\n function b(i, o, s) {\n var c = t.srcLeft(i),\n l = r / (t.srcRight(o) - c),\n u = n - l * c;\n\n if (a.setAttribute(\"transform\", \"matrix(\" + l + \" 0 0 1 \" + u + \" 0)\"), _.s = i, _.e = o, _.sx = l, _.tx = u, T(p), s) {\n t.renderLabels(p, i, o);\n var d = e._tokuiBumpedFs;\n if (d) for (var f = p.querySelectorAll(\"text\"), m = 0; m < f.length; m++) {\n f[m].setAttribute(\"font-size\", d);\n }\n }\n\n t.onZoom && t.onZoom(i, o, l, u);\n }\n\n var x = s(\"g\", {\n class: \"tokui-chart-zoom\"\n });\n d.appendChild(x);\n var S = t.h + 6,\n C = 16,\n w = C - 2,\n D = s(\"rect\", {\n x: n,\n y: S,\n width: r,\n height: C,\n fill: \"var(--tokui-chart-grid, #e8e8e8)\",\n rx: 3,\n class: \"tokui-chart-zoom-track\"\n });\n x.appendChild(D);\n\n for (var O = r / i, k = [], A = 0; A < i; A++) {\n var j = t.overview[A] || 0,\n M = Math.max(1, (j - t.valMin) / t.range * w),\n I = s(\"rect\", {\n x: n + A * O + .5,\n y: S + C - 1 - M,\n width: Math.max(1, O - 1),\n height: M,\n fill: \"var(--tokui-chart-text, #bbb)\",\n opacity: \"0.55\",\n class: \"tokui-chart-zoom-overview\"\n });\n x.appendChild(I), k.push({\n el: I,\n val: j\n });\n }\n\n var R = s(\"rect\", {\n y: S - 1,\n height: C + 2,\n fill: \"rgba(0,120,212,0.12)\",\n stroke: \"var(--tokui-primary-6, #1a73e8)\",\n \"stroke-width\": 1,\n rx: 2,\n class: \"tokui-chart-zoom-window\",\n style: \"cursor:grab;\"\n }),\n z = s(\"rect\", {\n width: 6,\n height: C + 6,\n y: S - 3,\n fill: \"var(--tokui-primary-6, #1a73e8)\",\n rx: 2,\n class: \"tokui-chart-zoom-handle tokui-chart-zoom-handle--l\",\n style: \"cursor:ew-resize;\"\n }),\n B = s(\"rect\", {\n width: 6,\n height: C + 6,\n y: S - 3,\n fill: \"var(--tokui-primary-6, #1a73e8)\",\n rx: 2,\n class: \"tokui-chart-zoom-handle tokui-chart-zoom-handle--r\",\n style: \"cursor:ew-resize;\"\n });\n x.appendChild(R), x.appendChild(z), x.appendChild(B);\n\n function V(n) {\n if (n > 0) {\n var r = L(9, n, N, F);\n e._tokuiBumpedFs = r, h && h.setAttribute(\"font-size\", r);\n var i = Math.min(26, Math.max(16, 14 / n)),\n a = Math.min(24, Math.max(6, 10 / n));\n C = i, w = C - 2, D.setAttribute(\"height\", C), R.setAttribute(\"height\", C + 2), z.setAttribute(\"width\", a), z.setAttribute(\"height\", C + 6), B.setAttribute(\"width\", a), B.setAttribute(\"height\", C + 6);\n\n for (var o = 0; o < k.length; o++) {\n var s = Math.max(1, (k[o].val - t.valMin) / t.range * w);\n k[o].el.setAttribute(\"y\", S + C - 1 - s), k[o].el.setAttribute(\"height\", s);\n }\n }\n }\n\n var H = 0,\n U = 1,\n W = Math.max(2, Math.floor(i * .1)) / (i - 1);\n\n function G(e, t) {\n var i = n + e * r,\n a = n + t * r;\n R.setAttribute(\"x\", i), R.setAttribute(\"width\", Math.max(2, a - i)), z.setAttribute(\"x\", i - 3), B.setAttribute(\"x\", a - 3);\n }\n\n G(H, U);\n var ee = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && typeof window.requestAnimationFrame == \"function\",\n q = !1,\n J = null;\n\n function te(e, t) {\n J = [e, t], !q && (q = !0, ee ? window.requestAnimationFrame(function () {\n q = !1, J && b(J[0], J[1], !1);\n }) : (q = !1, b(e, t, !1)));\n }\n\n function ne(e) {\n G(H, U);\n var t = K(i, H, U);\n e ? te(t.s, t.e) : (J = null, b(t.s, t.e, !0));\n }\n\n function Y(t, i) {\n t.style.touchAction = \"none\", t.style.userSelect = \"none\", t.style.webkitUserDrag = \"none\";\n\n function a(a, o) {\n var s = !0,\n c = a;\n\n function l(e) {\n if (s) {\n var t = y((e - n) / r, 0, 1);\n if (i === \"l\") H = Math.min(t, U - W);else if (i === \"r\") U = Math.max(t, H + W);else {\n var a = U - H,\n o = (e - c) / r;\n H = y(H + o, 0, 1 - a), U = H + a;\n }\n c = e, ne(!0);\n }\n }\n\n function u(t) {\n t.preventDefault(), l(E(e, t.clientX));\n }\n\n function d() {\n s = !1, t.removeEventListener(\"pointermove\", u), t.removeEventListener(\"pointerup\", d);\n\n try {\n t.releasePointerCapture(o);\n } catch (_unused10) {}\n\n ne(!1);\n }\n\n t.addEventListener(\"pointermove\", u), t.addEventListener(\"pointerup\", d);\n }\n\n t.addEventListener(\"pointerdown\", function (n) {\n n.preventDefault(), n.stopPropagation();\n\n try {\n t.setPointerCapture(n.pointerId);\n } catch (_unused11) {}\n\n a(E(e, n.clientX), n.pointerId);\n });\n }\n\n return Y(z, \"l\"), Y(B, \"r\"), Y(R, \"pan\"), b(0, i - 1, !0), e._tokuiZoomRelayout = V, {\n showTip: v,\n winState: _,\n sharedTip: g,\n clipG: u\n };\n }\n\n function A(e, t, n, r, i, a) {\n if (!(!t || !t.length)) {\n i > 0 || (i = 7);\n var o = 8,\n c = 4,\n l = 14,\n u = t.map(function (e) {\n var t = M(e.text) * (i / 7);\n return {\n e: e,\n w: o + c + t\n };\n }),\n d = u.reduce(function (e, t) {\n return e + t.w;\n }, 0),\n f = l;\n\n if (a && u.length > 1) {\n var p = Math.max(0, n - 8 - d) / (u.length - 1);\n f = Math.max(18, Math.min(56, p));\n }\n\n var m = d + f * (u.length - 1),\n h = Math.max(4, (n - m) / 2);\n u.forEach(function (t) {\n e.appendChild(s(\"rect\", {\n x: h,\n y: r + 1,\n width: o,\n height: 8,\n fill: t.e.color,\n rx: 1.5\n }));\n var n = s(\"text\", {\n x: h + o + c,\n y: r + 7,\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": String(i)\n });\n n.textContent = t.e.text, e.appendChild(n), h += t.w + f;\n });\n }\n }\n\n function j(e, t, r) {\n var i = s(\"svg\", {\n viewBox: \"0 0 \" + e + \" \" + t,\n class: \"tokui-chart__svg tokui-chart__svg--empty\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n a = s(\"text\", {\n x: e / 2,\n y: t / 2,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #bbb)\",\n \"font-size\": \"11\"\n });\n return a.textContent = r || n(\"chart.empty\"), i.appendChild(a), i;\n }\n\n function M(e) {\n for (var t = 0, n = 0; n < e.length; n++) {\n t += e.charCodeAt(n) > 127 ? 8 : 4.5;\n }\n\n return t;\n }\n\n var N = 14,\n P = 0,\n F = 16,\n I = 7;\n\n function L(e, t, n, r) {\n if (!(t > 0)) return e;\n var i = e * t;\n return r > 0 && i > r ? r / t : n > 0 && i < n ? n / t : e;\n }\n\n function R(e, t) {\n if (t > 0) {\n var n = L(10, t, N, F) / 10;\n if (!(Math.abs(n - 1) < .005)) for (var r = e.querySelectorAll(\".tokui-chart-tips-layer .tokui-chart-tip:not(.tokui-chart-tip--shared):not(.tokui-chart-tip--axis)\"), i = 0; i < r.length; i++) {\n var a = r[i],\n o = parseFloat(a.getAttribute(\"data-tx\")),\n s = parseFloat(a.getAttribute(\"data-ty\"));\n\n if (!isFinite(o) || !isFinite(s)) {\n var c = a.querySelector(\"rect\");\n c ? (o = parseFloat(c.getAttribute(\"x\")) + parseFloat(c.getAttribute(\"width\")) / 2, s = parseFloat(c.getAttribute(\"y\")) + parseFloat(c.getAttribute(\"height\")) / 2) : (o = 0, s = 0);\n }\n\n a.setAttribute(\"transform\", \"translate(\" + o + \" \" + s + \") scale(\" + Math.round(n * 1e3) / 1e3 + \") translate(\" + -o + \" \" + -s + \")\");\n }\n }\n }\n\n function z(e, t, n, r, i) {\n if (!(e > 0) || !(t >= 0) || !(r >= 0) || !(i > 0)) return 0;\n var a = e - 2 * i * (r - 1);\n return a <= 0 ? 0 : 2 * i * (t + n) / a;\n }\n\n function B(e, t) {\n (!(e > 0) || !isFinite(e)) && (e = 1);\n var n = Math.floor(Math.log10(e)),\n r = e / Math.pow(10, n);\n return (t ? r < 1.5 ? 1 : r < 3 ? 2 : r < 7 ? 5 : 10 : r <= 1 ? 1 : r <= 2 ? 2 : r <= 5 ? 5 : 10) * Math.pow(10, n);\n }\n\n function V(e, t) {\n if (!isFinite(e) || !isFinite(t)) return [0, 1];\n e === t && (--e, t += 1);\n var n = B(B(t - e, !1) / 5, !0) || 1;\n return [Math.floor(e / n) * n, Math.ceil(t / n) * n];\n }\n\n function H(e, t, n, r) {\n if (e[t] !== void 0 && e[t] !== \"\") {\n var i = parseFloat(e[t]);\n if (!isNaN(i)) return i;\n }\n\n return e[n] === void 0 ? r : +e[n];\n }\n\n var U = 38;\n\n function W(e, t, n, r, i) {\n var a = e.length,\n o = n || 30;\n if (!a) return {\n rotate: !1,\n padB: o,\n interval: 1\n };\n\n for (var s = r || t * a, c = 0, l = 0; l < a; l++) {\n if (!(e[l] == null || e[l] === \"\")) {\n var u = M(String(e[l]));\n u > c && (c = u);\n }\n }\n\n var d = F / I * c,\n f = Math.max(U, d * 1.15),\n p = Math.max(U * .72, d * .72),\n m = Math.max(1, Math.floor(s / f)),\n h = Math.max(1, Math.floor(s / p)),\n g = 1,\n _ = !1,\n v = i === void 0 ? \"auto\" : String(i);\n\n if (v === \"0\") g = 1, _ = a > m && (a <= h || a <= 10);else if (v === \"auto\") a <= m ? (g = 1, _ = !1) : a <= 10 || a <= h ? (g = 1, _ = !0) : (g = Math.ceil(a / m), _ = !1);else {\n var y = parseInt(v, 10);\n !isNaN(y) && y > 1 ? (g = y, _ = Math.ceil(a / g) > m && Math.ceil(a / g) <= h) : (g = 1, _ = a > m);\n }\n return _ && (o = Math.max(n || 30, 52)), {\n rotate: _,\n padB: o,\n interval: g\n };\n }\n\n var G = 30;\n\n function ee(e, t) {\n var n = e.zoom;\n if (n === void 0) return !1;\n var r = String(n);\n if (r === \"\" || r === \"auto\" || r === \"on\" || r === \"true\") return t > G;\n if (r === \"off\" || r === \"false\" || r === \"0\") return !1;\n var i = parseInt(r, 10);\n return isNaN(i) ? t > G : t > i;\n }\n\n function K(e, t, n) {\n if (e <= 1) return {\n s: 0,\n e: Math.max(0, e - 1)\n };\n var r = Math.round(t * (e - 1)),\n i = Math.round(n * (e - 1));\n\n if (r < 0 && (r = 0), i > e - 1 && (i = e - 1), r > i) {\n var a = r;\n r = i, i = a;\n }\n\n var o = Math.min(e - 1, Math.max(2, Math.floor(e * .1)));\n return i - r < o && (r + o <= e - 1 ? i = r + o : (i = e - 1, r = Math.max(0, i - o))), {\n s: r,\n e: i\n };\n }\n\n function q(e, t, n, r, i, a, o) {\n var c = (i || 40) * .9,\n l = typeof a == \"boolean\",\n u = o && o > 1 ? o : 1,\n d = t.length - 1;\n t.forEach(function (t, i) {\n if (!(t == null || t === \"\") && !(u > 1 && !(i === 0 || i === d || i % u === 0))) {\n var o = n[i],\n f = l ? a : M(String(t)) > c,\n p = s(\"text\", {\n x: o,\n y: r,\n \"text-anchor\": f ? \"end\" : \"middle\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n });\n f && p.setAttribute(\"transform\", \"rotate(-45 \" + o + \" \" + r + \")\"), p.textContent = t, e.appendChild(p);\n }\n });\n }\n\n function J(e, t, n, r, i) {\n var a = s(\"text\", {\n x: n,\n y: r,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"9\"\n });\n i && a.setAttribute(\"transform\", \"rotate(-90 \" + n + \" \" + r + \")\"), a.textContent = t, e.appendChild(a);\n }\n\n function te(e, t, n, r) {\n var i = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && typeof window.requestAnimationFrame == \"function\",\n a = i && window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n if (!(n > 0) || !i || a) {\n r(t);\n return;\n }\n\n var o = null;\n\n function s(i) {\n o === null && (o = i);\n var a = Math.min(1, (i - o) / n),\n c = 1 - Math.pow(1 - a, 3);\n r(e + (t - e) * c), a < 1 && window.requestAnimationFrame(s);\n }\n\n window.requestAnimationFrame(s);\n }\n\n function ne(e) {\n return e = String(e).replace(\"#\", \"\"), e.length === 3 && (e = e[0] + e[0] + e[1] + e[1] + e[2] + e[2]), /^[0-9a-fA-F]{6}$/.test(e) ? [parseInt(e.slice(0, 2), 16), parseInt(e.slice(2, 4), 16), parseInt(e.slice(4, 6), 16)] : null;\n }\n\n function Y(e, t, n) {\n var r = ne(e),\n i = ne(t);\n if (!r || !i) return e;\n var a = Math.round(r[0] + (i[0] - r[0]) * n),\n o = Math.round(r[1] + (i[1] - r[1]) * n),\n s = Math.round(r[2] + (i[2] - r[2]) * n);\n return \"rgb(\" + a + \",\" + o + \",\" + s + \")\";\n }\n\n function re(e, t) {\n if (t = y(t, 0, 1), e.length === 1) return e[0];\n var n = t * (e.length - 1),\n r = Math.min(e.length - 2, Math.floor(n));\n return Y(e[r], e[r + 1], n - r);\n }\n\n function ie(e, t, r, i) {\n var a = i.orient === \"h\" || i.orientation === \"h\",\n c = i.stack !== void 0 || i.stacked !== void 0,\n l = d(i.d);\n if (l.length || (l = [e]), l.every(function (e) {\n return !e.length;\n })) return j(parseInt(i.w) || 400, parseInt(i.h) || 200);\n var u = Math.max.apply(null, l.map(function (e) {\n return e.length;\n })),\n f,\n p;\n a ? (f = parseInt(i.w) || 480, p = b(i, \"h\", u, 36, 26, 200, 1200)) : (f = b(i, \"w\", u, 52, 26, 360, 2400), p = x(f, parseInt(i.h) || 200, 4, 560));\n\n var m = l.length > 1,\n h = !a && ee(i, u),\n g = h ? 28 : 0,\n _ = p + (m ? o : 0) + g,\n v = 0,\n D = 0;\n\n if (c) for (var O = 0; O < u; O++) {\n var k = 0,\n M = 0;\n l.forEach(function (e) {\n var t = e[O] || 0;\n t >= 0 ? k += t : M += t;\n }), k > v && (v = k), M < D && (D = M);\n } else l.forEach(function (e) {\n e.forEach(function (e) {\n e > v && (v = e), e < D && (D = e);\n });\n });\n v = H(i, \"ymax\", \"_yMax\", v || 1);\n var N = v - D || 1,\n F = s(\"svg\", {\n viewBox: \"0 0 \" + f + \" \" + _,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n I = S(f, _);\n\n function L(e, t, n) {\n var r = c ? n >= 0 ? R[t] || 0 : z[t] || 0 : 0,\n i = n >= 0 ? r + n : r,\n a = n >= 0 ? r : r + n;\n return c && (n >= 0 ? R[t] = i : z[t] = a), [a, i];\n }\n\n var R = [],\n z = [];\n\n if (a) {\n var B = 70,\n V = i.xl ? 30 : 22,\n U = 14,\n G = i.yl ? 30 : 16,\n te = f - B - G,\n ne = p - U - V,\n Y = ne / u,\n re = Math.max(3, c ? Y * .6 : Y * .6 / l.length);\n\n function _e37(e) {\n return B + te * (e - D) / N;\n }\n\n for (var ie = 0; ie <= 4; ie++) {\n var ae = D + N * ie / 4,\n X = _e37(ae);\n\n F.appendChild(s(\"line\", {\n x1: X,\n y1: U,\n x2: X,\n y2: U + ne,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), F.appendChild(s(\"text\", {\n x: X,\n y: U + ne + 10,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(ae);\n }\n\n l.forEach(function (a, o) {\n a.forEach(function (a, u) {\n if (a != null) {\n var d = L(o, u, a),\n f = _e37(d[0]),\n p = Math.max(0, _e37(d[1]) - f),\n m = U + u * Y + Y * .2 + (c ? 0 : o * re),\n h = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n\n if (h.appendChild(s(\"rect\", {\n x: f,\n y: m,\n width: p,\n height: re - 1,\n fill: r[o % r.length],\n rx: 2,\n class: \"tokui-chart-bar\"\n })), I.add(h, (t[u] || \"\") + \": \" + a + (l.length > 1 ? \" (\" + n(\"chart.seriesDefault\", {\n n: o + 1\n }) + \")\" : \"\"), f + p / 2, m), F.appendChild(h), i.vals !== void 0) {\n var g = s(\"text\", {\n x: f + p + 3,\n y: m + re / 2 + 2,\n \"text-anchor\": \"start\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"8\"\n });\n g.textContent = a, F.appendChild(g);\n }\n }\n });\n }), t.slice(0, u).forEach(function (e, t) {\n if (!(e == null || e === \"\")) {\n var n = U + t * Y + Y / 2;\n F.appendChild(s(\"text\", {\n x: B - 6,\n y: n + 3,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = e;\n }\n }), i.xl && J(F, i.xl, B + te / 2, U + ne + 22, !1), i.yl && J(F, i.yl, 12, U + ne / 2, !0);\n } else {\n var Z = i._padL ? +i._padL : i.yl ? 46 : 40,\n oe = 12,\n se = 18,\n Q = f - Z - oe,\n ce = Q / u,\n le = W(t.slice(0, u), ce, i.xl ? 38 : 28, Q, i.interval),\n ue = le.padB,\n de = p - se - ue;\n\n function _e38(e) {\n return se + de * (1 - (e - D) / N);\n }\n\n for (var fe = 0; fe <= 4; fe++) {\n var pe = D + N * fe / 4,\n me = _e38(pe);\n\n F.appendChild(s(\"line\", {\n x1: Z,\n y1: me,\n x2: f - oe,\n y2: me,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), F.appendChild(s(\"text\", {\n x: Z - 4,\n y: me + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(pe);\n }\n\n if (D < 0) {\n var he = _e38(0);\n\n F.appendChild(s(\"line\", {\n x1: Z,\n y1: he,\n x2: f - oe,\n y2: he,\n stroke: \"var(--tokui-chart-axis, #bbb)\",\n \"stroke-width\": 1\n }));\n }\n\n var ge = s(\"g\", {\n class: \"tokui-chart-plot\"\n });\n F.appendChild(ge);\n\n var _e = h && l.length === 1 && !c,\n ve = null,\n ye = null,\n be = null,\n xe = null,\n Se = null,\n Ce = null,\n we = Q / u,\n Te = Math.max(4, we * .6),\n Ee = {\n s: 0,\n e: u - 1,\n sx: 1,\n tx: 0\n };\n\n if (_e) {\n var De = \"tokui-chart-clip-\" + ++P,\n Oe = s(\"defs\"),\n k = s(\"clipPath\", {\n id: De\n });\n k.appendChild(s(\"rect\", {\n x: Z - 1,\n y: se - 1,\n width: Q + 2,\n height: de + 2\n })), Oe.appendChild(k), F.appendChild(Oe);\n var ke = s(\"g\", {\n \"clip-path\": \"url(#\" + De + \")\"\n });\n ge.appendChild(ke), ye = s(\"g\", {\n class: \"tokui-chart-plot-bars\"\n }), ke.appendChild(ye), ve = [];\n\n for (var Ae = l[0], je = 0; je < u; je++) {\n var Me = Ae[je],\n Ne = s(\"rect\", {\n x: Z + je * we + we * .2,\n y: _e38(Me),\n width: Math.max(1, Te - 1),\n height: Math.max(0, Me / N * de),\n rx: 2,\n fill: r[0],\n class: \"tokui-chart-bar\"\n });\n ye.appendChild(Ne), ve.push(Ne);\n }\n\n be = s(\"g\", {\n class: \"tokui-chart-plot-labels\"\n }), ge.appendChild(be), Se = s(\"rect\", {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n rx: 4,\n fill: \"rgba(0,0,0,0.78)\"\n }), Ce = s(\"text\", {\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"#fff\",\n \"font-size\": \"10\"\n }), xe = s(\"g\", {\n class: \"tokui-chart-tip tokui-chart-tip--shared\"\n }), xe.appendChild(Se), xe.appendChild(Ce), I.layer.appendChild(xe);\n }\n\n function _a7(a, o, d) {\n var f = o - a + 1;\n\n if (_e) {\n var m = u / f,\n g = Z - m * (Z + a * we);\n\n if (ye.setAttribute(\"transform\", \"matrix(\" + m + \" 0 0 1 \" + g + \" 0)\"), Ee.s = a, Ee.e = o, Ee.sx = m, Ee.tx = g, T(be), d) {\n for (var _ = Q / f, v = [], y = 0; y < f; y++) {\n v.push(Z + y * _ + _ / 2);\n }\n\n q(be, t.slice(a, o + 1), v, p - 8, _, le.rotate, le.interval);\n }\n\n return;\n }\n\n var b = Q / f;\n T(ge), d && T(I.layer);\n var x = Math.max(4, c ? b * .6 : b * .6 / l.length),\n S = [],\n C = [];\n l.forEach(function (u, f) {\n for (var p = a; p <= o; p++) {\n var m = u[p];\n\n if (m != null) {\n var h = c ? m >= 0 ? S[p] || 0 : C[p] || 0 : 0,\n g = m >= 0 ? h + m : h,\n _ = m >= 0 ? h : h + m;\n\n c && (m >= 0 ? S[p] = g : C[p] = _);\n\n var v = _e38(g),\n y = Math.max(0, (g - _) / N * de),\n w = Z + (p - a) * b + b * .2 + (c ? 0 : f * x),\n T = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n\n if (T.appendChild(s(\"rect\", {\n x: w,\n y: v,\n width: x - 1,\n height: y,\n fill: r[f % r.length],\n rx: 2,\n class: \"tokui-chart-bar\"\n })), d && I.add(T, (t[p] || \"\") + \": \" + m + (l.length > 1 ? \" (\" + n(\"chart.seriesDefault\", {\n n: f + 1\n }) + \")\" : \"\"), w + (x - 1) / 2, v), ge.appendChild(T), i.vals !== void 0) {\n var E = s(\"text\", {\n x: w + (x - 1) / 2,\n y: v - 3,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"8\"\n });\n E.textContent = m, ge.appendChild(E);\n }\n }\n }\n });\n\n for (var E = [], D = 0; D < f; D++) {\n E.push(Z + D * b + b / 2);\n }\n\n q(ge, t.slice(a, o + 1), E, p - 8, b, le.rotate, le.interval), d && h && w(ge, F);\n }\n\n if (_a7(0, u - 1, !0), _e) {\n function _n18(e, t, n) {\n for (var r = F._tokuiBumpedFs || 10, i = r / 10, a = 0, o = 0; o < e.length; o++) {\n a += e.charCodeAt(o) > 127 ? 10 : 5.5;\n }\n\n var s = a * i + 16,\n c = 18 * i,\n l = t - s / 2,\n u = n - c - 6;\n l < 2 && (l = 2), l + s > f - 2 && (l = f - s - 2), u < 2 && (u = n + 10), Se.setAttribute(\"x\", l), Se.setAttribute(\"y\", u), Se.setAttribute(\"width\", s), Se.setAttribute(\"height\", c), Ce.setAttribute(\"x\", l + s / 2), Ce.setAttribute(\"y\", u + c / 2 + 1), Ce.setAttribute(\"font-size\", r), Ce.textContent = e, xe.style.opacity = \"1\";\n }\n\n ve.forEach(function (r, i) {\n r.addEventListener(\"mouseenter\", function () {\n var r = l[0][i];\n\n if (r != null) {\n var a = Z + i * we + we * .2 + (Te - 1) / 2,\n o = Ee.sx * a + Ee.tx,\n s = _e38(r);\n\n _n18((t[i] || \"\") + \": \" + r, o, s);\n }\n }), r.addEventListener(\"mouseleave\", function () {\n xe.style.opacity = \"\";\n });\n });\n }\n\n i.xl && J(F, i.xl, Z + Q / 2, p - 8 + (le.rotate ? 26 : 12), !1), i.yl && J(F, i.yl, 12, se + de / 2, !0), h && function () {\n var e = s(\"g\", {\n class: \"tokui-chart-zoom\"\n });\n F.appendChild(e);\n var t = p + 6,\n n = 16,\n r = n - 2;\n e.appendChild(s(\"rect\", {\n x: Z,\n y: t,\n width: Q,\n height: n,\n fill: \"var(--tokui-chart-grid, #e8e8e8)\",\n rx: 3,\n class: \"tokui-chart-zoom-track\"\n }));\n var i = [];\n l.forEach(function (e) {\n for (var t = 0; t < e.length; t++) {\n var n = e[t] || 0;\n c ? i[t] = (i[t] || 0) + n : i[t] = Math.max(i[t] || 0, n);\n }\n });\n\n for (var o = Q / u, d = 0; d < u; d++) {\n var f = Math.max(1, (i[d] - D) / N * r);\n e.appendChild(s(\"rect\", {\n x: Z + d * o + .5,\n y: t + n - 1 - f,\n width: Math.max(1, o - 1),\n height: f,\n fill: \"var(--tokui-chart-text, #bbb)\",\n opacity: \"0.55\",\n class: \"tokui-chart-zoom-overview\"\n }));\n }\n\n var m = s(\"rect\", {\n y: t - 1,\n height: n + 2,\n fill: \"rgba(0,120,212,0.12)\",\n stroke: \"var(--tokui-primary-6, #1a73e8)\",\n \"stroke-width\": 1,\n rx: 2,\n class: \"tokui-chart-zoom-window\",\n style: \"cursor:grab;\"\n }),\n h = s(\"rect\", {\n width: 6,\n height: n + 6,\n y: t - 3,\n fill: \"var(--tokui-primary-6, #1a73e8)\",\n rx: 2,\n class: \"tokui-chart-zoom-handle tokui-chart-zoom-handle--l\",\n style: \"cursor:ew-resize;\"\n }),\n g = s(\"rect\", {\n width: 6,\n height: n + 6,\n y: t - 3,\n fill: \"var(--tokui-primary-6, #1a73e8)\",\n rx: 2,\n class: \"tokui-chart-zoom-handle tokui-chart-zoom-handle--r\",\n style: \"cursor:ew-resize;\"\n });\n e.appendChild(m), e.appendChild(h), e.appendChild(g);\n var _ = 0,\n v = 1,\n b = Math.max(2, Math.floor(u * .1)) / (u - 1);\n\n function x(e, t) {\n var n = Z + e * Q,\n r = Z + t * Q;\n m.setAttribute(\"x\", n), m.setAttribute(\"width\", Math.max(2, r - n)), h.setAttribute(\"x\", n - 3), g.setAttribute(\"x\", r - 3);\n }\n\n x(_, v);\n var S = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && typeof window.requestAnimationFrame == \"function\",\n C = !1,\n w = null;\n\n function T(e, t) {\n w = [e, t], !C && (C = !0, S ? window.requestAnimationFrame(function () {\n C = !1, w && _a7(w[0], w[1], !1);\n }) : (C = !1, _a7(e, t, !1)));\n }\n\n function O(e) {\n x(_, v);\n var t = K(u, _, v);\n e ? T(t.s, t.e) : (w = null, _a7(t.s, t.e, !0));\n }\n\n function k(e, t) {\n e.style.touchAction = \"none\", e.style.userSelect = \"none\", e.style.webkitUserDrag = \"none\";\n\n function n(n, r) {\n var i = !0,\n a = n;\n\n function o(e) {\n if (i) {\n var n = y((e - Z) / Q, 0, 1);\n if (t === \"l\") _ = Math.min(n, v - b);else if (t === \"r\") v = Math.max(n, _ + b);else {\n var r = v - _,\n o = (e - a) / Q;\n _ = y(_ + o, 0, 1 - r), v = _ + r;\n }\n a = e, O(!0);\n }\n }\n\n function s(e) {\n e.preventDefault(), o(E(F, e.clientX));\n }\n\n function c() {\n i = !1, e.removeEventListener(\"pointermove\", s), e.removeEventListener(\"pointerup\", c);\n\n try {\n e.releasePointerCapture(r);\n } catch (_unused12) {}\n\n O(!1);\n }\n\n e.addEventListener(\"pointermove\", s), e.addEventListener(\"pointerup\", c);\n }\n\n e.addEventListener(\"pointerdown\", function (t) {\n t.preventDefault(), t.stopPropagation();\n\n try {\n e.setPointerCapture(t.pointerId);\n } catch (_unused13) {}\n\n n(E(F, t.clientX), t.pointerId);\n });\n }\n\n k(h, \"l\"), k(g, \"r\"), k(m, \"pan\");\n }();\n }\n\n return m && A(F, l.map(function (e, t) {\n return {\n color: r[t % r.length],\n text: n(\"chart.seriesDefault\", {\n n: t + 1\n })\n };\n }), f, p + 6), F.appendChild(I.layer), h || C(F), F;\n }\n\n function ae(e, t, r, i) {\n var a = i.stack !== void 0 || i.stacked !== void 0,\n c = i.smooth !== void 0,\n l = d(i.d);\n if (l.length || (l = [e]), l.every(function (e) {\n return !e.length;\n })) return j(parseInt(i.w) || 400, parseInt(i.h) || 200);\n\n var u = Math.max.apply(null, l.map(function (e) {\n return e.length;\n })),\n f = b(i, \"w\", u, 52, 24, 360, 2400),\n p = x(f, parseInt(i.h) || 200, 4, 560),\n m = l.length > 1,\n h = ee(i, u),\n g = h ? 28 : 0,\n _ = p + (m ? o : 0) + g,\n v = l.map(function (e) {\n return e.slice();\n });\n\n if (a) for (var y = 1; y < v.length; y++) {\n for (var w = 0; w < u; w++) {\n v[y][w] = (v[y][w] || 0) + (v[y - 1][w] || 0);\n }\n }\n var T = 0,\n E = 1 / 0;\n v.forEach(function (e) {\n e.forEach(function (e) {\n e > T && (T = e), e < E && (E = e);\n });\n }), E === 1 / 0 && (E = 0), E > 0 && !a && (E = 0);\n var D = T - E || 1,\n M = 12,\n N = 18,\n P = i._padL ? +i._padL : i.yl ? 46 : 40,\n F = f - P - M,\n I = u > 1 ? F / (u - 1) : F,\n L = W(t.slice(0, u), I, i.xl ? 38 : 28, F, i.interval),\n R = L.padB,\n z = p - N - R,\n B = s(\"svg\", {\n viewBox: \"0 0 \" + f + \" \" + _,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n V = S(f, _);\n\n function H(e) {\n return P + (u > 1 ? e * F / (u - 1) : F / 2);\n }\n\n function U(e) {\n return N + z * (1 - (e - E) / D);\n }\n\n for (var G = 0; G <= 4; G++) {\n var K = E + D * G / 4,\n te = U(K);\n B.appendChild(s(\"line\", {\n x1: P,\n y1: te,\n x2: f - M,\n y2: te,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), B.appendChild(s(\"text\", {\n x: P - 4,\n y: te + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(K * 10) / 10;\n }\n\n function ne(e) {\n if (e.length < 2) return e.length ? \"M\" + e[0].x + \",\" + e[0].y : \"\";\n if (e.length === 2) return \"M\" + e[0].x + \",\" + e[0].y + \" L\" + e[1].x + \",\" + e[1].y;\n\n for (var t = \"M\" + e[0].x + \",\" + e[0].y, n = 0; n < e.length - 1; n++) {\n var r = e[n - 1] || e[n],\n i = e[n],\n a = e[n + 1],\n o = e[n + 2] || a;\n t += \" C\" + (i.x + (a.x - r.x) / 6) + \",\" + (i.y + (a.y - r.y) / 6) + \" \" + (a.x - (o.x - i.x) / 6) + \",\" + (a.y - (o.y - i.y) / 6) + \" \" + a.x + \",\" + a.y;\n }\n\n return t;\n }\n\n var Y = h ? s(\"g\", {\n class: \"tokui-chart-plot\"\n }) : null;\n Y && B.appendChild(Y);\n var re = h ? s(\"g\", {\n class: \"tokui-chart-plot-dots\"\n }) : null;\n re && B.appendChild(re);\n var ie = Y || B,\n ae = [];\n\n if (v.forEach(function (e, t) {\n for (var n = [], o = 0; o < e.length; o++) {\n var u = e[o];\n u != null && n.push({\n x: H(o),\n y: U(u),\n idx: o\n });\n }\n\n if (n.length) {\n if (i.area !== void 0 || a) if (a && t > 0) {\n for (var d = [], f = 0; f < v[t - 1].length; f++) {\n v[t - 1][f] !== void 0 && d.push({\n x: H(f),\n y: U(v[t - 1][f])\n });\n }\n\n var p = \"M\" + n[0].x + \",\" + n[0].y;\n n.forEach(function (e) {\n p += \" L\" + e.x + \",\" + e.y;\n });\n\n for (var m = d.length - 1; m >= 0; m--) {\n p += \" L\" + d[m].x + \",\" + d[m].y;\n }\n\n p += \" Z\", ie.appendChild(s(\"path\", {\n d: p,\n fill: r[t % r.length],\n opacity: \"0.4\"\n }));\n } else {\n var g = U(Math.max(0, E)),\n _ = \"M\" + n[0].x + \",\" + g;\n\n n.forEach(function (e) {\n _ += \" L\" + e.x + \",\" + e.y;\n }), _ += \" L\" + n[n.length - 1].x + \",\" + g + \" Z\", ie.appendChild(s(\"path\", {\n d: _,\n fill: r[t % r.length],\n opacity: \"0.15\"\n }));\n }\n c ? ie.appendChild(s(\"path\", {\n d: ne(n),\n fill: \"none\",\n stroke: r[t % r.length],\n \"stroke-width\": 2,\n \"stroke-linejoin\": \"round\",\n \"stroke-linecap\": \"round\"\n })) : ie.appendChild(s(\"polyline\", {\n points: n.map(function (e) {\n return e.x + \",\" + e.y;\n }).join(\" \"),\n fill: \"none\",\n stroke: r[t % r.length],\n \"stroke-width\": 2,\n \"stroke-linejoin\": \"round\"\n }));\n var y = l[t];\n n.forEach(function (n) {\n var a = h ? re : B,\n o = s(\"circle\", {\n cx: n.x,\n cy: n.y,\n r: 3,\n fill: \"#fff\",\n stroke: r[t % r.length],\n \"stroke-width\": 2,\n class: \"tokui-chart-dot\"\n });\n a.appendChild(o), h && ae.push({\n circle: o,\n idx: n.idx,\n x: n.x,\n si: t\n }), i.vals !== void 0 && (ie.appendChild(s(\"text\", {\n x: n.x,\n y: n.y - 6,\n \"text-anchor\": \"middle\",\n fill: r[t % r.length],\n \"font-size\": \"8\"\n })).textContent = y[n.idx] === void 0 ? e[n.idx] : y[n.idx]);\n });\n }\n }), h) {\n var X = k(B, {\n plotG: Y,\n tipLayer: V.layer,\n padL: P,\n cw: F,\n padT: N,\n ch: z,\n h: p,\n w: f,\n n: u,\n srcLeft: function srcLeft(e) {\n return P + (u > 1 ? e * F / (u - 1) : 0);\n },\n srcRight: function srcRight(e) {\n return P + (u > 1 ? e * F / (u - 1) : F);\n },\n overview: l.reduce(function (e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n] || 0;\n e[n] = Math.max(e[n] || 0, r);\n }\n\n return e;\n }, []),\n valMin: E,\n range: D,\n renderLabels: function renderLabels(e, n, r) {\n for (var i = r - n, a = [], o = n; o <= r; o++) {\n a.push(i > 0 ? P + (o - n) * F / i : P + F / 2);\n }\n\n q(e, t.slice(n, r + 1), a, p - 8, I, L.rotate, L.interval);\n },\n onZoom: function onZoom(e, t, n, r) {\n for (var i = 0; i < ae.length; i++) {\n var a = ae[i];\n a.circle.setAttribute(\"cx\", n * a.x + r);\n }\n }\n });\n X.clipG.appendChild(re), O({\n svg: B,\n padL: P,\n padT: N,\n cw: F,\n ch: z,\n w: f,\n h: p,\n n: u,\n labels: t,\n series: l.map(function (e, t) {\n return {\n color: r[t % r.length],\n name: n(\"chart.seriesDefault\", {\n n: t + 1\n }),\n vals: e,\n markerVals: v[t]\n };\n }),\n valMin: E,\n range: D,\n yOf: U,\n tipLayer: V.layer,\n bfs: 9,\n toViewX: function toViewX(e) {\n return X.winState.sx * H(e) + X.winState.tx;\n },\n toIdx: function toIdx(e) {\n var t = (e - X.winState.tx) / X.winState.sx;\n return Math.round((t - P) * (u - 1) / F);\n },\n inWindow: function inWindow(e) {\n return e >= X.winState.s && e <= X.winState.e;\n }\n });\n } else {\n for (var Z = [], oe = 0; oe < u; oe++) {\n Z.push(H(oe));\n }\n\n q(B, t.slice(0, u), Z, p - 8, I, L.rotate, L.interval), O({\n svg: B,\n padL: P,\n padT: N,\n cw: F,\n ch: z,\n w: f,\n h: p,\n n: u,\n labels: t,\n series: l.map(function (e, t) {\n return {\n color: r[t % r.length],\n name: n(\"chart.seriesDefault\", {\n n: t + 1\n }),\n vals: e,\n markerVals: v[t]\n };\n }),\n valMin: E,\n range: D,\n yOf: U,\n tipLayer: V.layer,\n bfs: 9,\n toViewX: H,\n toIdx: function toIdx(e) {\n return Math.round((e - P) * (u - 1) / F);\n },\n inWindow: function inWindow() {\n return !0;\n }\n });\n }\n\n return i.xl && J(B, i.xl, P + F / 2, p - 8 + (L.rotate ? 26 : 12), !1), i.yl && J(B, i.yl, 12, N + z / 2, !0), m && A(B, l.map(function (e, t) {\n return {\n color: r[t % r.length],\n text: n(\"chart.seriesDefault\", {\n n: t + 1\n })\n };\n }), f, p + 6), B.appendChild(V.layer), h || C(B), B;\n }\n\n function X(e, t, n, r, i) {\n var a = 10,\n s = 12,\n c = 4,\n l = 4;\n r > 0 || (r = 7);\n var u = 0;\n e.forEach(function (e, n) {\n if (t[n]) {\n var r = Math.round(e / i * 100),\n a = M(t[n] + \" \" + e + \"(\" + r + \"%)\");\n a > u && (u = a);\n }\n });\n\n var d = u / I,\n f = a + s + c + l,\n p = f + d * r,\n m = parseInt(n.w) || 280,\n h = parseInt(n.h) || 280,\n g = a + r + l,\n _ = Math.max(8, Math.min(m, h) / 2 - g),\n v = _ + p;\n\n return {\n fs: r,\n leadLen: a,\n tailLen: s,\n gap: c,\n margin: l,\n maxLabelW: u,\n coefB: d,\n fixedA: f,\n labelSpace: p,\n vertPad: g,\n r: _,\n cx: v,\n cy: g + _,\n W: v * 2,\n H: (g + _) * 2,\n totalH: (g + _) * 2 + o\n };\n }\n\n function Z(e, t, r, i) {\n var a = parseInt(i.w) || 280,\n c = parseInt(i.h) || 280;\n if (!e.length) return j(a, c + o);\n var l = e.reduce(function (e, t) {\n return e + t;\n }, 0) || 1,\n u = i._pieFs !== void 0 && i._pieFs !== \"\" ? parseFloat(i._pieFs) : 7;\n (!(u > 0) || !isFinite(u)) && (u = 7);\n var d = X(e, t, i, u, l),\n f = [],\n p = -Math.PI / 2;\n e.forEach(function (e, t) {\n var n = e / l * 2 * Math.PI;\n f.push({\n val: e,\n idx: t,\n start: p,\n end: p + n,\n mid: p + n / 2\n }), p += n;\n });\n\n var m = d.cx,\n h = d.cy,\n g = d.r,\n _ = s(\"svg\", {\n viewBox: \"0 0 \" + d.W + \" \" + d.totalH,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n v = S(d.W, d.totalH);\n\n f.forEach(function (e) {\n var i = e.idx,\n a = e.end - e.start,\n o = Math.round(e.val / l * 100),\n c = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n if (a >= 2 * Math.PI - 1e-9) c.appendChild(s(\"circle\", {\n cx: m,\n cy: h,\n r: g,\n fill: r[i % r.length],\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 2,\n class: \"tokui-chart-slice\"\n }));else {\n var u = m + g * Math.cos(e.start),\n d = h + g * Math.sin(e.start),\n f = m + g * Math.cos(e.end),\n p = h + g * Math.sin(e.end),\n y = +(a > Math.PI),\n b = \"M\" + m + \",\" + h + \" L\" + u + \",\" + d + \" A\" + g + \",\" + g + \" 0 \" + y + \" 1 \" + f + \",\" + p + \" Z\";\n c.appendChild(s(\"path\", {\n d: b,\n fill: r[i % r.length],\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 2,\n class: \"tokui-chart-slice\"\n }));\n }\n var x = m + g * .6 * Math.cos(e.mid),\n S = h + g * .6 * Math.sin(e.mid);\n v.add(c, (t[i] || n(\"chart.itemDefault\", {\n n: i + 1\n })) + \": \" + e.val + \" (\" + o + \"%)\", x, S), _.appendChild(c);\n });\n var y = d.leadLen,\n b = d.tailLen,\n x = d.gap;\n return f.forEach(function (e) {\n var n = e.idx;\n\n if (t[n]) {\n var i = e.mid,\n a = Math.round(e.val / l * 100),\n o = Math.cos(i) >= 0,\n c = m + g * Math.cos(i),\n d = h + g * Math.sin(i),\n f = m + (g + y) * Math.cos(i),\n p = h + (g + y) * Math.sin(i),\n v = f + (o ? b : -b);\n\n _.appendChild(s(\"polyline\", {\n points: c + \",\" + d + \" \" + f + \",\" + p + \" \" + v + \",\" + p,\n fill: \"none\",\n stroke: r[n % r.length],\n \"stroke-width\": 1\n }));\n\n var S = v + (o ? x : -x),\n C = o ? \"start\" : \"end\",\n w = s(\"text\", {\n x: S,\n y: p + 1,\n \"text-anchor\": C,\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": String(u)\n });\n w.textContent = t[n] + \" \" + e.val + \"(\" + a + \"%)\", _.appendChild(w);\n }\n }), A(_, e.map(function (e, i) {\n return {\n color: r[i % r.length],\n text: t[i] || n(\"chart.itemDefault\", {\n n: i + 1\n })\n };\n }), d.W, d.H + 6, d.fs), _.appendChild(v.layer), C(_), _;\n }\n\n function oe(e, t, r, i) {\n var a = parseInt(i.w) || 240,\n c = parseInt(i.h) || 240,\n l = c + o,\n u = a / 2,\n f = c / 2,\n p = d(i.d);\n if (p.length || (p = [e]), p.every(function (e) {\n return !e.length;\n })) return j(a, c + o);\n\n var m = p.length > 1,\n h = Math.min(u, f) - 16,\n g = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + l,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n _ = S(a, l),\n v = m ? h * .82 / p.length : h * .4,\n y = m ? 2.5 : 0;\n\n return p.forEach(function (e, i) {\n var a = h - i * (v + y),\n o = m ? a - v + y : h * .6,\n c = e.reduce(function (e, t) {\n return e + t;\n }, 0) || 1,\n l = -Math.PI / 2;\n e.forEach(function (e, d) {\n var p = e / c * 2 * Math.PI,\n h = l + p / 2,\n v = u + a * Math.cos(l),\n y = f + a * Math.sin(l),\n b = u + a * Math.cos(l + p),\n x = f + a * Math.sin(l + p),\n S = u + o * Math.cos(l + p),\n C = f + o * Math.sin(l + p),\n w = u + o * Math.cos(l),\n T = f + o * Math.sin(l),\n E = +(p > Math.PI),\n D = \"M\" + v + \",\" + y + \" A\" + a + \",\" + a + \" 0 \" + E + \" 1 \" + b + \",\" + x + \" L\" + S + \",\" + C + \" A\" + o + \",\" + o + \" 0 \" + E + \" 0 \" + w + \",\" + T + \" Z\",\n O = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n O.appendChild(s(\"path\", {\n d: D,\n fill: r[d % r.length],\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 2,\n class: \"tokui-chart-slice\"\n }));\n var k = (a + o) / 2;\n _.add(O, (t[d] || n(\"chart.itemDefault\", {\n n: d + 1\n })) + \": \" + e + (m ? \" (\" + n(\"chart.ringDefault\", {\n n: i + 1\n }) + \")\" : \"\"), u + k * Math.cos(h), f + k * Math.sin(h)), g.appendChild(O), l += p;\n });\n }), !m && i.v !== void 0 && (g.appendChild(s(\"text\", {\n x: u,\n y: f,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"16\",\n \"font-weight\": \"700\",\n class: \"tokui-chart-donut-value\"\n })).textContent = i.v + \"%\"), A(g, p[0].map(function (e, i) {\n return {\n color: r[i % r.length],\n text: (t[i] || n(\"chart.itemDefault\", {\n n: i + 1\n })) + \" \" + e\n };\n }), a, c + 6), g.appendChild(_.layer), C(g), g;\n }\n\n function se(e, t, r, i) {\n var a = e.length,\n o = parseInt(i.w) || 480,\n c = parseInt(i.h) || 320;\n if (!a) return j(o, c);\n var l = 14,\n u = 12,\n d = 14,\n f = c - l - u,\n p = a ? f / a : f,\n m = e[0] || 0,\n h = _(e) || 1,\n g = Math.round(o * .6),\n v = g - d - 6,\n y = d + v / 2,\n b = g + 10,\n x = s(\"svg\", {\n viewBox: \"0 0 \" + o + \" \" + c,\n class: \"tokui-chart__svg tokui-chart__svg--funnel\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n w = S(o, c);\n return e.forEach(function (i, a) {\n var o = l + a * p,\n c = o + p,\n u = (a === 0 ? h : e[a - 1]) / h * v,\n d = i / h * v,\n f = u / 2,\n g = d / 2,\n _ = y - f + \",\" + o + \" \" + (y + f) + \",\" + o + \" \" + (y + g) + \",\" + c + \" \" + (y - g) + \",\" + c,\n S = (o + c) / 2,\n C = m ? Math.round(i / m * 100) : 0,\n T = t[a] || n(\"chart.stageDefault\", {\n n: a + 1\n }),\n E = r[a % r.length],\n D = y + (f + g) / 2,\n O = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n\n if (O.appendChild(s(\"polygon\", {\n points: _,\n fill: E,\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 2,\n class: \"tokui-chart-funnel\"\n })), d >= 40) {\n var k = s(\"text\", {\n x: y,\n y: S - 2,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"#fff\",\n \"font-size\": \"14\",\n \"font-weight\": \"700\"\n });\n\n if (k.textContent = i, O.appendChild(k), d >= 60) {\n var A = s(\"text\", {\n x: y,\n y: S + 13,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"#fff\",\n \"font-size\": \"11\",\n opacity: \"0.88\"\n });\n A.textContent = C + \"%\", O.appendChild(A);\n }\n }\n\n O.appendChild(s(\"line\", {\n x1: D,\n y1: S,\n x2: b - 4,\n y2: S,\n stroke: E,\n \"stroke-width\": 1.2,\n opacity: \"0.5\"\n }));\n var j = s(\"text\", {\n x: b,\n y: S - 2,\n \"text-anchor\": \"start\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"13\",\n \"font-weight\": \"600\"\n });\n\n if (j.textContent = T, O.appendChild(j), d < 40) {\n var M = s(\"text\", {\n x: b,\n y: S + 12,\n \"text-anchor\": \"start\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"11\"\n });\n M.textContent = i + \" (\" + C + \"%)\", O.appendChild(M);\n }\n\n w.add(O, T + \": \" + i + \" (\" + n(\"chart.conversion\", {\n pct: C\n }) + \")\", y, S), x.appendChild(O);\n }), x.appendChild(w.layer), C(x), x;\n }\n\n function Q(e, t, r, i) {\n var a = parseInt(i.w) || 280,\n o = parseInt(i.h) || 200,\n c = a / 2,\n l = parseInt(i.range, 10);\n (isNaN(l) || l !== 180 && l !== 270 && l !== 360) && (l = 180);\n\n var u = l * Math.PI / 180,\n d = 1.5 * Math.PI,\n f = d - u / 2,\n g = d + u / 2,\n _ = l === 180 ? o - 34 : o / 2,\n v = _,\n b = Math.max(0, Math.sin(f)),\n x = l === 180 ? Math.max(40, Math.min(c - 34, _ - 24)) : Math.max(36, Math.min(c - 30, (o - 28) / (1 + b + .35))),\n w = parseFloat(i.min);\n\n isNaN(w) && (w = 0);\n var T = parseFloat(i.max);\n isNaN(T) && (T = 100);\n var E = T - w || 1,\n D = parseFloat(i.v);\n isNaN(D) && e.length && (D = e[0]), isNaN(D) && (D = 0), D = y(D, w, T);\n var O = i.u === void 0 ? w === 0 && T === 100 ? \"%\" : \"\" : i.u,\n k = parseInt(i.dec, 10);\n isNaN(k) && (k = +(E <= 10));\n var A = {\n success: \"var(--tokui-success, #52c41a)\",\n warning: \"var(--tokui-warning, #faad14)\",\n danger: \"var(--tokui-danger, #f5222d)\",\n info: \"var(--tokui-info, #1677ff)\",\n primary: \"var(--tokui-primary, #1677ff)\"\n },\n j = {\n success: n(\"gauge.statusGood\"),\n warning: n(\"gauge.statusWarn\"),\n danger: n(\"gauge.statusDanger\"),\n info: n(\"gauge.statusInfo\")\n },\n M = p(i.zones).filter(function (e) {\n return e > w && e < T;\n }).sort(function (e, t) {\n return e - t;\n }),\n N = m(i.zc);\n N.length || (N = [\"#52c41a\", \"#faad14\", \"#f5222d\"]);\n var P = [w].concat(M, [T]);\n\n function F(e) {\n for (var t = 0; t < P.length - 1; t++) {\n if (e >= P[t] && e <= P[t + 1]) return N[t % N.length];\n }\n\n return N[0];\n }\n\n var I = M.length ? F(D) : A[i.status] || (h(i.c) ? i.c : null) || r[0] || A.primary;\n\n function L(e, t) {\n return [c + t * Math.cos(e), v + t * Math.sin(e)];\n }\n\n function R(e, t, n) {\n var r = L(e, n),\n i = L(t, n),\n a = +(t - e > Math.PI);\n return \"M\" + r[0] + \",\" + r[1] + \" A\" + n + \",\" + n + \" 0 \" + a + \" 1 \" + i[0] + \",\" + i[1];\n }\n\n function z(e) {\n return f + y((e - w) / E, 0, 1) * (g - f);\n }\n\n function B(e) {\n return k > 0 ? e.toFixed(k) : String(Math.round(e));\n }\n\n var V = 14,\n H = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + o,\n class: \"tokui-chart__svg tokui-chart__svg--gauge\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n U = S(a, o);\n if (M.length) for (var W = 0; W < P.length - 1; W++) {\n H.appendChild(s(\"path\", {\n d: R(z(P[W]), z(P[W + 1]), x),\n fill: \"none\",\n stroke: N[W % N.length],\n \"stroke-width\": V,\n \"stroke-linecap\": \"butt\",\n opacity: \"0.28\",\n class: \"tokui-chart-gauge-track\"\n }));\n } else H.appendChild(s(\"path\", {\n d: R(f, g, x),\n fill: \"none\",\n stroke: \"var(--tokui-chart-grid, #ececec)\",\n \"stroke-width\": V,\n \"stroke-linecap\": \"round\",\n class: \"tokui-chart-gauge-track\"\n }));\n var G = parseInt(i.ticks, 10);\n isNaN(G) && (G = 6);\n var ee = {};\n [w, T].concat(M).forEach(function (e) {\n ee[Math.round(e * 100) / 100] = !0;\n });\n\n for (var K = 0; K <= G; K++) {\n var q = f + K / G * (g - f),\n J = K === 0 || K === G,\n ne = L(q, x - V / 2 - 1),\n Y = L(q, x + V / 2 + 2);\n H.appendChild(s(\"line\", {\n x1: ne[0],\n y1: ne[1],\n x2: Y[0],\n y2: Y[1],\n stroke: \"var(--tokui-chart-text, #bbb)\",\n \"stroke-width\": J ? 1.2 : .6,\n opacity: J ? .8 : .35\n }));\n var re = w + K / G * E,\n ie = Math.round(re * 100) / 100;\n\n if (J || ee[ie]) {\n var ae = L(q, x + V / 2 + 12),\n X = s(\"text\", {\n x: ae[0],\n y: ae[1],\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"8\"\n });\n X.textContent = k > 0 ? re.toFixed(k) : Math.round(re), H.appendChild(X);\n }\n }\n\n var Z = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n }),\n oe = s(\"path\", {\n fill: \"none\",\n stroke: I,\n \"stroke-width\": V,\n \"stroke-linecap\": \"round\",\n class: \"tokui-chart-gauge-arc\"\n });\n Z.appendChild(oe), U.add(Z, (i.l || n(\"gauge.currentValue\")) + \": \" + B(D) + O + \" (\" + Math.round(y((D - w) / E, 0, 1) * 100) + \"%)\", c, v - x), H.appendChild(Z);\n var se = s(\"line\", {\n stroke: I,\n \"stroke-width\": 2.5,\n \"stroke-linecap\": \"round\",\n class: \"tokui-chart-gauge-needle\"\n });\n H.appendChild(se), H.appendChild(s(\"circle\", {\n cx: c,\n cy: v,\n r: 5,\n fill: I,\n stroke: \"#fff\",\n \"stroke-width\": 1.5,\n class: \"tokui-chart-gauge-hub\"\n }));\n var Q = v - x * (l === 180 ? .5 : l === 270 ? .2 : .12),\n ce = s(\"text\", {\n x: c,\n y: Q,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"24\",\n \"font-weight\": \"700\",\n class: \"tokui-chart-gauge-value tokui-chart-gauge-label\"\n });\n H.appendChild(ce);\n var le = Q + 20;\n\n if (i.l) {\n var ue = s(\"text\", {\n x: c,\n y: le,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"10\",\n class: \"tokui-chart-gauge-label\"\n });\n ue.textContent = i.l, H.appendChild(ue), le += 15;\n }\n\n if (i.status && j[i.status]) {\n var de = s(\"text\", {\n x: c,\n y: le,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: A[i.status],\n \"font-size\": \"9\",\n \"font-weight\": \"600\",\n class: \"tokui-chart-gauge-label\"\n });\n de.textContent = j[i.status], H.appendChild(de);\n }\n\n if (i.sub) {\n var fe = s(\"text\", {\n x: c,\n y: l === 180 ? v + 14 : o - 8,\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #aaa)\",\n \"font-size\": \"9\",\n class: \"tokui-chart-gauge-label\"\n });\n fe.textContent = i.sub, H.appendChild(fe);\n }\n\n H.appendChild(U.layer);\n\n function pe(e) {\n var t = z(e);\n oe.setAttribute(\"d\", R(f, t, x));\n var n = L(t, x - V / 2 - 3);\n se.setAttribute(\"x1\", c), se.setAttribute(\"y1\", v), se.setAttribute(\"x2\", n[0]), se.setAttribute(\"y2\", n[1]), ce.textContent = B(e) + O;\n }\n\n return C(H), te(w, D, parseInt(i.anim, 10) || 0, pe), H;\n }\n\n function ce(e, t, r, i) {\n var a = parseInt(i.w) || 240,\n c = parseInt(i.h) || 240,\n l = a / 2,\n u = c / 2,\n f = d(i.d);\n if (f.length || (f = [e]), f.every(function (e) {\n return !e.length;\n })) return j(a, c);\n var p = f.length > 1,\n m = c + (p ? o : 0),\n h = Math.min(l, u) - 30,\n g = Math.max(t.length, f[0].length, 3),\n _ = 0;\n f.forEach(function (e) {\n e.forEach(function (e) {\n e > _ && (_ = e);\n });\n }), _ || (_ = 100);\n\n for (var v = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + m,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }), y = S(a, m), b = 1; b <= 4; b++) {\n for (var x = h * b / 4, w = [], T = 0; T < g; T++) {\n var E = 2 * Math.PI * T / g - Math.PI / 2;\n w.push(l + x * Math.cos(E) + \",\" + (u + x * Math.sin(E)));\n }\n\n v.appendChild(s(\"polygon\", {\n points: w.join(\" \"),\n fill: \"none\",\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n }));\n }\n\n for (var T = 0; T < g; T++) {\n var E = 2 * Math.PI * T / g - Math.PI / 2;\n v.appendChild(s(\"line\", {\n x1: l,\n y1: u,\n x2: l + h * Math.cos(E),\n y2: u + h * Math.sin(E),\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), t[T] && (v.appendChild(s(\"text\", {\n x: l + (h + 14) * Math.cos(E),\n y: u + (h + 14) * Math.sin(E),\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"7\"\n })).textContent = t[T]);\n }\n\n return f.forEach(function (e, i) {\n var a = r[i % r.length],\n o = [];\n e.forEach(function (e, t) {\n var n = 2 * Math.PI * t / g - Math.PI / 2,\n r = e / _ * h;\n o.push({\n x: l + r * Math.cos(n),\n y: u + r * Math.sin(n),\n idx: t\n });\n }), v.appendChild(s(\"polygon\", {\n points: o.map(function (e) {\n return e.x + \",\" + e.y;\n }).join(\" \"),\n fill: a,\n \"fill-opacity\": \"0.2\",\n stroke: a,\n \"stroke-width\": 2\n })), o.forEach(function (r) {\n var o = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n o.appendChild(s(\"circle\", {\n cx: r.x,\n cy: r.y,\n r: 8,\n fill: \"transparent\"\n })), o.appendChild(s(\"circle\", {\n cx: r.x,\n cy: r.y,\n r: 3,\n fill: a,\n class: \"tokui-chart-point\"\n })), y.add(o, (t[r.idx] || n(\"chart.dimensionDefault\", {\n n: r.idx + 1\n })) + \": \" + e[r.idx] + (f.length > 1 ? \" (\" + n(\"chart.seriesDefault\", {\n n: i + 1\n }) + \")\" : \"\"), r.x, r.y), v.appendChild(o);\n });\n }), p && A(v, f.map(function (e, t) {\n return {\n color: r[t % r.length],\n text: n(\"chart.seriesDefault\", {\n n: t + 1\n })\n };\n }), a, c + 6), v.appendChild(y.layer), C(v), v;\n }\n\n function le(e, t, n, r) {\n var i = f(r.d);\n if (!i.length) return j(parseInt(r.w) || 400, parseInt(r.h) || 200);\n\n for (var a = b(r, \"w\", i.length, 50, 22, 360, 2400), o = x(a, parseInt(r.h) || 200, 4, 560), c = o, l = 40, u = 30, d = 18, p = 10, m = a - l - p, h = o - d - u, g = r.xl || \"X\", y = r.yl || \"Y\", w = H(r, \"xmin\", \"_xMin\", v(i.map(function (e) {\n return e.x;\n }))), T = H(r, \"xmax\", \"_xMax\", _(i.map(function (e) {\n return e.x;\n }))), E = H(r, \"ymin\", \"_yMin\", v(i.map(function (e) {\n return e.y;\n }))), D = H(r, \"ymax\", \"_yMax\", _(i.map(function (e) {\n return e.y;\n }))), O = T - w || 1, k = D - E || 1, A = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + c,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }), M = S(a, c), N = 0; N <= 4; N++) {\n var P = d + h * (1 - N / 4);\n A.appendChild(s(\"line\", {\n x1: l,\n y1: P,\n x2: a - p,\n y2: P,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), A.appendChild(s(\"text\", {\n x: l - 4,\n y: P + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(E + k * N / 4);\n }\n\n return i.forEach(function (e, t) {\n var r = l + (e.x - w) / O * m,\n i = d + h * (1 - (e.y - E) / k),\n a = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n a.appendChild(s(\"circle\", {\n cx: r,\n cy: i,\n r: 8,\n fill: \"transparent\",\n stroke: \"none\"\n })), a.appendChild(s(\"circle\", {\n cx: r,\n cy: i,\n r: 5,\n fill: n[t % n.length],\n opacity: \"0.7\",\n class: \"tokui-chart-point\"\n })), M.add(a, g + \": \" + e.x + \" \" + y + \": \" + e.y, r, i), A.appendChild(a);\n var o = s(\"text\", {\n x: r + 6,\n y: i - 4,\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"7\"\n });\n o.textContent = e.x + \",\" + e.y, A.appendChild(o);\n }), A.appendChild(M.layer), C(A), A;\n }\n\n function ue(e) {\n return /[-/]/.test(String(e));\n }\n\n function de(e, t) {\n if (e === void 0 || e === \"\") return NaN;\n\n if (t === \"dates\") {\n var n = new Date(e);\n return isNaN(n.getTime()) ? NaN : n.getTime();\n }\n\n var r = parseFloat(e);\n return isNaN(r) ? NaN : r;\n }\n\n function fe(e) {\n return e ? String(e).split(\"|\").map(function (e) {\n return e.split(\",\").map(function (e) {\n return e.trim();\n });\n }) : [];\n }\n\n function pe(e) {\n return e ? String(e).split(\",\").map(function (e) {\n var t = e.trim().split(\"->\");\n return [parseInt(t[0], 10), parseInt(t[1], 10)];\n }).filter(function (e) {\n return !isNaN(e[0]) && !isNaN(e[1]);\n }) : [];\n }\n\n function me(e, t) {\n return e ? String(e).split(\"|\").map(function (e) {\n var n = e.split(\",\").map(function (e) {\n return e.trim();\n });\n return {\n name: n[0] || \"\",\n time: de(n[1], t),\n group: parseInt(n[2], 10) || 0\n };\n }) : [];\n }\n\n function he(e) {\n return e ? String(e).split(\"|\").map(function (e) {\n return e.trim();\n }).filter(function (e) {\n return e !== \"\";\n }) : [];\n }\n\n function ge(e) {\n var t = parseInt(e.w) || 1080,\n r = fe(e.tasks);\n if (!r.length) return {\n empty: !0\n };\n var i = e.mode === \"days\" || e.mode === \"dates\" ? e.mode : ue(r[0][1]) ? \"dates\" : \"days\",\n a = [],\n s = 0;\n if (r.forEach(function (e, t) {\n var r = de(e[1], i),\n o = de(e[2], i);\n\n if (isNaN(r) || isNaN(o)) {\n s++;\n return;\n }\n\n if (o < r) {\n var c = r;\n r = o, o = c;\n }\n\n a.push({\n name: e[0] || n(\"chart.taskDefault\", {\n n: a.length + 1\n }),\n start: r,\n end: o,\n progress: y(parseFloat(e[3]) || 0, 0, 100),\n group: parseInt(e[4], 10) || 0\n });\n }), !a.length) return {\n empty: !0\n };\n var c, l;\n i === \"dates\" ? (c = Math.min.apply(null, a.map(function (e) {\n return e.start;\n })), l = Math.max.apply(null, a.map(function (e) {\n return e.end;\n }))) : (c = 0, l = Math.ceil(Math.max.apply(null, a.map(function (e) {\n return e.end;\n })))), isFinite(l) || (l = 1);\n var u = l - c || 1,\n d = me(e.ms, i).filter(function (e) {\n return !isNaN(e.time);\n }),\n f = he(e.gnames),\n p = {},\n m = {};\n pe(e.deps).forEach(function (e) {\n var t = e[0],\n n = e[1];\n t < 0 || t >= a.length || n < 0 || n >= a.length || ((m[t] = m[t] || []).push(n), (p[n] = p[n] || []).push(t));\n });\n var h = {};\n a.forEach(function (e) {\n h[e.group] = !0;\n }), d.forEach(function (e) {\n h[e.group] = !0;\n });\n\n var g = Object.keys(h).length > 1,\n _ = d.length > 0,\n v = 110,\n b = 28,\n x = 16,\n S = 26,\n C = 14,\n w = 24,\n T = b + (_ ? w : 0) + a.length * S + (g ? o : 6),\n E = t - v - x;\n\n function D(e) {\n return v + (e - c) / u * E;\n }\n\n function O(e) {\n return b + (_ ? w : 0) + e * S + S / 2;\n }\n\n return {\n empty: !1,\n w: t,\n totalH: T,\n mode: i,\n tasks: a,\n ms: d,\n gnames: f,\n prev: p,\n next: m,\n tMin: c,\n tMax: l,\n range: u,\n skipped: s,\n hasLeg: g,\n hasMs: _,\n LABEL_W: v,\n PAD_T: b,\n ROW_H: S,\n BAR_H: C,\n MS_STRIP: w,\n scale: D,\n rowY: O,\n msY: function msY() {\n return b + w / 2;\n }\n };\n }\n\n function _e(e, t) {\n if (t === \"dates\") {\n var n = new Date(e);\n return n.getMonth() + 1 + \"/\" + n.getDate();\n }\n\n return \"D\" + e;\n }\n\n function ve(e) {\n var t = [];\n if (e.mode === \"days\") for (var r = e.tMax <= 10 ? 1 : e.tMax <= 30 ? 5 : 10, i = 0; i <= e.tMax; i += r) {\n t.push({\n label: \"D\" + i,\n t: i\n });\n } else {\n var a = 864e5,\n o = e.range <= 14 * a ? \"day\" : e.range <= 90 * a ? \"week\" : \"month\",\n s = new Date(e.tMin),\n c = new Date(e.tMax);\n if (o === \"day\") for (var l = new Date(s); l <= c; l.setDate(l.getDate() + 1)) {\n t.push({\n label: l.getMonth() + 1 + \"/\" + l.getDate(),\n t: l.getTime()\n });\n } else if (o === \"week\") for (var u = new Date(s); u <= c; u.setDate(u.getDate() + 7)) {\n t.push({\n label: u.getMonth() + 1 + \"/\" + u.getDate(),\n t: u.getTime()\n });\n } else for (var d = new Date(s.getFullYear(), s.getMonth(), 1); d <= c; d.setMonth(d.getMonth() + 1)) {\n t.push({\n label: n(\"chart.monthLabel\", {\n m: d.getMonth() + 1\n }),\n t: d.getTime()\n });\n }\n }\n return t;\n }\n\n function ye(e, t) {\n var n = t.totalH - (t.hasLeg ? o : 6);\n ve(t).forEach(function (r) {\n var i = t.scale(r.t);\n e.appendChild(s(\"line\", {\n x1: i,\n y1: t.PAD_T,\n x2: i,\n y2: n,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n }));\n var a = s(\"text\", {\n x: i,\n y: t.PAD_T - 6,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\",\n class: \"tokui-chart-axis-time\"\n });\n a.textContent = r.label, e.appendChild(a);\n });\n }\n\n function be(e, t, n) {\n return e + \",\" + (t - n) + \" \" + (e + n) + \",\" + t + \" \" + e + \",\" + (t + n) + \" \" + (e - n) + \",\" + t;\n }\n\n function xe(e, t, n, r) {\n var i = t.ms.map(function (e) {\n return {\n m: e,\n x: t.scale(e.time)\n };\n }).sort(function (e, t) {\n return e.x - t.x;\n }),\n a = -1 / 0,\n o = !1;\n i.forEach(function (i) {\n var c = i.m,\n l = i.x;\n o = l - a < 32 ? !o : !1, a = l;\n var u = n[c.group % n.length],\n d = t.msY(),\n f = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n f.appendChild(s(\"polygon\", {\n points: be(l, d, 6),\n fill: u,\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 1,\n class: \"tokui-chart-task-ms\"\n })), r.add(f, c.name + \" \" + _e(c.time, t.mode), l, d), e.appendChild(f);\n var p = s(\"text\", {\n x: l,\n y: d + 11 + (o ? 9 : 0),\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"8\"\n });\n p.textContent = c.name, e.appendChild(p);\n });\n }\n\n function Se(e, t, n, r, i) {\n var a = 8;\n\n if (n - 3 > e + a) {\n var o = n - 3,\n s = (e + o) / 2;\n return \"M\" + e + \",\" + t + \" L\" + s + \",\" + t + \" L\" + s + \",\" + r + \" L\" + o + \",\" + r;\n }\n\n var c = r - i / 2;\n return \"M\" + e + \",\" + t + \" L\" + (e + a) + \",\" + t + \" L\" + (e + a) + \",\" + (c - 9) + \" L\" + n + \",\" + (c - 9) + \" L\" + n + \",\" + c;\n }\n\n function Ce(e, t) {\n var n = s(\"defs\"),\n r = s(\"marker\", {\n id: \"gantt-arrow\",\n markerUnits: \"userSpaceOnUse\",\n markerWidth: \"7\",\n markerHeight: \"7\",\n refX: \"6\",\n refY: \"3.5\",\n orient: \"auto\"\n });\n r.appendChild(s(\"path\", {\n d: \"M0,0 L7,3.5 L0,7 Z\",\n fill: \"var(--tokui-chart-task-dep, #bbb)\"\n })), n.appendChild(r), e.appendChild(n), Object.keys(t.next).forEach(function (n) {\n var r = parseInt(n, 10),\n i = t.scale(t.tasks[r].end),\n a = t.rowY(r);\n t.next[n].forEach(function (n) {\n var o = t.scale(t.tasks[n].start),\n c = t.rowY(n);\n e.appendChild(s(\"path\", {\n d: Se(i, a, o, c, t.BAR_H),\n fill: \"none\",\n stroke: \"var(--tokui-chart-task-dep, #bbb)\",\n \"stroke-width\": \"1\",\n \"marker-end\": \"url(#gantt-arrow)\",\n class: \"tokui-chart-task-dep\",\n \"data-dep-from\": r,\n \"data-dep-to\": n\n }));\n });\n });\n }\n\n function we(e, t) {\n var r = Date.now();\n\n if (!(r < t.tMin || r > t.tMax)) {\n var i = t.scale(r),\n a = t.totalH - (t.hasLeg ? o : 6);\n e.appendChild(s(\"line\", {\n x1: i,\n y1: t.PAD_T,\n x2: i,\n y2: a,\n stroke: \"var(--tokui-chart-today-line, #fa541c)\",\n \"stroke-width\": \"1.5\",\n \"stroke-dasharray\": \"4,3\",\n class: \"tokui-chart-today\"\n }));\n var c = s(\"text\", {\n x: i,\n y: t.PAD_T - 14,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-today-line, #fa541c)\",\n \"font-size\": \"8\"\n });\n c.textContent = n(\"time.today\"), e.appendChild(c);\n }\n }\n\n function Te(e, t) {\n var r = s(\"text\", {\n x: t.w - 6,\n y: 12,\n \"text-anchor\": \"end\",\n fill: \"#faad14\",\n \"font-size\": \"8\"\n });\n r.textContent = n(\"gantt.skipped\", {\n n: t.skipped\n }), e.appendChild(r);\n }\n\n function Ee(e, t) {\n function n(e, t) {\n for (var n = {}, r = [e], i = {}; r.length;) {\n var a = r.shift();\n\n if (!n[a]) {\n n[a] = 1, i[a] = 1;\n var o = t[a];\n o && o.forEach(function (e) {\n n[e] || r.push(e);\n });\n }\n }\n\n return i;\n }\n\n var r = e.querySelectorAll(\".tokui-chart-task-tip-group\"),\n i = null;\n r.forEach(function (r) {\n r.addEventListener(\"click\", function () {\n var a = parseInt(r.getAttribute(\"data-task-idx\"), 10);\n\n if (!isNaN(a)) {\n var o = e.querySelectorAll(\".tokui-chart-task-tip-group\"),\n s = e.querySelectorAll(\".tokui-chart-task-dep\");\n\n if (i === a) {\n e.classList.remove(\"has-active\"), o.forEach(function (e) {\n e.classList.remove(\"is-active\");\n }), s.forEach(function (e) {\n e.classList.remove(\"is-active\");\n }), i = null;\n return;\n }\n\n i = a;\n var c = {};\n c[a] = 1, Object.keys(n(a, t.prev)).forEach(function (e) {\n c[e] = 1;\n }), Object.keys(n(a, t.next)).forEach(function (e) {\n c[e] = 1;\n }), e.classList.add(\"has-active\"), o.forEach(function (e) {\n var t = parseInt(e.getAttribute(\"data-task-idx\"), 10);\n isNaN(t) || (c[t] ? e.classList.add(\"is-active\") : e.classList.remove(\"is-active\"));\n }), s.forEach(function (e) {\n var t = parseInt(e.getAttribute(\"data-dep-from\"), 10),\n n = parseInt(e.getAttribute(\"data-dep-to\"), 10);\n c[t] && c[n] ? e.classList.add(\"is-active\") : e.classList.remove(\"is-active\");\n });\n }\n });\n });\n }\n\n function De(e, t, r, i) {\n t.tasks.forEach(function (a, o) {\n var c = r[a.group % r.length],\n l = t.scale(a.start),\n u = t.scale(a.end),\n d = Math.max(2, u - l),\n f = t.rowY(o) - t.BAR_H / 2,\n p = s(\"g\", {\n class: \"tokui-chart-tip-group tokui-chart-task-tip-group\",\n \"data-task-idx\": o\n });\n p.appendChild(s(\"rect\", {\n x: l,\n y: f,\n width: d,\n height: t.BAR_H,\n rx: 3,\n fill: c,\n opacity: \"0.35\",\n class: \"tokui-chart-task-bar\"\n })), a.progress > 0 && p.appendChild(s(\"rect\", {\n x: l,\n y: f,\n width: Math.max(0, d * a.progress / 100),\n height: t.BAR_H,\n rx: 3,\n fill: c,\n class: \"tokui-chart-task-prog\"\n })), i.add(p, a.name + \" \" + _e(a.start, t.mode) + \"\\u2192\" + _e(a.end, t.mode) + \" \" + n(\"gantt.progress\") + \":\" + a.progress + \"%\", l + d / 2, f), e.appendChild(p);\n var m = s(\"text\", {\n x: t.LABEL_W - 6,\n y: t.rowY(o) + 3,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"9\",\n class: \"tokui-chart-task-name\"\n });\n m.textContent = a.name, e.appendChild(m);\n });\n }\n\n function Oe(e, t, r, i) {\n var a = ge(i),\n c = a.w,\n l = s(\"svg\", {\n viewBox: \"0 0 \" + c + \" \" + a.totalH,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n });\n\n if (a.empty) {\n var u = s(\"text\", {\n x: c / 2,\n y: 20,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"10\"\n });\n return u.textContent = n(\"gantt.noTasks\"), l.appendChild(u), l;\n }\n\n var d = S(c, a.totalH);\n\n if (ye(l, a), a.hasMs && xe(l, a, r, d), De(l, a, r, d), Ce(l, a), a.mode === \"dates\" && we(l, a), a.skipped > 0 && Te(l, a), l.appendChild(d.layer), C(l), Ee(l, a), a.hasLeg) {\n var f = Object.keys(a.tasks.reduce(function (e, t) {\n return e[t.group] = 1, e;\n }, {})).map(function (e) {\n return parseInt(e, 10);\n });\n f.sort(function (e, t) {\n return e - t;\n }), A(l, f.map(function (e) {\n return {\n color: r[e % r.length],\n text: a.gnames[e] || n(\"chart.groupDefault\", {\n n: e + 1\n })\n };\n }), c, a.totalH - o + 6);\n }\n\n return l;\n }\n\n function ke(e, t, n, r) {\n var i = {};\n return Object.keys(r).forEach(function (e) {\n i[e] = r[e];\n }), i.area = !0, ae(e, t, n, i);\n }\n\n function Ae(e, t, n, r) {\n var i = parseInt(r.w) || 400,\n a = parseInt(r.h) || 80,\n o = parseFloat(r.max);\n isNaN(o) && (o = 100);\n var c = parseFloat(r.min);\n isNaN(c) && (c = 0);\n var l = o - c || 1,\n u = parseFloat(r.v);\n isNaN(u) && e.length && (u = e[0]), isNaN(u) && (u = 0), u = y(u, c, o);\n var d = r.u === void 0 ? c === 0 && o === 100 ? \"%\" : \"\" : r.u,\n f = h(r.c) ? r.c : n[0] || \"var(--tokui-primary, #1677ff)\",\n p = s(\"svg\", {\n viewBox: \"0 0 \" + i + \" \" + a,\n class: \"tokui-chart__svg tokui-chart__svg--progress\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n m = a / 2 - 8,\n g = 16;\n p.appendChild(s(\"rect\", {\n x: 2,\n y: m,\n width: i - 4,\n height: g,\n rx: g / 2,\n fill: \"var(--tokui-chart-grid, #ececec)\",\n class: \"tokui-chart-track\"\n }));\n\n var _ = s(\"rect\", {\n y: m,\n height: g,\n rx: g / 2,\n fill: f,\n class: \"tokui-chart-fill\"\n });\n\n p.appendChild(_);\n var v = r.l || \"\",\n b = s(\"text\", {\n x: i - 8,\n y: a / 2,\n \"text-anchor\": \"end\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-text, #333)\",\n \"font-size\": \"13\",\n \"font-weight\": \"700\"\n });\n p.appendChild(b);\n\n function x(e) {\n var t = y((e - c) / l, 0, 1);\n _.setAttribute(\"x\", 2), _.setAttribute(\"width\", Math.max(0, (i - 4) * t)), b.textContent = (v ? v + \" \" : \"\") + Math.round(t * 100) + d;\n }\n\n return te(c, u, parseInt(r.anim, 10) || 0, x), p;\n }\n\n function je(e) {\n return e ? String(e).split(\";\").map(function (e) {\n var t = e.split(\",\").map(function (e) {\n return parseFloat(e.trim()) || 0;\n });\n return {\n x: t[0] || 0,\n y: t[1] || 0,\n s: t[2] || 0\n };\n }) : [];\n }\n\n function Me(e, t, n, r) {\n var i = je(r.d);\n if (!i.length) return j(parseInt(r.w) || 400, parseInt(r.h) || 200);\n\n for (var a = b(r, \"w\", i.length, 50, 22, 360, 2400), o = x(a, parseInt(r.h) || 200, 4, 560), c = 40, l = 30, u = 18, d = 10, f = a - c - d, p = o - u - l, m = H(r, \"xmin\", \"_xMin\", v(i.map(function (e) {\n return e.x;\n }))), h = H(r, \"xmax\", \"_xMax\", _(i.map(function (e) {\n return e.x;\n }))), g = H(r, \"ymin\", \"_yMin\", v(i.map(function (e) {\n return e.y;\n }))), y = H(r, \"ymax\", \"_yMax\", _(i.map(function (e) {\n return e.y;\n }))), w = r._sMax === void 0 ? _(i.map(function (e) {\n return e.s;\n })) || 1 : +r._sMax, T = h - m || 1, E = y - g || 1, D = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + o,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }), O = S(a, o), k = 0; k <= 4; k++) {\n var A = u + p * (1 - k / 4);\n D.appendChild(s(\"line\", {\n x1: c,\n y1: A,\n x2: a - d,\n y2: A,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), D.appendChild(s(\"text\", {\n x: c - 4,\n y: A + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(g + E * k / 4);\n }\n\n return i.forEach(function (e, t) {\n var i = c + (e.x - m) / T * f,\n a = u + p * (1 - (e.y - g) / E),\n o = 4 + e.s / w * 16,\n l = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n l.appendChild(s(\"circle\", {\n cx: i,\n cy: a,\n r: 8,\n fill: \"transparent\"\n })), l.appendChild(s(\"circle\", {\n cx: i,\n cy: a,\n r: o,\n fill: n[t % n.length],\n opacity: \"0.5\",\n stroke: n[t % n.length],\n \"stroke-width\": 1.5,\n class: \"tokui-chart-point\"\n })), O.add(l, (r.xl || \"X\") + \": \" + e.x + \" \" + (r.yl || \"Y\") + \": \" + e.y + \" \" + (r.sl || \"size\") + \": \" + e.s, i, a), D.appendChild(l);\n }), D.appendChild(O.layer), C(D), D;\n }\n\n function Ne(e) {\n return e ? String(e).split(\"|\").map(function (e) {\n return e.split(\",\").map(function (e) {\n return parseFloat(e.trim());\n }).filter(function (e) {\n return !isNaN(e);\n });\n }) : [];\n }\n\n function Pe(e) {\n if (!e) return null;\n var t = String(e).split(\",\"),\n n = 1 / 0,\n r = -1 / 0,\n i = 0;\n return t.forEach(function (e) {\n var t = String(e).trim().match(/^(-?[\\d.]+)\\s*[-~到至]\\s*(-?[\\d.]+)$/);\n\n if (t) {\n var a = +t[1],\n o = +t[2];\n a < o && isFinite(a) && isFinite(o) && (n = Math.min(n, a), r = Math.max(r, o), i++);\n }\n }), !i || !isFinite(n) || !isFinite(r) || n >= r ? null : {\n lo: n,\n hi: r,\n bins: i\n };\n }\n\n function Fe(e, t) {\n var n = Pe(e.l),\n r = parseInt(e.bins, 10);\n isNaN(r) && (r = n ? n.bins : e._bins === void 0 ? Math.min(20, Math.max(5, Math.ceil(Math.sqrt(t.length)))) : +e._bins);\n var i = H(e, \"min\", \"_lo\", n ? n.lo : v(t)),\n a = H(e, \"max\", \"_hi\", n ? n.hi : _(t));\n i === a && (--i, a += 1);\n\n for (var o = (a - i) / r, s = [], c = 0; c < r; c++) {\n s.push(0);\n }\n\n return t.forEach(function (e) {\n s[Math.max(0, Math.min(r - 1, Math.floor((e - i) / o)))]++;\n }), {\n bins: r,\n lo: i,\n hi: a,\n width: o,\n counts: s\n };\n }\n\n function Ie(e, t, n, r) {\n var i = Ne(r.rows || r.d),\n a = parseInt(r.w) || 400,\n o = parseInt(r.h) || 320,\n c = l(r.cols),\n u = t,\n d = Math.max(c.length, i[0] ? i[0].length : 0),\n f = Math.max(u.length, i.length);\n if (!f || !d) return j(a, o);\n var p = u.length ? 64 : 30,\n h = c.length ? 36 : 16,\n g = 16,\n y = 16,\n b = a - p - g,\n x = o - h - y,\n w = b / d,\n T = x / f,\n E = [];\n i.forEach(function (e) {\n e.forEach(function (e) {\n isNaN(e) || E.push(e);\n });\n });\n\n for (var D = E.length > 0, O = D ? H(r, \"vmin\", \"_vMin\", v(E)) : 0, k = (D ? H(r, \"vmax\", \"_vMax\", _(E)) : 1) - O || 1, A = m(r.c).length ? m(r.c) : [\"#bae0ff\", \"#1677ff\", \"#0958d9\"], M = \"var(--tokui-chart-grid, #f0f0f0)\", N = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + o,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }), P = S(a, o), F = 0; F < f; F++) {\n for (var I = 0; I < d; I++) {\n var L = i[F] ? i[F][I] : void 0,\n R = L !== void 0 && !isNaN(L),\n z = R && D ? (L - O) / k : 0,\n B = R ? re(A, z) : M,\n V = p + I * w,\n U = h + F * T,\n W = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n W.appendChild(s(\"rect\", {\n x: V + 1,\n y: U + 1,\n width: w - 2,\n height: T - 2,\n rx: 2,\n fill: B,\n opacity: R ? \"1\" : \"0.5\",\n class: \"tokui-chart-cell\" + (R ? \"\" : \" tokui-chart-cell--skeleton\")\n })), R && P.add(W, (u[F] || \"R\" + (F + 1)) + \" / \" + (c[I] || \"C\" + (I + 1)) + \": \" + L, V + w / 2, U + T / 2), N.appendChild(W);\n }\n }\n\n return c.forEach(function (e, t) {\n N.appendChild(s(\"text\", {\n x: p + t * w + w / 2,\n y: h - 8,\n \"text-anchor\": \"middle\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = e;\n }), u.forEach(function (e, t) {\n N.appendChild(s(\"text\", {\n x: p - 6,\n y: h + t * T + T / 2 + 3,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = e;\n }), N.appendChild(P.layer), C(N), N;\n }\n\n function Le(e, t, r, i) {\n var a = parseInt(i.w) || 280,\n c = parseInt(i.h) || 280,\n l = c + o;\n if (!e.length) return j(a, l);\n var u = a / 2,\n d = c / 2,\n f = Math.min(u, d) - 24,\n p = _(e) || 1,\n m = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + l,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n h = S(a, l),\n g = -Math.PI / 2,\n v = 2 * Math.PI / e.length;\n return e.forEach(function (e, i) {\n var a = e / p * f,\n o = u + a * Math.cos(g),\n c = d + a * Math.sin(g),\n l = u + a * Math.cos(g + v),\n _ = d + a * Math.sin(g + v),\n y = +(v > Math.PI),\n b = \"M\" + u + \",\" + d + \" L\" + o + \",\" + c + \" A\" + a + \",\" + a + \" 0 \" + y + \" 1 \" + l + \",\" + _ + \" Z\",\n x = Math.round(e / p * 100),\n S = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n\n S.appendChild(s(\"path\", {\n d: b,\n fill: r[i % r.length],\n stroke: \"var(--tokui-chart-slice-stroke, #fff)\",\n \"stroke-width\": 2,\n class: \"tokui-chart-slice\"\n }));\n var C = g + v / 2;\n h.add(S, (t[i] || n(\"chart.sliceDefault\", {\n n: i + 1\n })) + \": \" + e + \" (\" + x + \"%)\", u + a * .6 * Math.cos(C), d + a * .6 * Math.sin(C)), m.appendChild(S), m.appendChild(s(\"text\", {\n x: u + (f + 12) * Math.cos(C),\n y: d + (f + 12) * Math.sin(C),\n \"text-anchor\": \"middle\",\n \"dominant-baseline\": \"central\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"8\"\n })).textContent = t[i] || \"\", g += v;\n }), A(m, e.map(function (e, i) {\n return {\n color: r[i % r.length],\n text: t[i] || n(\"chart.sliceDefault\", {\n n: i + 1\n })\n };\n }), a, c + 6), m.appendChild(h.layer), C(m), m;\n }\n\n function Re(e, t, n, r) {\n var i = parseInt(r.w) || 400,\n a = parseInt(r.h) || 200;\n if (!e.length) return j(i, a);\n\n for (var o = Fe(r, e), s = [], c = 0; c < o.bins; c++) {\n s.push((o.lo + c * o.width).toFixed(1));\n }\n\n var l = {};\n return Object.keys(r).forEach(function (e) {\n l[e] = r[e];\n }), l.d = o.counts.join(\",\"), l.l = s.join(\",\"), l.vals = \"\", delete l.bins, ie(o.counts, s, n, l);\n }\n\n function ze(e, t, r, i) {\n if (!e.length) return j(parseInt(i.w) || 400, parseInt(i.h) || 200);\n var a = b(i, \"w\", e.length, 56, 26, 360, 2400),\n o = x(a, parseInt(i.h) || 200, 4, 560),\n c = 0,\n l = [];\n e.forEach(function (e) {\n var t = c,\n n = c + e;\n l.push({\n base: Math.min(t, n),\n top: Math.max(t, n),\n val: e,\n isPos: e >= 0\n }), c = n;\n });\n\n var u = _(l.map(function (e) {\n return e.top;\n })),\n d = v(l.map(function (e) {\n return e.base;\n }));\n\n d > 0 && (d = 0);\n var f = u - d || 1,\n p = i._padL ? +i._padL : 44,\n m = 18,\n h = 12,\n g = a - p - h,\n y = g / e.length,\n w = Math.max(4, y * .6),\n T = W(t.slice(0, e.length), y, 30, g, i.interval),\n E = T.padB,\n D = o - m - E,\n O = r[0] || \"#52c41a\",\n k = r[1] || \"#f5222d\",\n A = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + o,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n M = S(a, o);\n\n function N(e) {\n return m + D * (1 - (e - d) / f);\n }\n\n for (var P = 0; P <= 4; P++) {\n var F = N(d + f * P / 4);\n A.appendChild(s(\"line\", {\n x1: p,\n y1: F,\n x2: a - h,\n y2: F,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), A.appendChild(s(\"text\", {\n x: p - 4,\n y: F + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(d + f * P / 4);\n }\n\n l.forEach(function (e, r) {\n var i = p + r * y + y * .2,\n a = N(e.top),\n o = Math.max(0, (e.top - e.base) / f * D),\n c = e.isPos ? O : k,\n u = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n u.appendChild(s(\"rect\", {\n x: i,\n y: a,\n width: w - 1,\n height: o,\n fill: c,\n rx: 2,\n class: \"tokui-chart-bar\"\n })), M.add(u, (t[r] || n(\"chart.sliceDefault\", {\n n: r + 1\n })) + \": \" + e.val + \" (\" + n(\"chart.cumulative\", {\n n: Math.round(e.top)\n }) + \")\", i + w / 2, a), A.appendChild(u), r < l.length - 1 && A.appendChild(s(\"line\", {\n x1: i + w - 1,\n y1: a,\n x2: i + y,\n y2: a,\n stroke: c,\n \"stroke-width\": 1,\n \"stroke-dasharray\": \"3,2\",\n opacity: \"0.45\"\n }));\n });\n\n for (var I = [], L = 0; L < e.length; L++) {\n I.push(p + L * y + y / 2);\n }\n\n return q(A, t.slice(0, e.length), I, o - 8, y, T.rotate, T.interval), A.appendChild(M.layer), C(A), A;\n }\n\n function Be(e) {\n return e ? String(e).split(\";\").map(function (e) {\n var t = e.split(\",\").map(function (e) {\n return parseFloat(e.trim()) || 0;\n });\n return {\n min: t[0],\n q1: t[1],\n med: t[2],\n q3: t[3],\n max: t[4]\n };\n }) : [];\n }\n\n function Ve(e, t, r, i) {\n var a = Be(i.d);\n if (!a.length) return j(parseInt(i.w) || 400, parseInt(i.h) || 240);\n var o = b(i, \"w\", a.length, 56, 44, 360, 2400),\n c = x(o, parseInt(i.h) || 240, 4, 560),\n l = [];\n a.forEach(function (e) {\n l.push(e.min, e.max);\n });\n\n var u = v(l),\n d = _(l);\n\n u === d && (--u, d += 1);\n var f = d - u || 1,\n p = i._padL ? +i._padL : 44,\n m = 18,\n h = 12,\n g = o - p - h,\n y = ee(i, a.length),\n w = y ? 28 : 0,\n T = g / a.length,\n E = Math.max(20, T * .5),\n D = W(t.slice(0, a.length), T, 30, g, i.interval),\n O = D.padB,\n A = c - m - O,\n M = s(\"svg\", {\n viewBox: \"0 0 \" + o + \" \" + (c + w),\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n N = S(o, c + w);\n\n function P(e) {\n return m + A * (1 - (e - u) / f);\n }\n\n for (var F = 0; F <= 4; F++) {\n var I = P(u + f * F / 4);\n M.appendChild(s(\"line\", {\n x1: p,\n y1: I,\n x2: o - h,\n y2: I,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), M.appendChild(s(\"text\", {\n x: p - 4,\n y: I + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(u + f * F / 4);\n }\n\n var L = y ? s(\"g\", {\n class: \"tokui-chart-plot\"\n }) : null;\n L && M.appendChild(L);\n var R = L || M,\n z = [];\n\n if (a.forEach(function (e, i) {\n var a = p + i * T + T / 2,\n o = r[i % r.length],\n c = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n c.appendChild(s(\"line\", {\n x1: a,\n y1: P(e.max),\n x2: a,\n y2: P(e.q3),\n stroke: o,\n \"stroke-width\": 1.5,\n class: \"tokui-chart-whisker\"\n })), c.appendChild(s(\"line\", {\n x1: a,\n y1: P(e.q1),\n x2: a,\n y2: P(e.min),\n stroke: o,\n \"stroke-width\": 1.5,\n class: \"tokui-chart-whisker\"\n })), c.appendChild(s(\"line\", {\n x1: a - 6,\n y1: P(e.max),\n x2: a + 6,\n y2: P(e.max),\n stroke: o,\n \"stroke-width\": 1.5\n })), c.appendChild(s(\"line\", {\n x1: a - 6,\n y1: P(e.min),\n x2: a + 6,\n y2: P(e.min),\n stroke: o,\n \"stroke-width\": 1.5\n }));\n var l = P(e.q3),\n u = Math.max(0, P(e.q1) - P(e.q3));\n c.appendChild(s(\"rect\", {\n x: a - E / 2,\n y: l,\n width: E,\n height: u,\n fill: o,\n opacity: \"0.4\",\n stroke: o,\n \"stroke-width\": 1.5,\n class: \"tokui-chart-box\"\n })), c.appendChild(s(\"line\", {\n x1: a - E / 2,\n y1: P(e.med),\n x2: a + E / 2,\n y2: P(e.med),\n stroke: o,\n \"stroke-width\": 2\n }));\n var d = (t[i] || n(\"chart.groupDefault\", {\n n: i + 1\n })) + \" min:\" + e.min + \" Q1:\" + e.q1 + \" \" + n(\"chart.median\") + \":\" + e.med + \" Q3:\" + e.q3 + \" max:\" + e.max;\n y ? z.push({\n grp: c,\n cx: a,\n y: P(e.med),\n text: d\n }) : N.add(c, d, a, P(e.med)), R.appendChild(c);\n }), y) {\n var B = a.length,\n V = k(M, {\n plotG: L,\n tipLayer: N.layer,\n padL: p,\n cw: g,\n padT: m,\n ch: A,\n h: c,\n w: o,\n n: B,\n srcLeft: function srcLeft(e) {\n return p + e * T;\n },\n srcRight: function srcRight(e) {\n return p + (e + 1) * T;\n },\n overview: a.map(function (e) {\n return e.q3;\n }),\n valMin: u,\n range: f,\n renderLabels: function renderLabels(e, n, r) {\n for (var i = g / (r - n + 1), a = [], o = n; o <= r; o++) {\n a.push(p + (o - n) * i + i / 2);\n }\n\n q(e, t.slice(n, r + 1), a, c - 8, i, D.rotate, D.interval);\n }\n });\n z.forEach(function (e) {\n e.grp.addEventListener(\"mouseenter\", function () {\n V.showTip(e.text, V.winState.sx * e.cx + V.winState.tx, e.y);\n }), e.grp.addEventListener(\"mouseleave\", function () {\n V.sharedTip.style.opacity = \"\";\n });\n });\n } else {\n for (var H = [], U = 0; U < a.length; U++) {\n H.push(p + U * T + T / 2);\n }\n\n q(M, t.slice(0, a.length), H, c - 8, T, D.rotate, D.interval);\n }\n\n return M.appendChild(N.layer), y || C(M), M;\n }\n\n function He(e) {\n return e ? String(e).split(\",\").map(function (e) {\n var t = e.split(\":\");\n return {\n name: (t[0] || \"\").trim(),\n value: parseFloat(t[1]) || 0\n };\n }).filter(function (e) {\n return e.value > 0;\n }) : [];\n }\n\n function Ue(e, t, n, r) {\n var i = He(r.d),\n a = parseInt(r.w) || 480,\n o = parseInt(r.h) || 320;\n if (!i.length) return j(a, o);\n i.sort(function (e, t) {\n return t.value - e.value;\n });\n var c = i.reduce(function (e, t) {\n return e + t.value;\n }, 0) || 1,\n l = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + o,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n u = S(a, o),\n d = 2,\n f = 0;\n\n function p(e, t, r, i, a) {\n var o = n[f % n.length];\n f++;\n var p = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n p.appendChild(s(\"rect\", {\n x: t,\n y: r,\n width: Math.max(0, i - d),\n height: Math.max(0, a - d),\n rx: 3,\n fill: o,\n opacity: \"0.85\",\n class: \"tokui-chart-tile\"\n })), i > 44 && a > 26 && (l.appendChild(s(\"text\", {\n x: t + 6,\n y: r + 14,\n fill: \"#fff\",\n \"font-size\": \"11\",\n \"font-weight\": \"600\"\n })).textContent = e.name, l.appendChild(s(\"text\", {\n x: t + 6,\n y: r + 27,\n fill: \"#fff\",\n \"font-size\": \"9\",\n opacity: \"0.85\"\n })).textContent = e.value + \" (\" + Math.round(e.value / c * 100) + \"%)\"), u.add(p, e.name + \": \" + e.value + \" (\" + Math.round(e.value / c * 100) + \"%)\", t + i / 2, r + a / 2), l.appendChild(p);\n }\n\n function m(e, t, n, r, i) {\n if (e.length) {\n if (e.length === 1) {\n p(e[0], t, n, r, i);\n return;\n }\n\n var a = r > i,\n o = e[0].value,\n s = o / (o + (e.slice(1).reduce(function (e, t) {\n return e + t.value;\n }, 0) || 1));\n\n if (a) {\n var c = r * s;\n p(e[0], t, n, c, i), m(e.slice(1), t + c + d, n, r - c - d, i);\n } else {\n var l = i * s;\n p(e[0], t, n, r, l), m(e.slice(1), t, n + l + d, r, i - l - d);\n }\n }\n }\n\n return m(i, 0, 0, a, o), l.appendChild(u.layer), C(l), l;\n }\n\n function We(e, t, n, r) {\n var i = l(r.nodes),\n a = String(r.flows || \"\").split(\",\").map(function (e) {\n var t = e.split(\"->\");\n if (t.length !== 2) return null;\n var n = t[0].trim(),\n r = t[1],\n i = r.lastIndexOf(\":\");\n return {\n source: n,\n target: i > 0 ? r.slice(0, i).trim() : r.trim(),\n value: i > 0 ? parseFloat(r.slice(i + 1)) || 0 : 1\n };\n }).filter(function (e) {\n return e && e.value > 0;\n }),\n o = parseInt(r.w) || 480,\n c = parseInt(r.h) || 320;\n if (!a.length) return j(o, c);\n var u = [],\n d = [];\n a.forEach(function (e) {\n u.indexOf(e.source) < 0 && u.push(e.source), d.indexOf(e.target) < 0 && d.push(e.target);\n }), i.length && !d.length && (u = i);\n var f = a.reduce(function (e, t) {\n return e + t.value;\n }, 0) || 1,\n p = 70,\n m = 70,\n h = 20,\n g = 16,\n _ = 14,\n v = p,\n y = o - m - _,\n b = c - h - g;\n\n function x(e, t) {\n var n = e.indexOf(t);\n return h + (e.length ? b * (n + .5) / e.length : b / 2);\n }\n\n var w = s(\"svg\", {\n viewBox: \"0 0 \" + o + \" \" + c,\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n T = S(o, c);\n return a.forEach(function (e, t) {\n var r = n[t % n.length],\n i = x(u, e.source),\n a = x(d, e.target),\n o = Math.max(1, e.value / f * 44),\n c = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n }),\n l = (v + _ + y) / 2,\n p = \"M\" + (v + _) + \",\" + i + \" C\" + l + \",\" + i + \" \" + l + \",\" + a + \" \" + y + \",\" + a;\n c.appendChild(s(\"path\", {\n d: p,\n fill: \"none\",\n stroke: r,\n \"stroke-width\": o,\n opacity: \"0.4\",\n class: \"tokui-chart-flow\"\n })), T.add(c, e.source + \" \\u2192 \" + e.target + \": \" + e.value, l, (i + a) / 2), w.appendChild(c);\n }), u.forEach(function (e, t) {\n w.appendChild(s(\"rect\", {\n x: v,\n y: x(u, e) - 12,\n width: _,\n height: 24,\n rx: 2,\n fill: n[t % n.length]\n })), w.appendChild(s(\"text\", {\n x: v - 6,\n y: x(u, e) + 3,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"10\"\n })).textContent = e;\n }), d.forEach(function (e, t) {\n w.appendChild(s(\"rect\", {\n x: y,\n y: x(d, e) - 12,\n width: _,\n height: 24,\n rx: 2,\n fill: n[(t + 3) % n.length]\n })), w.appendChild(s(\"text\", {\n x: y + _ + 6,\n y: x(d, e) + 3,\n \"text-anchor\": \"start\",\n fill: \"var(--tokui-chart-text, #666)\",\n \"font-size\": \"10\"\n })).textContent = e;\n }), w.appendChild(T.layer), C(w), w;\n }\n\n function Ge(e) {\n return e ? String(e).split(\";\").map(function (e) {\n var t = e.split(\",\").map(function (e) {\n return parseFloat(e.trim());\n });\n return t.length < 4 || t.some(function (e) {\n return !isFinite(e);\n }) ? null : {\n o: t[0],\n h: t[1],\n l: t[2],\n c: t[3]\n };\n }).filter(Boolean) : [];\n }\n\n function Ke(e, t, n, r) {\n var i = Ge(r.d);\n if (!i.length) return j(parseInt(r.w) || 480, parseInt(r.h) || 280);\n var a = parseInt(r.w) || 800,\n o = parseInt(r.h) || 320,\n c,\n l;\n if (r._yMin !== void 0 && r._yMax !== void 0 && isFinite(+r._yMin)) c = +r._yMin, l = +r._yMax;else {\n var u = [];\n i.forEach(function (e) {\n u.push(e.h, e.l);\n }), c = v(u), l = _(u);\n var d = V(c, l);\n c = d[0], l = d[1];\n }\n c === l && (--c, l += 1);\n var f = l - c || 1,\n p = r._padL ? +r._padL : 44,\n h = 18,\n g = 12,\n y = a - p - g,\n b = ee(r, i.length),\n x = b ? 28 : 0,\n w = y / i.length,\n T = Math.max(3, w * .6),\n E = W(t.slice(0, i.length), w, 30, y, r.interval),\n D = E.padB,\n O = o - h - D,\n A = m(r.c),\n M = A[0] || \"#f5222d\",\n N = A[1] || \"#52c41a\",\n P = s(\"svg\", {\n viewBox: \"0 0 \" + a + \" \" + (o + x),\n class: \"tokui-chart__svg\",\n preserveAspectRatio: \"xMidYMid meet\"\n }),\n F = S(a, o + x);\n\n function I(e) {\n return h + O * (1 - (e - c) / f);\n }\n\n for (var L = 0; L <= 4; L++) {\n var R = I(c + f * L / 4);\n P.appendChild(s(\"line\", {\n x1: p,\n y1: R,\n x2: a - g,\n y2: R,\n stroke: \"var(--tokui-chart-grid, #e8e8e8)\",\n \"stroke-width\": 1\n })), P.appendChild(s(\"text\", {\n x: p - 4,\n y: R + 4,\n \"text-anchor\": \"end\",\n fill: \"var(--tokui-chart-text, #999)\",\n \"font-size\": \"9\"\n })).textContent = Math.round(c + f * L / 4);\n }\n\n var z = b ? s(\"g\", {\n class: \"tokui-chart-plot\"\n }) : null;\n z && P.appendChild(z);\n var B = z || P,\n H = [];\n\n if (i.forEach(function (e, n) {\n var r = p + n * w + w / 2,\n i = e.c >= e.o,\n a = i ? M : N,\n o = s(\"g\", {\n class: \"tokui-chart-tip-group\"\n });\n o.appendChild(s(\"line\", {\n x1: r,\n y1: I(e.h),\n x2: r,\n y2: I(e.l),\n stroke: a,\n \"stroke-width\": 1,\n class: \"tokui-chart-wick\"\n }));\n var c = I(Math.max(e.o, e.c)),\n l = I(Math.min(e.o, e.c));\n o.appendChild(s(\"rect\", {\n x: r - T / 2,\n y: c,\n width: T,\n height: Math.max(1, l - c),\n fill: a,\n class: \"tokui-chart-candle\"\n }));\n var u = (t[n] || \"D\" + (n + 1)) + \" O:\" + e.o + \" H:\" + e.h + \" L:\" + e.l + \" C:\" + e.c + (i ? \" \\u2191\" : \" \\u2193\");\n b ? H.push({\n grp: o,\n cx: r,\n y: c,\n text: u\n }) : F.add(o, u, r, c), B.appendChild(o);\n }), b) {\n var U = i.length,\n G = k(P, {\n plotG: z,\n tipLayer: F.layer,\n padL: p,\n cw: y,\n padT: h,\n ch: O,\n h: o,\n w: a,\n n: U,\n srcLeft: function srcLeft(e) {\n return p + e * w;\n },\n srcRight: function srcRight(e) {\n return p + (e + 1) * w;\n },\n overview: i.map(function (e) {\n return e.c;\n }),\n valMin: c,\n range: f,\n renderLabels: function renderLabels(e, n, r) {\n for (var i = y / (r - n + 1), a = [], s = n; s <= r; s++) {\n a.push(p + (s - n) * i + i / 2);\n }\n\n q(e, t.slice(n, r + 1), a, o - 8, i, E.rotate, E.interval);\n }\n });\n H.forEach(function (e) {\n e.grp.addEventListener(\"mouseenter\", function () {\n G.showTip(e.text, G.winState.sx * e.cx + G.winState.tx, e.y);\n }), e.grp.addEventListener(\"mouseleave\", function () {\n G.sharedTip.style.opacity = \"\";\n });\n });\n } else {\n for (var K = [], J = 0; J < i.length; J++) {\n K.push(p + J * w + w / 2);\n }\n\n q(P, t.slice(0, i.length), K, o - 8, w, E.rotate, E.interval);\n }\n\n return P.appendChild(F.layer), b || C(P), P;\n }\n\n function $(e, t) {\n r[e] = t;\n }\n\n function qe(e) {\n $(\"bar\", ie), $(\"line\", ae), $(\"pie\", Z), $(\"donut\", oe), $(\"radar\", ce), $(\"scatter\", le), $(\"gantt\", Oe), $(\"funnel\", se), $(\"gauge\", Q), $(\"area\", ke), $(\"progress\", Ae), $(\"bubble\", Me), $(\"heatmap\", Ie), $(\"rose\", Le), $(\"histogram\", Re), $(\"waterfall\", ze), $(\"boxplot\", Ve), $(\"treemap\", Ue), $(\"sankey\", We), $(\"candlestick\", Ke);\n\n function t(e, t) {\n var n = e._chartState;\n\n if (!(!n || !t)) {\n var r = t.type,\n i = t.attrs || {};\n if (r === \"pt\") {\n if (n.type === \"scatter\" || n.type === \"bubble\" || n.type === \"treemap\") n.points.push(String(i.v === void 0 ? t.content || \"\" : i.v));else {\n var a = parseFloat(i.v === void 0 ? t.content : i.v);\n isNaN(a) || n.points.push(a);\n }\n } else if (r === \"hrow\") {\n var o = String(i.v === void 0 ? t.content || \"\" : i.v),\n s = n.rows[n.rows.length - 1];\n t._kidPreview ? s && s._p ? s.v = o : n.rows.push({\n v: o,\n _p: !0\n }) : s && s._p ? (s.v = o, s._p = !1) : n.rows.push({\n v: o,\n _p: !1\n });\n } else if (r === \"flow\") {\n var c = String(i.v === void 0 ? t.content || \"\" : i.v),\n l = n.flows[n.flows.length - 1];\n t._kidPreview ? l && l._p ? l.v = c : n.flows.push({\n v: c,\n _p: !0\n }) : l && l._p ? (l.v = c, l._p = !1) : n.flows.push({\n v: c,\n _p: !1\n });\n } else if (r === \"task\") {\n var u = String(t.content || \"\").replace(/^[\"']|[\"']$/g, \"\").split(\",\").map(function (e) {\n return e.trim();\n });\n n.tasks.push(u);\n } else if (r === \"ms\") {\n var d = String(t.content || \"\").replace(/^[\"']|[\"']$/g, \"\").split(\",\").map(function (e) {\n return e.trim();\n });\n n.ms.push(d);\n }\n }\n }\n\n function i(e, t) {\n for (var i = [], a = 0; a < e.childNodes.length; a++) {\n var o = e.childNodes[a];\n (o.tagName || \"\").toLowerCase() === \"svg\" && i.push(o);\n }\n\n i.forEach(function (t) {\n e.removeChild(t);\n });\n var s = t.t || \"bar\",\n d = c(t.d),\n p = l(t.l),\n m = g(t),\n h = r[s];\n\n if (h) {\n if (s === \"candlestick\") {\n var y = Ge(t.d);\n\n if (y.length) {\n var b = [];\n y.forEach(function (e) {\n b.push(e.h, e.l);\n });\n\n var x = v(b),\n S = _(b);\n\n if (isFinite(x) && isFinite(S) && x !== S) {\n var C = V(e._yRange ? Math.min(e._yRange.lo, x) : x, e._yRange ? Math.max(e._yRange.hi, S) : S);\n e._yRange = {\n lo: C[0],\n hi: C[1]\n };\n }\n }\n\n e._yRange && (t._yMin = e._yRange.lo, t._yMax = e._yRange.hi);\n }\n\n if (s === \"scatter\" || s === \"bubble\") {\n var w = s === \"bubble\" ? je(t.d) : f(t.d);\n\n if (w.length) {\n var T = w.map(function (e) {\n return e.x;\n }),\n E = w.map(function (e) {\n return e.y;\n }),\n D = v(T),\n O = _(T),\n k = v(E),\n A = _(E);\n\n if (isFinite(D) && isFinite(O) && D !== O) {\n var j = V(e._xRange ? Math.min(e._xRange.lo, D) : D, e._xRange ? Math.max(e._xRange.hi, O) : O);\n e._xRange = {\n lo: j[0],\n hi: j[1]\n };\n }\n\n if (isFinite(k) && isFinite(A) && k !== A) {\n var M = V(e._yRange ? Math.min(e._yRange.lo, k) : k, e._yRange ? Math.max(e._yRange.hi, A) : A);\n e._yRange = {\n lo: M[0],\n hi: M[1]\n };\n }\n\n if (s === \"bubble\") {\n var N = _(w.map(function (e) {\n return e.s;\n }));\n\n isFinite(N) && (e._sMax = e._sMax ? Math.max(e._sMax, N) : N);\n }\n }\n\n e._xRange && (t._xMin = e._xRange.lo, t._xMax = e._xRange.hi), e._yRange && (t._yMin = e._yRange.lo, t._yMax = e._yRange.hi), e._sMax && (t._sMax = e._sMax);\n }\n\n if (s === \"heatmap\") {\n var P = Ne(t.rows || t.d);\n\n if (P.length) {\n var F = [];\n\n if (P.forEach(function (e) {\n e.forEach(function (e) {\n isNaN(e) || F.push(e);\n });\n }), F.length) {\n var I = v(F),\n L = _(F);\n\n isFinite(I) && isFinite(L) && (e._vRange = {\n lo: e._vRange ? Math.min(e._vRange.lo, I) : I,\n hi: e._vRange ? Math.max(e._vRange.hi, L) : L\n });\n }\n }\n\n e._vRange && (t._vMin = e._vRange.lo, t._vMax = e._vRange.hi);\n }\n\n if (s === \"histogram\") {\n var R = c(t.d),\n z = Pe(t.l);\n if (z) e._hRange = {\n lo: z.lo,\n hi: z.hi\n }, t.bins === void 0 && (e._hBins = z.bins);else if (R.length) {\n e._hBins === void 0 && t.bins === void 0 && (e._hBins = Math.min(20, Math.max(5, Math.ceil(Math.sqrt(R.length)))));\n\n var B = v(R),\n H = _(R);\n\n isFinite(B) && isFinite(H) && (e._hRange = {\n lo: e._hRange ? Math.min(e._hRange.lo, B) : B,\n hi: e._hRange ? Math.max(e._hRange.hi, H) : H\n });\n }\n\n if (e._hBins !== void 0 && (t._bins = e._hBins), e._hRange && (t._lo = e._hRange.lo, t._hi = e._hRange.hi), R.length) {\n var U = _(Fe(t, R).counts) || 1;\n e._yMax = e._yMax ? Math.max(e._yMax, U) : U, t._yMax = e._yMax;\n }\n }\n\n var W = h(d, p, m, t);\n W && W.setAttribute && (W.tagName || \"\").toLowerCase() === \"svg\" && (W.setAttribute(\"data-chart-type\", s), s === \"bar\" && (t.orient === \"h\" || t.orientation === \"h\") && W.setAttribute(\"data-orient\", \"h\")), e.appendChild(W), e._tokuiChartSpec = {\n type: s,\n data: d,\n labels: p,\n colors: m,\n attrs: t\n }, u(e);\n } else {\n var G = document.createElement(\"div\");\n G.className = \"tokui-chart__fallback\", G.textContent = n(\"chart.unsupportedType\", {\n type: s\n }), e.appendChild(G);\n }\n }\n\n function a(e) {\n var t = e._chartState;\n\n if (t) {\n var n = {};\n Object.keys(t.base).forEach(function (e) {\n n[e] = t.base[e];\n });\n var r = t.type;\n if (r === \"gantt\") n.tasks = t.tasks.map(function (e) {\n return e.join(\",\");\n }).join(\"|\"), n.ms = t.ms.map(function (e) {\n return e.join(\",\");\n }).join(\"|\"), n.d = \"\";else if (r === \"heatmap\") t.rows.length && (n.rows = t.rows.map(function (e) {\n return e.v;\n }).join(\"|\"), n.d = \"\");else if (r === \"sankey\") t.flows.length && (n.flows = t.flows.map(function (e) {\n return e.v;\n }).join(\",\"), n.d = \"\");else {\n var a = r === \"scatter\" || r === \"bubble\" ? \";\" : \",\";\n n.d = t.points.join(a);\n }\n i(e, n);\n }\n }\n\n function o(e) {\n e._rafScheduled || (e._rafScheduled = !0, ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.requestAnimationFrame ? function (e) {\n window.requestAnimationFrame(e);\n } : function (e) {\n e();\n })(function () {\n e._rafScheduled = !1, a(e);\n }));\n }\n\n function s(e) {\n if (!((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\")) {\n var t = e.querySelector(\"svg.tokui-chart__svg\");\n\n if (t) {\n var n = t.viewBox && t.viewBox.baseVal,\n r = n && n.width || parseFloat(t.getAttribute(\"viewBox\").split(/\\s+/)[2]);\n\n if (r > 0) {\n var a = 0;\n if (typeof t.getBoundingClientRect == \"function\") try {\n a = t.getBoundingClientRect().width;\n } catch (_unused14) {\n a = 0;\n }\n\n if (a > 0) {\n var o = a / r,\n s = t.getAttribute(\"data-chart-type\");\n t._tokuiBumpedFs = L(9, o, N, F), R(t, o);\n var c = e._tokuiChartSpec;\n\n if (s === \"pie\") {\n if (!c || !c.data || !c.data.length || !c.labels || !c.labels.some(function (e) {\n return !!e;\n })) return;\n var l = c.data.reduce(function (e, t) {\n return e + t;\n }, 0) || 1,\n u = X(c.data, c.labels, c.attrs, 7, l),\n d = u.r + u.fs,\n f = z(a, d, u.fixedA, u.coefB, N),\n p = 14,\n m = 1 / 0;\n\n if (u.coefB > 1) {\n var h = a * d - 2 * p * (d + u.fixedA),\n g = a + 2 * p * (u.coefB - 1);\n m = h > 0 && g > 0 ? h / g : 7;\n }\n\n var _ = Math.min(f, m),\n v = e._tokuiFsApplied || 7;\n\n _ > 7.05 && _ > v + .05 && (e._tokuiFsApplied = _, i(e, Object.assign({}, c.attrs, {\n _pieFs: _\n })));\n return;\n }\n\n if ({\n bar: 1,\n line: 1,\n area: 1,\n histogram: 1,\n boxplot: 1,\n candlestick: 1,\n waterfall: 1\n }[s] && typeof t.createSVGPoint == \"function\" && !e._tokuiPadLSet) {\n e._tokuiPadLSet = !0;\n\n for (var y = L(9, o, N, F), b = t.querySelector(\"line\"), x = b ? parseFloat(b.getAttribute(\"x1\")) : 0, S = t.querySelectorAll(\"text[text-anchor=\\\"end\\\"]\"), C = 0, w = 0; w < S.length; w++) {\n var T = S[w];\n\n if (!(parseFloat(T.getAttribute(\"x\")) >= x)) {\n var E = parseFloat(T.getAttribute(\"font-size\")) || 9,\n D = 0;\n\n try {\n D = T.getBBox().width;\n } catch (_unused15) {\n D = 0;\n }\n\n var O = D * y / E;\n O > C && (C = O);\n }\n }\n\n if (C > 0) {\n var k = Math.ceil(C + 12),\n A = c && c.attrs && c.attrs.yl ? 46 : 40;\n\n if ((s === \"boxplot\" || s === \"candlestick\" || s === \"waterfall\") && (A = 44), Math.abs(k - A) > 2) {\n e._tokuiPadL = k, i(e, Object.assign({}, c.attrs, {\n _padL: k\n }));\n return;\n }\n }\n }\n\n if (o > 0) {\n if (t._tokuiZoomRelayout) try {\n t._tokuiZoomRelayout(o);\n } catch (_unused16) {}\n\n for (var j = t.querySelectorAll(\"text[font-size]\"), M = 0; M < j.length; M++) {\n for (var P = j[M], I = P.parentNode; I && I !== t;) {\n if ((I.getAttribute && I.getAttribute(\"class\") || \"\").indexOf(\"tokui-chart-tips-layer\") >= 0) {\n P = null;\n break;\n }\n\n I = I.parentNode;\n }\n\n if (P && !(P.classList.contains(\"tokui-chart-gauge-value\") || P.classList.contains(\"tokui-chart-donut-value\"))) {\n var B = parseFloat(P.getAttribute(\"font-size\"));\n\n if (!(!(B > 0) || B >= 13)) {\n var V = L(B, o, N, F);\n V !== B && P.setAttribute(\"font-size\", String(Math.round(V * 100) / 100));\n }\n }\n }\n }\n }\n }\n }\n }\n }\n\n function u(e) {\n if (((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.requestAnimationFrame ? function (e) {\n window.requestAnimationFrame(e);\n } : function (e) {\n e();\n })(function () {\n s(e);\n }), !((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) > \"u\" || window.ResizeObserver === void 0)) {\n if (e._tokuiRO) try {\n e._tokuiRO.disconnect();\n } catch (_unused17) {}\n var t = new window.ResizeObserver(function () {\n e._tokuiAdjRaf || (e._tokuiAdjRaf = !0, (window.requestAnimationFrame ? window.requestAnimationFrame : function (e) {\n e();\n })(function () {\n e._tokuiAdjRaf = !1, s(e);\n }));\n });\n e._tokuiRO = t;\n var n = e.querySelector(\"svg.tokui-chart__svg\") || e;\n\n try {\n t.observe(n);\n } catch (_unused18) {}\n }\n }\n\n function d(e, t, n) {\n if (!e || (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\" || (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) > \"u\") {\n n(null);\n return;\n }\n\n for (var r = e.viewBox && e.viewBox.baseVal, i = r && r.width || e.clientWidth || 600, a = r && r.height || e.clientHeight || 300, o = e.cloneNode(!0), s = e.querySelectorAll(\"*\"), c = o.querySelectorAll(\"*\"), l = [\"fill\", \"stroke\", \"color\"], u = 0; u < s.length; u++) {\n var d = null;\n\n try {\n d = getComputedStyle(s[u]);\n } catch (_unused19) {\n d = null;\n }\n\n if (d) for (var f = 0; f < l.length; f++) {\n var p = d.getPropertyValue(l[f]);\n p && c[u].setAttribute(l[f], p);\n }\n }\n\n for (var m = o.querySelectorAll(\".tokui-chart-tips-layer\"), h = m.length - 1; h >= 0; h--) {\n m[h].parentNode && m[h].parentNode.removeChild(m[h]);\n }\n\n o.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), o.setAttribute(\"width\", i), o.setAttribute(\"height\", a), o.setAttribute(\"style\", \"background:#fff\");\n var g;\n\n try {\n g = new XMLSerializer().serializeToString(o);\n } catch (_unused20) {\n n(null);\n return;\n }\n\n var _ = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(g),\n v = new Image();\n\n v.onload = function () {\n var e = document.createElement(\"canvas\");\n e.width = Math.round(i * t), e.height = Math.round(a * t);\n var r = e.getContext(\"2d\");\n r.fillStyle = \"#fff\", r.fillRect(0, 0, e.width, e.height), r.drawImage(v, 0, 0, e.width, e.height), e.toBlob ? e.toBlob(function (e) {\n n(e);\n }, \"image/png\") : n(null);\n }, v.onerror = function () {\n n(null);\n }, v.src = _;\n }\n\n function p(e, t) {\n if (e) {\n var n = document.createElement(\"a\"),\n r = URL.createObjectURL(e);\n n.href = r, n.download = t, document.body.appendChild(n), n.click(), n.remove(), setTimeout(function () {\n URL.revokeObjectURL(r);\n }, 2e3);\n }\n }\n\n function m(e, t) {\n e && (navigator.clipboard && navigator.clipboard.write && window.ClipboardItem ? navigator.clipboard.write([new window.ClipboardItem({\n \"image/png\": e\n })]).then(function () {\n h(t, n(\"common.copied\"));\n }).catch(function () {\n h(t, n(\"chart.copyFailed\"));\n }) : h(t, n(\"chart.unsupported\")));\n }\n\n function h(e, t) {\n if (e) {\n var n = document.createElement(\"span\");\n n.className = \"tokui-chart__tip\", n.textContent = t, e.appendChild(n), setTimeout(function () {\n n.parentNode && n.remove();\n }, 1200);\n }\n }\n\n var y = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"13\\\" height=\\\"13\\\" rx=\\\"2\\\"/><path d=\\\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\\\"/></svg>\",\n b = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/><polyline points=\\\"7 10 12 15 17 10\\\"/><line x1=\\\"12\\\" y1=\\\"15\\\" x2=\\\"12\\\" y2=\\\"3\\\"/></svg>\",\n x = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M15 3h6v6\\\"/><path d=\\\"M9 21H3v-6\\\"/><path d=\\\"M21 3l-7 7\\\"/><path d=\\\"M3 21l7-7\\\"/></svg>\";\n\n function S(e, t) {\n if (!e || (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\") return;\n var i = document.querySelector(\".tokui-chart__modal\");\n i && i.remove();\n var a = document.createElement(\"div\");\n a.className = \"tokui-chart__modal\", a.setAttribute(\"role\", \"dialog\"), a.setAttribute(\"aria-modal\", \"true\"), t && a.setAttribute(\"aria-label\", t);\n var o = document.createElement(\"div\");\n o.className = \"tokui-chart__modal-card\";\n var s = document.createElement(\"button\");\n\n if (s.type = \"button\", s.className = \"tokui-chart__modal-close\", s.setAttribute(\"aria-label\", n(\"common.close\")), s.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><line x1=\\\"18\\\" y1=\\\"6\\\" x2=\\\"6\\\" y2=\\\"18\\\"/><line x1=\\\"6\\\" y1=\\\"6\\\" x2=\\\"18\\\" y2=\\\"18\\\"/></svg>\", t) {\n var c = document.createElement(\"div\");\n c.className = \"tokui-chart__modal-title\", c.textContent = t, o.appendChild(c);\n }\n\n var l = document.createElement(\"div\");\n l.className = \"tokui-chart__modal-body\";\n var d = typeof e.closest == \"function\" ? e.closest(\".tokui-chart\") : null,\n f = d && d._tokuiChartSpec,\n p = !!e.querySelector(\".tokui-chart-zoom-window\"),\n m;\n if (p && f && r[f.type]) try {\n m = r[f.type](f.data, f.labels, f.colors, f.attrs), m.setAttribute(\"data-chart-type\", f.type), f.type === \"bar\" && (f.attrs.orient === \"h\" || f.attrs.orientation === \"h\") && m.setAttribute(\"data-orient\", \"h\");\n } catch (_unused21) {\n m = e.cloneNode(!0), C(m);\n } else m = e.cloneNode(!0), C(m);\n m.id && m.removeAttribute(\"id\"), l.appendChild(m), p && f && (l._tokuiChartSpec = f, l._tokuiPadLSet = !0, u(l)), o.appendChild(l), o.appendChild(s), a.appendChild(o);\n var h = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n\n var g = function g(e) {\n e.key === \"Escape\" && v();\n },\n _ = !1;\n\n function v() {\n _ || (_ = !0, a.classList.remove(\"tokui-chart__modal--open\"), document.removeEventListener(\"keydown\", g), document.body.style.overflow = h, setTimeout(function () {\n a.parentNode && a.remove();\n }, 180));\n }\n\n a.addEventListener(\"click\", function (e) {\n e.target === a && v();\n }), s.addEventListener(\"click\", v), document.addEventListener(\"keydown\", g), document.body.appendChild(a), a.offsetWidth, a.classList.add(\"tokui-chart__modal--open\"), ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.requestAnimationFrame ? function (e) {\n window.requestAnimationFrame(e);\n } : function (e) {\n e();\n })(function () {\n var e = 0;\n\n try {\n e = m.getBoundingClientRect().width;\n } catch (_unused22) {\n e = 0;\n }\n\n if (e > 0) {\n var t = m.viewBox && m.viewBox.baseVal,\n n = t && t.width || parseFloat((m.getAttribute(\"viewBox\") || \"\").split(/\\s+/)[2]);\n n > 0 && R(m, e / n);\n }\n });\n }\n\n function w(e) {\n var t = document.createElement(\"div\");\n t.className = \"tokui-chart__toolbar\";\n\n var r = function r(e, t, n) {\n var r = document.createElement(\"button\");\n return r.type = \"button\", r.className = \"tokui-chart__act\", r.setAttribute(\"data-act\", e), r.title = t, r.setAttribute(\"aria-label\", t), r.innerHTML = n, r;\n };\n\n return t.appendChild(r(\"copy\", n(\"chart.copyImage\"), y)), t.appendChild(r(\"download\", n(\"chart.downloadImage\"), b)), t.appendChild(r(\"fullscreen\", n(\"chart.fullscreen\"), x)), t.addEventListener(\"click\", function (t) {\n var n = t.target.closest(\"[data-act]\");\n\n if (n) {\n t.preventDefault();\n var r = e.querySelector(\"svg.tokui-chart__svg\");\n\n if (!(!r || n.disabled)) {\n var i = n.getAttribute(\"data-act\");\n\n if (i === \"fullscreen\") {\n var a = e.querySelector(\".tokui-chart__title\");\n S(r, a ? a.textContent : \"\");\n return;\n }\n\n n.disabled = !0, d(r, i === \"copy\" ? 2 : 3, function (e) {\n n.disabled = !1, e && (i === \"download\" ? p(e, \"tokui-chart.png\") : m(e, n));\n });\n }\n }\n }), t;\n }\n\n e.register(\"chart\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"bar\",\n s = document.createElement(\"div\");\n\n if (s.className = \"tokui-chart\", n.tt) {\n var c = document.createElement(\"div\");\n c.className = \"tokui-chart__title\", c.textContent = n.tt, s.appendChild(c);\n }\n\n s.appendChild(w(s));\n var l = n.t;\n return n.d || n.tasks || n.rows || n.nodes && n.flows || n.v !== void 0 && (l === \"gauge\" || l === \"progress\") ? (i(s, n), s._tokuiChartUpdate = function (e) {\n i(s, e);\n }, s) : (s._chartState = {\n type: r,\n base: n,\n points: [],\n tasks: [],\n ms: [],\n rows: [],\n flows: []\n }, s._tokuiChartAppend = function (e) {\n t(s, e), o(s);\n }, s._streamCloseHook = function () {\n s._rafScheduled && (s._rafScheduled = !1, a(s));\n }, e.children && e.children.length && e.children.forEach(function (e) {\n t(s, e);\n }), a(s), s);\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerChartComponents = qe, window.TokUI._internal.registerChartRenderer = $, window.TokUI._internal.bumpFsUnits = L, window.TokUI._internal.applyTipScale = R, window.TokUI._internal.axisXLayout = W, window.TokUI._internal.zoomBounds = K, window.TokUI._internal.zoomEnabled = ee, window.TokUI._internal.solvePieFs = z, window.TokUI._internal.pieSizing = X, window.TokUI._internal.MIN_CHART_PX = N, window.TokUI._internal.MAX_CHART_PX = F), t !== void 0 && t.exports && (t.exports = {\n registerChartComponents: qe,\n registerChartRenderer: $,\n bumpFsUnits: L,\n solvePieFs: z,\n pieSizing: X,\n MIN_CHART_PX: N,\n MAX_CHART_PX: F,\n applyTipScale: R,\n axisXLayout: W,\n zoomBounds: K,\n zoomEnabled: ee\n });\n }),\n v = s(function (e, t) {\n var n = {\n view: \"<path d=\\\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"/>\",\n edit: \"<path d=\\\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\"/><path d=\\\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\\\"/>\",\n delete: \"<path d=\\\"M3 6h18\\\"/><path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\\\"/><path d=\\\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"/>\",\n add: \"<path d=\\\"M12 5v14\\\"/><path d=\\\"M5 12h14\\\"/>\",\n copy: \"<rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"13\\\" height=\\\"13\\\" rx=\\\"2\\\"/><path d=\\\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\\\"/>\",\n download: \"<path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/><path d=\\\"M7 10l5 5 5-5\\\"/><path d=\\\"M12 15V3\\\"/>\",\n upload: \"<path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"/><path d=\\\"M17 8l-5-5-5 5\\\"/><path d=\\\"M12 3v12\\\"/>\",\n refresh: \"<path d=\\\"M23 4v6h-6\\\"/><path d=\\\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\\\"/>\",\n check: \"<path d=\\\"M20 6L9 17l-5-5\\\"/>\",\n close: \"<path d=\\\"M18 6L6 18\\\"/><path d=\\\"M6 6l12 12\\\"/>\",\n search: \"<circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"/><line x1=\\\"21\\\" y1=\\\"21\\\" x2=\\\"16.65\\\" y2=\\\"16.65\\\"/>\",\n setting: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"/><path d=\\\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\\\"/>\",\n warn: \"<path d=\\\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\\\"/><line x1=\\\"12\\\" y1=\\\"9\\\" x2=\\\"12\\\" y2=\\\"13\\\"/><line x1=\\\"12\\\" y1=\\\"17\\\" x2=\\\"12.01\\\" y2=\\\"17\\\"/>\",\n info: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><line x1=\\\"12\\\" y1=\\\"16\\\" x2=\\\"12\\\" y2=\\\"12\\\"/><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12.01\\\" y2=\\\"8\\\"/>\",\n lock: \"<rect x=\\\"3\\\" y=\\\"11\\\" width=\\\"18\\\" height=\\\"11\\\" rx=\\\"2\\\"/><path d=\\\"M7 11V7a5 5 0 0 1 10 0v4\\\"/>\",\n unlock: \"<rect x=\\\"3\\\" y=\\\"11\\\" width=\\\"18\\\" height=\\\"11\\\" rx=\\\"2\\\"/><path d=\\\"M7 11V7a5 5 0 0 1 9.9-1\\\"/>\",\n more: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\",\n save: \"<path d=\\\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\\\"/><polyline points=\\\"17 21 17 13 7 13 7 21\\\"/><polyline points=\\\"7 3 7 8 15 8\\\"/>\",\n export: \"<path d=\\\"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7\\\"/><polyline points=\\\"16 6 12 2 8 6\\\"/><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"15\\\"/>\",\n filter: \"<polygon points=\\\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\\\"/>\",\n sort: \"<path d=\\\"M11 5h10\\\"/><path d=\\\"M11 9h7\\\"/><path d=\\\"M11 13h4\\\"/><path d=\\\"m3 17 3 3 3-3\\\"/><path d=\\\"M6 18V4\\\"/>\",\n star: \"<polygon points=\\\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\\\"/>\",\n link: \"<path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\"/><path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\"/>\",\n menu: \"<line x1=\\\"3\\\" y1=\\\"12\\\" x2=\\\"21\\\" y2=\\\"12\\\"/><line x1=\\\"3\\\" y1=\\\"6\\\" x2=\\\"21\\\" y2=\\\"6\\\"/><line x1=\\\"3\\\" y1=\\\"18\\\" x2=\\\"21\\\" y2=\\\"18\\\"/>\"\n };\n\n function r(e, t) {\n var r = n[e];\n if (!r) return \"\";\n var i = t || 16;\n return \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"\" + i + \"\\\" height=\\\"\" + i + \"\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"tokui-icon tokui-icon--\" + e + \"\\\">\" + r + \"</svg>\";\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.ICONS = n, window.TokUI._internal.iconSvg = r), t !== void 0 && t.exports && (t.exports = {\n ICONS: n,\n iconSvg: r\n });\n }),\n y = s(function (e, t) {\n var n = [11011001100, 11001101100, 11001100110, 10010011e3, 10010001100, 10001001100, 10011001e3, 10011000100, 10001100100, 11001001e3, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011e3, 11011000110, 11000110110, 10100011e3, 10001011e3, 10001000110, 10110001e3, 10001101e3, 10001100010, 11010001e3, 11000101e3, 11000100010, 10110111e3, 10110001110, 10001101110, 10111011e3, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101e3, 11011100010, 11011101110, 11101011e3, 11101000110, 11100010110, 11101101e3, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 1010011e4, 10100001100, 1001011e4, 10010000110, 10000101100, 10000100110, 1011001e4, 10110000100, 1001101e4, 10011000010, 10000110100, 10000110010, 11000010010, 1100101e4, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111e3, 10100011110, 10001011110, 10111101e3, 10111100010, 11110101e3, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 1101001e4, 11010011100, 1100011101011],\n r = 104,\n i = 106,\n a = 103;\n\n function o(e) {\n for (var t = [], o = 0; o < String(e || \"\").length; o++) {\n var s = String(e || \"\").charCodeAt(o);\n s >= 32 && s <= 126 && t.push(s);\n }\n\n if (!t.length) return \"\";\n\n for (var c = r, l = 0; l < t.length; l++) {\n c += (l + 1) * (t[l] - 32);\n }\n\n for (var u = c % a, d = String(n[r]), f = 0; f < t.length; f++) {\n d += String(n[t[f] - 32]);\n }\n\n return d += String(n[u]), d += String(n[i]), d;\n }\n\n function s(e, t) {\n for (var n = {\n sm: 1.5,\n md: 2,\n lg: 2.5\n }[t] || 2, r = {\n sm: 36,\n md: 54,\n lg: 72\n }[t] || 54, i = e.length, a = \"\", o = 0; o < i;) {\n if (e[o] === \"1\") {\n for (var s = o; s < i && e[s] === \"1\";) {\n s++;\n }\n\n a += \"<rect x=\\\"\" + (o * n).toFixed(2) + \"\\\" y=\\\"0\\\" width=\\\"\" + ((s - o) * n).toFixed(2) + \"\\\" height=\\\"\" + r + \"\\\"/>\", o = s;\n } else o++;\n }\n\n return \"<svg viewBox=\\\"0 0 \" + (i * n).toFixed(2) + \" \" + r + \"\\\" width=\\\"100%\\\" preserveAspectRatio=\\\"xMidYMid meet\\\" role=\\\"img\\\" class=\\\"tokui-barcode__bars\\\"><g fill=\\\"currentColor\\\">\" + a + \"</g></svg>\";\n }\n\n function c(e) {\n var t = ( true ? h() : undefined).el;\n e.register(\"barcode\", function (e) {\n var n = e.attrs.tx || e.content || \"\",\n r = e.attrs.l || e.attrs.tt || \"\",\n i = String(e.attrs.s || e.attrs.size || \"md\").toLowerCase(),\n a = {\n small: \"sm\",\n medium: \"md\",\n large: \"lg\"\n }[i] || i,\n c = t(\"div\", {\n class: \"tokui-barcode tokui-barcode--\" + a\n });\n r && c.appendChild(t(\"div\", {\n class: \"tokui-barcode__label\"\n }, r));\n var l = o(n);\n\n if (l) {\n var u = t(\"div\", {\n class: \"tokui-barcode__svg\"\n });\n u.innerHTML = s(l, a), c.appendChild(u);\n } else c.appendChild(t(\"div\", {\n class: \"tokui-barcode__empty\"\n }, \"\\u2014\"));\n\n return n && c.appendChild(t(\"div\", {\n class: \"tokui-barcode__text\"\n }, n)), c;\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerBarcode = c, window.TokUI._internal.encode128B = o), t !== void 0 && t.exports && (t.exports = {\n registerBarcode: c,\n encode128B: o\n });\n }),\n b = s(function (e, t) {\n var n = function () {\n var e = function e(_e39, t) {\n var r = 236,\n a = 17,\n p = _e39,\n m = n[t],\n h = null,\n g = 0,\n v = null,\n y = [],\n b = {},\n x = function x(e, t) {\n var _v;\n\n g = p * 4 + 17, h = function (e) {\n for (var t = Array(e), n = 0; n < e; n += 1) {\n t[n] = Array(e);\n\n for (var r = 0; r < e; r += 1) {\n t[n][r] = null;\n }\n }\n\n return t;\n }(g), S(0, 0), S(g - 7, 0), S(0, g - 7), T(), w(), D(e, t), p >= 7 && E(e), (_v = v) !== null && _v !== void 0 ? _v : v = A(p, m, y), O(v, t);\n },\n S = function S(e, t) {\n for (var n = -1; n <= 7; n += 1) {\n if (!(e + n <= -1 || g <= e + n)) for (var r = -1; r <= 7; r += 1) {\n t + r <= -1 || g <= t + r || (0 <= n && n <= 6 && (r == 0 || r == 6) || 0 <= r && r <= 6 && (n == 0 || n == 6) || 2 <= n && n <= 4 && 2 <= r && r <= 4 ? h[e + n][t + r] = !0 : h[e + n][t + r] = !1);\n }\n }\n },\n C = function C() {\n for (var e = 0, t = 0, n = 0; n < 8; n += 1) {\n x(!0, n);\n var r = i.getLostPoint(b);\n (n == 0 || e > r) && (e = r, t = n);\n }\n\n return t;\n },\n w = function w() {\n for (var e = 8; e < g - 8; e += 1) {\n var _h$e$;\n\n (_h$e$ = h[e][6]) !== null && _h$e$ !== void 0 ? _h$e$ : h[e][6] = e % 2 == 0;\n }\n\n for (var t = 8; t < g - 8; t += 1) {\n var _h$6$t;\n\n (_h$6$t = h[6][t]) !== null && _h$6$t !== void 0 ? _h$6$t : h[6][t] = t % 2 == 0;\n }\n },\n T = function T() {\n for (var e = i.getPatternPosition(p), t = 0; t < e.length; t += 1) {\n for (var n = 0; n < e.length; n += 1) {\n var r = e[t],\n a = e[n];\n if (h[r][a] == null) for (var o = -2; o <= 2; o += 1) {\n for (var s = -2; s <= 2; s += 1) {\n o == -2 || o == 2 || s == -2 || s == 2 || o == 0 && s == 0 ? h[r + o][a + s] = !0 : h[r + o][a + s] = !1;\n }\n }\n }\n }\n },\n E = function E(e) {\n for (var t = i.getBCHTypeNumber(p), n = 0; n < 18; n += 1) {\n var r = !e && (t >> n & 1) == 1;\n h[Math.floor(n / 3)][n % 3 + g - 8 - 3] = r;\n }\n\n for (var n = 0; n < 18; n += 1) {\n var r = !e && (t >> n & 1) == 1;\n h[n % 3 + g - 8 - 3][Math.floor(n / 3)] = r;\n }\n },\n D = function D(e, t) {\n for (var n = m << 3 | t, r = i.getBCHTypeInfo(n), a = 0; a < 15; a += 1) {\n var o = !e && (r >> a & 1) == 1;\n a < 6 ? h[a][8] = o : a < 8 ? h[a + 1][8] = o : h[g - 15 + a][8] = o;\n }\n\n for (var a = 0; a < 15; a += 1) {\n var o = !e && (r >> a & 1) == 1;\n a < 8 ? h[8][g - a - 1] = o : a < 9 ? h[8][15 - a - 1 + 1] = o : h[8][15 - a - 1] = o;\n }\n\n h[g - 8][8] = !e;\n },\n O = function O(e, t) {\n for (var n = -1, r = g - 1, a = 7, o = 0, s = i.getMaskFunction(t), c = g - 1; c > 0; c -= 2) {\n for (c == 6 && --c;;) {\n for (var l = 0; l < 2; l += 1) {\n if (h[r][c - l] == null) {\n var u = !1;\n o < e.length && (u = (e[o] >>> a & 1) == 1), s(r, c - l) && (u = !u), h[r][c - l] = u, --a, a == -1 && (o += 1, a = 7);\n }\n }\n\n if (r += n, r < 0 || g <= r) {\n r -= n, n = -n;\n break;\n }\n }\n }\n },\n k = function k(e, t) {\n for (var n = 0, r = 0, a = 0, s = Array(t.length), c = Array(t.length), l = 0; l < t.length; l += 1) {\n var u = t[l].dataCount,\n d = t[l].totalCount - u;\n r = Math.max(r, u), a = Math.max(a, d), s[l] = Array(u);\n\n for (var f = 0; f < s[l].length; f += 1) {\n s[l][f] = 255 & e.getBuffer()[f + n];\n }\n\n n += u;\n var p = i.getErrorCorrectPolynomial(d),\n m = o(s[l], p.getLength() - 1).mod(p);\n c[l] = Array(p.getLength() - 1);\n\n for (var f = 0; f < c[l].length; f += 1) {\n var h = f + m.getLength() - c[l].length;\n c[l][f] = h >= 0 ? m.getAt(h) : 0;\n }\n }\n\n for (var g = 0, f = 0; f < t.length; f += 1) {\n g += t[f].totalCount;\n }\n\n for (var _ = Array(g), v = 0, f = 0; f < r; f += 1) {\n for (var l = 0; l < t.length; l += 1) {\n f < s[l].length && (_[v] = s[l][f], v += 1);\n }\n }\n\n for (var f = 0; f < a; f += 1) {\n for (var l = 0; l < t.length; l += 1) {\n f < c[l].length && (_[v] = c[l][f], v += 1);\n }\n }\n\n return _;\n },\n A = function A(e, t, n) {\n for (var o = s.getRSBlocks(e, t), l = c(), u = 0; u < n.length; u += 1) {\n var d = n[u];\n l.put(d.getMode(), 4), l.put(d.getLength(), i.getLengthInBits(d.getMode(), e)), d.write(l);\n }\n\n for (var f = 0, u = 0; u < o.length; u += 1) {\n f += o[u].dataCount;\n }\n\n if (l.getLengthInBits() > f * 8) throw \"code length overflow. (\" + l.getLengthInBits() + \">\" + f * 8 + \")\";\n\n for (l.getLengthInBits() + 4 <= f * 8 && l.put(0, 4); l.getLengthInBits() % 8 != 0;) {\n l.putBit(!1);\n }\n\n for (; !(l.getLengthInBits() >= f * 8 || (l.put(r, 8), l.getLengthInBits() >= f * 8));) {\n l.put(a, 8);\n }\n\n return k(l, o);\n };\n\n b.addData = function (e, t) {\n t || (t = \"Byte\");\n var n = null;\n\n switch (t) {\n case \"Numeric\":\n n = l(e);\n break;\n\n case \"Alphanumeric\":\n n = u(e);\n break;\n\n case \"Byte\":\n n = d(e);\n break;\n\n case \"Kanji\":\n n = f(e);\n break;\n\n default:\n throw \"mode:\" + t;\n }\n\n y.push(n), v = null;\n }, b.isDark = function (e, t) {\n if (e < 0 || g <= e || t < 0 || g <= t) throw e + \",\" + t;\n return h[e][t];\n }, b.getModuleCount = function () {\n return g;\n }, b.make = function () {\n if (p < 1) {\n for (var e = 1; e < 40; e++) {\n for (var t = s.getRSBlocks(e, m), n = c(), r = 0; r < y.length; r++) {\n var a = y[r];\n n.put(a.getMode(), 4), n.put(a.getLength(), i.getLengthInBits(a.getMode(), e)), a.write(n);\n }\n\n for (var o = 0, r = 0; r < t.length; r++) {\n o += t[r].dataCount;\n }\n\n if (n.getLengthInBits() <= o * 8) break;\n }\n\n p = e;\n }\n\n x(!1, C());\n }, b.createTableTag = function (e, t) {\n e || (e = 2), t = t === void 0 ? e * 4 : t;\n var n = \"\";\n n += \"<table style=\\\"\", n += \" border-width: 0px; border-style: none;\", n += \" border-collapse: collapse;\", n += \" padding: 0px; margin: \" + t + \"px;\", n += \"\\\">\", n += \"<tbody>\";\n\n for (var r = 0; r < b.getModuleCount(); r += 1) {\n n += \"<tr>\";\n\n for (var i = 0; i < b.getModuleCount(); i += 1) {\n n += \"<td style=\\\"\", n += \" border-width: 0px; border-style: none;\", n += \" border-collapse: collapse;\", n += \" padding: 0px; margin: 0px;\", n += \" width: \" + e + \"px;\", n += \" height: \" + e + \"px;\", n += \" background-color: \", n += b.isDark(r, i) ? \"#000000\" : \"#ffffff\", n += \";\", n += \"\\\"/>\";\n }\n\n n += \"</tr>\";\n }\n\n return n += \"</tbody>\", n += \"</table>\", n;\n }, b.createSvgTag = function (e, t, n, r) {\n var i = {};\n typeof arguments[0] == \"object\" && (i = arguments[0], e = i.cellSize, t = i.margin, n = i.alt, r = i.title), e || (e = 2), t = t === void 0 ? e * 4 : t, n = typeof n == \"string\" ? {\n text: n\n } : n || {}, n.text = n.text || null, n.id = n.text ? n.id || \"qrcode-description\" : null, r = typeof r == \"string\" ? {\n text: r\n } : r || {}, r.text = r.text || null, r.id = r.text ? r.id || \"qrcode-title\" : null;\n var a = b.getModuleCount() * e + t * 2,\n o,\n s,\n c,\n l,\n u = \"\",\n d = \"l\" + e + \",0 0,\" + e + \" -\" + e + \",0 0,-\" + e + \"z \";\n\n for (u += \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\", u += i.scalable ? \"\" : \" width=\\\"\" + a + \"px\\\" height=\\\"\" + a + \"px\\\"\", u += \" viewBox=\\\"0 0 \" + a + \" \" + a + \"\\\" \", u += \" preserveAspectRatio=\\\"xMinYMin meet\\\"\", u += r.text || n.text ? \" role=\\\"img\\\" aria-labelledby=\\\"\" + j([r.id, n.id].join(\" \").trim()) + \"\\\"\" : \"\", u += \">\", u += r.text ? \"<title id=\\\"\" + j(r.id) + \"\\\">\" + j(r.text) + \"</title>\" : \"\", u += n.text ? \"<description id=\\\"\" + j(n.id) + \"\\\">\" + j(n.text) + \"</description>\" : \"\", u += \"<rect width=\\\"100%\\\" height=\\\"100%\\\" fill=\\\"white\\\" cx=\\\"0\\\" cy=\\\"0\\\"/>\", u += \"<path d=\\\"\", c = 0; c < b.getModuleCount(); c += 1) {\n for (l = c * e + t, o = 0; o < b.getModuleCount(); o += 1) {\n b.isDark(c, o) && (s = o * e + t, u += \"M\" + s + \",\" + l + d);\n }\n }\n\n return u += \"\\\" stroke=\\\"transparent\\\" fill=\\\"black\\\"/>\", u += \"</svg>\", u;\n }, b.createDataURL = function (e, t) {\n e || (e = 2), t = t === void 0 ? e * 4 : t;\n var n = b.getModuleCount() * e + t * 2,\n r = t,\n i = n - t;\n return _(n, n, function (t, n) {\n if (r <= t && t < i && r <= n && n < i) {\n var a = Math.floor((t - r) / e),\n o = Math.floor((n - r) / e);\n return +!b.isDark(o, a);\n } else return 1;\n });\n }, b.createImgTag = function (e, t, n) {\n e || (e = 2), t = t === void 0 ? e * 4 : t;\n var r = b.getModuleCount() * e + t * 2,\n i = \"\";\n return i += \"<img\", i += \" src=\\\"\", i += b.createDataURL(e, t), i += \"\\\"\", i += \" width=\\\"\", i += r, i += \"\\\"\", i += \" height=\\\"\", i += r, i += \"\\\"\", n && (i += \" alt=\\\"\", i += j(n), i += \"\\\"\"), i += \"/>\", i;\n };\n\n var j = function j(e) {\n for (var t = \"\", n = 0; n < e.length; n += 1) {\n var r = e.charAt(n);\n\n switch (r) {\n case \"<\":\n t += \"&lt;\";\n break;\n\n case \">\":\n t += \"&gt;\";\n break;\n\n case \"&\":\n t += \"&amp;\";\n break;\n\n case \"\\\"\":\n t += \"&quot;\";\n break;\n\n default:\n t += r;\n break;\n }\n }\n\n return t;\n },\n M = function M(e) {\n var t = 1;\n e = e === void 0 ? t * 2 : e;\n var n = b.getModuleCount() * t + e * 2,\n r = e,\n i = n - e,\n a,\n o,\n s,\n c,\n l,\n u = {\n \"██\": \"\\u2588\",\n \"█ \": \"\\u2580\",\n \" █\": \"\\u2584\",\n \" \": \" \"\n },\n d = {\n \"██\": \"\\u2580\",\n \"█ \": \"\\u2580\",\n \" █\": \" \",\n \" \": \" \"\n },\n f = \"\";\n\n for (a = 0; a < n; a += 2) {\n for (s = Math.floor((a - r) / t), c = Math.floor((a + 1 - r) / t), o = 0; o < n; o += 1) {\n l = \"\\u2588\", r <= o && o < i && r <= a && a < i && b.isDark(s, Math.floor((o - r) / t)) && (l = \" \"), r <= o && o < i && r <= a + 1 && a + 1 < i && b.isDark(c, Math.floor((o - r) / t)) ? l += \" \" : l += \"\\u2588\", f += e < 1 && a + 1 >= i ? d[l] : u[l];\n }\n\n f += \"\\n\";\n }\n\n return n % 2 && e > 0 ? f.substring(0, f.length - n - 1) + Array(n + 1).join(\"\\u2580\") : f.substring(0, f.length - 1);\n };\n\n return b.createASCII = function (e, t) {\n if (e || (e = 1), e < 2) return M(t);\n --e, t = t === void 0 ? e * 2 : t;\n var n = b.getModuleCount() * e + t * 2,\n r = t,\n i = n - t,\n a,\n o,\n s,\n c,\n l = Array(e + 1).join(\"\\u2588\\u2588\"),\n u = Array(e + 1).join(\" \"),\n d = \"\",\n f = \"\";\n\n for (a = 0; a < n; a += 1) {\n for (s = Math.floor((a - r) / e), f = \"\", o = 0; o < n; o += 1) {\n c = 1, r <= o && o < i && r <= a && a < i && b.isDark(s, Math.floor((o - r) / e)) && (c = 0), f += c ? l : u;\n }\n\n for (s = 0; s < e; s += 1) {\n d += f + \"\\n\";\n }\n }\n\n return d.substring(0, d.length - 1);\n }, b.renderTo2dContext = function (e, t) {\n t || (t = 2);\n\n for (var n = b.getModuleCount(), r = 0; r < n; r++) {\n for (var i = 0; i < n; i++) {\n e.fillStyle = b.isDark(r, i) ? \"black\" : \"white\", e.fillRect(r * t, i * t, t, t);\n }\n }\n }, b;\n };\n\n e.stringToBytesFuncs = {\n default: function _default(e) {\n for (var t = [], n = 0; n < e.length; n += 1) {\n var r = e.charCodeAt(n);\n t.push(r & 255);\n }\n\n return t;\n }\n }, e.stringToBytes = e.stringToBytesFuncs.default, e.createStringToBytes = function (e, t) {\n var n = function () {\n for (var n = h(e), r = function r() {\n var e = n.read();\n if (e == -1) throw \"eof\";\n return e;\n }, i = 0, a = {};;) {\n var o = n.read();\n if (o == -1) break;\n var s = r(),\n c = r(),\n l = r(),\n u = String.fromCharCode(o << 8 | s);\n a[u] = c << 8 | l, i += 1;\n }\n\n if (i != t) throw i + \" != \" + t;\n return a;\n }(),\n r = 63;\n\n return function (e) {\n for (var t = [], i = 0; i < e.length; i += 1) {\n var a = e.charCodeAt(i);\n if (a < 128) t.push(a);else {\n var o = n[e.charAt(i)];\n typeof o == \"number\" ? (o & 255) == o ? t.push(o) : (t.push(o >>> 8), t.push(o & 255)) : t.push(r);\n }\n }\n\n return t;\n };\n };\n\n var t = {\n MODE_NUMBER: 1,\n MODE_ALPHA_NUM: 2,\n MODE_8BIT_BYTE: 4,\n MODE_KANJI: 8\n },\n n = {\n L: 1,\n M: 0,\n Q: 3,\n H: 2\n },\n r = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n },\n i = function () {\n var e = [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],\n n = 1335,\n i = 7973,\n s = 21522,\n c = {},\n l = function l(e) {\n for (var t = 0; e != 0;) {\n t += 1, e >>>= 1;\n }\n\n return t;\n };\n\n return c.getBCHTypeInfo = function (e) {\n for (var t = e << 10; l(t) - l(n) >= 0;) {\n t ^= n << l(t) - l(n);\n }\n\n return (e << 10 | t) ^ s;\n }, c.getBCHTypeNumber = function (e) {\n for (var t = e << 12; l(t) - l(i) >= 0;) {\n t ^= i << l(t) - l(i);\n }\n\n return e << 12 | t;\n }, c.getPatternPosition = function (t) {\n return e[t - 1];\n }, c.getMaskFunction = function (e) {\n switch (e) {\n case r.PATTERN000:\n return function (e, t) {\n return (e + t) % 2 == 0;\n };\n\n case r.PATTERN001:\n return function (e, t) {\n return e % 2 == 0;\n };\n\n case r.PATTERN010:\n return function (e, t) {\n return t % 3 == 0;\n };\n\n case r.PATTERN011:\n return function (e, t) {\n return (e + t) % 3 == 0;\n };\n\n case r.PATTERN100:\n return function (e, t) {\n return (Math.floor(e / 2) + Math.floor(t / 3)) % 2 == 0;\n };\n\n case r.PATTERN101:\n return function (e, t) {\n return e * t % 2 + e * t % 3 == 0;\n };\n\n case r.PATTERN110:\n return function (e, t) {\n return (e * t % 2 + e * t % 3) % 2 == 0;\n };\n\n case r.PATTERN111:\n return function (e, t) {\n return (e * t % 3 + (e + t) % 2) % 2 == 0;\n };\n\n default:\n throw \"bad maskPattern:\" + e;\n }\n }, c.getErrorCorrectPolynomial = function (e) {\n for (var t = o([1], 0), n = 0; n < e; n += 1) {\n t = t.multiply(o([1, a.gexp(n)], 0));\n }\n\n return t;\n }, c.getLengthInBits = function (e, n) {\n if (1 <= n && n < 10) switch (e) {\n case t.MODE_NUMBER:\n return 10;\n\n case t.MODE_ALPHA_NUM:\n return 9;\n\n case t.MODE_8BIT_BYTE:\n return 8;\n\n case t.MODE_KANJI:\n return 8;\n\n default:\n throw \"mode:\" + e;\n } else if (n < 27) switch (e) {\n case t.MODE_NUMBER:\n return 12;\n\n case t.MODE_ALPHA_NUM:\n return 11;\n\n case t.MODE_8BIT_BYTE:\n return 16;\n\n case t.MODE_KANJI:\n return 10;\n\n default:\n throw \"mode:\" + e;\n } else if (n < 41) switch (e) {\n case t.MODE_NUMBER:\n return 14;\n\n case t.MODE_ALPHA_NUM:\n return 13;\n\n case t.MODE_8BIT_BYTE:\n return 16;\n\n case t.MODE_KANJI:\n return 12;\n\n default:\n throw \"mode:\" + e;\n } else throw \"type:\" + n;\n }, c.getLostPoint = function (e) {\n for (var t = e.getModuleCount(), n = 0, r = 0; r < t; r += 1) {\n for (var i = 0; i < t; i += 1) {\n for (var a = 0, o = e.isDark(r, i), s = -1; s <= 1; s += 1) {\n if (!(r + s < 0 || t <= r + s)) for (var c = -1; c <= 1; c += 1) {\n i + c < 0 || t <= i + c || s == 0 && c == 0 || o == e.isDark(r + s, i + c) && (a += 1);\n }\n }\n\n a > 5 && (n += 3 + a - 5);\n }\n }\n\n for (var r = 0; r < t - 1; r += 1) {\n for (var i = 0; i < t - 1; i += 1) {\n var l = 0;\n e.isDark(r, i) && (l += 1), e.isDark(r + 1, i) && (l += 1), e.isDark(r, i + 1) && (l += 1), e.isDark(r + 1, i + 1) && (l += 1), (l == 0 || l == 4) && (n += 3);\n }\n }\n\n for (var r = 0; r < t; r += 1) {\n for (var i = 0; i < t - 6; i += 1) {\n e.isDark(r, i) && !e.isDark(r, i + 1) && e.isDark(r, i + 2) && e.isDark(r, i + 3) && e.isDark(r, i + 4) && !e.isDark(r, i + 5) && e.isDark(r, i + 6) && (n += 40);\n }\n }\n\n for (var i = 0; i < t; i += 1) {\n for (var r = 0; r < t - 6; r += 1) {\n e.isDark(r, i) && !e.isDark(r + 1, i) && e.isDark(r + 2, i) && e.isDark(r + 3, i) && e.isDark(r + 4, i) && !e.isDark(r + 5, i) && e.isDark(r + 6, i) && (n += 40);\n }\n }\n\n for (var u = 0, i = 0; i < t; i += 1) {\n for (var r = 0; r < t; r += 1) {\n e.isDark(r, i) && (u += 1);\n }\n }\n\n var d = Math.abs(100 * u / t / t - 50) / 5;\n return n += d * 10, n;\n }, c;\n }(),\n a = function () {\n for (var e = Array(256), t = Array(256), n = 0; n < 8; n += 1) {\n e[n] = 1 << n;\n }\n\n for (var n = 8; n < 256; n += 1) {\n e[n] = e[n - 4] ^ e[n - 5] ^ e[n - 6] ^ e[n - 8];\n }\n\n for (var n = 0; n < 255; n += 1) {\n t[e[n]] = n;\n }\n\n var r = {};\n return r.glog = function (e) {\n if (e < 1) throw \"glog(\" + e + \")\";\n return t[e];\n }, r.gexp = function (t) {\n for (; t < 0;) {\n t += 255;\n }\n\n for (; t >= 256;) {\n t -= 255;\n }\n\n return e[t];\n }, r;\n }();\n\n function o(e, t) {\n if (e.length === void 0) throw e.length + \"/\" + t;\n\n var n = function () {\n for (var n = 0; n < e.length && e[n] == 0;) {\n n += 1;\n }\n\n for (var r = Array(e.length - n + t), i = 0; i < e.length - n; i += 1) {\n r[i] = e[i + n];\n }\n\n return r;\n }(),\n r = {};\n\n return r.getAt = function (e) {\n return n[e];\n }, r.getLength = function () {\n return n.length;\n }, r.multiply = function (e) {\n for (var t = Array(r.getLength() + e.getLength() - 1), n = 0; n < r.getLength(); n += 1) {\n for (var i = 0; i < e.getLength(); i += 1) {\n t[n + i] ^= a.gexp(a.glog(r.getAt(n)) + a.glog(e.getAt(i)));\n }\n }\n\n return o(t, 0);\n }, r.mod = function (e) {\n if (r.getLength() - e.getLength() < 0) return r;\n\n for (var t = a.glog(r.getAt(0)) - a.glog(e.getAt(0)), n = Array(r.getLength()), i = 0; i < r.getLength(); i += 1) {\n n[i] = r.getAt(i);\n }\n\n for (var i = 0; i < e.getLength(); i += 1) {\n n[i] ^= a.gexp(a.glog(e.getAt(i)) + t);\n }\n\n return o(n, 0).mod(e);\n }, r;\n }\n\n var s = function () {\n var e = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12, 7, 37, 13], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]],\n t = function t(e, _t24) {\n var n = {};\n return n.totalCount = e, n.dataCount = _t24, n;\n },\n r = {},\n i = function i(t, r) {\n switch (r) {\n case n.L:\n return e[(t - 1) * 4 + 0];\n\n case n.M:\n return e[(t - 1) * 4 + 1];\n\n case n.Q:\n return e[(t - 1) * 4 + 2];\n\n case n.H:\n return e[(t - 1) * 4 + 3];\n\n default:\n return;\n }\n };\n\n return r.getRSBlocks = function (e, n) {\n var r = i(e, n);\n if (r === void 0) throw \"bad rs block @ typeNumber:\" + e + \"/errorCorrectionLevel:\" + n;\n\n for (var a = r.length / 3, o = [], s = 0; s < a; s += 1) {\n for (var c = r[s * 3 + 0], l = r[s * 3 + 1], u = r[s * 3 + 2], d = 0; d < c; d += 1) {\n o.push(t(l, u));\n }\n }\n\n return o;\n }, r;\n }(),\n c = function c() {\n var e = [],\n t = 0,\n n = {};\n return n.getBuffer = function () {\n return e;\n }, n.getAt = function (t) {\n return (e[Math.floor(t / 8)] >>> 7 - t % 8 & 1) == 1;\n }, n.put = function (e, t) {\n for (var r = 0; r < t; r += 1) {\n n.putBit((e >>> t - r - 1 & 1) == 1);\n }\n }, n.getLengthInBits = function () {\n return t;\n }, n.putBit = function (n) {\n var r = Math.floor(t / 8);\n e.length <= r && e.push(0), n && (e[r] |= 128 >>> t % 8), t += 1;\n }, n;\n },\n l = function l(e) {\n var n = t.MODE_NUMBER,\n r = e,\n i = {};\n i.getMode = function () {\n return n;\n }, i.getLength = function (e) {\n return r.length;\n }, i.write = function (e) {\n for (var t = r, n = 0; n + 2 < t.length;) {\n e.put(a(t.substring(n, n + 3)), 10), n += 3;\n }\n\n n < t.length && (t.length - n == 1 ? e.put(a(t.substring(n, n + 1)), 4) : t.length - n == 2 && e.put(a(t.substring(n, n + 2)), 7));\n };\n\n var a = function a(e) {\n for (var t = 0, n = 0; n < e.length; n += 1) {\n t = t * 10 + o(e.charAt(n));\n }\n\n return t;\n },\n o = function o(e) {\n if (\"0\" <= e && e <= \"9\") return e.charCodeAt(0) - 48;\n throw \"illegal char :\" + e;\n };\n\n return i;\n },\n u = function u(e) {\n var n = t.MODE_ALPHA_NUM,\n r = e,\n i = {};\n i.getMode = function () {\n return n;\n }, i.getLength = function (e) {\n return r.length;\n }, i.write = function (e) {\n for (var t = r, n = 0; n + 1 < t.length;) {\n e.put(a(t.charAt(n)) * 45 + a(t.charAt(n + 1)), 11), n += 2;\n }\n\n n < t.length && e.put(a(t.charAt(n)), 6);\n };\n\n var a = function a(e) {\n if (\"0\" <= e && e <= \"9\") return e.charCodeAt(0) - 48;\n if (\"A\" <= e && e <= \"Z\") return e.charCodeAt(0) - 65 + 10;\n\n switch (e) {\n case \" \":\n return 36;\n\n case \"$\":\n return 37;\n\n case \"%\":\n return 38;\n\n case \"*\":\n return 39;\n\n case \"+\":\n return 40;\n\n case \"-\":\n return 41;\n\n case \".\":\n return 42;\n\n case \"/\":\n return 43;\n\n case \":\":\n return 44;\n\n default:\n throw \"illegal char :\" + e;\n }\n };\n\n return i;\n },\n d = function d(n) {\n var r = t.MODE_8BIT_BYTE,\n i = e.stringToBytes(n),\n a = {};\n return a.getMode = function () {\n return r;\n }, a.getLength = function (e) {\n return i.length;\n }, a.write = function (e) {\n for (var t = 0; t < i.length; t += 1) {\n e.put(i[t], 8);\n }\n }, a;\n },\n f = function f(n) {\n var r = t.MODE_KANJI,\n i = e.stringToBytesFuncs.SJIS;\n if (!i) throw \"sjis not supported.\";\n\n (function (e, t) {\n var n = i(e);\n if (n.length != 2 || (n[0] << 8 | n[1]) != t) throw \"sjis not supported.\";\n })(\"\\u53CB\", 38726);\n\n var a = i(n),\n o = {};\n return o.getMode = function () {\n return r;\n }, o.getLength = function (e) {\n return ~~(a.length / 2);\n }, o.write = function (e) {\n for (var t = a, n = 0; n + 1 < t.length;) {\n var r = (255 & t[n]) << 8 | 255 & t[n + 1];\n if (33088 <= r && r <= 40956) r -= 33088;else if (57408 <= r && r <= 60351) r -= 49472;else throw \"illegal char at \" + (n + 1) + \"/\" + r;\n r = (r >>> 8 & 255) * 192 + (r & 255), e.put(r, 13), n += 2;\n }\n\n if (n < t.length) throw \"illegal char at \" + (n + 1);\n }, o;\n },\n p = function p() {\n var e = [],\n t = {};\n return t.writeByte = function (t) {\n e.push(t & 255);\n }, t.writeShort = function (e) {\n t.writeByte(e), t.writeByte(e >>> 8);\n }, t.writeBytes = function (e, n, r) {\n n || (n = 0), r || (r = e.length);\n\n for (var i = 0; i < r; i += 1) {\n t.writeByte(e[i + n]);\n }\n }, t.writeString = function (e) {\n for (var n = 0; n < e.length; n += 1) {\n t.writeByte(e.charCodeAt(n));\n }\n }, t.toByteArray = function () {\n return e;\n }, t.toString = function () {\n var t = \"\";\n t += \"[\";\n\n for (var n = 0; n < e.length; n += 1) {\n n > 0 && (t += \",\"), t += e[n];\n }\n\n return t += \"]\", t;\n }, t;\n },\n m = function m() {\n var e = 0,\n t = 0,\n n = 0,\n r = \"\",\n i = {},\n a = function a(e) {\n r += String.fromCharCode(o(e & 63));\n },\n o = function o(e) {\n if (!(e < 0)) {\n if (e < 26) return 65 + e;\n if (e < 52) return 97 + (e - 26);\n if (e < 62) return 48 + (e - 52);\n if (e == 62) return 43;\n if (e == 63) return 47;\n }\n\n throw \"n:\" + e;\n };\n\n return i.writeByte = function (r) {\n for (e = e << 8 | r & 255, t += 8, n += 1; t >= 6;) {\n a(e >>> t - 6), t -= 6;\n }\n }, i.flush = function () {\n if (t > 0 && (a(e << 6 - t), e = 0, t = 0), n % 3 != 0) for (var i = 3 - n % 3, o = 0; o < i; o += 1) {\n r += \"=\";\n }\n }, i.toString = function () {\n return r;\n }, i;\n },\n h = function h(e) {\n var t = e,\n n = 0,\n r = 0,\n i = 0,\n a = {};\n\n a.read = function () {\n for (; i < 8;) {\n if (n >= t.length) {\n if (i == 0) return -1;\n throw \"unexpected end of file./\" + i;\n }\n\n var e = t.charAt(n);\n if (n += 1, e == \"=\") return i = 0, -1;\n e.match(/^\\s$/) || (r = r << 6 | o(e.charCodeAt(0)), i += 6);\n }\n\n var a = r >>> i - 8 & 255;\n return i -= 8, a;\n };\n\n var o = function o(e) {\n if (65 <= e && e <= 90) return e - 65;\n if (97 <= e && e <= 122) return e - 97 + 26;\n if (48 <= e && e <= 57) return e - 48 + 52;\n if (e == 43) return 62;\n if (e == 47) return 63;\n throw \"c:\" + e;\n };\n\n return a;\n },\n g = function g(e, t) {\n var n = e,\n r = t,\n i = Array(e * t),\n a = {};\n a.setPixel = function (e, t, r) {\n i[t * n + e] = r;\n }, a.write = function (e) {\n e.writeString(\"GIF87a\"), e.writeShort(n), e.writeShort(r), e.writeByte(128), e.writeByte(0), e.writeByte(0), e.writeByte(0), e.writeByte(0), e.writeByte(0), e.writeByte(255), e.writeByte(255), e.writeByte(255), e.writeString(\",\"), e.writeShort(0), e.writeShort(0), e.writeShort(n), e.writeShort(r), e.writeByte(0);\n var t = 2,\n i = s(t);\n e.writeByte(t);\n\n for (var a = 0; i.length - a > 255;) {\n e.writeByte(255), e.writeBytes(i, a, 255), a += 255;\n }\n\n e.writeByte(i.length - a), e.writeBytes(i, a, i.length - a), e.writeByte(0), e.writeString(\";\");\n };\n\n var o = function o(e) {\n var t = e,\n n = 0,\n r = 0,\n i = {};\n return i.write = function (e, i) {\n if (e >>> i) throw \"length over\";\n\n for (; n + i >= 8;) {\n t.writeByte(255 & (e << n | r)), i -= 8 - n, e >>>= 8 - n, r = 0, n = 0;\n }\n\n r = e << n | r, n += i;\n }, i.flush = function () {\n n > 0 && t.writeByte(r);\n }, i;\n },\n s = function s(e) {\n for (var t = 1 << e, n = (1 << e) + 1, r = e + 1, a = c(), s = 0; s < t; s += 1) {\n a.add(String.fromCharCode(s));\n }\n\n a.add(String.fromCharCode(t)), a.add(String.fromCharCode(n));\n var l = p(),\n u = o(l);\n u.write(t, r);\n var d = 0,\n f = String.fromCharCode(i[d]);\n\n for (d += 1; d < i.length;) {\n var m = String.fromCharCode(i[d]);\n d += 1, a.contains(f + m) ? f += m : (u.write(a.indexOf(f), r), a.size() < 4095 && (a.size() == 1 << r && (r += 1), a.add(f + m)), f = m);\n }\n\n return u.write(a.indexOf(f), r), u.write(n, r), u.flush(), l.toByteArray();\n },\n c = function c() {\n var e = {},\n t = 0,\n n = {};\n return n.add = function (r) {\n if (n.contains(r)) throw \"dup key:\" + r;\n e[r] = t, t += 1;\n }, n.size = function () {\n return t;\n }, n.indexOf = function (t) {\n return e[t];\n }, n.contains = function (t) {\n return e[t] !== void 0;\n }, n;\n };\n\n return a;\n },\n _ = function _(e, t, n) {\n for (var r = g(e, t), i = 0; i < t; i += 1) {\n for (var a = 0; a < e; a += 1) {\n r.setPixel(a, i, n(a, i));\n }\n }\n\n var o = p();\n r.write(o);\n\n for (var s = m(), c = o.toByteArray(), l = 0; l < c.length; l += 1) {\n s.writeByte(c[l]);\n }\n\n return s.flush(), \"data:image/gif;base64,\" + s;\n };\n\n return e;\n }();\n\n (function () {\n n.stringToBytesFuncs[\"UTF-8\"] = function (e) {\n function t(e) {\n for (var t = [], n = 0; n < e.length; n++) {\n var r = e.charCodeAt(n);\n r < 128 ? t.push(r) : r < 2048 ? t.push(192 | r >> 6, 128 | r & 63) : r < 55296 || r >= 57344 ? t.push(224 | r >> 12, 128 | r >> 6 & 63, 128 | r & 63) : (n++, r = 65536 + ((r & 1023) << 10 | e.charCodeAt(n) & 1023), t.push(240 | r >> 18, 128 | r >> 12 & 63, 128 | r >> 6 & 63, 128 | r & 63));\n }\n\n return t;\n }\n\n return t(e);\n };\n })(), function (n) {\n true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (n),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined;\n }(function () {\n return n;\n }), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal._qrcode = n);\n }),\n x = s(function (e, t) {\n function n() {\n if (true) try {\n return b();\n } catch (_unused23) {\n return null;\n }\n return (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal._qrcode : null;\n }\n\n function r(e, t) {\n for (var n = 4, r = e + n * 2, i = \"\", a = 0; a < e; a++) {\n for (var o = 0; o < e; o++) {\n t(a, o) && (i += \"M\" + (o + n) + \" \" + (a + n) + \"h1v1h-1z\");\n }\n }\n\n return \"<svg viewBox=\\\"0 0 \" + r + \" \" + r + \"\\\" width=\\\"100%\\\" preserveAspectRatio=\\\"xMidYMid meet\\\" role=\\\"img\\\" class=\\\"tokui-qrcode__svg\\\" shape-rendering=\\\"crispEdges\\\"><rect x=\\\"0\\\" y=\\\"0\\\" width=\\\"\" + r + \"\\\" height=\\\"\" + r + \"\\\" fill=\\\"#ffffff\\\"/><path d=\\\"\" + i + \"\\\" fill=\\\"currentColor\\\"/></svg>\";\n }\n\n function i(e) {\n var t = ( true ? h() : undefined).el;\n e.register(\"qrcode\", function (e) {\n var i = e.attrs.tx || e.content || \"\",\n a = e.attrs.l || e.attrs.tt || \"\",\n o = String(e.attrs.s || e.attrs.size || \"md\").toLowerCase(),\n s = {\n small: \"sm\",\n medium: \"md\",\n large: \"lg\"\n }[o] || o,\n c = String(e.attrs.ec || \"M\").toUpperCase(),\n l = [\"L\", \"M\", \"Q\", \"H\"].indexOf(c) >= 0 ? c : \"M\",\n u = t(\"div\", {\n class: \"tokui-qrcode tokui-qrcode--\" + s\n }),\n d = n();\n if (!d || !i) u.appendChild(t(\"div\", {\n class: \"tokui-qrcode__empty\"\n }, i ? \"\\u4E8C\\u7EF4\\u7801\\u5F15\\u64CE\\u672A\\u5C31\\u7EEA\" : \"\\u2014\"));else try {\n d.stringToBytesFuncs && d.stringToBytesFuncs[\"UTF-8\"] && (d.stringToBytes = d.stringToBytesFuncs[\"UTF-8\"]);\n var f = d(0, l);\n f.addData(i), f.make();\n var p = f.getModuleCount(),\n m = t(\"div\", {\n class: \"tokui-qrcode__box\"\n });\n m.innerHTML = r(p, function (e, t) {\n return f.isDark(e, t);\n }), u.appendChild(m);\n } catch (_unused24) {\n u.appendChild(t(\"div\", {\n class: \"tokui-qrcode__empty\"\n }, \"\\u6570\\u636E\\u8FC7\\u957F\"));\n }\n return a && u.appendChild(t(\"div\", {\n class: \"tokui-qrcode__label\"\n }, a)), u;\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerQrcode = i), t !== void 0 && t.exports && (t.exports = {\n registerQrcode: i\n });\n }),\n S = s(function (e, t) {\n var n = true ? u().t : undefined;\n\n function r(e) {\n if (!e) return null;\n var t = {\n primary: \"var(--tokui-primary)\",\n success: \"var(--tokui-success)\",\n warning: \"var(--tokui-warning)\",\n danger: \"var(--tokui-danger)\",\n info: \"var(--tokui-primary)\",\n dark: \"var(--tokui-dark)\",\n light: \"var(--tokui-light)\"\n };\n return t[e] ? t[e] : /^[0-9a-fA-F]{6}$/.test(e) ? \"#\" + e : null;\n }\n\n var i = {\n js: {\n keywords: /\\b(abstract|arguments|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|finally|for|from|function|if|implements|import|in|instanceof|interface|let|new|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/g,\n types: /\\b(Array|Boolean|Date|Error|Function|Infinity|JSON|Map|Math|NaN|Number|Object|Promise|RegExp|Set|String|Symbol|WeakMap|WeakSet|console|document|window|undefined|null|true|false|parseInt|parseFloat|isNaN|isFinite|require|module|exports|process|Buffer)\\b/g\n },\n javascript: null,\n jsx: null,\n ts: {\n keywords: /\\b(abstract|any|as|async|await|bigint|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|if|implements|import|in|instanceof|interface|keyof|let|module|namespace|new|never|null|number|object|of|package|private|protected|public|readonly|require|return|set|static|string|super|switch|symbol|this|throw|try|type|typeof|undefined|unique|unknown|var|void|while|with|yield)\\b/g,\n types: /\\b(Array|Boolean|Date|Error|Function|Map|Number|Object|Promise|Record|RegExp|Set|String|Symbol|console|Partial|Required|Readonly|Pick|Omit|ReturnType|InstanceType)\\b/g\n },\n typescript: null,\n tsx: null,\n python: {\n keywords: /\\b(and|as|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|raise|return|try|while|with|yield)\\b/g,\n types: /\\b(True|False|None|int|float|str|list|dict|tuple|set|bool|bytes|range|len|print|input|type|isinstance|self|super|map|filter|zip|enumerate|sorted|reversed|any|all|min|max|sum|abs|round|open|iter|next|id|hash|callable|hasattr|getattr|setattr|delattr|property|staticmethod|classmethod)\\b/g\n },\n py: null,\n html: {\n keywords: /\\b(html|head|body|div|span|p|a|img|ul|ol|li|h1|h2|h3|h4|h5|h6|table|tr|td|th|thead|tbody|form|input|button|select|option|textarea|label|section|article|header|footer|nav|main|aside|details|summary|video|audio|source|canvas|svg|iframe|link|meta|script|style|title|br|hr|pre|code|blockquote)\\b/g,\n types: /\\b(class|id|style|href|src|alt|type|name|value|placeholder|action|method|target|rel|width|height|disabled|required|checked|selected|readonly|hidden)\\b/g\n },\n css: {\n keywords: /\\b(align-items|align-self|animation|background|background-color|background-image|border|border-color|border-radius|border-style|border-width|bottom|box-shadow|box-sizing|color|content|cursor|display|filter|flex|flex-direction|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-weight|gap|grid|height|justify-content|left|letter-spacing|line-height|margin|max-height|max-width|min-height|min-width|opacity|order|outline|overflow|padding|position|resize|right|text-align|text-decoration|text-overflow|text-transform|top|transform|transition|user-select|vertical-align|visibility|white-space|width|word-break|z-index)\\b/g,\n types: /\\b(inherit|initial|auto|none|block|inline|inline-block|flex|grid|absolute|relative|fixed|sticky|center|left|right|top|bottom|baseline|stretch|column|row|wrap|nowrap|visible|hidden|scroll|solid|dashed|dotted|transparent|bold|normal|italic|uppercase|lowercase|underline|pointer|default|cover|contain|ease|linear|important|var|calc|rgb|rgba|hsl)\\b/g\n },\n json: {\n keywords: /\\b(true|false|null)\\b/g,\n types: /\\b[A-Za-z_]\\w*(?=\\s*:)/g\n },\n sql: {\n keywords: /\\b(SELECT|FROM|WHERE|INSERT|INTO|VALUES|UPDATE|SET|DELETE|CREATE|TABLE|ALTER|DROP|INDEX|VIEW|JOIN|INNER|LEFT|RIGHT|OUTER|ON|AND|OR|NOT|IN|BETWEEN|LIKE|IS|NULL|AS|ORDER|BY|GROUP|HAVING|LIMIT|UNION|ALL|EXISTS|DISTINCT|COUNT|SUM|AVG|MIN|MAX|CASE|WHEN|THEN|ELSE|END|PRIMARY|KEY|FOREIGN|REFERENCES|DEFAULT|CHECK|UNIQUE|IF|DESC|ASC)\\b/gi,\n types: /\\b(INT|INTEGER|BIGINT|FLOAT|DOUBLE|DECIMAL|VARCHAR|CHAR|TEXT|BLOB|DATE|DATETIME|TIMESTAMP|BOOLEAN|ENUM|JSON|SERIAL)\\b/gi\n },\n java: {\n keywords: /\\b(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while|yield|record|sealed|var)\\b/g,\n types: /\\b(String|Integer|Long|Double|Float|Boolean|Object|Class|Thread|Exception|Error|List|Map|Set|Queue|ArrayList|HashMap|HashSet|TreeMap|TreeSet|Arrays|Collections|Stream|Optional|System|Math|null|true|false)\\b/g\n },\n go: {\n keywords: /\\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go|goto|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/g,\n types: /\\b(bool|byte|error|float32|float64|int|int8|int16|int32|int64|rune|string|uint|uint8|uint16|uint32|uint64|uintptr|true|false|nil|iota|append|cap|close|copy|delete|len|make|new|panic|print|println|recover|fmt|err)\\b/g\n },\n rust: {\n keywords: /\\b(as|async|await|break|const|continue|crate|dyn|else|enum|extern|fn|for|if|impl|in|let|loop|match|mod|move|mut|pub|ref|return|self|Self|static|struct|super|trait|type|unsafe|use|where|while|yield)\\b/g,\n types: /\\b(i8|i16|i32|i64|i128|isize|u8|u16|u32|u64|u128|usize|f32|f64|bool|char|str|String|Vec|Box|Option|Result|Some|None|Ok|Err|true|false|println|format|panic|assert)\\b/g\n },\n bash: {\n keywords: /\\b(if|then|else|elif|fi|case|esac|for|while|until|do|done|in|function|select|return|exit|break|continue|declare|export|local|readonly|unset|source|set|shift|eval|echo|printf|test|true|false|cd|pwd|ls|mkdir|cp|mv|rm|cat|head|tail|grep|sed|awk|find|sort|uniq|wc|cut|xargs|chmod|touch|df|du|ps|kill|nohup|ssh|curl|wget|npm|pip|git|docker)\\b/g,\n types: null\n },\n sh: null,\n shell: null,\n zsh: null\n };\n Object.keys(i).forEach(function (e) {\n if (i[e] === null) {\n var t = {\n javascript: \"js\",\n jsx: \"js\",\n tsx: \"ts\",\n typescript: \"ts\",\n py: \"python\",\n sh: \"bash\",\n shell: \"bash\",\n zsh: \"bash\"\n }[e];\n t && i[t] && (i[e] = i[t]);\n }\n });\n\n function a(e, t) {\n if (!e) return \"\";\n var n = String(e),\n r = i[t];\n if (!r) return n.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n var a = [],\n o = \"\\0PH_\",\n s = \"\\0\",\n c = /\\x00PH_(\\d+)\\x00/g;\n\n function l() {\n return o + String(a.length).padStart(5, \"0\") + s;\n }\n\n function u(e, t) {\n var n = l(),\n r = e.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n return a.push(\"<span class=\\\"tok-\" + t + \"\\\">\" + r + \"</span>\"), n;\n }\n\n function d(e, t) {\n var n = l();\n return a.push(\"<span class=\\\"tok-\" + t + \"\\\">\" + e + \"</span>\"), n;\n }\n\n t === \"json\" && (n = n.replace(/([\"'])(?:(?!\\1|\\\\).|\\\\.)*\\1(?=\\s*:)/g, function (e) {\n return u(e, \"type\");\n })), n = n.replace(/([\"'])(?:(?!\\1|\\\\).|\\\\.)*\\1/g, function (e) {\n return u(e, \"str\");\n }), n = n.replace(/`(?:[^`\\\\]|\\\\.)*`/g, function (e) {\n return u(e, \"str\");\n }), n = n.replace(/\\/\\/.*$/gm, function (e) {\n return u(e, \"cmt\");\n }), t === \"sql\" && (n = n.replace(/--.*$/gm, function (e) {\n return u(e, \"cmt\");\n })), t !== \"css\" && t !== \"html\" && (n = n.replace(/#.*$/gm, function (e) {\n return u(e, \"cmt\");\n })), n = n.replace(/\\/\\*[\\s\\S]*?\\*\\//g, function (e) {\n return e.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").split(\"\\n\").map(function (e) {\n var t = l();\n return a.push(\"<span class=\\\"tok-cmt\\\">\" + e + \"</span>\"), t;\n }).join(\"\\n\");\n });\n var f = n.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n return f = f.replace(/\\b(\\d+\\.?\\d*(?:e[+-]?\\d+)?)\\b/gi, function (e) {\n return d(e, \"num\");\n }), r.keywords && (f = f.replace(r.keywords, function (e) {\n return d(e, \"kw\");\n })), r.types && (f = f.replace(r.types, function (e) {\n return d(e, \"type\");\n })), f = f.replace(/\\b([a-zA-Z_]\\w*)\\s*(?=\\()/g, function (e) {\n return d(e, \"fn\");\n }), f = f.replace(/(&amp;&amp;|\\|\\||===|!==|=&gt;|\\.\\.\\.|\\+\\+|--|[+\\-*/%=!|^~?:]+)/g, function (e) {\n return d(e, \"op\");\n }), f = f.replace(c, function (e, t) {\n return a[parseInt(t)];\n }), f;\n }\n\n function o(e) {\n var _ref3 = true ? h() : undefined,\n t = _ref3.el;\n\n [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].forEach(function (n) {\n e.register(n, function (e) {\n var i = t(n, {\n class: \"tokui-\".concat(n)\n }, e.content || e.attrs && e.attrs.tx),\n a = r(e.attrs.bg),\n o = r(e.attrs.fc),\n s = e.attrs.v || \"\";\n return a && (s.includes(\"underline\") ? i.style.setProperty(\"--tokui-title-bg\", a) : i.style.background = a), o && (i.style.color = o), i;\n });\n }), e.register(\"p\", function (e, n) {\n var r = {\n class: \"tokui-p\"\n };\n e.attrs && e.attrs.id && (r.id = e.attrs.id);\n var i = t(\"p\", r),\n a = e.content || e.attrs && e.attrs.tx;\n return a && i.appendChild(document.createTextNode(a)), e.children && e.children.length && n(e.children).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i;\n }), e.register(\"a\", function (e) {\n var n = e.attrs.dis !== void 0,\n r = e.attrs.u || \"#\";\n /^(https?:\\/\\/|mailto:|\\/|#|tel:)/i.test(r) || (r = \"#\");\n var i = {\n class: \"tokui-link\" + (n ? \" tokui-a--disabled\" : \"\"),\n href: n ? \"javascript:void(0)\" : r,\n target: e.attrs.target || \"_blank\",\n rel: \"noopener noreferrer\"\n };\n e.attrs.tt && (i.title = e.attrs.tt), n && (i.tabindex = \"-1\", i[\"aria-disabled\"] = \"true\");\n var a = t(\"a\", i);\n return a.textContent = e.attrs.tx || e.content || \"\", a;\n }), e.register(\"img\", function (e) {\n var n = {\n class: \"tokui-img\"\n };\n e.attrs.s && (n.src = e.attrs.s), n.alt = e.attrs.alt || \"\", e.attrs.w && (n.width = e.attrs.w), e.attrs.h && (n.height = e.attrs.h), e.attrs.tt && (n.title = e.attrs.tt);\n var r = t(\"img\", n);\n return r.style.cursor = \"pointer\", r.addEventListener(\"click\", function () {\n var _ref4 = true ? g() : undefined,\n e = _ref4.getLightbox;\n\n e((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : void 0).open(n.src);\n }), r;\n }), e.register(\"hr\", function () {\n return t(\"hr\", {\n class: \"tokui-hr\"\n });\n });\n var o = {\n b: \"strong\",\n strong: \"strong\",\n em: \"em\",\n i_text: \"em\",\n mark: \"mark\",\n del: \"del\",\n sub: \"sub\",\n sup: \"sup\"\n };\n Object.keys(o).forEach(function (n) {\n n !== \"i_text\" && e.register(n, function (e, r) {\n var i = o[n],\n a = t(i, {\n class: \"tokui-\" + n\n }),\n s = e.content || e.attrs && e.attrs.tx || \"\";\n return s && (a.textContent = s), e.children && e.children.length && typeof r == \"function\" && r(e.children).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), a;\n });\n }), e.register(\"tag\", function (e) {\n var n = e.attrs || {},\n i = n.tx || e.content || \"\",\n a = [\"tokui-tag\"],\n o = n.t || \"\";\n o && o !== \"default\" && a.push(\"tokui-tag--\" + o);\n var s = n.s || \"\";\n s && s !== \"medium\" && a.push(\"tokui-tag--\" + s), n.round !== void 0 && a.push(\"tokui-tag--round\"), n.bordered !== void 0 && a.push(\"tokui-tag--bordered\"), n.dis !== void 0 && a.push(\"tokui-tag--disabled\");\n var c = t(\"span\", {\n class: a.join(\" \")\n }),\n l = r(n.bg),\n u = r(n.fc);\n l && (c.style.background = l), u && (c.style.color = u);\n var d = t(\"span\", {\n class: \"tokui-tag__content\"\n });\n\n if (d.textContent = i, c.appendChild(d), n.closable !== void 0) {\n a.push(\"tokui-tag--closable\"), c.className = a.join(\" \");\n\n var _e40 = t(\"span\", {\n class: \"tokui-tag__close\"\n });\n\n _e40.textContent = \"\\xD7\", _e40.addEventListener(\"click\", function () {\n c.style.display = \"none\";\n }), c.appendChild(_e40);\n }\n\n return c._update = function (e) {\n if (e.tx !== void 0) {\n var t = c.querySelector(\".tokui-tag__content\");\n t && (t.textContent = e.tx);\n }\n\n e.act === \"close\" && (c.style.transition = \"opacity 0.25s, transform 0.25s\", c.style.opacity = \"0\", c.style.transform = \"scale(0.8)\", setTimeout(function () {\n c.style.display = \"none\";\n }, 260));\n }, c;\n }), e.register(\"toggle\", function (e) {\n var n = e.attrs || {},\n r = n.tx || e.content || \"\",\n i = n.chk === !0,\n a = n.s || \"\",\n o = n.dis !== void 0,\n s = [\"tokui-toggle\"];\n i && s.push(\"tokui-toggle--pressed\"), a === \"sm\" ? s.push(\"tokui-toggle--sm\") : a === \"lg\" && s.push(\"tokui-toggle--lg\"), o && s.push(\"tokui-toggle--disabled\");\n var c = {\n class: s.join(\" \"),\n type: \"button\",\n role: \"switch\",\n \"aria-pressed\": String(i)\n };\n o && (c[\"aria-disabled\"] = \"true\"), n.clk && (c[\"data-tokui-clk\"] = n.clk);\n var l = t(\"button\", c);\n return l.textContent = r, l.addEventListener(\"click\", function (e) {\n if (o) return;\n var t = l.closest(\".tokui-toggle-group\");\n if (t && !t.classList.contains(\"tokui-toggle-group--multi\")) return;\n var n = l.getAttribute(\"aria-pressed\") !== \"true\";\n l.setAttribute(\"aria-pressed\", String(n)), l.classList.toggle(\"tokui-toggle--pressed\", n);\n }), o && (l.disabled = !0), l._update = function (e) {\n e.chk === !0 || e.chk === \"true\" ? (l.setAttribute(\"aria-pressed\", \"true\"), l.classList.add(\"tokui-toggle--pressed\")) : (e.chk === !1 || e.chk === \"false\") && (l.setAttribute(\"aria-pressed\", \"false\"), l.classList.remove(\"tokui-toggle--pressed\")), e.dis === !0 || e.dis === \"true\" ? (l.disabled = !0, l.classList.add(\"tokui-toggle--disabled\"), l.setAttribute(\"aria-disabled\", \"true\")) : (e.dis === !1 || e.dis === \"false\") && (l.disabled = !1, l.classList.remove(\"tokui-toggle--disabled\"), l.removeAttribute(\"aria-disabled\"));\n }, l;\n }), e.register(\"toggle-group\", function (e, n) {\n var r = e.attrs || {},\n i = r.multi === !0,\n a = r.s || \"\",\n o = [\"tokui-toggle-group\"];\n i && o.push(\"tokui-toggle-group--multi\"), a === \"sm\" ? o.push(\"tokui-toggle-group--sm\") : a === \"lg\" && o.push(\"tokui-toggle-group--lg\");\n var s = {\n class: o.join(\" \"),\n role: \"group\"\n };\n r.clk && (s[\"data-tokui-clk\"] = r.clk);\n var c = t(\"div\", s);\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && c.appendChild(e);\n }), i || c.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-toggle\");\n if (!t || t.disabled || t.getAttribute(\"aria-disabled\") === \"true\") return;\n var n = t.getAttribute(\"aria-pressed\") === \"true\";\n c.querySelectorAll(\".tokui-toggle\").forEach(function (e) {\n e.setAttribute(\"aria-pressed\", \"false\"), e.classList.remove(\"tokui-toggle--pressed\");\n }), n || (t.setAttribute(\"aria-pressed\", \"true\"), t.classList.add(\"tokui-toggle--pressed\"));\n }), c._slot = c, c._tokuiType = \"toggle-group\", c;\n }), e.register(\"dv\", function (e) {\n var n = e.attrs || {},\n i = n.tx || e.content || \"\",\n a = n.vert !== void 0,\n o = a ? \"span\" : \"div\",\n s = [\"tokui-dv\"];\n if (n.v && s.push(\"tokui-dv--\" + n.v), n.size && s.push(\"tokui-dv--\" + n.size), a && s.push(\"tokui-dv--vert\"), n.plain !== void 0 && s.push(\"tokui-dv--plain\"), a) return t(o, {\n class: s.join(\" \")\n });\n\n if (i) {\n s.push(\"tokui-dv--text\");\n\n var _e41 = n.align || \"center\";\n\n _e41 !== \"center\" && s.push(\"tokui-dv--\" + _e41);\n\n var _a8 = t(o, {\n class: s.join(\" \")\n }),\n _c2 = {},\n _l5 = r(n.bg);\n\n _l5 && (_c2.borderColor = _l5), n.th && (_c2.borderWidth = n.th), Object.keys(_c2).length && (_c2.borderColor && (_a8.style.borderColor = _c2.borderColor), _c2.borderWidth && (_a8.style.borderWidth = _c2.borderWidth));\n\n var _u = t(\"span\", {\n class: \"tokui-dv-text\"\n });\n\n return _u.textContent = i, _a8.appendChild(_u), _a8;\n }\n\n var c = t(o, {\n class: s.join(\" \")\n }),\n l = {},\n u = r(n.bg);\n return u && (l.borderColor = u), n.th && (l.borderWidth = n.th), Object.keys(l).length && (l.borderColor && (c.style.borderColor = l.borderColor), l.borderWidth && (c.style.borderWidth = l.borderWidth)), c;\n }), e.register(\"progress\", function (e) {\n var n = e.attrs || {},\n r = Math.min(100, Math.max(0, parseInt(n.v) || 0)),\n i = n.l || \"\",\n a = n.t || \"line\",\n o = n.s || \"\",\n s = n.status || \"\",\n c = n.stripe !== void 0,\n l = \"\";\n s === \"success\" ? l = \" tokui-progress--success\" : s === \"error\" && (l = \" tokui-progress--error\");\n var u = \"\";\n o === \"sm\" || o === \"small\" ? u = \" tokui-progress--sm\" : (o === \"lg\" || o === \"large\") && (u = \" tokui-progress--lg\");\n var d;\n\n if (a === \"circle\") {\n var _e42 = 2 * Math.PI * 42,\n _a9 = _e42 * (1 - r / 100),\n _o6 = {\n class: \"tokui-progress tokui-progress--circle\" + l + u\n };\n\n n.id && (_o6.id = n.id);\n\n var _s4 = t(\"div\", _o6),\n _c3 = t(\"div\", {\n class: \"tokui-progress__circle-wrap\"\n });\n\n if (_c3.innerHTML = \"<svg viewBox=\\\"0 0 100 100\\\" class=\\\"tokui-progress__svg\\\"><circle class=\\\"tokui-progress__circle-bg\\\" cx=\\\"50\\\" cy=\\\"50\\\" r=\\\"42\\\" fill=\\\"none\\\" stroke-width=\\\"6\\\"/><circle class=\\\"tokui-progress__circle-bar\\\" cx=\\\"50\\\" cy=\\\"50\\\" r=\\\"42\\\" fill=\\\"none\\\" stroke-width=\\\"6\\\" stroke-dasharray=\\\"\" + _e42.toFixed(1) + \"\\\" stroke-dashoffset=\\\"\" + _a9.toFixed(1) + \"\\\" stroke-linecap=\\\"round\\\" transform=\\\"rotate(-90 50 50)\\\"/><text class=\\\"tokui-progress__circle-text\\\" x=\\\"50\\\" y=\\\"50\\\" text-anchor=\\\"middle\\\" dominant-baseline=\\\"central\\\">\" + r + \"%</text></svg>\", _s4.appendChild(_c3), i) {\n var _e43 = t(\"div\", {\n class: \"tokui-progress__label tokui-progress__label--center\"\n });\n\n _e43.textContent = i, _s4.appendChild(_e43);\n }\n\n d = _s4;\n } else if (a === \"span\") {\n var _e44 = {\n class: \"tokui-progress tokui-progress--span\" + l\n };\n n.id && (_e44.id = n.id);\n\n var _i8 = t(\"span\", _e44),\n _a10 = t(\"span\", {\n class: \"tokui-progress__mini-bar\"\n }),\n _o7 = t(\"span\", {\n class: \"tokui-progress__mini-fill\"\n });\n\n _o7.style.width = r + \"%\", _a10.appendChild(_o7), _i8.appendChild(_a10);\n\n var _s5 = t(\"span\", {\n class: \"tokui-progress__span-text\"\n });\n\n _s5.textContent = r + \"%\", _i8.appendChild(_s5), d = _i8;\n } else {\n var _e45 = {\n class: \"tokui-progress tokui-progress--line\" + l + u + (c ? \" tokui-progress--stripe\" : \"\")\n };\n n.id && (_e45.id = n.id);\n\n var _a11 = t(\"div\", _e45);\n\n if (i) {\n var _e46 = t(\"div\", {\n class: \"tokui-progress__header\"\n }),\n _n19 = t(\"span\", {\n class: \"tokui-progress__label\"\n });\n\n _n19.textContent = i, _e46.appendChild(_n19);\n\n var _o9 = t(\"span\", {\n class: \"tokui-progress__pct\"\n });\n\n _o9.textContent = r + \"%\", _e46.appendChild(_o9), _a11.appendChild(_e46);\n }\n\n var _o8 = t(\"div\", {\n class: \"tokui-progress__track\"\n }),\n _s6 = t(\"div\", {\n class: \"tokui-progress__bar\"\n });\n\n _s6.style.width = r + \"%\", _o8.appendChild(_s6), _a11.appendChild(_o8), d = _a11;\n }\n\n return d._tokuiType = \"progress\", d._progressVariant = a, d._progressCircumference = 2 * Math.PI * 42, d.setAttribute(\"role\", \"progressbar\"), d.setAttribute(\"aria-valuenow\", String(r)), d.setAttribute(\"aria-valuemin\", \"0\"), d.setAttribute(\"aria-valuemax\", \"100\"), d._update = function (e) {\n if (e.v !== void 0) {\n var t = Math.min(100, Math.max(0, parseInt(e.v) || 0));\n\n if (d.setAttribute(\"aria-valuenow\", String(t)), d._progressVariant === \"circle\") {\n var n = d._progressCircumference * (1 - t / 100),\n r = d.querySelector(\".tokui-progress__circle-bar\"),\n i = d.querySelector(\".tokui-progress__circle-text\");\n r && r.setAttribute(\"stroke-dashoffset\", n.toFixed(1)), i && (i.textContent = t + \"%\");\n } else if (d._progressVariant === \"span\") {\n var a = d.querySelector(\".tokui-progress__mini-fill\"),\n o = d.querySelector(\".tokui-progress__span-text\");\n a && (a.style.width = t + \"%\"), o && (o.textContent = t + \"%\");\n } else {\n var s = d.querySelector(\".tokui-progress__bar\"),\n c = d.querySelector(\".tokui-progress__pct\");\n s && (s.style.width = t + \"%\"), c && (c.textContent = t + \"%\");\n }\n }\n\n e.status !== void 0 && (d.classList.remove(\"tokui-progress--success\", \"tokui-progress--error\"), e.status === \"success\" ? d.classList.add(\"tokui-progress--success\") : e.status === \"error\" && d.classList.add(\"tokui-progress--error\"));\n }, d;\n }), e.register(\"upd\", function (e) {\n var t = e.attrs || {},\n n = t.id;\n\n if (n && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\") {\n for (var r = document.getElementById(n); r && typeof r._update != \"function\";) {\n r = r.parentElement;\n }\n\n r && typeof r._update == \"function\" && r._update(t);\n }\n\n return document.createTextNode(\"\");\n }), e.register(\"md\", function (e) {\n var n = t(\"div\", {\n class: \"tokui-md\"\n }),\n r = \"\";\n return r = e.children && e.children.length > 0 ? e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\") : e.content || \"\", r && (n.innerHTML = f(r), d(n)), n._streamCloseHook = function () {\n var e = \"\";\n\n for (var _i9 = 0, _Array$from = Array.from(n.childNodes); _i9 < _Array$from.length; _i9++) {\n var _t25 = _Array$from[_i9];\n _t25.nodeType === 3 && (e += _t25.textContent);\n }\n\n e && (n.innerHTML = f(e), d(n));\n }, n._tokuiType = \"md\", n;\n });\n\n function u(e) {\n return String(e).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n }\n\n function p(e) {\n return e.split(\"\\n\").map(function (e) {\n return \"<span class=\\\"code-line\\\">\" + (e || \" \") + \"</span>\";\n }).join(\"\");\n }\n\n e.register(\"code\", function (e) {\n var r = t(\"pre\", {\n class: \"tokui-code\"\n }),\n o = e.attrs.lang || \"text\",\n s = t(\"code\", {\n class: \"language-\".concat(o)\n });\n var c = \"\";\n c = e.children && e.children.length > 0 ? e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\") : e.content || \"\";\n\n function l() {\n o !== \"text\" && i[o] ? s.innerHTML = p(a(c, o)) : s.innerHTML = p(u(c));\n }\n\n l(), r.appendChild(s), r._slot = s, r._tokuiType = \"code\";\n var d = t(\"button\", {\n class: \"tokui-code__copy\",\n type: \"button\"\n });\n return d.textContent = n(\"common.copy\"), d.addEventListener(\"click\", function () {\n c && navigator.clipboard && navigator.clipboard.writeText(c), d.textContent = n(\"common.copied\"), d.classList.add(\"tokui-code__copy--done\"), setTimeout(function () {\n d.textContent = n(\"common.copy\"), d.classList.remove(\"tokui-code__copy--done\");\n }, 2e3);\n }), r.appendChild(d), r._streamAppendHook = function (e) {\n e && e.type === \"_text\" && e.content && (c += e.content, l());\n }, r._streamCloseHook = l, r;\n }), e.register(\"callout\", function (e, n) {\n var r = e.attrs || {},\n i = r.t || \"info\",\n a = r.tt || \"\",\n o = {\n info: \"\\u2139\",\n success: \"\\u2713\",\n warning: \"\\u26A0\",\n error: \"\\u2715\",\n tip: \"\\uD83D\\uDCA1\"\n },\n s = t(\"div\", {\n class: \"tokui-callout tokui-callout--\" + i,\n role: \"alert\"\n }),\n c = t(\"span\", {\n class: \"tokui-callout__icon\",\n \"aria-hidden\": \"true\"\n });\n c.textContent = o[i] || o.info, s.appendChild(c);\n var l = t(\"div\", {\n class: \"tokui-callout__body\"\n });\n\n if (a) {\n var u = t(\"div\", {\n class: \"tokui-callout__title\"\n });\n u.textContent = a, l.appendChild(u);\n }\n\n var d = t(\"div\", {\n class: \"tokui-callout__content\"\n }),\n f = e.children && e.children.length,\n p = r.tx || e.content || \"\";\n return f ? n(e.children).forEach(function (e) {\n e && e.nodeType && d.appendChild(e);\n }) : p && (d.textContent = p), l.appendChild(d), s.appendChild(l), s._slot = d, s;\n }), e.register(\"think\", function (e, r) {\n var i = e.attrs || {},\n a = i.tt || n(\"think.title\"),\n o = t(\"details\", {\n class: \"tokui-think\"\n });\n i.open !== void 0 && o.setAttribute(\"open\", \"\");\n var s = t(\"summary\", {\n class: \"tokui-think__summary\"\n }),\n c = t(\"span\", {\n class: \"tokui-think__icon\"\n });\n c.textContent = \"\\uD83D\\uDCAD\", s.appendChild(c);\n var l = t(\"span\", {\n class: \"tokui-think__title\"\n });\n l.textContent = a, s.appendChild(l), o.appendChild(s);\n var u = t(\"div\", {\n class: \"tokui-think__body\"\n });\n return e.content && (u.textContent = e.content), r(e.children || []).forEach(function (e) {\n e && e.nodeType && u.appendChild(e);\n }), o.appendChild(u), o._slot = u, o._tokuiType = \"think\", o;\n }), e.register(\"think-chain\", function (e, r) {\n var i = e.attrs || {},\n a = i.tt || n(\"thinkChain.title\"),\n o = i.status || \"\",\n s = [\"tokui-think-chain\"];\n o && s.push(\"tokui-think-chain--\" + o);\n var c = t(\"details\", {\n class: s.join(\" \")\n });\n i.open !== void 0 && c.setAttribute(\"open\", \"\");\n var l = t(\"summary\", {\n class: \"tokui-think-chain__summary\"\n }),\n u = t(\"span\", {\n class: \"tokui-think-chain__icon\"\n });\n u.textContent = \"\\uD83E\\uDDE0\", l.appendChild(u);\n var d = t(\"span\", {\n class: \"tokui-think-chain__title\"\n });\n d.textContent = a, l.appendChild(d), c.appendChild(l);\n var f = t(\"div\", {\n class: \"tokui-think-chain__steps\"\n });\n return r(e.children || []).forEach(function (e) {\n e && e.nodeType && f.appendChild(e);\n }), c.appendChild(f), c._slot = f, c._tokuiType = \"think-chain\", c;\n }), e.register(\"think-step\", function (e, n) {\n var r = e.attrs || {},\n i = r.status || \"pending\",\n a = r.tt || \"\",\n o = r.dur || \"\",\n s = t(\"div\", {\n class: [\"tokui-think-step\", \"tokui-think-step--\" + i].join(\" \")\n }),\n c = t(\"div\", {\n class: \"tokui-think-step__header\"\n });\n\n if (i === \"done\") {\n var l = t(\"span\", {\n class: \"tokui-think-step__icon\"\n });\n l.textContent = \"\\u2713\", c.appendChild(l);\n } else if (i === \"running\") {\n var u = t(\"span\", {\n class: \"tokui-think-step__spinner\"\n });\n c.appendChild(u);\n } else if (i === \"error\") {\n var d = t(\"span\", {\n class: \"tokui-think-step__icon tokui-think-step__icon--error\"\n });\n d.textContent = \"\\u2717\", c.appendChild(d);\n } else {\n var f = t(\"span\", {\n class: \"tokui-think-step__dot\"\n });\n c.appendChild(f);\n }\n\n if (a) {\n var p = t(\"span\", {\n class: \"tokui-think-step__title\"\n });\n p.textContent = a, c.appendChild(p);\n }\n\n if (o) {\n var m = t(\"span\", {\n class: \"tokui-think-step__dur\"\n });\n m.textContent = o, c.appendChild(m);\n }\n\n s.appendChild(c);\n var h = t(\"div\", {\n class: \"tokui-think-step__body\"\n });\n e.content && (h.textContent = e.content), n(e.children || []).forEach(function (e) {\n e && e.nodeType && h.appendChild(e);\n }), s.appendChild(h);\n var g = t(\"div\", {\n class: \"tokui-think-step__line\"\n });\n return s.appendChild(g), s._slot = h, s._tokuiType = \"think-step\", s;\n }), e.register(\"copy\", function (e) {\n var r = e.attrs || {},\n i = r.tx || n(\"common.copy\"),\n a = r.tt || n(\"common.copied\"),\n o = t(\"button\", {\n class: \"tokui-copy\",\n type: \"button\"\n });\n return o.textContent = i, o.addEventListener(\"click\", function () {\n var e = \"\";\n\n if (r.id && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\") {\n var t = document.getElementById(r.id);\n t && (e = t.textContent || \"\");\n }\n\n navigator.clipboard && e && navigator.clipboard.writeText(e), o.textContent = a, o.classList.add(\"tokui-copy--done\"), setTimeout(function () {\n o.textContent = i, o.classList.remove(\"tokui-copy--done\");\n }, 2e3);\n }), o;\n }), e.register(\"spin\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"spinner\",\n i = n.s || \"\",\n a = n.tx || \"\",\n o = [\"tokui-spin\", \"tokui-spin--\" + r];\n i === \"sm\" || i === \"small\" ? o.push(\"tokui-spin--sm\") : (i === \"lg\" || i === \"large\") && o.push(\"tokui-spin--lg\");\n var s = t(\"div\", {\n class: o.join(\" \")\n });\n\n if (r === \"dots\") {\n var c = t(\"span\", {\n class: \"tokui-spin__dots\"\n });\n c.appendChild(t(\"span\", {\n class: \"tokui-spin__dot\"\n })), c.appendChild(t(\"span\", {\n class: \"tokui-spin__dot\"\n })), c.appendChild(t(\"span\", {\n class: \"tokui-spin__dot\"\n })), s.appendChild(c);\n } else r === \"pulse\" ? s.appendChild(t(\"span\", {\n class: \"tokui-spin__pulse\"\n })) : s.appendChild(t(\"span\", {\n class: \"tokui-spin__spinner\"\n }));\n\n if (a) {\n var l = t(\"span\", {\n class: \"tokui-spin__text\"\n });\n l.textContent = a, s.appendChild(l);\n }\n\n return s;\n }), e.register(\"thumb\", function (e) {\n var r = e.attrs || {},\n i = r.t || \"up\",\n a = r.v === \"active\",\n o = r.s || \"\",\n s = \"\";\n o === \"sm\" || o === \"small\" ? s = \" tokui-thumb--sm\" : (o === \"lg\" || o === \"large\") && (s = \" tokui-thumb--lg\");\n var c = t(\"button\", {\n class: \"tokui-thumb tokui-thumb--\" + i + (a ? \" tokui-thumb--active\" : \"\") + s,\n type: \"button\",\n \"aria-label\": n(i === \"up\" ? \"like.up\" : \"like.down\")\n }),\n l = o === \"lg\" || o === \"large\" ? 22 : o === \"sm\" || o === \"small\" ? 14 : 18,\n u = i === \"up\" ? \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"\" + l + \"\\\" height=\\\"\" + l + \"\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\\\"/></svg>\" : \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"\" + l + \"\\\" height=\\\"\" + l + \"\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\\\"/></svg>\",\n d = t(\"span\", {\n class: \"tokui-thumb__icon\"\n });\n return d.innerHTML = u, c.appendChild(d), c.addEventListener(\"click\", function () {\n if (c.classList.toggle(\"tokui-thumb--active\"), r.clk) {\n var e = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n e && typeof e.emit == \"function\" && e.emit(r.clk, {\n direction: i,\n active: c.classList.contains(\"tokui-thumb--active\")\n });\n }\n }), r.clk && c.setAttribute(\"data-tokui-clk\", r.clk), c;\n }), e.register(\"file\", function (e) {\n var r = e.attrs || {},\n i = r.n || n(\"file.unnamed\"),\n a = r.s || \"\",\n o = r.t || \"default\",\n s = r.u || \"\",\n c = r.tt || \"\",\n l = {\n pdf: {\n icon: \"PDF\",\n color: \"#f5222d\"\n },\n word: {\n icon: \"W\",\n color: \"#1677ff\"\n },\n excel: {\n icon: \"XLS\",\n color: \"#52c41a\"\n },\n ppt: {\n icon: \"PPT\",\n color: \"#fa8c16\"\n },\n image: {\n icon: \"IMG\",\n color: \"#eb2f96\"\n },\n zip: {\n icon: \"ZIP\",\n color: \"#722ed1\"\n },\n code: {\n icon: \"</>\",\n color: \"#13c2c2\"\n },\n default: {\n icon: \"FILE\",\n color: \"#8c8c8c\"\n }\n },\n u = l[o] || l.default,\n d = t(\"div\", {\n class: \"tokui-file\"\n }),\n f = t(\"div\", {\n class: \"tokui-file__icon\"\n });\n f.style.background = u.color, f.textContent = u.icon, d.appendChild(f);\n var p = t(\"div\", {\n class: \"tokui-file__info\"\n }),\n m = t(\"div\", {\n class: \"tokui-file__name\"\n });\n\n if (m.textContent = i, s && (m.style.cursor = \"pointer\", m.style.color = \"var(--tokui-primary)\", m.addEventListener(\"click\", function () {\n window.open(s, \"_blank\");\n })), p.appendChild(m), c || a) {\n var h = t(\"div\", {\n class: \"tokui-file__meta\"\n });\n h.textContent = [c, a].filter(Boolean).join(\" \\xB7 \"), p.appendChild(h);\n }\n\n if (d.appendChild(p), s) {\n var g = t(\"a\", {\n class: \"tokui-file__download\",\n href: s,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n download: \"\"\n });\n g.textContent = \"\\u2193\", d.appendChild(g);\n }\n\n return d;\n }), e.register(\"bubble\", function (e, n) {\n var r = e.attrs || {},\n i = r.role || \"ai\",\n a = r.model || \"\",\n o = r.time || \"\",\n s = t(\"div\", {\n class: \"tokui-bubble tokui-bubble--\" + i\n }),\n c = t(\"div\", {\n class: \"tokui-bubble__row\"\n }),\n l = t(\"span\", {\n class: \"tokui-bubble__avatar\"\n });\n l.textContent = i === \"user\" ? \"You\" : \"AI\", c.appendChild(l);\n var u = t(\"div\", {\n class: \"tokui-bubble__content\"\n }),\n d = t(\"div\", {\n class: \"tokui-bubble__header\"\n }),\n f = t(\"span\", {});\n\n if (f.textContent = i === \"user\" ? \"You\" : i === \"system\" ? \"System\" : \"Assistant\", d.appendChild(f), a) {\n var p = t(\"span\", {\n class: \"tokui-badge tokui-badge--info tokui-badge--pill\"\n });\n p.textContent = a, d.appendChild(p);\n }\n\n u.appendChild(d);\n var m = t(\"div\", {\n class: \"tokui-bubble__body\"\n });\n\n if (n(e.children || []).forEach(function (e) {\n e && e.nodeType && m.appendChild(e);\n }), u.appendChild(m), o) {\n var h = t(\"div\", {\n class: \"tokui-bubble__time\"\n });\n h.textContent = o, u.appendChild(h);\n }\n\n return c.appendChild(u), s.appendChild(c), m._slot = m, m._tokuiType = \"bubble\", s._slot = m, s._tokuiType = \"bubble\", s;\n }), e.register(\"toolbar\", function (e, n) {\n var r = e.attrs || {},\n i = r.pos || \"bottom\",\n a = r.align || \"right\",\n o = t(\"div\", {\n class: \"tokui-toolbar tokui-toolbar--\" + i + \" tokui-toolbar--\" + a\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), o._slot = o, o._tokuiType = \"toolbar\", o;\n }), e.register(\"badge\", function (e) {\n var n = e.attrs || {},\n r = n.t || n.status || \"default\",\n i = n.tx || e.content || \"\",\n a = n.count || \"\",\n o = parseInt(n.overflow, 10) || 99,\n s = n.size || \"\",\n c = n.title || \"\",\n l = [\"tokui-badge\", \"tokui-badge--\" + r];\n\n if (n.pill && l.push(\"tokui-badge--pill\"), s && l.push(\"tokui-badge--\" + s), n.dot) {\n var u = t(\"span\", {\n class: \"tokui-badge tokui-badge--dot\" + (s ? \" tokui-badge--\" + s : \"\")\n });\n return c && u.setAttribute(\"title\", c), u;\n }\n\n var d = t(\"span\", {\n class: l.join(\" \")\n });\n\n if (c && d.setAttribute(\"title\", c), a !== \"\" && !i) {\n var f = parseInt(a, 10);\n (isNaN(f) || f < 0) && (f = 0);\n var p = f > o ? o + \"+\" : String(f),\n m = t(\"span\", {\n class: \"tokui-badge__count\"\n });\n return m.textContent = p, d.appendChild(m), d._update = function (e) {\n if (e.tx !== void 0 && (m.textContent = e.tx), e.count !== void 0) {\n var t = parseInt(e.count, 10);\n (isNaN(t) || t < 0) && (t = 0);\n var n = parseInt(e.overflow, 10) || o;\n m.textContent = t > n ? n + \"+\" : String(t);\n }\n\n e.act === \"hide\" && (d.style.display = \"none\");\n }, d;\n }\n\n var h = t(\"span\", {\n class: \"tokui-badge__text\"\n });\n return h.textContent = i, d.appendChild(h), d._update = function (e) {\n e.tx !== void 0 && (h.textContent = e.tx), e.act === \"hide\" && (d.style.display = \"none\");\n }, d;\n }), e.register(\"badge-box\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"span\", {\n class: \"tokui-badge-box\"\n });\n e.children && e.children.length && n(e.children).forEach(function (e) {\n e && i.appendChild(e);\n });\n var a = r.t || r.status || \"error\",\n o = a === \"primary\" ? \"var(--tokui-primary)\" : a === \"success\" ? \"var(--tokui-success)\" : a === \"warning\" ? \"var(--tokui-warning)\" : a === \"info\" ? \"var(--tokui-info)\" : \"var(--tokui-danger)\",\n s;\n if (r.dot) s = t(\"sup\", {\n class: \"tokui-badge-box__dot\"\n }), s.style.background = o;else if (r.count !== void 0 && r.count !== \"\" && !r.tx) {\n var c = parseInt(r.overflow, 10) || 99,\n l = parseInt(r.count, 10);\n (isNaN(l) || l < 0) && (l = 0);\n var u = l > c ? c + \"+\" : String(l);\n s = t(\"sup\", {\n class: \"tokui-badge-box__count\"\n }), s.textContent = u, s.style.background = o;\n } else (r.tx || r.label) && (s = t(\"sup\", {\n class: \"tokui-badge-box__text\"\n }), s.textContent = r.tx || r.label, a === \"default\" ? (s.style.background = \"var(--tokui-stripe, #f5f5f5)\", s.style.color = \"var(--tokui-text-secondary, #666)\") : s.style.background = o);\n return s && i.appendChild(s), i;\n }), e.register(\"skeleton\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"text\",\n i = parseInt(n.rows, 10) || 3,\n a = n.w || \"\",\n o = n.h || \"\",\n s = t(\"div\", {\n class: [\"tokui-skeleton\", \"tokui-skeleton--\" + r].join(\" \"),\n role: \"status\",\n \"aria-live\": \"polite\"\n });\n if (a && (s.style.width = a), o && (s.style.height = o), r === \"text\") for (var c = 0; c < i; c++) {\n var l = t(\"div\", {\n class: \"tokui-skeleton__row\"\n });\n c === i - 1 && (l.style.width = \"60%\"), s.appendChild(l);\n } else if (r === \"card\") {\n var u = t(\"div\", {\n class: \"tokui-skeleton__circle\"\n });\n s.appendChild(u);\n var d = t(\"div\", {});\n d.style.flex = \"1\", d.style.display = \"flex\", d.style.flexDirection = \"column\", d.style.gap = \"8px\";\n var f = t(\"div\", {\n class: \"tokui-skeleton__row\"\n });\n f.style.width = \"40%\", d.appendChild(f);\n\n for (var p = 0; p < Math.max(1, i - 1); p++) {\n var m = t(\"div\", {\n class: \"tokui-skeleton__row\"\n });\n d.appendChild(m);\n }\n\n s.appendChild(d);\n } else if (r === \"avatar\") {\n var h = t(\"div\", {\n class: \"tokui-skeleton__circle\"\n });\n s.appendChild(h);\n } else if (r === \"image\") {\n var g = t(\"div\", {\n class: \"tokui-skeleton__rect\"\n });\n s.appendChild(g);\n }\n return s;\n }), e.register(\"toast\", function (e) {\n var n = e.attrs || {},\n r = n.id || \"\",\n i = n.t || \"info\",\n a = n.tx || \"\",\n o = parseInt(n.duration, 10) || 2e3,\n s = n.pos || \"top\",\n c = document.querySelector(\".tokui-toast-container\");\n c || (c = t(\"div\", {\n class: \"tokui-toast-container\"\n }), document.body.appendChild(c));\n var l = t(\"div\", {\n class: \"tokui-toast tokui-toast--\" + i + (s === \"bottom\" ? \" tokui-toast--bottom\" : \"\"),\n role: \"alert\",\n \"aria-live\": \"polite\"\n });\n r && l.setAttribute(\"data-toast-id\", r);\n var u = {\n success: \"\\u2713\",\n error: \"\\u2715\",\n warning: \"!\",\n info: \"\\u2139\"\n },\n d = t(\"span\", {\n class: \"tokui-toast__icon\"\n });\n d.textContent = u[i] || u.info, l.appendChild(d);\n var f = t(\"span\");\n return f.textContent = a, l.appendChild(f), l._toastDuration = o, l._toastShown = !1, c.appendChild(l), l.style.display = \"none\", window.TokUI || (window.TokUI = {}), window.TokUI._toastMap || (window.TokUI._toastMap = {}), r && (window.TokUI._toastMap[r] = l), window.TokUI.showToast || (window.TokUI.showToast = function (e, t) {\n var n = (window.TokUI._toastMap || {})[e];\n\n if (n) {\n if (t) {\n var r = n.querySelector(\"span:last-child\");\n r && (r.textContent = t);\n }\n\n n.style.display = \"\", n.classList.remove(\"tokui-toast--hide\"), n._toastShown = !0;\n var i = n._toastDuration || 2e3;\n clearTimeout(n._toastTimer), n._toastTimer = setTimeout(function () {\n n.classList.add(\"tokui-toast--hide\"), setTimeout(function () {\n n.style.display = \"none\", n._toastShown = !1;\n }, 250);\n }, i);\n }\n }), l;\n }), e.register(\"dot\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"default\",\n i = n.tx || \"\",\n a = n.s || \"\",\n o = [\"tokui-dot\", \"tokui-dot--\" + r];\n a === \"sm\" ? o.push(\"tokui-dot--sm\") : a === \"lg\" && o.push(\"tokui-dot--lg\"), n.pulse !== void 0 && o.push(\"tokui-dot--pulse\");\n var s = t(\"span\", {\n class: o.join(\" \")\n }),\n c = t(\"span\", {\n class: \"tokui-dot__circle\"\n });\n\n if (s.appendChild(c), i) {\n var l = t(\"span\", {\n class: \"tokui-dot__text\"\n });\n l.textContent = i, s.appendChild(l);\n }\n\n return s;\n }), e.register(\"avatar\", function (e) {\n var n = e.attrs || {},\n i = n.s || \"\",\n a = n.tx || \"\",\n o = n.size || \"md\",\n s = [\"tokui-avatar\"];\n\n if (i) {\n var c = t(\"img\", {\n class: s.join(\" \"),\n src: i,\n alt: a\n });\n return c.classList.add(\"tokui-avatar--\" + o), c;\n }\n\n s.push(\"tokui-avatar--text\", \"tokui-avatar--\" + o);\n var l = t(\"span\", {\n class: s.join(\" \")\n });\n l.textContent = a.slice(0, 2);\n var u = n.bg;\n\n if (u) {\n var d = r(u);\n d && (l.style.backgroundColor = d);\n } else if (a) {\n for (var f = [\"#1677ff\", \"#52c41a\", \"#faad14\", \"#f5222d\", \"#722ed1\", \"#13c2c2\", \"#eb2f96\", \"#fa8c16\"], p = 0, m = 0; m < a.length; m++) {\n p += a.charCodeAt(m);\n }\n\n l.style.backgroundColor = f[p % f.length];\n }\n\n var h = n.fc;\n\n if (h) {\n var g = r(h);\n g && (l.style.color = g);\n }\n\n return l;\n }), e.register(\"tooltip\", function (e) {\n var n = e.attrs || {},\n r = n.tt || \"\",\n i = n.pos || \"top\",\n a = n.tx || e.content || \"\",\n o = t(\"span\", {\n class: \"tokui-tooltip\",\n tabindex: \"0\",\n role: \"tooltip\"\n });\n o.textContent = a, o.addEventListener(\"mouseenter\", function () {\n if (r) {\n var e = document.createElement(\"div\");\n e.className = \"tokui-tooltip__popup tokui-tooltip__popup--\" + i, e.setAttribute(\"role\", \"tooltip\"), e.textContent = r, document.body.appendChild(e);\n var t = o.getBoundingClientRect(),\n n = e.getBoundingClientRect(),\n a = 8;\n i === \"top\" ? (e.style.left = t.left + t.width / 2 - n.width / 2 + \"px\", e.style.top = t.top - n.height - a + \"px\") : i === \"bottom\" ? (e.style.left = t.left + t.width / 2 - n.width / 2 + \"px\", e.style.top = t.bottom + a + \"px\") : i === \"left\" ? (e.style.left = t.left - n.width - a + \"px\", e.style.top = t.top + t.height / 2 - n.height / 2 + \"px\") : i === \"right\" && (e.style.left = t.right + a + \"px\", e.style.top = t.top + t.height / 2 - n.height / 2 + \"px\");\n var s = e.getBoundingClientRect();\n s.left < 4 && (e.style.left = \"4px\"), s.right > window.innerWidth - 4 && (e.style.left = window.innerWidth - s.width - 4 + \"px\"), s.top < 4 && (e.style.top = t.bottom + a + \"px\"), e.classList.add(\"tokui-tooltip__popup--visible\"), o._tooltipEl = e;\n }\n });\n\n function s() {\n if (o._tooltipEl) {\n o._tooltipEl.classList.remove(\"tokui-tooltip__popup--visible\");\n\n var e = o._tooltipEl;\n setTimeout(function () {\n e.parentNode && e.parentNode.removeChild(e);\n }, 150), o._tooltipEl = null;\n }\n }\n\n return o.addEventListener(\"mouseleave\", s), o.addEventListener(\"blur\", s), o.addEventListener(\"keydown\", function (e) {\n e.key === \"Escape\" && s();\n }), o;\n }), e.register(\"pagination\", function (r) {\n var i = r.attrs || {},\n a = parseInt(i.total, 10) || 1,\n o = i.clk || \"\",\n s = i.s || \"\",\n l = i[\"show-total\"] !== void 0,\n u = i.count || \"\",\n d = parseInt(i.page, 10) || 1,\n f = [\"tokui-pagination\"];\n s === \"sm\" ? f.push(\"tokui-pagination--sm\") : s === \"lg\" && f.push(\"tokui-pagination--lg\");\n var p = t(\"nav\", {\n class: f.join(\" \"),\n role: \"navigation\",\n \"aria-label\": n(\"pagination.aria\")\n });\n\n if (l) {\n var m = t(\"span\", {\n class: \"tokui-pagination__total\"\n });\n m.textContent = u ? n(\"pagination.totalCount\", {\n count: u\n }) : n(\"pagination.totalPages\", {\n total: a\n }), p.appendChild(m);\n }\n\n var h = t(\"div\", {\n class: \"tokui-pagination__pages\"\n });\n p.appendChild(h);\n\n function g(e) {\n h.innerHTML = \"\";\n var n = t(\"button\", {\n class: \"tokui-pagination__btn tokui-pagination__prev\" + (e <= 1 ? \" tokui-pagination__btn--disabled\" : \"\"),\n \"data-page\": String(e - 1),\n disabled: e <= 1\n });\n n.textContent = \"\\u2039\", h.appendChild(n), c(e, a).forEach(function (n) {\n if (n === \"...\") {\n var r = t(\"span\", {\n class: \"tokui-pagination__ellipsis\"\n });\n r.textContent = \"...\", h.appendChild(r);\n } else {\n var i = t(\"button\", {\n class: \"tokui-pagination__item\" + (n === e ? \" tokui-pagination__item--active\" : \"\"),\n \"data-page\": String(n)\n });\n i.textContent = String(n), h.appendChild(i);\n }\n });\n var r = t(\"button\", {\n class: \"tokui-pagination__btn tokui-pagination__next\" + (e >= a ? \" tokui-pagination__btn--disabled\" : \"\"),\n \"data-page\": String(e + 1),\n disabled: e >= a\n });\n r.textContent = \"\\u203A\", h.appendChild(r);\n }\n\n return g(d), p.addEventListener(\"click\", function (t) {\n var n = t.target.closest(\"[data-page]\");\n\n if (!(!n || n.disabled)) {\n var r = parseInt(n.getAttribute(\"data-page\"), 10);\n\n if (!(isNaN(r) || r < 1 || r > a) && (d = r, g(d), o)) {\n var i = e.eventBus && e.eventBus.getHandler(o);\n i && i({\n page: r\n }, t, n);\n }\n }\n }), p;\n }), e.register(\"breadcrumb\", function (n) {\n var r = n.attrs || {},\n i = (r.items || \"\").split(\",\").map(function (e) {\n return e.trim();\n }).filter(Boolean),\n a = r.sep || \"/\",\n o = r.clk || \"\",\n s = r.v && r.v.indexOf(\"arrow\") !== -1,\n c = [\"tokui-breadcrumb\"];\n s && c.push(\"tokui-breadcrumb--arrow\");\n var l = t(\"nav\", {\n class: c.join(\" \"),\n \"aria-label\": \"breadcrumb\"\n });\n return i.forEach(function (n, r) {\n var c = r === i.length - 1,\n u = t(\"span\", {\n class: \"tokui-breadcrumb__item\" + (c ? \" tokui-breadcrumb__item--active\" : \"\"),\n \"data-index\": String(r)\n });\n\n if (u.textContent = n, o && !c && (u.style.cursor = \"pointer\", u.addEventListener(\"click\", function (t) {\n var i = e.eventBus && e.eventBus.getHandler(o);\n i && i({\n index: r,\n text: n\n }, t, u);\n })), l.appendChild(u), !c) {\n var d = t(\"span\", {\n class: \"tokui-breadcrumb__sep\"\n });\n d.textContent = s ? \"\\u203A\" : a, l.appendChild(d);\n }\n }), l;\n }), e.register(\"dropdown\", function (e, r) {\n var i = e.attrs || {},\n a = i.tt || i.tx || n(\"menu.defaultTrigger\"),\n o = i.v || \"\",\n s = t(\"div\", {\n class: \"tokui-dropdown\"\n }),\n c = \"tokui-dropdown__trigger\";\n o && (c += \" tokui-dropdown__trigger--\" + o);\n var u = t(\"button\", {\n class: c\n });\n u.textContent = a, u.setAttribute(\"aria-haspopup\", \"true\"), u.setAttribute(\"aria-expanded\", \"false\"), s.appendChild(u);\n var d = t(\"div\", {\n class: \"tokui-dropdown__panel\"\n });\n return d.setAttribute(\"role\", \"menu\"), (e.children || []).forEach(function (e) {\n r([e]).forEach(function (e) {\n e && e.nodeType && d.appendChild(e);\n });\n }), s.appendChild(d), u.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n var t = d.classList.contains(\"tokui-dropdown__panel--open\");\n\n if (l(), !t) {\n var n = u.getBoundingClientRect();\n d.style.top = n.bottom + 4 + \"px\", d.style.left = n.left + \"px\", d.classList.add(\"tokui-dropdown__panel--open\"), u.setAttribute(\"aria-expanded\", \"true\");\n }\n }), d.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-dropdown__item\");\n t && !t.classList.contains(\"tokui-dropdown__item--disabled\") && (d.classList.remove(\"tokui-dropdown__panel--open\"), u.setAttribute(\"aria-expanded\", \"false\"));\n }), s._slot = d, s._tokuiType = \"dropdown\", u.addEventListener(\"keydown\", function (e) {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\") {\n e.preventDefault(), d.classList.contains(\"tokui-dropdown__panel--open\") || (l(), d.classList.add(\"tokui-dropdown__panel--open\"), u.setAttribute(\"aria-expanded\", \"true\"));\n var t = d.querySelectorAll(\".tokui-dropdown__item:not(.tokui-dropdown__item--disabled)\");\n t.length > 0 && t[0].focus();\n }\n\n e.key === \"Escape\" && (d.classList.remove(\"tokui-dropdown__panel--open\"), u.setAttribute(\"aria-expanded\", \"false\"));\n }), d.addEventListener(\"keydown\", function (e) {\n var t = Array.from(d.querySelectorAll(\".tokui-dropdown__item:not(.tokui-dropdown__item--disabled)\")),\n n = t.indexOf(e.target);\n e.key === \"ArrowDown\" && n < t.length - 1 && (e.preventDefault(), t[n + 1].focus()), e.key === \"ArrowUp\" && (e.preventDefault(), n > 0 ? t[n - 1].focus() : u.focus()), e.key === \"Escape\" && (d.classList.remove(\"tokui-dropdown__panel--open\"), u.setAttribute(\"aria-expanded\", \"false\"), u.focus());\n }), s;\n }), e.register(\"empty\", function (e) {\n var n = e.attrs || {},\n r = n.tx || \"\",\n i = n.icon || \"default\",\n a = n.s || \"\",\n o = {\n default: \"<svg viewBox=\\\"0 0 64 41\\\" fill=\\\"none\\\"><g transform=\\\"translate(0 1)\\\" fill-rule=\\\"evenodd\\\"><ellipse fill=\\\"var(--tokui-stripe)\\\" cx=\\\"32\\\" cy=\\\"33\\\" rx=\\\"32\\\" ry=\\\"7\\\"/><g fill-rule=\\\"nonzero\\\" stroke=\\\"var(--tokui-border)\\\"><path d=\\\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\\\"/><path d=\\\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\\\" fill=\\\"var(--tokui-stripe)\\\"/></g></g></svg>\",\n box: \"<svg viewBox=\\\"0 0 64 41\\\" fill=\\\"none\\\"><g transform=\\\"translate(0 1)\\\" fill-rule=\\\"evenodd\\\"><ellipse fill=\\\"var(--tokui-stripe)\\\" cx=\\\"32\\\" cy=\\\"33\\\" rx=\\\"32\\\" ry=\\\"7\\\"/><rect x=\\\"13\\\" y=\\\"6\\\" width=\\\"38\\\" height=\\\"24\\\" rx=\\\"3\\\" fill=\\\"var(--tokui-stripe)\\\" stroke=\\\"var(--tokui-border)\\\" stroke-width=\\\"2\\\"/><path d=\\\"M13 14h38\\\" stroke=\\\"var(--tokui-border)\\\" stroke-width=\\\"2\\\"/></g></svg>\",\n folder: \"<svg viewBox=\\\"0 0 64 41\\\" fill=\\\"none\\\"><g transform=\\\"translate(0 1)\\\" fill-rule=\\\"evenodd\\\"><ellipse fill=\\\"var(--tokui-stripe)\\\" cx=\\\"32\\\" cy=\\\"33\\\" rx=\\\"32\\\" ry=\\\"7\\\"/><path d=\\\"M10 12V9a2 2 0 012-2h12l4 5h24a2 2 0 012 2v16a2 2 0 01-2 2H12a2 2 0 01-2-2V12z\\\" fill=\\\"var(--tokui-stripe)\\\" stroke=\\\"var(--tokui-border)\\\" stroke-width=\\\"2\\\"/></g></svg>\",\n search: \"<svg viewBox=\\\"0 0 64 41\\\" fill=\\\"none\\\"><g transform=\\\"translate(0 1)\\\" fill-rule=\\\"evenodd\\\"><ellipse fill=\\\"var(--tokui-stripe)\\\" cx=\\\"32\\\" cy=\\\"33\\\" rx=\\\"32\\\" ry=\\\"7\\\"/><circle cx=\\\"28\\\" cy=\\\"18\\\" r=\\\"10\\\" stroke=\\\"var(--tokui-border)\\\" stroke-width=\\\"2\\\" fill=\\\"var(--tokui-stripe)\\\"/><path d=\\\"M35 25l8 7\\\" stroke=\\\"var(--tokui-border)\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\"/></g></svg>\"\n },\n s = t(\"div\", {\n class: \"tokui-empty\"\n });\n\n if (a) {\n var c = t(\"img\", {\n class: \"tokui-empty__img\",\n src: a,\n alt: r\n });\n s.appendChild(c);\n } else {\n var l = t(\"div\", {\n class: \"tokui-empty__icon\"\n });\n l.innerHTML = o[i] || o.default, s.appendChild(l);\n }\n\n if (r) {\n var u = t(\"div\", {\n class: \"tokui-empty__text\"\n });\n u.textContent = r, s.appendChild(u);\n }\n\n return s;\n }), e.register(\"result\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"info\",\n i = n.tt || \"\",\n a = n.tx || \"\",\n o = {\n success: \"<svg viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\"><circle cx=\\\"32\\\" cy=\\\"32\\\" r=\\\"30\\\" fill=\\\"var(--tokui-success-1, rgba(34,197,94,0.1))\\\" stroke=\\\"var(--tokui-success)\\\" stroke-width=\\\"2\\\"/><path d=\\\"M20 32l8 8 16-16\\\" stroke=\\\"var(--tokui-success)\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n error: \"<svg viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\"><circle cx=\\\"32\\\" cy=\\\"32\\\" r=\\\"30\\\" fill=\\\"var(--tokui-danger-1, rgba(239,68,68,0.1))\\\" stroke=\\\"var(--tokui-danger)\\\" stroke-width=\\\"2\\\"/><path d=\\\"M24 24l16 16M40 24l-16 16\\\" stroke=\\\"var(--tokui-danger)\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n warning: \"<svg viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\"><circle cx=\\\"32\\\" cy=\\\"32\\\" r=\\\"30\\\" fill=\\\"var(--tokui-warning-1, rgba(245,158,11,0.1))\\\" stroke=\\\"var(--tokui-warning)\\\" stroke-width=\\\"2\\\"/><path d=\\\"M32 22v14M32 42v2\\\" stroke=\\\"var(--tokui-warning)\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n info: \"<svg viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\"><circle cx=\\\"32\\\" cy=\\\"32\\\" r=\\\"30\\\" fill=\\\"var(--tokui-primary-1, rgba(79,70,229,0.1))\\\" stroke=\\\"var(--tokui-primary)\\\" stroke-width=\\\"2\\\"/><path d=\\\"M32 22v2M32 30v14\\\" stroke=\\\"var(--tokui-primary)\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\"/></svg>\"\n },\n s = t(\"div\", {\n class: \"tokui-result tokui-result--\" + r\n }),\n c = t(\"div\", {\n class: \"tokui-result__icon\"\n });\n\n if (c.innerHTML = o[r] || o.info, s.appendChild(c), i) {\n var l = t(\"div\", {\n class: \"tokui-result__title\"\n });\n l.textContent = i, s.appendChild(l);\n }\n\n if (a) {\n var u = t(\"div\", {\n class: \"tokui-result__desc\"\n });\n u.textContent = a, s.appendChild(u);\n }\n\n return s;\n }), e.register(\"stat\", function (e) {\n var n = e.attrs || {},\n r = n.tt || \"\",\n i = n.v || \"0\",\n a = n.pre || \"\",\n o = n.suf || \"\",\n s = n.trend || \"\",\n c = parseInt(n.anim) || 0,\n l = parseInt(n.dec) || 0,\n u = t(\"div\", {\n class: \"tokui-stat\"\n });\n\n if (n.id && (u.id = n.id), r) {\n var d = t(\"div\", {\n class: \"tokui-stat__title\"\n });\n d.textContent = r, u.appendChild(d);\n }\n\n var f = t(\"div\", {\n class: \"tokui-stat__value\"\n });\n\n if (a) {\n var p = t(\"span\", {\n class: \"tokui-stat__prefix\"\n });\n p.textContent = a, f.appendChild(p);\n }\n\n var m = t(\"span\", {\n class: \"tokui-stat__number\"\n });\n\n if (f.appendChild(m), o) {\n var h = t(\"span\", {\n class: \"tokui-stat__suffix\"\n });\n h.textContent = o, f.appendChild(h);\n }\n\n if (s) {\n var g = t(\"span\", {\n class: \"tokui-stat__trend\" + (s === \"up\" ? \" tokui-stat__trend--up\" : \" tokui-stat__trend--down\")\n });\n g.textContent = s === \"up\" ? \"\\u2191\" : \"\\u2193\", f.appendChild(g);\n }\n\n if (c > 0) {\n var _ = i.replace(/[^\\d.\\-]/g, \"\"),\n v = parseFloat(_);\n\n if (!isNaN(v) && v !== 0) {\n var y = i.indexOf(\",\") !== -1;\n m.textContent = \"0\";\n var b = null;\n\n function _e47(t) {\n b || (b = t);\n var n = Math.min((t - b) / c, 1),\n r = v * (n === 1 ? 1 : 1 - Math.pow(2, -10 * n)),\n a = l > 0 ? r.toFixed(l) : Math.round(r);\n y ? a = Number(a).toLocaleString(\"en-US\", {\n minimumFractionDigits: l,\n maximumFractionDigits: l\n }) : l > 0 && (a = r.toFixed(l)), m.textContent = a, n < 1 ? requestAnimationFrame(_e47) : (m.textContent = i.replace(/[^\\d.,\\-]/g, function () {\n return \"\";\n }), m.textContent = i);\n }\n\n requestAnimationFrame(_e47);\n } else m.textContent = i;\n } else m.textContent = i;\n\n return u.appendChild(f), u._update = function (e) {\n if (e.v !== void 0) {\n var t = u.querySelector(\".tokui-stat__number\");\n t && (t.textContent = e.v);\n }\n\n if (e.trend !== void 0) {\n var n = u.querySelector(\".tokui-stat__trend\");\n n && (n.className = \"tokui-stat__trend\" + (e.trend === \"up\" ? \" tokui-stat__trend--up\" : \" tokui-stat__trend--down\"), n.textContent = e.trend === \"up\" ? \"\\u2191\" : \"\\u2193\");\n }\n }, u;\n }), e.register(\"dd-item\", function (e) {\n var n = e.attrs || {},\n r = n.tx || \"\",\n i = [\"tokui-dropdown__item\"];\n n.v && i.push(\"tokui-dropdown__item--\" + n.v), n.dis !== void 0 && i.push(\"tokui-dropdown__item--disabled\");\n var a = {\n class: i.join(\" \"),\n role: \"menuitem\",\n tabindex: \"0\"\n };\n n.clk && (a[\"data-tokui-clk\"] = n.clk), n.dis !== void 0 && (a[\"aria-disabled\"] = \"true\");\n var o = t(\"div\", a);\n return o.textContent = r, o;\n }), e.register(\"popover\", function (e, r) {\n var i = e.attrs || {},\n a = i.tx || n(\"trigger.default\"),\n o = i.pos || \"top\",\n s = i.tt || \"\",\n c = i.w || \"\",\n l = i.trig || \"click\",\n u = t(\"span\", {\n class: \"tokui-popover\"\n }),\n d = t(\"span\", {\n class: \"tokui-popover__trigger\",\n tabindex: \"0\",\n role: \"button\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\"\n });\n d.textContent = a, u.appendChild(d);\n var f = t(\"div\", {\n class: \"tokui-popover__panel tokui-popover__panel--\" + o,\n role: \"dialog\"\n });\n c && (f.style.width = c);\n var p = t(\"div\", {\n class: \"tokui-popover__arrow\"\n });\n\n if (f.appendChild(p), s) {\n var m = t(\"div\", {\n class: \"tokui-popover__title\"\n });\n m.textContent = s, f.appendChild(m);\n }\n\n var h = t(\"div\", {\n class: \"tokui-popover__body\"\n });\n r(e.children || []).forEach(function (e) {\n e && e.nodeType && h.appendChild(e);\n }), f.appendChild(h), u.appendChild(f);\n\n function g() {\n var e = d.getBoundingClientRect(),\n t = f.getBoundingClientRect(),\n n = 10;\n o === \"top\" ? (f.style.left = e.left + e.width / 2 - t.width / 2 + \"px\", f.style.top = e.top - t.height - n + \"px\") : o === \"bottom\" ? (f.style.left = e.left + e.width / 2 - t.width / 2 + \"px\", f.style.top = e.bottom + n + \"px\") : o === \"left\" ? (f.style.left = e.left - t.width - n + \"px\", f.style.top = e.top + e.height / 2 - t.height / 2 + \"px\") : o === \"right\" && (f.style.left = e.right + n + \"px\", f.style.top = e.top + e.height / 2 - t.height / 2 + \"px\");\n var r = f.getBoundingClientRect();\n r.left < 4 && (f.style.left = \"4px\"), r.right > window.innerWidth - 4 && (f.style.left = window.innerWidth - r.width - 4 + \"px\"), r.top < 4 && (f.style.top = e.bottom + n + \"px\");\n }\n\n function _() {\n f.classList.add(\"tokui-popover__panel--visible\"), d.setAttribute(\"aria-expanded\", \"true\"), g();\n }\n\n function v() {\n f.classList.remove(\"tokui-popover__panel--visible\"), d.setAttribute(\"aria-expanded\", \"false\");\n }\n\n function y() {\n f.classList.contains(\"tokui-popover__panel--visible\") ? v() : _();\n }\n\n return l === \"hover\" ? (u.addEventListener(\"mouseenter\", _), u.addEventListener(\"mouseleave\", v)) : (d.addEventListener(\"click\", function (e) {\n e.stopPropagation(), y();\n }), f.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n }), document.addEventListener(\"click\", function (e) {\n u.contains(e.target) || v();\n }), u.addEventListener(\"keydown\", function (e) {\n e.key === \"Escape\" && v();\n })), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.addEventListener(\"scroll\", v, !0), u._slot = h, u._tokuiType = \"popover\", u;\n }), e.register(\"hover-card\", function (e, n) {\n var r = e.attrs || {},\n i = r.pos || \"bottom\",\n a = r.w || \"\",\n o = parseInt(r.delay) || 300,\n s = t(\"span\", {\n class: \"tokui-hover-card tokui-hover-card--\" + i,\n \"data-delay\": String(o)\n }),\n c = null,\n l = null;\n\n function u() {\n var e = t(\"span\", {\n class: \"tokui-hover-card__content\",\n role: \"dialog\"\n });\n a && (e.style.width = a + \"px\");\n var n = t(\"span\", {\n class: \"tokui-hover-card__arrow tokui-hover-card__arrow--\" + i\n });\n e.appendChild(n);\n var r = t(\"span\", {\n class: \"tokui-hover-card__body\"\n });\n return e.appendChild(r), {\n panel: e,\n body: r\n };\n }\n\n e.children && e.children.length > 0 && e.children.forEach(function (e) {\n if (e.type === \"hover-trigger\") c = t(\"span\", {\n class: \"tokui-hover-card__trigger\"\n }), n([e]).forEach(function (e) {\n if (e && e.nodeType) if (e._tokuiType === \"hover-trigger\") for (; e.firstChild;) {\n c.appendChild(e.firstChild);\n } else c.appendChild(e);\n }), s.appendChild(c);else if (e.type === \"hover-content\") {\n var r = u();\n l = r.panel, n([e]).forEach(function (e) {\n if (e && e.nodeType) if (e._tokuiType === \"hover-content\") for (; e.firstChild;) {\n r.body.appendChild(e.firstChild);\n } else r.body.appendChild(e);\n }), s.appendChild(l);\n } else n([e]).forEach(function (e) {\n e && e.nodeType && s.appendChild(e);\n });\n });\n\n function d(e) {\n var t = s.querySelector(\".tokui-hover-card__trigger\");\n\n if (t) {\n var n = t.getBoundingClientRect(),\n r = e.getBoundingClientRect(),\n a = 8;\n i === \"bottom\" ? (e.style.left = n.left + n.width / 2 - r.width / 2 + \"px\", e.style.top = n.bottom + a + \"px\") : i === \"top\" ? (e.style.left = n.left + n.width / 2 - r.width / 2 + \"px\", e.style.top = n.top - r.height - a + \"px\") : i === \"left\" ? (e.style.left = n.left - r.width - a + \"px\", e.style.top = n.top + n.height / 2 - r.height / 2 + \"px\") : i === \"right\" && (e.style.left = n.right + a + \"px\", e.style.top = n.top + n.height / 2 - r.height / 2 + \"px\");\n var o = e.getBoundingClientRect();\n o.left < 4 && (e.style.left = \"4px\"), o.right > window.innerWidth - 4 && (e.style.left = window.innerWidth - o.width - 4 + \"px\"), o.top < 4 && (e.style.top = n.bottom + a + \"px\");\n }\n }\n\n var f = null,\n p = null;\n\n function m() {\n clearTimeout(p), f = setTimeout(function () {\n var e = s.querySelector(\".tokui-hover-card__content\");\n e && (d(e), e.classList.add(\"tokui-hover-card__content--visible\"));\n }, o);\n }\n\n function h() {\n clearTimeout(f), p = setTimeout(function () {\n var e = s.querySelector(\".tokui-hover-card__content\");\n e && e.classList.remove(\"tokui-hover-card__content--visible\");\n }, 150);\n }\n\n return s.addEventListener(\"mouseenter\", m), s.addEventListener(\"mouseleave\", h), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.addEventListener && window.addEventListener(\"scroll\", h, !0), s._slot = s, s._tokuiType = \"hover-card\", s._streamCloseHook = function () {\n for (var e = null, n = null, r = [], i = 0; i < s.children.length; i++) {\n var a = s.children[i];\n a._tokuiType === \"hover-trigger\" ? e = a : a._tokuiType === \"hover-content\" ? n = a : r.push(a);\n }\n\n if (!(!e && !n)) {\n for (; s.firstChild;) {\n s.removeChild(s.firstChild);\n }\n\n var o = t(\"span\", {\n class: \"tokui-hover-card__trigger\"\n });\n if (e) for (; e.firstChild;) {\n o.appendChild(e.firstChild);\n }\n s.appendChild(o);\n var c = u();\n if (n) for (; n.firstChild;) {\n c.body.appendChild(n.firstChild);\n }\n s.appendChild(c.panel), r.forEach(function (e) {\n s.appendChild(e);\n });\n }\n }, s;\n }), e.register(\"hover-trigger\", function (e, n) {\n var r = t(\"span\");\n return e.children && e.children.length > 0 && n(e.children).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), e.content && r.appendChild(document.createTextNode(e.content)), r._tokuiType = \"hover-trigger\", r._slot = r, r;\n }), e.register(\"hover-content\", function (e, n) {\n var r = t(\"span\", {\n class: \"tokui-hover-card__content-temp\"\n });\n return e.children && e.children.length > 0 && n(e.children).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), e.content && r.appendChild(document.createTextNode(e.content)), r._tokuiType = \"hover-content\", r._slot = r, r;\n }), e.register(\"input-tag\", function (e, r) {\n var i = e.attrs || {},\n a = i.ph || n(\"inputTag.placeholder\"),\n o = i.n || \"tags\",\n s = i.id || \"\",\n c = parseInt(i.max) || 0,\n l = (i.tags || \"\").split(\",\").map(function (e) {\n return e.trim();\n }).filter(Boolean),\n u = t(\"div\", {\n class: \"tokui-input-tag\",\n role: \"group\"\n });\n s && (u.id = s);\n var d = t(\"div\", {\n class: \"tokui-field\"\n });\n i.l && d.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, i.l));\n var f = t(\"div\", {\n class: \"tokui-input-tag__box\"\n }),\n p = t(\"div\", {\n class: \"tokui-input-tag__list\",\n role: \"list\"\n });\n l.forEach(function (e) {\n p.appendChild(g(e));\n }), f.appendChild(p);\n var m = t(\"input\", {\n class: \"tokui-input-tag__input\",\n type: \"text\",\n placeholder: a\n });\n f.appendChild(m);\n var h = t(\"input\", {\n type: \"hidden\",\n name: o,\n value: l.join(\",\")\n });\n f.appendChild(h), d.appendChild(f), u.appendChild(d);\n\n function g(e) {\n var n = t(\"span\", {\n class: \"tokui-input-tag__tag\",\n role: \"listitem\"\n });\n n.textContent = e;\n var r = t(\"span\", {\n class: \"tokui-input-tag__close\"\n });\n return r.textContent = \"\\xD7\", r.addEventListener(\"click\", function () {\n n.remove(), _();\n }), n.appendChild(r), n;\n }\n\n function _() {\n h.value = Array.from(p.querySelectorAll(\".tokui-input-tag__tag\")).map(function (e) {\n return e.firstChild.textContent;\n }).join(\",\");\n }\n\n return m.addEventListener(\"keydown\", function (e) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n var t = m.value.trim();\n if (!t) return;\n var n = Array.from(p.querySelectorAll(\".tokui-input-tag__tag\")).map(function (e) {\n return e.firstChild.textContent;\n });\n\n if (n.indexOf(t) !== -1) {\n m.value = \"\";\n return;\n }\n\n if (c > 0 && n.length >= c) {\n m.value = \"\";\n return;\n }\n\n p.appendChild(g(t)), m.value = \"\", _();\n }\n\n if (e.key === \"Backspace\" && !m.value) {\n var r = p.querySelectorAll(\".tokui-input-tag__tag\");\n r.length > 0 && (r[r.length - 1].remove(), _());\n }\n }), u._update = function (e) {\n e.dis === !0 || e.dis === \"true\" ? (m.disabled = !0, u.classList.add(\"tokui-input-tag--disabled\")) : (e.dis === !1 || e.dis === \"false\") && (m.disabled = !1, u.classList.remove(\"tokui-input-tag--disabled\"));\n }, u._tokuiType = \"input-tag\", u;\n }), e.register(\"countdown\", function (e) {\n var r = e.attrs || {},\n i = parseInt(r.target) || 0,\n a = parseInt(r.dur) || 0,\n o = r.l || \"\",\n s = r.s || \"\",\n c = r.tx || n(\"countdown.ended\"),\n l = r.id || \"\",\n u = r.fmt || \"dhms\",\n d = r.clk || \"\";\n !i && a > 0 && (i = Date.now() + a * 1e3);\n var f = [\"tokui-countdown\"];\n s === \"sm\" ? f.push(\"tokui-countdown--sm\") : s === \"lg\" && f.push(\"tokui-countdown--lg\");\n var p = {\n class: f.join(\" \"),\n role: \"timer\",\n \"aria-live\": \"polite\"\n };\n l && (p.id = l);\n var m = t(\"div\", p);\n\n if (o) {\n var h = t(\"div\", {\n class: \"tokui-countdown__label\"\n });\n h.textContent = o, m.appendChild(h);\n }\n\n var g = [{\n key: \"d\",\n label: n(\"duration.day\")\n }, {\n key: \"h\",\n label: n(\"duration.hour\")\n }, {\n key: \"m\",\n label: n(\"duration.minute\")\n }, {\n key: \"s\",\n label: n(\"duration.second\")\n }],\n _ = u.split(\"\"),\n v = g.filter(function (e) {\n return _.indexOf(e.key) !== -1;\n }),\n y = t(\"div\", {\n class: \"tokui-countdown__digits\"\n }),\n b = {};\n\n v.forEach(function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-countdown__item\"\n }),\n i = t(\"span\", {\n class: \"tokui-countdown__num\",\n \"data-key\": e.key\n });\n i.textContent = \"00\", b[e.key] = i, r.appendChild(i);\n var a = t(\"span\", {\n class: \"tokui-countdown__unit\"\n });\n\n if (a.textContent = e.label, r.appendChild(a), y.appendChild(r), n < v.length - 1) {\n var o = t(\"span\", {\n class: \"tokui-countdown__sep\"\n });\n o.textContent = \":\", y.appendChild(o);\n }\n }), m.appendChild(y);\n\n function x(e) {\n return e < 10 ? \"0\" + e : String(e);\n }\n\n var S = !1;\n\n function C() {\n var e = Math.max(0, i - Date.now());\n\n if (e <= 0) {\n if (!S) {\n S = !0, Object.keys(b).forEach(function (e) {\n b[e].textContent = \"00\";\n }), m.classList.add(\"tokui-countdown--ended\");\n var n = t(\"div\", {\n class: \"tokui-countdown__ended\"\n });\n\n if (n.textContent = c, y.parentNode.replaceChild(n, y), clearInterval(w), d) {\n var r = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.TokUIEventBus : null;\n\n if (r) {\n var a = r.getHandler(d);\n typeof a == \"function\" && a({\n id: l,\n target: i\n });\n }\n }\n }\n\n return;\n }\n\n var o = Math.floor(e / 1e3),\n s = Math.floor(o / 86400),\n u = Math.floor(o % 86400 / 3600),\n f = Math.floor(o % 3600 / 60),\n p = o % 60;\n b.d && (b.d.textContent = x(s)), b.h && (b.h.textContent = x(u)), b.m && (b.m.textContent = x(f)), b.s && (b.s.textContent = x(p));\n }\n\n C();\n var w = setInterval(C, 1e3);\n return m._countdownTimer = w, m._tokuiType = \"countdown\", m;\n }), e.register(\"popconfirm\", function (e) {\n var r = e.attrs || {},\n i = r.tt || \"\",\n a = r.clk || \"\",\n o = r.t || \"primary\",\n s = r.pos || \"top\",\n c = r[\"ok-text\"] || n(\"common.ok\"),\n l = r[\"cancel-text\"] || n(\"common.cancel\"),\n u = e.content || r.tx || n(\"popconfirm.trigger\"),\n d = t(\"span\", {\n class: \"tokui-popconfirm\"\n }),\n f = t(\"button\", {\n class: \"tokui-popconfirm__trigger\",\n type: \"button\",\n tabindex: \"0\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\"\n });\n f.textContent = u, d.appendChild(f), d._popconfirmPopup = null;\n\n function p() {\n if (d._popconfirmPopup) {\n d._popconfirmPopup.classList.remove(\"tokui-popconfirm__popup--visible\");\n\n var e = d._popconfirmPopup;\n setTimeout(function () {\n e.parentNode && e.parentNode.removeChild(e);\n }, 150), d._popconfirmPopup = null, f.setAttribute(\"aria-expanded\", \"false\");\n }\n }\n\n function m() {\n p();\n var e = t(\"div\", {\n class: \"tokui-popconfirm__popup tokui-popconfirm__popup--\" + s,\n role: \"dialog\",\n \"aria-label\": i || n(\"popconfirm.aria\")\n }),\n r = t(\"div\", {\n class: \"tokui-popconfirm__arrow\"\n });\n\n if (e.appendChild(r), i) {\n var u = t(\"div\", {\n class: \"tokui-popconfirm__message\"\n });\n u.textContent = i, e.appendChild(u);\n }\n\n var m = t(\"div\", {\n class: \"tokui-popconfirm__buttons\"\n }),\n h = t(\"button\", {\n class: \"tokui-popconfirm__btn tokui-popconfirm__btn--cancel\",\n type: \"button\"\n });\n h.textContent = l, h.addEventListener(\"click\", function (e) {\n e.stopPropagation(), p();\n }), m.appendChild(h);\n var g = t(\"button\", {\n class: \"tokui-popconfirm__btn tokui-popconfirm__btn--\" + o,\n type: \"button\"\n });\n a && g.setAttribute(\"data-tokui-clk\", a), g.textContent = c, g.addEventListener(\"click\", function (e) {\n if (e.stopPropagation(), a) {\n var t = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n t && typeof t.emit == \"function\" && t.emit(a, {});\n }\n\n p();\n }), m.appendChild(g), e.appendChild(m), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.body && document.body.appendChild(e);\n\n function _() {\n if (f.getBoundingClientRect) {\n var t = f.getBoundingClientRect(),\n n = e.getBoundingClientRect(),\n r = 8;\n\n if (s === \"top\" ? (e.style.left = t.left + t.width / 2 - n.width / 2 + \"px\", e.style.top = t.top - n.height - r + \"px\") : s === \"bottom\" ? (e.style.left = t.left + t.width / 2 - n.width / 2 + \"px\", e.style.top = t.bottom + r + \"px\") : s === \"left\" ? (e.style.left = t.left - n.width - r + \"px\", e.style.top = t.top + t.height / 2 - n.height / 2 + \"px\") : s === \"right\" && (e.style.left = t.right + r + \"px\", e.style.top = t.top + t.height / 2 - n.height / 2 + \"px\"), e.getBoundingClientRect) {\n var i = e.getBoundingClientRect();\n i.left < 4 && (e.style.left = \"4px\"), i.right > window.innerWidth - 4 && (e.style.left = window.innerWidth - i.width - 4 + \"px\"), i.top < 4 && (e.style.top = t.bottom + r + \"px\");\n }\n }\n\n e.classList.add(\"tokui-popconfirm__popup--visible\");\n }\n\n typeof requestAnimationFrame == \"function\" ? requestAnimationFrame(_) : _(), d._popconfirmPopup = e, f.setAttribute(\"aria-expanded\", \"true\");\n }\n\n return f.addEventListener(\"click\", function (e) {\n e.stopPropagation(), d._popconfirmPopup ? p() : m();\n }), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && typeof document.addEventListener == \"function\" && document.addEventListener(\"click\", function (e) {\n d._popconfirmPopup && !d._popconfirmPopup.contains(e.target) && !d.contains(e.target) && p();\n }), d.addEventListener(\"keydown\", function (e) {\n e.key === \"Escape\" && p();\n }), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && typeof window.addEventListener == \"function\" && window.addEventListener(\"scroll\", p, !0), d._tokuiPopconfirmPos = s, d._tokuiType = \"popconfirm\", d;\n }), e.register(\"watermark\", function (e, n) {\n var r = e.attrs || {},\n i = r.tx || \"TokUI\",\n a = r.font || (r.s === \"sm\" ? \"12\" : r.s === \"lg\" ? \"20\" : \"16\"),\n o = r.gap || \"40\",\n s = r.ro || \"-22\",\n c = r.c || \"rgba(0,0,0,0.2)\",\n l = t(\"div\", {\n class: \"tokui-watermark\"\n });\n l.style.overflow = \"hidden\", l.style.borderRadius = \"8px\";\n var u = document.createElement(\"canvas\"),\n d = u.getContext(\"2d\"),\n f = parseInt(a) || 16,\n p = parseInt(o) || 40;\n d.font = f + \"px sans-serif\";\n var m = d.measureText(i).width + p,\n h = f + p;\n u.width = m, u.height = h, d.font = f + \"px sans-serif\", d.fillStyle = c, d.textAlign = \"center\", d.textBaseline = \"middle\";\n var g = (parseFloat(s) || -22) * Math.PI / 180;\n d.translate(m / 2, h / 2), d.rotate(g), d.fillText(i, 0, 0);\n\n var _ = t(\"div\", {\n class: \"tokui-watermark__content\"\n });\n\n if (_.style.position = \"relative\", _.style.zIndex = \"1\", e.children && e.children.length > 0) {\n var v = n(e.children);\n v && v.forEach && v.forEach(function (e) {\n e && _.appendChild(e);\n });\n }\n\n l.appendChild(_);\n var y = t(\"div\", {\n class: \"tokui-watermark__overlay\"\n });\n return y.style.backgroundImage = \"url(\" + u.toDataURL() + \")\", y.style.backgroundRepeat = \"repeat\", y.style.borderRadius = \"8px\", l.appendChild(y), l._slot = _, l._tokuiType = \"watermark\", l;\n }), e.register(\"backtop\", function (e) {\n var r = e.attrs || {},\n i = parseInt(r.t) || 200,\n a = r.v || \"circle\",\n o = r.tx || \"\\u2191\",\n s = r.s || \"\",\n c = r.bottom || \"40\",\n l = r.right || \"40\",\n u = r.container !== void 0,\n d = [\"tokui-backtop\"];\n a === \"round\" ? d.push(\"tokui-backtop--round\") : a === \"square\" && d.push(\"tokui-backtop--square\"), s === \"sm\" ? d.push(\"tokui-backtop--sm\") : s === \"lg\" && d.push(\"tokui-backtop--lg\"), u && d.push(\"tokui-backtop--container\");\n var f = t(\"div\", {\n class: d.join(\" \"),\n role: \"button\",\n \"aria-label\": n(\"backToTop.aria\"),\n tabindex: \"0\"\n });\n return u ? f.style.bottom = c + \"px\" : (f.style.bottom = c + \"px\", f.style.right = l + \"px\"), f.textContent = o, (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && requestAnimationFrame(function () {\n for (var e = window, t = f.parentElement; t;) {\n var n = getComputedStyle(t);\n\n if ((n.overflowY === \"auto\" || n.overflowY === \"scroll\") && t.scrollHeight > t.clientHeight) {\n e = t;\n break;\n }\n\n t = t.parentElement;\n }\n\n f.addEventListener(\"click\", function () {\n e === window ? window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n }) : e.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n });\n\n var r = function r() {\n (e === window ? window.pageYOffset : e.scrollTop) > i ? f.classList.add(\"tokui-backtop--visible\") : f.classList.remove(\"tokui-backtop--visible\");\n };\n\n e.addEventListener(\"scroll\", r), r(), f._backtopCleanup = function () {\n e.removeEventListener(\"scroll\", r);\n };\n }), f;\n }), e.register(\"calendar\", function (e) {\n var r = e.attrs || {},\n i = r.month || \"\",\n a = new Date(),\n o,\n s;\n\n if (i) {\n var c = i.split(\"-\");\n o = parseInt(c[0]) || a.getFullYear(), s = (parseInt(c[1]) || a.getMonth() + 1) - 1;\n } else o = a.getFullYear(), s = a.getMonth();\n\n var l = r.v || \"\",\n u = r.marks || \"\",\n d = u ? u.split(\",\").map(function (e) {\n return parseInt(e.trim());\n }).filter(function (e) {\n return e > 0;\n }) : [],\n f = String(r.sel == null ? r.selected == null ? \"\" : r.selected : r.sel),\n p = {};\n f.split(\",\").forEach(function (e) {\n var t = parseInt(e.trim(), 10);\n t > 0 && (p[t] = !0);\n });\n\n function m(e) {\n var t = [];\n return String(e || \"\").split(\";\").forEach(function (e) {\n if (e = e.trim(), e) {\n var n = e.split(\"-\");\n\n if (n.length === 2) {\n var r = parseInt(n[0], 10),\n i = parseInt(n[1], 10);\n r > 0 && i > 0 && t.push([Math.min(r, i), Math.max(r, i)]);\n } else {\n var a = parseInt(e, 10);\n a > 0 && t.push([a, a]);\n }\n }\n }), t;\n }\n\n var h = [];\n r.range && (h = h.concat(m(r.range))), r.ranges && (h = h.concat(m(r.ranges)));\n var g = {},\n _ = {},\n v = {};\n h.forEach(function (e) {\n for (var t = e[0]; t <= e[1]; t++) {\n g[t] = !0;\n }\n\n _[e[0]] = !0, v[e[1]] = !0;\n });\n var y = a.getFullYear() === o && a.getMonth() === s ? a.getDate() : -1,\n b = r.tt || n(\"datepicker.title\", {\n y: o,\n m: s + 1\n }),\n x = [\"tokui-calendar\"];\n l === \"card\" ? x.push(\"tokui-calendar--card\") : l === \"mini\" && x.push(\"tokui-calendar--mini\");\n var S = t(\"div\", {\n class: x.join(\" \")\n }),\n C = t(\"div\", {\n class: \"tokui-calendar__header\"\n });\n C.textContent = b, S.appendChild(C);\n var w = t(\"div\", {\n class: \"tokui-calendar__grid\"\n });\n [n(\"datepicker.weekday.0\"), n(\"datepicker.weekday.1\"), n(\"datepicker.weekday.2\"), n(\"datepicker.weekday.3\"), n(\"datepicker.weekday.4\"), n(\"datepicker.weekday.5\"), n(\"datepicker.weekday.6\")].forEach(function (e) {\n var n = t(\"div\", {\n class: \"tokui-calendar__weekday\"\n });\n n.textContent = e, w.appendChild(n);\n });\n\n for (var T = new Date(o, s, 1).getDay(), E = new Date(o, s + 1, 0).getDate(), D = new Date(o, s, 0).getDate(), O = 42, k = T - 1; k >= 0; k--) {\n var A = t(\"div\", {\n class: \"tokui-calendar__day tokui-calendar__day--other\"\n }),\n j = t(\"span\", {\n class: \"tokui-calendar__day__num\"\n });\n j.textContent = D - k, A.appendChild(j), w.appendChild(A);\n }\n\n for (var M = 1; M <= E; M++) {\n var N = [\"tokui-calendar__day\"];\n M === y && N.push(\"tokui-calendar__day--today\"), d.indexOf(M) !== -1 && N.push(\"tokui-calendar__day--marked\"), p[M] && N.push(\"tokui-calendar__day--selected\"), g[M] && (N.push(\"tokui-calendar__day--in-range\"), _[M] && N.push(\"tokui-calendar__day--range-start\"), v[M] && N.push(\"tokui-calendar__day--range-end\"));\n var A = t(\"div\", {\n class: N.join(\" \")\n }),\n j = t(\"span\", {\n class: \"tokui-calendar__day__num\"\n });\n j.textContent = M, A.appendChild(j), w.appendChild(A);\n }\n\n for (var P = O - T - E, F = 1; F <= P; F++) {\n var A = t(\"div\", {\n class: \"tokui-calendar__day tokui-calendar__day--other\"\n }),\n j = t(\"span\", {\n class: \"tokui-calendar__day__num\"\n });\n j.textContent = F, A.appendChild(j), w.appendChild(A);\n }\n\n return S.appendChild(w), S._tokuiType = \"calendar\", S;\n }), e.register(\"notification\", function (e) {\n var r = e.attrs || {},\n i = r.id || \"\",\n a = r.t || \"info\",\n o = r.tt || \"\",\n s = r.tx || \"\",\n c = r.duration === void 0 ? 4500 : parseInt(r.duration);\n isNaN(c) && (c = 4500);\n var l = r.pos || \"top-right\",\n u = r.clk || \"\",\n d = {\n success: \"\\u2713\",\n error: \"\\u2715\",\n warning: \"\\u26A0\",\n info: \"\\u2139\"\n },\n f = t(\"div\", {\n class: \"tokui-notification tokui-notification--\" + a + \" tokui-notification--\" + l,\n role: \"alert\",\n \"aria-live\": \"polite\"\n });\n i && f.setAttribute(\"data-notif-id\", i);\n var p = t(\"div\", {\n class: \"tokui-notification__bar\"\n });\n f.appendChild(p);\n var m = t(\"span\", {\n class: \"tokui-notification__icon\"\n });\n m.textContent = d[a] || d.info, f.appendChild(m);\n var h = t(\"div\", {\n class: \"tokui-notification__content\"\n });\n\n if (o) {\n var g = t(\"div\", {\n class: \"tokui-notification__title\"\n });\n g.textContent = o, h.appendChild(g);\n }\n\n if (s) {\n var _ = t(\"div\", {\n class: \"tokui-notification__desc\"\n });\n\n _.textContent = s, h.appendChild(_);\n }\n\n f.appendChild(h);\n var v = t(\"button\", {\n class: \"tokui-notification__close\",\n type: \"button\",\n \"aria-label\": n(\"common.close\")\n });\n\n if (v.textContent = \"\\xD7\", v.addEventListener(\"click\", function () {\n f.classList.add(\"tokui-notification--hide\"), setTimeout(function () {\n f.parentNode && f.parentNode.removeChild(f);\n }, 300);\n }), f.appendChild(v), u) {\n var y = t(\"button\", {\n class: \"tokui-notification__action\",\n type: \"button\",\n \"data-tokui-clk\": u\n });\n y.textContent = n(\"common.view\"), h.appendChild(y);\n }\n\n function b(e) {\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\" || !document.body) return null;\n var n = \"tokui-notification-container--\" + e,\n r = document.querySelector(\".\" + n);\n return r || (r = t(\"div\", {\n class: \"tokui-notification-container \" + n\n }), document.body.appendChild(r)), r;\n }\n\n if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.body) {\n var x = b(l);\n x && x.appendChild(f), c > 0 && setTimeout(function () {\n f.classList.add(\"tokui-notification--hide\"), setTimeout(function () {\n f.parentNode && f.parentNode.removeChild(f);\n }, 300);\n }, c), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI || (window.TokUI = {}), window.TokUI._notifMap || (window.TokUI._notifMap = {}), i && (window.TokUI._notifMap[i] = f), window.TokUI.showNotification || (window.TokUI.showNotification = function (e, t) {\n var n = (window.TokUI._notifMap || {})[e];\n\n if (n) {\n if (t) {\n if (t.title) {\n var r = n.querySelector(\".tokui-notification__title\");\n r && (r.textContent = t.title);\n }\n\n if (t.text) {\n var i = n.querySelector(\".tokui-notification__text\");\n i && (i.textContent = t.text);\n }\n }\n\n n.style.display = \"\", n.classList.remove(\"tokui-notification--hide\");\n var a = n._notifDuration || 4500;\n a > 0 && (clearTimeout(n._notifTimer), n._notifTimer = setTimeout(function () {\n n.classList.add(\"tokui-notification--hide\"), setTimeout(function () {\n n.style.display = \"none\";\n }, 300);\n }, a));\n }\n }));\n var S = t(\"div\", {\n style: \"display:none\"\n });\n return S._isNotifPlaceholder = !0, S;\n }\n\n return f._notifDuration = c, f;\n }), e.register(\"chat-input\", function (e, r) {\n var i = e.attrs || {},\n a = i.ph || \"\",\n o = i.clk || \"\",\n s = i.dis !== void 0,\n c = parseInt(i.max) || 0,\n l = i.auto !== void 0,\n u = parseInt(i.rows) || 2,\n d = t(\"div\", {\n class: \"tokui-chat-input\"\n }),\n f = t(\"textarea\", {\n class: \"tokui-chat-input__textarea\",\n rows: String(u),\n placeholder: a\n });\n s && (f.setAttribute(\"disabled\", \"\"), f.classList.add(\"tokui-chat-input__textarea--disabled\")), l && f.classList.add(\"tokui-chat-input__textarea--auto\"), d.appendChild(f);\n var p = t(\"div\", {\n class: \"tokui-chat-input__actions\"\n });\n e.children && e.children.length > 0 && r(e.children).forEach(function (e) {\n e && e.nodeType && p.appendChild(e);\n });\n var m = t(\"button\", {\n class: \"tokui-chat-input__send\",\n type: \"button\",\n \"aria-label\": n(\"common.send\")\n });\n\n if (m.innerHTML = \"<svg viewBox=\\\"0 0 20 20\\\" width=\\\"18\\\" height=\\\"18\\\" fill=\\\"currentColor\\\"><path d=\\\"M10 3a1 1 0 0 1 .7.3l5 5a1 1 0 0 1-1.4 1.4L11 6.4V16a1 1 0 1 1-2 0V6.4l-3.3 3.3a1 1 0 0 1-1.4-1.4l5-5A1 1 0 0 1 10 3z\\\"/></svg>\", s && (m.setAttribute(\"disabled\", \"\"), m.classList.add(\"tokui-chat-input__send--disabled\")), p.appendChild(m), d.appendChild(p), c > 0) {\n var h = t(\"span\", {\n class: \"tokui-chat-input__counter\"\n });\n h.textContent = \"0/\" + c, d.appendChild(h), f.addEventListener(\"input\", function () {\n var e = (f.value || \"\").length;\n h.textContent = e + \"/\" + c, e > c ? h.classList.add(\"tokui-chat-input__counter--over\") : h.classList.remove(\"tokui-chat-input__counter--over\");\n });\n }\n\n l && f.addEventListener(\"input\", function () {\n f.style.height = \"auto\", f.style.height = f.scrollHeight + \"px\";\n });\n\n function g() {\n if (!s) {\n var e = f.value || \"\";\n e.trim() && (o && (d.setAttribute(\"data-tokui-clk\", o), d.setAttribute(\"data-tokui-clk-value\", e)), f.value = \"\", c > 0 && (h.textContent = \"0/\" + c, h.classList.remove(\"tokui-chat-input__counter--over\")), l && (f.style.height = \"auto\"));\n }\n }\n\n return f.addEventListener(\"keydown\", function (e) {\n e.key === \"Enter\" && !e.shiftKey && (e.preventDefault(), g());\n }), m.addEventListener(\"click\", function () {\n g();\n }), o && d.setAttribute(\"data-tokui-clk\", o), d._update = function (e) {\n e.dis !== void 0 && (s = !!e.dis, s ? (f.setAttribute(\"disabled\", \"\"), f.classList.add(\"tokui-chat-input__textarea--disabled\"), m.setAttribute(\"disabled\", \"\"), m.classList.add(\"tokui-chat-input__send--disabled\")) : (f.removeAttribute(\"disabled\"), f.classList.remove(\"tokui-chat-input__textarea--disabled\"), m.removeAttribute(\"disabled\"), m.classList.remove(\"tokui-chat-input__send--disabled\")));\n }, d._slot = f, d._tokuiType = \"chat-input\", d;\n }), e.register(\"msg-actions\", function (e, r) {\n var i = e.attrs || {},\n a = i.clk || \"\",\n o = \"tokui-msg-actions\";\n i.visible && (o += \" tokui-msg-actions--visible\");\n var s = t(\"div\", {\n class: o\n }),\n c = {\n copy: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"15\\\" height=\\\"15\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"8\\\" y=\\\"8\\\" width=\\\"13\\\" height=\\\"13\\\" rx=\\\"2\\\"/><path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\"/></svg>\",\n regenerate: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"15\\\" height=\\\"15\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\\\"/><path d=\\\"M21 3v5h-5\\\"/><path d=\\\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\\\"/><path d=\\\"M3 21v-5h5\\\"/></svg>\",\n like: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"15\\\" height=\\\"15\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M7 10v12\\\"/><path d=\\\"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\\\"/></svg>\",\n dislike: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"15\\\" height=\\\"15\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M17 14V2\\\"/><path d=\\\"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z\\\"/></svg>\",\n delete: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"15\\\" height=\\\"15\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><polyline points=\\\"3 6 5 6 21 6\\\"/><path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"/></svg>\"\n },\n l = [];\n return i.copy !== void 0 && l.push({\n act: \"copy\",\n icon: c.copy,\n label: n(\"actions.copy\")\n }), i.regenerate !== void 0 && l.push({\n act: \"regenerate\",\n icon: c.regenerate,\n label: n(\"actions.regenerate\")\n }), i.like !== void 0 && (l.push({\n act: \"like\",\n icon: c.like,\n label: n(\"actions.like\")\n }), l.push({\n act: \"dislike\",\n icon: c.dislike,\n label: n(\"actions.dislike\")\n })), i.delete !== void 0 && l.push({\n act: \"delete\",\n icon: c.delete,\n label: n(\"actions.delete\")\n }), l.forEach(function (e) {\n var n = t(\"button\", {\n class: \"tokui-msg-actions__btn\",\n type: \"button\",\n \"data-act\": e.act,\n \"aria-label\": e.label,\n title: e.label\n }),\n r = t(\"span\", {\n class: \"tokui-msg-actions__icon\"\n });\n r.innerHTML = e.icon, n.appendChild(r), s.appendChild(n);\n }), e.children && e.children.length > 0 && r(e.children).forEach(function (e) {\n e && e.nodeType && s.appendChild(e);\n }), a && (s.setAttribute(\"data-tokui-clk\", a), s.addEventListener(\"click\", function (e) {\n var t = e.target.closest && e.target.closest(\".tokui-msg-actions__btn\");\n\n if (t) {\n var n = t.getAttribute(\"data-act\");\n n && s.setAttribute(\"data-tokui-clk-act\", n);\n }\n })), s._slot = s, s._tokuiType = \"msg-actions\", s;\n }), e.register(\"tool-call\", function (e, r) {\n var i = e.attrs || {},\n a = i.name || \"tool\",\n o = i.status || \"pending\",\n s = i.duration || \"\",\n c = {\n class: \"tokui-tool-call tokui-tool-call--\" + o\n };\n i.id && (c.id = i.id);\n var l = t(\"div\", c),\n u = t(\"div\", {\n class: \"tokui-tool-call__header\"\n }),\n d = t(\"span\", {\n class: \"tokui-tool-call__status-dot tokui-tool-call__status-dot--\" + o\n });\n u.appendChild(d);\n var f = t(\"span\", {\n class: \"tokui-tool-call__name\"\n });\n f.textContent = a, u.appendChild(f);\n var p = t(\"span\", {\n class: \"tokui-tool-call__status\"\n }),\n m = {\n pending: n(\"status.pending\"),\n running: n(\"status.running\"),\n done: n(\"status.done\"),\n error: n(\"status.error\"),\n denied: n(\"status.denied\")\n };\n\n if (p.textContent = m[o] || o, u.appendChild(p), s) {\n var h = t(\"span\", {\n class: \"tokui-tool-call__duration\"\n });\n h.textContent = s, u.appendChild(h);\n }\n\n l.appendChild(u);\n var g = t(\"div\", {\n class: \"tokui-tool-call__body\"\n });\n\n if (e.content) {\n var _ = t(\"div\", {\n class: \"tokui-tool-call__params\"\n });\n\n _.textContent = e.content, g.appendChild(_);\n }\n\n return r(e.children || []).forEach(function (e) {\n e && e.nodeType && g.appendChild(e);\n }), l.appendChild(g), l._slot = g, l._tokuiType = \"tool-call\", l._update = function (e) {\n if (e.status && (l.className = \"tokui-tool-call tokui-tool-call--\" + e.status, d.className = \"tokui-tool-call__status-dot tokui-tool-call__status-dot--\" + e.status, p.textContent = m[e.status] || e.status), e.duration) {\n var n = l.querySelector(\".tokui-tool-call__duration\");\n n || (n = t(\"span\", {\n class: \"tokui-tool-call__duration\"\n }), u.appendChild(n)), n.textContent = e.duration;\n }\n\n if (e.result) {\n var r = t(\"div\", {\n class: \"tokui-tool-call__result\"\n });\n r.textContent = e.result, g.appendChild(r);\n }\n\n if (e.error) {\n var i = t(\"div\", {\n class: \"tokui-tool-call__error\"\n });\n i.textContent = e.error, g.appendChild(i);\n }\n }, l;\n }), e.register(\"typing\", function (e) {\n for (var n = e.attrs || {}, r = t(\"div\", {\n class: \"tokui-typing\"\n }), i = t(\"span\", {\n class: \"tokui-typing__dots\"\n }), a = 0; a < 3; a++) {\n var o = t(\"span\", {\n class: \"tokui-typing__dot\"\n });\n o.style.animationDelay = a * .15 + \"s\", i.appendChild(o);\n }\n\n if (r.appendChild(i), n.text) {\n var s = t(\"span\", {\n class: \"tokui-typing__text\"\n });\n s.textContent = n.text, r.appendChild(s);\n }\n\n return r;\n }), e.register(\"quick-reply\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-quick-reply\"\n }),\n a = t(\"div\", {\n class: \"tokui-quick-reply__items\"\n });\n return r.items && r.items.split(\",\").forEach(function (e) {\n var n = t(\"button\", {\n class: \"tokui-quick-reply__item\",\n type: \"button\"\n });\n n.textContent = e.trim(), a.appendChild(n);\n }), e.children && e.children.length && n(e.children).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), i.appendChild(a), i._slot = a, i._tokuiType = \"quick-reply\", i;\n }), e.register(\"suggestions\", function (e, n) {\n var r = e.attrs || {},\n i = Math.min(4, Math.max(1, parseInt(r.cols) || 2)),\n a = t(\"div\", {\n class: \"tokui-suggestions\"\n });\n r.clk && a.setAttribute(\"data-tokui-clk\", r.clk), r.id && (a.id = r.id);\n var o = t(\"div\", {\n class: \"tokui-suggestions__grid tokui-suggestions__grid--\" + i\n });\n return o.style.gridTemplateColumns = \"repeat(\" + i + \", 1fr)\", e.children && e.children.length && n(e.children).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), a.appendChild(o), a._slot = o, a._tokuiType = \"suggestions\", a;\n }), e.register(\"suggestion\", function (e) {\n var n = e.attrs || {},\n r = n.tt || \"\",\n i = n.tx || \"\",\n a = n.icon || \"\",\n o = t(\"div\", {\n class: \"tokui-suggestion\",\n role: \"button\",\n tabindex: \"0\"\n });\n\n if (n.clk && o.setAttribute(\"data-tokui-clk\", n.clk), n.dis !== void 0 && (o.classList.add(\"tokui-suggestion--disabled\"), o.setAttribute(\"aria-disabled\", \"true\")), a) {\n var s = t(\"span\", {\n class: \"tokui-suggestion__icon\"\n });\n s.textContent = a, o.appendChild(s);\n }\n\n var c = t(\"div\", {\n class: \"tokui-suggestion__body\"\n });\n\n if (r) {\n var l = t(\"div\", {\n class: \"tokui-suggestion__title\"\n });\n l.textContent = r, c.appendChild(l);\n }\n\n if (i) {\n var u = t(\"div\", {\n class: \"tokui-suggestion__desc\"\n });\n u.textContent = i, c.appendChild(u);\n }\n\n return o.appendChild(c), o.addEventListener(\"keydown\", function (e) {\n (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), o.click());\n }), o;\n }), e.register(\"source\", function (e) {\n var n = e.attrs || {},\n r = n.n || \"1\",\n i = n.tt || \"\",\n a = n.sn || \"\",\n o = n.u || n.url || \"\",\n s = t(\"div\", {\n class: \"tokui-source\"\n }),\n c = t(\"span\", {\n class: \"tokui-source__num\"\n });\n c.textContent = r, s.appendChild(c);\n var l = t(\"div\", {\n class: \"tokui-source__body\"\n });\n\n if (i) {\n var u = o ? t(\"a\", {\n class: \"tokui-source__title\",\n href: o,\n target: \"_blank\"\n }) : t(\"span\", {\n class: \"tokui-source__title\"\n });\n u.textContent = i, l.appendChild(u);\n }\n\n if (a) {\n var d = t(\"div\", {\n class: \"tokui-source__snippet\"\n });\n d.textContent = a, l.appendChild(d);\n }\n\n return s.appendChild(l), s;\n });\n\n function m(e, n) {\n e.innerHTML = \"\";\n var r = n.split(\"\\n\"),\n i = 0,\n a = 0;\n r.forEach(function (n) {\n var r = t(\"div\", {\n class: \"tokui-diff__line\"\n }),\n o = t(\"span\", {\n class: \"tokui-diff__num\"\n }),\n s = t(\"span\", {\n class: \"tokui-diff__code\"\n });\n n.startsWith(\"+\") ? (r.classList.add(\"tokui-diff__line--add\"), a++, o.textContent = a, s.textContent = n) : n.startsWith(\"-\") ? (r.classList.add(\"tokui-diff__line--remove\"), i++, o.textContent = i, s.textContent = n) : (r.classList.add(\"tokui-diff__line--context\"), i++, a++, o.textContent = i, s.textContent = n || \" \"), r.appendChild(o), r.appendChild(s), e.appendChild(r);\n });\n }\n\n e.register(\"diff\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-diff\"\n });\n\n if (r.title || r.lang) {\n var a = t(\"div\", {\n class: \"tokui-diff__header\"\n });\n\n if (r.title) {\n var o = t(\"span\", {\n class: \"tokui-diff__title\"\n });\n o.textContent = r.title, a.appendChild(o);\n }\n\n if (r.lang) {\n var s = t(\"span\", {\n class: \"tokui-diff__lang\"\n });\n s.textContent = r.lang, a.appendChild(s);\n }\n\n i.appendChild(a);\n }\n\n var c = t(\"div\", {\n class: \"tokui-diff__content\"\n }),\n l = \"\";\n l = e.children && e.children.length > 0 ? e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\") : e.content || \"\";\n\n function u() {\n m(c, l);\n }\n\n return u(), i.appendChild(c), i._slot = c, i._tokuiType = \"diff\", i._streamAppendHook = function (e) {\n e && e.type === \"_text\" && e.content && (l += e.content, u());\n }, i._streamCloseHook = u, i;\n }), e.register(\"plan\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-plan\"\n });\n\n if (r.tt) {\n var a = t(\"div\", {\n class: \"tokui-plan__title\"\n });\n a.textContent = r.tt, i.appendChild(a);\n }\n\n var o = t(\"div\", {\n class: \"tokui-plan__steps\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), i.appendChild(o), i._slot = o, i._tokuiType = \"plan\", i;\n }), e.register(\"plan-step\", function (e, n) {\n var r = e.attrs || {},\n i = {\n pending: 1,\n doing: 1,\n done: 1,\n error: 1,\n skipped: 1\n },\n a = {\n running: \"doing\",\n active: \"doing\",\n progress: \"doing\",\n processing: \"doing\",\n \"in-progress\": \"doing\",\n in_progress: \"doing\",\n current: \"doing\",\n complete: \"done\",\n completed: \"done\",\n finish: \"done\",\n finished: \"done\",\n ok: \"done\",\n success: \"done\",\n wait: \"pending\",\n waiting: \"pending\",\n todo: \"pending\",\n queued: \"pending\",\n fail: \"error\",\n failed: \"error\",\n failure: \"error\"\n },\n o = String(r.status || \"pending\").toLowerCase(),\n s = t(\"div\", {\n class: \"tokui-plan-step tokui-plan-step--\" + (a[o] || (i[o] ? o : \"pending\"))\n }),\n c = t(\"span\", {\n class: \"tokui-plan-step__dot\"\n });\n s.appendChild(c);\n var l = t(\"div\", {\n class: \"tokui-plan-step__content\"\n });\n\n if (r.tt) {\n var u = t(\"div\", {\n class: \"tokui-plan-step__title\"\n });\n u.textContent = r.tt, l.appendChild(u);\n }\n\n if (r.desc) {\n var d = t(\"div\", {\n class: \"tokui-plan-step__desc\"\n });\n d.textContent = r.desc, l.appendChild(d);\n }\n\n if (e.content) {\n var f = t(\"div\", {\n class: \"tokui-plan-step__text\"\n });\n f.textContent = e.content, l.appendChild(f);\n }\n\n n(e.children || []).forEach(function (e) {\n e && e.nodeType && l.appendChild(e);\n }), s.appendChild(l);\n var p = t(\"div\", {\n class: \"tokui-plan-step__line\"\n });\n return s.appendChild(p), s;\n }), e.register(\"agent\", function (e, r) {\n var i = e.attrs || {},\n a = i.name || \"Agent\",\n o = i.status || \"idle\",\n s = i.action || \"\",\n c = i.duration || \"\",\n l = {\n class: \"tokui-agent tokui-agent--\" + o\n };\n i.id && (l.id = i.id);\n var u = t(\"div\", l),\n d = t(\"div\", {\n class: \"tokui-agent__header\"\n }),\n f = t(\"span\", {\n class: \"tokui-agent__status-dot tokui-agent__status-dot--\" + o\n });\n d.appendChild(f);\n var p = t(\"span\", {\n class: \"tokui-agent__name\"\n });\n p.textContent = a, d.appendChild(p);\n var m = t(\"span\", {\n class: \"tokui-agent__status\"\n }),\n h = {\n idle: n(\"status.idle\"),\n running: n(\"status.running\"),\n paused: n(\"status.paused\"),\n done: n(\"status.done\"),\n error: n(\"status.error\")\n };\n\n if (m.textContent = h[o] || o, d.appendChild(m), c) {\n var g = t(\"span\", {\n class: \"tokui-agent__duration\"\n });\n g.textContent = c, d.appendChild(g);\n }\n\n if (u.appendChild(d), s) {\n var _ = t(\"div\", {\n class: \"tokui-agent__action\"\n });\n\n _.textContent = s, u.appendChild(_);\n }\n\n if (e.children && e.children.length) {\n var v = t(\"div\", {\n class: \"tokui-agent__body\"\n });\n r(e.children).forEach(function (e) {\n e && e.nodeType && v.appendChild(e);\n }), u.appendChild(v), u._slot = v;\n }\n\n return u._tokuiType = \"agent\", u._update = function (e) {\n e.status && (u.className = \"tokui-agent tokui-agent--\" + e.status, f.className = \"tokui-agent__status-dot tokui-agent__status-dot--\" + e.status, m.textContent = h[e.status] || e.status), e.action && _ && (_.textContent = e.action), e.duration && g && (g.textContent = e.duration);\n }, u;\n }), e.register(\"file-tree\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-file-tree\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"file-tree\", r;\n }), e.register(\"ft-folder\", function (e, n) {\n var r = e.attrs || {},\n i = r.name || \"folder\",\n a = r.open !== void 0,\n o = t(\"div\", {\n class: \"tokui-file-tree__folder\" + (a ? \" tokui-file-tree__folder--open\" : \"\")\n }),\n s = t(\"div\", {\n class: \"tokui-file-tree__folder-name\"\n }),\n c = t(\"span\", {\n class: \"tokui-file-tree__folder-toggle\"\n });\n c.textContent = a ? \"\\u25BE\" : \"\\u25B8\", s.appendChild(c);\n var l = t(\"span\", {\n class: \"tokui-file-tree__folder-icon\"\n });\n l.textContent = \"\\uD83D\\uDCC1\", s.appendChild(l);\n var u = t(\"span\", {\n class: \"tokui-file-tree__name\"\n });\n u.textContent = i, s.appendChild(u), o.appendChild(s);\n var d = t(\"div\", {\n class: \"tokui-file-tree__folder-children\"\n });\n return a || (d.style.display = \"none\"), n(e.children || []).forEach(function (e) {\n e && e.nodeType && d.appendChild(e);\n }), o.appendChild(d), s.addEventListener(\"click\", function () {\n var e = o.classList.toggle(\"tokui-file-tree__folder--open\");\n c.textContent = e ? \"\\u25BE\" : \"\\u25B8\", d.style.display = e ? \"\" : \"none\";\n }), o._slot = d, o._tokuiType = \"ft-folder\", o;\n }), e.register(\"ft-file\", function (e) {\n var n = e.attrs || {},\n r = n.name || \"file\",\n i = n.badge || \"\",\n a = t(\"div\", {\n class: \"tokui-file-tree__file\"\n }),\n o = t(\"span\", {\n class: \"tokui-file-tree__file-icon\"\n });\n o.textContent = \"\\uD83D\\uDCC4\", a.appendChild(o);\n var s = t(\"span\", {\n class: \"tokui-file-tree__name\"\n });\n\n if (s.textContent = r, a.appendChild(s), i) {\n var c = t(\"span\", {\n class: \"tokui-file-tree__file-badge\"\n });\n c.textContent = i, a.appendChild(c);\n }\n\n return a;\n }), e.register(\"terminal\", function (e, n) {\n var r = e.attrs || {},\n i = r.title || \"Terminal\",\n a = r.status || \"\",\n o = t(\"div\", {\n class: \"tokui-terminal\" + (a && a !== \"0\" ? \" tokui-terminal--error\" : \"\")\n }),\n s = t(\"div\", {\n class: \"tokui-terminal__titlebar\"\n }),\n c = t(\"span\", {\n class: \"tokui-terminal__dots\"\n });\n [\"\\uD83D\\uDD34\", \"\\uD83D\\uDFE1\", \"\\uD83D\\uDFE2\"].forEach(function (e) {\n var n = t(\"span\", {\n class: \"tokui-terminal__dot\"\n });\n n.textContent = e, c.appendChild(n);\n }), s.appendChild(c);\n var l = t(\"span\", {\n class: \"tokui-terminal__title\"\n });\n l.textContent = i, s.appendChild(l), o.appendChild(s);\n var u = t(\"div\", {\n class: \"tokui-terminal__content\"\n });\n return e.content && (u.textContent = e.content), n(e.children || []).forEach(function (e) {\n e && e.nodeType && u.appendChild(e);\n }), o.appendChild(u), o._slot = u, o._tokuiType = \"terminal\", o;\n }), e.register(\"shimmer\", function (e) {\n var n = e.attrs || {},\n r = n.t || \"text\",\n i = parseInt(n.rows) || 3,\n a = t(\"div\", {\n class: \"tokui-shimmer tokui-shimmer--\" + r\n });\n\n if (r === \"card\") {\n var o = t(\"div\", {\n class: \"tokui-shimmer__circle\"\n });\n a.appendChild(o);\n\n for (var s = t(\"div\", {\n class: \"tokui-shimmer__lines\"\n }), c = 0; c < i; c++) {\n s.appendChild(t(\"div\", {\n class: \"tokui-shimmer__row\"\n }));\n }\n\n a.appendChild(s);\n } else if (r === \"avatar\") a.appendChild(t(\"div\", {\n class: \"tokui-shimmer__circle\"\n }));else for (var l = 0; l < i; l++) {\n a.appendChild(t(\"div\", {\n class: \"tokui-shimmer__row\"\n }));\n }\n\n return a;\n }), e.register(\"latency\", function (e) {\n var r = e.attrs || {},\n i = r.v || \"\",\n a = r.t || \"\",\n o = t(\"span\", {\n class: \"tokui-latency\" + (a ? \" tokui-latency--\" + a : \"\")\n }),\n s = {\n thinking: \"\\uD83D\\uDCA1\",\n generating: \"\\u26A1\",\n total: \"\\u23F1\"\n };\n\n if (a && s[a]) {\n var c = t(\"span\", {\n class: \"tokui-latency__icon\"\n });\n c.textContent = s[a], o.appendChild(c);\n }\n\n var l = t(\"span\", {\n class: \"tokui-latency__value\"\n });\n\n if (l.textContent = i, o.appendChild(l), a) {\n var u = t(\"span\", {\n class: \"tokui-latency__label\"\n });\n u.textContent = {\n thinking: n(\"agent.thinking\"),\n generating: n(\"agent.generating\"),\n total: n(\"agent.total\")\n }[a] || a, o.appendChild(u);\n }\n\n return o;\n }), e.register(\"video\", function (e) {\n var n = e.attrs || {},\n r = n.s || \"\",\n i = n.poster || \"\",\n a = t(\"div\", {\n class: \"tokui-video\"\n });\n n.w && (a.style.width = /^\\d+$/.test(n.w) ? n.w + \"px\" : n.w);\n var o = t(\"video\", {\n class: \"tokui-video__player\",\n preload: \"metadata\"\n });\n r && o.setAttribute(\"src\", r), i && o.setAttribute(\"poster\", i), o.setAttribute(\"controls\", \"\");\n var s = n.h || n.ratio;\n if (o.style.objectFit = n.fit || (s ? \"cover\" : \"contain\"), n.h) o.style.height = /^\\d+$/.test(n.h) ? n.h + \"px\" : n.h;else if (n.ratio) {\n var c = String(n.ratio).split(\":\");\n c.length === 2 && parseFloat(c[0]) && parseFloat(c[1]) && (o.style.aspectRatio = c[0].trim() + \" / \" + c[1].trim(), o.style.maxHeight = \"none\");\n }\n return a.appendChild(o), a;\n }), e.register(\"audio\", function (e) {\n var n = e.attrs || {},\n r = n.s || \"\",\n i = n.tt || \"\",\n a = n.duration || \"\",\n o = t(\"div\", {\n class: \"tokui-audio\"\n });\n n.w && (o.style.width = /^\\d+$/.test(n.w) ? n.w + \"px\" : n.w);\n var s = t(\"div\", {\n class: \"tokui-audio__info\"\n }),\n c = t(\"span\", {\n class: \"tokui-audio__icon\"\n });\n\n if (c.textContent = \"\\uD83D\\uDD0A\", s.appendChild(c), i) {\n var l = t(\"span\", {\n class: \"tokui-audio__title\"\n });\n l.textContent = i, s.appendChild(l);\n }\n\n if (a) {\n var u = t(\"span\", {\n class: \"tokui-audio__duration\"\n });\n u.textContent = a, s.appendChild(u);\n }\n\n o.appendChild(s);\n var d = t(\"audio\", {\n class: \"tokui-audio__player\",\n preload: \"metadata\"\n });\n return r && d.setAttribute(\"src\", r), d.setAttribute(\"controls\", \"\"), o.appendChild(d), o;\n }), e.register(\"quote\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-quote\"\n }),\n a = t(\"div\", {\n class: \"tokui-quote__bar\"\n });\n i.appendChild(a);\n var o = t(\"div\", {\n class: \"tokui-quote__content\"\n });\n\n if (r.role) {\n var s = t(\"span\", {\n class: \"tokui-quote__role\"\n });\n s.textContent = r.role === \"user\" ? \"User\" : \"AI\", o.appendChild(s);\n }\n\n if (r.tx) {\n var c = t(\"div\", {\n class: \"tokui-quote__text\"\n });\n c.textContent = r.tx, o.appendChild(c);\n }\n\n return r.msgid && i.setAttribute(\"data-msgid\", r.msgid), n(e.children || []).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), i.appendChild(o), i._slot = o, i._tokuiType = \"quote\", i;\n }), e.register(\"sandbox\", function (e, n) {\n var r = e.attrs || {},\n i = r.lang || \"\",\n a = r.title || \"Preview\",\n o = r.height || \"200\",\n s = t(\"div\", {\n class: \"tokui-sandbox\"\n }),\n c = t(\"div\", {\n class: \"tokui-sandbox__header\"\n }),\n l = t(\"span\", {\n class: \"tokui-sandbox__title\"\n });\n\n if (l.textContent = a, c.appendChild(l), i) {\n var u = t(\"span\", {\n class: \"tokui-sandbox__lang\"\n });\n u.textContent = i, c.appendChild(u);\n }\n\n s.appendChild(c);\n var d = t(\"div\", {\n class: \"tokui-sandbox__preview\"\n });\n d.style.height = o + \"px\";\n var f = e.content || \"\";\n\n if (!f && e.children && (f = e.children.filter(function (e) {\n return e.type === \"_text\" && e.content;\n }).map(function (e) {\n return e.content;\n }).join(\"\")), i === \"html\") {\n var p = t(\"iframe\", {\n class: \"tokui-sandbox__iframe\",\n sandbox: \"allow-scripts\",\n frameborder: \"0\"\n });\n f && p.setAttribute(\"srcdoc\", f), d.appendChild(p), s._slot = {\n appendChild: function appendChild(e) {\n var t = e.nodeType === 3 ? e.nodeValue : e.textContent || \"\";\n if (!t) return e;\n var n = p.getAttribute(\"srcdoc\") || \"\";\n return p.setAttribute(\"srcdoc\", n + t), e;\n }\n };\n } else {\n var m = t(\"pre\", {\n class: \"tokui-sandbox__code\"\n });\n f && (m.textContent = f), n((e.children || []).filter(function (e) {\n return e.type !== \"_text\";\n })).forEach(function (e) {\n e && e.nodeType && m.appendChild(e);\n }), d.appendChild(m), s._slot = d;\n }\n\n return s.appendChild(d), s._tokuiType = \"sandbox\", s;\n }), e.register(\"commit\", function (e) {\n var n = e.attrs || {},\n r = t(\"div\", {\n class: \"tokui-commit\"\n }),\n i = n.hash || \"\",\n a = n.msg || \"\",\n o = n.author || \"\",\n s = n.branch || \"\",\n c = n.time || \"\",\n l = n.additions || \"\",\n u = n.deletions || \"\",\n d = t(\"div\", {\n class: \"tokui-commit__row\"\n });\n\n if (i) {\n var f = t(\"span\", {\n class: \"tokui-commit__hash\"\n });\n f.textContent = i.slice(0, 7), d.appendChild(f);\n }\n\n if (a) {\n var p = t(\"span\", {\n class: \"tokui-commit__msg\"\n });\n p.textContent = a, d.appendChild(p);\n }\n\n r.appendChild(d);\n var m = t(\"div\", {\n class: \"tokui-commit__meta\"\n });\n\n if (o) {\n var h = t(\"span\", {\n class: \"tokui-commit__author\"\n });\n h.textContent = o, m.appendChild(h);\n }\n\n if (s) {\n var g = t(\"span\", {\n class: \"tokui-commit__branch\"\n });\n g.textContent = s, m.appendChild(g);\n }\n\n if (c) {\n var _ = t(\"span\", {\n class: \"tokui-commit__time\"\n });\n\n _.textContent = c, m.appendChild(_);\n }\n\n if (r.appendChild(m), l || u) {\n var v = t(\"div\", {\n class: \"tokui-commit__stats\"\n });\n\n if (l) {\n var y = t(\"span\", {\n class: \"tokui-commit__additions\"\n });\n y.textContent = \"+\" + l, v.appendChild(y);\n }\n\n if (u) {\n var b = t(\"span\", {\n class: \"tokui-commit__deletions\"\n });\n b.textContent = \"-\" + u, v.appendChild(b);\n }\n\n r.appendChild(v);\n }\n\n return r;\n }), e.register(\"test-result\", function (e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-test-result\"\n }),\n a = t(\"div\", {\n class: \"tokui-test-result__summary\"\n });\n\n if ([{\n key: \"pass\",\n cls: \"--pass\",\n icon: \"\\u2713\"\n }, {\n key: \"fail\",\n cls: \"--fail\",\n icon: \"\\u2717\"\n }, {\n key: \"skip\",\n cls: \"--skip\",\n icon: \"\\u25CB\"\n }].forEach(function (e) {\n if (r[e.key]) {\n var n = t(\"span\", {\n class: \"tokui-test-result__count tokui-test-result__count\" + e.cls\n });\n n.textContent = e.icon + \" \" + r[e.key], a.appendChild(n);\n }\n }), r.total) {\n var o = t(\"span\", {\n class: \"tokui-test-result__count tokui-test-result__count--total\"\n });\n o.textContent = \"Total: \" + r.total, a.appendChild(o);\n }\n\n if (r.duration) {\n var s = t(\"span\", {\n class: \"tokui-test-result__duration\"\n });\n s.textContent = r.duration, a.appendChild(s);\n }\n\n i.appendChild(a);\n var c = t(\"div\", {\n class: \"tokui-test-result__cases\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && c.appendChild(e);\n }), i.appendChild(c), i._slot = c, i._tokuiType = \"test-result\", i;\n });\n\n function _(e) {\n var n = e.attrs || {},\n r = n.status || \"pass\",\n i = t(\"div\", {\n class: \"tokui-test-case tokui-test-case--\" + r,\n \"data-tokui-tag\": e.type\n }),\n a = t(\"span\", {\n class: \"tokui-test-case__status\"\n });\n a.textContent = {\n pass: \"\\u2713\",\n fail: \"\\u2717\",\n skip: \"\\u25CB\"\n }[r] || r, i.appendChild(a);\n var o = t(\"span\", {\n class: \"tokui-test-case__name\"\n });\n\n if (o.textContent = n.name || \"test\", i.appendChild(o), n.duration) {\n var s = t(\"span\", {\n class: \"tokui-test-case__duration\"\n });\n s.textContent = n.duration, i.appendChild(s);\n }\n\n if (r === \"fail\" && n.error) {\n var c = t(\"div\", {\n class: \"tokui-test-case__error\"\n });\n c.textContent = n.error, i.appendChild(c);\n }\n\n return i;\n }\n\n e.register(\"test-case\", function (e) {\n return _(e);\n }), e.register(\"case\", function (e) {\n return _(e);\n }), e.register(\"conversations\", function (e, r) {\n var i = e.attrs || {},\n a = i.clk || \"\",\n o = i.act || \"\",\n s = t(\"div\", {\n class: \"tokui-conversations\",\n role: \"list\"\n }),\n c = (e.children || []).filter(function (e) {\n return e.type === \"conv\";\n }),\n l = null;\n if (c.length === 0) return l = t(\"div\", {\n class: \"tokui-conversations__empty\"\n }), l.textContent = n(\"chat.emptySessions\"), s.appendChild(l), s._slot = s, s._tokuiType = \"conversations\", s._convHandlerName = a, s._convActiveAct = o, s._streamCloseHook = function () {\n s.querySelector(\".tokui-conv\") && l && l.parentNode && l.parentNode.removeChild(l);\n }, s;\n var u = y(c);\n return u.forEach(function (e) {\n if (u.length > 1) {\n var n = t(\"div\", {\n class: \"tokui-conversations__group-header\"\n });\n n.textContent = e.label, s.appendChild(n);\n }\n\n e.items.forEach(function (e) {\n var t = b(e, a, o, s);\n s.appendChild(t);\n });\n }), s._slot = s, s._tokuiType = \"conversations\", s;\n }), e.register(\"conv\", function (e) {\n return b(e, \"\", \"\", null);\n });\n\n function v(e) {\n return /^\\d{1,2}:\\d{2}$/.test(e);\n }\n\n function y(e) {\n var t = [],\n r = [],\n i = [];\n e.forEach(function (e) {\n var n = e.attrs && e.attrs.time || \"\";\n v(n) ? t.push(e) : n === \"\\u6628\\u5929\" ? r.push(e) : i.push(e);\n });\n var a = [];\n return t.length && a.push({\n label: n(\"time.today\"),\n items: t\n }), r.length && a.push({\n label: n(\"time.yesterday\"),\n items: r\n }), i.length && a.push({\n label: n(\"time.earlier\"),\n items: i\n }), a.length ? a : [{\n label: n(\"time.today\"),\n items: e\n }];\n }\n\n function b(e, r, i, a) {\n var o = e.attrs || {},\n s = o.tt || \"\",\n c = o.time || \"\",\n l = o.active === !0 || o.active === \"true\";\n !l && i && o.act && o.act === i && (l = !0);\n var u = [\"tokui-conv\"];\n l && u.push(\"tokui-conv--active\");\n var d = t(\"div\", {\n class: u.join(\" \"),\n role: \"listitem\",\n tabindex: \"0\",\n \"data-tokui-tag\": \"conv\"\n }),\n f = t(\"div\", {\n class: \"tokui-conv__title\"\n });\n\n if (f.textContent = s, d.appendChild(f), c) {\n var p = t(\"span\", {\n class: \"tokui-conv__time\"\n });\n p.textContent = c, d.appendChild(p);\n }\n\n var m = t(\"div\", {\n class: \"tokui-conv__actions\"\n }),\n h = t(\"button\", {\n class: \"tokui-conv__delete\",\n type: \"button\",\n \"aria-label\": n(\"common.delete\")\n });\n return h.textContent = \"\\xD7\", m.appendChild(h), d.appendChild(m), d.addEventListener(\"click\", function (e) {\n if (!(e.target.closest && e.target.closest(\".tokui-conv__delete\")) && ((a ? a.querySelectorAll(\".tokui-conv\") : [d]).forEach(function (e) {\n e.classList.remove(\"tokui-conv--active\");\n }), d.classList.add(\"tokui-conv--active\"), r)) {\n var t = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n t && typeof t.emit == \"function\" && t.emit(r, {\n tt: s,\n time: c,\n act: o.act || \"\"\n });\n }\n }), d.addEventListener(\"keydown\", function (e) {\n e.key === \"Enter\" && d.click();\n }), h.addEventListener(\"click\", function (e) {\n e.stopPropagation(), d.parentNode && d.parentNode.removeChild(d);\n }), r && d.setAttribute(\"data-tokui-clk\", r), d;\n }\n\n e.register(\"welcome\", function (e, n) {\n var r = e.attrs || {},\n i = r.tt || \"\",\n a = r.st || \"\",\n o = r.bd ? String(r.bd).split(\",\") : [],\n s = r.hd || \"\",\n c = r.ft || \"\",\n l = t(\"div\", {\n class: \"tokui-welcome\"\n });\n\n if (i || a || o.length) {\n var u = t(\"div\", {\n class: \"tokui-welcome__hero\"\n });\n\n if (i) {\n var d = t(\"div\", {\n class: \"tokui-welcome__title\"\n });\n d.textContent = i, u.appendChild(d);\n }\n\n if (a) {\n var f = t(\"div\", {\n class: \"tokui-welcome__subtitle\"\n });\n f.textContent = a, u.appendChild(f);\n }\n\n if (o.length) {\n var p = t(\"div\", {\n class: \"tokui-welcome__badges\"\n });\n o.forEach(function (e) {\n var n = String(e).trim();\n\n if (n) {\n var r = t(\"span\", {\n class: \"tokui-welcome__badge\"\n });\n r.textContent = n, p.appendChild(r);\n }\n }), u.appendChild(p);\n }\n\n l.appendChild(u);\n }\n\n if (s) {\n var m = t(\"div\", {\n class: \"tokui-welcome__section\"\n });\n m.textContent = s, l.appendChild(m);\n }\n\n var h = t(\"div\", {\n class: \"tokui-welcome__grid\"\n });\n\n if (n(e.children || []).forEach(function (e) {\n e && e.nodeType && h.appendChild(e);\n }), l.appendChild(h), c) {\n var g = t(\"div\", {\n class: \"tokui-welcome__footer\"\n });\n g.textContent = c, l.appendChild(g);\n }\n\n return l._slot = h, l._tokuiType = \"welcome\", l;\n });\n\n function x(e) {\n var n = e.attrs || {},\n r = n.tt || \"\",\n i = n.tx || \"\",\n a = n.i || \"code\",\n o = n.clk || \"\",\n s = {\n code: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><polyline points=\\\"16 18 22 12 16 6\\\"/><polyline points=\\\"8 6 2 12 8 18\\\"/></svg>\",\n chart: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><line x1=\\\"18\\\" y1=\\\"20\\\" x2=\\\"18\\\" y2=\\\"10\\\"/><line x1=\\\"12\\\" y1=\\\"20\\\" x2=\\\"12\\\" y2=\\\"4\\\"/><line x1=\\\"6\\\" y1=\\\"20\\\" x2=\\\"6\\\" y2=\\\"14\\\"/></svg>\",\n doc: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\\\"/><polyline points=\\\"14 2 14 8 20 8\\\"/><line x1=\\\"16\\\" y1=\\\"13\\\" x2=\\\"8\\\" y2=\\\"13\\\"/><line x1=\\\"16\\\" y1=\\\"17\\\" x2=\\\"8\\\" y2=\\\"17\\\"/></svg>\",\n dashboard: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"8\\\" height=\\\"10\\\" rx=\\\"1\\\"/><rect x=\\\"13\\\" y=\\\"3\\\" width=\\\"8\\\" height=\\\"6\\\" rx=\\\"1\\\"/><rect x=\\\"13\\\" y=\\\"13\\\" width=\\\"8\\\" height=\\\"8\\\" rx=\\\"1\\\"/><rect x=\\\"3\\\" y=\\\"17\\\" width=\\\"8\\\" height=\\\"4\\\" rx=\\\"1\\\"/></svg>\",\n print: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><polyline points=\\\"6 9 6 2 18 2 18 9\\\"/><path d=\\\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\\\"/><rect x=\\\"6\\\" y=\\\"14\\\" width=\\\"12\\\" height=\\\"8\\\" rx=\\\"1\\\"/></svg>\",\n chat: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\\\"/></svg>\",\n table: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"18\\\" height=\\\"16\\\" rx=\\\"1\\\"/><line x1=\\\"3\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"10\\\"/><line x1=\\\"9\\\" y1=\\\"10\\\" x2=\\\"9\\\" y2=\\\"20\\\"/></svg>\",\n form: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M9 11l3 3L22 4\\\"/><path d=\\\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\\\"/></svg>\"\n },\n c = {\n class: [\"tokui-welcome-feature\", \"tokui-welcome-feature--\" + a].join(\" \"),\n role: \"button\",\n tabindex: \"0\",\n \"data-tokui-tag\": e.type\n };\n o && (c[\"data-tokui-clk\"] = o), Object.keys(n).forEach(function (e) {\n e.indexOf(\"data-\") === 0 && (c[e] = n[e]);\n });\n var l = t(\"div\", c),\n u = t(\"div\", {\n class: \"tokui-welcome-feature__icon\"\n });\n u.innerHTML = s[a] || s.code, l.appendChild(u);\n var d = t(\"div\", {\n class: \"tokui-welcome-feature__body\"\n });\n\n if (r) {\n var f = t(\"div\", {\n class: \"tokui-welcome-feature__title\"\n });\n f.textContent = r, d.appendChild(f);\n }\n\n if (i) {\n var p = t(\"div\", {\n class: \"tokui-welcome-feature__desc\"\n });\n p.textContent = i, d.appendChild(p);\n }\n\n return l.appendChild(d), l._tokuiType = \"welcome-feature\", l;\n }\n\n e.register(\"welcome-feature\", function (e) {\n return x(e);\n }), e.register(\"feature\", function (e) {\n return x(e);\n }), e.register(\"attachments\", function (e, n) {\n var r = (e.attrs || {}).clk || \"\",\n i = t(\"div\", {\n class: \"tokui-attachments\"\n });\n return r && i.setAttribute(\"data-tokui-clk\", r), n(e.children || []).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i._slot = i, i._tokuiType = \"attachments\", i;\n }), e.register(\"attach\", function (e) {\n var r = e.attrs || {},\n i = r.t || \"default\",\n a = r.s || n(\"file.unnamed\"),\n o = r.u || \"\",\n c = r.size || \"\",\n l = r.clk || \"\",\n u = {\n pdf: \"#f5222d\",\n code: \"#1677ff\",\n excel: \"#52c41a\",\n word: \"#1677ff\",\n ppt: \"#fa8c16\",\n zip: \"#eab308\",\n video: \"#722ed1\",\n audio: \"#13c2c2\",\n image: \"#eb2f96\",\n default: \"#8c8c8c\"\n },\n d = u[i] || u.default,\n f = t(\"div\", {\n class: \"tokui-attach tokui-attach--\" + i\n });\n\n if (l && f.setAttribute(\"data-tokui-clk\", l), i === \"image\" && o) {\n var p = t(\"img\", {\n class: \"tokui-attach__thumb\",\n src: o,\n alt: a\n });\n f.appendChild(p);\n } else {\n var m = t(\"div\", {\n class: \"tokui-attach__icon\"\n });\n m.innerHTML = s(i, d), f.appendChild(m);\n }\n\n var h = t(\"div\", {\n class: \"tokui-attach__info\"\n }),\n g = t(\"div\", {\n class: \"tokui-attach__name\"\n });\n\n if (g.textContent = a, o && (g.style.cursor = \"pointer\", g.addEventListener(\"click\", function () {\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.open(o, \"_blank\");\n })), h.appendChild(g), c) {\n var _ = t(\"div\", {\n class: \"tokui-attach__size\"\n });\n\n _.textContent = c, h.appendChild(_);\n }\n\n f.appendChild(h);\n var v = t(\"div\", {\n class: \"tokui-attach__actions\"\n });\n\n if (o) {\n var y = t(\"a\", {\n class: \"tokui-attach__action\",\n href: o,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n download: \"\"\n });\n y.innerHTML = \"<svg viewBox=\\\"0 0 16 16\\\" width=\\\"14\\\" height=\\\"14\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M8 2v9M4.5 7.5L8 11l3.5-3.5M2 13h12\\\"/></svg>\", y.title = n(\"common.download\"), v.appendChild(y);\n }\n\n var b = t(\"button\", {\n class: \"tokui-attach__action tokui-attach__action--del\",\n type: \"button\"\n });\n return b.innerHTML = \"<svg viewBox=\\\"0 0 16 16\\\" width=\\\"14\\\" height=\\\"14\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M4 4l8 8M12 4l-8 8\\\"/></svg>\", b.title = n(\"common.delete\"), b.addEventListener(\"click\", function (e) {\n if (e.stopPropagation(), l) {\n var t = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n t && typeof t.emit == \"function\" && t.emit(l, {\n name: a,\n url: o,\n type: i\n });\n }\n\n f.parentNode && f.parentNode.removeChild(f);\n }), v.appendChild(b), f.appendChild(v), f._tokuiType = \"attach\", f;\n }), e.register(\"artifact\", function (e, n) {\n var r = e.attrs || {},\n o = r.tt || \"Artifact\",\n s = r.lang || \"text\";\n r.pos, r.w;\n var c = t(\"div\", {\n class: \"tokui-artifact\"\n }),\n l = t(\"div\", {\n class: \"tokui-artifact__header\"\n }),\n d = t(\"span\", {\n class: \"tokui-artifact__title\"\n });\n d.textContent = o, l.appendChild(d);\n var f = t(\"div\", {\n class: \"tokui-artifact__tabs\"\n }),\n m = t(\"button\", {\n class: \"tokui-artifact__tab tokui-artifact__tab--code tokui-artifact__tab--active\",\n type: \"button\"\n });\n m.textContent = \"Code\", f.appendChild(m);\n var h = t(\"button\", {\n class: \"tokui-artifact__tab tokui-artifact__tab--preview\",\n type: \"button\"\n });\n h.textContent = \"Preview\", f.appendChild(h), l.appendChild(f);\n var g = t(\"button\", {\n class: \"tokui-artifact__close\",\n type: \"button\",\n \"aria-label\": \"Close\"\n });\n g.innerHTML = \"&times;\", l.appendChild(g), c.appendChild(l);\n\n var _ = t(\"div\", {\n class: \"tokui-artifact__code\"\n }),\n v = \"\",\n y = (e.children || []).filter(function (e) {\n return e.type === \"artifact-code\";\n });\n\n y.length > 0 && (v = (y[0].children || []).map(function (e) {\n return e.content || \"\";\n }).join(\"\"));\n var b = t(\"pre\", {\n class: \"tokui-code\"\n }),\n x = t(\"code\", {\n class: \"language-\" + s\n });\n s !== \"text\" && i[s] ? x.innerHTML = p(a(v, s)) : x.innerHTML = p(u(v)), b.appendChild(x), _.appendChild(b);\n var S = t(\"button\", {\n class: \"tokui-artifact__code-copy\",\n type: \"button\"\n });\n S.textContent = \"Copy\", S.addEventListener(\"click\", function () {\n var e = x.textContent || \"\";\n (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) < \"u\" && navigator.clipboard && navigator.clipboard.writeText(e), S.textContent = \"Copied\", S.classList.add(\"tokui-artifact__code-copy--done\"), setTimeout(function () {\n S.textContent = \"Copy\", S.classList.remove(\"tokui-artifact__code-copy--done\");\n }, 2e3);\n }), _.appendChild(S), c.appendChild(_);\n var C = t(\"div\", {\n class: \"tokui-artifact__preview\"\n });\n C.style.display = \"none\";\n var w = t(\"iframe\", {\n class: \"tokui-artifact__iframe\",\n sandbox: \"allow-scripts\",\n frameborder: \"0\"\n }),\n T = \"\";\n T = s === \"html\" ? v : \"<pre style=\\\"margin:0;padding:16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;\\\">\" + v.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\") + \"</pre>\", w.setAttribute(\"srcdoc\", T), C.appendChild(w), c.appendChild(C);\n var E = t(\"div\", {\n class: \"tokui-artifact__resize\"\n });\n c.appendChild(E), m.addEventListener(\"click\", function () {\n _.style.display = \"\", C.style.display = \"none\", m.classList.add(\"tokui-artifact__tab--active\"), h.classList.remove(\"tokui-artifact__tab--active\");\n }), h.addEventListener(\"click\", function () {\n _.style.display = \"none\", C.style.display = \"\", h.classList.add(\"tokui-artifact__tab--active\"), m.classList.remove(\"tokui-artifact__tab--active\");\n }), g.addEventListener(\"click\", function () {\n var e = new CustomEvent(\"tokui-artifact-close\", {\n bubbles: !0,\n detail: {\n artifact: c\n }\n });\n c.dispatchEvent(e), c.style.display = \"none\";\n });\n var D = !1;\n E.addEventListener(\"mousedown\", function (e) {\n D = !0, e.preventDefault(), document.addEventListener(\"mousemove\", O), document.addEventListener(\"mouseup\", k);\n });\n\n function O(e) {\n if (D) {\n var t = c.getBoundingClientRect();\n\n if (t) {\n var n = t.bottom - e.clientY;\n n = Math.max(120, n), c.style.height = n + \"px\";\n }\n }\n }\n\n function k() {\n D = !1, document.removeEventListener(\"mousemove\", O), document.removeEventListener(\"mouseup\", k);\n }\n\n return c._slot = x, c._tokuiType = \"artifact\", c._artifactCode = v, setTimeout(function () {\n c.querySelectorAll(\".tokui-artifact-preview-standalone\").forEach(function (e) {\n e.parentNode && e.parentNode.removeChild(e);\n });\n }, 0), c._streamCloseHook = function () {\n var t = (e.children || []).find(function (e) {\n return e.type === \"artifact-code\";\n }),\n n;\n if (t) n = (t.children || []).map(function (e) {\n return e.content || \"\";\n }).join(\"\");else {\n n = \"\";\n\n for (var r = c.querySelectorAll(\"pre\"), o = 0; o < r.length; o++) {\n if (r[o]._tokuiType === \"artifact-code\") {\n var l = r[o].querySelector(\"code\");\n\n if (l) {\n n = l.textContent || \"\";\n break;\n }\n }\n }\n\n n || (n = c._artifactCode || \"\");\n }\n s !== \"text\" && i[s] ? x.innerHTML = p(a(n, s)) : x.innerHTML = p(u(n)), c._artifactCode = n;\n var d = \"\";\n d = s === \"html\" ? n : \"<pre style=\\\"margin:0;padding:16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;\\\">\" + n.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\") + \"</pre>\", w.setAttribute(\"srcdoc\", d);\n var f = c.querySelector(\".tokui-artifact-preview-standalone\");\n f && f.parentNode && f.parentNode.removeChild(f);\n }, c;\n }), e.register(\"artifact-code\", function (e, n) {\n var r = \"\";\n r = e.children && e.children.length > 0 ? e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\") : e.content || \"\";\n var i = t(\"pre\", {\n class: \"tokui-code\"\n }),\n a = t(\"code\", {});\n return a.textContent = r, i.appendChild(a), i._slot = a, i._tokuiType = \"artifact-code\", i._streamCloseHook = function () {\n for (var e = \"\", t = 0; t < a.childNodes.length; t++) {\n e += a.childNodes[t].textContent || \"\";\n }\n\n a.textContent = e;\n }, i;\n }), e.register(\"artifact-preview\", function (e, n, r) {\n if (r === \"artifact\") {\n var i = t(\"div\", {\n style: \"display:none\"\n });\n return i._tokuiType = \"artifact-preview\", i;\n }\n\n var a = t(\"div\", {\n class: \"tokui-artifact-preview-standalone\"\n }),\n o = t(\"iframe\", {\n class: \"tokui-artifact__iframe\",\n sandbox: \"allow-scripts\",\n frameborder: \"0\"\n }),\n s = \"\";\n return e.children && e.children.length > 0 && (s = e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\")), s && o.setAttribute(\"srcdoc\", s), a.appendChild(o), a._tokuiType = \"artifact-preview\", a;\n }), e.register(\"command\", function (e, r) {\n var i = e.attrs || {},\n a = i.ph || n(\"command.placeholder\"),\n o = t(\"div\", {\n class: \"tokui-command\"\n });\n i.id && (o.id = i.id), i.clk && o.setAttribute(\"data-tokui-clk\", i.clk);\n var s = t(\"div\", {\n class: \"tokui-command__overlay\"\n });\n o.appendChild(s);\n var c = t(\"div\", {\n class: \"tokui-command__panel\",\n role: \"dialog\",\n \"aria-label\": n(\"command.aria\")\n }),\n l = t(\"div\", {\n class: \"tokui-command__input-wrap\"\n }),\n u = t(\"span\", {\n class: \"tokui-command__search-icon\",\n \"aria-hidden\": \"true\"\n });\n u.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"18\\\" height=\\\"18\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"/><path d=\\\"M21 21l-4.35-4.35\\\"/></svg>\", l.appendChild(u);\n var d = t(\"input\", {\n class: \"tokui-command__input\",\n type: \"text\",\n placeholder: a,\n autocomplete: \"off\",\n autofocus: \"true\"\n });\n l.appendChild(d), c.appendChild(l);\n var f = t(\"div\", {\n class: \"tokui-command__list\",\n role: \"listbox\"\n });\n r(e.children || []).forEach(function (e) {\n e && e.nodeType && f.appendChild(e);\n });\n var p = t(\"div\", {\n class: \"tokui-command__empty\"\n });\n p.textContent = n(\"command.noResult\"), p.style.display = \"none\", f.appendChild(p), c.appendChild(f), o.appendChild(c);\n var m = [],\n h = [];\n\n function g() {\n m = Array.from(f.querySelectorAll(\".tokui-command__item\")), h = Array.from(f.querySelectorAll(\".tokui-command__group\"));\n }\n\n g();\n\n function _(e, t) {\n if (!t) return {\n match: !0,\n score: 0\n };\n var n = e.toLowerCase(),\n r = t.toLowerCase();\n if (n.indexOf(r) !== -1) return {\n match: !0,\n score: r.length / n.length\n };\n\n for (var i = 0, a = 0, o = 0; o < n.length && i < r.length; o++) {\n n[o] === r[i] && (i++, a++);\n }\n\n return i === r.length ? {\n match: !0,\n score: a / n.length\n } : {\n match: !1,\n score: 0\n };\n }\n\n function v(e, t) {\n if (!t) return document.createTextNode(e);\n var n = e.toLowerCase(),\n r = t.toLowerCase(),\n i = n.indexOf(r);\n if (i === -1) return document.createTextNode(e);\n var a = document.createDocumentFragment(),\n o = e.slice(0, i),\n s = e.slice(i, i + r.length),\n c = e.slice(i + r.length);\n o && a.appendChild(document.createTextNode(o));\n var l = document.createElement(\"mark\");\n return l.className = \"tokui-command__highlight\", l.textContent = s, a.appendChild(l), c && a.appendChild(document.createTextNode(c)), a;\n }\n\n function y(e) {\n var t = 0;\n m.forEach(function (n) {\n var r = n.getAttribute(\"data-value\") || n.textContent || \"\";\n\n if (_(r, e).match) {\n n.style.display = \"\", t++;\n var i = n.querySelector(\".tokui-command__item-text\");\n i && (i.innerHTML = \"\", i.appendChild(v(r, e)));\n } else n.style.display = \"none\", n.classList.remove(\"tokui-command__item--selected\");\n }), h.forEach(function (e) {\n var t = e.querySelectorAll(\".tokui-command__item:not([style*=\\\"display: none\\\"])\");\n e.style.display = t.length === 0 ? \"none\" : \"\";\n }), p.style.display = t === 0 ? \"\" : \"none\", b = -1, t > 0 && (b = 0, S());\n }\n\n d.addEventListener(\"input\", function () {\n y(d.value.trim());\n });\n var b = -1;\n\n function x() {\n return m.filter(function (e) {\n return e.style.display !== \"none\";\n });\n }\n\n function S() {\n x().forEach(function (e, t) {\n t === b ? (e.classList.add(\"tokui-command__item--selected\"), e.setAttribute(\"aria-selected\", \"true\"), e.scrollIntoView && e.scrollIntoView({\n block: \"nearest\"\n })) : (e.classList.remove(\"tokui-command__item--selected\"), e.setAttribute(\"aria-selected\", \"false\"));\n });\n }\n\n function C(e) {\n if (e) {\n var t = e.getAttribute(\"data-tokui-clk\");\n\n if (t) {\n var n = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n n && typeof n.emit == \"function\" && n.emit(t, {\n value: e.getAttribute(\"data-value\"),\n text: e.textContent\n });\n }\n\n var r = o.getAttribute(\"data-tokui-clk\");\n\n if (r) {\n var i = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n i && typeof i.emit == \"function\" && i.emit(r, {\n value: e.getAttribute(\"data-value\"),\n text: e.textContent,\n clk: t\n });\n }\n\n T();\n }\n }\n\n d.addEventListener(\"keydown\", function (e) {\n var t = x();\n e.key === \"ArrowDown\" ? (e.preventDefault(), t.length > 0 && (b = (b + 1) % t.length, S())) : e.key === \"ArrowUp\" ? (e.preventDefault(), t.length > 0 && (b = b <= 0 ? t.length - 1 : b - 1, S())) : e.key === \"Enter\" ? (e.preventDefault(), b >= 0 && b < t.length && C(t[b])) : e.key === \"Escape\" && (e.preventDefault(), T());\n });\n\n function w() {\n g(), y(d.value || \"\"), o.classList.add(\"tokui-command--open\"), d.focus();\n }\n\n function T() {\n o.classList.remove(\"tokui-command--open\"), d.value = \"\", y(\"\"), b = -1;\n }\n\n s.addEventListener(\"click\", function () {\n T();\n });\n\n function E(e) {\n (e.metaKey || e.ctrlKey) && e.key === \"k\" && (e.preventDefault(), o.classList.contains(\"tokui-command--open\") ? T() : w());\n }\n\n return i.hotkey !== void 0 && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener(\"keydown\", E), o._tokuiType = \"command\", o._slot = f, o._openCommand = w, o._closeCommand = T, o._streamCloseHook = function () {\n g(), y(d.value || \"\");\n }, o;\n });\n\n function S(e) {\n var n = e.attrs || {},\n r = n.tx || \"\",\n i = n.v || r,\n a = t(\"div\", {\n class: \"tokui-command__item\",\n role: \"option\",\n tabindex: \"-1\",\n \"data-value\": i,\n \"aria-selected\": \"false\",\n \"data-tokui-tag\": e.type\n });\n n.clk && a.setAttribute(\"data-tokui-clk\", n.clk);\n var o = t(\"span\", {\n class: \"tokui-command__item-text\"\n });\n\n if (o.textContent = r, a.appendChild(o), n.shortcut) {\n var s = t(\"span\", {\n class: \"tokui-command__item-shortcut\"\n });\n s.textContent = n.shortcut, a.appendChild(s);\n }\n\n return a.addEventListener(\"click\", function () {\n var e = a.closest ? a.closest(\".tokui-command\") : null;\n\n if (e && e._closeCommand) {\n var t = a.getAttribute(\"data-tokui-clk\");\n\n if (t) {\n var n = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n n && typeof n.emit == \"function\" && n.emit(t, {\n value: i,\n text: r\n });\n }\n\n var o = e.getAttribute(\"data-tokui-clk\");\n\n if (o) {\n var s = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal.eventBus : null;\n s && typeof s.emit == \"function\" && s.emit(o, {\n value: i,\n text: r,\n clk: t\n });\n }\n\n e._closeCommand();\n }\n }), a.addEventListener(\"mouseenter\", function () {\n var e = a.closest ? a.closest(\".tokui-command__list\") : null;\n e && (Array.from(e.querySelectorAll(\".tokui-command__item:not([style*=\\\"display: none\\\"])\")).forEach(function (e) {\n e.classList.remove(\"tokui-command__item--selected\"), e.setAttribute(\"aria-selected\", \"false\");\n }), a.classList.add(\"tokui-command__item--selected\"), a.setAttribute(\"aria-selected\", \"true\"));\n }), a;\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal && (window.TokUI._internal.buildCommandItem = S), e.register(\"command-group\", function (e, n) {\n var r = (e.attrs || {}).tt || \"\",\n i = t(\"div\", {\n class: \"tokui-command__group\",\n role: \"group\"\n });\n\n if (r) {\n i.setAttribute(\"aria-label\", r);\n var a = t(\"div\", {\n class: \"tokui-command__group-heading\"\n });\n a.textContent = r, i.appendChild(a);\n }\n\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i._slot = i, i._tokuiType = \"command-group\", i;\n }), e.register(\"command-item\", function (e) {\n return S(e);\n }), e.register(\"canvas\", function (e, n) {\n var r = e.attrs || {},\n i = r.tt || \"Canvas\",\n a = r.pos || \"right\",\n o = parseInt(r.w) || 400,\n s = r.open !== void 0,\n c = r.closable === void 0 || r.closable === !0,\n l = [\"tokui-canvas\", \"tokui-canvas--\" + a];\n s && l.push(\"tokui-canvas--open\");\n var u = t(\"div\", {\n class: l.join(\" \")\n });\n u.style.setProperty(\"--tokui-canvas-w\", o + \"px\");\n var d = t(\"button\", {\n class: \"tokui-canvas__toggle\",\n type: \"button\",\n \"aria-label\": s ? \"Close panel\" : \"Open panel\"\n });\n d.textContent = i, d.addEventListener(\"click\", function () {\n var e = u.classList.contains(\"tokui-canvas--open\");\n u.classList.toggle(\"tokui-canvas--open\"), d.setAttribute(\"aria-label\", e ? \"Open panel\" : \"Close panel\");\n }), u.appendChild(d);\n var f = t(\"div\", {\n class: \"tokui-canvas__panel\"\n });\n f.style.width = o + \"px\";\n var p = t(\"div\", {\n class: \"tokui-canvas__header\"\n }),\n m = t(\"span\", {\n class: \"tokui-canvas__title\"\n });\n\n if (m.textContent = i, p.appendChild(m), c) {\n var h = t(\"button\", {\n class: \"tokui-canvas__close\",\n type: \"button\",\n \"aria-label\": \"Close\"\n });\n h.innerHTML = \"&times;\", h.addEventListener(\"click\", function () {\n u.classList.remove(\"tokui-canvas--open\"), d.setAttribute(\"aria-label\", \"Open panel\");\n }), p.appendChild(h);\n }\n\n f.appendChild(p);\n var g = t(\"div\", {\n class: \"tokui-canvas__body\"\n });\n return r.tx && (g.textContent = r.tx), n(e.children || []).forEach(function (e) {\n e && e.nodeType && g.appendChild(e);\n }), f.appendChild(g), u.appendChild(f), u._slot = g, u._tokuiType = \"canvas\", u._update = function (e) {\n if (e.tt !== void 0) {\n var t = u.querySelector(\".tokui-canvas__title\");\n t && (t.textContent = e.tt), d.textContent = e.tt;\n }\n\n e.act === \"open\" ? u.classList.add(\"tokui-canvas--open\") : e.act === \"close\" ? u.classList.remove(\"tokui-canvas--open\") : e.act === \"toggle\" && u.classList.toggle(\"tokui-canvas--open\");\n }, u;\n }), e.register(\"canvas-content\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-canvas__content\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"canvas-content\", r;\n });\n }\n\n function s(e, t) {\n var n = \"1.5\",\n r = \"round\",\n i = \"round\",\n a = \"<path d=\\\"M6 2h8l6 6v12a2 2 0 01-2 2H6a2 2 0 01-2-2V4a2 2 0 012-2z\\\" fill=\\\"none\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"\" + n + \"\\\" stroke-linecap=\\\"\" + r + \"\\\" stroke-linejoin=\\\"\" + i + \"\\\"/><path d=\\\"M14 2v6h6\\\" fill=\\\"none\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"\" + n + \"\\\" stroke-linecap=\\\"\" + r + \"\\\" stroke-linejoin=\\\"\" + i + \"\\\"/>\",\n o = {\n pdf: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<text x=\\\"12\\\" y=\\\"16.5\\\" text-anchor=\\\"middle\\\" font-size=\\\"5.5\\\" font-weight=\\\"700\\\" font-family=\\\"sans-serif\\\" fill=\\\"\" + t + \"\\\">PDF</text></svg>\",\n word: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<text x=\\\"12\\\" y=\\\"16.5\\\" text-anchor=\\\"middle\\\" font-size=\\\"7\\\" font-weight=\\\"700\\\" font-family=\\\"sans-serif\\\" fill=\\\"\" + t + \"\\\">W</text></svg>\",\n excel: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M9 11v6M12 11v6M8 14h4\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n ppt: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<circle cx=\\\"12\\\" cy=\\\"14\\\" r=\\\"3\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/></svg>\",\n zip: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M10 10h4M10 13h4M10 16h2\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n code: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M9 12l-2 2 2 2M15 12l2 2-2 2\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n video: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M10 12.5l4-2.5v5l-4-2.5z\\\" fill=\\\"none\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n audio: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M10 15v-3M12 13v4M14 11v6\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n image: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<circle cx=\\\"10\\\" cy=\\\"11\\\" r=\\\"1.5\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.2\\\" fill=\\\"none\\\"/><path d=\\\"M8 17l3-3 2 2 3-4 3 5H8z\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.2\\\" stroke-linejoin=\\\"round\\\" fill=\\\"none\\\"/></svg>\",\n default: \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" height=\\\"24\\\" fill=\\\"none\\\">\" + a + \"<path d=\\\"M9 12h6M9 15h4\\\" stroke=\\\"\" + t + \"\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/></svg>\"\n };\n return o[e] || o.default;\n }\n\n function c(e, t) {\n if (t <= 7) {\n for (var n = [], r = 1; r <= t; r++) {\n n.push(r);\n }\n\n return n;\n }\n\n var i = [1];\n e > 3 && i.push(\"...\");\n\n for (var a = Math.max(2, e - 1), o = Math.min(t - 1, e + 1), s = a; s <= o; s++) {\n i.push(s);\n }\n\n return e < t - 2 && i.push(\"...\"), i.push(t), i;\n }\n\n function l() {\n (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) > \"u\" || document.querySelectorAll(\".tokui-dropdown__panel--open\").forEach(function (e) {\n e.classList.remove(\"tokui-dropdown__panel--open\"), e.style.top = \"\", e.style.left = \"\";\n var t = e.parentElement.querySelector(\".tokui-dropdown__trigger\");\n t && t.setAttribute(\"aria-expanded\", \"false\");\n });\n }\n\n (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && typeof document.addEventListener == \"function\" && document.addEventListener(\"click\", function () {\n l();\n });\n\n function d(e) {\n var t = e.querySelectorAll(\".tokui-md-img\");\n if (!t.length) return;\n var n = Array.from(t).map(function (e) {\n return e.src;\n });\n t.forEach(function (e, t) {\n e.style.cursor = \"pointer\", e.addEventListener(\"click\", function () {\n var _ref5 = true ? g() : undefined,\n e = _ref5.getLightbox;\n\n e((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : void 0).open(n[t], n);\n });\n });\n }\n\n function f(e) {\n if (!e) return \"\";\n\n function t(e) {\n return e.trim().replace(/^\\|/, \"\").replace(/\\|$/, \"\").split(\"|\").map(function (e) {\n return e.trim();\n });\n }\n\n function n(e) {\n return e.trim().replace(/^\\|/, \"\").replace(/\\|$/, \"\").split(\"|\").map(function (e) {\n return e = e.trim(), /^:-+:$/.test(e) ? \"center\" : /^-+:$/.test(e) ? \"right\" : (/^:-+$/.test(e), \"left\");\n });\n }\n\n function r(e) {\n return String(e).replace(/&/g, \"&amp;\").replace(/\"/g, \"&quot;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n }\n\n function o(e) {\n return e = e.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\"), e = e.replace(/\\*\\*(.+?)\\*\\*/g, \"<strong>$1</strong>\"), e = e.replace(/\\*(.+?)\\*/g, \"<em>$1</em>\"), e = e.replace(/~~(.+?)~~/g, \"<del>$1</del>\"), e = e.replace(/`([^`]+)`/g, \"<code>$1</code>\"), e = e.replace(/!\\[([^\\]]*)\\]\\(([^)]+)\\)/g, function (e, t, n) {\n return /^https?:\\/\\//i.test(n) ? \"<img src=\\\"\" + r(n) + \"\\\" alt=\\\"\" + r(t) + \"\\\" class=\\\"tokui-md-img\\\" />\" : e;\n }), e = e.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g, function (e, t, n) {\n return /^(https?:\\/\\/|mailto:|\\/|#)/i.test(n) || (n = \"#\"), \"<a href=\\\"\" + r(n) + \"\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">\" + t + \"</a>\";\n }), e;\n }\n\n var s = [];\n return e = e.replace(/```(\\w*)\\n([\\s\\S]*?)```/g, function (e, t, n) {\n var r = s.length;\n return s.push({\n lang: t,\n code: n.replace(/\\n$/, \"\")\n }), \"\\x02CODEFENCE\" + r + \"\\x03\";\n }), e = e.replace(/^(?:\\*{3,}|-{3,}|_{3,})\\s*$/gm, \"\\x02TOKUIHR\\x03\"), e.split(/\\n{2,}/).map(function (e) {\n if (e = e.trim(), !e) return \"\";\n var r = e.match(/^\\x02CODEFENCE(\\d+)\\x03$/);\n\n if (r) {\n var c = s[parseInt(r[1])],\n l = c.lang || \"text\",\n u = i[l] ? a(c.code, l) : c.code.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n return \"<pre class=\\\"tokui-code\\\"><code class=\\\"language-\" + l + \"\\\">\" + u + \"</code></pre>\";\n }\n\n e = o(e);\n\n for (var d = e.split(\"\\n\"), f = [], p = !1, m = !1, h = !1, g = !1, _ = -1, v = 0; v < d.length; v++) {\n if (d[v].trim().indexOf(\"|\") === 0) {\n _ = v;\n break;\n }\n }\n\n if (_ !== -1) {\n for (var y = [], b = _, x = _; x < d.length && d[x].trim().indexOf(\"|\") === 0; x++) {\n y.push(d[x]), b = x;\n }\n\n if (y.length >= 2 && /^\\|[\\s\\-:|]+\\|$/.test(y[1].trim())) {\n for (var S = 0; S < _; S++) {\n F(d[S]);\n }\n\n g = !0;\n\n for (var C = n(y[1]), w = \"<table class=\\\"tokui-md-table\\\"><thead><tr>\", T = t(y[0]), E = 0; E < T.length; E++) {\n var D = C[E] || \"left\";\n w += \"<th style=\\\"text-align:\" + D + \"\\\">\" + T[E] + \"</th>\";\n }\n\n w += \"</tr></thead><tbody>\";\n\n for (var O = 2; O < y.length; O++) {\n var k = t(y[O]);\n w += \"<tr>\";\n\n for (var A = 0; A < k.length; A++) {\n var j = C[A] || \"left\";\n w += \"<td style=\\\"text-align:\" + j + \"\\\">\" + k[A] + \"</td>\";\n }\n\n w += \"</tr>\";\n }\n\n w += \"</tbody></table>\", f.push(w);\n\n for (var M = b + 1; M < d.length; M++) {\n F(d[M]);\n }\n\n p && f.push(\"</ul>\"), m && f.push(\"</ol>\"), h && f.push(\"</blockquote>\");\n var N = f.join(\"\");\n return g ? N : \"<p>\" + N + \"</p>\";\n }\n }\n\n for (var P = 0; P < d.length; P++) {\n F(d[P]);\n }\n\n p && f.push(\"</ul>\"), m && f.push(\"</ol>\"), h && f.push(\"</blockquote>\");\n var N = f.join(\"\");\n if (!g) return \"<p>\" + N + \"</p>\";\n return N;\n\n function F(e) {\n if (e.trim() === \"\\x02TOKUIHR\\x03\" || /^(\\*{3,}|-{3,}|_{3,})\\s*$/.test(e.trim())) {\n p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), h && (h = (f.push(\"</blockquote>\"), !1)), g = !0, f.push(\"<hr class=\\\"tokui-md__hr\\\">\");\n return;\n }\n\n if (e.match(/^&gt;\\s*/)) {\n p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), h || (h = (f.push(\"<blockquote class=\\\"tokui-md__quote\\\">\"), !0)), g = !0;\n var t = e.replace(/^&gt;\\s*/, \"\");\n f.push(\"<p>\" + t + \"</p>\");\n return;\n }\n\n if (h && !e.match(/^&gt;\\s*/) && (f.push(\"</blockquote>\"), h = !1), e.match(/^### /)) p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), h && (h = (f.push(\"</blockquote>\"), !1)), g = !0, f.push(e.replace(/^### (.+)$/, \"<h3>$1</h3>\"));else if (e.match(/^## /)) p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), h && (h = (f.push(\"</blockquote>\"), !1)), g = !0, f.push(e.replace(/^## (.+)$/, \"<h2>$1</h2>\"));else if (e.match(/^# /)) p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), h && (h = (f.push(\"</blockquote>\"), !1)), g = !0, f.push(e.replace(/^# (.+)$/, \"<h1>$1</h1>\"));else if (e.match(/^- \\[[ xX]\\] /)) {\n m && (m = (f.push(\"</ol>\"), !1)), p || (p = (f.push(\"<ul class=\\\"tokui-md__tasks\\\">\"), !0)), g = !0;\n var n = /^- \\[[xX]\\] /.test(e),\n r = e.replace(/^- \\[[xX ]\\] /, \"\");\n f.push(\"<li class=\\\"tokui-md__task\\\"><input type=\\\"checkbox\\\" disabled\" + (n ? \" checked\" : \"\") + \">\" + r + \"</li>\");\n } else e.match(/^- /) ? (m && (m = (f.push(\"</ol>\"), !1)), p || (p = (f.push(\"<ul>\"), !0)), g = !0, f.push(e.replace(/^- (.+)$/, \"<li>$1</li>\"))) : e.match(/^\\d+\\. /) ? (p && (p = (f.push(\"</ul>\"), !1)), m || (m = (f.push(\"<ol>\"), !0)), g = !0, f.push(e.replace(/^\\d+\\. (.+)$/, \"<li>$1</li>\"))) : (p && (p = (f.push(\"</ul>\"), !1)), m && (m = (f.push(\"</ol>\"), !1)), f.push(e));\n }\n }).join(\"\");\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerBasicComponents = o, window.TokUI._internal.resolveColor = r, window.TokUI._internal.highlightCode = a), t !== void 0 && t.exports && (t.exports = {\n registerBasicComponents: o,\n resolveColor: r,\n highlightCode: a\n });\n }),\n C = s(function (e, t) {\n function n(e, t, n) {\n var r = t(\"div\", {});\n return r.style.display = \"inline-flex\", r.style.gap = \"6px\", r.style.alignItems = \"center\", e.split(\"|\").forEach(function (e) {\n var i = e.trim();\n if (!i) return;\n var a = i.split(/\\s+/),\n o = \"\",\n s = \"\",\n c = \"\",\n l = \"\",\n u = {\n class: \"tokui-tbtn\",\n type: \"button\"\n };\n a.forEach(function (e, t) {\n if (t === 0 && e.startsWith(\"btn:\")) o = e.slice(4);else if (e.startsWith(\"clk:\")) u[\"data-tokui-clk\"] = e.slice(4);else if (e.startsWith(\"v:\")) u.class += \" tokui-tbtn--\" + e.slice(2);else if (e.startsWith(\"icon:\")) s = e.slice(5);else if (e.startsWith(\"i:\")) c = e.slice(2);else if (e.startsWith(\"l:\")) l = e.slice(2);else if (e.includes(\":\")) {\n var _t26 = e.indexOf(\":\"),\n _n20 = e.slice(0, _t26);\n\n u[_n20.startsWith(\"data-\") ? _n20 : \"data-\" + _n20] = e.slice(_t26 + 1);\n }\n });\n var d = s ? n(s, 14) : \"\",\n f = !!(s || c);\n if (!o && !d && !c) return;\n\n if (!o && f) {\n u.class += \" tokui-tbtn--icon-only\";\n\n var _e48 = l || s || \"\";\n\n _e48 && (u[\"aria-label\"] = _e48, u[\"data-tokui-tip\"] = _e48);\n }\n\n var p = t(\"button\", u);\n\n if (s) {\n var _e49 = t(\"span\", {\n class: \"tokui-tbtn__icon\"\n });\n\n _e49.innerHTML = d, p.appendChild(_e49), p.classList.add(\"tokui-tbtn--has-icon\");\n } else c && (p.appendChild(t(\"span\", {\n class: \"tokui-tbtn__icon tokui-tbtn__icon--emoji\"\n }, c)), p.classList.add(\"tokui-tbtn--has-icon\"));\n\n o && p.appendChild(t(\"span\", {\n class: \"tokui-tbtn__text\"\n }, o)), r.appendChild(p);\n }), r;\n }\n\n function r(e) {\n var _ref6 = true ? h() : undefined,\n t = _ref6.el,\n r = true ? m().parseTag : undefined,\n i = true ? v().iconSvg : undefined;\n\n function a(t) {\n var n = t.match(/^\\[([a-zA-Z][\\w-]*)\\b([\\s\\S]*)$/);\n if (!n) return null;\n var i = (n[1] + (n[2] || \"\")).replace(/\\]\\s*$/, \"\").trim();\n if (!i) return null;\n\n try {\n var _t27 = r(i);\n\n if (!_t27 || !_t27.type) return null;\n\n var _n21 = e.render(_t27);\n\n return _n21 && _n21.nodeType ? _n21 : null;\n } catch (_unused25) {\n return null;\n }\n }\n\n var o = {\n chk: {\n label: \"\",\n cls: \"tokui-col-chk\"\n },\n \"#\": {\n label: \"#\",\n cls: \"tokui-col-seq\"\n }\n };\n\n function s(e) {\n var t = w(e),\n n = t.text,\n r = n.indexOf(\":\");\n return {\n name: r > 0 ? n.slice(0, r) : n,\n align: t.align,\n color: t.color\n };\n }\n\n var c = [],\n l = [],\n u = [],\n d = 0,\n f = null;\n\n function p(e) {\n var t = e.querySelector(\".tokui-chk-all\");\n if (!t) return;\n var n = e.querySelectorAll(\".tokui-chk-row\"),\n r = e.querySelectorAll(\".tokui-chk-row:checked\");\n t.checked = n.length > 0 && r.length === n.length, t.indeterminate = r.length > 0 && r.length < n.length;\n }\n\n e.register(\"table\", function (e, n) {\n var r = {\n class: \"tokui-table\",\n role: \"table\"\n };\n e.attrs.id && (r.id = e.attrs.id), e.attrs.stripe !== void 0 && (r.class += \" tokui-table--stripe\");\n var i = t(\"div\", {\n class: \"tokui-table-wrapper\"\n }),\n a = t(\"table\", r);\n return (e.attrs.cap || e.attrs.caption) && a.appendChild(t(\"caption\", {}, e.attrs.cap || e.attrs.caption)), f = a, n(e.children).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), i.appendChild(a), i._slot = a, i._tokuiType = \"table\", i;\n }), e.register(\"thead\", function (e) {\n var n = t(\"thead\", {\n class: \"tokui-thead\"\n });\n\n if (e.attrs.cols) {\n c = [], l = [], u = [], d = 0;\n\n var _r9 = e.attrs.cols.split(\";\"),\n _i10 = _r9.length - 1,\n _a12 = _r9.map(function (e) {\n return g(e).map(function (e) {\n var t = s(e),\n n = C(t.name);\n return {\n text: n.text,\n align: t.align,\n color: t.color,\n colspan: n.colspan || 1,\n rowspan: n.rowspan || 1\n };\n });\n }),\n _p = _a12.length ? _a12[0].reduce(function (e, t) {\n return e + t.colspan;\n }, 0) : 0;\n\n f && _p > 0 && (f.style.minWidth = \"calc(\" + _p + \" * var(--tokui-table-min-col-w, 96px))\");\n var _m = [];\n\n _a12.forEach(function (e, r) {\n var a = x(e, _m, _p),\n s = t(\"tr\", {\n class: \"tokui-thead-row\"\n });\n a.forEach(function (e) {\n var n = e.cell,\n a = n.align ? \"tokui-col-\" + n.align : \"\",\n d = n.color ? \"tokui-text--\" + n.color : \"\",\n f = {\n scope: \"col\"\n };\n if (e.colspan >= 2 && (f.colspan = String(e.colspan)), e.rowspan >= 2 && (f.rowspan = String(e.rowspan)), r + e.rowspan - 1 >= _i10) for (var p = 0; p < e.colspan; p++) {\n l[e.col + p] = n.align || \"\", c[e.col + p] = o[n.text] ? n.text : null, u[e.col + p] = n.color || \"\";\n }\n\n if (n.text === \"chk\") {\n f.class = \"tokui-col-chk\" + (a ? \" \" + a : \"\") + (d ? \" \" + d : \"\");\n\n var _e50 = t(\"input\", {\n type: \"checkbox\",\n class: \"tokui-chk-all\"\n });\n\n _e50.addEventListener(\"change\", function () {\n var t = _e50.closest(\"table\");\n\n t && (t.querySelectorAll(\".tokui-chk-row\").forEach(function (t) {\n t.checked = _e50.checked;\n }), _e50.indeterminate = !1);\n });\n\n var _n22 = t(\"th\", f);\n\n _n22.appendChild(_e50), s.appendChild(_n22);\n return;\n }\n\n if (n.text === \"#\") {\n f.class = \"tokui-col-seq\" + (a ? \" \" + a : \"\") + (d ? \" \" + d : \"\"), s.appendChild(t(\"th\", f, \"#\"));\n return;\n }\n\n f.class = (a + \" \" + d).trim(), s.appendChild(t(\"th\", f, n.text));\n }), n.appendChild(s);\n });\n } else {\n var _r10 = t(\"tr\", {\n class: \"tokui-thead-row\"\n });\n\n e.children.forEach(function (e) {\n var n = e.attrs && e.attrs.n || \"\";\n\n _r10.appendChild(t(\"th\", {\n scope: \"col\",\n \"data-tokui-tag\": e.type === \"tcol\" ? \"tcol\" : null\n }, n));\n }), n.appendChild(_r10);\n }\n\n return n._slot = n.lastChild || n, n._tokuiType = \"thead\", n;\n }), e.register(\"tbody\", function (e, n) {\n var r = t(\"tbody\", {\n class: \"tokui-tbody\"\n }),\n i = e._colTypes || c,\n a = e._colAligns || l,\n o = e._colColors || u;\n return r._tokuiOccupancy = [], r._tokuiMaxCols = a.length || i.length, e.children.forEach(function (e) {\n e._colTypes = i, e._colAligns = a, e._colColors = o, e._seqNum = ++d, e._tbodyEl = r;\n }), n(e.children).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r.addEventListener(\"mousedown\", function (e) {\n var t = e.target;\n r.__tokuiShift = !!(t && t.classList && t.classList.contains(\"tokui-chk-row\") && e.shiftKey);\n }), r.addEventListener(\"change\", function (e) {\n var t = e.target;\n if (!t || !t.classList || !t.classList.contains(\"tokui-chk-row\")) return;\n var n = r.closest(\"table\");\n if (!n) return;\n var i = Array.prototype.slice.call(n.querySelectorAll(\".tokui-chk-row\")),\n a = i.indexOf(t),\n o = r.__tokuiShift;\n r.__tokuiShift = !1;\n var s = n.__tokuiChkAnchor;\n\n if (o && s != null && s >= 0 && a >= 0 && s !== a) {\n var _e51 = Math.min(s, a),\n _n23 = Math.max(s, a),\n _r11 = t.checked;\n\n for (var _t28 = _e51; _t28 <= _n23; _t28++) {\n i[_t28].checked = _r11;\n }\n } else a >= 0 && (n.__tokuiChkAnchor = a);\n\n p(n);\n }), r._slot = r, r._tokuiType = \"tbody\", r;\n });\n\n function g(e) {\n var t = [],\n n = \"\",\n r = !1;\n\n for (var _i11 = 0; _i11 < e.length; _i11++) {\n var _a13 = e[_i11];\n _a13 === \"\\\"\" ? r = !r : _a13 === \",\" && !r ? (t.push(n), n = \"\") : n += _a13;\n }\n\n return t.push(n), t;\n }\n\n function _(e) {\n return e.length > 1 && e.charAt(0) === \"\\\"\" && e.charAt(e.length - 1) === \"\\\"\" && e.indexOf(\"\\\"\", 1) === e.length - 1 ? e.slice(1, -1) : e;\n }\n\n function y(e) {\n for (var t = [], n = \"\", r = !1, i = 0, a = 0; a < e.length; a++) {\n var o = e[a];\n if (o === \"\\\"\") r = !r;else if (r) n += o;else if (o === \"[\") i++, n += o;else if (o === \"]\") i--, n += o;else if (o === \",\" && i === 0) {\n var s = e[a - 1],\n c = e[a + 1],\n l = e[a + 2],\n u = e[a + 3],\n d = e[a + 4],\n f = /=([cr]\\d+){1,2}$/.test(n),\n p = /[¥¥$€£₩₹]/.test(n);\n !f && p && s >= \"0\" && s <= \"9\" && c >= \"0\" && c <= \"9\" && l >= \"0\" && l <= \"9\" && u >= \"0\" && u <= \"9\" && !(d >= \"0\" && d <= \"9\") ? n += o : (t.push(n), n = \"\");\n } else n += o;\n }\n\n return t.push(n), t;\n }\n\n function b(e, n) {\n var r = {\n class: \"tokui-td tokui-td--skeleton\"\n },\n i = n.colAligns[e];\n i && (r.class += \" tokui-col-\" + i);\n var a = t(\"td\", r);\n return a.appendChild(t(\"span\", {\n class: \"tokui-skeleton\"\n })), a;\n }\n\n function x(e, t, n) {\n for (var r = [], i = 0, a = 0; a < e.length; a++) {\n for (var o = e[a], s = o.colspan || 1, c = o.rowspan || 1; i < n && t[i] > 0;) {\n --t[i], i++;\n }\n\n r.push({\n cell: o,\n col: i,\n colspan: s,\n rowspan: c\n });\n\n for (var l = 0; l < s; l++) {\n t[i + l] = c > 1 ? c - 1 : 0;\n }\n\n i += s;\n }\n\n for (; i < n && t[i] > 0;) {\n --t[i], i++;\n }\n\n return r;\n }\n\n function S(e, t, n) {\n return !t || !n ? null : x(e.map(function (e) {\n var t = C(e);\n return {\n colspan: t.colspan || 1,\n rowspan: t.rowspan || 1\n };\n }), n, t._tokuiMaxCols || e.length).map(function (e) {\n return e.col;\n });\n }\n\n function C(e) {\n e = String(e);\n var t = e.match(/=([cr]\\d+){1,2}$/);\n if (!t) return {\n text: e,\n colspan: 0,\n rowspan: 0\n };\n var n = t[0],\n r = e.slice(0, e.length - n.length),\n i = 0,\n a = 0,\n o = n.match(/c(\\d+)/),\n s = n.match(/r(\\d+)/);\n return o && (i = parseInt(o[1], 10) || 0), s && (a = parseInt(s[1], 10) || 0), {\n text: r,\n colspan: i,\n rowspan: a\n };\n }\n\n function w(e) {\n for (var t = {\n c: \"center\",\n center: \"center\",\n r: \"right\",\n right: \"right\",\n l: \"left\",\n left: \"left\"\n }, n = {\n primary: \"primary\",\n success: \"success\",\n warning: \"warning\",\n danger: \"danger\",\n info: \"info\"\n }, r = \"\", i = \"\", a = 0; a < 2; a++) {\n var o = String(e).match(/\\/([A-Za-z]+)$/);\n if (!o) break;\n var s = o[1].toLowerCase();\n if (t[s] && !r) r = t[s];else if (n[s] && !i) i = n[s];else break;\n e = String(e).slice(0, o.index);\n }\n\n return {\n text: e,\n align: r,\n color: i\n };\n }\n\n function T(e, r, o) {\n var s = o.colTypes,\n c = o.colAligns,\n l = o.seqNum,\n u = o.colspanVal,\n d = o.cellCols && o.cellCols[r] != null ? o.cellCols[r] : r,\n f = {\n class: \"tokui-td\"\n },\n p = w(e),\n m = C(p.text),\n h = m.text.trim(),\n g = p.align || c[d];\n g && (f.class += \" tokui-col-\" + g);\n\n var _ = p.color || o.colColors && o.colColors[d];\n\n if (_ && (f.class += \" tokui-text--\" + _), r === 0 && u >= 2 && (f.colspan = String(u)), r > 0 && r < u) return null;\n\n if (m.colspan >= 2 && (f.colspan = String(m.colspan)), m.rowspan >= 2 && (f.rowspan = String(m.rowspan)), s[d] === \"chk\") {\n f.class += \" tokui-col-chk\";\n var v = t(\"td\", f);\n return v.appendChild(t(\"input\", {\n type: \"checkbox\",\n class: \"tokui-chk-row\"\n })), v;\n }\n\n if (s[d] === \"#\") return f.class += \" tokui-col-seq\", t(\"td\", f, String(l));\n var y = a(h);\n\n if (y) {\n f.class += \" tokui-td--inline\";\n var b = t(\"td\", f);\n return b.appendChild(y), b;\n }\n\n if (h.startsWith(\"btn:\")) {\n f.class += \" tokui-col-action\";\n var x = t(\"td\", f);\n return x.appendChild(n(h, t, i)), x;\n }\n\n if (h.startsWith(\"tag:\")) {\n var S = t(\"td\", f),\n T = h.split(/\\s+/),\n E = \"\",\n D = {\n class: \"tokui-tag\"\n };\n return T.forEach(function (e) {\n e.startsWith(\"tag:\") ? E = e.slice(4) : e.startsWith(\"t:\") && (D.class += \" tokui-tag--\" + e.slice(2));\n }), S.appendChild(t(\"span\", D, E)), S;\n }\n\n if (h.startsWith(\"progress\")) {\n var O = t(\"td\", f),\n k = h.split(/\\s+/),\n A = 0,\n j = \"span\",\n M = \"\";\n\n if (k.forEach(function (e) {\n e.startsWith(\"v:\") ? A = parseInt(e.slice(2)) || 0 : e.startsWith(\"t:\") ? j = e.slice(2) : e.startsWith(\"status:\") && (M = e.slice(7));\n }), j === \"span\") {\n var N = t(\"span\", {\n class: \"tokui-progress tokui-progress--span\"\n }),\n P = t(\"span\", {\n class: \"tokui-progress__mini-bar\"\n }),\n F = \"tokui-progress__mini-fill\";\n M === \"error\" ? F += \" tokui-progress--error\" : A >= 80 && (F += \" tokui-progress--success\");\n var I = t(\"span\", {\n class: F\n });\n I.style.width = A + \"%\", P.appendChild(I), N.appendChild(P);\n var L = t(\"span\", {\n class: \"tokui-progress__span-text\"\n });\n L.textContent = A + \"%\", N.appendChild(L), O.appendChild(N);\n }\n\n return O;\n }\n\n return t(\"td\", f, h);\n }\n\n function E(e, t) {\n e._tokuiCellText = [], e._tokuiCellTds = [];\n var n = \"\\0SKELETON\\0\";\n\n function r(t, n) {\n if (t) {\n for (var r = null, i = n + 1; i < e._tokuiCellTds.length; i++) {\n if (e._tokuiCellTds[i] && e._tokuiCellTds[i].parentNode === e) {\n r = e._tokuiCellTds[i];\n break;\n }\n }\n\n r ? e.insertBefore(t, r) : e.appendChild(t);\n }\n }\n\n return e._tokuiTrReconcile = function (i, a, o) {\n o && o.v && String(o.v).split(\",\").forEach(function (t) {\n t = t.trim(), t && e.classList.add(\"tokui-table-row--\" + t);\n });\n var s = y(_(i || \"\")),\n c = t.tbodyEl && t.tbodyEl._tokuiOccupancy;\n c && (t.cellCols = S(s, t.tbodyEl, a ? c : c.slice()));\n\n for (var l = 0; l < s.length; l++) {\n var u = s[l],\n d = u.trim(),\n f = l === s.length - 1,\n p = /^\\[/.test(d) || /^(btn|tag|progress)\\b/.test(d),\n m = /^btn:/.test(d),\n h = p && f && !a && !m,\n g = h ? n : u;\n\n if (e._tokuiCellText[l] !== g) {\n var v = e._tokuiCellTds[l];\n v && v.parentNode === e && e.removeChild(v);\n var x = h ? b(l, t) : T(u, l, t);\n r(x, l), e._tokuiCellTds[l] = x || null, e._tokuiCellText[l] = g;\n }\n }\n\n for (var C = s.length; C < e._tokuiCellTds.length; C++) {\n var w = e._tokuiCellTds[C];\n w && w.parentNode === e && e.removeChild(w), e._tokuiCellTds[C] = null;\n }\n\n e._tokuiCellTds.length = s.length, e._tokuiCellText.length = s.length;\n }, e;\n }\n\n e.register(\"tr\", function (e) {\n var n = t(\"tr\", {\n class: \"tokui-table-row\",\n role: \"row\"\n });\n e.attrs && e.attrs.v && String(e.attrs.v).split(\",\").forEach(function (e) {\n e = e.trim(), e && n.classList.add(\"tokui-table-row--\" + e);\n });\n var r = e.attrs && e.attrs.cs ? parseInt(e.attrs.cs) : 0;\n var i = e._colTypes || c,\n a = {\n colTypes: i,\n colAligns: e._colAligns || l,\n colColors: e._colColors || u,\n seqNum: e._seqNum || ++d,\n colspanVal: r,\n tbodyEl: e._tbodyEl\n };\n if (e._stream === \"open\") return E(n, a), n;\n\n if (e.content) {\n var o = _(e.content);\n\n var _t29 = y(o);\n\n a.cellCols = S(_t29, a.tbodyEl, a.tbodyEl && a.tbodyEl._tokuiOccupancy);\n\n var s = _t29.some(function (e) {\n return /=([cr]\\d+)/.test(e);\n }),\n f = a.cellCols && a.cellCols.some(function (e, t) {\n return e !== t;\n }),\n p = o.indexOf(\"[tr\") !== -1;\n\n !s && !f && i.length > 0 && _t29.length !== i.length && r < 2 && console.warn(\"TokUI Table: tr \\u5355\\u5143\\u683C\\u6570 \" + _t29.length + \" != \\u5217\\u6570 \" + i.length + \" \\u2192 \\u5217\\u9519\\u4F4D\\u3002\" + (p ? \"\\u26A0\\uFE0F \\u5185\\u5BB9\\u542B [tr \\u6B8B\\u7559\\uFF0C\\u7591\\u4F3C tr \\u672A\\u6B63\\u786E\\u95ED\\u5408\\uFF08\\u5F15\\u53F7\\u672A\\u914D\\u5BF9/\\u542B\\u5B57\\u9762 [ ] \\u672A\\u5F15\\u53F7\\u5305\\uFF09\\u2192 parser \\u6807\\u7B7E\\u65AD\\u88C2\\u3001\\u4E32\\u884C\\u3002\" : _t29.length > i.length ? \"\\u7591\\u4F3C\\u5355\\u5143\\u683C\\u5185\\u542B\\u9017\\u53F7\\u672A\\u7528\\u53CC\\u5F15\\u53F7\\u5305\\u88F9\\uFF08\\u5982 12,800.00\\u3001\\\"a,b,c\\\"\\uFF09\\u3002\" : \"\\u7591\\u4F3C\\u5217\\u6807\\u9898(thead cols)\\u542B\\u9017\\u53F7\\u88AB\\u5207\\u6563\\u3001\\u6216\\u8BE5\\u884C\\u7F3A\\u683C\\u3002\") + \"\\u89C4\\u5219\\uFF1Atr \\u4E0D\\u8981\\u5916\\u5C42\\u5F15\\u53F7\\u3001\\u542B\\u9017\\u53F7\\u5355\\u5143\\u683C\\u76F4\\u5F15\\u53F7\\u5305\\u3002tr \\u539F\\u6587: \" + o), _t29.forEach(function (e, t) {\n var r = T(e, t, a);\n r && n.appendChild(r);\n });\n }\n\n return n;\n }), e.register(\"tcol\", function () {\n return document.createTextNode(\"\");\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerTableComponents = r), t !== void 0 && t.exports && (t.exports = {\n registerTableComponents: r\n });\n }),\n w = s(function (e, t) {\n function n(e) {\n return !e || typeof e != \"string\" ? [] : e.split(\";\").map(function (e) {\n return e.trim();\n }).filter(function (e) {\n return e.length > 0;\n }).map(function (e) {\n var t = e.indexOf(\":\");\n return t === -1 ? {\n v: e,\n tx: e\n } : {\n v: e.substring(0, t).trim(),\n tx: e.substring(t + 1).trim()\n };\n });\n }\n\n function r(e) {\n if (!e || !e.attrs || !e.attrs.opt) return e;\n var t = n(e.attrs.opt).map(function (e) {\n return {\n type: \"opt\",\n attrs: {\n v: e.v,\n tx: e.tx\n }\n };\n });\n return Object.assign({}, e, {\n children: (e.children || []).concat(t)\n });\n }\n\n function i(e) {\n var _ref7 = true ? h() : undefined,\n t = _ref7.el,\n n = _ref7.resolveButtonAction,\n i = true ? S().resolveColor : undefined,\n a = true ? v().iconSvg : undefined,\n o = true ? u().t : undefined;\n\n function s(e) {\n if (!e) return null;\n var t = e.indexOf(\"|\");\n return t === -1 ? {\n text: e,\n variant: null\n } : {\n text: e.substring(0, t),\n variant: e.substring(t + 1)\n };\n }\n\n function c(e) {\n if (!e) return null;\n var t = e.indexOf(\"|\"),\n n = t === -1 ? e : e.substring(0, t),\n r = t === -1 ? null : e.substring(t + 1),\n i = n.indexOf(\":\");\n return i === -1 ? {\n text: n,\n handler: null,\n variant: r\n } : {\n text: n.substring(0, i),\n handler: n.substring(i + 1),\n variant: r\n };\n }\n\n function l(e) {\n var t = e.attrs;\n return !!(t.pre || t.app || t.prebtn || t.appbtn);\n }\n\n function d(e, n) {\n var r = t(\"div\", {\n class: \"tokui-input-group\"\n });\n\n if (e.attrs.pre) {\n var i = s(e.attrs.pre),\n a = i.variant ? \"tokui-input-pre tokui-input-pre--\" + i.variant : \"tokui-input-pre\";\n r.appendChild(t(\"span\", {\n class: a\n }, i.text));\n }\n\n if (e.attrs.prebtn) {\n var i = c(e.attrs.prebtn),\n a = i.variant ? \"tokui-input-prebtn tokui-input-prebtn--\" + i.variant : \"tokui-input-prebtn\",\n o = {\n class: a,\n type: \"button\"\n };\n i.handler && (o[\"data-tokui-clk\"] = i.handler), r.appendChild(t(\"button\", o, i.text));\n }\n\n if (r.appendChild(n), e.attrs.appbtn) {\n var i = c(e.attrs.appbtn),\n a = i.variant ? \"tokui-input-appbtn tokui-input-appbtn--\" + i.variant : \"tokui-input-appbtn\",\n o = {\n class: a,\n type: \"button\"\n };\n i.handler && (o[\"data-tokui-clk\"] = i.handler), r.appendChild(t(\"button\", o, i.text));\n }\n\n if (e.attrs.app) {\n var i = s(e.attrs.app),\n a = i.variant ? \"tokui-input-app tokui-input-app--\" + i.variant : \"tokui-input-app\";\n r.appendChild(t(\"span\", {\n class: a\n }, i.text));\n }\n\n return r;\n }\n\n e.register(\"form\", function (e, n) {\n var r = {\n class: \"tokui-form\"\n };\n\n if (e.attrs.id && (r.id = e.attrs.id), e.attrs.act) {\n var i = e.attrs.act;\n /^javascript:/i.test(i) && (i = \"#\"), r.action = i;\n }\n\n e.attrs.mtd && (r.method = e.attrs.mtd), e.attrs.sub && (r[\"data-tokui-sub\"] = e.attrs.sub), e.attrs.clk && (r[\"data-tokui-clk\"] = e.attrs.clk);\n var a = t(\"form\", r);\n return n(e.children).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), a._slot = a, a._tokuiType = \"form\", a;\n });\n var f = \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"16\\\" height=\\\"16\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"/><line x1=\\\"21\\\" y1=\\\"21\\\" x2=\\\"16.65\\\" y2=\\\"16.65\\\"/></svg>\";\n e.register(\"input\", function (e) {\n var n = e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : [],\n r = n.indexOf(\"inline\") !== -1,\n i = e.attrs.search !== void 0,\n a = e.attrs.search === \"right\",\n o = t(\"div\", {\n class: r ? \"tokui-field tokui-field--inline\" : \"tokui-field\"\n });\n\n if (e.attrs.l) {\n var s = {\n class: \"tokui-label\"\n };\n e.attrs.id && (s.for = e.attrs.id), o.appendChild(t(\"label\", s, e.attrs.l));\n }\n\n var c = {\n class: \"tokui-input\",\n type: e.attrs.t || \"text\"\n };\n e.attrs.id && (c.id = e.attrs.id), e.attrs.n ? c.name = e.attrs.n : e.attrs.id && (c.name = e.attrs.id), e.attrs.ph && (c.placeholder = e.attrs.ph), e.attrs.ml && (c.maxlength = e.attrs.ml), e.attrs.min !== void 0 && (c.min = e.attrs.min), e.attrs.max !== void 0 && (c.max = e.attrs.max), e.attrs.step !== void 0 && (c.step = e.attrs.step), e.attrs.req !== void 0 && (c.required = \"required\"), e.attrs.dis !== void 0 && (c.disabled = \"disabled\"), e.attrs.ro !== void 0 && (c.readonly = \"readonly\"), e.attrs.req !== void 0 && (c[\"aria-required\"] = \"true\"), e.attrs.val !== void 0 && (c.value = e.attrs.val);\n var u = t(\"input\", c);\n e.attrs.w && (u.style.width = e.attrs.w);\n var p = null;\n\n if (i) {\n p = t(\"div\", {\n class: \"tokui-search-input\"\n }), a && p.classList.add(\"tokui-search-input--right\");\n var m = t(\"span\", {\n class: \"tokui-search-input__icon\"\n });\n m.innerHTML = f, p.appendChild(m), p.appendChild(u);\n }\n\n var h = p || u;\n\n if (l(e)) {\n var g = d(e, h);\n n.indexOf(\"pill\") !== -1 && g.classList.add(\"tokui-input-group--pill\"), o.appendChild(g);\n } else o.appendChild(h);\n\n var _ = null;\n return e.attrs.hint && (_ = t(\"div\", {\n class: \"tokui-field__hint\"\n }, e.attrs.hint), n.indexOf(\"error\") === -1 ? n.indexOf(\"success\") !== -1 && _.classList.add(\"tokui-field__hint--success\") : _.classList.add(\"tokui-field__hint--error\"), o.appendChild(_)), o._update = function (e) {\n e.v !== void 0 && (u.value = e.v), e.dis === !0 || e.dis === \"true\" ? u.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (u.disabled = !1), e.ph !== void 0 && (u.placeholder = e.ph), e.ro === !0 || e.ro === \"true\" ? u.readOnly = !0 : (e.ro === !1 || e.ro === \"false\") && (u.readOnly = !1), e.hint !== void 0 && _ && (_.textContent = e.hint);\n }, o._variantTarget = u, o;\n }), e.register(\"pwd\", function (e) {\n var n = e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : [],\n r = t(\"div\", {\n class: n.indexOf(\"inline\") === -1 ? \"tokui-field\" : \"tokui-field tokui-field--inline\"\n });\n\n if (e.attrs.l) {\n var i = {\n class: \"tokui-label\"\n };\n e.attrs.id && (i.for = e.attrs.id), r.appendChild(t(\"label\", i, e.attrs.l));\n }\n\n var a = {\n class: \"tokui-input\",\n type: \"password\"\n };\n e.attrs.id && (a.id = e.attrs.id), e.attrs.n ? a.name = e.attrs.n : e.attrs.id && (a.name = e.attrs.id), e.attrs.ph && (a.placeholder = e.attrs.ph), e.attrs.ml && (a.maxlength = e.attrs.ml), e.attrs.min !== void 0 && (a.min = e.attrs.min), e.attrs.max !== void 0 && (a.max = e.attrs.max), e.attrs.req !== void 0 && (a.required = \"required\"), e.attrs.dis !== void 0 && (a.disabled = \"disabled\"), e.attrs.ro !== void 0 && (a.readonly = \"readonly\"), e.attrs.req !== void 0 && (a[\"aria-required\"] = \"true\"), e.attrs.val !== void 0 && (a.value = e.attrs.val);\n var o = t(\"input\", a);\n e.attrs.w && (o.style.width = e.attrs.w);\n var s = null;\n\n if (e.attrs.toggle !== void 0 && !e.attrs.dis) {\n s = t(\"button\", {\n class: \"tokui-pwd-toggle\",\n type: \"button\",\n tabindex: \"-1\"\n }), s.setAttribute(\"aria-label\", \"Toggle password visibility\");\n var c = \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"18\\\" height=\\\"18\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.8\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"/></svg>\",\n u = \"<svg viewBox=\\\"0 0 24 24\\\" width=\\\"18\\\" height=\\\"18\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.8\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\\\"/><path d=\\\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\\\"/><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"/><path d=\\\"M14.12 14.12a3 3 0 1 1-4.24-4.24\\\"/></svg>\";\n s.innerHTML = u, s.addEventListener(\"click\", function () {\n var e = o.type === \"password\";\n o.type = e ? \"text\" : \"password\", s.innerHTML = e ? c : u, s.classList.toggle(\"tokui-pwd-toggle--active\", e);\n });\n }\n\n if (l(e) || s) {\n var f = d(e, o);\n\n if (s) {\n var p = o.nextSibling;\n p ? f.insertBefore(s, p) : f.appendChild(s);\n }\n\n r.appendChild(f);\n } else r.appendChild(o);\n\n var m = null;\n return e.attrs.hint && (m = t(\"div\", {\n class: \"tokui-field__hint\"\n }, e.attrs.hint), n.indexOf(\"error\") === -1 ? n.indexOf(\"success\") !== -1 && m.classList.add(\"tokui-field__hint--success\") : m.classList.add(\"tokui-field__hint--error\"), r.appendChild(m)), r._update = function (e) {\n e.v !== void 0 && (o.value = e.v), e.dis === !0 || e.dis === \"true\" ? o.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (o.disabled = !1), e.ph !== void 0 && (o.placeholder = e.ph), e.ro === !0 || e.ro === \"true\" ? o.readOnly = !0 : (e.ro === !1 || e.ro === \"false\") && (o.readOnly = !1), e.hint !== void 0 && m && (m.textContent = e.hint);\n }, r._variantTarget = o, r;\n }), e.register(\"textarea\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-field\"\n });\n\n if (e.attrs.l) {\n var _n24 = {\n class: \"tokui-label\"\n };\n e.attrs.id && (_n24.for = e.attrs.id), r.appendChild(t(\"label\", _n24, e.attrs.l));\n }\n\n var i = e.attrs.maxlen ? parseInt(e.attrs.maxlen, 10) : 0,\n a = e.attrs.auto !== void 0,\n o = parseInt(e.attrs.rows, 10) || 4,\n s = e.attrs.maxrows ? parseInt(e.attrs.maxrows, 10) : 0,\n c = i > 0 || a ? t(\"div\", {\n class: \"tokui-textarea-box\"\n }) : null;\n c && r.appendChild(c);\n var l = {\n class: \"tokui-input\",\n rows: String(o)\n };\n e.attrs.id && (l.id = e.attrs.id), e.attrs.n ? l.name = e.attrs.n : e.attrs.id && (l.name = e.attrs.id), e.attrs.ph && (l.placeholder = e.attrs.ph), e.attrs.req !== void 0 && (l.required = \"required\"), e.attrs.dis !== void 0 && (l.disabled = \"disabled\"), e.attrs.ro !== void 0 && (l.readonly = \"readonly\"), e.attrs.req !== void 0 && (l[\"aria-required\"] = \"true\"), i > 0 && (l.maxlength = String(i));\n var u = t(\"textarea\", l),\n d = e.children && e.children.length > 0 ? e.children.map(function (e) {\n return e.content || \"\";\n }).join(\"\") : e.content || e.attrs.tx || \"\";\n\n if (u.textContent = d, a) {\n u.classList.add(\"tokui-textarea--auto\");\n var f = 0,\n p = 0;\n\n function _e52() {\n if (!f) {\n var e = u.getAttribute(\"rows\");\n u.setAttribute(\"rows\", \"1\");\n var t = u.scrollHeight;\n f = t * o, p = s > 0 ? t * s : 0, u.setAttribute(\"rows\", e), u.style.height = \"auto\";\n var n = u.scrollHeight;\n f = Math.max(f, n), u.style.height = f + \"px\";\n }\n\n u.style.height = \"auto\";\n var r = u.scrollHeight;\n r = Math.max(r, f), p > 0 && (r = Math.min(r, p)), u.style.height = r + \"px\", u.style.overflow = p > 0 && u.scrollHeight > p ? \"auto\" : \"hidden\";\n }\n\n u.addEventListener && u.addEventListener(\"input\", _e52), setTimeout(_e52, 0);\n }\n\n if (c) {\n if (c.appendChild(u), i > 0) {\n var _e53 = t(\"span\", {\n class: \"tokui-textarea-counter\"\n });\n\n _e53.textContent = d.length + \"/\" + i, d.length > i && _e53.classList.add(\"tokui-textarea-counter--over\"), c.appendChild(_e53), u.addEventListener(\"input\", function () {\n var t = u.value.length;\n _e53.textContent = t + \"/\" + i, t > i ? _e53.classList.add(\"tokui-textarea-counter--over\") : _e53.classList.remove(\"tokui-textarea-counter--over\");\n });\n }\n } else r.appendChild(u);\n\n return r._update = function (e) {\n e.v !== void 0 && (u.value = e.v), e.dis === !0 || e.dis === \"true\" ? u.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (u.disabled = !1), e.ro === !0 || e.ro === \"true\" ? u.readOnly = !0 : (e.ro === !1 || e.ro === \"false\") && (u.readOnly = !1);\n }, r._variantTarget = u, r._slot = u, r._tokuiType = \"textarea\", r;\n }), e.register(\"picker\", function (e, n) {\n var r = e.attrs.multi !== void 0,\n i = e.attrs.dis !== void 0,\n a = e.attrs.n || e.attrs.id || \"picker\",\n s = e.attrs.ph || \"\",\n c = t(\"div\", {\n class: (e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : []).indexOf(\"inline\") === -1 ? \"tokui-field\" : \"tokui-field tokui-field--inline\"\n });\n\n if (e.attrs.l) {\n var _n25 = {\n class: \"tokui-label\"\n };\n e.attrs.id && (_n25.for = e.attrs.id), c.appendChild(t(\"label\", _n25, e.attrs.l));\n }\n\n var l = [\"tokui-picker\"];\n r && l.push(\"tokui-picker--multi\"), i && l.push(\"tokui-picker--disabled\");\n var u = t(\"div\", {\n class: l.join(\" \"),\n \"data-tokui-picker\": e.attrs.id || \"\",\n role: \"listbox\",\n \"aria-expanded\": \"false\"\n });\n var d = \"\",\n f = \"\";\n r || e.children.forEach(function (e) {\n e.attrs && e.attrs.chk !== void 0 && (d = e.attrs.v || \"\", f = e.attrs && e.attrs.tx || d);\n });\n var h = t(\"div\", {\n class: \"tokui-picker-control\"\n });\n r && e.children.forEach(function (e) {\n e.attrs && e.attrs.chk !== void 0 && h.appendChild(m(e, u, a));\n });\n var _ = {\n class: \"tokui-picker-search\",\n type: \"text\",\n autocomplete: \"off\"\n };\n s && !f && (_.placeholder = s), i && (_.disabled = \"disabled\"), f && (_.value = f), h.appendChild(t(\"input\", _)), h.appendChild(t(\"span\", {\n class: \"tokui-picker-arrow\"\n })), u.appendChild(h);\n var v = t(\"ul\", {\n class: \"tokui-picker-dropdown\"\n });\n e.children.forEach(function (e) {\n v.appendChild(p(e));\n });\n var y = t(\"li\", {\n class: \"tokui-picker-empty\"\n }, o(\"picker.noMatch\"));\n return y.style.display = \"none\", v.appendChild(y), u.appendChild(v), r ? e.children.forEach(function (e) {\n e.attrs && e.attrs.chk !== void 0 && u.appendChild(t(\"input\", {\n type: \"hidden\",\n name: a,\n value: e.attrs.v || \"\"\n }));\n }) : u.appendChild(t(\"input\", {\n type: \"hidden\",\n name: a,\n value: d\n })), c.appendChild(u), c._variantTarget = u, c._slot = v, c._tokuiType = \"picker\", c._streamCloseHook = function () {\n var e = v.querySelectorAll(\".tokui-picker-option--selected\");\n\n if (!r && e.length > 0) {\n var n = e[0],\n o = u.querySelector(\".tokui-picker-search\"),\n s = u.querySelector(\"input[type=hidden]\");\n o && !o.value && (o.value = n.getAttribute(\"data-text\")), s && !s.value && (s.value = n.getAttribute(\"data-value\"));\n }\n\n r && e.length > 0 && e.forEach(function (e) {\n var n = e.getAttribute(\"data-text\"),\n r = e.getAttribute(\"data-value\"),\n i = t(\"span\", {\n class: \"tokui-picker-tag\",\n \"data-value\": r\n }, n + \" \"),\n o = t(\"span\", {\n class: \"tokui-picker-tag-close\"\n }, \"\\xD7\");\n i.appendChild(o), h.insertBefore(i, h.querySelector(\".tokui-picker-search\")), u.appendChild(t(\"input\", {\n type: \"hidden\",\n name: a,\n value: r\n }));\n }), !i && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && g(u, {\n multi: r,\n name: a\n });\n }, c.setAttribute(\"data-tokui-resettable\", \"\"), c._tokuiReset = function () {\n var e = u.querySelector(\".tokui-picker-search\"),\n n = u.querySelector(\"input[type=hidden]\"),\n i = v.querySelectorAll(\".tokui-picker-option\");\n r ? (h.querySelectorAll(\".tokui-picker-tag\").forEach(function (e) {\n h.removeChild(e);\n }), u.querySelectorAll(\"input[type=hidden][name=\\\"\" + a + \"\\\"]\").forEach(function (e) {\n u.removeChild(e);\n }), i.forEach(function (n) {\n var r = n.getAttribute(\"data-selected-initial\") === \"1\";\n\n if (n.classList.toggle(\"tokui-picker-option--selected\", r), r) {\n var i = n.getAttribute(\"data-text\"),\n o = n.getAttribute(\"data-value\"),\n s = t(\"span\", {\n class: \"tokui-picker-tag\",\n \"data-value\": o\n }, i + \" \");\n s.appendChild(t(\"span\", {\n class: \"tokui-picker-tag-close\"\n }, \"\\xD7\")), h.insertBefore(s, e), u.appendChild(t(\"input\", {\n type: \"hidden\",\n name: a,\n value: o\n }));\n }\n })) : (e && (e.value = f), n && (n.value = d), i.forEach(function (e) {\n var t = !!d && e.getAttribute(\"data-value\") === d;\n e.classList.toggle(\"tokui-picker-option--selected\", t);\n }));\n }, c;\n });\n\n function p(e) {\n var n = e.attrs && e.attrs.v || \"\",\n r = e.attrs && e.attrs.tx || n || e.content || \"\",\n i = e.attrs && e.attrs.chk !== void 0,\n a = t(\"li\", {\n class: \"tokui-picker-option\",\n \"data-value\": n,\n \"data-text\": r,\n \"data-tokui-tag\": \"opt\",\n role: \"option\",\n \"aria-selected\": String(i)\n }, r);\n return i && a.classList.add(\"tokui-picker-option--selected\"), i && a.setAttribute(\"data-selected-initial\", \"1\"), a;\n }\n\n function m(e, n, r) {\n var i = e.attrs && e.attrs.tx || e.attrs && e.attrs.v || e.content || \"\",\n a = t(\"span\", {\n class: \"tokui-picker-tag\",\n \"data-value\": e.attrs && e.attrs.v || e.content || \"\"\n }, i + \" \"),\n o = t(\"span\", {\n class: \"tokui-picker-tag-close\"\n }, \"\\xD7\");\n return a.appendChild(o), a;\n }\n\n function g(e, n) {\n var r = n.multi,\n i = n.name,\n a = e.querySelector(\".tokui-picker-control\"),\n o = e.querySelector(\".tokui-picker-search\"),\n s = e.querySelector(\".tokui-picker-dropdown\"),\n c = e.querySelector(\".tokui-picker-empty\"),\n l = !1,\n u = -1;\n\n function d() {\n return Array.from(s.querySelectorAll(\".tokui-picker-option\")).filter(function (e) {\n return e.style.display !== \"none\";\n });\n }\n\n function f() {\n if (!l) {\n l = !0, e.classList.add(\"tokui-picker--open\");\n var t = a.getBoundingClientRect();\n s.style.left = t.left + \"px\", s.style.top = t.bottom + 4 + \"px\", s.style.width = t.width + \"px\", o.focus(), u = -1;\n }\n }\n\n function p() {\n l && (l = !1, e.classList.remove(\"tokui-picker--open\"), r && (o.value = \"\"), _(\"\"), h());\n }\n\n function m() {\n l ? p() : f();\n }\n\n function h() {\n d().forEach(function (e) {\n e.classList.remove(\"tokui-picker-option--active\");\n }), u = -1;\n }\n\n function g(e) {\n var t = d();\n h(), !(e < 0 || e >= t.length) && (u = e, t[e].classList.add(\"tokui-picker-option--active\"), t[e].scrollIntoView({\n block: \"nearest\"\n }));\n }\n\n function _(e) {\n var t = e.toLowerCase(),\n n = s.querySelectorAll(\".tokui-picker-option\"),\n r = 0;\n n.forEach(function (e) {\n var n = !t || e.getAttribute(\"data-text\").toLowerCase().indexOf(t) !== -1;\n e.style.display = n ? \"\" : \"none\", n && r++;\n }), c.style.display = r === 0 ? \"\" : \"none\", h();\n }\n\n function v(e) {\n var t = e.getAttribute(\"data-value\"),\n n = e.getAttribute(\"data-text\");\n r ? b(e, t, n) : y(e, t, n);\n }\n\n function y(t, n, r) {\n s.querySelectorAll(\".tokui-picker-option--selected\").forEach(function (e) {\n e.classList.remove(\"tokui-picker-option--selected\");\n }), t.classList.add(\"tokui-picker-option--selected\"), o.value = r;\n var i = e.querySelector(\"input[type=hidden]\");\n i && (i.value = n), p();\n }\n\n function b(e, t, n) {\n e.classList.toggle(\"tokui-picker-option--selected\") ? (x(t, n), C(t)) : (S(t), w(t)), o.value = \"\", o.focus();\n }\n\n function x(e, n) {\n var r = t(\"span\", {\n class: \"tokui-picker-tag\",\n \"data-value\": e\n }, n + \" \"),\n i = t(\"span\", {\n class: \"tokui-picker-tag-close\"\n }, \"\\xD7\");\n i.addEventListener(\"click\", function (t) {\n t.stopPropagation();\n var n = s.querySelector(\".tokui-picker-option[data-value=\\\"\" + e + \"\\\"]\");\n n && n.classList.remove(\"tokui-picker-option--selected\"), S(e), w(e);\n }), r.appendChild(i), a.insertBefore(r, o);\n }\n\n function S(e) {\n var t = a.querySelector(\".tokui-picker-tag[data-value=\\\"\" + e + \"\\\"]\");\n t && a.removeChild(t);\n }\n\n function C(n) {\n e.appendChild(t(\"input\", {\n type: \"hidden\",\n name: i,\n value: n\n }));\n }\n\n function w(t) {\n e.querySelectorAll(\"input[type=hidden][name=\\\"\" + i + \"\\\"]\").forEach(function (n) {\n n.value === t && e.removeChild(n);\n });\n }\n\n a.addEventListener(\"click\", function (e) {\n e.target.classList.contains(\"tokui-picker-tag-close\") || m();\n }), o.addEventListener(\"input\", function () {\n l || f(), _(o.value);\n }), o.addEventListener(\"keydown\", function (e) {\n var t = d();\n if (e.key === \"ArrowDown\") e.preventDefault(), l || f(), g(u < t.length - 1 ? u + 1 : 0);else if (e.key === \"ArrowUp\") e.preventDefault(), l || f(), g(u > 0 ? u - 1 : t.length - 1);else if (e.key === \"Enter\") e.preventDefault(), u >= 0 && u < t.length && v(t[u]);else if (e.key === \"Escape\") p();else if (e.key === \"Backspace\" && r && o.value === \"\") {\n var n = a.querySelectorAll(\".tokui-picker-tag\");\n\n if (n.length > 0) {\n var i = n[n.length - 1].getAttribute(\"data-value\"),\n c = s.querySelector(\".tokui-picker-option[data-value=\\\"\" + i + \"\\\"]\");\n c && c.classList.remove(\"tokui-picker-option--selected\"), S(i), w(i);\n }\n }\n }), s.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-picker-option\");\n t && v(t);\n }), document.addEventListener(\"click\", function (t) {\n e.contains(t.target) || p();\n }), a.querySelectorAll(\".tokui-picker-tag-close\").forEach(function (e) {\n e.addEventListener(\"click\", function (t) {\n t.stopPropagation();\n var n = e.parentElement.getAttribute(\"data-value\"),\n r = s.querySelector(\".tokui-picker-option[data-value=\\\"\" + n + \"\\\"]\");\n r && r.classList.remove(\"tokui-picker-option--selected\"), S(n), w(n);\n });\n });\n }\n\n e.register(\"select\", function (e, n) {\n e = r(e);\n var i = e.attrs.multi !== void 0,\n a = t(\"div\", {\n class: (e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : []).indexOf(\"inline\") === -1 ? \"tokui-field\" : \"tokui-field tokui-field--inline\"\n });\n\n if (e.attrs.l) {\n var _n26 = {\n class: \"tokui-label\"\n };\n e.attrs.id && !i && (_n26.for = e.attrs.id), a.appendChild(t(\"label\", _n26, e.attrs.l));\n }\n\n var o = {\n class: \"tokui-select\"\n };\n i && (o.multiple = !0), e.attrs.id && (o.id = e.attrs.id), e.attrs.n ? o.name = e.attrs.n : e.attrs.id && (o.name = e.attrs.id), e.attrs.req !== void 0 && (o[\"aria-required\"] = \"true\");\n var s = t(\"select\", o);\n\n if (e.attrs.ph) {\n var _n27 = t(\"option\", {\n value: \"\",\n disabled: \"\",\n selected: \"\"\n }, e.attrs.ph);\n\n s.appendChild(_n27);\n }\n\n return n(e.children).forEach(function (e) {\n e && e.nodeType && s.appendChild(e);\n }), a.appendChild(s), a._update = function (e) {\n e.v !== void 0 && (s.value = e.v), e.dis === !0 || e.dis === \"true\" ? s.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (s.disabled = !1);\n }, a._variantTarget = s, a._slot = s, a._tokuiType = \"select\", a;\n }), e.register(\"radio\", function (e, n) {\n e = r(e);\n var i = e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : [],\n a = t(\"div\", {\n class: i.indexOf(\"inline\") === -1 ? \"tokui-field\" : \"tokui-field tokui-field--inline\"\n });\n e.attrs.l && a.appendChild(t(\"div\", {\n class: \"tokui-label\"\n }, e.attrs.l));\n var o = t(\"div\", {\n class: \"tokui-radio-group\" + (i.indexOf(\"vertical\") === -1 ? \"\" : \" tokui-radio-group--vertical\"),\n role: \"radiogroup\"\n });\n e.attrs.id && (o.id = e.attrs.id);\n var s = e.attrs.n || e.attrs.id || \"radio\";\n return o._radioName = s, e.children.forEach(function (e) {\n o.appendChild(_(e, s));\n }), a.appendChild(o), a._slot = o, a._tokuiType = \"radio\", a;\n });\n\n function _(e, n) {\n var r = t(\"label\", {\n class: \"tokui-radio-item\"\n });\n r.setAttribute(\"data-tokui-tag\", \"opt\");\n var i = {\n type: \"radio\",\n name: n,\n class: \"tokui-radio-input\"\n };\n e.attrs && e.attrs.v && (i.value = e.attrs.v), e.attrs && e.attrs.chk !== void 0 && (i.checked = \"checked\"), r.appendChild(t(\"input\", i));\n var a = e.attrs && e.attrs.tx || e.attrs && e.attrs.v || e.content || \"\";\n return r.appendChild(t(\"span\", {\n class: \"tokui-radio-text\"\n }, a)), r;\n }\n\n function y(e, n) {\n var r = t(\"label\", {\n class: \"tokui-checkbox-item\"\n });\n r.setAttribute(\"data-tokui-tag\", \"opt\");\n var i = {\n type: \"checkbox\",\n name: n,\n class: \"tokui-checkbox-input\"\n };\n e.attrs && e.attrs.v !== void 0 && (i.value = e.attrs.v), e.attrs && e.attrs.chk !== void 0 && (i.checked = \"checked\"), r.appendChild(t(\"input\", i));\n var a = e.attrs && e.attrs.tx || e.attrs && e.attrs.v || e.content || \"\";\n return r.appendChild(t(\"span\", {\n class: \"tokui-checkbox-text\"\n }, a)), r;\n }\n\n e.register(\"opt\", function (e, n, r) {\n if (r === \"radio\") return _(e, \"\");\n if (r === \"checkbox\") return y(e, \"\");\n if (r === \"picker\") return p(e);\n var i = e.attrs ? e.attrs.v : \"\",\n a = e.attrs && e.attrs.tx || i || e.content || \"\";\n return t(\"option\", {\n value: i\n }, a);\n }), e.register(\"checkbox\", function (e, n) {\n if (e = r(e), !(e.children && e.children.length > 0 || e.attrs.multi !== void 0)) {\n var _n28 = (e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : []).indexOf(\"inline\") !== -1;\n\n var i = t(\"label\", {\n class: \"tokui-checkbox\" + (_n28 ? \" tokui-checkbox--inline\" : \"\"),\n role: \"checkbox\",\n \"aria-checked\": String(e.attrs.chk !== void 0)\n });\n var _r12 = {\n type: \"checkbox\",\n class: \"tokui-checkbox-input\"\n };\n e.attrs.id && (_r12.id = e.attrs.id), e.attrs.n ? _r12.name = e.attrs.n : e.attrs.id && (_r12.name = e.attrs.id), e.attrs.chk !== void 0 && (_r12.checked = \"checked\");\n\n var _o10 = t(\"input\", _r12);\n\n if (i.appendChild(_o10), i.appendChild(t(\"span\", {\n class: \"tokui-checkbox-text\"\n }, e.attrs.l || \"\")), _o10.addEventListener(\"change\", function () {\n i.setAttribute(\"aria-checked\", String(_o10.checked));\n }), !_n28) {\n var a = t(\"div\", {\n class: \"tokui-field\"\n });\n return a.appendChild(i), a;\n }\n\n return i;\n }\n\n var o = e.attrs.v ? e.attrs.v.split(\",\").map(function (e) {\n return e.trim();\n }) : [],\n s = t(\"div\", {\n class: o.indexOf(\"inline\") === -1 ? \"tokui-field\" : \"tokui-field tokui-field--inline\"\n });\n e.attrs.l && s.appendChild(t(\"div\", {\n class: \"tokui-label\"\n }, e.attrs.l));\n var c = e.attrs.n || e.attrs.id || \"checkbox\",\n l = t(\"div\", {\n class: \"tokui-checkbox-group\" + (o.indexOf(\"vertical\") === -1 ? \"\" : \" tokui-checkbox-group--vertical\"),\n role: \"group\"\n });\n return l._checkboxName = c, e.attrs.id && (l.id = e.attrs.id), e.children && e.children.length && e.children.forEach(function (e) {\n l.appendChild(y(e, c));\n }), s.appendChild(l), s._slot = l, s._tokuiType = \"checkbox\", s;\n }), e.register(\"switch\", function (n) {\n var r = t(\"label\", {\n class: \"tokui-switch\"\n }),\n i = {\n type: \"checkbox\",\n class: \"tokui-switch-input\"\n };\n n.attrs.n ? i.name = n.attrs.n : n.attrs.id && (i.name = n.attrs.id), n.attrs.v && (i.value = n.attrs.v), n.attrs.chk !== void 0 && (i.checked = \"checked\"), n.attrs.dis !== void 0 && (i.disabled = \"disabled\"), r.appendChild(t(\"input\", i));\n var a = t(\"span\", {\n class: \"tokui-switch__track\",\n role: \"switch\",\n \"aria-checked\": String(!!i.checked)\n });\n r.appendChild(a), n.attrs.l && r.appendChild(t(\"span\", {\n class: \"tokui-switch__label\"\n }, n.attrs.l));\n var o = r.querySelector(\".tokui-switch-input\");\n\n if (o.addEventListener(\"change\", function () {\n a.setAttribute(\"aria-checked\", String(o.checked));\n }), n.attrs.clk && e.eventBus) {\n var s = e.eventBus.getHandler(n.attrs.clk);\n s && o.addEventListener(\"change\", function (e) {\n s(null, e, r);\n });\n }\n\n r._update = function (e) {\n e.chk === !0 || e.chk === \"true\" ? (o.checked = !0, a.setAttribute(\"aria-checked\", \"true\")) : (e.chk === !1 || e.chk === \"false\") && (o.checked = !1, a.setAttribute(\"aria-checked\", \"false\")), e.dis === !0 || e.dis === \"true\" ? o.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (o.disabled = !1);\n }, n.attrs.id && (r.id = n.attrs.id);\n var c = n.attrs.chk !== void 0;\n return r.setAttribute(\"data-tokui-resettable\", \"\"), r._tokuiReset = function () {\n o.checked = c, a.setAttribute(\"aria-checked\", String(c));\n }, r;\n }), e.register(\"slider\", function (e) {\n var n = parseFloat(e.attrs.min) || 0,\n r = parseFloat(e.attrs.max) || 100,\n i = parseFloat(e.attrs.step) || 1,\n a = parseFloat(e.attrs.v) || 0;\n a < n && (a = n), a > r && (a = r);\n var o = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && o.appendChild(t(\"label\", {\n class: \"tokui-label\",\n for: e.attrs.id || \"\"\n }, e.attrs.l));\n var s = t(\"div\", {\n class: \"tokui-slider\"\n }),\n c = t(\"div\", {\n class: \"tokui-slider__track\"\n }),\n l = t(\"div\", {\n class: \"tokui-slider__fill\"\n }),\n u = t(\"div\", {\n class: \"tokui-slider__thumb\",\n role: \"slider\",\n \"aria-valuemin\": String(n),\n \"aria-valuemax\": String(r),\n \"aria-valuenow\": String(a),\n \"aria-label\": e.attrs.l || \"Slider\",\n tabindex: \"0\"\n }),\n d = t(\"span\", {\n class: \"tokui-slider__value\"\n }, String(a)),\n f = t(\"input\", {\n type: \"hidden\"\n });\n e.attrs.id && (f.id = e.attrs.id), e.attrs.n ? f.name = e.attrs.n : e.attrs.id && (f.name = e.attrs.id), f.value = a, c.appendChild(l), c.appendChild(u), s.appendChild(c), s.appendChild(d), s.appendChild(f);\n var p = (a - n) / (r - n) * 100;\n if (l.style.width = p + \"%\", u.style.left = p + \"%\", e.attrs.dis !== void 0) s.classList.add(\"tokui-slider--disabled\");else {\n var m = function m(e) {\n e.preventDefault();\n var t = c.getBoundingClientRect(),\n o = ((e.touches ? e.touches[0].clientX : e.clientX) - t.left) / t.width;\n o = Math.max(0, Math.min(1, o));\n var s = n + o * (r - n),\n p = Math.round(s / i) * i;\n p = Math.max(n, Math.min(r, p));\n var m = i < 1 ? Math.pow(10, Math.ceil(-Math.log10(i))) : 1;\n p = Math.round(p * m) / m, a = p;\n var h = (a - n) / (r - n) * 100;\n l.style.width = h + \"%\", u.style.left = h + \"%\", d.textContent = String(a), f.value = a, u.setAttribute(\"aria-valuenow\", String(a));\n },\n h = function h() {\n if (document.removeEventListener(\"mousemove\", m), document.removeEventListener(\"mouseup\", h), document.removeEventListener(\"touchmove\", m), document.removeEventListener(\"touchend\", h), u.classList.remove(\"tokui-slider__thumb--dragging\"), e.attrs.clk) {\n var t = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(e.attrs.clk) : null;\n t && t({\n value: a,\n id: e.attrs.id\n });\n }\n },\n g = function g(e) {\n e.preventDefault(), m(e), document.addEventListener(\"mousemove\", m), document.addEventListener(\"mouseup\", h), document.addEventListener(\"touchmove\", m), document.addEventListener(\"touchend\", h), u.classList.add(\"tokui-slider__thumb--dragging\");\n };\n\n s.addEventListener(\"mousedown\", g), s.addEventListener(\"touchstart\", g, {\n passive: !1\n });\n }\n\n o._update = function (e) {\n if (e.v !== void 0) {\n var t = parseFloat(e.v) || 0;\n isNaN(n) || (t = Math.max(n, t)), isNaN(r) || (t = Math.min(r, t)), a = t;\n var i = (a - n) / (r - n) * 100;\n l.style.width = i + \"%\", u.style.left = i + \"%\", d.textContent = String(a), f.value = a, u.setAttribute(\"aria-valuenow\", String(a));\n }\n\n e.dis === !0 || e.dis === \"true\" ? s.classList.add(\"tokui-slider--disabled\") : (e.dis === !1 || e.dis === \"false\") && s.classList.remove(\"tokui-slider--disabled\");\n };\n\n var _ = a;\n return o.setAttribute(\"data-tokui-resettable\", \"\"), o._tokuiReset = function () {\n a = _;\n var e = (a - n) / (r - n) * 100;\n l.style.width = e + \"%\", u.style.left = e + \"%\", d.textContent = String(a), f.value = a, u.setAttribute(\"aria-valuenow\", String(a));\n }, s._variantTarget = s, o.appendChild(s), o;\n }), e.register(\"rate\", function (e) {\n var n = parseInt(e.attrs.max) || 5,\n r = parseInt(e.attrs.v) || 0,\n i = e.attrs.tx || \"\\u2605\",\n a = \"\\u2606\",\n s = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && s.appendChild(t(\"label\", {\n class: \"tokui-label\",\n for: e.attrs.id || \"\"\n }, e.attrs.l));\n var c = t(\"div\", {\n class: \"tokui-rate\",\n role: \"radiogroup\",\n \"aria-label\": e.attrs.l || o(\"rate.defaultLabel\"),\n tabindex: \"0\"\n }),\n l = t(\"input\", {\n type: \"hidden\"\n });\n e.attrs.id && (l.id = e.attrs.id), e.attrs.n ? l.name = e.attrs.n : e.attrs.id && (l.name = e.attrs.id), l.value = r;\n\n for (var u = [], d = 0; d < n; d++) {\n var f = t(\"span\", {\n class: \"tokui-rate__star\",\n \"data-index\": String(d + 1),\n role: \"radio\",\n \"aria-checked\": String(d < r)\n });\n f.textContent = d < r ? i : a, d < r && f.classList.add(\"tokui-rate__star--active\"), u.push(f), c.appendChild(f);\n }\n\n var p = t(\"span\", {\n class: \"tokui-rate__text\"\n });\n r > 0 && (p.textContent = r + \"/\" + n), c.appendChild(p), c.appendChild(l), e.attrs.ro === void 0 ? e.attrs.dis === void 0 ? (c.addEventListener(\"mouseover\", function (e) {\n var t = e.target;\n if (t.classList.contains(\"tokui-rate__star\")) for (var n = parseInt(t.getAttribute(\"data-index\")), r = 0; r < u.length; r++) {\n u[r].textContent = r < n ? i : a, u[r].classList.toggle(\"tokui-rate__star--hover\", r < n);\n }\n }), c.addEventListener(\"mouseout\", function () {\n for (var e = 0; e < u.length; e++) {\n u[e].textContent = e < r ? i : a, u[e].classList.remove(\"tokui-rate__star--hover\");\n }\n }), c.addEventListener(\"click\", function (t) {\n var o = t.target;\n\n if (o.classList.contains(\"tokui-rate__star\")) {\n var s = parseInt(o.getAttribute(\"data-index\"));\n r = r === s ? 0 : s, l.value = r, p.textContent = r > 0 ? r + \"/\" + n : \"\";\n\n for (var c = 0; c < u.length; c++) {\n u[c].textContent = c < r ? i : a, u[c].classList.toggle(\"tokui-rate__star--active\", c < r), u[c].setAttribute(\"aria-checked\", String(c < r));\n }\n\n if (e.attrs.clk) {\n var d = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(e.attrs.clk) : null;\n d && d({\n value: r,\n max: n,\n id: e.attrs.id\n });\n }\n }\n }), c.addEventListener(\"keydown\", function (e) {\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") e.preventDefault(), r = Math.min(r + 1, n);else if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") e.preventDefault(), r = Math.max(r - 1, 0);else return;\n l.value = r, p.textContent = r > 0 ? r + \"/\" + n : \"\";\n\n for (var t = 0; t < u.length; t++) {\n u[t].textContent = t < r ? i : a, u[t].classList.toggle(\"tokui-rate__star--active\", t < r), u[t].setAttribute(\"aria-checked\", String(t < r));\n }\n })) : c.classList.add(\"tokui-rate--disabled\") : c.classList.add(\"tokui-rate--readonly\"), s._update = function (e) {\n if (e.v !== void 0) {\n r = parseInt(e.v) || 0, r > n && (r = n), r < 0 && (r = 0), l.value = r, p.textContent = r > 0 ? r + \"/\" + n : \"\";\n\n for (var t = 0; t < u.length; t++) {\n u[t].textContent = t < r ? i : a, u[t].classList.toggle(\"tokui-rate__star--active\", t < r), u[t].setAttribute(\"aria-checked\", String(t < r));\n }\n }\n\n e.dis === !0 || e.dis === \"true\" ? c.classList.add(\"tokui-rate--disabled\") : (e.dis === !1 || e.dis === \"false\") && c.classList.remove(\"tokui-rate--disabled\");\n };\n var m = r;\n return s.setAttribute(\"data-tokui-resettable\", \"\"), s._tokuiReset = function () {\n r = m, l.value = r, p.textContent = r > 0 ? r + \"/\" + n : \"\";\n\n for (var e = 0; e < u.length; e++) {\n u[e].textContent = e < r ? i : a, u[e].classList.toggle(\"tokui-rate__star--active\", e < r), u[e].setAttribute(\"aria-checked\", String(e < r));\n }\n }, c._variantTarget = c, s.appendChild(c), s;\n }), e.register(\"transfer\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && r.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, e.attrs.l));\n var i = t(\"div\", {\n class: \"tokui-transfer\"\n });\n\n function a(e) {\n var n = t(\"div\", {\n class: \"tokui-transfer__panel\",\n role: \"listbox\"\n }),\n r = t(\"div\", {\n class: \"tokui-transfer__header\"\n }),\n i = t(\"input\", {\n type: \"checkbox\",\n class: \"tokui-transfer__check-all\"\n });\n r.appendChild(i), r.appendChild(t(\"span\", {}, e));\n var a = t(\"span\", {\n class: \"tokui-transfer__count\"\n }, \"0/0\");\n r.appendChild(a), n.appendChild(r);\n var o = t(\"div\", {\n class: \"tokui-transfer__body\"\n });\n return n.appendChild(o), n._body = o, n._header = r, n._checkAll = i, n._count = a, n._items = [], i.addEventListener(\"change\", function () {\n var e = i.checked;\n n._items.forEach(function (t) {\n t._cb.checked = e;\n }), _(n);\n }), n;\n }\n\n function o(e, n, r) {\n var i = t(\"label\", {\n class: \"tokui-transfer__item\",\n role: \"option\",\n \"aria-selected\": \"false\"\n });\n i.setAttribute(\"data-tokui-tag\", \"opt\"), r !== void 0 && i.setAttribute(\"data-tokui-idx\", String(r));\n var a = t(\"input\", {\n type: \"checkbox\",\n value: e\n });\n return i.appendChild(a), i.appendChild(t(\"span\", {}, n)), i._cb = a, a.addEventListener(\"change\", function () {\n var e = i.closest(\".tokui-transfer__panel\");\n e && _(e);\n }), i;\n }\n\n var s = e.attrs.tt || \"Source\",\n c = e.attrs.tt2 || \"Target\",\n l = a(s),\n u = a(c);\n\n function d(e) {\n return /^\\d+$/.test(String(e).trim()) ? String(e).trim() + \"px\" : String(e).trim();\n }\n\n [l, u].forEach(function (t) {\n if (e.attrs.h) {\n var n = d(e.attrs.h);\n t.style.height = n, t.style.minHeight = n, t.style.maxHeight = n;\n } else e.attrs.mh && (t.style.maxHeight = d(e.attrs.mh));\n });\n var f = t(\"div\", {\n class: \"tokui-transfer__actions\"\n }),\n p = t(\"button\", {\n class: \"tokui-transfer__btn\",\n type: \"button\"\n }, \"\\u2192\"),\n m = t(\"button\", {\n class: \"tokui-transfer__btn\",\n type: \"button\"\n }, \"\\u2190\");\n f.appendChild(p), f.appendChild(m);\n var h = t(\"input\", {\n type: \"hidden\"\n });\n e.attrs.id && (h.id = e.attrs.id), e.attrs.n ? h.name = e.attrs.n : e.attrs.id && (h.name = e.attrs.id);\n\n function g() {\n h.value = u._items.map(function (e) {\n return e._cb.value;\n }).join(\",\");\n }\n\n function _(e) {\n var t = e._items.filter(function (e) {\n return e._cb.checked;\n }).length;\n\n e._count.textContent = t + \"/\" + e._items.length, e._checkAll.checked = t > 0 && t === e._items.length;\n }\n\n function v(t, n) {\n var r = [];\n\n if (t._items = t._items.filter(function (e) {\n return e._cb.checked ? (e._cb.checked = !1, n._body.appendChild(e), n._items.push(e), r.push(e), !1) : !0;\n }), _(t), _(n), g(), e.attrs.clk && r.length > 0) {\n var i = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(e.attrs.clk) : null;\n i && i({\n values: u._items.map(function (e) {\n return e._cb.value;\n }),\n id: e.attrs.id\n });\n }\n }\n\n function y(e) {\n (e || []).forEach(function (e) {\n e.type === \"opt\" && b(e);\n }), _(l), _(u), g();\n }\n\n function b(e) {\n var t = e.attrs && e.attrs.v || \"\",\n n = e.attrs && e.attrs.tx || t,\n i = e.attrs && e.attrs.chk !== void 0,\n a = o(t, n, r._transferOptIdx++);\n return a.setAttribute(\"data-tokui-init-side\", i ? \"right\" : \"left\"), i ? (u._body.appendChild(a), u._items.push(a)) : (l._body.appendChild(a), l._items.push(a)), _(l), _(u), g(), a;\n }\n\n p.addEventListener(\"click\", function () {\n v(l, u);\n }), m.addEventListener(\"click\", function () {\n v(u, l);\n }), r._transferOptIdx = 0;\n var x = t(\"div\", {});\n return x.style.display = \"none\", i.appendChild(l), i.appendChild(f), i.appendChild(u), i.appendChild(h), i.appendChild(x), e.attrs.dis !== void 0 && i.classList.add(\"tokui-transfer--disabled\"), r._tokuiTransferAppend = function (e) {\n return b(e);\n }, e.children && e.children.length && y(e.children), r._streamCloseHook = function () {\n x.innerHTML = \"\";\n }, r._slot = x, r._tokuiType = \"transfer\", i._variantTarget = i, r.setAttribute(\"data-tokui-resettable\", \"\"), r._tokuiReset = function () {\n l._items.concat(u._items).forEach(function (e) {\n var t = (e.getAttribute(\"data-tokui-init-side\") || \"left\") === \"right\" ? u : l,\n n = u._items.indexOf(e) === -1 ? l : u;\n n !== t && (n._items.splice(n._items.indexOf(e), 1), t._body.appendChild(e), t._items.push(e)), e._cb && (e._cb.checked = !1);\n }), _(l), _(u), g();\n }, r.appendChild(i), r;\n }), e.register(\"numinput\", function (e) {\n var n = parseFloat(e.attrs.min),\n r = parseFloat(e.attrs.max),\n i = parseFloat(e.attrs.step) || 1,\n a = parseFloat(e.attrs.v) || 0;\n isNaN(n) || (a = Math.max(n, a)), isNaN(r) || (a = Math.min(r, a));\n var o = e.attrs.dis !== void 0,\n s = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && s.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, e.attrs.l));\n var c = t(\"div\", {\n class: \"tokui-numinput\" + (o ? \" tokui-numinput--disabled\" : \"\")\n }),\n l = t(\"button\", {\n class: \"tokui-numinput__btn tokui-numinput__btn--minus\",\n type: \"button\"\n });\n l.textContent = \"\\u2212\", c.appendChild(l);\n var u = {\n class: \"tokui-numinput__input\",\n type: \"text\",\n value: String(a)\n };\n e.attrs.id && (u.id = e.attrs.id), o && (u.disabled = \"disabled\");\n var d = t(\"input\", u);\n c.appendChild(d);\n var f = t(\"button\", {\n class: \"tokui-numinput__btn tokui-numinput__btn--plus\",\n type: \"button\"\n });\n f.textContent = \"+\", c.appendChild(f);\n var p = {\n type: \"hidden\"\n };\n e.attrs.n ? p.name = e.attrs.n : e.attrs.id && (p.name = e.attrs.id), p.value = String(a);\n var m = t(\"input\", p);\n\n if (c.appendChild(m), !o) {\n function _e54(e) {\n return isNaN(n) || (e = Math.max(n, e)), isNaN(r) || (e = Math.min(r, e)), e;\n }\n\n function _t30(t) {\n var n = i < 1 ? Math.pow(10, Math.ceil(-Math.log10(i))) : 1;\n t = Math.round(t * n) / n, t = _e54(t), a = t, d.value = String(a), m.value = a;\n }\n\n l.addEventListener(\"click\", function () {\n _t30(a - i);\n }), f.addEventListener(\"click\", function () {\n _t30(a + i);\n }), d.addEventListener(\"change\", function () {\n var e = parseFloat(d.value);\n isNaN(e) && (e = 0), _t30(e);\n });\n }\n\n s._update = function (e) {\n if (e.v !== void 0) {\n var t = parseFloat(e.v) || 0;\n isNaN(n) || (t = Math.max(n, t)), isNaN(r) || (t = Math.min(r, t)), a = t, d.value = String(a), m.value = a;\n }\n\n e.dis === !0 || e.dis === \"true\" ? (d.disabled = !0, c.classList.add(\"tokui-numinput--disabled\")) : (e.dis === !1 || e.dis === \"false\") && (d.disabled = !1, c.classList.remove(\"tokui-numinput--disabled\"));\n };\n\n var h = a;\n return s.setAttribute(\"data-tokui-resettable\", \"\"), s._tokuiReset = function () {\n a = h, d.value = String(a), d.setAttribute(\"value\", String(a)), m.value = a;\n }, s.appendChild(c), s._variantTarget = c, s;\n });\n var b = new Set([\"primary\", \"danger\", \"success\", \"warning\", \"ghost\", \"sm\", \"lg\", \"pill\", \"square\", \"block\"]);\n e.register(\"btn\", function (e) {\n var r = n(e.attrs);\n var o = r.act === \"submit\" ? \"submit\" : r.act === \"reset\" ? \"reset\" : \"button\",\n s = \"tokui-btn\";\n e.attrs.t && b.has(e.attrs.t) && (s += \" tokui-btn--\" + e.attrs.t), r.act === \"print\" && (s += \" tokui-btn--print\");\n var c = {\n class: s,\n type: o\n };\n r.formId && (c[\"data-tokui-form\"] = r.formId), r.act && (c[\"data-tokui-act\"] = r.act), r.act === \"submit\" && r.handler && (c[\"data-tokui-sub\"] = r.handler), r.act === \"reset\" && r.handler && (c[\"data-tokui-handler\"] = r.handler), r.act === \"print\" && (c[\"data-tokui-target\"] = r.target, c[\"data-tokui-print-trigger\"] = \"\"), !r.act && r.handler && (c[\"data-tokui-clk\"] = r.handler), e.attrs.id && (c.id = e.attrs.id), e.attrs.dis !== void 0 && (c.disabled = \"disabled\"), Object.keys(e.attrs).forEach(function (t) {\n t.startsWith(\"data-\") && (c[t] = e.attrs[t]);\n });\n var l = \"\";\n e.attrs.w && (l += \"width:\" + e.attrs.w + \";\");\n var u = i(e.attrs.bg);\n u && (l += \"background:\" + u + \";\");\n var d = i(e.attrs.fc);\n d && (l += \"color:\" + d + \";\"), e.attrs.radius && (l += \"border-radius:\" + e.attrs.radius + \";\"), l && (c.style = l);\n\n var f = e.attrs.tx || e.content || \"\",\n p = e.attrs.icon,\n m = e.attrs.i,\n h = p ? a(p, 16) : \"\",\n g = !!(p || m),\n _ = t(\"button\", c);\n\n if (_._tokuiType = \"btn\", !f && g) {\n _.classList.add(\"tokui-btn--icon-only\");\n\n var _t31 = e.attrs.l || e.attrs.tt || p || \"\";\n\n _t31 && (_.setAttribute(\"aria-label\", _t31), _.setAttribute(\"data-tokui-tip\", _t31));\n }\n\n if (p) {\n var _e55 = t(\"span\", {\n class: \"tokui-btn__icon\"\n });\n\n _e55.innerHTML = h, _.appendChild(_e55), _.classList.add(\"tokui-btn--has-icon\");\n } else if (m) {\n var _e56 = t(\"span\", {\n class: \"tokui-btn__icon tokui-btn__icon--emoji\"\n }, m);\n\n _.appendChild(_e56), _.classList.add(\"tokui-btn--has-icon\");\n }\n\n var v = null;\n return f && (v = t(\"span\", {\n class: \"tokui-btn__text\"\n }, f), _.appendChild(v)), _._tokuiTextSpan = v, _._update = function (e) {\n e.dis === !0 || e.dis === \"true\" ? _.disabled = !0 : (e.dis === !1 || e.dis === \"false\") && (_.disabled = !1), e.tx !== void 0 && v && (v.textContent = e.tx);\n }, _;\n }), e.register(\"print-area\", function (e, n) {\n var r = {\n class: \"tokui-print-area\"\n };\n e.attrs.id && (r.id = e.attrs.id);\n var i = t(\"div\", r);\n e.attrs.tt && i.appendChild(t(\"div\", {\n class: \"tokui-print-area__title\"\n }, e.attrs.tt));\n var a = t(\"div\", {\n class: \"tokui-print-area__body\"\n });\n return n(e.children).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), i.appendChild(a), i._slot = a, i._tokuiType = \"print-area\", i;\n }), e.register(\"btngroup\", function (e, n) {\n var r = {\n class: \"tokui-btn-group\"\n };\n e.attrs.id && (r.id = e.attrs.id);\n var i = t(\"div\", r);\n return n(e.children).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i._slot = i, i._tokuiType = \"btngroup\", i;\n }), e.register(\"cascader\", function (e, n) {\n var r = e.attrs.dis !== void 0,\n i = e.attrs.ph || o(\"select.placeholder\"),\n a = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && a.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, e.attrs.l)), e.attrs.id && (a.id = e.attrs.id);\n var s = t(\"div\", {\n class: \"tokui-cascader\" + (r ? \" tokui-cascader--disabled\" : \"\"),\n role: \"combobox\",\n \"aria-expanded\": \"false\"\n }),\n c = t(\"div\", {\n class: \"tokui-cascader-control\"\n }),\n l = t(\"input\", {\n class: \"tokui-cascader-input\",\n type: \"text\",\n readonly: \"readonly\",\n placeholder: i\n }),\n u = t(\"span\", {\n class: \"tokui-cascader-arrow\"\n });\n c.appendChild(l), c.appendChild(u), s.appendChild(c);\n var d = t(\"div\", {\n class: \"tokui-cascader-menus\",\n role: \"listbox\"\n });\n s.appendChild(d);\n var f = t(\"input\", {\n type: \"hidden\"\n });\n e.attrs.n ? f.name = e.attrs.n : e.attrs.id && (f.name = e.attrs.id), s.appendChild(f);\n var p = t(\"div\", {});\n p.style.display = \"none\", s.appendChild(p), a.appendChild(s);\n\n function m(e) {\n var t = {},\n n = [];\n return (e || []).forEach(function (e) {\n if (e.type === \"opt\") {\n var n = e.attrs.v || \"\";\n t[n] = {\n v: n,\n tx: e.attrs.tx || n,\n p: e.attrs.p || \"\",\n children: []\n };\n }\n }), Object.keys(t).forEach(function (e) {\n var r = t[e];\n r.p && t[r.p] ? t[r.p].children.push(r) : n.push(r);\n }), n;\n }\n\n function h(e) {\n var n = t(\"div\", {\n class: \"tokui-cascader-menu\"\n });\n return e.forEach(function (e) {\n var r = t(\"div\", {\n class: \"tokui-cascader-option\" + (e.children.length ? \" tokui-cascader-option--expand\" : \"\"),\n \"data-value\": e.v,\n \"data-text\": e.tx\n });\n r.textContent = e.tx, n.appendChild(r);\n }), n;\n }\n\n function g(e, t) {\n e.querySelectorAll(\".tokui-cascader-option\").forEach(function (e) {\n e.classList.toggle(\"tokui-cascader-option--active\", e.getAttribute(\"data-value\") === t);\n });\n }\n\n function _(e, t) {\n function n(e, r) {\n for (var i = 0; i < e.length; i++) {\n var a = r.concat([{\n v: e[i].v,\n tx: e[i].tx,\n node: e[i]\n }]);\n if (e[i].v === t) return a;\n var o = n(e[i].children, a);\n if (o) return o;\n }\n\n return null;\n }\n\n return n(e, []);\n }\n\n function v(e, t) {\n d.innerHTML = \"\";\n\n for (var n = e, r = 0; r < t.length; r++) {\n var i = h(n);\n g(i, t[r]), d.appendChild(i);\n\n for (var a = !1, o = 0; o < n.length; o++) {\n if (n[o].v === t[r]) {\n n = n[o].children, a = !0;\n break;\n }\n }\n\n if (!a) break;\n }\n\n n && n.length && d.appendChild(h(n));\n }\n\n var y = s._cascaderState = s._cascaderState || {\n isOpen: !1,\n activeValues: [],\n tree: null\n };\n\n function b(e) {\n if (!r) {\n y.isOpen = !0, y.tree = e, s.classList.add(\"tokui-cascader--open\"), s.setAttribute(\"aria-expanded\", \"true\");\n var t = c.getBoundingClientRect();\n d.style.left = t.left + \"px\", d.style.top = t.bottom + 4 + \"px\", d.style.minWidth = t.width + \"px\", v(e, y.activeValues);\n }\n }\n\n function x() {\n y.isOpen = !1, y.activeValues = [], s.classList.remove(\"tokui-cascader--open\"), s.setAttribute(\"aria-expanded\", \"false\");\n }\n\n s._cascaderBindDone || (s._cascaderBindDone = !0, c.addEventListener(\"click\", function (e) {\n e.stopPropagation(), y.isOpen ? x() : y.tree && b(y.tree);\n }), d.addEventListener(\"click\", function (t) {\n t.stopPropagation();\n var n = t.target.closest(\".tokui-cascader-option\");\n\n if (n) {\n var r = n.getAttribute(\"data-value\");\n\n if (n.getAttribute(\"data-text\"), y.tree) {\n var i = _(y.tree, r);\n\n if (i) {\n var a = i[i.length - 1].node,\n o = n.parentElement;\n if (g(o, r), a.children.length > 0) y.activeValues = i.map(function (e) {\n return e.v;\n }), v(y.tree, y.activeValues);else {\n var s = i.map(function (e) {\n return e.tx;\n }).join(\" / \"),\n c = i.map(function (e) {\n return e.v;\n }).join(\"/\");\n\n if (l.value = s, f.value = c, x(), e.attrs.clk) {\n var u = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal && window.TokUI._internal.TokUIEventBus ? window.TokUI._internal.TokUIEventBus.getHandler(e.attrs.clk) : null;\n u && u({\n id: e.attrs.id,\n value: c,\n text: s,\n path: i\n });\n }\n }\n }\n }\n }\n }), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener(\"click\", function () {\n y.isOpen && x();\n }));\n var S = {\n hidden: \"\",\n text: \"\"\n };\n\n function C(t) {\n if (y.tree = t, e.attrs.v) {\n for (var n = String(e.attrs.v).split(\"/\"), r = !0, i = [], a = t, o = 0; o < n.length; o++) {\n for (var s = !1, c = 0; c < a.length; c++) {\n if (a[c].v === n[o]) {\n i.push(a[c].tx), a = a[c].children, s = !0;\n break;\n }\n }\n\n if (!s) {\n r = !1;\n break;\n }\n }\n\n r && i.length === n.length && (l.value = i.join(\" / \"), f.value = e.attrs.v);\n }\n\n S.hidden = f.value, S.text = l.value;\n }\n\n return e.children && e.children.length && C(m(e.children)), a._streamCloseHook = function () {\n p.innerHTML = \"\", C(m(e.children));\n }, a._slot = p, a._tokuiType = \"cascader\", a._variantTarget = s, a.setAttribute(\"data-tokui-resettable\", \"\"), a._tokuiReset = function () {\n f.value = S.hidden, l.value = S.text, y.isOpen && x();\n }, a;\n }), e.register(\"upload\", function (e) {\n var n = e.attrs.dis !== void 0,\n r = e.attrs.multi !== void 0,\n i = parseInt(e.attrs.max) || 0,\n a = e.attrs.ph || o(\"upload.hint\"),\n s = e.attrs.accept || \"\",\n c = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && c.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, e.attrs.l)), e.attrs.id && (c.id = e.attrs.id);\n var l = t(\"div\", {\n class: \"tokui-upload\" + (n ? \" tokui-upload--disabled\" : \"\")\n }),\n u = t(\"div\", {\n class: \"tokui-upload-dropzone\",\n role: \"button\",\n \"aria-label\": a,\n tabindex: \"0\"\n }),\n d = t(\"div\", {\n class: \"tokui-upload-icon\"\n });\n d.innerHTML = \"<svg viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><path d=\\\"M24 32V12\\\"/><path d=\\\"M16 20l8-8 8 8\\\"/><path d=\\\"M8 36h32\\\"/></svg>\", u.appendChild(d);\n var f = t(\"div\", {\n class: \"tokui-upload-text\"\n });\n f.textContent = a, u.appendChild(f);\n var p = t(\"button\", {\n class: \"tokui-upload-btn\",\n type: \"button\"\n });\n p.textContent = o(\"upload.browse\"), u.appendChild(p), l.appendChild(u);\n var m = {\n type: \"file\",\n style: \"display:none\"\n };\n s && (m.accept = s), r && (m.multiple = \"multiple\");\n var h = t(\"input\", m);\n l.appendChild(h);\n var g = t(\"div\", {\n class: \"tokui-upload-filelist\"\n });\n l.appendChild(g);\n\n var _ = t(\"input\", {\n type: \"hidden\"\n });\n\n e.attrs.n ? _.name = e.attrs.n : e.attrs.id && (_.name = e.attrs.id), l.appendChild(_);\n\n function v(e) {\n return e < 1024 ? e + \" B\" : e < 1048576 ? (e / 1024).toFixed(1) + \" KB\" : (e / 1048576).toFixed(1) + \" MB\";\n }\n\n var y = [];\n\n function b() {\n g.innerHTML = \"\", y.forEach(function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-upload-file\"\n }),\n i = t(\"span\", {\n class: \"tokui-upload-file-icon\"\n });\n i.textContent = \"\\uD83D\\uDCC4\", r.appendChild(i);\n var a = t(\"span\", {\n class: \"tokui-upload-file-name\"\n });\n a.textContent = e.name, a.title = e.name, r.appendChild(a);\n var o = t(\"span\", {\n class: \"tokui-upload-file-size\"\n });\n o.textContent = v(e.size), r.appendChild(o);\n var s = t(\"span\", {\n class: \"tokui-upload-file-remove\"\n });\n s.textContent = \"\\u2715\", s.setAttribute(\"data-idx\", n), r.appendChild(s), g.appendChild(r);\n }), _.value = y.map(function (e) {\n return e.name;\n }).join(\",\");\n }\n\n function x(t) {\n for (var n = 0; n < t.length && !(i && y.length >= i); n++) {\n y.push({\n name: t[n].name,\n size: t[n].size,\n type: t[n].type\n });\n }\n\n if (b(), e.attrs.clk) {\n var r = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(e.attrs.clk) : null;\n r && r({\n id: e.attrs.id,\n files: y\n });\n }\n }\n\n return n || (u.addEventListener(\"click\", function (e) {\n (e.target === p || u.contains(e.target)) && h.click();\n }), p.addEventListener(\"click\", function (e) {\n e.stopPropagation(), h.click();\n }), h.addEventListener(\"change\", function () {\n h.files && h.files.length && (x(h.files), h.value = \"\");\n }), u.addEventListener(\"dragover\", function (e) {\n e.preventDefault(), l.classList.add(\"tokui-upload--dragover\");\n }), u.addEventListener(\"dragleave\", function (e) {\n e.preventDefault(), l.classList.remove(\"tokui-upload--dragover\");\n }), u.addEventListener(\"drop\", function (e) {\n e.preventDefault(), l.classList.remove(\"tokui-upload--dragover\"), e.dataTransfer && e.dataTransfer.files.length && x(e.dataTransfer.files);\n }), g.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-upload-file-remove\");\n\n if (t) {\n var n = parseInt(t.getAttribute(\"data-idx\"));\n !isNaN(n) && n >= 0 && n < y.length && (y.splice(n, 1), b());\n }\n })), c.appendChild(l), c._variantTarget = l, c;\n });\n\n function x(e) {\n if (!e) return null;\n var t = e.match(/^(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n return t ? new Date(parseInt(t[1]), parseInt(t[2]) - 1, parseInt(t[3])) : null;\n }\n\n function C(e) {\n if (!e) return null;\n var t = e.match(/^(\\d{4})-(\\d{1,2})-(\\d{1,2})\\s+(\\d{1,2}):(\\d{1,2})/);\n return t ? new Date(parseInt(t[1]), parseInt(t[2]) - 1, parseInt(t[3]), parseInt(t[4]), parseInt(t[5])) : null;\n }\n\n function w(e, t) {\n var n = e.getFullYear(),\n r = e.getMonth() + 1,\n i = e.getDate(),\n a = e.getHours(),\n o = e.getMinutes(),\n s = e.getSeconds();\n return t.replace(\"YYYY\", String(n)).replace(\"MM\", r < 10 ? \"0\" + r : String(r)).replace(\"DD\", i < 10 ? \"0\" + i : String(i)).replace(\"HH\", a < 10 ? \"0\" + a : String(a)).replace(\"mm\", o < 10 ? \"0\" + o : String(o)).replace(\"ss\", s < 10 ? \"0\" + s : String(s));\n }\n\n function T(e, t, n, r) {\n return r.replace(\"HH\", e < 10 ? \"0\" + e : String(e)).replace(\"mm\", t < 10 ? \"0\" + t : String(t)).replace(\"ss\", n < 10 ? \"0\" + n : String(n));\n }\n\n function E(e, t) {\n var n = e.querySelector(\".tokui-timepicker-column-list\");\n\n if (n) {\n var r = n.querySelectorAll(\".tokui-timepicker-column-item\");\n r.length && (t < 0 && (t = 0), t > r.length - 1 && (t = r.length - 1), r.forEach(function (e, n) {\n e.classList.toggle(\"tokui-timepicker-column-item--selected\", n === t);\n }));\n }\n }\n\n function D(e, t) {\n E(e, t);\n var n = e.querySelector(\".tokui-timepicker-column-list\");\n\n if (n) {\n var r = n.querySelectorAll(\".tokui-timepicker-column-item\");\n\n if (r.length) {\n t < 0 && (t = 0), t > r.length - 1 && (t = r.length - 1);\n var i = r[t],\n a = i.offsetHeight || 32;\n\n if (n.clientHeight && i.offsetTop !== void 0) {\n var o = i.offsetTop + a / 2 - n.clientHeight / 2;\n Math.abs(n.scrollTop - o) > 1 && (n.scrollTop = o);\n }\n }\n }\n }\n\n function O(e) {\n var t = e.querySelector(\".tokui-timepicker-column-list\");\n if (!t) return 0;\n var n = t.querySelectorAll(\".tokui-timepicker-column-item\");\n if (!n.length) return 0;\n\n if (n[0].getBoundingClientRect && t.getBoundingClientRect) {\n for (var r = t.getBoundingClientRect(), i = r.top + r.height / 2, a = 0, o = 1 / 0, s = 0; s < n.length; s++) {\n var c = n[s].getBoundingClientRect(),\n l = Math.abs(c.top + c.height / 2 - i);\n l < o && (o = l, a = s);\n }\n\n return a;\n }\n\n var u = n[0].offsetHeight || 32,\n d = Math.round((t.scrollTop + (t.clientHeight || 192) / 2) / u) - 0;\n return Math.max(0, Math.min(d, n.length - 1));\n }\n\n function k(e, n, r) {\n for (var i = t(\"div\", {\n class: \"tokui-timepicker-column\"\n }), a = t(\"div\", {\n class: \"tokui-timepicker-column-list\"\n }), o = 0; o < n; o++) {\n var s = t(\"div\", {\n class: \"tokui-timepicker-column-item\" + (o === r ? \" tokui-timepicker-column-item--selected\" : \"\"),\n \"data-value\": String(o)\n }, o < 10 ? \"0\" + o : String(o));\n s.addEventListener(\"click\", function (e) {\n e.stopPropagation(), D(i, parseInt(this.getAttribute(\"data-value\"), 10));\n }), a.appendChild(s);\n }\n\n i.appendChild(a);\n var c = 0,\n l = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.requestAnimationFrame ? window.requestAnimationFrame : function (e) {\n setTimeout(e, 16);\n };\n return a.addEventListener(\"scroll\", function () {\n c || (c = 1, l(function () {\n c = 0, E(i, O(i));\n }));\n }), i._label = e, i;\n }\n\n function A(e) {\n var t = O(e);\n E(e, t);\n var n = e.querySelector(\".tokui-timepicker-column-list\").querySelectorAll(\".tokui-timepicker-column-item\");\n return parseInt(n[t].getAttribute(\"data-value\")) || 0;\n }\n\n function j(e, t) {\n D(e, t);\n }\n\n var M = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal ? window.TokUI._internal._datePickers = window.TokUI._internal._datePickers || new Set() : new Set();\n\n function N(e) {\n var t = [];\n M.forEach(function (n) {\n n !== e && t.push(n);\n }), t.forEach(function (e) {\n try {\n e();\n } catch (_unused26) {}\n }), M.add(e);\n }\n\n function P(e) {\n M.delete(e);\n }\n\n function F() {\n var e = [];\n M.forEach(function (t) {\n e.push(t);\n }), M.clear(), e.forEach(function (e) {\n try {\n e();\n } catch (_unused27) {}\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && !window.TokUI._internal._dateScrollBound && (window.addEventListener(\"scroll\", F), window.TokUI._internal._dateScrollBound = !0);\n\n function I() {\n return (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.innerWidth ? window.innerWidth : (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : 1024;\n }\n\n function L(e, n, r, i, a) {\n var s = t(\"div\", {\n class: \"tokui-datepicker-header\"\n }),\n c = t(\"button\", {\n class: \"tokui-datepicker-nav tokui-datepicker-nav--prev\",\n type: \"button\"\n });\n c.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\"><polyline points=\\\"15 18 9 12 15 6\\\"/></svg>\";\n var l = t(\"button\", {\n class: \"tokui-datepicker-nav tokui-datepicker-nav--next\",\n type: \"button\"\n });\n l.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\"><polyline points=\\\"9 18 15 12 9 6\\\"/></svg>\";\n var u = t(\"span\", {\n class: \"tokui-datepicker-title\"\n }, o(\"datepicker.title\", {\n y: e,\n m: n + 1\n }));\n s.appendChild(c), s.appendChild(u), s.appendChild(l), a.appendChild(s);\n var d = [o(\"datepicker.weekday.0\"), o(\"datepicker.weekday.1\"), o(\"datepicker.weekday.2\"), o(\"datepicker.weekday.3\"), o(\"datepicker.weekday.4\"), o(\"datepicker.weekday.5\"), o(\"datepicker.weekday.6\")],\n f = t(\"div\", {\n class: \"tokui-datepicker-weekdays\"\n });\n d.forEach(function (e) {\n f.appendChild(t(\"span\", {\n class: \"tokui-datepicker-weekday\"\n }, e));\n }), a.appendChild(f);\n\n for (var p = t(\"div\", {\n class: \"tokui-datepicker-grid\"\n }), m = new Date(e, n, 1).getDay(), h = new Date(e, n + 1, 0).getDate(), g = new Date(e, n, 0).getDate(), _ = i.getDate(), v = i.getFullYear() === e && i.getMonth() === n, y = m - 1; y >= 0; y--) {\n p.appendChild(t(\"span\", {\n class: \"tokui-datepicker-day tokui-datepicker-day--other\"\n }, String(g - y)));\n }\n\n for (var b = 1; b <= h; b++) {\n var x = [\"tokui-datepicker-day\"];\n v && b === _ && x.push(\"tokui-datepicker-day--today\"), r && r.getFullYear() === e && r.getMonth() === n && r.getDate() === b && x.push(\"tokui-datepicker-day--selected\");\n var S = t(\"span\", {\n class: x.join(\" \"),\n \"data-day\": String(b)\n }, String(b));\n p.appendChild(S);\n }\n\n for (var C = 42 - m - h, w = 1; w <= C; w++) {\n p.appendChild(t(\"span\", {\n class: \"tokui-datepicker-day tokui-datepicker-day--other\"\n }, String(w)));\n }\n\n return a.appendChild(p), {\n prevBtn: c,\n nextBtn: l\n };\n }\n\n e.register(\"datepicker\", function (e) {\n var n = e.attrs || {},\n r = n.dis !== void 0,\n i = n.fmt || \"YYYY-MM-DD\",\n a = n.ph || i,\n o = n.v || \"\",\n s = t(\"div\", {\n class: \"tokui-field\"\n });\n n.l && s.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, n.l));\n var c = [\"tokui-datepicker\"];\n r && c.push(\"tokui-datepicker--disabled\");\n var l = t(\"div\", {\n class: c.join(\" \")\n }),\n u = t(\"div\", {\n class: \"tokui-datepicker-control\"\n }),\n d = {\n class: \"tokui-datepicker-input\",\n type: \"text\",\n readonly: \"readonly\",\n placeholder: a\n };\n n.id && (d.id = n.id), r && (d.disabled = \"disabled\"), o && (d.value = o);\n var f = t(\"input\", d);\n u.appendChild(f);\n var p = t(\"span\", {\n class: \"tokui-datepicker-icon\"\n });\n p.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"/><line x1=\\\"16\\\" y1=\\\"2\\\" x2=\\\"16\\\" y2=\\\"6\\\"/><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"6\\\"/><line x1=\\\"3\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"10\\\"/></svg>\", u.appendChild(p), l.appendChild(u);\n\n var m = t(\"div\", {\n class: \"tokui-datepicker-dropdown\"\n }),\n h = new Date(),\n g,\n _,\n v;\n\n o && (v = x(o), v && (g = v.getFullYear(), _ = v.getMonth())), g || (g = h.getFullYear(), _ = h.getMonth());\n var y = t(\"input\", {\n type: \"hidden\"\n });\n n.n ? y.name = n.n : n.id && (y.name = n.id), y.value = o, l.appendChild(y);\n\n function b(e, t) {\n m.innerHTML = \"\";\n var n = L(e, t, v, h, m);\n n.prevBtn.addEventListener(\"click\", function (e) {\n e.stopPropagation(), _--, _ < 0 && (_ = 11, g--), b(g, _);\n }), n.nextBtn.addEventListener(\"click\", function (e) {\n e.stopPropagation(), _++, _ > 11 && (_ = 0, g++), b(g, _);\n });\n }\n\n b(g, _), m.style.display = \"none\", l.appendChild(m);\n var S = !1;\n\n function C() {\n if (!(r || S)) {\n N(T), S = !0, m.style.display = \"\", l.classList.add(\"tokui-datepicker--open\");\n var e = u.getBoundingClientRect();\n m.style.left = e.left + \"px\", m.style.top = e.bottom + 4 + \"px\", m.style.width = \"auto\";\n var t = I();\n e.left + m.offsetWidth > t - 8 && (m.style.left = Math.max(8, t - m.offsetWidth - 8) + \"px\");\n }\n }\n\n function T() {\n S && (S = !1, m.style.display = \"none\", l.classList.remove(\"tokui-datepicker--open\"), P(T));\n }\n\n return r || (u.addEventListener(\"click\", function (e) {\n e.stopPropagation(), S ? T() : C();\n }), m.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n var t = e.target.closest(\".tokui-datepicker-day\");\n\n if (!(!t || t.classList.contains(\"tokui-datepicker-day--other\"))) {\n var r = parseInt(t.getAttribute(\"data-day\"));\n v = new Date(g, _, r);\n var a = w(v, i);\n\n if (f.value = a, y.value = a, T(), b(g, _), n.clk) {\n var o = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(n.clk) : null;\n o && o({\n value: a,\n date: v,\n id: n.id\n });\n }\n }\n }), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener(\"click\", function (e) {\n l.contains(e.target) || T();\n })), s.appendChild(l), s._variantTarget = l, s;\n }), e.register(\"timepicker\", function (e) {\n var n = e.attrs || {},\n r = n.dis !== void 0,\n i = n.fmt || \"HH:mm\",\n a = n.ph || i,\n s = n.v || \"\",\n c = t(\"div\", {\n class: \"tokui-field\"\n });\n n.l && c.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, n.l));\n var l = [\"tokui-timepicker\"];\n r && l.push(\"tokui-timepicker--disabled\");\n var u = t(\"div\", {\n class: l.join(\" \")\n }),\n d = t(\"div\", {\n class: \"tokui-timepicker-control\"\n }),\n f = {\n class: \"tokui-timepicker-input\",\n type: \"text\",\n readonly: \"readonly\",\n placeholder: a\n };\n n.id && (f.id = n.id), r && (f.disabled = \"disabled\"), s && (f.value = s);\n var p = t(\"input\", f);\n d.appendChild(p);\n var m = t(\"span\", {\n class: \"tokui-timepicker-icon\"\n });\n m.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"/><polyline points=\\\"12 6 12 12 16 14\\\"/></svg>\", d.appendChild(m), u.appendChild(d);\n var h = 0,\n g = 0,\n _ = 0;\n\n if (s) {\n var v = s.split(\":\");\n h = parseInt(v[0]) || 0, g = parseInt(v[1]) || 0, _ = parseInt(v[2]) || 0;\n }\n\n var y = t(\"div\", {\n class: \"tokui-timepicker-dropdown\"\n }),\n b = i.indexOf(\"ss\") !== -1 || i.indexOf(\"s\") !== -1,\n x = t(\"div\", {\n class: \"tokui-timepicker-columns\"\n }),\n S = k(o(\"duration.hour\"), 24, h),\n C = k(o(\"duration.minute\"), 60, g);\n x.appendChild(S), x.appendChild(C);\n var w = null;\n b && (w = k(o(\"duration.second\"), 60, _), x.appendChild(w)), y.appendChild(x);\n var E = t(\"div\", {\n class: \"tokui-timepicker-footer\"\n }),\n D = t(\"button\", {\n class: \"tokui-timepicker-confirm\",\n type: \"button\"\n }, o(\"common.ok\"));\n E.appendChild(D), y.appendChild(E);\n var O = t(\"input\", {\n type: \"hidden\"\n });\n n.n ? O.name = n.n : n.id && (O.name = n.id), O.value = s, u.appendChild(O), y.style.display = \"none\", u.appendChild(y);\n var M = !1;\n\n function F() {\n if (!(r || M)) {\n N(L), M = !0, y.style.display = \"\", u.classList.add(\"tokui-timepicker--open\");\n var e = d.getBoundingClientRect();\n y.style.left = e.left + \"px\", y.style.top = e.bottom + 4 + \"px\", y.style.width = \"auto\";\n var t = I();\n e.left + y.offsetWidth > t - 8 && (y.style.left = Math.max(8, t - y.offsetWidth - 8) + \"px\"), j(S, h), j(C, g), b && w && j(w, _);\n }\n }\n\n function L() {\n M && (M = !1, y.style.display = \"none\", u.classList.remove(\"tokui-timepicker--open\"), P(L));\n }\n\n return r || (d.addEventListener(\"click\", function (e) {\n e.stopPropagation(), M ? L() : F();\n }), D.addEventListener(\"click\", function (e) {\n e.stopPropagation(), h = A(S), g = A(C), b && w && (_ = A(w));\n var t = T(h, g, _, i);\n\n if (p.value = t, O.value = t, L(), n.clk) {\n var r = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(n.clk) : null;\n r && r({\n value: t,\n hour: h,\n minute: g,\n second: _,\n id: n.id\n });\n }\n }), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener(\"click\", function (e) {\n u.contains(e.target) || L();\n })), c.appendChild(u), c._variantTarget = u, c;\n }), e.register(\"datetimepicker\", function (e) {\n var n = e.attrs || {},\n r = n.dis !== void 0,\n i = n.fmt || \"YYYY-MM-DD HH:mm\",\n a = n.ph || i,\n s = n.v || \"\",\n c = t(\"div\", {\n class: \"tokui-field\"\n });\n n.l && c.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, n.l));\n var l = [\"tokui-datetimepicker\"];\n r && l.push(\"tokui-datetimepicker--disabled\");\n var u = t(\"div\", {\n class: l.join(\" \")\n }),\n d = t(\"div\", {\n class: \"tokui-datetimepicker-control\"\n }),\n f = {\n class: \"tokui-datetimepicker-input\",\n type: \"text\",\n readonly: \"readonly\",\n placeholder: a\n };\n n.id && (f.id = n.id), r && (f.disabled = \"disabled\"), s && (f.value = s);\n var p = t(\"input\", f);\n d.appendChild(p);\n var m = t(\"span\", {\n class: \"tokui-datetimepicker-icon\"\n });\n m.innerHTML = \"<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"/><line x1=\\\"16\\\" y1=\\\"2\\\" x2=\\\"16\\\" y2=\\\"6\\\"/><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"6\\\"/><line x1=\\\"3\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"10\\\"/></svg>\", d.appendChild(m), u.appendChild(d);\n\n var h = new Date(),\n g,\n _,\n v,\n y = 0,\n b = 0,\n S = 0;\n\n s && (v = C(s) || x(s), v && (g = v.getFullYear(), _ = v.getMonth(), y = v.getHours(), b = v.getMinutes(), S = v.getSeconds())), g || (g = h.getFullYear(), _ = h.getMonth());\n var T = t(\"input\", {\n type: \"hidden\"\n });\n n.n ? T.name = n.n : n.id && (T.name = n.id), T.value = s, u.appendChild(T);\n var E = t(\"div\", {\n class: \"tokui-datetimepicker-dropdown\"\n }),\n D = t(\"div\", {\n class: \"tokui-datetimepicker-date\"\n }),\n O = i.indexOf(\"ss\") !== -1 || i.indexOf(\"s\") !== -1,\n M = t(\"div\", {\n class: \"tokui-datetimepicker-time\"\n }),\n F = t(\"div\", {\n class: \"tokui-timepicker-columns\"\n }),\n R = k(o(\"duration.hour\"), 24, y),\n z = k(o(\"duration.minute\"), 60, b);\n F.appendChild(R), F.appendChild(z);\n var B = null;\n O && (B = k(o(\"duration.second\"), 60, S), F.appendChild(B)), M.appendChild(F);\n\n function V(e, t) {\n D.innerHTML = \"\";\n var n = L(e, t, v, h, D);\n n.prevBtn.addEventListener(\"click\", function (e) {\n e.stopPropagation(), _--, _ < 0 && (_ = 11, g--), V(g, _);\n }), n.nextBtn.addEventListener(\"click\", function (e) {\n e.stopPropagation(), _++, _ > 11 && (_ = 0, g++), V(g, _);\n });\n }\n\n var H = t(\"div\", {\n class: \"tokui-datetimepicker-footer\"\n }),\n U = t(\"button\", {\n class: \"tokui-timepicker-confirm\",\n type: \"button\"\n }, o(\"common.ok\"));\n H.appendChild(U);\n var W = t(\"div\", {\n class: \"tokui-datetimepicker-body\"\n });\n W.appendChild(D), W.appendChild(M), E.appendChild(W), E.appendChild(H), V(g, _), E.style.display = \"none\", u.appendChild(E);\n var G = !1;\n\n function ee() {\n if (!(r || G)) {\n N(K), G = !0, E.style.display = \"\", u.classList.add(\"tokui-datetimepicker--open\");\n var e = d.getBoundingClientRect();\n E.style.left = e.left + \"px\", E.style.top = e.bottom + 4 + \"px\", E.style.width = \"auto\";\n var t = E.offsetWidth,\n n = I();\n e.left + t > n - 8 && (E.style.left = Math.max(8, n - t - 8) + \"px\"), j(R, y), j(z, b), O && B && j(B, S);\n }\n }\n\n function K() {\n G && (G = !1, E.style.display = \"none\", u.classList.remove(\"tokui-datetimepicker--open\"), P(K));\n }\n\n return r || (d.addEventListener(\"click\", function (e) {\n e.stopPropagation(), G ? K() : ee();\n }), D.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n var t = e.target.closest(\".tokui-datepicker-day\");\n\n if (!(!t || t.classList.contains(\"tokui-datepicker-day--other\"))) {\n var n = parseInt(t.getAttribute(\"data-day\"));\n v = new Date(g, _, n), V(g, _);\n }\n }), U.addEventListener(\"click\", function (e) {\n e.stopPropagation(), v || (v = new Date(g, _, h.getDate())), y = A(R), b = A(z), O && B && (S = A(B)), v.setHours(y, b, S);\n var t = w(v, i);\n\n if (p.value = t, T.value = t, K(), n.clk) {\n var r = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._eventBus ? window.TokUI._eventBus.getHandler(n.clk) : null;\n r && r({\n value: t,\n date: v,\n id: n.id\n });\n }\n }), (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener(\"click\", function (e) {\n u.contains(e.target) || K();\n })), c.appendChild(u), c._variantTarget = u, c;\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerFormComponents = i, window.TokUI._internal._parseOptShorthand = n, window.TokUI._internal._expandOptChildren = r), t !== void 0 && t.exports && (t.exports = {\n registerFormComponents: i,\n _parseOptShorthand: n,\n _expandOptChildren: r\n });\n }),\n T = s(function (e, t) {\n var n = true ? u().t : undefined;\n\n function r(e) {\n var _ref8 = true ? h() : undefined,\n t = _ref8.el;\n\n var r = /^(background-color|color|border(-radius|-top|-bottom|-left|-right)?|padding(-top|-bottom|-left|-right)?|margin(-top|-bottom|-left|-right)?|text-align|max-width|min-height|box-shadow|opacity|font-size|font-weight|line-height|border-radius|overflow|cursor|gap|display|flex-wrap|align-items|justify-content|width|height|float|clear|visibility|white-space|word-break|text-overflow|text-decoration|list-style|vertical-align|transition|transform)$/;\n\n function i(e) {\n if (e) return e.split(\";\").filter(function (e) {\n var t = e.split(\":\")[0].trim().toLowerCase();\n return t && r.test(t);\n }).join(\";\") || void 0;\n }\n\n e.register(\"card\", function (e, n) {\n var r = {\n class: \"tokui-card\"\n };\n e.attrs.id && (r.id = e.attrs.id);\n var a = i(e.attrs.style);\n a && (r.style = a);\n var o = t(\"div\", r);\n\n if (e.attrs.w && (o.style.width = /^\\d+$/.test(e.attrs.w) ? e.attrs.w + \"px\" : e.attrs.w), e.attrs.tt) {\n var s = \"tokui-card-header\",\n c = e.attrs.hc || \"\";\n e.attrs.ht && (s += \" tokui-card-header--\" + e.attrs.ht), c && [\"primary\", \"danger\", \"success\", \"warning\", \"info\", \"dark\"].indexOf(c) !== -1 && e.attrs.ht && (s += \" tokui-card-header--\" + e.attrs.ht + \"--\" + c);\n var l = t(\"div\", {\n class: s,\n role: \"heading\",\n \"aria-level\": \"3\"\n }, e.attrs.tt);\n\n if (c && [\"primary\", \"danger\", \"success\", \"warning\", \"info\", \"dark\"].indexOf(c) === -1) {\n var u = e.attrs.ht || \"\";\n u === \"fill\" ? (l.style.background = c, l.style.color = \"#fff\") : u === \"accent\" ? l.style.borderLeftColor = c : u === \"underline\" ? l.style.setProperty(\"--tokui-card-header-underline-color\", c) : u === \"dot\" ? l.style.setProperty(\"--tokui-card-header-dot-color\", c) : u === \"pill\" && (l.style.background = c, l.style.color = \"#fff\");\n }\n\n o.appendChild(l);\n }\n\n var d = [],\n f = [];\n (e.children || []).forEach(function (e) {\n e.type === \"ft\" ? f.push(e) : d.push(e);\n });\n var p = t(\"div\", {\n class: \"tokui-card-body\"\n });\n return e.attrs.tx && (p.textContent = e.attrs.tx), n(d).forEach(function (e) {\n e && e.nodeType && p.appendChild(e);\n }), o.appendChild(p), n(f).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), o._slot = p, o._tokuiType = \"card\", o._update = function (e) {\n if (e.tt !== void 0) {\n var t = o.querySelector(\".tokui-card-header\");\n t && (t.textContent = e.tt);\n }\n\n if (e.tx !== void 0) {\n var n = o.querySelector(\".tokui-card-body\");\n n && (n.textContent = e.tx);\n }\n }, o._streamCloseHook = function () {}, e._dsl !== void 0 && (o._dslNode = e), o;\n }), e.register(\"ft\", function (e, n) {\n var r = e.attrs.tx || e.content || \"\";\n var i = t(\"div\", {\n class: \"tokui-card-footer\"\n });\n return r && (i.textContent = r), n(e.children || []).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), e._stream !== \"open\" && !i.childNodes.length && !r ? null : (i._slot = i, i._tokuiType = \"ft\", i._streamCloseHook = function () {\n !i.childNodes.length && !r && i.parentNode && i.parentNode.removeChild(i);\n }, i);\n }), e.register(\"row\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-row\"\n });\n return n(e.children).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"row\", r;\n }), e.register(\"col\", function (e, n) {\n var r = e.attrs && (e.attrs.span || e.attrs.cols),\n i = t(\"div\", {\n class: \"tokui-col\"\n });\n\n if (r) {\n var _e57 = parseInt(r),\n _t32 = isNaN(_e57) ? 1 : Math.min(12, Math.max(1, _e57));\n\n i.classList.add(\"tokui-col--\" + _t32), i.style.gridColumn = \"span \".concat(_t32);\n }\n\n return e.content && (i.textContent = e.content), n(e.children).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i._slot = i, i._tokuiType = \"col\", i;\n }), e.register(\"list\", function (e, n) {\n var r = t(e.attrs && e.attrs.t === \"ol\" ? \"ol\" : \"ul\", {\n class: e.attrs && e.attrs.plain ? \"tokui-list tokui-list--plain\" : \"tokui-list\"\n });\n return n(e.children).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"list\", r;\n });\n\n function a(e, n) {\n var r = e.attrs || {},\n i = parseInt(r.span) || 1,\n a = t(\"div\", {\n class: \"tokui-desc__item\",\n \"data-tokui-tag\": e.type\n });\n\n if (i > 1) {\n var o = n ? Math.min(i, n) : i;\n a.style.gridColumn = \"span \" + o;\n }\n\n var s = t(\"div\", {\n class: \"tokui-desc__label\"\n });\n s.textContent = r.l || \"\", a.appendChild(s);\n var c = t(\"div\", {\n class: \"tokui-desc__value\"\n });\n return c.textContent = r.tx || e.content || \"\", a.appendChild(c), a;\n }\n\n e.register(\"item\", function (e, n, r) {\n var i;\n if (r === \"desc\") i = a(e);else if (r === \"carousel\") i = l(e, n);else if (r === \"command-group\") {\n var o = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal && window.TokUI._internal.buildCommandItem || null;\n o && (i = o(e));\n }\n\n if (!i) {\n i = t(\"li\", {\n class: \"tokui-list-item\"\n });\n var s = e.content || e.attrs && e.attrs.tx || \"\";\n s && (i.textContent = s), n(e.children || []).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), i._slot = i;\n }\n\n return i.nodeType === 1 && (i._tokuiType = \"item\"), i;\n }), e.register(\"tabs\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-tabs\",\n role: \"tablist\"\n }),\n i = \"tokui-tab-\" + Math.random().toString(36).slice(2, 8);\n return r._tabId = i, r._tabCount = 0, (e.children || []).forEach(function (e, t) {\n e.type === \"tab\" && (o(r, e, n, i, t), r._tabCount = t + 1);\n }), r._slot = r, r._tokuiType = \"tabs\", r.addEventListener(\"keydown\", function (e) {\n if (!(e.key !== \"ArrowRight\" && e.key !== \"ArrowLeft\")) {\n var t = Array.from(r.querySelectorAll(\".tokui-tabs-label\")),\n n = t.indexOf(e.target);\n\n if (n !== -1) {\n e.preventDefault();\n var i = e.key === \"ArrowRight\" ? (n + 1) % t.length : (n - 1 + t.length) % t.length,\n a = r.querySelector(\"#\" + t[i].getAttribute(\"for\"));\n a && (a.checked = !0, t[i].focus());\n }\n }\n }), r._update = function (e) {\n if (e.v !== void 0) {\n var t = r.querySelector(\"input[data-index=\\\"\" + e.v + \"\\\"]\");\n t && (t.checked = !0);\n }\n }, r._streamCloseHook = function () {\n if (r._tokuiStreamActive) {\n var e = r.querySelector(\"input[data-index=\\\"0\\\"]\");\n e && (e.checked = !0);\n }\n }, r;\n });\n\n function o(e, n, r, i, a) {\n var o = {\n type: \"radio\",\n name: i,\n class: \"tokui-tabs-input\",\n \"data-index\": String(a)\n };\n a === 0 && (o.checked = \"checked\");\n var s = t(\"input\", o);\n s.id = i + \"-\" + a, e.appendChild(s);\n var c = t(\"label\", {\n class: \"tokui-tabs-label\",\n for: i + \"-\" + a,\n \"data-index\": String(a),\n \"data-tokui-tag\": \"tab\",\n role: \"tab\",\n tabindex: \"0\"\n }, n.attrs.tt || \"Tab \" + (a + 1));\n e.appendChild(c);\n var l = t(\"div\", {\n class: \"tokui-tabs-panel\",\n role: \"tabpanel\",\n \"data-index\": String(a)\n });\n r(n.children || []).forEach(function (e) {\n e && e.nodeType && l.appendChild(e);\n }), e.appendChild(l);\n }\n\n e.register(\"tab\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-tabs-panel\",\n role: \"tabpanel\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"tab\", r._tabTitle = e.attrs && e.attrs.tt || \"\", r._isTab = !0, r;\n }), e.register(\"accordion\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-accordion\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"accordion\", r._streamCloseHook = function () {\n if (r._tokuiStreamActive) for (var e = r.querySelectorAll(\".tokui-collapse\"), t = 0; t < e.length; t++) {\n t === 0 ? (e[t].setAttribute(\"open\", \"\"), e[t].setAttribute(\"aria-expanded\", \"true\")) : (e[t].removeAttribute(\"open\"), e[t].setAttribute(\"aria-expanded\", \"false\"));\n }\n }, r;\n }), e.register(\"collapse\", function (e, r) {\n var i = {\n class: \"tokui-collapse\",\n \"aria-expanded\": e.attrs.open === void 0 ? \"false\" : \"true\"\n };\n e.attrs.id && (i.id = e.attrs.id);\n var a = t(\"details\", i),\n o = t(\"summary\", {\n class: \"tokui-collapse-title\"\n }, e.attrs.tt || n(\"layout.collapseDefault\"));\n a.appendChild(o);\n var s = t(\"div\", {\n class: \"tokui-collapse-body\"\n });\n return r(e.children || []).forEach(function (e) {\n e && e.nodeType && s.appendChild(e);\n }), a.appendChild(s), e.attrs.open !== void 0 && a.setAttribute(\"open\", \"\"), a.addEventListener(\"toggle\", function () {\n a.setAttribute(\"aria-expanded\", String(a.hasAttribute(\"open\")));\n }), a._slot = s, a._tokuiType = \"collapse\", a._update = function (e) {\n if (e.act === \"open\" ? a.setAttribute(\"open\", \"\") : e.act === \"close\" && a.removeAttribute(\"open\"), e.tt !== void 0) {\n var t = a.querySelector(\".tokui-collapse-title\");\n t && (t.textContent = e.tt);\n }\n\n if (e.tx !== void 0) {\n var n = a.querySelector(\".tokui-collapse-body\");\n\n if (n) {\n var r = n.querySelector(\"p\");\n r ? r.textContent = e.tx : n.textContent = e.tx;\n }\n }\n }, a;\n }), e.register(\"dialog\", function (e, r) {\n var i = {\n class: \"tokui-dialog\"\n };\n e.attrs.id && (i.id = e.attrs.id);\n var a = t(\"dialog\", i);\n\n if (e.attrs.tt) {\n var o = t(\"div\", {\n class: \"tokui-dialog-header\"\n }),\n s = t(\"span\", {}, e.attrs.tt);\n o.appendChild(s);\n var c = t(\"button\", {\n class: \"tokui-dialog-close\",\n \"aria-label\": n(\"common.close\")\n }, \"\\u2715\");\n c.addEventListener(\"click\", function () {\n a.close();\n }), o.appendChild(c), a.appendChild(o);\n }\n\n var l = [],\n u = [];\n (e.children || []).forEach(function (e) {\n e.type === \"ft\" ? u.push(e) : l.push(e);\n });\n var d = t(\"div\", {\n class: \"tokui-dialog-body\"\n });\n return r(l).forEach(function (e) {\n e && e.nodeType && d.appendChild(e);\n }), a.appendChild(d), r(u).forEach(function (e) {\n e && e.nodeType && a.appendChild(e);\n }), e.attrs.clk && a.setAttribute(\"data-tokui-clk\", e.attrs.clk), a.addEventListener(\"click\", function (e) {\n e.target === a && a.close();\n }), a._slot = d, a._tokuiType = \"dialog\", a.addEventListener(\"keydown\", function (e) {\n if (e.key === \"Tab\") {\n var t = a.querySelectorAll(\"button, [tabindex], input, select, textarea\");\n\n if (t.length !== 0) {\n var n = t[0],\n r = t[t.length - 1];\n e.shiftKey && document.activeElement === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && document.activeElement === r && (e.preventDefault(), n.focus());\n }\n }\n }), a._update = function (e) {\n if (e.act === \"open\" ? a.showModal() : e.act === \"close\" && a.close(), e.tt !== void 0) {\n var t = a.querySelector(\".tokui-dialog-header span\");\n t && (t.textContent = e.tt);\n }\n }, a;\n }), e.register(\"drawer\", function (e, r) {\n var i = e.attrs.pos || \"right\",\n a = t(\"div\", {\n class: \"tokui-drawer tokui-drawer--\" + i,\n role: \"dialog\",\n \"aria-modal\": \"true\"\n });\n e.attrs.id && (a.id = e.attrs.id), e.attrs.clk && a.setAttribute(\"data-tokui-clk\", e.attrs.clk);\n var o = t(\"div\", {\n class: \"tokui-drawer__overlay\"\n });\n o.addEventListener(\"click\", function () {\n a.classList.remove(\"tokui-drawer--open\");\n }), a.appendChild(o);\n var s = t(\"div\", {\n class: \"tokui-drawer__panel\"\n }),\n c = e.attrs.w || \"360px\",\n l = e.attrs.h || \"300px\";\n\n if (i === \"left\" || i === \"right\" ? (s.style.width = c, s.style.height = \"100%\") : (s.style.height = l, s.style.width = \"100%\"), e.attrs.tt) {\n var u = t(\"div\", {\n class: \"tokui-drawer__header\"\n });\n u.appendChild(t(\"span\", {}, e.attrs.tt));\n var d = t(\"button\", {\n class: \"tokui-drawer__close\",\n \"aria-label\": n(\"common.close\")\n }, \"\\u2715\");\n d.addEventListener(\"click\", function () {\n a.classList.remove(\"tokui-drawer--open\");\n }), u.appendChild(d), s.appendChild(u);\n }\n\n var f = [],\n p = [];\n (e.children || []).forEach(function (e) {\n e.type === \"ft\" ? p.push(e) : f.push(e);\n });\n var m = t(\"div\", {\n class: \"tokui-drawer__body\"\n });\n return r(f).forEach(function (e) {\n e && e.nodeType && m.appendChild(e);\n }), s.appendChild(m), r(p).forEach(function (e) {\n e && e.nodeType && s.appendChild(e);\n }), a.appendChild(s), a._slot = m, a._tokuiType = \"drawer\", a.addEventListener(\"keydown\", function (e) {\n e.key === \"Escape\" && (a.classList.remove(\"tokui-drawer--open\"), e.stopPropagation());\n }), a._update = function (e) {\n if (e.act === \"open\" ? a.classList.add(\"tokui-drawer--open\") : e.act === \"close\" && a.classList.remove(\"tokui-drawer--open\"), e.tt !== void 0) {\n var t = a.querySelector(\".tokui-drawer__header span\");\n t && (t.textContent = e.tt);\n }\n }, a;\n }), e.register(\"imgs\", function (e, r) {\n var i = t(\"div\", {\n class: \"tokui-imgs\",\n role: \"group\",\n \"aria-label\": n(\"layout.gallery\")\n }),\n a = e.children || [];\n e.attrs && e.attrs.s && (a = e.attrs.s.split(\",\").map(function (e) {\n return e.trim();\n }).filter(Boolean).map(function (e) {\n return {\n type: \"img\",\n attrs: {\n s: e\n },\n content: \"\",\n children: []\n };\n }));\n var o = r(a);\n o.forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n });\n var s = o.length;\n s >= 1 && i.classList.add(\"tokui-imgs--\" + Math.min(s, 9)), i._slot = i, i._tokuiType = \"imgs\";\n var c = a.filter(function (e) {\n return e.type === \"img\" && e.attrs && e.attrs.s;\n }).map(function (e) {\n return e.attrs.s;\n });\n i._imgSources = c;\n\n function l(e, t) {\n e.querySelectorAll(\".tokui-img\").forEach(function (e) {\n if (e._lbBound) return;\n e._lbBound = !0;\n var n = e.cloneNode(!0);\n e.parentNode.replaceChild(n, e), n.style.cursor = \"pointer\", n.addEventListener(\"click\", function () {\n var _ref9 = true ? g() : undefined,\n e = _ref9.getLightbox;\n\n e((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" ? document : void 0).open(n.getAttribute(\"src\"), t);\n });\n });\n }\n\n return l(i, c), i._streamCloseHook = function () {\n var e = i.querySelectorAll(\":scope > .tokui-img\").length;\n e >= 1 && i.classList.add(\"tokui-imgs--\" + Math.min(e, 9));\n var t = [];\n i.querySelectorAll(\":scope > .tokui-img\").forEach(function (e) {\n t.push(e.getAttribute(\"src\"));\n }), l(i, t);\n }, i;\n }), e.register(\"timeline\", function (e, n) {\n var r = e.attrs || {},\n i = [\"tokui-timeline\"],\n a = r.v || \"\",\n o = a === \"alternate\" || a === \"alt\";\n (a === \"h\" || a === \"horizontal\") && i.push(\"tokui-timeline--horizontal\"), o && i.push(\"tokui-timeline--alternate\"), a === \"card\" && i.push(\"tokui-timeline--card\");\n var s = t(\"div\", {\n class: i.join(\" \")\n });\n\n if (e.children && e.children.length > 0 && n(e.children).forEach(function (e) {\n return s.appendChild(e);\n }), o) {\n var _e58 = function _e58() {\n s.querySelectorAll(\":scope > .tokui-ti\").forEach(function (e, t) {\n e.classList.toggle(\"tokui-ti--alt-left\", t % 2 == 0), e.classList.toggle(\"tokui-ti--alt-right\", t % 2 == 1);\n });\n };\n\n _e58();\n\n var _t33 = new MutationObserver(function () {\n return _e58();\n });\n\n _t33.observe(s, {\n childList: !0\n }), s._streamCloseHook = function () {\n _e58(), _t33.disconnect();\n };\n }\n\n return s;\n }), e.register(\"ti\", function (e) {\n var n = e.attrs || {},\n r = [\"tokui-ti\"],\n i = n.t || \"\";\n i && r.push(\"tokui-ti--\" + i);\n var a = t(\"div\", {\n class: r.join(\" \")\n }),\n o = t(\"div\", {\n class: \"tokui-ti__dot\"\n });\n a.appendChild(o);\n var s = t(\"div\", {\n class: \"tokui-ti__content\"\n });\n\n if (n.tt) {\n var _e59 = t(\"div\", {\n class: \"tokui-ti__title\"\n });\n\n _e59.textContent = n.tt, s.appendChild(_e59);\n }\n\n var c = t(\"div\", {\n class: \"tokui-ti__body\"\n });\n\n if (c.textContent = e.content || \"\", s.appendChild(c), n.tm) {\n var _e60 = t(\"div\", {\n class: \"tokui-ti__time\"\n });\n\n _e60.textContent = n.tm, s.appendChild(_e60);\n }\n\n return a.appendChild(s), a;\n }), e.register(\"steps\", function (e, n) {\n var r = e.attrs || {},\n i = parseInt(r.v) || 1,\n a = r.s || \"\",\n o = r.vd || \"\",\n s = [\"tokui-steps\"];\n (a === \"sm\" || a === \"small\") && s.push(\"tokui-steps--sm\"), (o === \"vertical\" || o === \"v\") && s.push(\"tokui-steps--vertical\");\n var c = {\n class: s.join(\" \")\n };\n r.id && (c.id = r.id);\n var l = t(\"div\", c);\n (e.children || []).filter(function (e) {\n return e.type === \"step\";\n }).forEach(function (e, n) {\n var r = n + 1,\n a = e.attrs || {},\n o = [\"tokui-step\"];\n a.status === \"error\" || a.status === \"danger\" ? (o.push(\"tokui-step--error\"), r <= i && o.push(\"tokui-step--current\")) : r < i ? o.push(\"tokui-step--done\") : r === i ? o.push(\"tokui-step--active\") : o.push(\"tokui-step--pending\");\n var s = t(\"div\", {\n class: o.join(\" \"),\n \"data-tokui-tag\": \"step\"\n }),\n c = t(\"div\", {\n class: \"tokui-step__circle\"\n });\n a.status === \"error\" || a.status === \"danger\" ? c.textContent = \"\\u2715\" : r < i ? c.textContent = \"\\u2713\" : c.textContent = String(r), s.appendChild(c);\n var u = t(\"div\", {\n class: \"tokui-step__body\"\n });\n\n if (a.tt) {\n var _e61 = t(\"div\", {\n class: \"tokui-step__title\"\n });\n\n _e61.textContent = a.tt, u.appendChild(_e61);\n }\n\n if (e.content) {\n var _n29 = t(\"div\", {\n class: \"tokui-step__desc\"\n });\n\n _n29.textContent = e.content, u.appendChild(_n29);\n }\n\n s.appendChild(u), l.appendChild(s);\n }), l._slot = l, l._tokuiType = \"steps\", l._currentStep = i;\n\n function u(e) {\n var t = l.querySelectorAll(\":scope > .tokui-step\"),\n n = e >= t.length;\n n ? l.classList.add(\"tokui-steps--complete\") : l.classList.remove(\"tokui-steps--complete\"), t.forEach(function (t, r) {\n var i = r + 1,\n a = t.querySelector(\".tokui-step__circle\"),\n o = t.getAttribute(\"data-step-status\") === \"error\";\n t.className = \"tokui-step\", o ? (t.classList.add(\"tokui-step--error\"), i <= e && t.classList.add(\"tokui-step--current\"), a && (a.textContent = \"\\u2715\")) : n || i < e ? (t.classList.add(\"tokui-step--done\"), a && (a.textContent = \"\\u2713\")) : i === e ? (t.classList.add(\"tokui-step--active\"), a && (a.textContent = String(i))) : (t.classList.add(\"tokui-step--pending\"), a && (a.textContent = String(i)));\n });\n }\n\n return l._streamCloseHook = function () {\n u(l._currentStep);\n }, l._update = function (e) {\n if (e.v !== void 0) {\n var t = parseInt(e.v) || 1;\n l._currentStep = t, u(t);\n }\n }, l;\n }), e.register(\"step\", function (e) {\n var n = e.attrs || {},\n r = t(\"div\", {\n class: \"tokui-step tokui-step--pending\"\n });\n (n.status === \"error\" || n.status === \"danger\") && r.setAttribute(\"data-step-status\", \"error\");\n var i = t(\"div\", {\n class: \"tokui-step__circle\"\n });\n i.textContent = \"?\", r.appendChild(i);\n var a = t(\"div\", {\n class: \"tokui-step__body\"\n });\n\n if (n.tt) {\n var _e62 = t(\"div\", {\n class: \"tokui-step__title\"\n });\n\n _e62.textContent = n.tt, a.appendChild(_e62);\n }\n\n if (e.content) {\n var _n30 = t(\"div\", {\n class: \"tokui-step__desc\"\n });\n\n _n30.textContent = e.content, a.appendChild(_n30);\n }\n\n return r.appendChild(a), r;\n });\n\n function s(e) {\n for (var t = e.querySelectorAll(\".tokui-desc__item--last-row\"), n = 0; n < t.length; n++) {\n t[n].classList.remove(\"tokui-desc__item--last-row\");\n }\n\n var r = e.querySelectorAll(\".tokui-desc__item\");\n\n if (r.length) {\n var i = \"\";\n\n try {\n i = (e.style.getPropertyValue(\"--tokui-desc-cols\") || \"\").trim();\n } catch (_unused28) {}\n\n var a = parseInt(i, 10) || 3,\n o = !1,\n s = r[r.length - 1];\n\n if (s.getBoundingClientRect) {\n var c = s.getBoundingClientRect().top;\n\n if (c !== 0) {\n for (var l = r.length - 1; l >= 0 && Math.abs(r[l].getBoundingClientRect().top - c) < 1; l--) {\n r[l].classList.add(\"tokui-desc__item--last-row\");\n }\n\n o = !0;\n }\n }\n\n if (!o) for (var u = (Math.ceil(r.length / a) - 1) * a; u < r.length; u++) {\n r[u].classList.add(\"tokui-desc__item--last-row\");\n }\n }\n }\n\n function c(e) {\n if (s(e), !((typeof MutationObserver === \"undefined\" ? \"undefined\" : _typeof(MutationObserver)) > \"u\")) {\n var t = new MutationObserver(function () {\n if (!e.isConnected) {\n t.disconnect();\n return;\n }\n\n s(e);\n });\n t.observe(e, {\n childList: !0\n }), typeof requestAnimationFrame == \"function\" && requestAnimationFrame(function () {\n e.isConnected && s(e);\n });\n }\n }\n\n e.register(\"desc\", function (e, n) {\n var r = e.attrs || {},\n i = parseInt(r.cols) || 3,\n o = [\"tokui-desc\"];\n r.stripe !== void 0 && o.push(\"tokui-desc--stripe\"), r.bordered !== void 0 && o.push(\"tokui-desc--bordered\"), (r.v === \"horizontal\" || r.v === \"h\") && o.push(\"tokui-desc--horizontal\");\n var s = t(\"div\", {\n class: o.join(\" \")\n });\n s.style.setProperty(\"--tokui-desc-cols\", String(i)), r.lw && s.style.setProperty(\"--tokui-desc-label-w\", r.lw);\n var l = (e.children || []).filter(function (e) {\n return e.type === \"desc-item\" || e.type === \"item\";\n });\n return l.length > 0 && l.forEach(function (e) {\n s.appendChild(a(e, i));\n }), c(s), s._slot = s, s._tokuiType = \"desc\", s;\n }), e.register(\"desc-item\", function (e) {\n return a(e);\n });\n\n function l(e, n) {\n var r = e.attrs || {},\n i = t(\"div\", {\n class: \"tokui-carousel__slide\",\n \"data-tokui-tag\": e.type\n });\n\n if (r.s) {\n var a = t(\"img\", {\n src: r.s,\n alt: r.tt || \"\"\n });\n a.style.width = \"100%\", a.style.display = \"block\", i.appendChild(a);\n }\n\n if (n(e.children || []).forEach(function (e) {\n e && e.nodeType && i.appendChild(e);\n }), r.tt || r.tx) {\n var o = t(\"div\", {\n class: \"tokui-carousel__slide-body\"\n });\n r.tt && o.appendChild(t(\"div\", {\n class: \"tokui-carousel__slide-title\"\n }, r.tt)), r.tx && o.appendChild(t(\"div\", {\n class: \"tokui-carousel__slide-desc\"\n }, r.tx)), i.appendChild(o);\n }\n\n return i;\n }\n\n e.register(\"carousel\", function (e, r) {\n var i = e.attrs || {},\n a = i.thumb !== void 0,\n o = {\n class: \"tokui-carousel\" + (a ? \" tokui-carousel--thumb\" : \"\")\n };\n i.id && (o.id = i.id), o[\"data-carousel\"] = i.id || \"carousel-\" + Math.random().toString(36).slice(2, 8);\n var s = t(\"div\", o),\n c = t(\"div\", {\n class: \"tokui-carousel__viewport\"\n }),\n u = t(\"div\", {\n class: \"tokui-carousel__track\"\n });\n\n function d(e) {\n return e = String(e).trim(), /^\\d+(\\.\\d+)?$/.test(e) ? e + \"px\" : e;\n }\n\n function f(e) {\n var t = String(e).split(\":\");\n\n if (t.length === 2) {\n var n = parseFloat(t[0]),\n r = parseFloat(t[1]);\n return n && r ? n / r : 0;\n }\n\n var i = parseFloat(e);\n return i > 0 ? i : 0;\n }\n\n if (i.w && (s.style.width = d(i.w)), i.h) c.style.height = d(i.h), s.classList.add(\"tokui-carousel--sized\");else if (i.ratio) {\n var p = f(i.ratio);\n p && (c.style.aspectRatio = String(p), s.classList.add(\"tokui-carousel--sized\"));\n }\n var m = (e.children || []).filter(function (e) {\n return e.type === \"carousel-item\" || e.type === \"item\" || e.type === \"img\";\n });\n m.forEach(function (e) {\n if (e.type === \"carousel-item\" || e.type === \"item\") u.appendChild(l(e, r));else if (e.type === \"img\") {\n var n = t(\"div\", {\n class: \"tokui-carousel__slide\"\n });\n r([e]).forEach(function (e) {\n e && e.nodeType && n.appendChild(e);\n }), u.appendChild(n);\n }\n }), c.appendChild(u);\n var h = t(\"button\", {\n class: \"tokui-carousel__arrow tokui-carousel__arrow--prev\",\n \"aria-label\": n(\"layout.carouselPrev\"),\n \"data-dir\": \"prev\"\n });\n h.innerHTML = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\"><polyline points=\\\"15 18 9 12 15 6\\\"/></svg>\", c.appendChild(h);\n var g = t(\"button\", {\n class: \"tokui-carousel__arrow tokui-carousel__arrow--next\",\n \"aria-label\": n(\"layout.carouselNext\"),\n \"data-dir\": \"next\"\n });\n g.innerHTML = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\"><polyline points=\\\"9 6 15 12 9 18\\\"/></svg>\", c.appendChild(g), s.appendChild(c);\n var _ = null,\n v = null,\n y = !1;\n\n function b() {\n return Array.prototype.filter.call(u.children, function (e) {\n return e && e.nodeType === 1 && /\\btokui-carousel__slide\\b/.test(e.className || \"\");\n });\n }\n\n function x() {\n if (!y) {\n var e = b();\n e.length && (y = !0, a ? (v = t(\"div\", {\n class: \"tokui-carousel__thumbs\"\n }), e.forEach(function (e, r) {\n var i = e.querySelector(\"img\"),\n a = i ? i.getAttribute(\"src\") : \"\",\n o = e.querySelector(\".tokui-carousel__slide-title\"),\n s = o ? (o.textContent || \"\").trim() : \"\",\n c = t(\"button\", {\n class: \"tokui-carousel__thumb\" + (r === 0 ? \" tokui-carousel__thumb--active\" : \"\"),\n \"aria-label\": n(\"layout.carouselIndex\", {\n n: r + 1\n }),\n \"data-index\": String(r)\n });\n\n if (a) {\n var l = t(\"img\", {\n src: a,\n alt: s\n });\n l.style.width = \"100%\", l.style.height = \"100%\", l.style.objectFit = \"cover\", c.appendChild(l);\n } else c.textContent = String(r + 1);\n\n v.appendChild(c);\n }), s.appendChild(v)) : (_ = t(\"div\", {\n class: \"tokui-carousel__dots\"\n }), e.forEach(function (e, r) {\n var i = t(\"button\", {\n class: \"tokui-carousel__dot\" + (r === 0 ? \" tokui-carousel__dot--active\" : \"\"),\n \"aria-label\": n(\"layout.carouselIndex\", {\n n: r + 1\n }),\n \"data-index\": String(r)\n });\n\n _.appendChild(i);\n }), c.appendChild(_)));\n }\n }\n\n s._slot = u, s._tokuiType = \"carousel\";\n\n function S() {\n x();\n var e = 0,\n t = b(),\n n = _ ? _.querySelectorAll(\".tokui-carousel__dot\") : [],\n r = v ? v.querySelectorAll(\".tokui-carousel__thumb\") : [],\n a = null;\n\n function o() {\n n.forEach && n.forEach(function (t, n) {\n n === e ? t.classList.add(\"tokui-carousel__dot--active\") : t.classList.remove(\"tokui-carousel__dot--active\");\n }), r.forEach && r.forEach(function (t, n) {\n n === e ? (t.classList.add(\"tokui-carousel__thumb--active\"), t.scrollIntoView && t.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\"\n })) : t.classList.remove(\"tokui-carousel__thumb--active\");\n });\n }\n\n function c(n) {\n n < 0 && (n = t.length - 1), n >= t.length && (n = 0), e = n, u.style.transform = \"translateX(-\" + e * 100 + \"%)\", o();\n }\n\n h.addEventListener(\"click\", function () {\n c(e - 1), d();\n }), g.addEventListener(\"click\", function () {\n c(e + 1), d();\n }), _ && _.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-carousel__dot\");\n t && (c(parseInt(t.getAttribute(\"data-index\"))), d());\n }), v && v.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-carousel__thumb\");\n t && (c(parseInt(t.getAttribute(\"data-index\"))), d());\n });\n\n function l() {\n var t = parseInt(i.auto);\n t && t > 0 && (a = setInterval(function () {\n c(e + 1);\n }, t));\n }\n\n function d() {\n a && clearInterval(a), l();\n }\n\n l(), s.setAttribute(\"tabindex\", \"0\"), s.addEventListener(\"keydown\", function (t) {\n t.key === \"ArrowLeft\" ? (c(e - 1), d()) : t.key === \"ArrowRight\" && (c(e + 1), d());\n });\n var f = 0,\n p = 0,\n m = !1;\n u.addEventListener(\"mousedown\", function (e) {\n m = !0, f = e.clientX, p = 0, u.style.transition = \"none\", d();\n }), u.addEventListener(\"touchstart\", function (e) {\n m = !0, f = e.touches[0].clientX, p = 0, u.style.transition = \"none\", d();\n }, {\n passive: !0\n });\n\n function y(t) {\n if (m) {\n p = t - f;\n var n = -(e * s.offsetWidth) + p;\n u.style.transform = \"translateX(\" + n + \"px)\";\n }\n }\n\n (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener && (document.addEventListener(\"mousemove\", function (e) {\n y(e.clientX);\n }), document.addEventListener(\"touchmove\", function (e) {\n y(e.touches[0].clientX);\n }, {\n passive: !0\n }));\n\n function S() {\n if (m) {\n m = !1, u.style.transition = \"\";\n var t = s.offsetWidth * .2;\n p < -t ? c(e + 1) : c(p > t ? e - 1 : e);\n }\n }\n\n (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && document.addEventListener && (document.addEventListener(\"mouseup\", S), document.addEventListener(\"touchend\", S));\n }\n\n return m.length > 0 && S(), s._streamCloseHook = function () {\n S();\n }, s;\n }), e.register(\"carousel-item\", function (e, t) {\n return l(e, t);\n }), e.register(\"tn\", function (e, n) {\n var r = e.attrs.leaf !== void 0,\n i = e.attrs.open !== void 0,\n a = e.attrs.dis !== void 0,\n o = t(\"div\", {\n class: \"tokui-tree-node\" + (r ? \" tokui-tree-node--leaf\" : \"\") + (i ? \" tokui-tree-node--open\" : \"\") + (a ? \" tokui-tree-node--disabled\" : \"\"),\n role: \"treeitem\",\n \"aria-expanded\": r ? void 0 : String(i)\n });\n o.setAttribute(\"data-value\", e.attrs.v || \"\"), o.setAttribute(\"data-text\", e.attrs.tx || e.attrs.v || \"\");\n var s = t(\"div\", {\n class: \"tokui-tree-node-header\",\n tabindex: \"0\"\n }),\n c = t(\"span\", {\n class: \"tokui-tree-arrow\"\n });\n c.textContent = \"\\u25B6\", s.appendChild(c);\n var l = t(\"span\", {\n class: \"tokui-tree-icon\"\n });\n l.textContent = r ? \"\\uD83D\\uDCC4\" : \"\\uD83D\\uDCC1\", s.appendChild(l);\n var u = t(\"span\", {\n class: \"tokui-tree-text\"\n }, e.attrs.tx || e.attrs.v || \"\");\n s.appendChild(u), o.appendChild(s);\n var d = null;\n return r || (d = t(\"div\", {\n class: \"tokui-tree-node-children\"\n }), i || (d.style.display = \"none\"), e.children && e.children.length && n(e.children).forEach(function (e) {\n e && e.nodeType && d.appendChild(e);\n }), o.appendChild(d), o._slot = d), o._tokuiType = \"tn\", o;\n }), e.register(\"tree\", function (e, n) {\n var r = e.attrs.chk !== void 0,\n i = e.attrs.dis !== void 0,\n a = t(\"div\", {\n class: \"tokui-field\"\n });\n e.attrs.l && a.appendChild(t(\"label\", {\n class: \"tokui-label\"\n }, e.attrs.l)), e.attrs.id && (a.id = e.attrs.id);\n var o = t(\"div\", {\n class: \"tokui-tree\" + (r ? \" tokui-tree--checkable\" : \"\") + (i ? \" tokui-tree--disabled\" : \"\"),\n role: \"tree\"\n });\n e.children && e.children.length && n(e.children).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), a.appendChild(o);\n var s = !1;\n\n function c() {\n i || s || (s = !0, o.addEventListener(\"click\", function (e) {\n var t = e.target.closest(\".tokui-tree-arrow\");\n\n if (t) {\n e.stopPropagation();\n var n = t.closest(\".tokui-tree-node\");\n\n if (!(!n || n.classList.contains(\"tokui-tree-node--leaf\"))) {\n var r = n.querySelector(\":scope > .tokui-tree-node-children\");\n r && (n.classList.contains(\"tokui-tree-node--open\") ? (n.classList.remove(\"tokui-tree-node--open\"), r.style.display = \"none\") : (n.classList.add(\"tokui-tree-node--open\"), r.style.display = \"\"));\n }\n }\n }), o.addEventListener(\"click\", function (t) {\n var n = t.target.closest(\".tokui-tree-text\");\n\n if (n) {\n t.stopPropagation();\n var r = n.closest(\".tokui-tree-node\");\n\n if (r && (o.querySelectorAll(\".tokui-tree-node--selected\").forEach(function (e) {\n e.classList.remove(\"tokui-tree-node--selected\");\n }), r.classList.add(\"tokui-tree-node--selected\"), e.attrs.clk)) {\n var i = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal && window.TokUI._internal.TokUIEventBus ? window.TokUI._internal.TokUIEventBus.getHandler(e.attrs.clk) : null;\n i && i({\n id: e.attrs.id,\n value: r.getAttribute(\"data-value\"),\n text: r.getAttribute(\"data-text\")\n });\n }\n }\n }), r && (o.querySelectorAll(\".tokui-tree-node-header\").forEach(function (e) {\n var n = t(\"input\", {\n type: \"checkbox\",\n class: \"tokui-tree-checkbox\"\n }),\n r = e.closest(\".tokui-tree-node\");\n r && r.classList.contains(\"tokui-tree-node--disabled\") && (n.disabled = !0), e.insertBefore(n, e.firstChild);\n }), o.addEventListener(\"change\", function (e) {\n if (e.target.classList.contains(\"tokui-tree-checkbox\")) {\n var t = e.target.closest(\".tokui-tree-node\");\n\n if (t) {\n var n = e.target.checked;\n t.querySelectorAll(\".tokui-tree-checkbox\").forEach(function (t) {\n t !== e.target && (t.checked = n, t.indeterminate = !1);\n }), l(o);\n }\n }\n })), o.addEventListener(\"keydown\", function (e) {\n var t = e.target.closest(\".tokui-tree-node-header\");\n\n if (t) {\n var n = t.closest(\".tokui-tree-node\");\n\n if (n) {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n var r = t.querySelector(\".tokui-tree-arrow\");\n r && !n.classList.contains(\"tokui-tree-node--leaf\") && r.click();\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n var i = Array.from(o.querySelectorAll(\":scope .tokui-tree-node-header\")),\n a = i.indexOf(t);\n e.key === \"ArrowDown\" && a < i.length - 1 ? i[a + 1].focus() : e.key === \"ArrowUp\" && a > 0 && i[a - 1].focus();\n }\n }\n }\n }));\n }\n\n function l(e) {\n e.querySelectorAll(\".tokui-tree-node\").forEach(function (e) {\n var t = e.querySelector(\":scope > .tokui-tree-node-children\");\n\n if (t) {\n var n = t.querySelectorAll(\":scope > .tokui-tree-node > .tokui-tree-node-header > .tokui-tree-checkbox\");\n\n if (n.length !== 0) {\n var r = e.querySelector(\":scope > .tokui-tree-node-header > .tokui-tree-checkbox\");\n\n if (r) {\n var i = n.length,\n a = 0;\n n.forEach(function (e) {\n e.checked && a++;\n }), a === 0 ? (r.checked = !1, r.indeterminate = !1) : a === i ? (r.checked = !0, r.indeterminate = !1) : (r.checked = !1, r.indeterminate = !0);\n }\n }\n }\n });\n }\n\n return e.children && e.children.length && c(), a._streamCloseHook = function () {\n c();\n }, a._slot = o, a._tokuiType = \"tree\", a._variantTarget = o, a;\n }), e.register(\"menu\", function (e, n) {\n var r = e.attrs || {},\n i = r.v || \"vertical\",\n a = [\"tokui-menu\"];\n i === \"horizontal\" || i === \"h\" ? a.push(\"tokui-menu--horizontal\") : i === \"inline\" && a.push(\"tokui-menu--inline\");\n var o = {\n class: a.join(\" \"),\n role: \"menu\"\n };\n r.id && (o.id = r.id);\n var s = t(\"div\", o);\n r.bg && s.style.setProperty(\"--tokui-menu-bg\", r.bg), r.fc && s.style.setProperty(\"--tokui-menu-fc\", r.fc);\n var c = r.act || \"\";\n return (e.children || []).filter(function (e) {\n return e.type === \"menu-item\";\n }).forEach(function (e) {\n var t = u(e, c);\n s.appendChild(t);\n }), s._slot = s, s._tokuiType = \"menu\", s._activeClk = c, s.addEventListener(\"keydown\", function (e) {\n var t = e.target.closest(\".tokui-menu__item\");\n\n if (t) {\n var n = Array.from(s.querySelectorAll(\".tokui-menu__item:not(.tokui-menu__item--disabled)\")),\n r = n.indexOf(t);\n e.key === \"ArrowDown\" && r < n.length - 1 ? (e.preventDefault(), n[r + 1].focus()) : e.key === \"ArrowUp\" && r > 0 ? (e.preventDefault(), n[r - 1].focus()) : (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), t.click());\n }\n }), s;\n });\n\n function u(e, n) {\n var r = e.attrs || {},\n i = [\"tokui-menu__item\"];\n r.dis !== void 0 && i.push(\"tokui-menu__item--disabled\"), n && r.clk === n && i.push(\"tokui-menu__item--active\");\n var a = t(\"div\", {\n class: i.join(\" \"),\n role: \"menuitem\",\n tabindex: \"0\"\n });\n\n if (r.i) {\n var o = t(\"span\", {\n class: \"tokui-menu__icon\"\n }, r.i);\n a.appendChild(o);\n }\n\n var s = t(\"span\", {\n class: \"tokui-menu__text\"\n }, r.tx || e.content || \"\");\n return a.appendChild(s), r.clk && r.dis === void 0 && (a.setAttribute(\"data-tokui-clk\", r.clk), a.addEventListener(\"click\", function () {\n var e = a.closest(\".tokui-menu\");\n e && e.querySelectorAll(\".tokui-menu__item--active\").forEach(function (e) {\n e.classList.remove(\"tokui-menu__item--active\");\n }), a.classList.add(\"tokui-menu__item--active\");\n })), a;\n }\n\n e.register(\"menu-item\", function (e) {\n var n = e.attrs || {},\n r = [\"tokui-menu__item\"];\n n.dis !== void 0 && r.push(\"tokui-menu__item--disabled\"), n.act !== void 0 && r.push(\"tokui-menu__item--active\");\n var i = t(\"div\", {\n class: r.join(\" \"),\n role: \"menuitem\",\n tabindex: \"0\"\n });\n return n.i && i.appendChild(t(\"span\", {\n class: \"tokui-menu__icon\"\n }, n.i)), i.appendChild(t(\"span\", {\n class: \"tokui-menu__text\"\n }, n.tx || e.content || \"\")), n.clk && n.dis === void 0 && (i.setAttribute(\"data-tokui-clk\", n.clk), i.addEventListener(\"click\", function () {\n var e = i.closest(\".tokui-menu\");\n e && e.querySelectorAll(\".tokui-menu__item--active\").forEach(function (e) {\n e.classList.remove(\"tokui-menu__item--active\");\n }), i.classList.add(\"tokui-menu__item--active\");\n })), i;\n }), e.register(\"resizable\", function (e, n) {\n var r = e.attrs || {},\n i = r.dir || \"h\",\n a = parseInt(r.min) || 100,\n o = parseInt(r.max) || 800,\n s = parseInt(r.default) || 300,\n c = i !== \"v\",\n l = [\"tokui-resizable\"];\n l.push(c ? \"tokui-resizable--h\" : \"tokui-resizable--v\");\n var u = {\n class: l.join(\" \")\n };\n r.w && (u.style = \"width:\" + r.w);\n var d = t(\"div\", u),\n f = t(\"div\", {\n class: \"tokui-resizable__panel\"\n });\n f.style.flex = \"none\", c ? (f.style.width = s + \"px\", f.style.minWidth = a + \"px\", f.style.maxWidth = o + \"px\") : (f.style.height = s + \"px\", f.style.minHeight = a + \"px\", f.style.maxHeight = o + \"px\", f.style.overflow = \"auto\");\n var p = t(\"div\", {\n class: \"tokui-resizable__handle\",\n role: \"separator\",\n \"aria-orientation\": c ? \"vertical\" : \"horizontal\",\n tabindex: \"0\"\n }),\n m = t(\"div\", {\n class: \"tokui-resizable__panel\"\n });\n c || (m.style.overflow = \"auto\"), d.appendChild(f), d.appendChild(p), d.appendChild(m);\n\n function h(e) {\n e.preventDefault(), g = c ? e.touches ? e.touches[0].clientX : e.clientX : e.touches ? e.touches[0].clientY : e.clientY, _ = c ? f.offsetWidth : f.offsetHeight, document.addEventListener(\"mousemove\", v), document.addEventListener(\"mouseup\", y), document.addEventListener(\"touchmove\", v, {\n passive: !1\n }), document.addEventListener(\"touchend\", y), p.classList.add(\"tokui-resizable__handle--active\");\n }\n\n var g = 0,\n _ = 0;\n\n function v(e) {\n e.preventDefault();\n var t = (c ? e.touches ? e.touches[0].clientX : e.clientX : e.touches ? e.touches[0].clientY : e.clientY) - g,\n n = _ + t;\n n = Math.max(a, Math.min(o, n)), c ? f.style.width = n + \"px\" : f.style.height = n + \"px\";\n }\n\n function y() {\n document.removeEventListener(\"mousemove\", v), document.removeEventListener(\"mouseup\", y), document.removeEventListener(\"touchmove\", v), document.removeEventListener(\"touchend\", y), p.classList.remove(\"tokui-resizable__handle--active\");\n }\n\n p.addEventListener(\"mousedown\", h), p.addEventListener(\"touchstart\", h, {\n passive: !1\n }), p.addEventListener(\"keydown\", function (e) {\n var t = 10,\n n = c ? f.offsetWidth : f.offsetHeight;\n c && e.key === \"ArrowLeft\" ? (e.preventDefault(), f.style.width = Math.max(a, n - t) + \"px\") : c && e.key === \"ArrowRight\" ? (e.preventDefault(), f.style.width = Math.min(o, n + t) + \"px\") : !c && e.key === \"ArrowUp\" ? (e.preventDefault(), f.style.height = Math.max(a, n - t) + \"px\") : !c && e.key === \"ArrowDown\" && (e.preventDefault(), f.style.height = Math.min(o, n + t) + \"px\");\n });\n var b = n(e.children || []),\n x = [];\n b.forEach(function (e) {\n e && e.nodeType && x.push(e);\n }), x[0] && f.appendChild(x[0]);\n\n for (var S = 1; S < x.length; S++) {\n m.appendChild(x[S]);\n }\n\n return d._streamCloseHook = function () {\n for (var e = [], t = 0; t < d.children.length; t++) {\n var n = d.children[t];\n n !== f && n !== p && n !== m && e.push(n);\n }\n\n if (e.length > 0) {\n f.appendChild(e[0]);\n\n for (var r = 1; r < e.length; r++) {\n m.appendChild(e[r]);\n }\n }\n }, d._tokuiType = \"resizable\", d;\n }), e.register(\"scroll-area\", function (e, n) {\n var r = e.attrs || {},\n i = {\n class: \"tokui-scroll-area\"\n };\n r.id && (i.id = r.id);\n var a = t(\"div\", i);\n r.h && (a.style.height = String(r.h).match(/^\\d+$/) ? r.h + \"px\" : r.h), r.w && (a.style.width = r.w);\n var o = t(\"div\", {\n class: \"tokui-scroll-area__viewport\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && o.appendChild(e);\n }), a.appendChild(o), a._slot = o, a._tokuiType = \"scroll-area\", a;\n }), e.register(\"sidebar\", function (e, n) {\n var r = e.attrs || {},\n i = r.w || \"260\",\n a = r.pos || \"left\",\n o = r.collapsible !== void 0,\n s = r.bg || \"\",\n c = r.fc || \"\",\n l = [\"tokui-sidebar\", \"tokui-sidebar--\" + a];\n o && l.push(\"tokui-sidebar--collapsible\");\n var u = {\n class: l.join(\" \")\n };\n r.id && (u.id = r.id);\n var d = t(\"div\", u);\n d.style.setProperty(\"--tokui-sidebar-w\", i + \"px\"), s && d.style.setProperty(\"--tokui-sidebar-bg\", s), c && d.style.setProperty(\"--tokui-sidebar-fc\", c), s && d.style.setProperty(\"--tokui-sidebar-footer-bg\", \"rgba(0,0,0,0.15)\"), s && d.style.setProperty(\"--tokui-sidebar-header-bg\", \"rgba(0,0,0,0.15)\"), s && d.style.setProperty(\"--tokui-sidebar-border\", \"rgba(255,255,255,0.1)\");\n var f = [],\n p = [],\n m = [];\n\n if ((e.children || []).forEach(function (e) {\n e.type === \"sidebar-content\" ? f.push(e) : e.type === \"sidebar-footer\" ? p.push(e) : m.push(e);\n }), r.tt || o) {\n var h = t(\"div\", {\n class: \"tokui-sidebar__header\"\n });\n\n if (r.tt) {\n var g = t(\"div\", {\n class: \"tokui-sidebar__title\"\n }, r.tt);\n h.appendChild(g);\n }\n\n if (o) {\n var _ = t(\"button\", {\n class: \"tokui-sidebar__toggle\",\n \"aria-label\": \"Toggle sidebar\",\n type: \"button\"\n });\n\n _.textContent = \"\\u2630\", _.addEventListener(\"click\", function () {\n d.classList.toggle(\"tokui-sidebar--collapsed\");\n var e = d.classList.contains(\"tokui-sidebar--collapsed\");\n d.setAttribute(\"aria-expanded\", String(!e));\n }), h.appendChild(_);\n }\n\n d.appendChild(h);\n }\n\n d.setAttribute(\"aria-expanded\", \"true\");\n var v = t(\"div\", {\n class: \"tokui-sidebar__content\"\n });\n\n if (f.forEach(function (e) {\n n(e.children || []).forEach(function (e) {\n e && e.nodeType && v.appendChild(e);\n });\n }), n(m).forEach(function (e) {\n e && e.nodeType && v.appendChild(e);\n }), d.appendChild(v), p.length > 0) {\n var y = t(\"div\", {\n class: \"tokui-sidebar__footer\"\n });\n p.forEach(function (e) {\n n(e.children || []).forEach(function (e) {\n e && e.nodeType && y.appendChild(e);\n });\n }), d.appendChild(y);\n }\n\n return d._slot = v, d._tokuiType = \"sidebar\", d._update = function (e) {\n if (e.tt !== void 0) {\n var t = d.querySelector(\".tokui-sidebar__title\");\n t && (t.textContent = e.tt);\n }\n\n e.act === \"collapse\" ? d.classList.add(\"tokui-sidebar--collapsed\") : e.act === \"expand\" ? d.classList.remove(\"tokui-sidebar--collapsed\") : e.act === \"toggle\" && d.classList.toggle(\"tokui-sidebar--collapsed\");\n }, e._dsl !== void 0 && (d._dslNode = e), d;\n }), e.register(\"sidebar-content\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-sidebar__content\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"sidebar-content\", r;\n }), e.register(\"sidebar-footer\", function (e, n) {\n var r = t(\"div\", {\n class: \"tokui-sidebar__footer\"\n });\n return n(e.children || []).forEach(function (e) {\n e && e.nodeType && r.appendChild(e);\n }), r._slot = r, r._tokuiType = \"sidebar-footer\", r;\n });\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerLayoutComponents = r), t !== void 0 && t.exports && (t.exports = {\n registerLayoutComponents: r\n });\n }),\n E = s(function (e, t) {\n var n = !1,\n r,\n i,\n a,\n o,\n s,\n c,\n l;\n\n function u() {\n n || (n = !0, true ? (r = S().registerBasicComponents, i = C().registerTableComponents, a = w().registerFormComponents, o = T().registerLayoutComponents, s = _().registerChartComponents, c = y().registerBarcode, l = x().registerQrcode) : undefined);\n }\n\n function d(e) {\n u(), r && (r(e), i(e), a(e), o(e), s(e), c && c(e), l && l(e));\n }\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerAllComponents = d), t !== void 0 && t.exports && (t.exports = {\n registerAllComponents: d\n });\n }),\n D = s(function (e, t) {\n (function () {\n var e,\n n,\n r,\n i,\n a,\n o,\n s,\n c = !1;\n\n function l() {\n if (!c) if (c = !0, \"function\" == \"function\") {\n e = m().TokUIParser;\n var t = h();\n n = t.TokUIRenderer, r = t.el, i = d(), a = p(), o = u(), s = E().registerAllComponents;\n } else (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && window.TokUI && window.TokUI._internal && (e = window.TokUI._internal.TokUIParser, n = window.TokUI._internal.TokUIRenderer, r = window.TokUI._internal.el, i = window.TokUI._internal.TokUIEventBus, a = window.TokUI._internal.TokUITheme, o = window.TokUI._internal.TokUII18n, s = window.TokUI._internal.registerAllComponents);\n }\n\n var f = /*#__PURE__*/function () {\n function f(e) {\n _classCallCheck(this, f);\n\n l(), this.options = Object.assign({\n container: null,\n theme: \"default\",\n locale: null,\n streaming: !0,\n onEvent: null\n }, e), this.renderer = new n(i), s(this.renderer), this.parser = null, this.container = null, this.streamingContainer = null, this._lastDsl = null, this._lastTarget = null, this.options.locale && o && o.setLocale(this.options.locale), this.options.container && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) < \"u\" && (this.container = typeof this.options.container == \"string\" ? document.querySelector(this.options.container) : this.options.container, a.init(this.container), this.options.theme && a.setTheme(this.options.theme)), (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI._instance = this, window.TokUI._internal.el = r, window.TokUI.registerHandler = i.registerHandler.bind(i), window.TokUI.setTheme = a.setTheme.bind(a), o && (window.TokUI.setLocale = o.setLocale.bind(o), window.TokUI.getLocale = o.getLocale.bind(o), window.TokUI.registerLocale = o.registerLocale.bind(o)), window.TokUI.showNotification || (window.TokUI.showNotification = function () {}));\n }\n\n _createClass(f, [{\n key: \"render\",\n value: function render(t, n) {\n var _this = this;\n\n var r = n || this.container;\n if (!r) throw Error(\"TokUI: no container specified\");\n this._lastDsl = t, this._lastTarget = r, new e(function (e) {\n _this.renderer.mount(e, r);\n }).parse(t);\n }\n }, {\n key: \"rerender\",\n value: function rerender(e) {\n var t = this._lastDsl;\n if (!t) return !1;\n var n = e || this._lastTarget || this.container;\n return n ? (n.innerHTML !== void 0 && (n.innerHTML = \"\"), this.render(t, n), !0) : !1;\n }\n }, {\n key: \"startStream\",\n value: function startStream(t) {\n if (this.streamingContainer = t || this.container, !this.streamingContainer) throw Error(\"TokUI: no container specified\");\n this._lastDsl = \"\", this._lastTarget = this.streamingContainer;\n var n = this,\n r = this.options.streaming !== !1;\n this.parser = new e(function (e) {\n r ? n.renderer.mountStreaming(e, n.streamingContainer) : n.renderer.mount(e, n.streamingContainer);\n }, {\n streaming: r\n }), this.parser.startStream();\n }\n }, {\n key: \"feed\",\n value: function feed(e) {\n this.parser ? (this._lastDsl = (this._lastDsl || \"\") + e, this.parser.feed(e)) : console.warn(\"TokUI: feed() called before startStream()\");\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this._abortController && (this._abortController = (this._abortController.abort(), null)), this.endStream(), this._streamTarget && this._streamTarget.parentNode && this._streamTarget.parentNode.removeChild(this._streamTarget), this._streamTarget = null;\n }\n }, {\n key: \"endStream\",\n value: function endStream() {\n this.parser && (this.parser = (this.parser.endStream(), null)), this.renderer.slotStack.length && this.renderer.resetSlotStack();\n }\n }, {\n key: \"connect\",\n value: function connect(e, t) {\n var _this2 = this;\n\n return this._abortController = new AbortController(), fetch(e, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(t || {}),\n signal: this._abortController.signal\n }).then(function (e) {\n if (!e.ok) throw Error(\"TokUI connect: HTTP \" + e.status);\n if (!e.body) throw Error(\"TokUI connect: response body is null\");\n var t = e.body.getReader(),\n n = new TextDecoder(),\n r = \"\";\n _this2._streamTarget && _this2._streamTarget.parentNode && _this2._streamTarget.parentNode.removeChild(_this2._streamTarget);\n var i = document.createElement(\"div\");\n i.className = \"tokui-stream-target\", _this2._streamTarget = i, _this2.container && _this2.container.appendChild(i), _this2.startStream(i);\n var a = _this2;\n\n var o = function o() {\n t.read().then(function (_ref10) {\n var e = _ref10.done,\n t = _ref10.value;\n\n if (e) {\n a.endStream(), a.options.onEvent && a.options.onEvent(\"streamEnd\", {});\n return;\n }\n\n r += n.decode(t, {\n stream: !0\n });\n var i = r.split(\"\\n\");\n r = i.pop();\n\n var _iterator2 = _createForOfIteratorHelper(i),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _e63 = _step2.value;\n\n if (_e63.startsWith(\"data: \")) {\n var _t34 = _e63.slice(6);\n\n if (_t34 === \"[DONE]\") {\n a.endStream(), a.options.onEvent && a.options.onEvent(\"streamEnd\", {});\n return;\n }\n\n try {\n var _e64 = JSON.parse(_t34);\n\n _e64.tokui && a.feed(_e64.tokui);\n } catch (e) {\n console.warn(\"TokUI: malformed JSON in SSE data\", e.message);\n }\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n o();\n });\n };\n\n o();\n });\n }\n }]);\n\n return f;\n }();\n\n (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) < \"u\" && (window.TokUI = window.TokUI || {}, window.TokUI.TokUI = f), t !== void 0 && t.exports && (t.exports = f);\n })();\n }),\n O = l(u()),\n k = l(d()),\n A = l(p());\n\n f(), m();\n var j = h();\n g(), _(), v(), y(), b(), x(), S(), C(), w(), T(), E();\n var M = l(D()),\n N = k.default.registerHandler.bind(k.default),\n P = k.default.removeHandler.bind(k.default),\n F = A.default.setTheme.bind(A.default),\n I = A.default.getTheme.bind(A.default),\n L = O.default.setLocale.bind(O.default),\n R = O.default.getLocale.bind(O.default),\n z = O.default.registerLocale.bind(O.default),\n B = {\n TokUI: M.default,\n registerHandler: N,\n removeHandler: P,\n setTheme: F,\n getTheme: I,\n setLocale: L,\n getLocale: R,\n registerLocale: z,\n el: j.el\n };\n e.TokUI = M.default, e.default = B, e.el = j.el, e.getLocale = R, e.getTheme = I, e.registerHandler = N, e.registerLocale = z, e.removeHandler = P, e.setLocale = L, e.setTheme = F;\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack://ZjPluginIntelligent/./node_modules/@jboltai/tokui/dist/tokui.umd.js?");
342
+
343
+ /***/ }),
344
+
333
345
  /***/ "./node_modules/@soda/get-current-script/index.js":
334
346
  /*!********************************************************!*\
335
347
  !*** ./node_modules/@soda/get-current-script/index.js ***!
@@ -825,7 +837,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
825
837
  /***/ (function(module, exports, __webpack_require__) {
826
838
 
827
839
  "use strict";
828
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\"));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n\nvar _createForOfIteratorHelper2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper */ \"./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\"));\n\nvar _markdownIt = _interopRequireDefault(__webpack_require__(/*! markdown-it */ \"./node_modules/markdown-it/index.mjs\"));\n\nvar _tokui = __webpack_require__(/*! @jboltai/tokui/dist/tokui.mjs */ \"./node_modules/@jboltai/tokui/dist/tokui.mjs\");\n\n__webpack_require__(/*! @jboltai/tokui/dist/tokui.css */ \"./node_modules/@jboltai/tokui/dist/tokui.css\");\n\nvar _apichat = __webpack_require__(/*! @lib/api/apichat */ \"./src/lib/api/apichat.js\");\n\nvar _index = __webpack_require__(/*! @lib/socket/fileManager/obs/index */ \"./src/lib/socket/fileManager/obs/index.js\");\n\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @lib/socket/utils/index */ \"./src/lib/socket/utils/index.js\"));\n\nvar _cookie = __webpack_require__(/*! @lib/utils/cookie.js */ \"./src/lib/utils/cookie.js\");\n\nvar _apiObs = _interopRequireDefault(__webpack_require__(/*! @lib/api/apiObs */ \"./src/lib/api/apiObs.js\"));\n\nvar _html2canvas = _interopRequireDefault(__webpack_require__(/*! html2canvas */ \"./node_modules/html2canvas/dist/html2canvas.esm.js\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar md = new _markdownIt.default({\n breaks: true,\n html: false,\n linkify: true,\n typographer: true\n});\nmd.enable('table');\nvar _default2 = {\n name: 'ChatDetail',\n props: {\n isMobile: {\n type: Boolean,\n default: false\n },\n activeSessionId: {\n type: String,\n default: ''\n },\n currentAgent: {\n type: String,\n default: ''\n },\n agentInfo: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n currentAgentDesc: {\n type: String,\n default: ''\n },\n showSidebar: {\n type: Boolean,\n default: false\n },\n showH5List: {\n type: Boolean,\n default: false\n },\n showAgentSelect: {\n type: Boolean,\n default: false\n },\n agentList: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n messages: [],\n inputText: '',\n sending: false,\n waitTimer: null,\n waitSeconds: 0,\n canceling: false,\n msgPage: 1,\n msgMaxPage: 1,\n msgTotal: 0,\n eventSource: null,\n showToolInfo: false,\n showDownBtn: false,\n lastScrollTop: 0,\n scrollTimer: null,\n contentCache: {},\n loadingSessionMsg: false,\n greeting: '',\n _scrollTimer: null,\n _userScrolledUp: false,\n voiceMode: false,\n isRecording: false,\n recordDuration: 0,\n recordingTimer: null,\n audioContext: null,\n audioStream: null,\n audioProcessor: null,\n audioChunks: [],\n audioSampleRate: 16000,\n isCancelSwipe: false,\n recordStartY: 0,\n _pendingSendText: null\n };\n },\n computed: {\n waitClass: function waitClass() {\n if (this.waitSeconds > 15) return 'wait-15';\n if (this.waitSeconds > 10) return 'wait-10';\n if (this.waitSeconds > 5) return 'wait-5';\n return '';\n },\n currentAgentName: function currentAgentName() {\n var _this = this;\n\n if (!this.currentAgent) return '';\n var a = this.agentList.find(function (x) {\n return x.agentCode === _this.currentAgent;\n });\n return a ? a.agentName || a.agentCode : this.currentAgent;\n }\n },\n watch: {\n contentCache: {\n handler: function handler(val) {// 保持响应性\n },\n immediate: true\n },\n activeSessionId: function activeSessionId(val) {\n var _this2 = this;\n\n if (val && this._pendingSendText) {\n var text = this._pendingSendText;\n this._pendingSendText = null;\n this.$nextTick(function () {\n return _this2._sendMessage(text);\n });\n }\n },\n messages: {\n handler: function handler() {\n var _this3 = this;\n\n this.$nextTick(function () {\n return _this3._renderTokuiMessages();\n });\n },\n deep: true\n }\n },\n mounted: function mounted() {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', this.onViewportResize, {\n passive: true\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (window.visualViewport) {\n window.visualViewport.removeEventListener('resize', this.onViewportResize);\n }\n\n this.releaseAudio();\n this.contentCache = {};\n clearTimeout(this._scrollTimer);\n\n if (this.eventSource) {\n this.eventSource.onerror = null;\n this.eventSource.close();\n this.eventSource = null;\n }\n\n if (this.waitTimer) {\n clearInterval(this.waitTimer);\n this.waitTimer = null;\n }\n\n if (this._typeTimer) {\n clearInterval(this._typeTimer);\n this._typeTimer = null;\n }\n },\n methods: {\n getInitial: function getInitial(name) {\n if (!name) return '?';\n return name.charAt(0);\n },\n formatTime: function formatTime(t) {\n if (!t) return '';\n var d = new Date(t.replace(' ', 'T'));\n var now = new Date();\n var diff = (now - d) / 1000;\n if (diff < 60) return '刚刚';\n if (diff < 3600) return Math.floor(diff / 60) + '分钟前';\n if (diff < 86400) return Math.floor(diff / 3600) + '小时前';\n return d.getMonth() + 1 + '/' + d.getDate();\n },\n escapeHtml: function escapeHtml(text) {\n if (!text) return '';\n return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n },\n renderMarkdown: function renderMarkdown(text) {\n if (!text) return '';\n\n try {\n return md.render(text);\n } catch (err) {\n return this.escapeHtml(text);\n }\n },\n renderStreaming: function renderStreaming(text, msgKey) {\n if (!text) return '';\n var cache = this.contentCache[msgKey];\n var lines = text.split('\\n');\n var lastLineIdx = lines.length - 1;\n\n if (!cache) {\n try {\n var html = md.render(text);\n this.$set(this.contentCache, msgKey, {\n renderedLines: lastLineIdx,\n html: html,\n fullText: text\n });\n return html;\n } catch (_unused) {\n return this.escapeHtml(text);\n }\n }\n\n if (text === cache.fullText) return cache.html;\n cache.fullText = text; // 行数没变,仅末尾追加字符,直接拼接尾行\n\n if (lastLineIdx === cache.renderedLines) {\n return cache.html + this.escapeHtml(lines[lastLineIdx]);\n } // 场景1:行数变少/文本回退截断,全量重渲染\n\n\n if (lastLineIdx < cache.renderedLines) {\n try {\n var fullLines = lines.slice(0, lastLineIdx);\n var newBaseHtml = '';\n\n if (fullLines.length > 0) {\n newBaseHtml = md.render(fullLines.join('\\n'));\n }\n\n cache.html = newBaseHtml;\n cache.renderedLines = lastLineIdx;\n\n var _lastLine = this.escapeHtml(lines[lastLineIdx]);\n\n return cache.html + (_lastLine || '');\n } catch (_unused2) {\n return this.escapeHtml(text);\n }\n } // 场景2:新增完整行\n\n\n if (cache.renderedLines < lastLineIdx) {\n var allFullLines = lines.slice(0, lastLineIdx);\n var _newBaseHtml = '';\n\n if (allFullLines.length > 0) {\n _newBaseHtml = md.render(allFullLines.join('\\n'));\n }\n\n cache.html = _newBaseHtml;\n cache.renderedLines = lastLineIdx;\n }\n\n var lastLine = this.escapeHtml(lines[lastLineIdx]);\n cache.renderedLines = lastLineIdx;\n return cache.html + (lastLine || '');\n },\n getChatAvatarStyle: function getChatAvatarStyle(agent, avatar) {\n if (avatar) {\n return {\n backgroundImage: \"url(\".concat(avatar, \")\"),\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n };\n }\n\n var _agent = this.agentList.find(function (x) {\n return x.agentCode === agent;\n });\n\n if (_agent && _agent.avatar) {\n return {\n backgroundImage: \"url(\".concat(_agent.avatar, \")\"),\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n };\n } // 没有网络图片时,根据智能体在 agentList 中的索引位置决定颜色\n\n\n var index = this.agentList.findIndex(function (item) {\n return item.agentCode === agent;\n });\n\n if (index !== -1) {\n var colorIndex = index % 4 + 1;\n return {\n background: this.getGradientByColorIndex(colorIndex)\n };\n }\n\n return {\n background: 'linear-gradient(135deg, #1677ff, #4096ff)'\n };\n },\n getGradientByColorIndex: function getGradientByColorIndex(index) {\n var gradients = {\n 1: 'linear-gradient(135deg, #1677ff, #4096ff)',\n 2: 'linear-gradient(135deg, #52c41a, #73d13d)',\n 3: 'linear-gradient(135deg, #fa8c16, #ffa940)',\n 4: 'linear-gradient(135deg, #722ed1, #b37feb)'\n };\n return gradients[index] || gradients[1];\n },\n sendQuickMsg: function sendQuickMsg(message) {\n if (message) {\n this.inputText = message;\n this.sendMessage();\n }\n },\n formatMixText: function formatMixText(str) {\n if (!str) return '';\n var res = str.replace(/([a-zA-Z0-9])([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z0-9])/g, '$1 $2');\n res = res.replace(/([a-z])([A-Z])/g, '$1 $2');\n return res;\n },\n // 检测是否滚动到底部,控制向下箭头显示隐藏\n checkScrollBottom: function checkScrollBottom() {\n var forceShowWhenNotBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var el = this.$refs.messagesRef;\n\n if (!el) {\n this.showDownBtn = false;\n return;\n }\n\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop,\n clientHeight = el.clientHeight;\n var remain = scrollHeight - scrollTop - clientHeight;\n var atBottom = remain <= 80; // 检测用户是否主动向上滚动(远离底部)\n\n if (remain > 80 && scrollTop < this.lastScrollTop) {\n this._userScrolledUp = true;\n }\n\n if (atBottom) {\n this._userScrolledUp = false;\n this.showDownBtn = false;\n } else if (this._userScrolledUp) {\n // 用户已主动上滚,保持显示\"到底部\"按钮,不自动回滚\n this.showDownBtn = true;\n } else if (this.sending && scrollTop >= this.lastScrollTop && !forceShowWhenNotBottom) {\n this.showDownBtn = false;\n } else {\n this.showDownBtn = true;\n }\n\n this.lastScrollTop = scrollTop;\n this.$emit('scroll-bottom-check', {\n showDownBtn: this.showDownBtn,\n lastScrollTop: this.lastScrollTop\n });\n },\n // H5 输入框获取焦点 - 滚动到底部让键盘不遮挡\n onInputFocus: function onInputFocus() {\n if (!this.isMobile) return;\n setTimeout(function () {\n window.scrollTo(0, document.body.scrollHeight);\n }, 300);\n },\n // visualViewport 变化时(如键盘弹出)调整滚动位置\n onViewportResize: function onViewportResize() {\n if (!this.isMobile) return;\n var activeEl = document.activeElement;\n\n if (activeEl && (activeEl.tagName === 'TEXTAREA' || activeEl.tagName === 'INPUT')) {\n window.scrollTo(0, document.body.scrollHeight);\n }\n },\n autoResizeTextarea: function autoResizeTextarea() {\n var _this4 = this;\n\n var ta = this.$refs.taRef;\n if (!ta) return;\n var isMobile = this.isMobile;\n var baseH = isMobile ? 36 : 100;\n var maxH = isMobile ? 100 : 180;\n ta.style.height = \"\".concat(baseH, \"px\");\n var realH = ta.scrollHeight;\n\n if (realH > baseH) {\n ta.style.height = \"\".concat(Math.min(realH, maxH), \"px\");\n }\n\n this.$nextTick(function () {\n _this4.checkScrollBottom(true);\n });\n },\n // Ctrl+Enter换行\n newLine: function newLine(e) {\n var _this5 = this;\n\n e.preventDefault();\n var ta = this.$refs.taRef;\n var start = ta.selectionStart;\n var end = ta.selectionEnd;\n this.inputText = this.inputText.slice(0, start) + '\\n' + this.inputText.slice(end);\n this.$nextTick(function () {\n ta.selectionStart = ta.selectionEnd = start + 1;\n\n _this5.autoResizeTextarea();\n });\n },\n toggleVoiceMode: function toggleVoiceMode() {\n var _this6 = this;\n\n if (this.voiceMode) {\n this.voiceMode = false;\n this.releaseAudio();\n return;\n } // 进入语音模式前提前请求麦克风权限,避免触摸时异步弹窗导致 touchend 丢失\n\n\n this.ensureAudioReady().then(function (ready) {\n if (ready) {\n _this6.voiceMode = true;\n } else {\n _this6.voiceMode = false;\n }\n });\n },\n // 确保音频设备已就绪\n ensureAudioReady: function ensureAudioReady() {\n var _this7 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var stream, audioContext, source, processor;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(_this7.audioContext && _this7.audioStream)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", true);\n\n case 2:\n if (!(!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia)) {\n _context.next = 5;\n break;\n }\n\n alert('当前环境不支持麦克风访问');\n return _context.abrupt(\"return\", false);\n\n case 5:\n _context.prev = 5;\n _context.next = 8;\n return navigator.mediaDevices.getUserMedia({\n audio: true\n });\n\n case 8:\n stream = _context.sent;\n _this7.audioStream = stream;\n audioContext = new (window.AudioContext || window.webkitAudioContext)(); // iOS 上 AudioContext 默认 suspended,需要手动 resume\n\n if (!(audioContext.state === 'suspended')) {\n _context.next = 14;\n break;\n }\n\n _context.next = 14;\n return audioContext.resume();\n\n case 14:\n _this7.audioContext = audioContext; // 采集实际采样率(iOS 会忽略 sampleRate 参数,使用硬件采样率)\n\n _this7.audioSampleRate = audioContext.sampleRate || 16000;\n source = audioContext.createMediaStreamSource(stream); // 保存 source 引用到实例,防止 iOS Safari 垃圾回收导致音频处理中断\n\n _this7.audioSource = source;\n processor = audioContext.createScriptProcessor(4096, 1, 1);\n _this7.audioProcessor = processor; // iOS 上 onaudioprocess 可能先于 isRecording=true 触发\n // 因此不依赖 isRecording 过滤,由外部控制 audioChunks 的清零时机\n\n processor.onaudioprocess = function (e) {\n var inputData = e.inputBuffer.getChannelData(0);\n\n _this7.audioChunks.push(new Float32Array(inputData));\n };\n\n source.connect(processor);\n processor.connect(audioContext.destination);\n return _context.abrupt(\"return\", true);\n\n case 26:\n _context.prev = 26;\n _context.t0 = _context[\"catch\"](5);\n console.error('麦克风访问失败:', _context.t0);\n alert('麦克风权限被拒绝');\n return _context.abrupt(\"return\", false);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 26]]);\n }))();\n },\n // H5语音录制 - 触摸开始\n onRecordTouchStart: function onRecordTouchStart(e) {\n var _this8 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var ready;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!_this8.sending) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.next = 4;\n return _this8.ensureAudioReady();\n\n case 4:\n ready = _context2.sent;\n\n if (ready) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 7:\n _this8.isCancelSwipe = false;\n _this8.recordStartY = e.touches[0].clientY;\n _this8.recordDuration = 0;\n _this8.audioChunks = [];\n _this8.isRecording = true;\n _this8.recordingTimer = setInterval(function () {\n _this8.recordDuration++;\n\n if (_this8.recordDuration >= 60) {\n _this8.onRecordTouchEnd();\n }\n }, 1000);\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // H5语音录制 - 触摸移动\n onRecordTouchMove: function onRecordTouchMove(e) {\n if (!this.isRecording) return;\n var touch = e.touches[0];\n var moveY = touch.clientY;\n var cancelThreshold = 60;\n this.isCancelSwipe = this.recordStartY - moveY > cancelThreshold;\n },\n // H5语音录制 - 触摸结束\n onRecordTouchEnd: function onRecordTouchEnd() {\n if (!this.isRecording) return;\n this.isRecording = false;\n\n if (this.recordingTimer) {\n clearInterval(this.recordingTimer);\n this.recordingTimer = null;\n }\n\n this.stopAudioCapture(!this.isCancelSwipe);\n },\n // 停止音频采集并输出 WAV\n stopAudioCapture: function stopAudioCapture(shouldSend) {\n this.isRecording = false;\n\n if (shouldSend && this.audioChunks.length > 0) {\n var wavBlob = this.encodePCMToWav(this.audioChunks, this.audioSampleRate || 16000);\n this.sendAudioBlob(wavBlob);\n }\n\n this.audioChunks = [];\n },\n // 取消录音\n cancelRecording: function cancelRecording() {\n this.isRecording = false;\n\n if (this.recordingTimer) {\n clearInterval(this.recordingTimer);\n this.recordingTimer = null;\n }\n\n this.recordDuration = 0;\n this.isCancelSwipe = false;\n this.audioChunks = [];\n },\n // 释放音频资源\n releaseAudio: function releaseAudio() {\n this.cancelRecording();\n\n if (this.audioProcessor) {\n this.audioProcessor.disconnect();\n this.audioProcessor = null;\n }\n\n if (this.audioSource) {\n this.audioSource.disconnect();\n this.audioSource = null;\n }\n\n if (this.audioContext) {\n this.audioContext.close().catch(function () {});\n this.audioContext = null;\n }\n\n if (this.audioStream) {\n this.audioStream.getTracks().forEach(function (t) {\n return t.stop();\n });\n this.audioStream = null;\n }\n },\n // 将 Float32 PCM 数据编码为 WAV Blob\n encodePCMToWav: function encodePCMToWav(chunks, sampleRate) {\n var totalLength = 0;\n\n var _iterator = (0, _createForOfIteratorHelper2.default)(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n totalLength += chunk.length;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var pcmData = new Int16Array(totalLength);\n var offset = 0;\n\n var _iterator2 = (0, _createForOfIteratorHelper2.default)(chunks),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _chunk = _step2.value;\n\n for (var i = 0; i < _chunk.length; i++) {\n var s = Math.max(-1, Math.min(1, _chunk[i]));\n pcmData[offset++] = s < 0 ? s * 0x8000 : s * 0x7FFF;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var numChannels = 1;\n var bitsPerSample = 16;\n var byteRate = sampleRate * numChannels * bitsPerSample / 8;\n var blockAlign = numChannels * bitsPerSample / 8;\n var dataSize = pcmData.length * (bitsPerSample / 8);\n var headerSize = 44;\n var totalSize = headerSize + dataSize;\n var buffer = new ArrayBuffer(totalSize);\n var view = new DataView(buffer);\n\n this._wavWriteString(view, 0, 'RIFF');\n\n view.setUint32(4, totalSize - 8, true);\n\n this._wavWriteString(view, 8, 'WAVE');\n\n this._wavWriteString(view, 12, 'fmt ');\n\n view.setUint32(16, 16, true);\n view.setUint16(20, 1, true);\n view.setUint16(22, numChannels, true);\n view.setUint32(24, sampleRate, true);\n view.setUint32(28, byteRate, true);\n view.setUint16(32, blockAlign, true);\n view.setUint16(34, bitsPerSample, true);\n\n this._wavWriteString(view, 36, 'data');\n\n view.setUint32(40, dataSize, true);\n var pcmView = new Int16Array(buffer, headerSize, pcmData.length);\n pcmView.set(pcmData);\n return new Blob([buffer], {\n type: 'audio/wav'\n });\n },\n _wavWriteString: function _wavWriteString(view, offset, str) {\n for (var i = 0; i < str.length; i++) {\n view.setUint8(offset + i, str.charCodeAt(i));\n }\n },\n // 发送音频\n sendAudioBlob: function sendAudioBlob(blob) {\n var appSeqId = _index2.default.getAppSeqId();\n\n var name = appSeqId + '.wav';\n var file = new File([blob], name, {\n type: 'audio/wav'\n });\n this.sendAudioMessage(file);\n },\n sendAudioMessage: function sendAudioMessage(file) {\n var _this9 = this;\n\n var sttKey = 'stt_' + Date.now();\n var sttMsg = {\n role: 'user',\n content: '转化中...',\n _sttStatus: 'pending',\n _sttKey: sttKey,\n createTime: new Date().toISOString(),\n _key: sttKey\n };\n this.messages.push(sttMsg);\n this.scrollToBottom(true);\n (0, _index.fileUploadToObs)({\n _file: file,\n appSeqId: file.name\n }).then(function (resp) {\n if (resp.CommonMsg.Status === 200) {\n return _apiObs.default.aliAudioToText({\n url: resp.obs_upload_data.obsUrl\n }).then(function (result) {\n if (result.code === '200' && result.data) {\n var idx = _this9.messages.findIndex(function (m) {\n return m._sttKey === sttKey;\n });\n\n if (idx !== -1) {\n _this9.messages.splice(idx, 1);\n }\n\n _this9.sendQuickMsg(result.data);\n } else {\n throw new Error(result.msg || '语音转文字失败');\n }\n });\n } else {\n throw new Error(resp.CommonMsg.Message || '文件上传失败');\n }\n }).catch(function (err) {\n console.error('语音转文字失败:', err);\n\n var idx = _this9.messages.findIndex(function (m) {\n return m._sttKey === sttKey;\n });\n\n if (idx !== -1) {\n _this9.$set(_this9.messages, idx, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _this9.messages[idx]), {}, {\n _sttStatus: 'error',\n content: '语音转文字失败'\n }));\n }\n\n _this9.$message.error('语音转文字失败');\n });\n this.$message.success(\"\\u5F55\\u97F3\\u5B8C\\u6210 (\".concat(this.recordDuration, \"s)\"));\n },\n clearWaitTimer: function clearWaitTimer() {\n if (this.waitTimer) {\n clearInterval(this.waitTimer);\n this.waitTimer = null;\n }\n },\n loadMoreMessages: function loadMoreMessages() {\n var _this10 = this;\n\n var nextPage = this.msgPage + 1;\n var maxPage = Math.ceil(this.msgTotal / 10);\n\n if (nextPage > maxPage) {\n this.loadingMore = false;\n return;\n }\n\n (0, _apichat.getSessionMessages)(this.activeSessionId, nextPage, 10).then(function (res) {\n var list = Array.isArray(res) ? res : res.list || [];\n _this10.msgPage = nextPage;\n var asAsc = (list || []).slice().reverse();\n var prepend = asAsc.map(function (m) {\n return {\n role: m.role,\n content: m.content || '',\n thinking: m.thinking || '',\n toolCalls: [],\n agentName: '',\n createTime: m.createTime || null,\n _key: m.createTime ? 'msg_' + m.createTime : 'msg_' + Date.now() + '_' + Math.random(),\n // 历史消息中如果包含 ```tokui 标记或以 TokUI 标签开头,自动启用 TokUI 渲染\n _hasTokui: m.role === 'assistant' && m.content && (/```tokui/.test(m.content) || /^\\s*\\[(card|row|list|table|callout|desc|dv|ft)\\b/.test(m.content.trim()))\n };\n });\n var container = _this10.$refs.messagesRef;\n var oldScrollHeight = container ? container.scrollHeight : 0;\n var oldScrollTop = container ? container.scrollTop : 0;\n _this10.messages = [].concat((0, _toConsumableArray2.default)(prepend), (0, _toConsumableArray2.default)(_this10.messages));\n\n _this10.$nextTick(function () {\n if (container) {\n container.scrollTop = oldScrollTop + (container.scrollHeight - oldScrollHeight);\n }\n\n _this10.loadingMore = false;\n });\n }).catch(function () {\n _this10.loadingMore = false;\n });\n },\n onScrollMessages: function onScrollMessages() {\n var container = this.$refs.messagesRef;\n if (!container || this.loadingMore) return;\n var isAtBottom = container.scrollTop + container.clientHeight >= container.scrollHeight - 100;\n this.checkScrollBottom();\n if (isAtBottom) return;\n\n if (container.scrollTop < 50 && this.msgPage < Math.ceil(this.msgTotal / 10)) {\n this.loadingMore = true;\n this.loadMoreMessages();\n }\n },\n // 检测内容是否为纯 TokUI DSL(无 ```tokui 围栏,直接以 TokUI 标签开头)\n _isPureTokuiDsl: function _isPureTokuiDsl(text) {\n if (!text) return false;\n return /^\\s*\\[(card|row|list|table|callout|desc|dv|ft)\\b/.test(text.trim());\n },\n // 提取 ```tokui 代码块中的 DSL,返回混合内容片段数组\n // 每项: { type: 'md' | 'dsl', content: string }\n _extractTokuiDsl: function _extractTokuiDsl(text) {\n if (!text) return [{\n type: 'md',\n content: ''\n }]; // 纯 TokUI DSL(无 ```tokui 围栏):整个内容作为 DSL 处理\n\n if (this._isPureTokuiDsl(text)) {\n return [{\n type: 'dsl',\n content: text.trim()\n }];\n }\n\n var parts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var lastIndex = 0;\n var match;\n\n while ((match = re.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push({\n type: 'md',\n content: text.substring(lastIndex, match.index)\n });\n }\n\n var dsl = match[1].trim();\n if (dsl) parts.push({\n type: 'dsl',\n content: dsl\n });\n lastIndex = match.index + match[0].length;\n }\n\n if (lastIndex < text.length) {\n parts.push({\n type: 'md',\n content: text.substring(lastIndex)\n });\n }\n\n return parts;\n },\n // 全文本增量流式 feed TokUI(参考项目方式)\n _streamTokui: function _streamTokui(msg, fullText) {\n if (!msg._tokuiStream) return; // 动态判断当前内容是否为纯 TokUI DSL\n\n var isPureDsl = this._isPureTokuiDsl(fullText); // 如果内容模式发生了变化,重置增量追踪\n\n\n if (msg._tokuiPureDsl !== isPureDsl) {\n msg._tokuiPureDsl = isPureDsl;\n msg._prevMdLen = 0;\n msg._prevDslLen = 0;\n msg._dslBuffer = '';\n }\n\n var dsl = '';\n var md = '';\n\n if (isPureDsl) {\n // 纯 DSL:整个内容为 DSL\n dsl = fullText;\n } else {\n // 混合内容:从 ```tokui 围栏中提取 DSL\n var dslParts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var match;\n\n while ((match = re.exec(fullText)) !== null) {\n var inner = match[1].trim();\n if (inner) dslParts.push(inner);\n } // 处理末尾未闭合的 ```tokui(流式场景)\n\n\n var lastIdx = re.lastIndex;\n var remaining = fullText.substring(lastIdx);\n var openIdx = remaining.lastIndexOf('```tokui');\n\n if (openIdx >= 0) {\n var dslPart = remaining.substring(openIdx + 8);\n if (dslPart.charCodeAt(0) === 10) dslPart = dslPart.substring(1);\n if (dslPart) dslParts.push(dslPart);\n }\n\n dsl = dslParts.join('\\n'); // 移除所有代码围栏得到纯 Markdown\n\n md = fullText.replace(/```[\\s\\S]*?(```|$)/g, '');\n } // Feed Markdown 增量\n\n\n if (md) {\n var prevMdLen = msg._prevMdLen || 0;\n\n if (md.length > prevMdLen) {\n var newMd = md.substring(prevMdLen);\n msg._prevMdLen = md.length;\n\n if (!msg._mdTagOpen) {\n msg._tokuiStream.feed('[md]\\n');\n\n msg._mdTagOpen = true;\n }\n\n msg._tokuiStream.feed(newMd);\n }\n } // Feed DSL 增量\n\n\n if (dsl) {\n var prevDslLen = msg._prevDslLen || 0;\n\n if (dsl.length > prevDslLen) {\n var newDsl = dsl.substring(prevDslLen);\n msg._prevDslLen = dsl.length;\n\n if (msg._mdTagOpen) {\n msg._tokuiStream.feed('[/md]\\n');\n\n msg._mdTagOpen = false;\n } // 逐行 feed DSL,缓冲未完成行\n\n\n msg._dslBuffer = (msg._dslBuffer || '') + newDsl;\n\n var lines = msg._dslBuffer.split('\\n');\n\n for (var i = 0; i < lines.length - 1; i++) {\n msg._tokuiStream.feed(lines[i] + '\\n');\n }\n\n msg._dslBuffer = lines[lines.length - 1];\n }\n }\n },\n // 渲染历史消息中的 TokUI 内容(仅在 TokUI 可用时执行)\n _renderTokuiMessages: function _renderTokuiMessages() {\n var _this11 = this;\n\n if (typeof _tokui.TokUI === 'undefined') return;\n var container = this.$refs.messagesRef;\n if (!container) return;\n var allRows = container.querySelectorAll('.msg-row');\n allRows.forEach(function (row, idx) {\n var msg = _this11.messages[idx];\n if (!msg || !msg._hasTokui) return; // 已通过流式渲染完成的消息,跳过(防止 endStream 后 watcher 触发重复渲染)\n\n if (msg._tokuiRendered) return;\n if (msg.loading || !msg.content || msg._tokuiStream) return;\n var tokuiDiv = row.querySelector('.tokui-stream');\n if (!tokuiDiv) return; // 清除旧内容和状态(DOM 复用 + 流式残留)\n\n tokuiDiv.innerHTML = '';\n tokuiDiv.classList.remove('tokui-streaming');\n tokuiDiv.style.display = 'block';\n\n try {\n var ui = new _tokui.TokUI({\n container: tokuiDiv\n }); // ── 与 _streamTokui 完全一致的提取逻辑(含未闭合围栏处理) ──\n\n var text = msg.content;\n\n var isPureDsl = _this11._isPureTokuiDsl(text);\n\n var dsl = '';\n var md = '';\n\n if (isPureDsl) {\n dsl = text;\n } else {\n var dslParts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var match;\n\n while ((match = re.exec(text)) !== null) {\n var inner = match[1].trim();\n if (inner) dslParts.push(inner);\n } // 处理未闭合的 ```tokui(与流式一致)\n\n\n var lastIdx = re.lastIndex;\n var remaining = text.substring(lastIdx);\n var openIdx = remaining.lastIndexOf('```tokui');\n\n if (openIdx >= 0) {\n var dslPart = remaining.substring(openIdx + 8);\n if (dslPart.charCodeAt(0) === 10) dslPart = dslPart.substring(1);\n if (dslPart) dslParts.push(dslPart);\n }\n\n dsl = dslParts.join('\\n');\n md = text.replace(/```[\\s\\S]*?(```|$)/g, '');\n } // ── 与流式完全一致的 feed 顺序和方式 ──\n\n\n ui.startStream(); // Feed Markdown\n\n if (md && md.trim()) {\n ui.feed('[md]\\n');\n ui.feed(md);\n ui.feed('[/md]\\n');\n } // Feed DSL 逐行(与流式 _streamTokui 完全一致)\n\n\n if (dsl) {\n var dslLines = dsl.split('\\n');\n\n for (var i = 0; i < dslLines.length; i++) {\n ui.feed(dslLines[i] + '\\n');\n }\n }\n\n ui.endStream();\n tokuiDiv._tokuiRendered = true;\n\n _this11.$set(msg, '_tokuiRendered', true);\n } catch (e) {\n console.error('[TokUI] render error:', e);\n tokuiDiv.textContent = msg.content;\n }\n });\n },\n sendMessage: function sendMessage() {\n var _this12 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var text;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n text = _this12.inputText.trim();\n\n if (!(!text || _this12.sending)) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\");\n\n case 3:\n if (!(text.length > 300)) {\n _context3.next = 6;\n break;\n }\n\n _this12.$message({\n message: '消息内容不能超过300字',\n type: 'warning',\n duration: 2000\n });\n\n return _context3.abrupt(\"return\");\n\n case 6:\n if (_this12.activeSessionId) {\n _context3.next = 10;\n break;\n }\n\n _this12.$emit('start-session');\n\n _this12._pendingSendText = text;\n return _context3.abrupt(\"return\");\n\n case 10:\n _this12._sendMessage(text);\n\n case 11:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n _sendMessage: function _sendMessage(text) {\n var _this13 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var ta, isMobile, baseH, agentName, msgIdx, thinkingBuffer, finalContent, answerBuffer, thinkDisplayed, typeTimer, streamDone, url, es;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this13.inputText = '';\n ta = _this13.$refs.taRef;\n isMobile = _this13.isMobile;\n baseH = isMobile ? 36 : 100;\n\n if (ta) {\n ta.style.height = baseH + 'px';\n }\n\n _this13.showDownBtn = false;\n\n _this13.messages.push({\n role: 'user',\n content: text,\n createTime: new Date().toISOString(),\n _key: 'user_' + Date.now() + '_' + Math.random()\n });\n\n agentName = _this13.currentAgentName;\n msgIdx = _this13.messages.push({\n role: \"assistant\",\n content: \"\",\n thinking: \"\",\n loading: true,\n toolCalls: [],\n agentName: agentName,\n createTime: new Date().toISOString(),\n _key: 'asst_' + Date.now() + '_' + Math.random()\n }) - 1;\n\n _this13.scrollToBottom(true);\n\n _this13.sending = true;\n _this13.waitSeconds = 0;\n if (_this13.waitTimer) clearInterval(_this13.waitTimer);\n _this13.waitTimer = setInterval(function () {\n _this13.waitSeconds++;\n }, 1000);\n thinkingBuffer = '';\n finalContent = '';\n answerBuffer = '';\n thinkDisplayed = 0;\n typeTimer = null;\n streamDone = false;\n typeTimer = setInterval(function () {\n if (!_this13.messages[msgIdx]) return; // Phase 1: 逐字展示思考内容\n\n if (thinkDisplayed < thinkingBuffer.length) {\n thinkDisplayed += 50;\n if (thinkDisplayed > thinkingBuffer.length) thinkDisplayed = thinkingBuffer.length;\n _this13.messages[msgIdx].thinking = thinkingBuffer.substring(0, thinkDisplayed);\n\n _this13.scrollToBottom();\n } // Phase 2: 渲染答案内容\n\n\n var msg = _this13.messages[msgIdx]; // TokUI 活跃期间始终用 answerBuffer(避免 finalContent 带 ```tokui 围栏导致内容跳变)\n\n var target = msg._tokuiStream ? answerBuffer : finalContent || answerBuffer;\n var prevLen = msg._tokuiPrevLen || 0;\n\n if (target.length > prevLen) {\n msg._tokuiPrevLen = target.length; // 检测内容是否包含 TokUI 标记(```tokui 围栏 或 纯 DSL 标签开头)\n\n var hasTokuiMarker = msg._tokuiStream || _this13._isPureTokuiDsl(target) || target.indexOf('```tokui') !== -1;\n\n if (hasTokuiMarker && !msg._hasTokuiFailed) {\n // ── TokUI 路径 ──\n if (!msg._tokuiStream) {\n var container = _this13.$refs.messagesRef;\n\n if (container) {\n var rows = container.querySelectorAll('.msg-row.assistant');\n var lastRow = rows[rows.length - 1];\n var tokuiDiv = lastRow === null || lastRow === void 0 ? void 0 : lastRow.querySelector('.tokui-stream');\n\n if (tokuiDiv && typeof _tokui.TokUI !== 'undefined') {\n try {\n msg._tokuiDiv = tokuiDiv;\n msg._tokuiStream = new _tokui.TokUI({\n container: tokuiDiv\n });\n\n msg._tokuiStream.startStream();\n\n tokuiDiv.classList.add('tokui-streaming');\n msg._tokuiPureDsl = _this13._isPureTokuiDsl(target);\n msg._mdTagOpen = false;\n msg._prevMdLen = 0;\n msg._prevDslLen = 0;\n msg._dslBuffer = '';\n\n _this13.$set(msg, '_hasTokui', true);\n } catch (e) {\n console.error('[TokUI] init error:', e);\n msg._hasTokuiFailed = true;\n msg._tokuiStream = null;\n }\n } else {\n msg._hasTokuiFailed = true;\n }\n }\n }\n\n if (msg._tokuiStream) {\n _this13._streamTokui(msg, target);\n } else if (msg._hasTokuiFailed) {\n // TokUI 初始化失败,回退到普通渲染\n msg.content = target;\n }\n } else {\n // ── 普通渲染路径(保持原有逻辑不变)──\n msg.content = target;\n }\n\n _this13.scrollToBottom();\n\n return;\n } // Phase 3: 流结束 → 收尾\n\n\n if (streamDone) {\n clearInterval(typeTimer);\n typeTimer = null;\n var key = _this13.messages[msgIdx]._key;\n\n if (key) {\n _this13.$delete(_this13.contentCache, key);\n\n _this13.$delete(_this13.contentCache, key + '_t');\n }\n\n if (msg._tokuiStream) {\n // TokUI 路径:关闭 [md] 标签、刷新 DSL 缓冲区、结束流\n try {\n if (msg._mdTagOpen) {\n msg._tokuiStream.feed('[/md]\\n');\n\n msg._mdTagOpen = false;\n }\n\n if (msg._dslBuffer) {\n msg._tokuiStream.feed(msg._dslBuffer + '\\n');\n\n msg._dslBuffer = '';\n }\n\n msg._tokuiStream.endStream();\n } catch (e) {\n console.error('[TokUI] endStream error:', e);\n } // 标记已渲染,防止 _renderTokuiMessages 重复创建实例\n\n\n if (msg._tokuiDiv) {\n msg._tokuiDiv._tokuiRendered = true;\n }\n\n msg._tokuiStream = null; // 使用 $set 确保响应式\n\n _this13.$set(_this13.messages[msgIdx], '_tokuiRendered', true);\n }\n\n _this13.messages[msgIdx].content = finalContent;\n _this13.messages[msgIdx].thinking = thinkingBuffer;\n _this13.messages[msgIdx].loading = false;\n _this13.sending = false;\n\n _this13.clearWaitTimer();\n\n _this13.scrollToBottom();\n\n _this13.$emit('session-refresh');\n\n _this13.$emit('message-sent');\n }\n }, 30);\n url = (0, _apichat.createStreamUrl)(_this13.activeSessionId, text);\n\n if (_this13.eventSource) {\n _this13.eventSource.close();\n }\n\n _this13.eventSource = new EventSource(url);\n es = _this13.eventSource;\n es.addEventListener('reasoning', function (e) {\n if (e.data) {\n var chunk = e.data;\n var cleanChunk = chunk.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/([a-zA-Z])([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z])/g, '$1 $2').replace(/([a-zA-Z])(\\d)/g, '$1 $2').replace(/(\\d)([a-zA-Z])/g, '$1 $2').replace(/\\s+([:,.!?])/g, '$1').replace(/([:,.!?])\\s+/g, '$1 ');\n cleanChunk = cleanChunk.replace(/\\s+/g, ' ');\n var lastChar = thinkingBuffer.slice(-1);\n var firstChar = cleanChunk.slice(0, 1);\n\n var isLetter = function isLetter(c) {\n return /[a-zA-Z]/.test(c);\n };\n\n if (isLetter(lastChar) && isLetter(firstChar)) {\n thinkingBuffer += ' ' + cleanChunk;\n } else {\n thinkingBuffer += cleanChunk;\n }\n }\n });\n es.addEventListener('reasoning_result', function (e) {\n if (e.data) {\n thinkingBuffer = e.data;\n }\n });\n es.addEventListener('answer', function (e) {\n if (e.data) {\n answerBuffer += e.data.replace(/([a-zA-Z]+)([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z]+)/g, '$1 $2').replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/([a-zA-Z])(\\d)/g, '$1 $2').replace(/(\\d)([a-zA-Z])/g, '$1 $2');\n }\n });\n es.addEventListener('tool_result', function (e) {\n if (e.data && _this13.messages[msgIdx]) {\n if (!_this13.messages[msgIdx].toolCalls) _this13.messages[msgIdx].toolCalls = [];\n\n _this13.messages[msgIdx].toolCalls.push(e.data);\n\n _this13.scrollToBottom();\n }\n });\n es.addEventListener('agent_result', function (e) {\n finalContent = e.data || '';\n streamDone = true;\n es.close();\n _this13.eventSource = null;\n });\n\n es.onerror = function (err) {\n console.log('[SSE] onerror', err);\n if (thinkingBuffer.length > 0 && !streamDone) finalContent = thinkingBuffer;\n if (!streamDone) finalContent = '❌ 连接中断';\n streamDone = true;\n es.close();\n _this13.eventSource = null;\n };\n\n case 31:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n stopAgent: function stopAgent() {\n if (this.eventSource) {\n this.eventSource.close();\n this.eventSource = null;\n }\n\n if (this.activeSessionId) {\n (0, _apichat.stopStream)(this.activeSessionId).catch(function () {});\n }\n\n if (this.messages.length > 0) {\n var last = this.messages[this.messages.length - 1];\n\n if (last && last.loading) {\n last.content = last.content || last.thinking || '⏹ 已停止';\n last.loading = false;\n this.$delete(this.contentCache, last._key);\n }\n }\n\n this.sending = false;\n this.clearWaitTimer();\n },\n scrollToTop: function scrollToTop() {\n var el = this.$refs.messagesRef;\n if (el) el.scrollTop = 0;\n },\n scrollToBottom: function scrollToBottom() {\n var _this14 = this;\n\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (this.showDownBtn && !force) return;\n this.$nextTick(function () {\n var el = _this14.$refs.messagesRef;\n\n if (el) {\n el.scrollTop = el.scrollHeight;\n _this14.lastScrollTop = el.scrollTop;\n _this14.showDownBtn = false;\n _this14._userScrolledUp = false;\n }\n });\n },\n scrollToBottomOnce: function scrollToBottomOnce() {\n var _this15 = this;\n\n clearTimeout(this._scrollTimer);\n this.$nextTick(function () {\n var tryScroll = function tryScroll() {\n var el = _this15.$refs.messagesRef;\n\n if (!el) {\n _this15._scrollTimer = setTimeout(tryScroll, 50);\n return;\n }\n\n var originalScrollBehavior = el.style.scrollBehavior;\n el.style.scrollBehavior = 'auto';\n el.scrollTop = el.scrollHeight - el.clientHeight;\n el.style.scrollBehavior = originalScrollBehavior;\n _this15.showDownBtn = false;\n _this15._userScrolledUp = false;\n };\n\n tryScroll();\n });\n },\n copyText: function copyText(content) {\n var _this16 = this;\n\n if (!content) return;\n var text = content.replace(/<[^>]+>/g, ''); // 优先使用 Clipboard API(HTTPS 环境)\n\n if (navigator.clipboard && navigator.clipboard.writeText) {\n navigator.clipboard.writeText(text).then(function () {\n _this16.$message({\n message: '已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n }).catch(function () {\n _this16._fallbackCopyText(text);\n });\n } else {\n this._fallbackCopyText(text);\n }\n },\n _fallbackCopyText: function _fallbackCopyText(text) {\n try {\n var ta = document.createElement('textarea');\n ta.value = text;\n ta.style.cssText = 'position:fixed;left:-9999px;top:0;opacity:0';\n document.body.appendChild(ta);\n ta.focus();\n ta.select();\n document.execCommand('copy');\n document.body.removeChild(ta);\n this.$message({\n message: '已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n } catch (_unused3) {\n this.$message({\n message: '复制失败',\n type: 'error',\n duration: 2000\n });\n }\n },\n copyAsImage: function copyAsImage(content) {\n var _this17 = this;\n\n if (!content) return;\n var div = document.createElement('div');\n div.className = 'copy-image-render';\n div.style.cssText = 'position:fixed;left:-9999px;top:0;width:600px;padding:20px;background:#fff;font-size:14px;line-height:1.6;color:#333;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;'; // 内联表格样式(因 Vue 作用域样式不覆盖复制用的脱离文档流 div)\n\n div.innerHTML = this.renderMarkdown(content) + '<style>table{border-collapse:collapse;width:100%;margin:6px 0;font-size:14px}' + 'th,td{border:1px solid #e8e8e8;padding:5px 8px;text-align:left}' + 'th{background:#fafafa;font-weight:600}</style>';\n document.body.appendChild(div);\n this.$message({\n message: '正在生成图片...',\n type: 'info',\n duration: 2000\n });\n (0, _html2canvas.default)(div, {\n scale: 2,\n useCORS: true,\n backgroundColor: '#ffffff'\n }).then(function (canvas) {\n var base64 = canvas.toDataURL('image/png'); // 移动端:调用原生方法保存到本地相册\n\n if (_this17.isMobile) {\n if (_this17.$hybrid && typeof _this17.$hybrid.savePic2Library === 'function') {\n _this17.$hybrid.savePic2Library(base64, function () {\n _this17.$message({\n message: '图片已保存到本地相册',\n type: 'success',\n duration: 1500\n });\n });\n } else {\n // fallback:展示图片让用户长按保存\n _this17.previewImage = base64;\n\n _this17.$message({\n message: '长按图片可保存到本地',\n type: 'info',\n duration: 3000\n });\n }\n\n return;\n } // PC端:复制到剪贴板\n\n\n var canCopyImage = typeof ClipboardItem !== 'undefined' && navigator.clipboard && typeof navigator.clipboard.write === 'function';\n\n if (!canCopyImage) {\n _this17.$message({\n message: '当前浏览器不支持复制图片',\n type: 'warning',\n duration: 3000\n });\n\n return;\n }\n\n canvas.toBlob(function (blob) {\n if (!blob) {\n _this17.$message({\n message: '生成图片失败',\n type: 'error',\n duration: 2000\n });\n\n return;\n }\n\n navigator.clipboard.write([new ClipboardItem({\n 'image/png': blob\n })]).then(function () {\n _this17.$message({\n message: '图片已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n }).catch(function () {\n _this17.$message({\n message: '复制失败,请重试',\n type: 'error',\n duration: 2000\n });\n });\n }, 'image/png');\n }).catch(function () {\n _this17.$message({\n message: '生成图片失败',\n type: 'error',\n duration: 2000\n });\n }).finally(function () {\n document.body.removeChild(div);\n });\n }\n }\n};\nexports.default = _default2;\n\n//# sourceURL=webpack://ZjPluginIntelligent/./src/lib/components/chatMain/ChatDetail.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
840
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\"));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2 */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n\nvar _createForOfIteratorHelper2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper */ \"./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\"));\n\nvar _markdownIt = _interopRequireDefault(__webpack_require__(/*! markdown-it */ \"./node_modules/markdown-it/index.mjs\"));\n\n__webpack_require__(/*! @jboltai/tokui/dist/tokui.css */ \"./node_modules/@jboltai/tokui/dist/tokui.css\");\n\nvar _apichat = __webpack_require__(/*! @lib/api/apichat */ \"./src/lib/api/apichat.js\");\n\nvar _index = __webpack_require__(/*! @lib/socket/fileManager/obs/index */ \"./src/lib/socket/fileManager/obs/index.js\");\n\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @lib/socket/utils/index */ \"./src/lib/socket/utils/index.js\"));\n\nvar _cookie = __webpack_require__(/*! @lib/utils/cookie.js */ \"./src/lib/utils/cookie.js\");\n\nvar _apiObs = _interopRequireDefault(__webpack_require__(/*! @lib/api/apiObs */ \"./src/lib/api/apiObs.js\"));\n\nvar _html2canvas = _interopRequireDefault(__webpack_require__(/*! html2canvas */ \"./node_modules/html2canvas/dist/html2canvas.esm.js\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar resolveTokUIConstructor = function resolveTokUIConstructor() {\n if (typeof window !== 'undefined') {\n var _window$globalThis;\n\n var runtime = window.TokUI || ((_window$globalThis = window.globalThis) === null || _window$globalThis === void 0 ? void 0 : _window$globalThis.TokUI);\n\n if (runtime) {\n var _runtime$default;\n\n return runtime.TokUI || ((_runtime$default = runtime.default) === null || _runtime$default === void 0 ? void 0 : _runtime$default.TokUI) || runtime.default || runtime;\n }\n }\n\n try {\n if (true) {\n var _runtime = __webpack_require__(/*! @jboltai/tokui/dist/tokui.umd.js */ \"./node_modules/@jboltai/tokui/dist/tokui.umd.js\");\n\n if (_runtime) {\n var _runtime$default2;\n\n return _runtime.TokUI || ((_runtime$default2 = _runtime.default) === null || _runtime$default2 === void 0 ? void 0 : _runtime$default2.TokUI) || _runtime.default || _runtime;\n }\n }\n } catch (e) {// ignore and continue to package entry fallback\n }\n\n try {\n if (true) {\n var _runtime2 = __webpack_require__(/*! @jboltai/tokui */ \"./node_modules/@jboltai/tokui/dist/tokui.mjs\");\n\n if (_runtime2) {\n var _runtime2$default;\n\n return _runtime2.TokUI || ((_runtime2$default = _runtime2.default) === null || _runtime2$default === void 0 ? void 0 : _runtime2$default.TokUI) || _runtime2.default || _runtime2;\n }\n }\n } catch (e) {// ignore and leave unresolved\n }\n\n return null;\n};\n\nvar md = new _markdownIt.default({\n breaks: true,\n html: false,\n linkify: true,\n typographer: true\n});\nmd.enable('table');\nvar _default2 = {\n name: 'ChatDetail',\n props: {\n isMobile: {\n type: Boolean,\n default: false\n },\n activeSessionId: {\n type: String,\n default: ''\n },\n currentAgent: {\n type: String,\n default: ''\n },\n agentInfo: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n currentAgentDesc: {\n type: String,\n default: ''\n },\n showSidebar: {\n type: Boolean,\n default: false\n },\n showH5List: {\n type: Boolean,\n default: false\n },\n showAgentSelect: {\n type: Boolean,\n default: false\n },\n agentList: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n messages: [],\n inputText: '',\n sending: false,\n waitTimer: null,\n waitSeconds: 0,\n canceling: false,\n msgPage: 1,\n msgMaxPage: 1,\n msgTotal: 0,\n eventSource: null,\n showToolInfo: false,\n showDownBtn: false,\n lastScrollTop: 0,\n scrollTimer: null,\n contentCache: {},\n loadingSessionMsg: false,\n greeting: '',\n _scrollTimer: null,\n _userScrolledUp: false,\n voiceMode: false,\n isRecording: false,\n recordDuration: 0,\n recordingTimer: null,\n audioContext: null,\n audioStream: null,\n audioProcessor: null,\n audioChunks: [],\n audioSampleRate: 16000,\n isCancelSwipe: false,\n recordStartY: 0,\n _pendingSendText: null\n };\n },\n computed: {\n waitClass: function waitClass() {\n if (this.waitSeconds > 15) return 'wait-15';\n if (this.waitSeconds > 10) return 'wait-10';\n if (this.waitSeconds > 5) return 'wait-5';\n return '';\n },\n currentAgentName: function currentAgentName() {\n var _this = this;\n\n if (!this.currentAgent) return '';\n var a = this.agentList.find(function (x) {\n return x.agentCode === _this.currentAgent;\n });\n return a ? a.agentName || a.agentCode : this.currentAgent;\n }\n },\n watch: {\n contentCache: {\n handler: function handler(val) {// 保持响应性\n },\n immediate: true\n },\n activeSessionId: function activeSessionId(val) {\n var _this2 = this;\n\n if (val && this._pendingSendText) {\n var text = this._pendingSendText;\n this._pendingSendText = null;\n this.$nextTick(function () {\n return _this2._sendMessage(text);\n });\n }\n },\n messages: {\n handler: function handler() {\n var _this3 = this;\n\n this.$nextTick(function () {\n return _this3._renderTokuiMessages();\n });\n },\n deep: true\n }\n },\n mounted: function mounted() {\n var _this4 = this;\n\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', this.onViewportResize, {\n passive: true\n });\n }\n\n this.$nextTick(function () {\n _this4._renderTokuiMessages();\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (window.visualViewport) {\n window.visualViewport.removeEventListener('resize', this.onViewportResize);\n }\n\n this.releaseAudio();\n this.contentCache = {};\n clearTimeout(this._scrollTimer);\n\n if (this.eventSource) {\n this.eventSource.onerror = null;\n this.eventSource.close();\n this.eventSource = null;\n }\n\n if (this.waitTimer) {\n clearInterval(this.waitTimer);\n this.waitTimer = null;\n }\n\n if (this._typeTimer) {\n clearInterval(this._typeTimer);\n this._typeTimer = null;\n }\n },\n methods: {\n getInitial: function getInitial(name) {\n if (!name) return '?';\n return name.charAt(0);\n },\n formatTime: function formatTime(t) {\n if (!t) return '';\n var d = new Date(t.replace(' ', 'T'));\n var now = new Date();\n var diff = (now - d) / 1000;\n if (diff < 60) return '刚刚';\n if (diff < 3600) return Math.floor(diff / 60) + '分钟前';\n if (diff < 86400) return Math.floor(diff / 3600) + '小时前';\n return d.getMonth() + 1 + '/' + d.getDate();\n },\n escapeHtml: function escapeHtml(text) {\n if (!text) return '';\n return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n },\n renderMarkdown: function renderMarkdown(text) {\n if (!text) return '';\n\n try {\n return md.render(text);\n } catch (err) {\n return this.escapeHtml(text);\n }\n },\n renderStreaming: function renderStreaming(text, msgKey) {\n if (!text) return '';\n var cache = this.contentCache[msgKey];\n var lines = text.split('\\n');\n var lastLineIdx = lines.length - 1;\n\n if (!cache) {\n try {\n var html = md.render(text);\n this.$set(this.contentCache, msgKey, {\n renderedLines: lastLineIdx,\n html: html,\n fullText: text\n });\n return html;\n } catch (_unused) {\n return this.escapeHtml(text);\n }\n }\n\n if (text === cache.fullText) return cache.html;\n cache.fullText = text; // 行数没变,仅末尾追加字符,直接拼接尾行\n\n if (lastLineIdx === cache.renderedLines) {\n return cache.html + this.escapeHtml(lines[lastLineIdx]);\n } // 场景1:行数变少/文本回退截断,全量重渲染\n\n\n if (lastLineIdx < cache.renderedLines) {\n try {\n var fullLines = lines.slice(0, lastLineIdx);\n var newBaseHtml = '';\n\n if (fullLines.length > 0) {\n newBaseHtml = md.render(fullLines.join('\\n'));\n }\n\n cache.html = newBaseHtml;\n cache.renderedLines = lastLineIdx;\n\n var _lastLine = this.escapeHtml(lines[lastLineIdx]);\n\n return cache.html + (_lastLine || '');\n } catch (_unused2) {\n return this.escapeHtml(text);\n }\n } // 场景2:新增完整行\n\n\n if (cache.renderedLines < lastLineIdx) {\n var allFullLines = lines.slice(0, lastLineIdx);\n var _newBaseHtml = '';\n\n if (allFullLines.length > 0) {\n _newBaseHtml = md.render(allFullLines.join('\\n'));\n }\n\n cache.html = _newBaseHtml;\n cache.renderedLines = lastLineIdx;\n }\n\n var lastLine = this.escapeHtml(lines[lastLineIdx]);\n cache.renderedLines = lastLineIdx;\n return cache.html + (lastLine || '');\n },\n getChatAvatarStyle: function getChatAvatarStyle(agent, avatar) {\n if (avatar) {\n return {\n backgroundImage: \"url(\".concat(avatar, \")\"),\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n };\n }\n\n var _agent = this.agentList.find(function (x) {\n return x.agentCode === agent;\n });\n\n if (_agent && _agent.avatar) {\n return {\n backgroundImage: \"url(\".concat(_agent.avatar, \")\"),\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n };\n } // 没有网络图片时,根据智能体在 agentList 中的索引位置决定颜色\n\n\n var index = this.agentList.findIndex(function (item) {\n return item.agentCode === agent;\n });\n\n if (index !== -1) {\n var colorIndex = index % 4 + 1;\n return {\n background: this.getGradientByColorIndex(colorIndex)\n };\n }\n\n return {\n background: 'linear-gradient(135deg, #1677ff, #4096ff)'\n };\n },\n getGradientByColorIndex: function getGradientByColorIndex(index) {\n var gradients = {\n 1: 'linear-gradient(135deg, #1677ff, #4096ff)',\n 2: 'linear-gradient(135deg, #52c41a, #73d13d)',\n 3: 'linear-gradient(135deg, #fa8c16, #ffa940)',\n 4: 'linear-gradient(135deg, #722ed1, #b37feb)'\n };\n return gradients[index] || gradients[1];\n },\n sendQuickMsg: function sendQuickMsg(message) {\n if (message) {\n this.inputText = message;\n this.sendMessage();\n }\n },\n formatMixText: function formatMixText(str) {\n if (!str) return '';\n var res = str.replace(/([a-zA-Z0-9])([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z0-9])/g, '$1 $2');\n res = res.replace(/([a-z])([A-Z])/g, '$1 $2');\n return res;\n },\n // 检测是否滚动到底部,控制向下箭头显示隐藏\n checkScrollBottom: function checkScrollBottom() {\n var forceShowWhenNotBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var el = this.$refs.messagesRef;\n\n if (!el) {\n this.showDownBtn = false;\n return;\n }\n\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop,\n clientHeight = el.clientHeight;\n var remain = scrollHeight - scrollTop - clientHeight;\n var atBottom = remain <= 80; // 检测用户是否主动向上滚动(远离底部)\n\n if (remain > 80 && scrollTop < this.lastScrollTop) {\n this._userScrolledUp = true;\n }\n\n if (atBottom) {\n this._userScrolledUp = false;\n this.showDownBtn = false;\n } else if (this._userScrolledUp) {\n // 用户已主动上滚,保持显示\"到底部\"按钮,不自动回滚\n this.showDownBtn = true;\n } else if (this.sending && scrollTop >= this.lastScrollTop && !forceShowWhenNotBottom) {\n this.showDownBtn = false;\n } else {\n this.showDownBtn = true;\n }\n\n this.lastScrollTop = scrollTop;\n this.$emit('scroll-bottom-check', {\n showDownBtn: this.showDownBtn,\n lastScrollTop: this.lastScrollTop\n });\n },\n // H5 输入框获取焦点 - 滚动到底部让键盘不遮挡\n onInputFocus: function onInputFocus() {\n if (!this.isMobile) return;\n setTimeout(function () {\n window.scrollTo(0, document.body.scrollHeight);\n }, 300);\n },\n // visualViewport 变化时(如键盘弹出)调整滚动位置\n onViewportResize: function onViewportResize() {\n if (!this.isMobile) return;\n var activeEl = document.activeElement;\n\n if (activeEl && (activeEl.tagName === 'TEXTAREA' || activeEl.tagName === 'INPUT')) {\n window.scrollTo(0, document.body.scrollHeight);\n }\n },\n autoResizeTextarea: function autoResizeTextarea() {\n var _this5 = this;\n\n var ta = this.$refs.taRef;\n if (!ta) return;\n var isMobile = this.isMobile;\n var baseH = isMobile ? 36 : 100;\n var maxH = isMobile ? 100 : 180;\n ta.style.height = \"\".concat(baseH, \"px\");\n var realH = ta.scrollHeight;\n\n if (realH > baseH) {\n ta.style.height = \"\".concat(Math.min(realH, maxH), \"px\");\n }\n\n this.$nextTick(function () {\n _this5.checkScrollBottom(true);\n });\n },\n // Ctrl+Enter换行\n newLine: function newLine(e) {\n var _this6 = this;\n\n e.preventDefault();\n var ta = this.$refs.taRef;\n var start = ta.selectionStart;\n var end = ta.selectionEnd;\n this.inputText = this.inputText.slice(0, start) + '\\n' + this.inputText.slice(end);\n this.$nextTick(function () {\n ta.selectionStart = ta.selectionEnd = start + 1;\n\n _this6.autoResizeTextarea();\n });\n },\n toggleVoiceMode: function toggleVoiceMode() {\n var _this7 = this;\n\n if (this.voiceMode) {\n this.voiceMode = false;\n this.releaseAudio();\n return;\n } // 进入语音模式前提前请求麦克风权限,避免触摸时异步弹窗导致 touchend 丢失\n\n\n this.ensureAudioReady().then(function (ready) {\n if (ready) {\n _this7.voiceMode = true;\n } else {\n _this7.voiceMode = false;\n }\n });\n },\n // 确保音频设备已就绪\n ensureAudioReady: function ensureAudioReady() {\n var _this8 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var stream, audioContext, source, processor;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(_this8.audioContext && _this8.audioStream)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", true);\n\n case 2:\n if (!(!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia)) {\n _context.next = 5;\n break;\n }\n\n alert('当前环境不支持麦克风访问');\n return _context.abrupt(\"return\", false);\n\n case 5:\n _context.prev = 5;\n _context.next = 8;\n return navigator.mediaDevices.getUserMedia({\n audio: true\n });\n\n case 8:\n stream = _context.sent;\n _this8.audioStream = stream;\n audioContext = new (window.AudioContext || window.webkitAudioContext)(); // iOS 上 AudioContext 默认 suspended,需要手动 resume\n\n if (!(audioContext.state === 'suspended')) {\n _context.next = 14;\n break;\n }\n\n _context.next = 14;\n return audioContext.resume();\n\n case 14:\n _this8.audioContext = audioContext; // 采集实际采样率(iOS 会忽略 sampleRate 参数,使用硬件采样率)\n\n _this8.audioSampleRate = audioContext.sampleRate || 16000;\n source = audioContext.createMediaStreamSource(stream); // 保存 source 引用到实例,防止 iOS Safari 垃圾回收导致音频处理中断\n\n _this8.audioSource = source;\n processor = audioContext.createScriptProcessor(4096, 1, 1);\n _this8.audioProcessor = processor; // iOS 上 onaudioprocess 可能先于 isRecording=true 触发\n // 因此不依赖 isRecording 过滤,由外部控制 audioChunks 的清零时机\n\n processor.onaudioprocess = function (e) {\n var inputData = e.inputBuffer.getChannelData(0);\n\n _this8.audioChunks.push(new Float32Array(inputData));\n };\n\n source.connect(processor);\n processor.connect(audioContext.destination);\n return _context.abrupt(\"return\", true);\n\n case 26:\n _context.prev = 26;\n _context.t0 = _context[\"catch\"](5);\n console.error('麦克风访问失败:', _context.t0);\n alert('麦克风权限被拒绝');\n return _context.abrupt(\"return\", false);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 26]]);\n }))();\n },\n // H5语音录制 - 触摸开始\n onRecordTouchStart: function onRecordTouchStart(e) {\n var _this9 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var ready;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!_this9.sending) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.next = 4;\n return _this9.ensureAudioReady();\n\n case 4:\n ready = _context2.sent;\n\n if (ready) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 7:\n _this9.isCancelSwipe = false;\n _this9.recordStartY = e.touches[0].clientY;\n _this9.recordDuration = 0;\n _this9.audioChunks = [];\n _this9.isRecording = true;\n _this9.recordingTimer = setInterval(function () {\n _this9.recordDuration++;\n\n if (_this9.recordDuration >= 60) {\n _this9.onRecordTouchEnd();\n }\n }, 1000);\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // H5语音录制 - 触摸移动\n onRecordTouchMove: function onRecordTouchMove(e) {\n if (!this.isRecording) return;\n var touch = e.touches[0];\n var moveY = touch.clientY;\n var cancelThreshold = 60;\n this.isCancelSwipe = this.recordStartY - moveY > cancelThreshold;\n },\n // H5语音录制 - 触摸结束\n onRecordTouchEnd: function onRecordTouchEnd() {\n if (!this.isRecording) return;\n this.isRecording = false;\n\n if (this.recordingTimer) {\n clearInterval(this.recordingTimer);\n this.recordingTimer = null;\n }\n\n this.stopAudioCapture(!this.isCancelSwipe);\n },\n // 停止音频采集并输出 WAV\n stopAudioCapture: function stopAudioCapture(shouldSend) {\n this.isRecording = false;\n\n if (shouldSend && this.audioChunks.length > 0) {\n var wavBlob = this.encodePCMToWav(this.audioChunks, this.audioSampleRate || 16000);\n this.sendAudioBlob(wavBlob);\n }\n\n this.audioChunks = [];\n },\n // 取消录音\n cancelRecording: function cancelRecording() {\n this.isRecording = false;\n\n if (this.recordingTimer) {\n clearInterval(this.recordingTimer);\n this.recordingTimer = null;\n }\n\n this.recordDuration = 0;\n this.isCancelSwipe = false;\n this.audioChunks = [];\n },\n // 释放音频资源\n releaseAudio: function releaseAudio() {\n this.cancelRecording();\n\n if (this.audioProcessor) {\n this.audioProcessor.disconnect();\n this.audioProcessor = null;\n }\n\n if (this.audioSource) {\n this.audioSource.disconnect();\n this.audioSource = null;\n }\n\n if (this.audioContext) {\n this.audioContext.close().catch(function () {});\n this.audioContext = null;\n }\n\n if (this.audioStream) {\n this.audioStream.getTracks().forEach(function (t) {\n return t.stop();\n });\n this.audioStream = null;\n }\n },\n // 将 Float32 PCM 数据编码为 WAV Blob\n encodePCMToWav: function encodePCMToWav(chunks, sampleRate) {\n var totalLength = 0;\n\n var _iterator = (0, _createForOfIteratorHelper2.default)(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n totalLength += chunk.length;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var pcmData = new Int16Array(totalLength);\n var offset = 0;\n\n var _iterator2 = (0, _createForOfIteratorHelper2.default)(chunks),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _chunk = _step2.value;\n\n for (var i = 0; i < _chunk.length; i++) {\n var s = Math.max(-1, Math.min(1, _chunk[i]));\n pcmData[offset++] = s < 0 ? s * 0x8000 : s * 0x7FFF;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var numChannels = 1;\n var bitsPerSample = 16;\n var byteRate = sampleRate * numChannels * bitsPerSample / 8;\n var blockAlign = numChannels * bitsPerSample / 8;\n var dataSize = pcmData.length * (bitsPerSample / 8);\n var headerSize = 44;\n var totalSize = headerSize + dataSize;\n var buffer = new ArrayBuffer(totalSize);\n var view = new DataView(buffer);\n\n this._wavWriteString(view, 0, 'RIFF');\n\n view.setUint32(4, totalSize - 8, true);\n\n this._wavWriteString(view, 8, 'WAVE');\n\n this._wavWriteString(view, 12, 'fmt ');\n\n view.setUint32(16, 16, true);\n view.setUint16(20, 1, true);\n view.setUint16(22, numChannels, true);\n view.setUint32(24, sampleRate, true);\n view.setUint32(28, byteRate, true);\n view.setUint16(32, blockAlign, true);\n view.setUint16(34, bitsPerSample, true);\n\n this._wavWriteString(view, 36, 'data');\n\n view.setUint32(40, dataSize, true);\n var pcmView = new Int16Array(buffer, headerSize, pcmData.length);\n pcmView.set(pcmData);\n return new Blob([buffer], {\n type: 'audio/wav'\n });\n },\n _wavWriteString: function _wavWriteString(view, offset, str) {\n for (var i = 0; i < str.length; i++) {\n view.setUint8(offset + i, str.charCodeAt(i));\n }\n },\n // 发送音频\n sendAudioBlob: function sendAudioBlob(blob) {\n var appSeqId = _index2.default.getAppSeqId();\n\n var name = appSeqId + '.wav';\n var file = new File([blob], name, {\n type: 'audio/wav'\n });\n this.sendAudioMessage(file);\n },\n sendAudioMessage: function sendAudioMessage(file) {\n var _this10 = this;\n\n var sttKey = 'stt_' + Date.now();\n var sttMsg = {\n role: 'user',\n content: '转化中...',\n _sttStatus: 'pending',\n _sttKey: sttKey,\n createTime: new Date().toISOString(),\n _key: sttKey\n };\n this.messages.push(sttMsg);\n this.scrollToBottom(true);\n (0, _index.fileUploadToObs)({\n _file: file,\n appSeqId: file.name\n }).then(function (resp) {\n if (resp.CommonMsg.Status === 200) {\n return _apiObs.default.aliAudioToText({\n url: resp.obs_upload_data.obsUrl\n }).then(function (result) {\n if (result.code === '200' && result.data) {\n var idx = _this10.messages.findIndex(function (m) {\n return m._sttKey === sttKey;\n });\n\n if (idx !== -1) {\n _this10.messages.splice(idx, 1);\n }\n\n _this10.sendQuickMsg(result.data);\n } else {\n throw new Error(result.msg || '语音转文字失败');\n }\n });\n } else {\n throw new Error(resp.CommonMsg.Message || '文件上传失败');\n }\n }).catch(function (err) {\n console.error('语音转文字失败:', err);\n\n var idx = _this10.messages.findIndex(function (m) {\n return m._sttKey === sttKey;\n });\n\n if (idx !== -1) {\n _this10.$set(_this10.messages, idx, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _this10.messages[idx]), {}, {\n _sttStatus: 'error',\n content: '语音转文字失败'\n }));\n }\n\n _this10.$message.error('语音转文字失败');\n });\n this.$message.success(\"\\u5F55\\u97F3\\u5B8C\\u6210 (\".concat(this.recordDuration, \"s)\"));\n },\n clearWaitTimer: function clearWaitTimer() {\n if (this.waitTimer) {\n clearInterval(this.waitTimer);\n this.waitTimer = null;\n }\n },\n loadMoreMessages: function loadMoreMessages() {\n var _this11 = this;\n\n var nextPage = this.msgPage + 1;\n var maxPage = Math.ceil(this.msgTotal / 10);\n\n if (nextPage > maxPage) {\n this.loadingMore = false;\n return;\n }\n\n (0, _apichat.getSessionMessages)(this.activeSessionId, nextPage, 10).then(function (res) {\n var list = Array.isArray(res) ? res : res.list || [];\n _this11.msgPage = nextPage;\n var asAsc = (list || []).slice().reverse();\n var prepend = asAsc.map(function (m) {\n return {\n role: m.role,\n content: m.content || '',\n thinking: m.thinking || '',\n toolCalls: [],\n agentName: '',\n createTime: m.createTime || null,\n _key: m.createTime ? 'msg_' + m.createTime : 'msg_' + Date.now() + '_' + Math.random(),\n // 历史消息中如果包含 ```tokui 标记或以 TokUI 标签开头,自动启用 TokUI 渲染\n _hasTokui: m.role === 'assistant' && m.content && (/```tokui/.test(m.content) || /^\\s*\\[(card|row|list|table|callout|desc|dv|ft)\\b/.test(m.content.trim()))\n };\n });\n var container = _this11.$refs.messagesRef;\n var oldScrollHeight = container ? container.scrollHeight : 0;\n var oldScrollTop = container ? container.scrollTop : 0;\n _this11.messages = [].concat((0, _toConsumableArray2.default)(prepend), (0, _toConsumableArray2.default)(_this11.messages));\n\n _this11.$nextTick(function () {\n if (container) {\n container.scrollTop = oldScrollTop + (container.scrollHeight - oldScrollHeight);\n }\n\n _this11.loadingMore = false;\n });\n }).catch(function () {\n _this11.loadingMore = false;\n });\n },\n onScrollMessages: function onScrollMessages() {\n var container = this.$refs.messagesRef;\n if (!container || this.loadingMore) return;\n var isAtBottom = container.scrollTop + container.clientHeight >= container.scrollHeight - 100;\n this.checkScrollBottom();\n if (isAtBottom) return;\n\n if (container.scrollTop < 50 && this.msgPage < Math.ceil(this.msgTotal / 10)) {\n this.loadingMore = true;\n this.loadMoreMessages();\n }\n },\n // 检测内容是否为纯 TokUI DSL(无 ```tokui 围栏,直接以 TokUI 标签开头)\n _isPureTokuiDsl: function _isPureTokuiDsl(text) {\n if (!text) return false;\n return /^\\s*\\[(card|row|list|table|callout|desc|dv|ft)\\b/.test(text.trim());\n },\n // 提取 ```tokui 代码块中的 DSL,返回混合内容片段数组\n // 每项: { type: 'md' | 'dsl', content: string }\n _extractTokuiDsl: function _extractTokuiDsl(text) {\n if (!text) return [{\n type: 'md',\n content: ''\n }]; // 纯 TokUI DSL(无 ```tokui 围栏):整个内容作为 DSL 处理\n\n if (this._isPureTokuiDsl(text)) {\n return [{\n type: 'dsl',\n content: text.trim()\n }];\n }\n\n var parts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var lastIndex = 0;\n var match;\n\n while ((match = re.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push({\n type: 'md',\n content: text.substring(lastIndex, match.index)\n });\n }\n\n var dsl = match[1].trim();\n if (dsl) parts.push({\n type: 'dsl',\n content: dsl\n });\n lastIndex = match.index + match[0].length;\n }\n\n if (lastIndex < text.length) {\n parts.push({\n type: 'md',\n content: text.substring(lastIndex)\n });\n }\n\n return parts;\n },\n // 全文本增量流式 feed TokUI(参考项目方式)\n _streamTokui: function _streamTokui(msg, fullText) {\n if (!msg._tokuiStream) return; // 动态判断当前内容是否为纯 TokUI DSL\n\n var isPureDsl = this._isPureTokuiDsl(fullText); // 如果内容模式发生了变化,重置增量追踪\n\n\n if (msg._tokuiPureDsl !== isPureDsl) {\n msg._tokuiPureDsl = isPureDsl;\n msg._prevMdLen = 0;\n msg._prevDslLen = 0;\n msg._dslBuffer = '';\n }\n\n var dsl = '';\n var md = '';\n\n if (isPureDsl) {\n // 纯 DSL:整个内容为 DSL\n dsl = fullText;\n } else {\n // 混合内容:从 ```tokui 围栏中提取 DSL\n var dslParts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var match;\n\n while ((match = re.exec(fullText)) !== null) {\n var inner = match[1].trim();\n if (inner) dslParts.push(inner);\n } // 处理末尾未闭合的 ```tokui(流式场景)\n\n\n var lastIdx = re.lastIndex;\n var remaining = fullText.substring(lastIdx);\n var openIdx = remaining.lastIndexOf('```tokui');\n\n if (openIdx >= 0) {\n var dslPart = remaining.substring(openIdx + 8);\n if (dslPart.charCodeAt(0) === 10) dslPart = dslPart.substring(1);\n if (dslPart) dslParts.push(dslPart);\n }\n\n dsl = dslParts.join('\\n'); // 移除所有代码围栏得到纯 Markdown\n\n md = fullText.replace(/```[\\s\\S]*?(```|$)/g, '');\n } // Feed Markdown 增量\n\n\n if (md) {\n var prevMdLen = msg._prevMdLen || 0;\n\n if (md.length > prevMdLen) {\n var newMd = md.substring(prevMdLen);\n msg._prevMdLen = md.length;\n\n if (!msg._mdTagOpen) {\n msg._tokuiStream.feed('[md]\\n');\n\n msg._mdTagOpen = true;\n }\n\n msg._tokuiStream.feed(newMd);\n }\n } // Feed DSL 增量\n\n\n if (dsl) {\n var prevDslLen = msg._prevDslLen || 0;\n\n if (dsl.length > prevDslLen) {\n var newDsl = dsl.substring(prevDslLen);\n msg._prevDslLen = dsl.length;\n\n if (msg._mdTagOpen) {\n msg._tokuiStream.feed('[/md]\\n');\n\n msg._mdTagOpen = false;\n } // 逐行 feed DSL,缓冲未完成行\n\n\n msg._dslBuffer = (msg._dslBuffer || '') + newDsl;\n\n var lines = msg._dslBuffer.split('\\n');\n\n for (var i = 0; i < lines.length - 1; i++) {\n msg._tokuiStream.feed(lines[i] + '\\n');\n }\n\n msg._dslBuffer = lines[lines.length - 1];\n }\n }\n },\n // 渲染历史消息中的 TokUI 内容(仅在 TokUI 可用时执行)\n _renderTokuiMessages: function _renderTokuiMessages() {\n var _this12 = this;\n\n var TokUIConstructor = resolveTokUIConstructor();\n if (!TokUIConstructor) return;\n var container = this.$refs.messagesRef;\n if (!container) return;\n var allRows = container.querySelectorAll('.msg-row');\n allRows.forEach(function (row, idx) {\n var msg = _this12.messages[idx];\n if (!msg || !msg._hasTokui) return; // 已通过流式渲染完成的消息,跳过(防止 endStream 后 watcher 触发重复渲染)\n\n if (msg._tokuiRendered) return;\n if (msg.loading || !msg.content || msg._tokuiStream) return;\n var tokuiDiv = row.querySelector('.tokui-stream');\n if (!tokuiDiv) return; // 清除旧内容和状态(DOM 复用 + 流式残留)\n\n tokuiDiv.innerHTML = '';\n tokuiDiv.classList.remove('tokui-streaming');\n tokuiDiv.style.display = 'block';\n\n try {\n var ui = new TokUIConstructor({\n container: tokuiDiv\n }); // ── 与 _streamTokui 完全一致的提取逻辑(含未闭合围栏处理) ──\n\n var text = msg.content;\n\n var isPureDsl = _this12._isPureTokuiDsl(text);\n\n var dsl = '';\n var md = '';\n\n if (isPureDsl) {\n dsl = text;\n } else {\n var dslParts = [];\n var re = /```tokui\\s*\\n?([\\s\\S]*?)```/g;\n var match;\n\n while ((match = re.exec(text)) !== null) {\n var inner = match[1].trim();\n if (inner) dslParts.push(inner);\n } // 处理未闭合的 ```tokui(与流式一致)\n\n\n var lastIdx = re.lastIndex;\n var remaining = text.substring(lastIdx);\n var openIdx = remaining.lastIndexOf('```tokui');\n\n if (openIdx >= 0) {\n var dslPart = remaining.substring(openIdx + 8);\n if (dslPart.charCodeAt(0) === 10) dslPart = dslPart.substring(1);\n if (dslPart) dslParts.push(dslPart);\n }\n\n dsl = dslParts.join('\\n');\n md = text.replace(/```[\\s\\S]*?(```|$)/g, '');\n } // ── 与流式完全一致的 feed 顺序和方式 ──\n\n\n ui.startStream(); // Feed Markdown\n\n if (md && md.trim()) {\n ui.feed('[md]\\n');\n ui.feed(md);\n ui.feed('[/md]\\n');\n } // Feed DSL 逐行(与流式 _streamTokui 完全一致)\n\n\n if (dsl) {\n var dslLines = dsl.split('\\n');\n\n for (var i = 0; i < dslLines.length; i++) {\n ui.feed(dslLines[i] + '\\n');\n }\n }\n\n ui.endStream();\n tokuiDiv._tokuiRendered = true;\n\n _this12.$set(msg, '_tokuiRendered', true);\n } catch (e) {\n console.error('[TokUI] render error:', e);\n tokuiDiv.textContent = msg.content;\n }\n });\n },\n sendMessage: function sendMessage() {\n var _this13 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var text;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n text = _this13.inputText.trim();\n\n if (!(!text || _this13.sending)) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\");\n\n case 3:\n if (!(text.length > 300)) {\n _context3.next = 6;\n break;\n }\n\n _this13.$message({\n message: '消息内容不能超过300字',\n type: 'warning',\n duration: 2000\n });\n\n return _context3.abrupt(\"return\");\n\n case 6:\n if (_this13.activeSessionId) {\n _context3.next = 10;\n break;\n }\n\n _this13.$emit('start-session');\n\n _this13._pendingSendText = text;\n return _context3.abrupt(\"return\");\n\n case 10:\n _this13._sendMessage(text);\n\n case 11:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n _sendMessage: function _sendMessage(text) {\n var _this14 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var ta, isMobile, baseH, agentName, msgIdx, thinkingBuffer, finalContent, answerBuffer, thinkDisplayed, typeTimer, streamDone, url, es;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this14.inputText = '';\n ta = _this14.$refs.taRef;\n isMobile = _this14.isMobile;\n baseH = isMobile ? 36 : 100;\n\n if (ta) {\n ta.style.height = baseH + 'px';\n }\n\n _this14.showDownBtn = false;\n\n _this14.messages.push({\n role: 'user',\n content: text,\n createTime: new Date().toISOString(),\n _key: 'user_' + Date.now() + '_' + Math.random()\n });\n\n agentName = _this14.currentAgentName;\n msgIdx = _this14.messages.push({\n role: \"assistant\",\n content: \"\",\n thinking: \"\",\n loading: true,\n toolCalls: [],\n agentName: agentName,\n createTime: new Date().toISOString(),\n _key: 'asst_' + Date.now() + '_' + Math.random()\n }) - 1;\n\n _this14.scrollToBottom(true);\n\n _this14.sending = true;\n _this14.waitSeconds = 0;\n if (_this14.waitTimer) clearInterval(_this14.waitTimer);\n _this14.waitTimer = setInterval(function () {\n _this14.waitSeconds++;\n }, 1000);\n thinkingBuffer = '';\n finalContent = '';\n answerBuffer = '';\n thinkDisplayed = 0;\n typeTimer = null;\n streamDone = false;\n typeTimer = setInterval(function () {\n if (!_this14.messages[msgIdx]) return; // Phase 1: 逐字展示思考内容\n\n if (thinkDisplayed < thinkingBuffer.length) {\n thinkDisplayed += 50;\n if (thinkDisplayed > thinkingBuffer.length) thinkDisplayed = thinkingBuffer.length;\n _this14.messages[msgIdx].thinking = thinkingBuffer.substring(0, thinkDisplayed);\n\n _this14.scrollToBottom();\n } // Phase 2: 渲染答案内容\n\n\n var msg = _this14.messages[msgIdx]; // TokUI 活跃期间始终用 answerBuffer(避免 finalContent 带 ```tokui 围栏导致内容跳变)\n\n var target = msg._tokuiStream ? answerBuffer : finalContent || answerBuffer;\n var prevLen = msg._tokuiPrevLen || 0;\n\n if (target.length > prevLen) {\n msg._tokuiPrevLen = target.length; // 检测内容是否包含 TokUI 标记(```tokui 围栏 或 纯 DSL 标签开头)\n\n var hasTokuiMarker = msg._tokuiStream || _this14._isPureTokuiDsl(target) || target.indexOf('```tokui') !== -1;\n\n if (hasTokuiMarker && !msg._hasTokuiFailed) {\n // ── TokUI 路径 ──\n if (!msg._tokuiStream) {\n var container = _this14.$refs.messagesRef;\n\n if (container) {\n var rows = container.querySelectorAll('.msg-row.assistant');\n var lastRow = rows[rows.length - 1];\n var tokuiDiv = lastRow === null || lastRow === void 0 ? void 0 : lastRow.querySelector('.tokui-stream');\n var TokUIConstructor = resolveTokUIConstructor();\n\n if (tokuiDiv && TokUIConstructor) {\n try {\n msg._tokuiDiv = tokuiDiv;\n msg._tokuiStream = new TokUIConstructor({\n container: tokuiDiv\n });\n\n msg._tokuiStream.startStream();\n\n tokuiDiv.classList.add('tokui-streaming');\n msg._tokuiPureDsl = _this14._isPureTokuiDsl(target);\n msg._mdTagOpen = false;\n msg._prevMdLen = 0;\n msg._prevDslLen = 0;\n msg._dslBuffer = '';\n\n _this14.$set(msg, '_hasTokui', true);\n } catch (e) {\n console.error('[TokUI] init error:', e);\n msg._hasTokuiFailed = true;\n msg._tokuiStream = null;\n }\n } else {\n msg._hasTokuiFailed = true;\n }\n }\n }\n\n if (msg._tokuiStream) {\n _this14._streamTokui(msg, target);\n } else if (msg._hasTokuiFailed) {\n // TokUI 初始化失败,回退到普通渲染\n msg.content = target;\n }\n } else {\n // ── 普通渲染路径(保持原有逻辑不变)──\n msg.content = target;\n }\n\n _this14.scrollToBottom();\n\n return;\n } // Phase 3: 流结束 → 收尾\n\n\n if (streamDone) {\n clearInterval(typeTimer);\n typeTimer = null;\n var key = _this14.messages[msgIdx]._key;\n\n if (key) {\n _this14.$delete(_this14.contentCache, key);\n\n _this14.$delete(_this14.contentCache, key + '_t');\n }\n\n if (msg._tokuiStream) {\n // TokUI 路径:关闭 [md] 标签、刷新 DSL 缓冲区、结束流\n try {\n if (msg._mdTagOpen) {\n msg._tokuiStream.feed('[/md]\\n');\n\n msg._mdTagOpen = false;\n }\n\n if (msg._dslBuffer) {\n msg._tokuiStream.feed(msg._dslBuffer + '\\n');\n\n msg._dslBuffer = '';\n }\n\n msg._tokuiStream.endStream();\n } catch (e) {\n console.error('[TokUI] endStream error:', e);\n } // 标记已渲染,防止 _renderTokuiMessages 重复创建实例\n\n\n if (msg._tokuiDiv) {\n msg._tokuiDiv._tokuiRendered = true;\n }\n\n msg._tokuiStream = null; // 使用 $set 确保响应式\n\n _this14.$set(_this14.messages[msgIdx], '_tokuiRendered', true);\n }\n\n _this14.messages[msgIdx].content = finalContent;\n _this14.messages[msgIdx].thinking = thinkingBuffer;\n _this14.messages[msgIdx].loading = false;\n _this14.sending = false;\n\n _this14.clearWaitTimer();\n\n _this14.scrollToBottom();\n\n _this14.$emit('session-refresh');\n\n _this14.$emit('message-sent');\n }\n }, 30);\n url = (0, _apichat.createStreamUrl)(_this14.activeSessionId, text);\n\n if (_this14.eventSource) {\n _this14.eventSource.close();\n }\n\n _this14.eventSource = new EventSource(url);\n es = _this14.eventSource;\n es.addEventListener('reasoning', function (e) {\n if (e.data) {\n var chunk = e.data;\n var cleanChunk = chunk.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/([a-zA-Z])([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z])/g, '$1 $2').replace(/([a-zA-Z])(\\d)/g, '$1 $2').replace(/(\\d)([a-zA-Z])/g, '$1 $2').replace(/\\s+([:,.!?])/g, '$1').replace(/([:,.!?])\\s+/g, '$1 ');\n cleanChunk = cleanChunk.replace(/\\s+/g, ' ');\n var lastChar = thinkingBuffer.slice(-1);\n var firstChar = cleanChunk.slice(0, 1);\n\n var isLetter = function isLetter(c) {\n return /[a-zA-Z]/.test(c);\n };\n\n if (isLetter(lastChar) && isLetter(firstChar)) {\n thinkingBuffer += ' ' + cleanChunk;\n } else {\n thinkingBuffer += cleanChunk;\n }\n }\n });\n es.addEventListener('reasoning_result', function (e) {\n if (e.data) {\n thinkingBuffer = e.data;\n }\n });\n es.addEventListener('answer', function (e) {\n if (e.data) {\n answerBuffer += e.data.replace(/([a-zA-Z]+)([\\u4e00-\\u9fff])/g, '$1 $2').replace(/([\\u4e00-\\u9fff])([a-zA-Z]+)/g, '$1 $2').replace(/([a-z])([A-Z])/g, '$1 $2').replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/([a-zA-Z])(\\d)/g, '$1 $2').replace(/(\\d)([a-zA-Z])/g, '$1 $2');\n }\n });\n es.addEventListener('tool_result', function (e) {\n if (e.data && _this14.messages[msgIdx]) {\n if (!_this14.messages[msgIdx].toolCalls) _this14.messages[msgIdx].toolCalls = [];\n\n _this14.messages[msgIdx].toolCalls.push(e.data);\n\n _this14.scrollToBottom();\n }\n });\n es.addEventListener('agent_result', function (e) {\n finalContent = e.data || '';\n streamDone = true;\n es.close();\n _this14.eventSource = null;\n });\n\n es.onerror = function (err) {\n console.log('[SSE] onerror', err);\n if (thinkingBuffer.length > 0 && !streamDone) finalContent = thinkingBuffer;\n if (!streamDone) finalContent = '❌ 连接中断';\n streamDone = true;\n es.close();\n _this14.eventSource = null;\n };\n\n case 31:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n stopAgent: function stopAgent() {\n if (this.eventSource) {\n this.eventSource.close();\n this.eventSource = null;\n }\n\n if (this.activeSessionId) {\n (0, _apichat.stopStream)(this.activeSessionId).catch(function () {});\n }\n\n if (this.messages.length > 0) {\n var last = this.messages[this.messages.length - 1];\n\n if (last && last.loading) {\n last.content = last.content || last.thinking || '⏹ 已停止';\n last.loading = false;\n this.$delete(this.contentCache, last._key);\n }\n }\n\n this.sending = false;\n this.clearWaitTimer();\n },\n scrollToTop: function scrollToTop() {\n var el = this.$refs.messagesRef;\n if (el) el.scrollTop = 0;\n },\n scrollToBottom: function scrollToBottom() {\n var _this15 = this;\n\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (this.showDownBtn && !force) return;\n this.$nextTick(function () {\n var el = _this15.$refs.messagesRef;\n\n if (el) {\n el.scrollTop = el.scrollHeight;\n _this15.lastScrollTop = el.scrollTop;\n _this15.showDownBtn = false;\n _this15._userScrolledUp = false;\n }\n });\n },\n scrollToBottomOnce: function scrollToBottomOnce() {\n var _this16 = this;\n\n clearTimeout(this._scrollTimer);\n this.$nextTick(function () {\n var tryScroll = function tryScroll() {\n var el = _this16.$refs.messagesRef;\n\n if (!el) {\n _this16._scrollTimer = setTimeout(tryScroll, 50);\n return;\n }\n\n var originalScrollBehavior = el.style.scrollBehavior;\n el.style.scrollBehavior = 'auto';\n el.scrollTop = el.scrollHeight - el.clientHeight;\n el.style.scrollBehavior = originalScrollBehavior;\n _this16.showDownBtn = false;\n _this16._userScrolledUp = false;\n };\n\n tryScroll();\n });\n },\n copyText: function copyText(content) {\n var _this17 = this;\n\n if (!content) return;\n var text = content.replace(/<[^>]+>/g, ''); // 优先使用 Clipboard API(HTTPS 环境)\n\n if (navigator.clipboard && navigator.clipboard.writeText) {\n navigator.clipboard.writeText(text).then(function () {\n _this17.$message({\n message: '已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n }).catch(function () {\n _this17._fallbackCopyText(text);\n });\n } else {\n this._fallbackCopyText(text);\n }\n },\n _fallbackCopyText: function _fallbackCopyText(text) {\n try {\n var ta = document.createElement('textarea');\n ta.value = text;\n ta.style.cssText = 'position:fixed;left:-9999px;top:0;opacity:0';\n document.body.appendChild(ta);\n ta.focus();\n ta.select();\n document.execCommand('copy');\n document.body.removeChild(ta);\n this.$message({\n message: '已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n } catch (_unused3) {\n this.$message({\n message: '复制失败',\n type: 'error',\n duration: 2000\n });\n }\n },\n copyAsImage: function copyAsImage(content) {\n var _this18 = this;\n\n if (!content) return;\n var div = document.createElement('div');\n div.className = 'copy-image-render';\n div.style.cssText = 'position:fixed;left:-9999px;top:0;width:600px;padding:20px;background:#fff;font-size:14px;line-height:1.6;color:#333;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;'; // 内联表格样式(因 Vue 作用域样式不覆盖复制用的脱离文档流 div)\n\n div.innerHTML = this.renderMarkdown(content) + '<style>table{border-collapse:collapse;width:100%;margin:6px 0;font-size:14px}' + 'th,td{border:1px solid #e8e8e8;padding:5px 8px;text-align:left}' + 'th{background:#fafafa;font-weight:600}</style>';\n document.body.appendChild(div);\n this.$message({\n message: '正在生成图片...',\n type: 'info',\n duration: 2000\n });\n (0, _html2canvas.default)(div, {\n scale: 2,\n useCORS: true,\n backgroundColor: '#ffffff'\n }).then(function (canvas) {\n var base64 = canvas.toDataURL('image/png'); // 移动端:调用原生方法保存到本地相册\n\n if (_this18.isMobile) {\n if (_this18.$hybrid && typeof _this18.$hybrid.savePic2Library === 'function') {\n _this18.$hybrid.savePic2Library(base64, function () {\n _this18.$message({\n message: '图片已保存到本地相册',\n type: 'success',\n duration: 1500\n });\n });\n } else {\n // fallback:展示图片让用户长按保存\n _this18.previewImage = base64;\n\n _this18.$message({\n message: '长按图片可保存到本地',\n type: 'info',\n duration: 3000\n });\n }\n\n return;\n } // PC端:复制到剪贴板\n\n\n var canCopyImage = typeof ClipboardItem !== 'undefined' && navigator.clipboard && typeof navigator.clipboard.write === 'function';\n\n if (!canCopyImage) {\n _this18.$message({\n message: '当前浏览器不支持复制图片',\n type: 'warning',\n duration: 3000\n });\n\n return;\n }\n\n canvas.toBlob(function (blob) {\n if (!blob) {\n _this18.$message({\n message: '生成图片失败',\n type: 'error',\n duration: 2000\n });\n\n return;\n }\n\n navigator.clipboard.write([new ClipboardItem({\n 'image/png': blob\n })]).then(function () {\n _this18.$message({\n message: '图片已复制到剪贴板',\n type: 'success',\n duration: 1500\n });\n }).catch(function () {\n _this18.$message({\n message: '复制失败,请重试',\n type: 'error',\n duration: 2000\n });\n });\n }, 'image/png');\n }).catch(function () {\n _this18.$message({\n message: '生成图片失败',\n type: 'error',\n duration: 2000\n });\n }).finally(function () {\n document.body.removeChild(div);\n });\n }\n }\n};\nexports.default = _default2;\n\n//# sourceURL=webpack://ZjPluginIntelligent/./src/lib/components/chatMain/ChatDetail.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
829
841
 
830
842
  /***/ }),
831
843
 
@@ -10975,7 +10987,7 @@ eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\
10975
10987
  /*! exports provided: name, version, main, private, scripts, dependencies, devDependencies, browserslist, directories, keywords, license, default */
10976
10988
  /***/ (function(module) {
10977
10989
 
10978
- eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"zj-plugin-intelligent\\\",\\\"version\\\":\\\"1.2.8-beta.1\\\",\\\"main\\\":\\\"lib/ZjPluginIntelligent.umd.min.js\\\",\\\"private\\\":false,\\\"scripts\\\":{\\\"serve\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve\\\",\\\"build\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build\\\",\\\"lib\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --target lib --name ZjPluginIntelligent --dest lib src/lib/index.js\\\",\\\"lib:test\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode test --target lib --name ZjPluginIntelligent --dest lib src/lib/index.js\\\"},\\\"dependencies\\\":{\\\"@jboltai/tokui\\\":\\\"^0.1.6\\\",\\\"crypto-js\\\":\\\"^4.2.0\\\",\\\"html2canvas\\\":\\\"^1.4.1\\\",\\\"markdown-it\\\":\\\"^14.1.0\\\"},\\\"devDependencies\\\":{\\\"@babel/preset-env\\\":\\\"^7.14.9\\\",\\\"@vue/cli-plugin-babel\\\":\\\"~4.5.0\\\",\\\"@vue/cli-plugin-eslint\\\":\\\"^4.5.13\\\",\\\"@vue/cli-plugin-vuex\\\":\\\"~4.5.0\\\",\\\"@vue/cli-service\\\":\\\"~4.5.0\\\",\\\"axios\\\":\\\"^0.27.2\\\",\\\"babel-eslint\\\":\\\"^10.1.0\\\",\\\"babel-plugin-component\\\":\\\"^1.1.1\\\",\\\"compression-webpack-plugin\\\":\\\"^6.0.3\\\",\\\"core-js\\\":\\\"^3.6.5\\\",\\\"element-ui\\\":\\\"^2.15.4\\\",\\\"eslint\\\":\\\"^7.30.0\\\",\\\"eslint-plugin-vue\\\":\\\"^7.13.0\\\",\\\"js-cookie\\\":\\\"^2.2.1\\\",\\\"obs-upload\\\":\\\"^1.0.4\\\",\\\"pako\\\":\\\"^2.1.0\\\",\\\"reconnecting-websocket\\\":\\\"^4.4.0\\\",\\\"sass\\\":\\\"^1.71.0\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"snowflake-id\\\":\\\"^1.1.0\\\",\\\"vue\\\":\\\"^2.6.11\\\",\\\"vue-template-compiler\\\":\\\"^2.6.11\\\",\\\"vuex\\\":\\\"^3.4.0\\\",\\\"webpack-bundle-analyzer\\\":\\\"^4.4.2\\\"},\\\"browserslist\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"not dead\\\"],\\\"directories\\\":{\\\"lib\\\":\\\"lib\\\"},\\\"keywords\\\":[],\\\"license\\\":\\\"ISC\\\"}\");\n\n//# sourceURL=webpack://ZjPluginIntelligent/./package.json?");
10990
+ eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"zj-plugin-intelligent\\\",\\\"version\\\":\\\"1.2.8-beta.3\\\",\\\"main\\\":\\\"lib/ZjPluginIntelligent.umd.min.js\\\",\\\"private\\\":false,\\\"scripts\\\":{\\\"serve\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve\\\",\\\"build\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build\\\",\\\"lib\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --target lib --name ZjPluginIntelligent --dest lib src/lib/index.js\\\",\\\"lib:test\\\":\\\"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode test --target lib --name ZjPluginIntelligent --dest lib src/lib/index.js\\\"},\\\"dependencies\\\":{\\\"@jboltai/tokui\\\":\\\"^0.1.6\\\",\\\"crypto-js\\\":\\\"^4.2.0\\\",\\\"html2canvas\\\":\\\"^1.4.1\\\",\\\"markdown-it\\\":\\\"^14.1.0\\\"},\\\"devDependencies\\\":{\\\"@babel/preset-env\\\":\\\"^7.14.9\\\",\\\"@vue/cli-plugin-babel\\\":\\\"~4.5.0\\\",\\\"@vue/cli-plugin-eslint\\\":\\\"^4.5.13\\\",\\\"@vue/cli-plugin-vuex\\\":\\\"~4.5.0\\\",\\\"@vue/cli-service\\\":\\\"~4.5.0\\\",\\\"axios\\\":\\\"^0.27.2\\\",\\\"babel-eslint\\\":\\\"^10.1.0\\\",\\\"babel-plugin-component\\\":\\\"^1.1.1\\\",\\\"compression-webpack-plugin\\\":\\\"^6.0.3\\\",\\\"core-js\\\":\\\"^3.6.5\\\",\\\"element-ui\\\":\\\"^2.15.4\\\",\\\"eslint\\\":\\\"^7.30.0\\\",\\\"eslint-plugin-vue\\\":\\\"^7.13.0\\\",\\\"js-cookie\\\":\\\"^2.2.1\\\",\\\"obs-upload\\\":\\\"^1.0.4\\\",\\\"pako\\\":\\\"^2.1.0\\\",\\\"reconnecting-websocket\\\":\\\"^4.4.0\\\",\\\"sass\\\":\\\"^1.71.0\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"snowflake-id\\\":\\\"^1.1.0\\\",\\\"vue\\\":\\\"^2.6.11\\\",\\\"vue-template-compiler\\\":\\\"^2.6.11\\\",\\\"vuex\\\":\\\"^3.4.0\\\",\\\"webpack-bundle-analyzer\\\":\\\"^4.4.2\\\"},\\\"browserslist\\\":[\\\"> 1%\\\",\\\"last 2 versions\\\",\\\"not dead\\\"],\\\"directories\\\":{\\\"lib\\\":\\\"lib\\\"},\\\"keywords\\\":[],\\\"license\\\":\\\"ISC\\\"}\");\n\n//# sourceURL=webpack://ZjPluginIntelligent/./package.json?");
10979
10991
 
10980
10992
  /***/ }),
10981
10993
 
@@ -11867,7 +11879,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
11867
11879
  /***/ (function(module, exports, __webpack_require__) {
11868
11880
 
11869
11881
  "use strict";
11870
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setAuth = setAuth;\nexports.setToken = setToken;\nexports.getAuth = getAuth;\nexports.setBaseURL = setBaseURL;\nexports.signQueryParams = signQueryParams;\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(__webpack_require__(/*! axios */ \"./node_modules/axios/index.js\"));\n\nvar _cookie = __webpack_require__(/*! @lib/utils/cookie.js */ \"./src/lib/utils/cookie.js\");\n\nvar _message = __webpack_require__(/*! @lib/utils/message.js */ \"./src/lib/utils/message.js\");\n\n/*\r\n * @Author: 高瑞廷 2419056691@qq.com\r\n * @Date: 2026-06-04 11:27:13\r\n * @LastEditors: 高瑞廷 2419056691@qq.com\r\n * @LastEditTime: 2026-07-23 21:14:01\r\n * @FilePath: \\zjkj-nodejs-npm_customer-client\\src\\lib\\utils\\request.js\r\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r\n */\nvar runtimeAK = Object({\"NODE_ENV\":\"test\",\"VUE_APP_API\":\"https://api.qgbtech.cn\",\"VUE_APP_BASE_API\":\"https://ai.jybtech.cn\",\"VUE_APP_NAME\":\"development\",\"BASE_URL\":\"/\"}).VUE_APP_BASE_AK || '';\nvar runtimeSK = Object({\"NODE_ENV\":\"test\",\"VUE_APP_API\":\"https://api.qgbtech.cn\",\"VUE_APP_BASE_API\":\"https://ai.jybtech.cn\",\"VUE_APP_NAME\":\"development\",\"BASE_URL\":\"/\"}).VUE_APP_BASE_SK || '';\nvar runtimeToken = '';\nvar _user = '';\nvar _companyNo = '';\nvar runtimeBaseURL = \"https://ai.jybtech.cn\" || false;\n\nvar CryptoJS = __webpack_require__(/*! crypto-js */ \"./node_modules/crypto-js/index.js\");\n\nvar service = _axios.default.create({\n baseURL: runtimeBaseURL,\n timeout: 15000\n});\n\nfunction hmacSha256Base64(rawSignStr, sk) {\n var hmac = CryptoJS.HmacSHA256(rawSignStr, sk); // 转为 Base64\n\n return CryptoJS.enc.Base64.stringify(hmac);\n}\n\nfunction setAuth(ak, sk, user, companyNo, token) {\n runtimeAK = ak || '';\n runtimeSK = sk || '';\n _user = user;\n _companyNo = companyNo;\n runtimeToken = token || '';\n}\n\nfunction setToken(token) {\n runtimeToken = token || '';\n}\n\nfunction getAuth() {\n return {\n ak: runtimeAK,\n sk: runtimeSK,\n token: runtimeToken,\n user: _user,\n companyNo: _companyNo\n };\n}\n\nfunction setBaseURL(url) {\n runtimeBaseURL = url || '';\n service.defaults.baseURL = runtimeBaseURL;\n}\n\nfunction signQueryParams(params, secretKey) {\n var keys = Object.keys(params).filter(function (k) {\n return k !== 'ak' && k !== 'sign';\n }).sort();\n var raw = keys.map(function (k) {\n return \"\".concat(k, \"=\").concat(params[k] || '');\n }).join('&');\n return hmacSha256Base64(raw, secretKey);\n}\n\nservice.interceptors.request.use(function (config) {\n // 流式接口跳过 Header 签名\n if (config.url.includes('/chat/stream')) {\n return config;\n }\n\n var ts = Date.now().toString();\n var token = runtimeToken || (0, _cookie.getToken)();\n var externalUser = _user || '';\n var signParts = []; // 1. 第一位:token(有值才加入)\n\n if (_companyNo) {\n signParts.push(\"companyNo=\".concat(_companyNo));\n }\n\n if (token) {\n signParts.push(\"token=\".concat(token));\n } // 2. 第二位:user(有值才加入)\n\n\n if (externalUser) {\n signParts.push(\"user=\".concat(externalUser));\n } // 3. 第三位:ts(必选,永远存在)\n\n\n signParts.push(\"ts=\".concat(ts)); // 拼接最终待签字符串\n\n var signStr = signParts.join('&'); // 计算签名\n\n var sign = hmacSha256Base64(signStr, runtimeSK);\n\n if (_companyNo) {\n config.headers['X-Company-No'] = _companyNo;\n } // 设置请求头\n\n\n config.headers['X-AK'] = runtimeAK;\n config.headers['X-Ts'] = ts;\n config.headers['X-Sign'] = sign;\n\n if (token) {\n config.headers['X-Auth-Token'] = \"\".concat(token);\n config.headers.Authorization = \"Bearer \".concat(token);\n }\n\n config.headers['X-External-User'] = externalUser;\n config.headers['Content-Type'] = 'application/json'; // console.log('排序后key:', sortedKeys)\n\n return config;\n}, function (error) {\n return Promise.reject(error);\n});\nservice.interceptors.response.use(function (response) {\n var res = response.data;\n\n if (res.code === 200) {\n return res;\n } else if (res.code === 40101) {\n (0, _message.showMessage)('登录已过期,请重新登录');\n return Promise.reject(new Error(res.message));\n } else {\n (0, _message.showMessage)(res.message || '请求失败');\n return Promise.reject(new Error(res.message));\n }\n}, function (error) {\n (0, _message.showMessage)(error.message || '网络异常');\n return Promise.reject(error);\n});\nvar _default = service;\nexports.default = _default;\n\n//# sourceURL=webpack://ZjPluginIntelligent/./src/lib/utils/request.js?");
11882
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setAuth = setAuth;\nexports.setToken = setToken;\nexports.getAuth = getAuth;\nexports.setBaseURL = setBaseURL;\nexports.signQueryParams = signQueryParams;\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(__webpack_require__(/*! axios */ \"./node_modules/axios/index.js\"));\n\nvar _cookie = __webpack_require__(/*! @lib/utils/cookie.js */ \"./src/lib/utils/cookie.js\");\n\nvar _message = __webpack_require__(/*! @lib/utils/message.js */ \"./src/lib/utils/message.js\");\n\n/*\r\n * @Author: 高瑞廷 2419056691@qq.com\r\n * @Date: 2026-06-04 11:27:13\r\n * @LastEditors: 高瑞廷 2419056691@qq.com\r\n * @LastEditTime: 2026-07-28 17:10:19\r\n * @FilePath: \\zjkj-nodejs-npm_customer-client\\src\\lib\\utils\\request.js\r\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r\n */\nvar runtimeAK = Object({\"NODE_ENV\":\"test\",\"VUE_APP_API\":\"https://api.qgbtech.cn\",\"VUE_APP_BASE_API\":\"https://ai.jybtech.cn\",\"VUE_APP_NAME\":\"development\",\"BASE_URL\":\"/\"}).VUE_APP_BASE_AK || '';\nvar runtimeSK = Object({\"NODE_ENV\":\"test\",\"VUE_APP_API\":\"https://api.qgbtech.cn\",\"VUE_APP_BASE_API\":\"https://ai.jybtech.cn\",\"VUE_APP_NAME\":\"development\",\"BASE_URL\":\"/\"}).VUE_APP_BASE_SK || '';\nvar runtimeToken = '';\nvar _user = '';\nvar _companyNo = '';\nvar runtimeBaseURL = \"https://ai.jybtech.cn\" || false;\n\nvar CryptoJS = __webpack_require__(/*! crypto-js */ \"./node_modules/crypto-js/index.js\");\n\nvar service = _axios.default.create({\n baseURL: runtimeBaseURL,\n timeout: 15000\n});\n\nfunction hmacSha256Base64(rawSignStr, sk) {\n var hmac = CryptoJS.HmacSHA256(rawSignStr, sk); // 转为 Base64\n\n return CryptoJS.enc.Base64.stringify(hmac);\n}\n\nfunction setAuth(ak, sk, user, companyNo, token) {\n runtimeAK = ak || '';\n runtimeSK = sk || '';\n _user = user;\n _companyNo = companyNo;\n runtimeToken = token || '';\n}\n\nfunction setToken(token) {\n runtimeToken = token || '';\n}\n\nfunction getAuth() {\n return {\n ak: runtimeAK,\n sk: runtimeSK,\n token: runtimeToken,\n user: _user,\n companyNo: _companyNo\n };\n}\n\nfunction setBaseURL(url) {\n runtimeBaseURL = url || '';\n service.defaults.baseURL = runtimeBaseURL;\n}\n\nfunction signQueryParams(params, secretKey) {\n var keys = Object.keys(params).filter(function (k) {\n return k !== 'ak' && k !== 'sign';\n }).sort();\n var raw = keys.map(function (k) {\n return \"\".concat(k, \"=\").concat(params[k] || '');\n }).join('&');\n return hmacSha256Base64(raw, secretKey);\n}\n\nservice.interceptors.request.use(function (config) {\n // 流式接口跳过 Header 签名\n if (config.url.includes('/chat/stream')) {\n return config;\n }\n\n var ts = Date.now().toString();\n var token = runtimeToken || (0, _cookie.getToken)();\n var externalUser = _user || '';\n var signParts = []; // 1. 第一位:token(有值才加入)\n\n if (_companyNo) {\n signParts.push(\"companyNo=\".concat(_companyNo));\n }\n\n if (token) {\n signParts.push(\"token=\".concat(token));\n } // 2. 第二位:user(有值才加入)\n\n\n if (externalUser) {\n signParts.push(\"user=\".concat(externalUser));\n } // 3. 第三位:ts(必选,永远存在)\n\n\n signParts.push(\"ts=\".concat(ts)); // 拼接最终待签字符串\n\n var signStr = signParts.join('&'); // 计算签名\n\n var sign = hmacSha256Base64(signStr, runtimeSK);\n\n if (_companyNo) {\n config.headers['X-Company-No'] = _companyNo;\n } // 设置请求头\n\n\n config.headers['X-AK'] = runtimeAK;\n config.headers['X-Ts'] = ts;\n config.headers['X-Sign'] = sign;\n\n if (token) {\n config.headers['X-Auth-Token'] = \"\".concat(token);\n config.headers.Authorization = \"Bearer \".concat(token);\n }\n\n config.headers['X-External-User'] = externalUser;\n config.headers['Content-Type'] = 'application/json'; // console.log('排序后key:', sortedKeys)\n\n return config;\n}, function (error) {\n return Promise.reject(error);\n});\nservice.interceptors.response.use(function (response) {\n var res = response.data;\n\n if (res.code === 200) {\n return res;\n } else if (res.code === 40101) {\n (0, _message.showMessage)('登录已过期,请重新登录');\n return Promise.reject(new Error(res.message));\n } else {\n (0, _message.showMessage)(res.message || '请求失败');\n return Promise.reject(new Error(res.message));\n }\n}, function (error) {\n (0, _message.showMessage)(error.message || '网络异常');\n return Promise.reject(error);\n});\nvar _default = service;\nexports.default = _default;\n\n//# sourceURL=webpack://ZjPluginIntelligent/./src/lib/utils/request.js?");
11871
11883
 
11872
11884
  /***/ }),
11873
11885